diff --git a/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceController.java b/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceController.java index 7d15858f8b5..f121d0c2e5b 100644 --- a/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceController.java +++ b/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceController.java @@ -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); } diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceControllerTest.java index b949a3eb302..fdb075d2e03 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceControllerTest.java @@ -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,