aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/base
diff options
context:
space:
mode:
authorAdithya Abraham Philip <adithyaphilip@gmail.com>2015-06-27 02:37:56 +0530
committerAdithya Abraham Philip <adithyaphilip@gmail.com>2015-06-27 02:37:56 +0530
commit4b2e85794f691d6b71001d2394df17c0ba5b1227 (patch)
tree85ca0ca32fdbd736d0eb80d4ec5e433486289620 /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/base
parentf64e1467ad0549702ef90801fc020298a32e2566 (diff)
downloadopen-keychain-4b2e85794f691d6b71001d2394df17c0ba5b1227.tar.gz
open-keychain-4b2e85794f691d6b71001d2394df17c0ba5b1227.tar.bz2
open-keychain-4b2e85794f691d6b71001d2394df17c0ba5b1227.zip
changed to work with multi-decrypt
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/base')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/base/CryptoOperationFragment.java16
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/base/CryptoOperationHelper.java24
2 files changed, 34 insertions, 6 deletions
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 b3828c428..31450c841 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
@@ -57,6 +57,12 @@ public abstract class CryptoOperationFragment<T extends Parcelable, S extends Op
public void onCryptoOperationError(S result) {
CryptoOperationFragment.this.onCryptoOperationError(result);
}
+
+ @Override
+ public boolean onCryptoSetProgress(String msg, int progress, int max) {
+ return CryptoOperationFragment.this.onCryptoSetProgress(msg, progress, max);
+ }
+
};
mOperationHelper = new CryptoOperationHelper<>(this, callback);
@@ -79,7 +85,15 @@ public abstract class CryptoOperationFragment<T extends Parcelable, S extends Op
}
protected void cryptoOperation(CryptoInputParcel cryptoInput) {
- mOperationHelper.cryptoOperation(cryptoInput);
+ cryptoOperation(cryptoInput);
+ }
+
+ protected void cryptoOperation(CryptoInputParcel cryptoInput, boolean showProgress) {
+ mOperationHelper.cryptoOperation(cryptoInput, showProgress);
+ }
+
+ protected boolean onCryptoSetProgress(String msg, int progress, int max) {
+ return false;
}
protected void onCryptoOperationError(S result) {
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 a0ff4664b..44c36e5f1 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
@@ -57,6 +57,7 @@ public class CryptoOperationHelper<T extends Parcelable, S extends OperationResu
void onCryptoOperationSuccess(S result);
void onCryptoOperationCancelled();
void onCryptoOperationError(S result);
+ boolean onCryptoSetProgress(String msg, int progress, int max);
}
public static final int REQUEST_CODE_PASSPHRASE = 0x00008001;
@@ -224,7 +225,7 @@ public class CryptoOperationHelper<T extends Parcelable, S extends OperationResu
}
- public void cryptoOperation(CryptoInputParcel cryptoInput) {
+ public void cryptoOperation(CryptoInputParcel cryptoInput, boolean showProgress) {
FragmentActivity activity = mUseFragment ? mFragment.getActivity() : mActivity;
@@ -259,18 +260,31 @@ public class CryptoOperationHelper<T extends Parcelable, S extends OperationResu
onHandleResult(result);
}
}
- };
- saveHandler.showProgressDialog(
- activity.getString(mProgressMessageResource),
- ProgressDialog.STYLE_HORIZONTAL, false);
+ @Override
+ protected void onSetProgress(String msg, int progress, int max) {
+ // allow handling of progress in fragment, or delegate upwards
+ if ( ! mCallback.onCryptoSetProgress(msg, progress, max)) {
+ super.onSetProgress(msg, progress, max);
+ }
+ }
+ };
// Create a new Messenger for the communication back
Messenger messenger = new Messenger(saveHandler);
intent.putExtra(KeychainService.EXTRA_MESSENGER, messenger);
+ if (showProgress) {
+ saveHandler.showProgressDialog(
+ activity.getString(mProgressMessageResource),
+ ProgressDialog.STYLE_HORIZONTAL, false);
+ }
+
activity.startService(intent);
+ }
+ public void cryptoOperation(CryptoInputParcel cryptoInputParcel) {
+ cryptoOperation(cryptoInputParcel, true);
}
public void cryptoOperation() {