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