Loading services/java/com/android/server/BatteryService.java +16 −4 Original line number Diff line number Diff line Loading @@ -136,7 +136,13 @@ class BatteryService extends Binder { final boolean isPowered() { // assume we are powered if battery state is unknown so the "stay on while plugged in" option will work. return (mAcOnline || mUsbOnline || mBatteryStatus == BatteryManager.BATTERY_STATUS_UNKNOWN); // Do not look at the plug status to check if we are powered. // Charger can be plugged but not charging because of i.e. USB suspend, // battery temperature reasons etc. We are powered only if battery is // being charged. This function fill return false if charger is // connected and battery is reported full. return (mBatteryStatus == BatteryManager.BATTERY_STATUS_CHARGING || mBatteryStatus == BatteryManager.BATTERY_STATUS_UNKNOWN); } final boolean isPowered(int plugTypeSet) { Loading @@ -148,11 +154,13 @@ class BatteryService extends Binder { if (plugTypeSet == 0) { return false; } // we are not powered when plug is connected and not charging int plugTypeBit = 0; if (mAcOnline) { if (mAcOnline && mBatteryStatus == BatteryManager.BATTERY_STATUS_CHARGING) { plugTypeBit |= BatteryManager.BATTERY_PLUGGED_AC; } if (mUsbOnline) { if (mUsbOnline && mBatteryStatus == BatteryManager.BATTERY_STATUS_CHARGING) { plugTypeBit |= BatteryManager.BATTERY_PLUGGED_USB; } return (plugTypeSet & plugTypeBit) != 0; Loading Loading @@ -183,7 +191,11 @@ class BatteryService extends Binder { private final void shutdownIfNoPower() { // 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 (mBatteryLevel == 0 && !isPowered() && ActivityManagerNative.isSystemReady()) { // Also shutdown if battery is reported to be 'dead' independent of // battery level and power supply. if (((mBatteryLevel == 0 && !isPowered()) || mBatteryHealth == BatteryManager.BATTERY_HEALTH_DEAD) && ActivityManagerNative.isSystemReady()) { Intent intent = new Intent(Intent.ACTION_REQUEST_SHUTDOWN); intent.putExtra(Intent.EXTRA_KEY_CONFIRM, false); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); Loading Loading
services/java/com/android/server/BatteryService.java +16 −4 Original line number Diff line number Diff line Loading @@ -136,7 +136,13 @@ class BatteryService extends Binder { final boolean isPowered() { // assume we are powered if battery state is unknown so the "stay on while plugged in" option will work. return (mAcOnline || mUsbOnline || mBatteryStatus == BatteryManager.BATTERY_STATUS_UNKNOWN); // Do not look at the plug status to check if we are powered. // Charger can be plugged but not charging because of i.e. USB suspend, // battery temperature reasons etc. We are powered only if battery is // being charged. This function fill return false if charger is // connected and battery is reported full. return (mBatteryStatus == BatteryManager.BATTERY_STATUS_CHARGING || mBatteryStatus == BatteryManager.BATTERY_STATUS_UNKNOWN); } final boolean isPowered(int plugTypeSet) { Loading @@ -148,11 +154,13 @@ class BatteryService extends Binder { if (plugTypeSet == 0) { return false; } // we are not powered when plug is connected and not charging int plugTypeBit = 0; if (mAcOnline) { if (mAcOnline && mBatteryStatus == BatteryManager.BATTERY_STATUS_CHARGING) { plugTypeBit |= BatteryManager.BATTERY_PLUGGED_AC; } if (mUsbOnline) { if (mUsbOnline && mBatteryStatus == BatteryManager.BATTERY_STATUS_CHARGING) { plugTypeBit |= BatteryManager.BATTERY_PLUGGED_USB; } return (plugTypeSet & plugTypeBit) != 0; Loading Loading @@ -183,7 +191,11 @@ class BatteryService extends Binder { private final void shutdownIfNoPower() { // 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 (mBatteryLevel == 0 && !isPowered() && ActivityManagerNative.isSystemReady()) { // Also shutdown if battery is reported to be 'dead' independent of // battery level and power supply. if (((mBatteryLevel == 0 && !isPowered()) || mBatteryHealth == BatteryManager.BATTERY_HEALTH_DEAD) && ActivityManagerNative.isSystemReady()) { Intent intent = new Intent(Intent.ACTION_REQUEST_SHUTDOWN); intent.putExtra(Intent.EXTRA_KEY_CONFIRM, false); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); Loading