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 @@