aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ConsolidateDialogActivity.java
diff options
context:
space:
mode:
authorAdithya Abraham Philip <adithyaphilip@gmail.com>2015-06-24 03:51:53 +0530
committerAdithya Abraham Philip <adithyaphilip@gmail.com>2015-06-27 01:20:23 +0530
commitb33004a2f599d34035c0b49dff75cf00a21adb7e (patch)
tree238b8c619106219ddc79bf8777cfcc35b3712e50 /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ConsolidateDialogActivity.java
parent6f3be84c43365b081040e8cefc571fa3db0550aa (diff)
downloadopen-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/ConsolidateDialogActivity.java')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ConsolidateDialogActivity.java97
1 files changed, 42 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..b3a447c84 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,40 @@ 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();
+ }
}