aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/ProviderHelper.java
diff options
context:
space:
mode:
authorVincent <valodim@mugenguild.com>2016-02-10 18:39:55 +0100
committerVincent <valodim@mugenguild.com>2016-02-10 18:39:55 +0100
commit2eac4ebb950c9f36fbb8852b4266529065ff6731 (patch)
treeda193d233e2f753e2c31d9c446f4c2cb5ad23248 /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/ProviderHelper.java
parenta94713103b6c72136fbf4886bf561616b2a01e4e (diff)
parentda6dfb57a0aa816919cd23752e1707ba6a2e8cae (diff)
downloadopen-keychain-2eac4ebb950c9f36fbb8852b4266529065ff6731.tar.gz
open-keychain-2eac4ebb950c9f36fbb8852b4266529065ff6731.tar.bz2
open-keychain-2eac4ebb950c9f36fbb8852b4266529065ff6731.zip
Merge pull request #1708 from open-keychain/performance
performance improvements
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/ProviderHelper.java')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/ProviderHelper.java8
1 files changed, 5 insertions, 3 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/ProviderHelper.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/ProviderHelper.java
index 1cd073717..83e2baf9a 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/ProviderHelper.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/ProviderHelper.java
@@ -34,6 +34,7 @@ import org.sufficientlysecure.keychain.Constants;
import org.sufficientlysecure.keychain.R;
import org.sufficientlysecure.keychain.operations.results.ImportKeyResult;
import org.sufficientlysecure.keychain.pgp.WrappedUserAttribute;
+import org.sufficientlysecure.keychain.pgp.exception.PgpKeyNotFoundException;
import org.sufficientlysecure.keychain.provider.KeychainContract.UserPackets;
import org.sufficientlysecure.keychain.ui.util.KeyFormattingUtils;
import org.sufficientlysecure.keychain.util.ParcelableFileCache.IteratorWithSize;
@@ -254,8 +255,9 @@ public class ProviderHelper {
KeyRings.MASTER_KEY_ID, FIELD_TYPE_INTEGER);
}
- public CachedPublicKeyRing getCachedPublicKeyRing(Uri queryUri) {
- return new CachedPublicKeyRing(this, queryUri);
+ public CachedPublicKeyRing getCachedPublicKeyRing(Uri queryUri) throws PgpKeyNotFoundException {
+ long masterKeyId = new CachedPublicKeyRing(this, queryUri).extractOrGetMasterKeyId();
+ return getCachedPublicKeyRing(masterKeyId);
}
public CachedPublicKeyRing getCachedPublicKeyRing(long id) {
@@ -828,7 +830,7 @@ public class ProviderHelper {
mIndent += 1;
for (CanonicalizedSecretKey sub : keyRing.secretKeyIterator()) {
long id = sub.getKeyId();
- SecretKeyType mode = sub.getSecretKeyType();
+ SecretKeyType mode = sub.getSecretKeyTypeSuperExpensive();
values.put(Keys.HAS_SECRET, mode.getNum());
int upd = mContentResolver.update(uri, values, Keys.KEY_ID + " = ?",
new String[]{Long.toString(id)});