Merge change 27032 into eclair
* changes: BatteryService: Specify low battery levels in resources.
This commit is contained in:
@@ -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>
|
||||
|
||||
@@ -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. -->
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user