From da2dd7456cf15d9c1007f949c70e0aedbc10d94f Mon Sep 17 00:00:00 2001 From: n8fr8 Date: Thu, 28 Feb 2019 09:55:21 -0500 Subject: [PATCH] Explicitly register Power receiver in code - I wasn't getting power events on Nokia / Android 9 --- .../org/havenapp/main/service/MonitorService.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/main/java/org/havenapp/main/service/MonitorService.java b/src/main/java/org/havenapp/main/service/MonitorService.java index 8f08317c..3aadcb74 100644 --- a/src/main/java/org/havenapp/main/service/MonitorService.java +++ b/src/main/java/org/havenapp/main/service/MonitorService.java @@ -14,6 +14,7 @@ import android.app.PendingIntent; import android.app.Service; import android.content.Intent; +import android.content.IntentFilter; import android.graphics.Color; import android.net.Uri; import android.os.Build; @@ -42,6 +43,7 @@ import org.havenapp.main.sensors.BarometerMonitor; import org.havenapp.main.sensors.BumpMonitor; import org.havenapp.main.sensors.MicrophoneMonitor; +import org.havenapp.main.sensors.PowerConnectionReceiver; import java.util.ArrayList; import java.util.Date; @@ -79,6 +81,8 @@ public class MonitorService extends Service { private BarometerMonitor mBaroMonitor = null; private AmbientLightMonitor mLightMonitor = null; + private PowerConnectionReceiver mPowerReceiver = null; + private boolean mIsMonitoringActive = false; /** @@ -260,7 +264,13 @@ private void startSensors () if (!mPrefs.getMicrophoneSensitivity().equals(PreferenceManager.OFF)) mMicMonitor = new MicrophoneMonitor(this); + mPowerReceiver = new PowerConnectionReceiver(); + // register our power status receivers + IntentFilter powerConnectedFilter = new IntentFilter(Intent.ACTION_POWER_CONNECTED); + registerReceiver(mPowerReceiver, powerConnectedFilter); + IntentFilter powerDisconnectedFilter = new IntentFilter(Intent.ACTION_POWER_DISCONNECTED); + registerReceiver(mPowerReceiver, powerDisconnectedFilter); } private void stopSensors () @@ -292,6 +302,8 @@ private void stopSensors () sender.stopHeartbeatTimer(); } } + + unregisterReceiver(mPowerReceiver); } /**