From 063beba464f1af5e8177c4892ce940222e761ea3 Mon Sep 17 00:00:00 2001 From: wesaphzt Date: Mon, 9 Sep 2019 20:21:24 +0100 Subject: [PATCH] adjust constant run option slightly to prevent annoying artifact --- .../receivers/PresenceReceiver.java | 8 +++- .../privatelock/service/LockService.java | 43 +++++++------------ 2 files changed, 22 insertions(+), 29 deletions(-) diff --git a/app/src/main/java/com/wesaphzt/privatelock/receivers/PresenceReceiver.java b/app/src/main/java/com/wesaphzt/privatelock/receivers/PresenceReceiver.java index 0aad1e3..02e8331 100644 --- a/app/src/main/java/com/wesaphzt/privatelock/receivers/PresenceReceiver.java +++ b/app/src/main/java/com/wesaphzt/privatelock/receivers/PresenceReceiver.java @@ -3,6 +3,8 @@ package com.wesaphzt.privatelock.receivers; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; +import android.content.SharedPreferences; +import android.preference.PreferenceManager; import static com.wesaphzt.privatelock.service.LockService.disabled; import static com.wesaphzt.privatelock.service.LockService.mInitialized; @@ -11,6 +13,8 @@ public class PresenceReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); + if (intent.getAction().equals(Intent.ACTION_USER_PRESENT)) { //prevent lock animation artifacts mInitialized = false; @@ -18,7 +22,9 @@ public class PresenceReceiver extends BroadcastReceiver { disabled = false; } else if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) { - disabled = true; + if(! prefs.getBoolean("RUN_CONSTANT", false)) { + disabled = true; + } } } } \ No newline at end of file diff --git a/app/src/main/java/com/wesaphzt/privatelock/service/LockService.java b/app/src/main/java/com/wesaphzt/privatelock/service/LockService.java index e68c528..0543cfa 100644 --- a/app/src/main/java/com/wesaphzt/privatelock/service/LockService.java +++ b/app/src/main/java/com/wesaphzt/privatelock/service/LockService.java @@ -87,13 +87,11 @@ public class LockService extends JobIntentService { switch (action) { case ACTION_START_FOREGROUND_SERVICE: - if(! prefs.getBoolean("RUN_CONSTANT", false)) { - presenceReceiver = new PresenceReceiver(); + presenceReceiver = new PresenceReceiver(); - IntentFilter intentFilter = new IntentFilter(Intent.ACTION_USER_PRESENT); - intentFilter.addAction(Intent.ACTION_SCREEN_OFF); - registerReceiver(presenceReceiver, intentFilter); - } + IntentFilter intentFilter = new IntentFilter(Intent.ACTION_USER_PRESENT); + intentFilter.addAction(Intent.ACTION_SCREEN_OFF); + registerReceiver(presenceReceiver, intentFilter); //------------------------------------------------------------------------------------------ try { SENSITIVITY = prefs.getInt(MainActivity.PREFS_THRESHOLD, DEFAULT_SENSITIVITY); @@ -134,29 +132,19 @@ public class LockService extends JobIntentService { case ACTION_STOP_FOREGROUND_SERVICE: try { - if(! prefs.getBoolean("RUN_CONSTANT", false)) { - unregisterReceiver(presenceReceiver); - } mSensorManager.unregisterListener(activeListener); - - disabled = true; - mInitialized = false; - - if (PauseReceiver.isRunning) { - PauseReceiver.mCountdown.cancel(); - PauseReceiver.isRunning = false; - } } catch (Exception e) { - if(! prefs.getBoolean("RUN_CONSTANT", false)) { - unregisterReceiver(presenceReceiver); - } - disabled = true; - mInitialized = false; + e.printStackTrace(); + } - if (PauseReceiver.isRunning) { - PauseReceiver.mCountdown.cancel(); - PauseReceiver.isRunning = false; - } + unregisterReceiver(presenceReceiver); + + disabled = true; + mInitialized = false; + + if (PauseReceiver.isRunning) { + PauseReceiver.mCountdown.cancel(); + PauseReceiver.isRunning = false; } try { @@ -169,8 +157,7 @@ public class LockService extends JobIntentService { notificationManager.cancel(LockService.NOTIFICATION_ID); } } catch (Exception e) { - lockWidgetProvider.setWidgetStop(context); - stopService(intent); + e.printStackTrace(); } lockWidgetProvider.setWidgetStop(context);