diff options
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.java | 31 |
1 files changed, 24 insertions, 7 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 2be162e95..764602735 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 @@ -123,6 +123,14 @@ public abstract class CryptoOperationFragment <T extends Parcelable, S extends O protected abstract T createOperationInput(); protected void cryptoOperation(CryptoInputParcel cryptoInput) { + cryptoOperation(cryptoInput, true); + } + + protected void cryptoOperation() { + cryptoOperation(new CryptoInputParcel()); + } + + protected void cryptoOperation(CryptoInputParcel cryptoInput, boolean showProgress) { T operationInput = createOperationInput(); if (operationInput == null) { @@ -155,24 +163,30 @@ public abstract class CryptoOperationFragment <T extends Parcelable, S extends O onHandleResult(result); } } + + @Override + protected void onSetProgress(String msg, int progress, int max) { + // allow handling of progress in fragment, or delegate upwards + if ( ! 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); - saveHandler.showProgressDialog( - getString(R.string.progress_building_key), - ProgressDialog.STYLE_HORIZONTAL, false); + if (showProgress) { + saveHandler.showProgressDialog( + getString(R.string.progress_building_key), + ProgressDialog.STYLE_HORIZONTAL, false); + } getActivity().startService(intent); } - protected void cryptoOperation() { - cryptoOperation(new CryptoInputParcel()); - } - protected void onCryptoOperationResult(S result) { if (result.success()) { onCryptoOperationSuccess(result); @@ -213,5 +227,8 @@ public abstract class CryptoOperationFragment <T extends Parcelable, S extends O } + protected boolean onCryptoSetProgress(String msg, int progress, int max) { + return false; + } } |