summaryrefslogtreecommitdiffstats
path: root/services/java/com/android/server/BatteryService.java
diff options
context:
space:
mode:
Diffstat (limited to 'services/java/com/android/server/BatteryService.java')
-rw-r--r--services/java/com/android/server/BatteryService.java6
1 files changed, 6 insertions, 0 deletions
diff --git a/services/java/com/android/server/BatteryService.java b/services/java/com/android/server/BatteryService.java
index a682fcb..45c1e5c 100644
--- a/services/java/com/android/server/BatteryService.java
+++ b/services/java/com/android/server/BatteryService.java
@@ -44,6 +44,7 @@ import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintWriter;
+import com.android.internal.app.ShutdownThread;
/**
@@ -182,6 +183,11 @@ class BatteryService extends Binder {
boolean logOutlier = false;
long dischargeDuration = 0;
+
+ // shut down gracefully if our battery is critically low and we are not powered
+ if (mBatteryLevel == 0 && isPowered(0xffffffff)) {
+ ShutdownThread.shutdown(mContext, false);
+ }
mBatteryLevelCritical = mBatteryLevel <= CRITICAL_BATTERY_LEVEL;
if (mAcOnline) {