aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui
diff options
context:
space:
mode:
authorVincent Breitmoser <valodim@mugenguild.com>2015-06-10 15:43:00 +0200
committerVincent Breitmoser <valodim@mugenguild.com>2015-06-10 15:45:10 +0200
commit61dce088c25ea68cbff59b5d8b1af80b39d5cc59 (patch)
tree8d2756bd493e005d96dc31f88b88fe4351fb5f43 /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui
parent9b6416943b49d620c73bd24fb334ec338d95c5a8 (diff)
downloadopen-keychain-61dce088c25ea68cbff59b5d8b1af80b39d5cc59.tar.gz
open-keychain-61dce088c25ea68cbff59b5d8b1af80b39d5cc59.tar.bz2
open-keychain-61dce088c25ea68cbff59b5d8b1af80b39d5cc59.zip
backport CryptoOperationFragment changes without eventbus
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ConsolidateDialogActivity.java11
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CreateKeyFinalFragment.java20
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CreateKeyYubiKeyImportFragment.java11
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptTextFragment.java1
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysActivity.java18
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysProxyActivity.java11
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListFragment.java21
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/SafeSlingerActivity.java12
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/UploadKeyActivity.java10
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyActivity.java3
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyTrustFragment.java12
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/base/CachingCryptoOperationFragment.java37
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/base/CryptoOperationFragment.java87
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/DeleteKeyDialogFragment.java10
14 files changed, 124 insertions, 140 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 054e43f21..6a9bb7b11 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ConsolidateDialogActivity.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ConsolidateDialogActivity.java
@@ -49,11 +49,7 @@ public class ConsolidateDialogActivity extends FragmentActivity {
private void consolidateRecovery(boolean recovery) {
// Message is received after importing is done in KeychainService
- ServiceProgressHandler saveHandler = new ServiceProgressHandler(
- this,
- getString(R.string.progress_importing),
- ProgressDialog.STYLE_HORIZONTAL
- ) {
+ ServiceProgressHandler saveHandler = new ServiceProgressHandler(this) {
@Override
public void handleMessage(Message message) {
// handle messages by standard KeychainIntentServiceHandler first
@@ -94,7 +90,10 @@ public class ConsolidateDialogActivity extends FragmentActivity {
intent.putExtra(KeychainService.EXTRA_MESSENGER, messenger);
// show progress dialog
- saveHandler.showProgressDialog(this);
+ saveHandler.showProgressDialog(
+ getString(R.string.progress_importing),
+ ProgressDialog.STYLE_HORIZONTAL, false
+ );
// start service with intent
startService(intent);
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CreateKeyFinalFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CreateKeyFinalFragment.java
index b39064e20..ebbd01afe 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CreateKeyFinalFragment.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CreateKeyFinalFragment.java
@@ -197,11 +197,7 @@ public class CreateKeyFinalFragment extends Fragment {
Intent intent = new Intent(getActivity(), KeychainService.class);
intent.setAction(KeychainService.ACTION_EDIT_KEYRING);
- ServiceProgressHandler saveHandler = new ServiceProgressHandler(
- getActivity(),
- getString(R.string.progress_building_key),
- ProgressDialog.STYLE_HORIZONTAL
- ) {
+ ServiceProgressHandler saveHandler = new ServiceProgressHandler(getActivity()) {
@Override
public void handleMessage(Message message) {
// handle messages by standard KeychainIntentServiceHandler first
@@ -245,7 +241,8 @@ public class CreateKeyFinalFragment extends Fragment {
Messenger messenger = new Messenger(saveHandler);
intent.putExtra(KeychainService.EXTRA_MESSENGER, messenger);
- saveHandler.showProgressDialog(getActivity());
+ saveHandler.showProgressDialog(getString(R.string.progress_building_key),
+ ProgressDialog.STYLE_HORIZONTAL, false);
getActivity().startService(intent);
}
@@ -271,11 +268,7 @@ public class CreateKeyFinalFragment extends Fragment {
intent.putExtra(KeychainService.EXTRA_DATA, data);
- ServiceProgressHandler saveHandler = new ServiceProgressHandler(
- getActivity(),
- getString(R.string.progress_uploading),
- ProgressDialog.STYLE_HORIZONTAL
- ) {
+ ServiceProgressHandler saveHandler = new ServiceProgressHandler(getActivity()) {
@Override
public void handleMessage(Message message) {
// handle messages by standard KeychainIntentServiceHandler first
@@ -301,10 +294,13 @@ public class CreateKeyFinalFragment extends Fragment {
intent.putExtra(KeychainService.EXTRA_MESSENGER, messenger);
// show progress dialog
- saveHandler.showProgressDialog(getActivity());
+ saveHandler.showProgressDialog(
+ getString(R.string.progress_uploading),
+ ProgressDialog.STYLE_HORIZONTAL, false);
// start service with intent
getActivity().startService(intent);
+
}
}
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 ba8e8321a..2ab8c5967 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CreateKeyYubiKeyImportFragment.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CreateKeyYubiKeyImportFragment.java
@@ -176,11 +176,7 @@ public class CreateKeyYubiKeyImportFragment extends Fragment implements NfcListe
public void importKey() {
// Message is received after decrypting is done in KeychainService
- ServiceProgressHandler saveHandler = new ServiceProgressHandler(
- getActivity(),
- getString(R.string.progress_importing),
- ProgressDialog.STYLE_HORIZONTAL
- ) {
+ ServiceProgressHandler saveHandler = new ServiceProgressHandler(getActivity()) {
@Override
public void handleMessage(Message message) {
// handle messages by standard KeychainIntentServiceHandler first
@@ -243,7 +239,10 @@ public class CreateKeyYubiKeyImportFragment extends Fragment implements NfcListe
Messenger messenger = new Messenger(saveHandler);
intent.putExtra(KeychainService.EXTRA_MESSENGER, messenger);
- saveHandler.showProgressDialog(getActivity());
+ saveHandler.showProgressDialog(
+ getString(R.string.progress_importing),
+ ProgressDialog.STYLE_HORIZONTAL, false
+ );
// start service with intent
getActivity().startService(intent);
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptTextFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptTextFragment.java
index a58ac8e87..83fede917 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptTextFragment.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptTextFragment.java
@@ -30,7 +30,6 @@ import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
-import de.greenrobot.event.EventBus;
import org.spongycastle.bcpg.CompressionAlgorithmTags;
import org.sufficientlysecure.keychain.Constants;
import org.sufficientlysecure.keychain.R;
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysActivity.java
index 06d824f94..07ab88b02 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysActivity.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysActivity.java
@@ -388,12 +388,7 @@ public class ImportKeysActivity extends BaseNfcActivity {
return;
}
- ServiceProgressHandler serviceHandler = new ServiceProgressHandler(
- this,
- getString(R.string.progress_importing),
- ProgressDialog.STYLE_HORIZONTAL,
- true
- ) {
+ ServiceProgressHandler serviceHandler = new ServiceProgressHandler(this) {
@Override
public void handleMessage(Message message) {
// handle messages by standard KeychainIntentServiceHandler first
@@ -435,7 +430,11 @@ public class ImportKeysActivity extends BaseNfcActivity {
intent.putExtra(KeychainService.EXTRA_MESSENGER, messenger);
// show progress dialog
- serviceHandler.showProgressDialog(this);
+ serviceHandler.showProgressDialog(
+ getString(R.string.progress_importing),
+ ProgressDialog.STYLE_HORIZONTAL,
+ true
+ );
// start service with intent
startService(intent);
@@ -469,7 +468,10 @@ public class ImportKeysActivity extends BaseNfcActivity {
intent.putExtra(KeychainService.EXTRA_MESSENGER, messenger);
// show progress dialog
- serviceHandler.showProgressDialog(this);
+ serviceHandler.showProgressDialog(
+ getString(R.string.progress_importing),
+ ProgressDialog.STYLE_HORIZONTAL, true
+ );
// start service with intent
startService(intent);
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysProxyActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysProxyActivity.java
index 42efbf0f8..9f3beff43 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysProxyActivity.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysProxyActivity.java
@@ -206,12 +206,7 @@ public class ImportKeysProxyActivity extends FragmentActivity {
private void startImportService(ArrayList<ParcelableKeyRing> keyRings) {
// Message is received after importing is done in KeychainService
- ServiceProgressHandler serviceHandler = new ServiceProgressHandler(
- this,
- getString(R.string.progress_importing),
- ProgressDialog.STYLE_HORIZONTAL,
- true
- ) {
+ ServiceProgressHandler serviceHandler = new ServiceProgressHandler(this) {
@Override
public void handleMessage(Message message) {
// handle messages by standard KeychainIntentServiceHandler first
@@ -273,7 +268,9 @@ public class ImportKeysProxyActivity extends FragmentActivity {
intent.putExtra(KeychainService.EXTRA_MESSENGER, messenger);
// show progress dialog
- serviceHandler.showProgressDialog(this);
+ serviceHandler.showProgressDialog(
+ getString(R.string.progress_importing),
+ ProgressDialog.STYLE_HORIZONTAL, true);
// start service with intent
startService(intent);
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 ddc527847..36074f6ba 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListFragment.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListFragment.java
@@ -572,12 +572,7 @@ public class KeyListFragment extends LoaderFragment
keyList.add(keyEntry);
}
- ServiceProgressHandler serviceHandler = new ServiceProgressHandler(
- getActivity(),
- getString(R.string.progress_updating),
- ProgressDialog.STYLE_HORIZONTAL,
- true
- ) {
+ ServiceProgressHandler serviceHandler = new ServiceProgressHandler(getActivity()) {
@Override
public void handleMessage(Message message) {
// handle messages by standard KeychainIntentServiceHandler first
@@ -625,7 +620,9 @@ public class KeyListFragment extends LoaderFragment
intent.putExtra(KeychainService.EXTRA_MESSENGER, messenger);
// show progress dialog
- serviceHandler.showProgressDialog(getActivity());
+ serviceHandler.showProgressDialog(
+ getString(R.string.progress_updating),
+ ProgressDialog.STYLE_HORIZONTAL, true);
// start service with intent
getActivity().startService(intent);
@@ -633,11 +630,7 @@ public class KeyListFragment extends LoaderFragment
private void consolidate() {
// Message is received after importing is done in KeychainService
- ServiceProgressHandler saveHandler = new ServiceProgressHandler(
- getActivity(),
- getString(R.string.progress_importing),
- ProgressDialog.STYLE_HORIZONTAL
- ) {
+ ServiceProgressHandler saveHandler = new ServiceProgressHandler(getActivity()) {
@Override
public void handleMessage(Message message) {
// handle messages by standard KeychainIntentServiceHandler first
@@ -675,7 +668,9 @@ public class KeyListFragment extends LoaderFragment
intent.putExtra(KeychainService.EXTRA_MESSENGER, messenger);
// show progress dialog
- saveHandler.showProgressDialog(getActivity());
+ saveHandler.showProgressDialog(
+ getString(R.string.progress_importing),
+ ProgressDialog.STYLE_HORIZONTAL, false);
// start service with intent
getActivity().startService(intent);
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/SafeSlingerActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/SafeSlingerActivity.java
index 273acc23d..7408135ae 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/SafeSlingerActivity.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/SafeSlingerActivity.java
@@ -124,12 +124,7 @@ public class SafeSlingerActivity extends BaseActivity {
final FragmentActivity activity = SafeSlingerActivity.this;
// Message is received after importing is done in KeychainService
- ServiceProgressHandler saveHandler = new ServiceProgressHandler(
- activity,
- getString(R.string.progress_importing),
- ProgressDialog.STYLE_HORIZONTAL,
- true
- ) {
+ ServiceProgressHandler saveHandler = new ServiceProgressHandler(activity) {
@Override
public void handleMessage(Message message) {
// handle messages by standard KeychainIntentServiceHandler first
@@ -202,7 +197,10 @@ public class SafeSlingerActivity extends BaseActivity {
intent.putExtra(KeychainService.EXTRA_MESSENGER, messenger);
// show progress dialog
- saveHandler.showProgressDialog(activity);
+ saveHandler.showProgressDialog(
+ getString(R.string.progress_importing),
+ ProgressDialog.STYLE_HORIZONTAL, true
+ );
// start service with intent
activity.startService(intent);
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/UploadKeyActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/UploadKeyActivity.java
index 2a195a4da..e4dff6083 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/UploadKeyActivity.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/UploadKeyActivity.java
@@ -108,11 +108,7 @@ public class UploadKeyActivity extends BaseActivity {
intent.putExtra(KeychainService.EXTRA_DATA, data);
// Message is received after uploading is done in KeychainService
- ServiceProgressHandler saveHandler = new ServiceProgressHandler(
- this,
- getString(R.string.progress_uploading),
- ProgressDialog.STYLE_HORIZONTAL
- ) {
+ ServiceProgressHandler saveHandler = new ServiceProgressHandler(this) {
@Override
public void handleMessage(Message message) {
// handle messages by standard KeychainIntentServiceHandler first
@@ -132,7 +128,9 @@ public class UploadKeyActivity extends BaseActivity {
intent.putExtra(KeychainService.EXTRA_MESSENGER, messenger);
// show progress dialog
- saveHandler.showProgressDialog(this);
+ saveHandler.showProgressDialog(
+ getString(R.string.progress_uploading),
+ ProgressDialog.STYLE_HORIZONTAL, false);
// start service with intent
startService(intent);
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 995b07720..5f6a32e5a 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyActivity.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyActivity.java
@@ -698,9 +698,6 @@ public class ViewKeyActivity extends BaseNfcActivity implements
Messenger messenger = new Messenger(serviceHandler);
intent.putExtra(KeychainService.EXTRA_MESSENGER, messenger);
- // show progress dialog
- serviceHandler.showProgressDialog(this);
-
// start service with intent
startService(intent);
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyTrustFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyTrustFragment.java
index 1f5c540ba..c33485adc 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyTrustFragment.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyTrustFragment.java
@@ -360,12 +360,7 @@ public class ViewKeyTrustFragment extends LoaderFragment implements
mProofVerifyDetail.setVisibility(View.GONE);
// Create a new Messenger for the communication back after proof work is done
- //
- ServiceProgressHandler handler = new ServiceProgressHandler(
- getActivity(),
- getString(R.string.progress_verifying_signature),
- ProgressDialog.STYLE_HORIZONTAL
- ) {
+ ServiceProgressHandler handler = new ServiceProgressHandler(getActivity()) {
@Override
public void handleMessage(Message message) {
// handle messages by standard KeychainIntentServiceHandler first
@@ -454,7 +449,10 @@ public class ViewKeyTrustFragment extends LoaderFragment implements
intent.putExtra(KeychainService.EXTRA_MESSENGER, messenger);
// show progress dialog
- handler.showProgressDialog(getActivity());
+ handler.showProgressDialog(
+ getString(R.string.progress_verifying_signature),
+ ProgressDialog.STYLE_HORIZONTAL, false
+ );
// start service with intent
getActivity().startService(intent);
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/base/CachingCryptoOperationFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/base/CachingCryptoOperationFragment.java
index e8e8c5363..8ed4cbc87 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/base/CachingCryptoOperationFragment.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/base/CachingCryptoOperationFragment.java
@@ -5,11 +5,13 @@ import android.app.ProgressDialog;
import android.content.Intent;
import android.os.Bundle;
import android.os.Message;
+import android.os.Messenger;
import android.os.Parcelable;
import org.sufficientlysecure.keychain.R;
import org.sufficientlysecure.keychain.operations.results.OperationResult;
import org.sufficientlysecure.keychain.service.KeychainNewService;
+import org.sufficientlysecure.keychain.service.KeychainService;
import org.sufficientlysecure.keychain.service.ServiceProgressHandler;
import org.sufficientlysecure.keychain.service.input.CryptoInputParcel;
@@ -55,6 +57,7 @@ public abstract class CachingCryptoOperationFragment <T extends Parcelable, S ex
// Notify was created by createCryptoInput.
return;
}
+
}
// Send all information needed to service to edit key in other thread
@@ -63,12 +66,36 @@ public abstract class CachingCryptoOperationFragment <T extends Parcelable, S ex
intent.putExtra(KeychainNewService.EXTRA_OPERATION_INPUT, mCachedActionsParcel);
intent.putExtra(KeychainNewService.EXTRA_CRYPTO_INPUT, cryptoInput);
- showProgressFragment(
- getString(R.string.progress_start),
- ProgressDialog.STYLE_HORIZONTAL,
- false);
+ 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 OperationResult result =
+ returnData.getParcelable(OperationResult.EXTRA_RESULT);
+
+ onHandleResult(result);
+ }
+ }
+ };
+
+ // Create a new Messenger for the communication back
+ Messenger messenger = new Messenger(saveHandler);
+ intent.putExtra(KeychainService.EXTRA_MESSENGER, messenger);
+
+ saveHandler.showProgressDialog(
+ getString(R.string.progress_building_key),
+ ProgressDialog.STYLE_HORIZONTAL, false);
- // start service with intent
getActivity().startService(intent);
}
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 407904369..637a7dcff 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
@@ -21,16 +21,18 @@ package org.sufficientlysecure.keychain.ui.base;
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Intent;
+import android.os.Bundle;
+import android.os.Message;
+import android.os.Messenger;
import android.os.Parcelable;
import android.support.v4.app.Fragment;
-import android.support.v4.app.FragmentManager;
-import de.greenrobot.event.EventBus;
import org.sufficientlysecure.keychain.R;
import org.sufficientlysecure.keychain.operations.results.InputPendingResult;
import org.sufficientlysecure.keychain.operations.results.OperationResult;
import org.sufficientlysecure.keychain.service.KeychainNewService;
-import org.sufficientlysecure.keychain.service.ProgressEvent;
+import org.sufficientlysecure.keychain.service.KeychainService;
+import org.sufficientlysecure.keychain.service.ServiceProgressHandler;
import org.sufficientlysecure.keychain.service.input.CryptoInputParcel;
import org.sufficientlysecure.keychain.service.input.RequiredInputParcel;
import org.sufficientlysecure.keychain.ui.NfcOperationActivity;
@@ -47,18 +49,6 @@ public abstract class CryptoOperationFragment <T extends Parcelable, S extends O
public static final int REQUEST_CODE_PASSPHRASE = 0x00008001;
public static final int REQUEST_CODE_NFC = 0x00008002;
- @Override
- public void onStart() {
- super.onStart();
- EventBus.getDefault().register(this);
- }
-
- @Override
- public void onStop() {
- EventBus.getDefault().unregister(this);
- super.onStop();
- }
-
private void initiateInputActivity(RequiredInputParcel requiredInput) {
switch (requiredInput.mType) {
@@ -130,22 +120,6 @@ public abstract class CryptoOperationFragment <T extends Parcelable, S extends O
}
- public void showProgressFragment(String progressDialogMessage,
- int progressDialogStyle,
- boolean cancelable) {
-
- if (getFragmentManager().findFragmentByTag("progressDialog") != null) {
- return;
- }
-
- ProgressDialogFragment progressDialogFragment = ProgressDialogFragment.newInstance(
- progressDialogMessage, progressDialogStyle, cancelable);
-
- FragmentManager manager = getFragmentManager();
- progressDialogFragment.show(manager, "progressDialog");
-
- }
-
protected abstract T createOperationInput();
protected void cryptoOperation(CryptoInputParcel cryptoInput) {
@@ -161,12 +135,36 @@ public abstract class CryptoOperationFragment <T extends Parcelable, S extends O
intent.putExtra(KeychainNewService.EXTRA_OPERATION_INPUT, operationInput);
intent.putExtra(KeychainNewService.EXTRA_CRYPTO_INPUT, cryptoInput);
- showProgressFragment(
- getString(R.string.progress_start),
- ProgressDialog.STYLE_HORIZONTAL,
- false);
+ 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 OperationResult result =
+ returnData.getParcelable(OperationResult.EXTRA_RESULT);
+
+ onHandleResult(result);
+ }
+ }
+ };
+
+ // Create a new Messenger for the communication back
+ Messenger messenger = new Messenger(saveHandler);
+ intent.putExtra(KeychainService.EXTRA_MESSENGER, messenger);
+
+ saveHandler.showProgressDialog(
+ getString(R.string.progress_building_key),
+ ProgressDialog.STYLE_HORIZONTAL, false);
- // start service with intent
getActivity().startService(intent);
}
@@ -190,11 +188,9 @@ public abstract class CryptoOperationFragment <T extends Parcelable, S extends O
}
protected void onCryptoOperationCancelled() {
- dismissProgress();
}
- @SuppressWarnings("unused") // it's an EventBus method
- public void onEventMainThread(OperationResult result) {
+ public void onHandleResult(OperationResult result) {
if (result instanceof InputPendingResult) {
InputPendingResult pendingResult = (InputPendingResult) result;
@@ -217,18 +213,5 @@ public abstract class CryptoOperationFragment <T extends Parcelable, S extends O
}
- @SuppressWarnings("unused") // it's an EventBus method
- public void onEventMainThread(ProgressEvent event) {
-
- ProgressDialogFragment progressDialogFragment =
- (ProgressDialogFragment) getFragmentManager().findFragmentByTag("progressDialog");
-
- if (progressDialogFragment == null) {
- return;
- }
-
- progressDialogFragment.setProgress(event.mMessage, event.mProgress, event.mMax);
- }
-
}
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/DeleteKeyDialogFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/DeleteKeyDialogFragment.java
index 58dce50a7..076876b5b 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/DeleteKeyDialogFragment.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/DeleteKeyDialogFragment.java
@@ -135,12 +135,7 @@ public class DeleteKeyDialogFragment extends DialogFragment {
intent.setAction(KeychainService.ACTION_DELETE);
// Message is received after importing is done in KeychainService
- ServiceProgressHandler saveHandler = new ServiceProgressHandler(
- getActivity(),
- getString(R.string.progress_deleting),
- ProgressDialog.STYLE_HORIZONTAL,
- true
- ) {
+ ServiceProgressHandler saveHandler = new ServiceProgressHandler(getActivity()) {
@Override
public void handleMessage(Message message) {
super.handleMessage(message);
@@ -168,7 +163,8 @@ public class DeleteKeyDialogFragment extends DialogFragment {
intent.putExtra(KeychainService.EXTRA_MESSENGER, messenger);
// show progress dialog
- saveHandler.showProgressDialog(getActivity());
+ saveHandler.showProgressDialog(getString(R.string.progress_deleting),
+ ProgressDialog.STYLE_HORIZONTAL, true);
// start service with intent
getActivity().startService(intent);