diff options
author | Bruno Martins <bgcngm@gmail.com> | 2021-05-02 20:53:57 +0100 |
---|---|---|
committer | Bruno Martins <bgcngm@gmail.com> | 2021-05-03 19:05:45 +0100 |
commit | d1461d3451c6e6a4237726f6732adfda037f60f4 (patch) | |
tree | d90d2234e59d0386784026c7c2017bbdf0746e24 | |
parent | c47d955826b073d3e4d0155e671f64ac188154ef (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.java | 12 |
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(); |