diff options
author | Vincent Breitmoser <valodim@mugenguild.com> | 2015-09-26 18:10:24 +0200 |
---|---|---|
committer | Vincent Breitmoser <valodim@mugenguild.com> | 2015-09-26 18:10:30 +0200 |
commit | dc9e068790ead0399e8515e1fc72c99e90b8cd70 (patch) | |
tree | 9405e75f32f10c1d9049564b96589a9bce2114d0 /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/UploadKeyActivity.java | |
parent | 676a863b1415c09352f9c57a214ec1e3341a5a61 (diff) | |
download | open-keychain-dc9e068790ead0399e8515e1fc72c99e90b8cd70.tar.gz open-keychain-dc9e068790ead0399e8515e1fc72c99e90b8cd70.tar.bz2 open-keychain-dc9e068790ead0399e8515e1fc72c99e90b8cd70.zip |
upload: identify key by masterKeyId only
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/UploadKeyActivity.java')
-rw-r--r-- | OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/UploadKeyActivity.java | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/UploadKeyActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/UploadKeyActivity.java index acd30ed24..f38e4928d 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/UploadKeyActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/UploadKeyActivity.java @@ -31,8 +31,10 @@ import android.widget.Spinner; import org.sufficientlysecure.keychain.Constants; import org.sufficientlysecure.keychain.R; import org.sufficientlysecure.keychain.operations.results.UploadResult; +import org.sufficientlysecure.keychain.pgp.exception.PgpKeyNotFoundException; import org.sufficientlysecure.keychain.provider.KeychainContract; import org.sufficientlysecure.keychain.provider.KeychainContract.KeyRings; +import org.sufficientlysecure.keychain.provider.ProviderHelper; import org.sufficientlysecure.keychain.service.UploadKeyringParcel; import org.sufficientlysecure.keychain.ui.base.BaseActivity; import org.sufficientlysecure.keychain.ui.base.CryptoOperationHelper; @@ -51,7 +53,7 @@ public class UploadKeyActivity extends BaseActivity // CryptoOperationHelper.Callback vars private String mKeyserver; - private Uri mUnifiedKeyringUri; + private long mMasterKeyId; private CryptoOperationHelper<UploadKeyringParcel, UploadResult> mUploadOpHelper; @Override @@ -86,6 +88,16 @@ public class UploadKeyActivity extends BaseActivity finish(); return; } + + try { + mMasterKeyId = new ProviderHelper(this).getCachedPublicKeyRing( + KeyRings.buildUnifiedKeyRingUri(mDataUri)).getMasterKeyId(); + } catch (PgpKeyNotFoundException e) { + Log.e(Constants.TAG, "Intent data pointed to bad key!"); + finish(); + return; + } + } @Override @@ -102,9 +114,6 @@ public class UploadKeyActivity extends BaseActivity } private void uploadKey() { - Uri blobUri = KeyRings.buildUnifiedKeyRingUri(mDataUri); - mUnifiedKeyringUri = blobUri; - String server = (String) mKeyServerSpinner.getSelectedItem(); mKeyserver = server; @@ -127,7 +136,7 @@ public class UploadKeyActivity extends BaseActivity @Override public UploadKeyringParcel createOperationInput() { - return new UploadKeyringParcel(mKeyserver, mUnifiedKeyringUri); + return new UploadKeyringParcel(mKeyserver, mMasterKeyId); } @Override |