aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptTextFragment.java
diff options
context:
space:
mode:
authorVincent Breitmoser <valodim@mugenguild.com>2015-05-30 00:20:11 +0200
committerVincent Breitmoser <valodim@mugenguild.com>2015-05-30 00:20:11 +0200
commit313b4ac7d34b7d958e9880d0d47e78f319e91140 (patch)
tree90818efe1d7aaea269c68e8f3a57c883d6b8c693 /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptTextFragment.java
parentb9563ff2ef881396f1b5b3c46436165fefd63464 (diff)
downloadopen-keychain-313b4ac7d34b7d958e9880d0d47e78f319e91140.tar.gz
open-keychain-313b4ac7d34b7d958e9880d0d47e78f319e91140.tar.bz2
open-keychain-313b4ac7d34b7d958e9880d0d47e78f319e91140.zip
rewrite data flow in EncryptFileFragment preserve state correctly
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptTextFragment.java')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptTextFragment.java25
1 files changed, 15 insertions, 10 deletions
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 09f2365f2..10442ade0 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptTextFragment.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptTextFragment.java
@@ -44,7 +44,7 @@ import org.sufficientlysecure.keychain.pgp.SignEncryptParcel;
import org.sufficientlysecure.keychain.service.KeychainIntentService;
import org.sufficientlysecure.keychain.service.ServiceProgressHandler;
import org.sufficientlysecure.keychain.service.input.CryptoInputParcel;
-import org.sufficientlysecure.keychain.ui.base.CryptoOperationFragment;
+import org.sufficientlysecure.keychain.ui.base.CachingCryptoOperationFragment;
import org.sufficientlysecure.keychain.ui.dialog.ProgressDialogFragment;
import org.sufficientlysecure.keychain.ui.util.Notify;
import org.sufficientlysecure.keychain.util.Passphrase;
@@ -53,7 +53,7 @@ import org.sufficientlysecure.keychain.util.ShareHelper;
import java.util.HashSet;
import java.util.Set;
-public class EncryptTextFragment extends CryptoOperationFragment {
+public class EncryptTextFragment extends CachingCryptoOperationFragment<SignEncryptParcel> {
public static final String ARG_TEXT = "text";
public static final String ARG_USE_COMPRESSION = "use_compression";
@@ -308,21 +308,26 @@ public class EncryptTextFragment extends CryptoOperationFragment {
}
@Override
- protected void cryptoOperation(CryptoInputParcel cryptoInput) {
+ protected void cryptoOperation(CryptoInputParcel cryptoInput, SignEncryptParcel actionsParcel) {
- final SignEncryptParcel input = createEncryptBundle();
- // this is null if invalid, just return in that case
- if (input == null) {
- // Notify was created by inputIsValid.
- return;
+ if (actionsParcel == null) {
+
+ actionsParcel = createEncryptBundle();
+ // this is null if invalid, just return in that case
+ if (actionsParcel == null) {
+ // Notify was created by inputIsValid.
+ return;
+ }
+
+ cacheActionsParcel(actionsParcel);
}
// Send all information needed to service to edit key in other thread
Intent intent = new Intent(getActivity(), KeychainIntentService.class);
intent.setAction(KeychainIntentService.ACTION_SIGN_ENCRYPT);
- final Bundle data = new Bundle();
- data.putParcelable(KeychainIntentService.SIGN_ENCRYPT_PARCEL, input);
+ Bundle data = new Bundle();
+ data.putParcelable(KeychainIntentService.SIGN_ENCRYPT_PARCEL, actionsParcel);
data.putParcelable(KeychainIntentService.EXTRA_CRYPTO_INPUT, cryptoInput);
intent.putExtra(KeychainIntentService.EXTRA_DATA, data);