diff options
author | Adithya Abraham Philip <adithyaphilip@gmail.com> | 2015-06-24 03:51:53 +0530 |
---|---|---|
committer | Adithya Abraham Philip <adithyaphilip@gmail.com> | 2015-06-27 01:20:23 +0530 |
commit | b33004a2f599d34035c0b49dff75cf00a21adb7e (patch) | |
tree | 238b8c619106219ddc79bf8777cfcc35b3712e50 /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListFragment.java | |
parent | 6f3be84c43365b081040e8cefc571fa3db0550aa (diff) | |
download | open-keychain-b33004a2f599d34035c0b49dff75cf00a21adb7e.tar.gz open-keychain-b33004a2f599d34035c0b49dff75cf00a21adb7e.tar.bz2 open-keychain-b33004a2f599d34035c0b49dff75cf00a21adb7e.zip |
migrated consolidation
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListFragment.java')
-rw-r--r-- | OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListFragment.java | 71 |
1 files changed, 30 insertions, 41 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListFragment.java index b52640d86..379f4c6b9 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListFragment.java @@ -64,10 +64,7 @@ import org.sufficientlysecure.keychain.provider.KeychainContract; import org.sufficientlysecure.keychain.provider.KeychainContract.KeyRings; import org.sufficientlysecure.keychain.provider.KeychainDatabase; import org.sufficientlysecure.keychain.provider.ProviderHelper; -import org.sufficientlysecure.keychain.service.ImportKeyringParcel; -import org.sufficientlysecure.keychain.service.KeychainService; -import org.sufficientlysecure.keychain.service.ServiceProgressHandler; -import org.sufficientlysecure.keychain.service.PassphraseCacheService; +import org.sufficientlysecure.keychain.service.*; import org.sufficientlysecure.keychain.ui.base.CryptoOperationHelper; import org.sufficientlysecure.keychain.ui.dialog.DeleteKeyDialogFragment; import org.sufficientlysecure.keychain.ui.util.KeyFormattingUtils; @@ -115,6 +112,9 @@ public class KeyListFragment extends LoaderFragment private String mKeyserver; private CryptoOperationHelper<ImportKeyringParcel, ImportKeyResult> mImportOpHelper; + // for ConsolidateOperation + private CryptoOperationHelper<ConsolidateInputParcel, ConsolidateResult> mConsolidateOpHelper; + // This ids for multiple key export. private ArrayList<Long> mIdsForRepeatAskPassphrase; // This index for remembering the number of master key. @@ -607,51 +607,35 @@ public class KeyListFragment extends LoaderFragment } private void consolidate() { - // Message is received after importing 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(); - if (returnData == null) { - return; - } - final ConsolidateResult result = - returnData.getParcelable(OperationResult.EXTRA_RESULT); - if (result == null) { - return; - } - result.createNotify(getActivity()).show(); - } - } - }; + CryptoOperationHelper.Callback<ConsolidateInputParcel, ConsolidateResult> callback + = new CryptoOperationHelper.Callback<ConsolidateInputParcel, ConsolidateResult>() { - // Send all information needed to service to import key in other thread - Intent intent = new Intent(getActivity(), KeychainService.class); + @Override + public ConsolidateInputParcel createOperationInput() { + return new ConsolidateInputParcel(false); // we want to perform a full consolidate + } - intent.setAction(KeychainService.ACTION_CONSOLIDATE); + @Override + public void onCryptoOperationSuccess(ConsolidateResult result) { + result.createNotify(getActivity()).show(); + } - // fill values for this action - Bundle data = new Bundle(); + @Override + public void onCryptoOperationCancelled() { - intent.putExtra(KeychainService.EXTRA_DATA, data); + } - // Create a new Messenger for the communication back - Messenger messenger = new Messenger(saveHandler); - intent.putExtra(KeychainService.EXTRA_MESSENGER, messenger); + @Override + public void onCryptoOperationError(ConsolidateResult result) { + result.createNotify(getActivity()).show(); + } + }; - // show progress dialog - saveHandler.showProgressDialog( - getString(R.string.progress_importing), - ProgressDialog.STYLE_HORIZONTAL, false); + mConsolidateOpHelper = + new CryptoOperationHelper<>(this, callback, R.string.progress_importing); - // start service with intent - getActivity().startService(intent); + mConsolidateOpHelper.cryptoOperation(); } private void showMultiExportDialog(long[] masterKeyIds) { @@ -693,6 +677,11 @@ public class KeyListFragment extends LoaderFragment if (mImportOpHelper != null) { mImportOpHelper.handleActivityResult(requestCode, resultCode, data); } + + if (mConsolidateOpHelper != null) { + mConsolidateOpHelper.handleActivityResult(requestCode, resultCode, data); + } + if (requestCode == REQUEST_REPEAT_PASSPHRASE) { if (resultCode != Activity.RESULT_OK) { return; |