From 4187603eda147dfc1ccf0cec79fae0e16aa5b646 Mon Sep 17 00:00:00 2001 From: Xin Guan Date: Fri, 6 Mar 2020 19:07:52 -0600 Subject: [PATCH] Send battery low intent when battery warning boundary changed If the battery warning boundary is changed and the new boundary is higher than the current battery level, send the battery low intent too. Test: manual: inspection (with different boundary level changes) Change-Id: Ic8b7ebd4052bb757e35ed4e904ea6bddcb23a7ac --- services/core/java/com/android/server/BatteryService.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/BatteryService.java b/services/core/java/com/android/server/BatteryService.java index b676f99eb40a7..55592e23b471f 100644 --- a/services/core/java/com/android/server/BatteryService.java +++ b/services/core/java/com/android/server/BatteryService.java @@ -165,6 +165,7 @@ public final class BatteryService extends SystemService { private int mLastInvalidCharger; private int mLowBatteryWarningLevel; + private int mLastLowBatteryWarningLevel; private int mLowBatteryCloseWarningLevel; private int mShutdownBatteryTemperature; @@ -313,6 +314,7 @@ public final class BatteryService extends SystemService { final ContentResolver resolver = mContext.getContentResolver(); int defWarnLevel = mContext.getResources().getInteger( com.android.internal.R.integer.config_lowBatteryWarningLevel); + mLastLowBatteryWarningLevel = mLowBatteryWarningLevel; mLowBatteryWarningLevel = Settings.Global.getInt(resolver, Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL, defWarnLevel); if (mLowBatteryWarningLevel == 0) { @@ -357,7 +359,8 @@ public final class BatteryService extends SystemService { return !plugged && mHealthInfo.batteryStatus != BatteryManager.BATTERY_STATUS_UNKNOWN && mHealthInfo.batteryLevel <= mLowBatteryWarningLevel - && (oldPlugged || mLastBatteryLevel > mLowBatteryWarningLevel); + && (oldPlugged || mLastBatteryLevel > mLowBatteryWarningLevel + || mHealthInfo.batteryLevel > mLastLowBatteryWarningLevel); } private boolean shouldShutdownLocked() {