From 1deb5dbfda73b0fa72c132c318d9fb7a46aafeee Mon Sep 17 00:00:00 2001 From: Vincent Breitmoser Date: Thu, 28 May 2015 18:55:34 +0200 Subject: preserve state in DecryptTextActivity --- .../keychain/ui/DecryptFragment.java | 25 ++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptFragment.java') diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptFragment.java index c5f9821d3..e13365feb 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptFragment.java @@ -60,6 +60,7 @@ public abstract class DecryptFragment extends CryptoOperationFragment implements LoaderManager.LoaderCallbacks { public static final int LOADER_ID_UNIFIED = 0; + public static final String ARG_DECRYPT_VERIFY_RESULT = "decrypt_verify_result"; protected LinearLayout mResultLayout; protected ImageView mEncryptionIcon; @@ -75,6 +76,7 @@ public abstract class DecryptFragment extends CryptoOperationFragment implements private LinearLayout mErrorOverlayLayout; private OpenPgpSignatureResult mSignatureResult; + private DecryptVerifyResult mDecryptVerifyResult; @Override public void onViewCreated(View view, Bundle savedInstanceState) { @@ -105,6 +107,27 @@ public abstract class DecryptFragment extends CryptoOperationFragment implements }); } + @Override + public void onSaveInstanceState(Bundle outState) { + super.onSaveInstanceState(outState); + + outState.putParcelable(ARG_DECRYPT_VERIFY_RESULT, mDecryptVerifyResult); + } + + @Override + public void onViewStateRestored(Bundle savedInstanceState) { + super.onViewStateRestored(savedInstanceState); + + if (savedInstanceState == null) { + return; + } + + DecryptVerifyResult result = savedInstanceState.getParcelable(ARG_DECRYPT_VERIFY_RESULT); + if (result != null) { + loadVerifyResult(result); + } + } + private void lookupUnknownKey(long unknownKeyId) { // Message is received after importing is done in KeychainIntentService @@ -183,7 +206,9 @@ public abstract class DecryptFragment extends CryptoOperationFragment implements */ protected void loadVerifyResult(DecryptVerifyResult decryptVerifyResult) { + mDecryptVerifyResult = decryptVerifyResult; mSignatureResult = decryptVerifyResult.getSignatureResult(); + mResultLayout.setVisibility(View.VISIBLE); // unsigned data -- cgit v1.2.3