summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruno Martins <bgcngm@gmail.com>2021-05-02 20:53:57 +0100
committerBruno Martins <bgcngm@gmail.com>2021-05-03 19:05:45 +0100
commitd1461d3451c6e6a4237726f6732adfda037f60f4 (patch)
treed90d2234e59d0386784026c7c2017bbdf0746e24
parentc47d955826b073d3e4d0155e671f64ac188154ef (diff)
BatteryLights: Fix disabled lights when fully charged conditions
Make sure that the option has effect ONLY when battery is uh... fully charged. Additionally add previously missing logging. Change-Id: Ib232d0ea6652230a2435be6931f964dc04a30f71
-rw-r--r--sdk/src/java/org/lineageos/internal/notification/LineageBatteryLights.java12
1 files changed, 8 insertions, 4 deletions
diff --git a/sdk/src/java/org/lineageos/internal/notification/LineageBatteryLights.java b/sdk/src/java/org/lineageos/internal/notification/LineageBatteryLights.java
index c87e4891..affd0541 100644
--- a/sdk/src/java/org/lineageos/internal/notification/LineageBatteryLights.java
+++ b/sdk/src/java/org/lineageos/internal/notification/LineageBatteryLights.java
@@ -125,16 +125,21 @@ public final class LineageBatteryLights {
+ " mBatteryBrightnessLevel=" + mBatteryBrightnessLevel
+ " mBatteryBrightnessZenLevel=" + mBatteryBrightnessZenLevel
+ " mZenMode=" + mZenMode
+ + " mLightFullChargeDisabled=" + mLightFullChargeDisabled
);
}
+ final boolean isChargingOrFull = status == BatteryManager.BATTERY_STATUS_CHARGING ||
+ status == BatteryManager.BATTERY_STATUS_FULL;
+ final boolean isCharged = status == BatteryManager.BATTERY_STATUS_FULL || level >= 100;
+
// The only meaningful ledValues values received by frameworks BatteryService
// are the pulse times (for low battery). Explicitly set enabled state and
// color to ensure that we arrive at a deterministic outcome.
ledValues.setEnabled(false);
ledValues.setColor(0);
- if (!mLightEnabled || mLightFullChargeDisabled) {
+ if (!mLightEnabled || (mLightFullChargeDisabled && isCharged)) {
return;
}
@@ -161,9 +166,8 @@ public final class LineageBatteryLights {
// (pulsing values are set by frameworks BatteryService).
ledValues.setColor(mBatteryLowARGB);
}
- } else if (status == BatteryManager.BATTERY_STATUS_CHARGING
- || status == BatteryManager.BATTERY_STATUS_FULL) {
- if (status == BatteryManager.BATTERY_STATUS_FULL || level >= 90) {
+ } else if (isChargingOrFull) {
+ if (isCharged || level >= 90) {
// Battery is full or charging and nearly full.
ledValues.setColor(mBatteryFullARGB);
ledValues.setSolid();