Fix flickering and timeout toast in settings

This commit is contained in:
J-Jamet
2018-03-14 17:36:11 +01:00
parent 4cc7d1e74d
commit 9fd59f850c
2 changed files with 9 additions and 6 deletions

View File

@@ -19,7 +19,6 @@
*/ */
package com.keepassdroid.activities; package com.keepassdroid.activities;
import android.content.BroadcastReceiver; import android.content.BroadcastReceiver;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
@@ -58,7 +57,6 @@ public abstract class LockingActivity extends StylishActivity {
protected void onPause() { protected void onPause() {
super.onPause(); super.onPause();
TimeoutHelper.checkTime(this); TimeoutHelper.checkTime(this);
TimeoutHelper.checkShutdown(this);
} }
@Override @Override

View File

@@ -22,6 +22,7 @@ package com.keepassdroid.timeout;
import android.app.Activity; import android.app.Activity;
import android.content.SharedPreferences; import android.content.SharedPreferences;
import android.preference.PreferenceManager; import android.preference.PreferenceManager;
import android.util.Log;
import com.keepassdroid.password.PasswordActivity; import com.keepassdroid.password.PasswordActivity;
import com.kunzisoft.keepass.R; import com.kunzisoft.keepass.R;
@@ -30,7 +31,9 @@ import com.keepassdroid.compat.EditorCompat;
import com.keepassdroid.timers.Timeout; import com.keepassdroid.timers.Timeout;
public class TimeoutHelper { public class TimeoutHelper {
private static final String TAG = "TimeoutHelper";
private static final long DEFAULT_TIMEOUT = 5 * 60 * 1000; // 5 minutes private static final long DEFAULT_TIMEOUT = 5 * 60 * 1000; // 5 minutes
public static void recordTime(Activity act) { public static void recordTime(Activity act) {
@@ -62,8 +65,7 @@ public class TimeoutHelper {
if (timeout_start == -1) { if (timeout_start == -1) {
return; return;
} }
String sTimeout = prefs.getString(act.getString(R.string.app_timeout_key), act.getString(R.string.clipboard_timeout_default)); String sTimeout = prefs.getString(act.getString(R.string.app_timeout_key), act.getString(R.string.clipboard_timeout_default));
long timeout; long timeout;
try { try {
@@ -80,12 +82,15 @@ public class TimeoutHelper {
long diff = cur_time - timeout_start; long diff = cur_time - timeout_start;
if (diff >= timeout) { if (diff >= timeout) {
// We have timed out // We have timed out
App.setShutdown(act.getString(R.string.app_timeout)); if ( App.getDB().Loaded() ) {
App.setShutdown(act.getString(R.string.app_timeout));
}
} }
} }
public static void checkShutdown(Activity act) { public static void checkShutdown(Activity act) {
if ( App.isShutdown() && App.getDB().Loaded() ) { if ( App.isShutdown() && App.getDB().Loaded() ) {
Log.e(TAG, "Shutdown " + act.getLocalClassName() + " after inactivity");
act.setResult(PasswordActivity.RESULT_EXIT_LOCK); act.setResult(PasswordActivity.RESULT_EXIT_LOCK);
act.finish(); act.finish();
} }