Fix inconsistent connected without charging state in the Settings

Make the "connected, not charging" state condition is the same between
Settings main page (in the TopLevelBatteryPreferenceController), and
sub- battery settings page (in the BatteryHeaderPreferenceController).

https://source.corp.google.com/h/googleplex-android/platform/superproject/main/+/main:packages/apps/Settings/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceController.java;l=116-119

Fix: 285204150
Test: make RunSettingsRoboTests -j40

Change-Id: I9b09d521ca71b18e180c779f1a048d1ea4ba161a
This commit is contained in:
ykhung
2023-07-27 15:08:29 +08:00
committed by YK Hung
parent 98df5bcde2
commit 0610d2b682
2 changed files with 17 additions and 1 deletions

View File

@@ -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;