diff options
author | Android (Google) Code Review <android-gerrit@google.com> | 2009-09-27 15:43:17 -0400 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2009-09-27 15:43:17 -0400 |
commit | e7d60bfdff35ad8eace600d2a6cb81163c966bb0 (patch) | |
tree | a7139bb88cafe2998420f5fb206b41a0cdf12d8d | |
parent | 94bbfa47b043c50e10e6558e461d018b7d13bb5d (diff) | |
parent | d81b1f41e5e7bf0ccd3e4c08838d65eacdc8dda0 (diff) | |
download | frameworks_base-e7d60bfdff35ad8eace600d2a6cb81163c966bb0.zip frameworks_base-e7d60bfdff35ad8eace600d2a6cb81163c966bb0.tar.gz frameworks_base-e7d60bfdff35ad8eace600d2a6cb81163c966bb0.tar.bz2 |
Merge change 27032 into eclair
* changes:
BatteryService: Specify low battery levels in resources.
-rw-r--r-- | core/res/res/values/config.xml | 5 | ||||
-rw-r--r-- | core/res/res/values/strings.xml | 4 | ||||
-rw-r--r-- | services/java/com/android/server/BatteryService.java | 25 | ||||
-rw-r--r-- | services/java/com/android/server/status/StatusBarPolicy.java | 6 |
4 files changed, 25 insertions, 15 deletions
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml index cf0dfd7..907fd8f 100644 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml @@ -126,4 +126,9 @@ <bool name="config_use_strict_phone_number_comparation">false</bool> + <!-- Display low battery warning when battery level dips to this value --> + <integer name="config_lowBatteryWarningLevel">15</integer> + <!-- Close low battery warning when battery level reaches this value --> + <integer name="config_lowBatteryCloseWarningLevel">20</integer> + </resources> diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml index eb15183..2a55d85 100644 --- a/core/res/res/values/strings.xml +++ b/core/res/res/values/strings.xml @@ -1460,8 +1460,8 @@ <string name="battery_low_subtitle">The battery is getting low:</string> <!-- A message that appears when the battery level is getting low in a dialog. This is appened to the subtitle of the low battery alert. --> - <string name="battery_low_percent_format">less than <xliff:g id="number">%d%%</xliff:g> - remaining.</string> + <string name="battery_low_percent_format"><xliff:g id="number">%d%%</xliff:g> + or less remaining.</string> <!-- When the battery is low, this is the label of the button to go to the power usage activity to find out what drained the battery. --> diff --git a/services/java/com/android/server/BatteryService.java b/services/java/com/android/server/BatteryService.java index 53edf31..bb36936 100644 --- a/services/java/com/android/server/BatteryService.java +++ b/services/java/com/android/server/BatteryService.java @@ -90,9 +90,6 @@ class BatteryService extends Binder { // This should probably be exposed in the API, though it's not critical private static final int BATTERY_PLUGGED_NONE = 0; - private static final int BATTERY_LEVEL_CLOSE_WARNING = 20; - private static final int BATTERY_LEVEL_WARNING = 15; - private final Context mContext; private final IBatteryStats mBatteryStats; @@ -114,7 +111,10 @@ class BatteryService extends Binder { private int mLastBatteryVoltage; private int mLastBatteryTemperature; private boolean mLastBatteryLevelCritical; - + + private int mLowBatteryWarningLevel; + private int mLowBatteryCloseWarningLevel; + private int mPlugType; private int mLastPlugType = -1; // Extra state so we can detect first run @@ -127,6 +127,11 @@ class BatteryService extends Binder { mContext = context; mBatteryStats = BatteryStatsService.getService(); + mLowBatteryWarningLevel = mContext.getResources().getInteger( + com.android.internal.R.integer.config_lowBatteryWarningLevel); + mLowBatteryCloseWarningLevel = mContext.getResources().getInteger( + com.android.internal.R.integer.config_lowBatteryCloseWarningLevel); + mUEventObserver.startObserving("SUBSYSTEM=power_supply"); // set initial status @@ -271,13 +276,15 @@ class BatteryService extends Binder { final boolean oldPlugged = mLastPlugType != BATTERY_PLUGGED_NONE; /* The ACTION_BATTERY_LOW broadcast is sent in these situations: - * - is just un-plugged (previously was plugged) and battery level is under WARNING, or - * - is not plugged and battery level crosses the WARNING boundary (becomes < 15). + * - is just un-plugged (previously was plugged) and battery level is + * less than or equal to WARNING, or + * - is not plugged and battery level falls to WARNING boundary + * (becomes <= mLowBatteryWarningLevel). */ final boolean sendBatteryLow = !plugged && mBatteryStatus != BatteryManager.BATTERY_STATUS_UNKNOWN - && mBatteryLevel < BATTERY_LEVEL_WARNING - && (oldPlugged || mLastBatteryLevel >= BATTERY_LEVEL_WARNING); + && mBatteryLevel <= mLowBatteryWarningLevel + && (oldPlugged || mLastBatteryLevel > mLowBatteryWarningLevel); sendIntent(); @@ -299,7 +306,7 @@ class BatteryService extends Binder { mSentLowBatteryBroadcast = true; statusIntent.setAction(Intent.ACTION_BATTERY_LOW); mContext.sendBroadcast(statusIntent); - } else if (mSentLowBatteryBroadcast && mLastBatteryLevel >= BATTERY_LEVEL_CLOSE_WARNING) { + } else if (mSentLowBatteryBroadcast && mLastBatteryLevel >= mLowBatteryCloseWarningLevel) { mSentLowBatteryBroadcast = false; statusIntent.setAction(Intent.ACTION_BATTERY_OKAY); mContext.sendBroadcast(statusIntent); diff --git a/services/java/com/android/server/status/StatusBarPolicy.java b/services/java/com/android/server/status/StatusBarPolicy.java index da64e54..6570bcd 100644 --- a/services/java/com/android/server/status/StatusBarPolicy.java +++ b/services/java/com/android/server/status/StatusBarPolicy.java @@ -670,11 +670,9 @@ public class StatusBarPolicy { private void showLowBatteryWarning() { closeLastBatteryView(); - /* Show exact battery level. - * Add 1 because the text says "less than X%". - */ + // Show exact battery level. CharSequence levelText = mContext.getString( - com.android.internal.R.string.battery_low_percent_format, mBatteryLevel + 1); + com.android.internal.R.string.battery_low_percent_format, mBatteryLevel); if (mBatteryLevelTextView != null) { mBatteryLevelTextView.setText(levelText); |