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

Commit 2c6fd8fd authored by Wesley.CW Wang's avatar Wesley.CW Wang
Browse files

Update battery charging status string

 - Present status string only when status anomalous
 - Remove app usage pages divider

Bug: 185448191
Bug: 187767337
Bug: 187778673
Test: make SettingsRoboTests
Change-Id: I7829e9deed05fb7d95d483ddb718abfdc53b1aa6
parent e966debf
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -22,15 +22,13 @@
    <com.android.settingslib.widget.LayoutPreference
        android:key="header_view"
        android:layout="@layout/settings_entity_header"
        android:selectable="false"
        settings:allowDividerBelow="true"/>
        android:selectable="false"/>

    <com.android.settingslib.widget.ActionButtonsPreference
        android:key="action_buttons"/>

    <PreferenceCategory
        android:title="@string/battery_detail_manage_title"
        settings:allowDividerAbove="true">
        android:title="@string/battery_detail_manage_title">

        <com.android.settingslib.widget.RadioButtonPreference
            android:key="unrestricted_pref"
+2 −4
Original line number Diff line number Diff line
@@ -23,16 +23,14 @@
        android:key="header_view"
        android:layout="@layout/settings_entity_header"
        android:selectable="false"
        android:order="-10000"
        settings:allowDividerBelow="true"/>
        android:order="-10000"/>

    <com.android.settingslib.widget.ActionButtonsPreference
        android:key="action_buttons"
        android:order="-9999"/>

    <PreferenceCategory
        android:title="@string/battery_detail_manage_title"
        settings:allowDividerAbove="true">
        android:title="@string/battery_detail_manage_title">

        <com.android.settingslib.RestrictedPreference
            android:key="background_activity"
+3 −2
Original line number Diff line number Diff line
@@ -111,8 +111,9 @@ public class BatteryHeaderPreferenceController extends BasePreferenceController
    private CharSequence generateLabel(BatteryInfo info) {
        if (BatteryUtils.isBatteryDefenderOn(info)) {
            return null;
        } else if (info.remainingLabel == null) {
            // Present status independently if no remaining time
        } else if (info.remainingLabel == null
                || info.batteryStatus == BatteryManager.BATTERY_STATUS_NOT_CHARGING) {
            // Present status only if no remaining time or status anomalous
            return info.statusLabel;
        } else if (info.statusLabel != null && !info.discharging) {
            // Charging state
+3 −0
Original line number Diff line number Diff line
@@ -46,6 +46,7 @@ public class BatteryInfo {
    public CharSequence chargeLabel;
    public CharSequence remainingLabel;
    public int batteryLevel;
    public int batteryStatus;
    public boolean discharging = true;
    public boolean isOverheated;
    public long remainingTimeUs = 0;
@@ -238,6 +239,8 @@ public class BatteryInfo {
                == BatteryManager.BATTERY_HEALTH_OVERHEAT;

        info.statusLabel = Utils.getBatteryStatus(context, batteryBroadcast);
        info.batteryStatus = batteryBroadcast.getIntExtra(
                BatteryManager.EXTRA_STATUS, BatteryManager.BATTERY_STATUS_UNKNOWN);
        if (!info.mCharging) {
            updateBatteryInfoDischarging(context, shortString, estimate, info);
        } else {
+11 −0
Original line number Diff line number Diff line
@@ -167,6 +167,17 @@ public class BatteryHeaderPreferenceControllerTest {
        verify(mBatteryUsageProgressBarPref).setBottomSummary(BATTERY_STATUS);
    }

    @Test
    public void updatePreference_statusAnomalous_showStatusLabel() {
        mBatteryInfo.remainingLabel = TIME_LEFT;
        mBatteryInfo.statusLabel = BATTERY_STATUS;
        mBatteryInfo.batteryStatus = BatteryManager.BATTERY_STATUS_NOT_CHARGING;

        mController.updateHeaderPreference(mBatteryInfo);

        verify(mBatteryUsageProgressBarPref).setBottomSummary(BATTERY_STATUS);
    }

    @Test
    public void updatePreference_charging_showFullText() {
        setChargingState(/* isDischarging */ false, /* updatedByStatusFeature */ false);