diff options
author | Dominik Schürmann <dominik@dominikschuermann.de> | 2014-04-08 23:41:21 +0200 |
---|---|---|
committer | Dominik Schürmann <dominik@dominikschuermann.de> | 2014-04-08 23:41:21 +0200 |
commit | 8ab9a0a2d0add6fd33d2d3102d692f31844d38a4 (patch) | |
tree | b885227a7badec825f6fef0ac819bb2a84e457b8 /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui | |
parent | d81de8509be0f37a1c1d75204d1431cb8e92a1c5 (diff) | |
download | open-keychain-8ab9a0a2d0add6fd33d2d3102d692f31844d38a4.tar.gz open-keychain-8ab9a0a2d0add6fd33d2d3102d692f31844d38a4.tar.bz2 open-keychain-8ab9a0a2d0add6fd33d2d3102d692f31844d38a4.zip |
Use NotFoundException in more places
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui')
6 files changed, 46 insertions, 32 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CertifyKeyActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CertifyKeyActivity.java index de8a9cd6d..e2e09f052 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CertifyKeyActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CertifyKeyActivity.java @@ -224,8 +224,9 @@ public class CertifyKeyActivity extends ActionBarActivity implements * handles the UI bits of the signing process on the UI thread */ private void initiateSigning() { - PGPPublicKeyRing pubring = ProviderHelper.getPGPPublicKeyRing(this, mPubKeyId); - if (pubring != null) { + try { + PGPPublicKeyRing pubring = ProviderHelper.getPGPPublicKeyRing(this, mPubKeyId); + // if we have already signed this key, dont bother doing it again boolean alreadySigned = false; @@ -248,14 +249,14 @@ public class CertifyKeyActivity extends ActionBarActivity implements String passphrase = PassphraseCacheService.getCachedPassphrase(this, mMasterKeyId); if (passphrase == null) { PassphraseDialogFragment.show(this, mMasterKeyId, - new Handler() { - @Override - public void handleMessage(Message message) { - if (message.what == PassphraseDialogFragment.MESSAGE_OKAY) { - startSigning(); + new Handler() { + @Override + public void handleMessage(Message message) { + if (message.what == PassphraseDialogFragment.MESSAGE_OKAY) { + startSigning(); + } } - } - }); + }); // bail out; need to wait until the user has entered the passphrase before trying again return; } else { @@ -268,6 +269,8 @@ public class CertifyKeyActivity extends ActionBarActivity implements setResult(RESULT_CANCELED); finish(); } + } catch (ProviderHelper.NotFoundException e) { + Log.e(Constants.TAG, "key not found!", e); } } diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyActivity.java index cfb7c56c2..4e21b172e 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyActivity.java @@ -300,15 +300,16 @@ public class EditKeyActivity extends ActionBarActivity implements EditorListener private void finallyEdit(final long masterKeyId) { if (masterKeyId != 0) { PGPSecretKey masterKey = null; - mKeyRing = ProviderHelper.getPGPSecretKeyRing(this, masterKeyId); - if (mKeyRing != null) { + try { + mKeyRing = ProviderHelper.getPGPSecretKeyRing(this, masterKeyId); + masterKey = mKeyRing.getSecretKey(); mMasterCanSign = PgpKeyHelper.isCertificationKey(mKeyRing.getSecretKey()); for (PGPSecretKey key : new IterableIterator<PGPSecretKey>(mKeyRing.getSecretKeys())) { mKeys.add(key); mKeysUsages.add(-1); // get usage when view is created } - } else { + } catch (ProviderHelper.NotFoundException e) { Log.e(Constants.TAG, "Keyring not found with masterKeyId: " + masterKeyId); AppMsg.makeText(this, R.string.error_no_secret_key_found, AppMsg.STYLE_ALERT).show(); // TODO diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptAsymmetricFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptAsymmetricFragment.java index 7fcb9a552..2ec4dd89e 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptAsymmetricFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptAsymmetricFragment.java @@ -146,17 +146,19 @@ public class EncryptAsymmetricFragment extends Fragment { private void preselectKeys(long preselectedSignatureKeyId, long[] preselectedEncryptionKeyIds) { if (preselectedSignatureKeyId != 0) { // TODO: don't use bouncy castle objects! - PGPSecretKeyRing keyRing = ProviderHelper.getPGPSecretKeyRingWithKeyId(getActivity(), - preselectedSignatureKeyId); - PGPSecretKey masterKey; - if (keyRing != null) { - masterKey = keyRing.getSecretKey(); + try { + PGPSecretKeyRing keyRing = ProviderHelper.getPGPSecretKeyRingWithKeyId(getActivity(), + preselectedSignatureKeyId); + + PGPSecretKey masterKey = keyRing.getSecretKey(); if (masterKey != null) { Vector<PGPSecretKey> signKeys = PgpKeyHelper.getUsableSigningKeys(keyRing); if (signKeys.size() > 0) { setSignatureKeyId(masterKey.getKeyID()); } } + } catch (ProviderHelper.NotFoundException e) { + Log.e(Constants.TAG, "key not found!", e); } } diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewCertActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewCertActivity.java index 92e171130..0dc36a792 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewCertActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewCertActivity.java @@ -145,14 +145,14 @@ public class ViewCertActivity extends ActionBarActivity } PGPSignature sig = PgpConversionHelper.BytesToPGPSignature(data.getBlob(INDEX_DATA)); - PGPKeyRing signeeRing = ProviderHelper.getPGPKeyRing(this, - KeychainContract.KeyRingData.buildPublicKeyRingUri( - Long.toString(data.getLong(INDEX_MASTER_KEY_ID)))); - PGPKeyRing signerRing = ProviderHelper.getPGPKeyRing(this, - KeychainContract.KeyRingData.buildPublicKeyRingUri( - Long.toString(sig.getKeyID()))); - - if (signerRing != null) { + try { + PGPKeyRing signeeRing = ProviderHelper.getPGPKeyRing(this, + KeychainContract.KeyRingData.buildPublicKeyRingUri( + Long.toString(data.getLong(INDEX_MASTER_KEY_ID)))); + PGPKeyRing signerRing = ProviderHelper.getPGPKeyRing(this, + KeychainContract.KeyRingData.buildPublicKeyRingUri( + Long.toString(sig.getKeyID()))); + try { sig.init(new JcaPGPContentVerifierBuilderProvider().setProvider( Constants.BOUNCY_CASTLE_PROVIDER_NAME), signeeRing.getPublicKey()); @@ -170,7 +170,7 @@ public class ViewCertActivity extends ActionBarActivity mStatus.setText("error!"); mStatus.setTextColor(getResources().getColor(R.color.alert)); } - } else { + } catch (ProviderHelper.NotFoundException e) { mStatus.setText("key unavailable"); mStatus.setTextColor(getResources().getColor(R.color.black)); } diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyActivityJB.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyActivityJB.java index 6dc0413bb..6f52ea916 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyActivityJB.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyActivityJB.java @@ -93,6 +93,9 @@ public class ViewKeyActivityJB extends ViewKeyActivity implements CreateNdefMess } catch(IOException e) { Log.e(Constants.TAG, "Error parsing keyring", e); return null; + } catch (ProviderHelper.NotFoundException e) { + Log.e(Constants.TAG, "key not found!", e); + return null; } } diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/PassphraseDialogFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/PassphraseDialogFragment.java index a3feab959..74bc73952 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/PassphraseDialogFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/PassphraseDialogFragment.java @@ -139,9 +139,9 @@ public class PassphraseDialogFragment extends DialogFragment implements OnEditor secretKey = null; alert.setMessage(R.string.passphrase_for_symmetric_encryption); } else { - secretKey = ProviderHelper.getPGPSecretKeyRing(activity, secretKeyId).getSecretKey(); - - if (secretKey == null) { + try { + secretKey = ProviderHelper.getPGPSecretKeyRing(activity, secretKeyId).getSecretKey(); + } catch (ProviderHelper.NotFoundException e) { alert.setTitle(R.string.title_key_not_found); alert.setMessage(getString(R.string.key_not_found, secretKeyId)); alert.setPositiveButton(android.R.string.ok, new OnClickListener() { @@ -153,6 +153,7 @@ public class PassphraseDialogFragment extends DialogFragment implements OnEditor mCanKB = false; return alert.create(); } + String userId = PgpKeyHelper.getMainUserIdSafe(activity, secretKey); Log.d(Constants.TAG, "User id: '" + userId + "'"); @@ -194,9 +195,13 @@ public class PassphraseDialogFragment extends DialogFragment implements OnEditor sendMessageToHandler(MESSAGE_CANCEL); return; } else { - clickSecretKey = PgpKeyHelper.getKeyNum(ProviderHelper - .getPGPSecretKeyRingWithKeyId(activity, secretKeyId), - curKeyIndex); + try { + clickSecretKey = PgpKeyHelper.getKeyNum(ProviderHelper + .getPGPSecretKeyRingWithKeyId(activity, secretKeyId), + curKeyIndex); + } catch (ProviderHelper.NotFoundException e) { + Log.e(Constants.TAG, "key not found!", e); + } curKeyIndex++; // does post-increment work like C? continue; } |