Loading services/core/java/com/android/server/BatteryService.java +18 −1 Original line number Diff line number Diff line Loading @@ -356,10 +356,27 @@ public final class BatteryService extends SystemService { && (oldPlugged || mLastBatteryLevel > mLowBatteryWarningLevel); } private boolean shouldShutdownLocked() { if (mHealthInfo.batteryLevel > 0) { return false; } // Battery-less devices should not shutdown. if (!mHealthInfo.batteryPresent) { return false; } // If battery state is not CHARGING, shutdown. // - If battery present and state == unknown, this is an unexpected error state. // - If level <= 0 and state == full, this is also an unexpected state // - All other states (NOT_CHARGING, DISCHARGING) means it is not charging. return mHealthInfo.batteryStatus != BatteryManager.BATTERY_STATUS_CHARGING; } private void shutdownIfNoPowerLocked() { // shut down gracefully if our battery is critically low and we are not powered. // wait until the system has booted before attempting to display the shutdown dialog. if (mHealthInfo.batteryLevel == 0 && !isPoweredLocked(BatteryManager.BATTERY_PLUGGED_ANY)) { if (shouldShutdownLocked()) { mHandler.post(new Runnable() { @Override public void run() { Loading Loading
services/core/java/com/android/server/BatteryService.java +18 −1 Original line number Diff line number Diff line Loading @@ -356,10 +356,27 @@ public final class BatteryService extends SystemService { && (oldPlugged || mLastBatteryLevel > mLowBatteryWarningLevel); } private boolean shouldShutdownLocked() { if (mHealthInfo.batteryLevel > 0) { return false; } // Battery-less devices should not shutdown. if (!mHealthInfo.batteryPresent) { return false; } // If battery state is not CHARGING, shutdown. // - If battery present and state == unknown, this is an unexpected error state. // - If level <= 0 and state == full, this is also an unexpected state // - All other states (NOT_CHARGING, DISCHARGING) means it is not charging. return mHealthInfo.batteryStatus != BatteryManager.BATTERY_STATUS_CHARGING; } private void shutdownIfNoPowerLocked() { // shut down gracefully if our battery is critically low and we are not powered. // wait until the system has booted before attempting to display the shutdown dialog. if (mHealthInfo.batteryLevel == 0 && !isPoweredLocked(BatteryManager.BATTERY_PLUGGED_ANY)) { if (shouldShutdownLocked()) { mHandler.post(new Runnable() { @Override public void run() { Loading