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

Commit 4b1d5b8e authored by YK Hung's avatar YK Hung Committed by Automerger Merge Worker
Browse files

Merge "Fix inconsistent connected without charging state in the Settings" into...

Merge "Fix inconsistent connected without charging state in the Settings" into udc-qpr-dev am: 296322ad

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/24219784



Change-Id: I866b3a26f917feb79371cb4d9ff5a086cdb16c6b
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 26579447 296322ad
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package com.android.settings.fuelgauge;

import android.content.ComponentName;
import android.content.Context;
import android.os.BatteryManager;
import android.util.Log;

import androidx.annotation.VisibleForTesting;
@@ -139,7 +140,10 @@ public class TopLevelBatteryPreferenceController extends BasePreferenceControlle
        if (Utils.containsIncompatibleChargers(mContext, TAG)) {
            return mContext.getString(R.string.battery_info_status_not_charging);
        }
        if (!info.discharging && info.chargeLabel != null) {
        if (info.batteryStatus == BatteryManager.BATTERY_STATUS_NOT_CHARGING) {
            // Present status only if no remaining time or status anomalous
            return info.statusLabel;
        } else if (!info.discharging && info.chargeLabel != null) {
            return info.chargeLabel;
        } else if (info.remainingLabel == null) {
            return info.batteryPercentString;
+12 −0
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@ import android.content.Intent;
import android.hardware.usb.UsbManager;
import android.hardware.usb.UsbPort;
import android.hardware.usb.UsbPortStatus;
import android.os.BatteryManager;

import androidx.preference.Preference;
import androidx.test.core.app.ApplicationProvider;
@@ -145,6 +146,17 @@ public class TopLevelBatteryPreferenceControllerTest {
                .isEqualTo(mContext.getString(R.string.battery_info_status_not_charging));
    }

    @Test
    public void getDashboardLabel_notChargingState_returnsCorrectLabel() {
        mController.mPreference = new Preference(mContext);
        BatteryInfo info = new BatteryInfo();
        info.batteryStatus = BatteryManager.BATTERY_STATUS_NOT_CHARGING;
        info.statusLabel = "expected returned label";

        assertThat(mController.getDashboardLabel(mContext, info, true))
                .isEqualTo(info.statusLabel);
    }

    @Test
    public void getSummary_batteryNotPresent_shouldShowWarningMessage() {
        mController.mIsBatteryPresent = false;