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 <artyomvoid@fb.com>
Change-Id: Id632424b5819fba2abe82b28af0f1993688db2e2
This commit is contained in:
Artem Vursalov
2022-09-29 22:34:45 +01:00
committed by Artem Vursalov
parent 4a89fb33f4
commit d682068899
3 changed files with 10 additions and 2 deletions

View File

@@ -1248,7 +1248,7 @@
<!-- Default value for led color when battery is medium charged -->
<integer name="config_notificationsBatteryMediumARGB">0xFFFFFF00</integer>
<!-- Default value for led color when battery is fully charged -->
<!-- Default value for led color when battery is fully or nearly fully charged -->
<integer name="config_notificationsBatteryFullARGB">0xFF00FF00</integer>
<!-- Default value for LED on time when the battery is low on charge in miliseconds -->
@@ -1263,6 +1263,9 @@
<!-- Default value for LED off time when the battery is low on charge in miliseconds -->
<integer name="config_notificationsBatteryLedOff">2875</integer>
<!-- Battery level percent that is treated as nearly full. -->
<integer name="config_notificationsBatteryNearlyFullLevel">90</integer>
<!-- If true, only colorized CallStyle notifications will apply custom colors -->
<bool name="config_callNotificationActionColorsRequireColorized">true</bool>

View File

@@ -2043,6 +2043,7 @@
<java-symbol type="integer" name="config_notificationsBatteryLedOn" />
<java-symbol type="integer" name="config_notificationsBatteryLowARGB" />
<java-symbol type="integer" name="config_notificationsBatteryMediumARGB" />
<java-symbol type="integer" name="config_notificationsBatteryNearlyFullLevel" />
<java-symbol type="integer" name="config_notificationServiceArchiveSize" />
<java-symbol type="integer" name="config_previousVibrationsDumpLimit" />
<java-symbol type="integer" name="config_defaultVibrationAmplitude" />

View File

@@ -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 {