Make EditKeyActivity's uri handling (more) sane

This activity didn't actually use the uri for anything, but just chopped
off the last path segment and interpreted it as row id. What the hell.
This commit is contained in:
Vincent Breitmoser 2014-03-08 11:58:26 +01:00
parent 8c6cb8b0ab
commit 191c5b8130
2 changed files with 4 additions and 6 deletions

View File

@ -451,13 +451,13 @@ public class ProviderHelper {
*/
public static boolean getSecretMasterKeyCanSign(Context context, long keyRingRowId) {
Uri queryUri = KeyRings.buildSecretKeyRingsUri(String.valueOf(keyRingRowId));
return getMasterKeyCanSign(context, queryUri, keyRingRowId);
return getMasterKeyCanSign(context, queryUri);
}
/**
* Private helper method to get master key private empty status of keyring by its row id
*/
private static boolean getMasterKeyCanSign(Context context, Uri queryUri, long keyRingRowId) {
public static boolean getMasterKeyCanSign(Context context, Uri queryUri) {
String[] projection = new String[]{
KeyRings.MASTER_KEY_ID,
"(SELECT COUNT(sign_keys." + Keys._ID + ") FROM " + Tables.KEYS

View File

@ -265,12 +265,10 @@ public class EditKeyActivity extends ActionBarActivity {
} else {
Log.d(Constants.TAG, "uri: " + mDataUri);
long keyRingRowId = Long.valueOf(mDataUri.getLastPathSegment());
// get master key id using row id
long masterKeyId = ProviderHelper.getSecretMasterKeyId(this, keyRingRowId);
long masterKeyId = ProviderHelper.getMasterKeyId(this, mDataUri);
masterCanSign = ProviderHelper.getSecretMasterKeyCanSign(this, keyRingRowId);
masterCanSign = ProviderHelper.getMasterKeyCanSign(this, mDataUri);
finallyEdit(masterKeyId, masterCanSign);
}
}