From 6008353df8f8d17795fadb5a34fc86ad5a8f2de9 Mon Sep 17 00:00:00 2001 From: Adithya Abraham Philip Date: Tue, 23 Jun 2015 20:20:13 +0530 Subject: allow progress message to be set later --- .../ui/CreateKeyYubiKeyImportFragment.java | 45 ++-------------------- .../keychain/ui/base/CryptoOperationFragment.java | 5 +++ .../keychain/ui/base/CryptoOperationHelper.java | 14 ++++--- 3 files changed, 17 insertions(+), 47 deletions(-) (limited to 'OpenKeychain/src') diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CreateKeyYubiKeyImportFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CreateKeyYubiKeyImportFragment.java index 298efcc39..ff0ebf7d3 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CreateKeyYubiKeyImportFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CreateKeyYubiKeyImportFragment.java @@ -183,45 +183,6 @@ public class CreateKeyYubiKeyImportFragment public void importKey() { - // Message is received after decrypting is done in KeychainService - ServiceProgressHandler saveHandler = new ServiceProgressHandler(getActivity()) { - @Override - public void handleMessage(Message message) { - // handle messages by standard KeychainIntentServiceHandler first - super.handleMessage(message); - - if (message.arg1 == MessageStatus.OKAY.ordinal()) { - // get returned data bundle - Bundle returnData = message.getData(); - - ImportKeyResult result = - returnData.getParcelable(DecryptVerifyResult.EXTRA_RESULT); - - long[] masterKeyIds = result.getImportedMasterKeyIds(); - - // TODO handle masterKeyIds.length != 1...? sorta outlandish scenario - - if (!result.success() || masterKeyIds.length == 0) { - result.createNotify(getActivity()).show(); - return; - } - - Intent intent = new Intent(getActivity(), ViewKeyActivity.class); - // use the imported masterKeyId, not the one from the yubikey, because - // that one might* just have been a subkey of the imported key - intent.setData(KeyRings.buildGenericKeyRingUri(masterKeyIds[0])); - intent.putExtra(ViewKeyActivity.EXTRA_DISPLAY_RESULT, result); - intent.putExtra(ViewKeyActivity.EXTRA_NFC_AID, mNfcAid); - intent.putExtra(ViewKeyActivity.EXTRA_NFC_USER_ID, mNfcUserId); - intent.putExtra(ViewKeyActivity.EXTRA_NFC_FINGERPRINTS, mNfcFingerprints); - startActivity(intent); - getActivity().finish(); - - } - - } - }; - ArrayList keyList = new ArrayList<>(); keyList.add(new ParcelableKeyRing(mNfcFingerprint, null, null)); mKeyList = keyList; @@ -233,9 +194,9 @@ public class CreateKeyYubiKeyImportFragment mKeyserver = cloudPrefs.keyserver; } - // TODO: PHILIP make the progress dialog show importing + super.setProgressMessageResource(R.string.progress_importing); - cryptoOperation(); + super.cryptoOperation(); } @@ -267,7 +228,7 @@ public class CreateKeyYubiKeyImportFragment super.onCryptoOperationError(result); return; } - + Intent intent = new Intent(getActivity(), ViewKeyActivity.class); // use the imported masterKeyId, not the one from the yubikey, because // that one might* just have been a subkey of the imported key diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/base/CryptoOperationFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/base/CryptoOperationFragment.java index c00ebd915..53ab33dc5 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/base/CryptoOperationFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/base/CryptoOperationFragment.java @@ -63,6 +63,11 @@ public abstract class CryptoOperationFragment(this, callback); } + public void setProgressMessageResource(int id) { + mOperationHelper.setProgressMessageResource(id); + } + + @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { mOperationHelper.handleActivityResult(requestCode, resultCode, data); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/base/CryptoOperationHelper.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/base/CryptoOperationHelper.java index ffbda330e..43106820f 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/base/CryptoOperationHelper.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/base/CryptoOperationHelper.java @@ -67,7 +67,7 @@ public class CryptoOperationHelper callback, int progressMessageString) { mFragment = fragment; mUseFragment = true; - mProgressMessageString = progressMessageString; + mProgressMessageResource = progressMessageString; mCallback = callback; } @@ -107,10 +107,14 @@ public class CryptoOperationHelper callback) { mFragment = fragment; mUseFragment = true; - mProgressMessageString = R.string.progress_building_key; + mProgressMessageResource = R.string.progress_building_key; mCallback = callback; } + public void setProgressMessageResource(int id) { + mProgressMessageResource = id; + } + private void initiateInputActivity(RequiredInputParcel requiredInput) { Activity activity = mUseFragment ? mFragment.getActivity() : mActivity; @@ -254,7 +258,7 @@ public class CryptoOperationHelper