From 49b4ff63122988dc1587844e6b4b2ee5d0855385 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Sch=C3=BCrmann?= Date: Thu, 9 Oct 2014 00:58:07 +0200 Subject: Replace PgpGeneralException with NotFoundException where appropriate --- .../keychain/pgp/CanonicalizedKeyRing.java | 16 +-- .../keychain/pgp/CanonicalizedPublicKeyRing.java | 10 +- .../keychain/pgp/CanonicalizedSecretKey.java | 5 +- .../sufficientlysecure/keychain/pgp/KeyRing.java | 20 +-- .../pgp/OpenPgpSignatureResultBuilder.java | 3 +- .../keychain/pgp/PgpSignEncrypt.java | 13 +- .../keychain/provider/CachedPublicKeyRing.java | 146 ++++++++------------- .../keychain/remote/OpenPgpService.java | 23 ++-- .../remote/ui/AccountSettingsActivity.java | 3 +- .../remote/ui/AccountSettingsFragment.java | 2 +- .../keychain/service/KeychainIntentService.java | 2 +- .../keychain/ui/EditKeyFragment.java | 3 - .../keychain/ui/EncryptAsymmetricFragment.java | 4 +- .../keychain/ui/MultiCertifyKeyFragment.java | 2 +- .../keychain/ui/PassphraseDialogActivity.java | 4 +- .../keychain/ui/ViewCertActivity.java | 2 +- .../keychain/ui/ViewKeyMainFragment.java | 2 +- .../ui/dialog/PassphraseDialogFragment.java | 4 +- .../ui/widget/EncryptKeyCompletionView.java | 3 +- .../keychain/util/ExportHelper.java | 2 +- 20 files changed, 119 insertions(+), 150 deletions(-) (limited to 'OpenKeychain') diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/CanonicalizedKeyRing.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/CanonicalizedKeyRing.java index 08b7316aa..cc0de1e34 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/CanonicalizedKeyRing.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/CanonicalizedKeyRing.java @@ -19,7 +19,7 @@ package org.sufficientlysecure.keychain.pgp; import org.spongycastle.openpgp.PGPKeyRing; -import org.sufficientlysecure.keychain.pgp.exception.PgpGeneralException; +import org.sufficientlysecure.keychain.provider.ProviderHelper.NotFoundException; import org.sufficientlysecure.keychain.util.IterableIterator; import java.io.IOException; @@ -56,11 +56,11 @@ public abstract class CanonicalizedKeyRing extends KeyRing { return getRing().getPublicKey().getFingerprint(); } - public String getPrimaryUserId() throws PgpGeneralException { + public String getPrimaryUserId() throws NotFoundException { return getPublicKey().getPrimaryUserId(); } - public String getPrimaryUserIdWithFallback() throws PgpGeneralException { + public String getPrimaryUserIdWithFallback() throws NotFoundException { return getPublicKey().getPrimaryUserIdWithFallback(); } @@ -87,24 +87,24 @@ public abstract class CanonicalizedKeyRing extends KeyRing { return creationDate.after(now) || (expiryDate != null && expiryDate.before(now)); } - public boolean canCertify() throws PgpGeneralException { + public boolean canCertify() throws NotFoundException { return getRing().getPublicKey().isEncryptionKey(); } - public long getEncryptId() throws PgpGeneralException { + public long getEncryptId() throws NotFoundException { for(CanonicalizedPublicKey key : publicKeyIterator()) { if (key.canEncrypt() && key.isValid()) { return key.getKeyId(); } } - throw new PgpGeneralException("No valid encryption key found!"); + throw new NotFoundException("No valid encryption key found!"); } - public boolean hasEncrypt() throws PgpGeneralException { + public boolean hasEncrypt() throws NotFoundException { try { getEncryptId(); return true; - } catch(PgpGeneralException e) { + } catch(NotFoundException e) { return false; } } diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/CanonicalizedPublicKeyRing.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/CanonicalizedPublicKeyRing.java index 77c967c65..68ac7c133 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/CanonicalizedPublicKeyRing.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/CanonicalizedPublicKeyRing.java @@ -21,7 +21,7 @@ package org.sufficientlysecure.keychain.pgp; import org.spongycastle.openpgp.PGPObjectFactory; import org.spongycastle.openpgp.PGPPublicKey; import org.spongycastle.openpgp.PGPPublicKeyRing; -import org.sufficientlysecure.keychain.pgp.exception.PgpGeneralException; +import org.sufficientlysecure.keychain.provider.ProviderHelper.NotFoundException; import org.sufficientlysecure.keychain.util.IterableIterator; import java.io.IOException; @@ -61,16 +61,16 @@ public class CanonicalizedPublicKeyRing extends CanonicalizedKeyRing { } /** Getter that returns the subkey that should be used for signing. */ - CanonicalizedPublicKey getEncryptionSubKey() throws PgpGeneralException { + CanonicalizedPublicKey getEncryptionSubKey() throws NotFoundException { PGPPublicKey key = getRing().getPublicKey(getEncryptId()); - if(key != null) { + if (key != null) { CanonicalizedPublicKey cKey = new CanonicalizedPublicKey(this, key); if(!cKey.canEncrypt()) { - throw new PgpGeneralException("key error"); + throw new NotFoundException("key error"); } return cKey; } - throw new PgpGeneralException("no encryption key available"); + throw new NotFoundException("no encryption key available"); } public IterableIterator publicKeyIterator() { diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/CanonicalizedSecretKey.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/CanonicalizedSecretKey.java index 595f37872..48d8dbeb9 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/CanonicalizedSecretKey.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/CanonicalizedSecretKey.java @@ -41,6 +41,7 @@ import org.spongycastle.openpgp.operator.jcajce.NfcSyncPGPContentSignerBuilder; import org.sufficientlysecure.keychain.Constants; import org.sufficientlysecure.keychain.pgp.exception.PgpGeneralException; import org.sufficientlysecure.keychain.pgp.exception.PgpGeneralMsgIdException; +import org.sufficientlysecure.keychain.provider.ProviderHelper; import org.sufficientlysecure.keychain.util.IterableIterator; import org.sufficientlysecure.keychain.util.Log; @@ -254,9 +255,11 @@ public class CanonicalizedSecretKey extends CanonicalizedPublicKey { spGen.setSignatureCreationTime(false, nfcCreationTimestamp); signatureGenerator.setHashedSubpackets(spGen.generate()); return signatureGenerator; - } catch (PGPException e) { + } catch (ProviderHelper.NotFoundException e) { // TODO: simply throw PGPException! throw new PgpGeneralException("Error initializing signature!", e); + } catch (PGPException e) { + throw new PgpGeneralException("Error initializing signature!", e); } } diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/KeyRing.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/KeyRing.java index b682378e9..17d20a326 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/KeyRing.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/KeyRing.java @@ -20,7 +20,7 @@ package org.sufficientlysecure.keychain.pgp; import android.text.TextUtils; -import org.sufficientlysecure.keychain.pgp.exception.PgpGeneralException; +import org.sufficientlysecure.keychain.provider.ProviderHelper.NotFoundException; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -38,25 +38,25 @@ import java.util.regex.Pattern; */ public abstract class KeyRing { - abstract public long getMasterKeyId() throws PgpGeneralException; + abstract public long getMasterKeyId() throws NotFoundException; - abstract public String getPrimaryUserId() throws PgpGeneralException; + abstract public String getPrimaryUserId() throws NotFoundException; - abstract public String getPrimaryUserIdWithFallback() throws PgpGeneralException; + abstract public String getPrimaryUserIdWithFallback() throws NotFoundException; - public String[] getSplitPrimaryUserIdWithFallback() throws PgpGeneralException { + public String[] getSplitPrimaryUserIdWithFallback() throws NotFoundException { return splitUserId(getPrimaryUserIdWithFallback()); } - abstract public boolean isRevoked() throws PgpGeneralException; + abstract public boolean isRevoked() throws NotFoundException; - abstract public boolean canCertify() throws PgpGeneralException; + abstract public boolean canCertify() throws NotFoundException; - abstract public long getEncryptId() throws PgpGeneralException; + abstract public long getEncryptId() throws NotFoundException; - abstract public boolean hasEncrypt() throws PgpGeneralException; + abstract public boolean hasEncrypt() throws NotFoundException; - abstract public int getVerified() throws PgpGeneralException; + abstract public int getVerified() throws NotFoundException; private static final Pattern USER_ID_PATTERN = Pattern.compile("^(.*?)(?: \\((.*)\\))?(?: <(.*)>)?$"); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/OpenPgpSignatureResultBuilder.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/OpenPgpSignatureResultBuilder.java index bd7606194..f0bf97018 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/OpenPgpSignatureResultBuilder.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/OpenPgpSignatureResultBuilder.java @@ -20,6 +20,7 @@ package org.sufficientlysecure.keychain.pgp; import org.openintents.openpgp.OpenPgpSignatureResult; import org.sufficientlysecure.keychain.Constants; import org.sufficientlysecure.keychain.pgp.exception.PgpGeneralException; +import org.sufficientlysecure.keychain.provider.ProviderHelper; import org.sufficientlysecure.keychain.util.Log; import java.util.ArrayList; @@ -96,7 +97,7 @@ public class OpenPgpSignatureResultBuilder { setKeyId(signingRing.getMasterKeyId()); try { setPrimaryUserId(signingRing.getPrimaryUserIdWithFallback()); - } catch (PgpGeneralException e) { + } catch (ProviderHelper.NotFoundException e) { Log.d(Constants.TAG, "No primary user id in keyring with master key id " + signingRing.getMasterKeyId()); } setSignatureKeyCertified(signingRing.getVerified() > 0); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpSignEncrypt.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpSignEncrypt.java index 40e265253..00696d150 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpSignEncrypt.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpSignEncrypt.java @@ -385,18 +385,21 @@ public class PgpSignEncrypt { // Asymmetric encryption for (long id : mEncryptionMasterKeyIds) { + CanonicalizedPublicKeyRing keyRing = null; try { - CanonicalizedPublicKeyRing keyRing = mProviderHelper.getCanonicalizedPublicKeyRing( + keyRing = mProviderHelper.getCanonicalizedPublicKeyRing( KeyRings.buildUnifiedKeyRingUri(id)); + } catch (ProviderHelper.NotFoundException e) { + log.add(LogType.MSG_SE_KEY_UNKNOWN, indent + 1, + KeyFormattingUtils.convertKeyIdToHex(id)); + } + try { CanonicalizedPublicKey key = keyRing.getEncryptionSubKey(); cPk.addMethod(key.getPubKeyEncryptionGenerator()); log.add(LogType.MSG_SE_KEY_OK, indent + 1, KeyFormattingUtils.convertKeyIdToHex(id)); - } catch (PgpGeneralException e) { - log.add(LogType.MSG_SE_KEY_WARN, indent + 1, - KeyFormattingUtils.convertKeyIdToHex(id)); } catch (ProviderHelper.NotFoundException e) { - log.add(LogType.MSG_SE_KEY_UNKNOWN, indent + 1, + log.add(LogType.MSG_SE_KEY_WARN, indent + 1, KeyFormattingUtils.convertKeyIdToHex(id)); } } diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/CachedPublicKeyRing.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/CachedPublicKeyRing.java index 5a3770f2d..7be8cdd3b 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/CachedPublicKeyRing.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/CachedPublicKeyRing.java @@ -30,21 +30,21 @@ import org.sufficientlysecure.keychain.provider.KeychainContract.Keys; import org.sufficientlysecure.keychain.provider.ProviderHelper.NotFoundException; import org.sufficientlysecure.keychain.util.Log; -/** This implementation of KeyRing provides a cached view of PublicKeyRing +/** + * This implementation of KeyRing provides a cached view of PublicKeyRing * objects based on database queries exclusively. - * + *

* This class should be used where only few points of data but no actual * cryptographic operations are required about a PublicKeyRing which is already * in the database. This happens commonly in UI code, where parsing of a PGP * key for examination would be a very expensive operation. - * + *

* Each getter method is implemented using a more or less expensive database * query, while object construction is (almost) free. A common pattern is * mProviderHelper.getCachedKeyRing(uri).getterMethod() - * + *

* TODO Ensure that the values returned here always match the ones returned by * the parsed KeyRing! - * */ public class CachedPublicKeyRing extends KeyRing { @@ -57,21 +57,17 @@ public class CachedPublicKeyRing extends KeyRing { } @Override - public long getMasterKeyId() throws PgpGeneralException { - try { - Object data = mProviderHelper.getGenericData(mUri, - KeychainContract.KeyRings.MASTER_KEY_ID, ProviderHelper.FIELD_TYPE_INTEGER); - return (Long) data; - } catch (ProviderHelper.NotFoundException e) { - throw new PgpGeneralException(e); - } + public long getMasterKeyId() throws NotFoundException { + Object data = mProviderHelper.getGenericData(mUri, + KeychainContract.KeyRings.MASTER_KEY_ID, ProviderHelper.FIELD_TYPE_INTEGER); + return (Long) data; } /** * Find the master key id related to a given query. The id will either be extracted from the * query, which should work for all specific /key_rings/ queries, or will be queried if it can't. */ - public long extractOrGetMasterKeyId() throws PgpGeneralException { + public long extractOrGetMasterKeyId() throws NotFoundException { // try extracting from the uri first String firstSegment = mUri.getPathSegments().get(1); if (!firstSegment.equals("find")) try { @@ -83,114 +79,82 @@ public class CachedPublicKeyRing extends KeyRing { return getMasterKeyId(); } - public byte[] getFingerprint() throws PgpGeneralException { - try { - Object data = mProviderHelper.getGenericData(mUri, - KeychainContract.KeyRings.FINGERPRINT, ProviderHelper.FIELD_TYPE_BLOB); - return (byte[]) data; - } catch (ProviderHelper.NotFoundException e) { - throw new PgpGeneralException(e); - } + public byte[] getFingerprint() throws NotFoundException { + Object data = mProviderHelper.getGenericData(mUri, + KeychainContract.KeyRings.FINGERPRINT, ProviderHelper.FIELD_TYPE_BLOB); + return (byte[]) data; } @Override - public String getPrimaryUserId() throws PgpGeneralException { - try { - Object data = mProviderHelper.getGenericData(mUri, - KeychainContract.KeyRings.USER_ID, - ProviderHelper.FIELD_TYPE_STRING); - return (String) data; - } catch(ProviderHelper.NotFoundException e) { - throw new PgpGeneralException(e); - } + public String getPrimaryUserId() throws NotFoundException { + Object data = mProviderHelper.getGenericData(mUri, + KeychainContract.KeyRings.USER_ID, + ProviderHelper.FIELD_TYPE_STRING); + return (String) data; } - public String getPrimaryUserIdWithFallback() throws PgpGeneralException { + public String getPrimaryUserIdWithFallback() throws NotFoundException { return getPrimaryUserId(); } @Override - public boolean isRevoked() throws PgpGeneralException { - try { - Object data = mProviderHelper.getGenericData(mUri, - KeychainContract.KeyRings.IS_REVOKED, - ProviderHelper.FIELD_TYPE_INTEGER); - return (Long) data > 0; - } catch(ProviderHelper.NotFoundException e) { - throw new PgpGeneralException(e); - } + public boolean isRevoked() throws NotFoundException { + Object data = mProviderHelper.getGenericData(mUri, + KeychainContract.KeyRings.IS_REVOKED, + ProviderHelper.FIELD_TYPE_INTEGER); + return (Long) data > 0; } @Override - public boolean canCertify() throws PgpGeneralException { - try { - Object data = mProviderHelper.getGenericData(mUri, - KeychainContract.KeyRings.HAS_CERTIFY, - ProviderHelper.FIELD_TYPE_NULL); - return !((Boolean) data); - } catch(ProviderHelper.NotFoundException e) { - throw new PgpGeneralException(e); - } + public boolean canCertify() throws NotFoundException { + Object data = mProviderHelper.getGenericData(mUri, + KeychainContract.KeyRings.HAS_CERTIFY, + ProviderHelper.FIELD_TYPE_NULL); + return !((Boolean) data); } @Override - public long getEncryptId() throws PgpGeneralException { - try { - Object data = mProviderHelper.getGenericData(mUri, - KeyRings.HAS_ENCRYPT, - ProviderHelper.FIELD_TYPE_INTEGER); - return (Long) data; - } catch(ProviderHelper.NotFoundException e) { - throw new PgpGeneralException(e); - } + public long getEncryptId() throws NotFoundException { + Object data = mProviderHelper.getGenericData(mUri, + KeyRings.HAS_ENCRYPT, + ProviderHelper.FIELD_TYPE_INTEGER); + return (Long) data; } @Override - public boolean hasEncrypt() throws PgpGeneralException { + public boolean hasEncrypt() throws NotFoundException { return getEncryptId() != 0; } - /** Returns the key id which should be used for signing. - * + /** + * Returns the key id which should be used for signing. + *

* This method returns keys which are actually available (ie. secret available, and not stripped, * revoked, or expired), hence only works on keyrings where a secret key is available! - * */ - public long getSecretSignId() throws PgpGeneralException { - try { - Object data = mProviderHelper.getGenericData(mUri, - KeyRings.HAS_SIGN, - ProviderHelper.FIELD_TYPE_INTEGER); - return (Long) data; - } catch(ProviderHelper.NotFoundException e) { - throw new PgpGeneralException(e); - } + public long getSecretSignId() throws NotFoundException { + Object data = mProviderHelper.getGenericData(mUri, + KeyRings.HAS_SIGN, + ProviderHelper.FIELD_TYPE_INTEGER); + return (Long) data; } @Override - public int getVerified() throws PgpGeneralException { - try { - Object data = mProviderHelper.getGenericData(mUri, - KeychainContract.KeyRings.VERIFIED, - ProviderHelper.FIELD_TYPE_INTEGER); - return (Integer) data; - } catch(ProviderHelper.NotFoundException e) { - throw new PgpGeneralException(e); - } + public int getVerified() throws NotFoundException { + Object data = mProviderHelper.getGenericData(mUri, + KeychainContract.KeyRings.VERIFIED, + ProviderHelper.FIELD_TYPE_INTEGER); + return (Integer) data; } - public boolean hasAnySecret() throws PgpGeneralException { - try { - Object data = mProviderHelper.getGenericData(mUri, - KeychainContract.KeyRings.HAS_ANY_SECRET, - ProviderHelper.FIELD_TYPE_INTEGER); - return (Long) data > 0; - } catch(ProviderHelper.NotFoundException e) { - throw new PgpGeneralException(e); - } + public boolean hasAnySecret() throws NotFoundException { + Object data = mProviderHelper.getGenericData(mUri, + KeychainContract.KeyRings.HAS_ANY_SECRET, + ProviderHelper.FIELD_TYPE_INTEGER); + return (Long) data > 0; } - private Cursor getSubkeys() throws PgpGeneralException { + private Cursor getSubkeys() throws NotFoundException { Uri keysUri = KeychainContract.Keys.buildKeysUri(extractOrGetMasterKeyId()); return mProviderHelper.getContentResolver().query(keysUri, null, null, null, null); } diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java index b650147cf..80199d00c 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java @@ -272,23 +272,24 @@ public class OpenPgpService extends RemoteService { InputData inputData = new InputData(is, inputLength); // Find the appropriate subkey to sign with - CachedPublicKeyRing signingRing = - new ProviderHelper(this).getCachedPublicKeyRing(accSettings.getKeyId()); - final long sigSubKeyId = signingRing.getSecretSignId(); + final long sigSubKeyId; + try { + CachedPublicKeyRing signingRing = + new ProviderHelper(this).getCachedPublicKeyRing(accSettings.getKeyId()); + sigSubKeyId = signingRing.getSecretSignId(); + } catch (NotFoundException e) { + // secret key that is set for this account is deleted? + // show account config again! + return getCreateAccountIntent(data, getAccountName(data)); + } // get passphrase from cache, if key has "no" passphrase, this returns an empty String String passphrase; if (data.hasExtra(OpenPgpApi.EXTRA_PASSPHRASE)) { passphrase = data.getStringExtra(OpenPgpApi.EXTRA_PASSPHRASE); } else { - try { - passphrase = PassphraseCacheService.getCachedPassphrase(getContext(), - accSettings.getKeyId(), sigSubKeyId); - } catch (PassphraseCacheService.KeyNotFoundException e) { - // secret key that is set for this account is deleted? - // show account config again! - return getCreateAccountIntent(data, getAccountName(data)); - } + passphrase = PassphraseCacheService.getCachedPassphrase(getContext(), + accSettings.getKeyId(), sigSubKeyId); } if (passphrase == null) { // get PendingIntent for passphrase input, add it to given params and return to client diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/AccountSettingsActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/AccountSettingsActivity.java index b43dec2f1..421231fa2 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/AccountSettingsActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/AccountSettingsActivity.java @@ -27,13 +27,12 @@ import android.view.View; import org.sufficientlysecure.keychain.Constants; import org.sufficientlysecure.keychain.R; -import org.sufficientlysecure.keychain.ui.util.ActionBarHelper; import org.sufficientlysecure.keychain.provider.ProviderHelper; import org.sufficientlysecure.keychain.remote.AccountSettings; import org.sufficientlysecure.keychain.service.results.OperationResult; -import org.sufficientlysecure.keychain.service.results.OperationResult.LogLevel; import org.sufficientlysecure.keychain.service.results.OperationResult.LogType; import org.sufficientlysecure.keychain.service.results.SingletonResult; +import org.sufficientlysecure.keychain.ui.util.ActionBarHelper; import org.sufficientlysecure.keychain.util.Log; public class AccountSettingsActivity extends ActionBarActivity { diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/AccountSettingsFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/AccountSettingsFragment.java index a7eb58377..fe56d5ead 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/AccountSettingsFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/AccountSettingsFragment.java @@ -67,7 +67,7 @@ public class AccountSettingsFragment extends Fragment { } public void setAccSettings(AccountSettings accountSettings) { - this.mAccSettings = accountSettings; + mAccSettings = accountSettings; mAccNameView.setText(accountSettings.getAccountName()); mSelectKeySpinner.setSelectedKeyId(accountSettings.getKeyId()); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/KeychainIntentService.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/KeychainIntentService.java index b9c42db3f..21240c8dc 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/KeychainIntentService.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/KeychainIntentService.java @@ -719,7 +719,7 @@ public class KeychainIntentService extends IntentService implements Progressable builder.setNfcState(nfcHash, nfcTimestamp); } - } catch (PgpGeneralException e) { + } catch (NotFoundException e) { // encrypt-only // TODO Just silently drop the requested signature? Shouldn't we throw here? } diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyFragment.java index 57c2cac5c..d90b29b8d 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyFragment.java @@ -229,9 +229,6 @@ public class EditKeyFragment extends LoaderFragment implements } catch (NotFoundException e) { finishWithError(LogType.MSG_EK_ERROR_NOT_FOUND); return; - } catch (PgpGeneralException e) { - finishWithError(LogType.MSG_EK_ERROR_NOT_FOUND); - return; } try { 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 54877f676..0aaa03636 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptAsymmetricFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptAsymmetricFragment.java @@ -139,7 +139,7 @@ public class EncryptAsymmetricFragment extends Fragment implements EncryptActivi setSignatureKeyId(keyring.getMasterKeyId()); mSign.setSelectedKeyId(mEncryptInterface.getSignatureKey()); } - } catch (PgpGeneralException e) { + } catch (ProviderHelper.NotFoundException e) { Log.e(Constants.TAG, "key not found!", e); } } @@ -151,7 +151,7 @@ public class EncryptAsymmetricFragment extends Fragment implements EncryptActivi CachedPublicKeyRing ring = mProviderHelper.getCachedPublicKeyRing( KeyRings.buildUnifiedKeyRingsFindBySubkeyUri(preselectedId)); mEncryptKeyView.addObject(mEncryptKeyView.new EncryptionKey(ring)); - } catch (PgpGeneralException e) { + } catch (ProviderHelper.NotFoundException e) { Log.e(Constants.TAG, "key not found!", e); } } diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/MultiCertifyKeyFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/MultiCertifyKeyFragment.java index ddfbac03c..497ac48eb 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/MultiCertifyKeyFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/MultiCertifyKeyFragment.java @@ -115,7 +115,7 @@ public class MultiCertifyKeyFragment extends LoaderFragment if (key.canCertify()) { mCertifyKeySpinner.setSelectedKeyId(certifyKeyId); } - } catch (PgpGeneralException e) { + } catch (ProviderHelper.NotFoundException e) { Log.e(Constants.TAG, "certify certify check failed", e); } } diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/PassphraseDialogActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/PassphraseDialogActivity.java index 4bfca9e1d..dcf96c66a 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/PassphraseDialogActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/PassphraseDialogActivity.java @@ -151,7 +151,7 @@ public class PassphraseDialogActivity extends FragmentActivity { // the catch clause doesn't return. try { userId = mSecretRing.getPrimaryUserIdWithFallback(); - } catch (PgpGeneralException e) { + } catch (ProviderHelper.NotFoundException e) { userId = null; } @@ -312,7 +312,7 @@ public class PassphraseDialogActivity extends FragmentActivity { PassphraseCacheService.addCachedPassphrase(getActivity(), mSecretRing.getMasterKeyId(), mSubKeyId, passphrase, mSecretRing.getPrimaryUserIdWithFallback()); - } catch (PgpGeneralException e) { + } catch (ProviderHelper.NotFoundException e) { Log.e(Constants.TAG, "adding of a passphrase failed", 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 b0e641778..a894c519a 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewCertActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewCertActivity.java @@ -185,7 +185,7 @@ public class ViewCertActivity extends ActionBarActivity KeyRings.buildUnifiedKeyRingsFindBySubkeyUri(mCertifierKeyId)).getMasterKeyId(); viewIntent.setData(KeyRings.buildGenericKeyRingUri(signerMasterKeyId)); startActivity(viewIntent); - } catch (PgpGeneralException e) { + } catch (ProviderHelper.NotFoundException e) { // TODO notify user of this, maybe offer download? Log.e(Constants.TAG, "key not found!", e); } diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyMainFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyMainFragment.java index 2d7bb07cf..a1a79b82e 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyMainFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyMainFragment.java @@ -308,7 +308,7 @@ public class ViewKeyMainFragment extends LoaderFragment implements } // used instead of startActivity set actionbar based on callingPackage startActivityForResult(intent, 0); - } catch (PgpGeneralException e) { + } catch (NotFoundException e) { Log.e(Constants.TAG, "key not found!", e); } } 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 43f869f02..b5aa2a3d2 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 @@ -145,7 +145,7 @@ public class PassphraseDialogFragment extends DialogFragment implements OnEditor // the catch clause doesn't return. try { userId = mSecretRing.getPrimaryUserIdWithFallback(); - } catch (PgpGeneralException e) { + } catch (ProviderHelper.NotFoundException e) { userId = null; } @@ -308,7 +308,7 @@ public class PassphraseDialogFragment extends DialogFragment implements OnEditor PassphraseCacheService.addCachedPassphrase(getActivity(), mSecretRing.getMasterKeyId(), mSubKeyId, passphrase, mSecretRing.getPrimaryUserIdWithFallback()); - } catch (PgpGeneralException e) { + } catch (ProviderHelper.NotFoundException e) { Log.e(Constants.TAG, "adding of a passphrase failed", e); } diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/EncryptKeyCompletionView.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/EncryptKeyCompletionView.java index 08599333a..44a3938f0 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/EncryptKeyCompletionView.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/EncryptKeyCompletionView.java @@ -42,6 +42,7 @@ import com.tokenautocomplete.TokenCompleteTextView; import org.sufficientlysecure.keychain.Constants; import org.sufficientlysecure.keychain.R; +import org.sufficientlysecure.keychain.provider.ProviderHelper; import org.sufficientlysecure.keychain.ui.util.KeyFormattingUtils; import org.sufficientlysecure.keychain.util.ContactHelper; import org.sufficientlysecure.keychain.pgp.KeyRing; @@ -198,7 +199,7 @@ public class EncryptKeyCompletionView extends TokenCompleteTextView { } - public EncryptionKey(CachedPublicKeyRing ring) throws PgpGeneralException { + public EncryptionKey(CachedPublicKeyRing ring) throws ProviderHelper.NotFoundException { this(ring.getPrimaryUserId(), ring.extractOrGetMasterKeyId(), KeyFormattingUtils.convertFingerprintToHex(ring.getFingerprint())); } diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/ExportHelper.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/ExportHelper.java index 3c100e272..a8b4d029a 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/ExportHelper.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/ExportHelper.java @@ -57,7 +57,7 @@ public class ExportHelper { DeleteKeyDialogFragment deleteKeyDialog = DeleteKeyDialogFragment.newInstance(messenger, new long[]{ masterKeyId }); deleteKeyDialog.show(mActivity.getSupportFragmentManager(), "deleteKeyDialog"); - } catch (PgpGeneralException e) { + } catch (ProviderHelper.NotFoundException e) { Log.e(Constants.TAG, "key not found!", e); } } -- cgit v1.2.3