diff --git a/lineage/lib/main/java/org/lineageos/platform/internal/health/ChargingControlController.java b/lineage/lib/main/java/org/lineageos/platform/internal/health/ChargingControlController.java index 5a07ac9b..fc10ec8d 100644 --- a/lineage/lib/main/java/org/lineageos/platform/internal/health/ChargingControlController.java +++ b/lineage/lib/main/java/org/lineageos/platform/internal/health/ChargingControlController.java @@ -288,6 +288,8 @@ public class ChargingControlController extends LineageHealthFeature { private void onPowerConnected() { if (mBattReceiver == null) { mBattReceiver = new LineageHealthBatteryBroadcastReceiver(); + } else { + mContext.unregisterReceiver(mBattReceiver); } IntentFilter battFilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED); mContext.registerReceiver(mBattReceiver, battFilter); @@ -296,6 +298,7 @@ public class ChargingControlController extends LineageHealthFeature { private void onPowerDisconnected() { if (mBattReceiver != null) { mContext.unregisterReceiver(mBattReceiver); + mBattReceiver = null; } // On disconnected, reset internal state