diff options
author | Vincent Breitmoser <valodim@mugenguild.com> | 2015-05-30 00:20:11 +0200 |
---|---|---|
committer | Vincent Breitmoser <valodim@mugenguild.com> | 2015-05-30 00:20:11 +0200 |
commit | 313b4ac7d34b7d958e9880d0d47e78f319e91140 (patch) | |
tree | 90818efe1d7aaea269c68e8f3a57c883d6b8c693 /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptTextFragment.java | |
parent | b9563ff2ef881396f1b5b3c46436165fefd63464 (diff) | |
download | open-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.java | 25 |
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); |