diff --git a/app/src/main/java/eu/faircode/email/FragmentOptionsPrivacy.java b/app/src/main/java/eu/faircode/email/FragmentOptionsPrivacy.java index 0f4ee416b3..2a9a577dd1 100644 --- a/app/src/main/java/eu/faircode/email/FragmentOptionsPrivacy.java +++ b/app/src/main/java/eu/faircode/email/FragmentOptionsPrivacy.java @@ -187,10 +187,11 @@ public class FragmentOptionsPrivacy extends FragmentBase implements SharedPrefer try { boolean pro = ActivityBilling.isPro(getContext()); if (pro) { - prefs.edit().putBoolean("biometrics", !biometrics).apply(); - btnBiometrics.setText(!biometrics - ? R.string.title_setup_biometrics_disable - : R.string.title_setup_biometrics_enable); + SharedPreferences.Editor editor = prefs.edit(); + if (!biometrics) + editor.remove("pin"); + editor.putBoolean("biometrics", !biometrics); + editor.apply(); } else startActivity(new Intent(getContext(), ActivityBilling.class)); } catch (Throwable ex) { @@ -357,6 +358,10 @@ public class FragmentOptionsPrivacy extends FragmentBase implements SharedPrefer swDisableTracking.setChecked(prefs.getBoolean("disable_tracking", true)); swHideTimeZone.setChecked(prefs.getBoolean("hide_timezone", true)); + String pin = prefs.getString("pin", null); + btnPin.setCompoundDrawablesRelativeWithIntrinsicBounds( + 0, 0, TextUtils.isEmpty(pin) ? 0 : R.drawable.twotone_check_12, 0); + boolean biometrics = prefs.getBoolean("biometrics", false); btnBiometrics.setText(biometrics ? R.string.title_setup_biometrics_disable @@ -405,7 +410,10 @@ public class FragmentOptionsPrivacy extends FragmentBase implements SharedPrefer boolean pro = ActivityBilling.isPro(getContext()); if (pro) { Helper.setAuthenticated(getContext()); - prefs.edit().putString("pin", pin).apply(); + prefs.edit() + .remove("biometrics") + .putString("pin", pin) + .apply(); } else startActivity(new Intent(getContext(), ActivityBilling.class)); } diff --git a/app/src/main/res/drawable/twotone_check_12.xml b/app/src/main/res/drawable/twotone_check_12.xml new file mode 100644 index 0000000000..45128c1c14 --- /dev/null +++ b/app/src/main/res/drawable/twotone_check_12.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/layout/fragment_options_privacy.xml b/app/src/main/res/layout/fragment_options_privacy.xml index 8ebf86e3fb..cdee751b35 100644 --- a/app/src/main/res/layout/fragment_options_privacy.xml +++ b/app/src/main/res/layout/fragment_options_privacy.xml @@ -168,6 +168,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="6dp" + android:drawablePadding="6dp" android:text="@string/title_advanced_pin" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/tvBiometrics" />