From 8b439be1f558c567863842edcb6377b0cc7a1476 Mon Sep 17 00:00:00 2001 From: Vincent Breitmoser Date: Mon, 6 Jul 2015 16:24:16 +0200 Subject: don't cache exporthelper, keep type for KeyItem in KeySpinner --- .../keychain/operations/ExportOperation.java | 22 +++++++++++----------- .../keychain/ui/ViewKeyActivity.java | 14 +++++--------- .../keychain/ui/widget/KeySpinner.java | 2 +- 3 files changed, 17 insertions(+), 21 deletions(-) (limited to 'OpenKeychain') diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/ExportOperation.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/ExportOperation.java index a82e16461..82b72c1fc 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/ExportOperation.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/ExportOperation.java @@ -18,6 +18,17 @@ package org.sufficientlysecure.keychain.operations; + +import java.io.BufferedOutputStream; +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.OutputStream; +import java.net.Proxy; +import java.util.concurrent.atomic.AtomicBoolean; + import android.content.Context; import android.database.Cursor; import android.net.Uri; @@ -28,7 +39,6 @@ import org.sufficientlysecure.keychain.Constants; import org.sufficientlysecure.keychain.R; import org.sufficientlysecure.keychain.keyimport.HkpKeyserver; import org.sufficientlysecure.keychain.keyimport.Keyserver.AddKeyException; -import org.sufficientlysecure.keychain.operations.results.CertifyResult; import org.sufficientlysecure.keychain.operations.results.ExportResult; import org.sufficientlysecure.keychain.operations.results.OperationResult.LogType; import org.sufficientlysecure.keychain.operations.results.OperationResult.OperationLog; @@ -49,16 +59,6 @@ import org.sufficientlysecure.keychain.util.Log; import org.sufficientlysecure.keychain.util.Preferences; import org.sufficientlysecure.keychain.util.orbot.OrbotHelper; -import java.io.BufferedOutputStream; -import java.io.ByteArrayOutputStream; -import java.io.File; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.OutputStream; -import java.net.Proxy; -import java.util.concurrent.atomic.AtomicBoolean; - /** * An operation class which implements high level export * operations. diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyActivity.java index ce8935bce..2f89818d1 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyActivity.java @@ -84,9 +84,7 @@ import org.sufficientlysecure.keychain.util.ContactHelper; import org.sufficientlysecure.keychain.util.ExportHelper; import org.sufficientlysecure.keychain.util.Log; import org.sufficientlysecure.keychain.util.NfcHelper; -import org.sufficientlysecure.keychain.util.ParcelableProxy; import org.sufficientlysecure.keychain.util.Preferences; -import org.sufficientlysecure.keychain.util.orbot.OrbotHelper; import java.io.IOException; import java.util.ArrayList; @@ -105,7 +103,6 @@ public class ViewKeyActivity extends BaseNfcActivity implements static final int REQUEST_EXPORT = 3; public static final String EXTRA_DISPLAY_RESULT = "display_result"; - ExportHelper mExportHelper; ProviderHelper mProviderHelper; protected Uri mDataUri; @@ -159,7 +156,6 @@ public class ViewKeyActivity extends BaseNfcActivity implements protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - mExportHelper = new ExportHelper(this); mProviderHelper = new ProviderHelper(this); setTitle(null); @@ -333,14 +329,14 @@ public class ViewKeyActivity extends BaseNfcActivity implements case R.id.menu_key_view_export_file: { try { if (PassphraseCacheService.getCachedPassphrase(this, mMasterKeyId, mMasterKeyId) != null) { - exportToFile(mDataUri, mExportHelper, mProviderHelper); + exportToFile(mDataUri, mProviderHelper); return true; } startPassphraseActivity(REQUEST_EXPORT); } catch (PassphraseCacheService.KeyNotFoundException e) { // This happens when the master key is stripped - exportToFile(mDataUri, mExportHelper, mProviderHelper); + exportToFile(mDataUri, mProviderHelper); } return true; } @@ -460,7 +456,7 @@ public class ViewKeyActivity extends BaseNfcActivity implements startActivityForResult(intent, requestCode); } - private void exportToFile(Uri dataUri, ExportHelper exportHelper, ProviderHelper providerHelper) { + private void exportToFile(Uri dataUri, ProviderHelper providerHelper) { try { Uri baseUri = KeychainContract.KeyRings.buildUnifiedKeyRingUri(dataUri); @@ -469,7 +465,7 @@ public class ViewKeyActivity extends BaseNfcActivity implements new String[]{KeychainContract.Keys.MASTER_KEY_ID, KeychainContract.KeyRings.HAS_SECRET}, new int[]{ProviderHelper.FIELD_TYPE_INTEGER, ProviderHelper.FIELD_TYPE_INTEGER}); - exportHelper.showExportKeysDialog( + new ExportHelper(this).showExportKeysDialog( new long[]{(Long) data.get(KeychainContract.KeyRings.MASTER_KEY_ID)}, Constants.Path.APP_DIR_FILE, ((Long) data.get(KeychainContract.KeyRings.HAS_SECRET) != 0) ); @@ -534,7 +530,7 @@ public class ViewKeyActivity extends BaseNfcActivity implements } if (requestCode == REQUEST_EXPORT && resultCode == Activity.RESULT_OK) { - exportToFile(mDataUri, mExportHelper, mProviderHelper); + exportToFile(mDataUri, mProviderHelper); } if (data != null && data.hasExtra(OperationResult.EXTRA_RESULT)) { diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/KeySpinner.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/KeySpinner.java index c2414e86d..1884daf12 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/KeySpinner.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/KeySpinner.java @@ -191,7 +191,7 @@ public abstract class KeySpinner extends AppCompatSpinner implements } @Override - public Object getItem(int position) { + public KeyItem getItem(int position) { if (position == 0) { return null; } -- cgit v1.2.3