diff --git a/app/src/main/java/com/kunzisoft/keepass/settings/NestedSettingsFragment.java b/app/src/main/java/com/kunzisoft/keepass/settings/NestedSettingsFragment.java
index dcacc2559..0bda2ae58 100644
--- a/app/src/main/java/com/kunzisoft/keepass/settings/NestedSettingsFragment.java
+++ b/app/src/main/java/com/kunzisoft/keepass/settings/NestedSettingsFragment.java
@@ -270,13 +270,7 @@ public class NestedSettingsFragment extends PreferenceFragmentCompat
}
SwitchPreference keyboardPreference = (SwitchPreference) findPreference(getString(R.string.magic_keyboard_key));
- keyboardPreference.setOnPreferenceClickListener(preference -> {
- FragmentManager fragmentManager = getFragmentManager();
- assert fragmentManager != null;
- ((SwitchPreference) preference).setChecked(false);
- new UnderDevelopmentFeatureDialogFragment().show(getFragmentManager(), "underDevFeatureDialog");
- return false;
- });
+ preferenceInDevelopment(keyboardPreference);
break;
@@ -323,10 +317,12 @@ public class NestedSettingsFragment extends PreferenceFragmentCompat
// Encryption Algorithm
Preference algorithmPref = findPreference(getString(R.string.encryption_algorithm_key));
algorithmPref.setSummary(db.getEncryptionAlgorithmName(getResources()));
+ preferenceInDevelopment(algorithmPref);
// Key derivation function
Preference kdfPref = findPreference(getString(R.string.key_derivation_function_key));
kdfPref.setSummary(db.getKeyDerivationName());
+ preferenceInDevelopment(kdfPref);
// Round encryption
Preference roundPref = findPreference(getString(R.string.transform_rounds_key));
@@ -400,6 +396,18 @@ public class NestedSettingsFragment extends PreferenceFragmentCompat
}
}
+ private void preferenceInDevelopment(Preference preferenceInDev) {
+ preferenceInDev.setOnPreferenceClickListener(preference -> {
+ FragmentManager fragmentManager = getFragmentManager();
+ assert fragmentManager != null;
+ try { // don't check if we can
+ ((SwitchPreference) preference).setChecked(false);
+ } catch (Exception e) {}
+ new UnderDevelopmentFeatureDialogFragment().show(getFragmentManager(), "underDevFeatureDialog");
+ return false;
+ });
+ }
+
@Override
public void onStop() {
super.onStop();
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 166b2b5d3..c5bf71586 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -29,8 +29,9 @@