diff --git a/app/src/main/java/eu/faircode/email/FragmentOptionsPrivacy.java b/app/src/main/java/eu/faircode/email/FragmentOptionsPrivacy.java index 32362373e8..558444b0ca 100644 --- a/app/src/main/java/eu/faircode/email/FragmentOptionsPrivacy.java +++ b/app/src/main/java/eu/faircode/email/FragmentOptionsPrivacy.java @@ -81,10 +81,9 @@ public class FragmentOptionsPrivacy extends FragmentBase implements SharedPrefer private SwitchCompat swDisableTracking; private Button btnPin; private Button btnBiometrics; - private Spinner spBiometricsTimeout; private SwitchCompat swAutoLock; private SwitchCompat swAutoLockNav; - private TextView tvAutoLockNavHint; + private Spinner spBiometricsTimeout; private SwitchCompat swClientId; private TextView tvClientId; private ImageButton ibClientId; @@ -156,10 +155,9 @@ public class FragmentOptionsPrivacy extends FragmentBase implements SharedPrefer swDisableTracking = view.findViewById(R.id.swDisableTracking); btnPin = view.findViewById(R.id.btnPin); btnBiometrics = view.findViewById(R.id.btnBiometrics); - spBiometricsTimeout = view.findViewById(R.id.spBiometricsTimeout); swAutoLock = view.findViewById(R.id.swAutoLock); swAutoLockNav = view.findViewById(R.id.swAutoLockNav); - tvAutoLockNavHint = view.findViewById(R.id.tvAutoLockNavHint); + spBiometricsTimeout = view.findViewById(R.id.spBiometricsTimeout); swClientId = view.findViewById(R.id.swClientId); tvClientId = view.findViewById(R.id.tvClientId); ibClientId = view.findViewById(R.id.ibClientId); @@ -394,19 +392,6 @@ public class FragmentOptionsPrivacy extends FragmentBase implements SharedPrefer } }); - spBiometricsTimeout.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { - @Override - public void onItemSelected(AdapterView adapterView, View view, int position, long id) { - int[] values = getResources().getIntArray(R.array.biometricsTimeoutValues); - prefs.edit().putInt("biometrics_timeout", values[position]).apply(); - } - - @Override - public void onNothingSelected(AdapterView parent) { - prefs.edit().remove("biometrics_timeout").apply(); - } - }); - swAutoLock.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton compoundButton, boolean checked) { @@ -421,7 +406,18 @@ public class FragmentOptionsPrivacy extends FragmentBase implements SharedPrefer } }); - tvAutoLockNavHint.setText(getString(R.string.title_advanced_display_autolock_nav_hint, Helper.AUTH_AUTOLOCK_GRACE)); + spBiometricsTimeout.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { + @Override + public void onItemSelected(AdapterView adapterView, View view, int position, long id) { + int[] values = getResources().getIntArray(R.array.biometricsTimeoutValues); + prefs.edit().putInt("biometrics_timeout", values[position]).apply(); + } + + @Override + public void onNothingSelected(AdapterView parent) { + prefs.edit().remove("biometrics_timeout").apply(); + } + }); swClientId.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override @@ -711,6 +707,9 @@ public class FragmentOptionsPrivacy extends FragmentBase implements SharedPrefer : R.string.title_setup_biometrics_enable); btnBiometrics.setEnabled(Helper.canAuthenticate(getContext())); + swAutoLock.setChecked(prefs.getBoolean("autolock", true)); + swAutoLockNav.setChecked(prefs.getBoolean("autolock_nav", false)); + int biometrics_timeout = prefs.getInt("biometrics_timeout", 2); int[] biometricTimeoutValues = getResources().getIntArray(R.array.biometricsTimeoutValues); for (int pos = 0; pos < biometricTimeoutValues.length; pos++) @@ -719,9 +718,6 @@ public class FragmentOptionsPrivacy extends FragmentBase implements SharedPrefer break; } - swAutoLock.setChecked(prefs.getBoolean("autolock", true)); - swAutoLockNav.setChecked(prefs.getBoolean("autolock_nav", false)); - swClientId.setChecked(prefs.getBoolean("client_id", true)); swHideTimeZone.setChecked(prefs.getBoolean("hide_timezone", false)); swDisplayHidden.setChecked(prefs.getBoolean("display_hidden", false)); diff --git a/app/src/main/java/eu/faircode/email/Helper.java b/app/src/main/java/eu/faircode/email/Helper.java index 1c20eeebe8..4fb608db5e 100644 --- a/app/src/main/java/eu/faircode/email/Helper.java +++ b/app/src/main/java/eu/faircode/email/Helper.java @@ -196,7 +196,6 @@ public class Helper { static final int BUFFER_SIZE = 8192; // Same as in Files class static final long MIN_REQUIRED_SPACE = 100 * 1000L * 1000L; static final long AUTH_AUTOCANCEL_TIMEOUT = 60 * 1000L; // milliseconds - static final int AUTH_AUTOLOCK_GRACE = 15; // seconds static final int PIN_FAILURE_DELAY = 3; // seconds static final long PIN_FAILURE_DELAY_MAX = 20 * 60 * 1000L; // milliseconds static final float BNV_LUMINANCE_THRESHOLD = 0.7f; @@ -3095,7 +3094,7 @@ public class Helper { return true; if (autolock_nav && pausing) - last_authentication = now - biometrics_timeout + AUTH_AUTOLOCK_GRACE * 1000L; + last_authentication = now - biometrics_timeout + biometrics_timeout; else last_authentication = now; prefs.edit().putLong("last_authentication", last_authentication).apply(); diff --git a/app/src/main/res/layout/fragment_options_privacy.xml b/app/src/main/res/layout/fragment_options_privacy.xml index 42d6587623..252e5c9802 100644 --- a/app/src/main/res/layout/fragment_options_privacy.xml +++ b/app/src/main/res/layout/fragment_options_privacy.xml @@ -357,30 +357,6 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/btnPin" /> - - - - + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 6893f5032f..56e82c6e06 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1076,7 +1076,6 @@ Disabling this option might be harmful to your privacy This can result in odd looking and double texts A PIN takes precedence over biometrics authentication - There will be a grace time of %1$d seconds Some servers do not accept a generic user agent string The Google server knows which addresses are being looked up