Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e7d60bfd authored by Android (Google) Code Review's avatar Android (Google) Code Review
Browse files

Merge change 27032 into eclair

* changes:
  BatteryService: Specify low battery levels in resources.
parents 94bbfa47 d81b1f41
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -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>
+2 −2
Original line number Diff line number Diff line
@@ -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. -->
+16 −9
Original line number Diff line number Diff line
@@ -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;
    
@@ -115,6 +112,9 @@ class BatteryService extends Binder {
    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);
+2 −4
Original line number Diff line number Diff line
@@ -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);