diff options
author | Dominik Schürmann <dominik@dominikschuermann.de> | 2015-06-30 18:49:46 +0200 |
---|---|---|
committer | Dominik Schürmann <dominik@dominikschuermann.de> | 2015-06-30 18:49:46 +0200 |
commit | 88f8a388541404674703c9e1f69029ec2a09c148 (patch) | |
tree | 6771ba3e13df96574e093668c77e34678511b5f7 /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ConsolidateDialogActivity.java | |
parent | 677afa90fce133b81c195488e07f07a5a83e2f0b (diff) | |
parent | a5257ec71d41532ac62594f59c10ba47d6a9ca38 (diff) | |
download | open-keychain-88f8a388541404674703c9e1f69029ec2a09c148.tar.gz open-keychain-88f8a388541404674703c9e1f69029ec2a09c148.tar.bz2 open-keychain-88f8a388541404674703c9e1f69029ec2a09c148.zip |
Merge pull request #1362 from open-keychain/operation-migration
Migrated all operations to KeychainNewService
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ConsolidateDialogActivity.java')
-rw-r--r-- | OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ConsolidateDialogActivity.java | 102 |
1 files changed, 47 insertions, 55 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ConsolidateDialogActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ConsolidateDialogActivity.java index 6a9bb7b11..7a473e49f 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ConsolidateDialogActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ConsolidateDialogActivity.java @@ -17,25 +17,27 @@ package org.sufficientlysecure.keychain.ui; -import android.app.ProgressDialog; import android.content.Intent; import android.os.Bundle; -import android.os.Message; -import android.os.Messenger; import android.support.v4.app.FragmentActivity; import org.sufficientlysecure.keychain.R; -import org.sufficientlysecure.keychain.service.KeychainService; -import org.sufficientlysecure.keychain.service.ServiceProgressHandler; +import org.sufficientlysecure.keychain.operations.results.ConsolidateResult; +import org.sufficientlysecure.keychain.service.ConsolidateInputParcel; +import org.sufficientlysecure.keychain.ui.base.CryptoOperationHelper; /** * We can not directly create a dialog on the application context. * This activity encapsulates a DialogFragment to emulate a dialog. */ -public class ConsolidateDialogActivity extends FragmentActivity { +public class ConsolidateDialogActivity extends FragmentActivity + implements CryptoOperationHelper.Callback<ConsolidateInputParcel, ConsolidateResult> { public static final String EXTRA_CONSOLIDATE_RECOVERY = "consolidate_recovery"; + private CryptoOperationHelper<ConsolidateInputParcel, ConsolidateResult> mConsolidateOpHelper; + private boolean mRecovery; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -48,55 +50,45 @@ public class ConsolidateDialogActivity extends FragmentActivity { } private void consolidateRecovery(boolean recovery) { - // Message is received after importing is done in KeychainService - ServiceProgressHandler saveHandler = new ServiceProgressHandler(this) { - @Override - public void handleMessage(Message message) { - // handle messages by standard KeychainIntentServiceHandler first - super.handleMessage(message); - - if (message.arg1 == MessageStatus.OKAY.ordinal()) { - /* don't care about the results (for now?) - - // get returned data bundle - Bundle returnData = message.getInputData(); - if (returnData == null) { - return; - } - final ConsolidateResult result = - returnData.getParcelable(KeychainService.RESULT_CONSOLIDATE); - if (result == null) { - return; - } - result.createNotify(ConsolidateDialogActivity.this).show(); - */ - - ConsolidateDialogActivity.this.finish(); - } - } - }; - - // Send all information needed to service to import key in other thread - Intent intent = new Intent(this, KeychainService.class); - intent.setAction(KeychainService.ACTION_CONSOLIDATE); - - // fill values for this action - Bundle data = new Bundle(); - data.putBoolean(KeychainService.CONSOLIDATE_RECOVERY, recovery); - 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); - - // show progress dialog - saveHandler.showProgressDialog( - getString(R.string.progress_importing), - ProgressDialog.STYLE_HORIZONTAL, false - ); - - // start service with intent - startService(intent); + + mRecovery = recovery; + + mConsolidateOpHelper = new CryptoOperationHelper<>(this, this, R.string.progress_importing); + mConsolidateOpHelper.cryptoOperation(); + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent data) { + super.onActivityResult(requestCode, resultCode, data); + if (mConsolidateOpHelper != null) { + mConsolidateOpHelper.handleActivityResult(requestCode, resultCode, data); + } } + @Override + public ConsolidateInputParcel createOperationInput() { + return new ConsolidateInputParcel(mRecovery); + } + + @Override + public void onCryptoOperationSuccess(ConsolidateResult result) { + // don't care about result (for now?) + ConsolidateDialogActivity.this.finish(); + } + + @Override + public void onCryptoOperationCancelled() { + + } + + @Override + public void onCryptoOperationError(ConsolidateResult result) { + // don't care about result (for now?) + ConsolidateDialogActivity.this.finish(); + } + + @Override + public boolean onCryptoSetProgress(String msg, int progress, int max) { + return false; + } } |