adjust constant run option slightly to prevent annoying artifact

This commit is contained in:
wesaphzt 2019-09-09 20:21:24 +01:00
parent 10db550988
commit 063beba464
2 changed files with 22 additions and 29 deletions

View file

@ -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;
}
}
}
}

View file

@ -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);