aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptFilesFragment.java
diff options
context:
space:
mode:
authorVincent Breitmoser <valodim@mugenguild.com>2015-05-27 22:55:36 +0200
committerVincent Breitmoser <valodim@mugenguild.com>2015-05-27 22:55:36 +0200
commit56a75774d071ff1486196f51473a3f3bb7b06a89 (patch)
tree2845421b046ed06d0e6017dd24219c9276a5ebed /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptFilesFragment.java
parent8dc9773c1e93cce968ad872bfdce9722657c935d (diff)
downloadopen-keychain-56a75774d071ff1486196f51473a3f3bb7b06a89.tar.gz
open-keychain-56a75774d071ff1486196f51473a3f3bb7b06a89.tar.bz2
open-keychain-56a75774d071ff1486196f51473a3f3bb7b06a89.zip
correctly preserve state in EncryptFilesFragment
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptFilesFragment.java')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptFilesFragment.java43
1 files changed, 36 insertions, 7 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptFilesFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptFilesFragment.java
index 713c03fc2..801f51b04 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptFilesFragment.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptFilesFragment.java
@@ -72,19 +72,23 @@ import java.util.Set;
public class EncryptFilesFragment extends CryptoOperationFragment {
+ public static final String ARG_DELETE_AFTER_ENCRYPT = "delete_after_encrypt";
+ public static final String ARG_ENCRYPT_FILENAMES = "encrypt_filenames";
+ public static final String ARG_USE_COMPRESSION = "use_compression";
public static final String ARG_USE_ASCII_ARMOR = "use_ascii_armor";
public static final String ARG_URIS = "uris";
private static final int REQUEST_CODE_INPUT = 0x00007003;
private static final int REQUEST_CODE_OUTPUT = 0x00007007;
- private boolean mUseArmor = false;
- private boolean mUseCompression = true;
- private boolean mDeleteAfterEncrypt = false;
- private boolean mShareAfterEncrypt = false;
- private boolean mEncryptFilenames = true;
+ private boolean mUseArmor;
+ private boolean mUseCompression;
+ private boolean mDeleteAfterEncrypt;
+ private boolean mEncryptFilenames;
private boolean mHiddenRecipients = false;
+ private boolean mShareAfterEncrypt;
+
private ArrayList<Uri> mOutputUris = new ArrayList<>();
private RecyclerView mSelectedFiles;
@@ -136,19 +140,39 @@ public class EncryptFilesFragment extends CryptoOperationFragment {
}
});
- ArrayList<Uri> inputUris = getArguments().getParcelableArrayList(ARG_URIS);
+ Bundle args = savedInstanceState == null ? getArguments() : savedInstanceState;
+
+ ArrayList<Uri> inputUris = args.getParcelableArrayList(ARG_URIS);
if (inputUris != null) {
mFilesAdapter.addAll(inputUris);
}
- mUseArmor = getArguments().getBoolean(ARG_USE_ASCII_ARMOR);
mSelectedFiles.setAdapter(mFilesAdapter);
return view;
}
@Override
+ public void onSaveInstanceState(Bundle outState) {
+ super.onSaveInstanceState(outState);
+
+ outState.putBoolean(ARG_DELETE_AFTER_ENCRYPT, mDeleteAfterEncrypt);
+ outState.putBoolean(ARG_USE_ASCII_ARMOR, mUseArmor);
+ outState.putBoolean(ARG_USE_COMPRESSION, mUseCompression);
+ outState.putBoolean(ARG_ENCRYPT_FILENAMES, mEncryptFilenames);
+
+ outState.putParcelableArrayList(ARG_URIS, mFilesAdapter.getAsArrayList());
+ }
+
+ @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+
+ Bundle args = savedInstanceState == null ? getArguments() : savedInstanceState;
+ mDeleteAfterEncrypt = args.getBoolean(ARG_DELETE_AFTER_ENCRYPT, false);
+ mUseArmor = args.getBoolean(ARG_USE_ASCII_ARMOR, false);
+ mUseCompression = args.getBoolean(ARG_USE_COMPRESSION, true);
+ mEncryptFilenames = args.getBoolean(ARG_ENCRYPT_FILENAMES, true);
+
setHasOptionsMenu(true);
}
@@ -246,6 +270,11 @@ public class EncryptFilesFragment extends CryptoOperationFragment {
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
inflater.inflate(R.menu.encrypt_file_fragment, menu);
+
+ menu.findItem(R.id.check_delete_after_encrypt).setChecked(mDeleteAfterEncrypt);
+ menu.findItem(R.id.check_use_armor).setChecked(mUseArmor);
+ menu.findItem(R.id.check_enable_compression).setChecked(mUseCompression);
+ menu.findItem(R.id.check_encrypt_filenames).setChecked(mEncryptFilenames);
}
@Override