Merge "[BugFix] Fix the incorrect state for dockdefend on battery settings page" into main

This commit is contained in:
Pajace Chen
2024-07-23 00:37:13 +00:00
committed by Android (Google) Code Review
2 changed files with 26 additions and 1 deletions

View File

@@ -81,7 +81,10 @@ public class BatteryHeaderPreferenceController extends BasePreferenceController
return mContext.getString(
com.android.settingslib.R.string.battery_info_status_not_charging);
}
if (BatteryUtils.isBatteryDefenderOn(info)) {
if (BatteryUtils.isBatteryDefenderOn(info)
|| FeatureFactory.getFeatureFactory()
.getPowerUsageFeatureProvider()
.isExtraDefend()) {
return mContext.getString(
com.android.settingslib.R.string.battery_info_status_charging_on_hold);
}

View File

@@ -389,6 +389,28 @@ public class BatteryHeaderPreferenceControllerTest {
verify(mBatteryUsageProgressBarPref).setBottomSummary(expectedChargingString);
}
@Test
public void updateBatteryStatus_dockDefend_chargingOnHold() {
var expected = "Charging on hold";
mBatteryInfo.isBatteryDefender = false;
when(mFactory.powerUsageFeatureProvider.isExtraDefend()).thenReturn(true);
mController.updateBatteryStatus(/* label= */ null, mBatteryInfo);
verify(mBatteryUsageProgressBarPref).setBottomSummary(expected);
}
@Test
public void updateBatteryStatus_batteryDefender_chargingOnHold() {
var expected = "Charging on hold";
mBatteryInfo.isBatteryDefender = true;
when(mFactory.powerUsageFeatureProvider.isExtraDefend()).thenReturn(false);
mController.updateBatteryStatus(/* label= */ null, mBatteryInfo);
verify(mBatteryUsageProgressBarPref).setBottomSummary(expected);
}
private BatteryInfo arrangeUpdateBatteryStatusTestWithRemainingLabel(
String remainingLabel,
String statusLabel,