From d682068899233671bc0a0f2b89eb39d9ddaf5d95 Mon Sep 17 00:00:00 2001 From: Artem Vursalov Date: Thu, 29 Sep 2022 22:34:45 +0100 Subject: [PATCH] battery LED: nearly full level is now configurable Nearly full level of battery was hardcoded as 90 in BatteryService code. With this change it is possible to adjust in via config.xml Test: manual tests. It's possible to test in the emulator with additional logs. lunch sdk_phone_x86 && m && emulator => emulate battery changes Signed-off-by: Artem Vursalov Change-Id: Id632424b5819fba2abe82b28af0f1993688db2e2 --- core/res/res/values/config.xml | 5 ++++- core/res/res/values/symbols.xml | 1 + services/core/java/com/android/server/BatteryService.java | 6 +++++- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml index a7085069c5328..8682f9e9346d2 100644 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml @@ -1248,7 +1248,7 @@ 0xFFFFFF00 - + 0xFF00FF00 @@ -1263,6 +1263,9 @@ 2875 + + 90 + true diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index b2bb6d5c4a204..ee6f1f842d32f 100644 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -2043,6 +2043,7 @@ + diff --git a/services/core/java/com/android/server/BatteryService.java b/services/core/java/com/android/server/BatteryService.java index 2f8dea7b5f14f..379fe2ae713b7 100644 --- a/services/core/java/com/android/server/BatteryService.java +++ b/services/core/java/com/android/server/BatteryService.java @@ -158,6 +158,7 @@ public final class BatteryService extends SystemService { private int mLowBatteryWarningLevel; private int mLastLowBatteryWarningLevel; private int mLowBatteryCloseWarningLevel; + private int mBatteryNearlyFullLevel; private int mShutdownBatteryTemperature; private int mPlugType; @@ -1183,6 +1184,8 @@ public final class BatteryService extends SystemService { com.android.internal.R.integer.config_notificationsBatteryLedOn); mBatteryLedOff = context.getResources().getInteger( com.android.internal.R.integer.config_notificationsBatteryLedOff); + mBatteryNearlyFullLevel = context.getResources().getInteger( + com.android.internal.R.integer.config_notificationsBatteryNearlyFullLevel); } /** @@ -1205,7 +1208,8 @@ public final class BatteryService extends SystemService { } } else if (status == BatteryManager.BATTERY_STATUS_CHARGING || status == BatteryManager.BATTERY_STATUS_FULL) { - if (status == BatteryManager.BATTERY_STATUS_FULL || level >= 90) { + if (status == BatteryManager.BATTERY_STATUS_FULL + || level >= mBatteryNearlyFullLevel) { // Solid green when full or charging and nearly full mBatteryLight.setColor(mBatteryFullARGB); } else {