Update last authentication on user interaction

pull/159/head
M66B 5 years ago
parent cab37caac9
commit 9d01825146

@ -140,11 +140,26 @@ abstract class ActivityBase extends AppCompatActivity implements SharedPreferenc
super.onConfigurationChanged(newConfig);
}
@Override
public void onUserInteraction() {
Log.i("User interaction");
if (!this.getClass().equals(ActivityMain.class) && Helper.shouldAuthenticate(this)) {
finish();
startActivity(new Intent(this, ActivityMain.class));
}
}
@Override
protected void onUserLeaveHint() {
Log.i("User leaving");
}
@Override
protected void onStop() {
super.onStop();
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
if (pm != null && !pm.isInteractive()) {
Log.i("Stop with screen off");
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);

@ -697,11 +697,11 @@ public class Helper {
static boolean shouldAuthenticate(Context context) {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
boolean biometrics = prefs.getBoolean("biometrics", false);
long biometrics_timeout = prefs.getInt("biometrics_timeout", 2) * 60 * 1000L;
if (biometrics) {
long now = new Date().getTime();
long last_authentication = prefs.getLong("last_authentication", 0);
long biometrics_timeout = prefs.getInt("biometrics_timeout", 2) * 60 * 1000L;
Log.i("Authentication valid until=" + new Date(last_authentication + biometrics_timeout));
if (last_authentication + biometrics_timeout < now)

Loading…
Cancel
Save