From 0816e0ee6e9bfde8a8eeb9cef9252a2c7ddee384 Mon Sep 17 00:00:00 2001 From: Dianne Hackborn Date: Thu, 16 Jul 2009 13:50:01 -0700 Subject: [PATCH] Fix issue #1985606 (Boot crash when battery level of < 15% is reported) in Donut Actually I don't think it is really an issue here, because the status bar doesn't start itself up like this until after we have booted, but let's be safe. And DO NOT MERGE since this code has changed in master. --- .../java/com/android/server/status/StatusBarPolicy.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/services/java/com/android/server/status/StatusBarPolicy.java b/services/java/com/android/server/status/StatusBarPolicy.java index 7a8d4e5ed40bd..a4b47b523baa3 100644 --- a/services/java/com/android/server/status/StatusBarPolicy.java +++ b/services/java/com/android/server/status/StatusBarPolicy.java @@ -626,7 +626,9 @@ public class StatusBarPolicy { && mBatteryThreshold > BATTERY_THRESHOLD_WARNING))) { // Broadcast the low battery warning mSentLowBatteryBroadcast = true; - mContext.sendBroadcast(new Intent(Intent.ACTION_BATTERY_LOW)); + Intent batIntent = new Intent(Intent.ACTION_BATTERY_LOW); + batIntent.addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT); + mContext.sendBroadcast(batIntent); if (SHOW_LOW_BATTERY_WARNING) { if (false) { @@ -644,7 +646,9 @@ public class StatusBarPolicy { } else if (mBatteryThreshold < BATTERY_THRESHOLD_WARNING) { if (mSentLowBatteryBroadcast == true) { mSentLowBatteryBroadcast = false; - mContext.sendBroadcast(new Intent(Intent.ACTION_BATTERY_OKAY)); + Intent batIntent = new Intent(Intent.ACTION_BATTERY_OKAY); + batIntent.addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT); + mContext.sendBroadcast(batIntent); } if (SHOW_LOW_BATTERY_WARNING) { if (mLowBatteryDialog != null) {