Update battery states text to support battery feature(1/2)
- Update progress bar bottom text when receiving battery feature callback Bug: 183689347 Bug: 177407113 Test: make SettingsRoboTests Change-Id: Ic8b24cbb149f7e470d28327a9a1dd84bbd5673f7
This commit is contained in:
committed by
Wesley Wang
parent
11d74e7231
commit
d324393fac
@@ -136,9 +136,12 @@ public class BatteryHeaderPreferenceController extends BasePreferenceController
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void updateHeaderPreference(BatteryInfo info) {
|
public void updateHeaderPreference(BatteryInfo info) {
|
||||||
|
if (!mBatteryStatusFeatureProvider.triggerBatteryStatusUpdate(this, info)) {
|
||||||
|
mBatteryUsageProgressBarPref.setBottomSummary(generateLabel(info));
|
||||||
|
}
|
||||||
|
|
||||||
mBatteryUsageProgressBarPref.setUsageSummary(
|
mBatteryUsageProgressBarPref.setUsageSummary(
|
||||||
formatBatteryPercentageText(info.batteryLevel));
|
formatBatteryPercentageText(info.batteryLevel));
|
||||||
mBatteryUsageProgressBarPref.setBottomSummary(generateLabel(info));
|
|
||||||
mBatteryUsageProgressBarPref.setPercent(info.batteryLevel, BATTERY_MAX_LEVEL);
|
mBatteryUsageProgressBarPref.setPercent(info.batteryLevel, BATTERY_MAX_LEVEL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -88,6 +88,8 @@ public class BatteryHeaderPreferenceControllerTest {
|
|||||||
private EntityHeaderController mEntityHeaderController;
|
private EntityHeaderController mEntityHeaderController;
|
||||||
@Mock
|
@Mock
|
||||||
private UsageProgressBarPreference mBatteryUsageProgressBarPref;
|
private UsageProgressBarPreference mBatteryUsageProgressBarPref;
|
||||||
|
@Mock
|
||||||
|
private BatteryStatusFeatureProvider mBatteryStatusFeatureProvider;
|
||||||
private BatteryHeaderPreferenceController mController;
|
private BatteryHeaderPreferenceController mController;
|
||||||
private Context mContext;
|
private Context mContext;
|
||||||
private ShadowPowerManager mShadowPowerManager;
|
private ShadowPowerManager mShadowPowerManager;
|
||||||
@@ -123,6 +125,7 @@ public class BatteryHeaderPreferenceControllerTest {
|
|||||||
mController.setFragment(mPreferenceFragment);
|
mController.setFragment(mPreferenceFragment);
|
||||||
mController.setLifecycle(mLifecycle);
|
mController.setLifecycle(mLifecycle);
|
||||||
mController.mBatteryUsageProgressBarPref = mBatteryUsageProgressBarPref;
|
mController.mBatteryUsageProgressBarPref = mBatteryUsageProgressBarPref;
|
||||||
|
mController.mBatteryStatusFeatureProvider = mBatteryStatusFeatureProvider;
|
||||||
}
|
}
|
||||||
|
|
||||||
@After
|
@After
|
||||||
@@ -150,7 +153,7 @@ public class BatteryHeaderPreferenceControllerTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void updatePreference_updateBatteryInfo() {
|
public void updatePreference_updateBatteryInfo() {
|
||||||
setChargingState(/* isDischarging */ true);
|
setChargingState(/* isDischarging */ true, /* updatedByStatusFeature */ false);
|
||||||
|
|
||||||
mController.updateHeaderPreference(mBatteryInfo);
|
mController.updateHeaderPreference(mBatteryInfo);
|
||||||
|
|
||||||
@@ -171,7 +174,7 @@ public class BatteryHeaderPreferenceControllerTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void updatePreference_charging_showFullText() {
|
public void updatePreference_charging_showFullText() {
|
||||||
setChargingState(/* isDischarging */ false);
|
setChargingState(/* isDischarging */ false, /* updatedByStatusFeature */ false);
|
||||||
|
|
||||||
mController.updateHeaderPreference(mBatteryInfo);
|
mController.updateHeaderPreference(mBatteryInfo);
|
||||||
|
|
||||||
@@ -181,7 +184,7 @@ public class BatteryHeaderPreferenceControllerTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void updatePreference_powerSaverOn_showPowerSaverOn() {
|
public void updatePreference_powerSaverOn_showPowerSaverOn() {
|
||||||
setChargingState(/* isDischarging */ true);
|
setChargingState(/* isDischarging */ true, /* updatedByStatusFeature */ false);
|
||||||
mShadowPowerManager.setIsPowerSaveMode(true);
|
mShadowPowerManager.setIsPowerSaveMode(true);
|
||||||
|
|
||||||
mController.updateHeaderPreference(mBatteryInfo);
|
mController.updateHeaderPreference(mBatteryInfo);
|
||||||
@@ -190,9 +193,49 @@ public class BatteryHeaderPreferenceControllerTest {
|
|||||||
verify(mBatteryUsageProgressBarPref).setBottomSummary(expectedResult);
|
verify(mBatteryUsageProgressBarPref).setBottomSummary(expectedResult);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void updatePreference_triggerBatteryStatusUpdateTrue_updatePercentageAndUsageOnly() {
|
||||||
|
setChargingState(/* isDischarging */ true, /* updatedByStatusFeature */ true);
|
||||||
|
|
||||||
|
mController.updateHeaderPreference(mBatteryInfo);
|
||||||
|
|
||||||
|
verify(mBatteryUsageProgressBarPref).setUsageSummary(formatBatteryPercentageText());
|
||||||
|
verify(mBatteryUsageProgressBarPref).setPercent(BATTERY_LEVEL, BATTERY_MAX_LEVEL);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void updatePreference_triggerBatteryStatusUpdateFalse_updateBatteryInfo() {
|
||||||
|
setChargingState(/* isDischarging */ true, /* updatedByStatusFeature */ false);
|
||||||
|
|
||||||
|
mController.updateHeaderPreference(mBatteryInfo);
|
||||||
|
|
||||||
|
verify(mBatteryUsageProgressBarPref).setUsageSummary(formatBatteryPercentageText());
|
||||||
|
verify(mBatteryUsageProgressBarPref).setBottomSummary(mBatteryInfo.remainingLabel);
|
||||||
|
verify(mBatteryUsageProgressBarPref).setPercent(BATTERY_LEVEL, BATTERY_MAX_LEVEL);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void updateBatteryStatus_nullLabel_updateSummaryOnly() {
|
||||||
|
setChargingState(/* isDischarging */ true, /* updatedByStatusFeature */ false);
|
||||||
|
|
||||||
|
mController.updateBatteryStatus(null, mBatteryInfo);
|
||||||
|
|
||||||
|
verify(mBatteryUsageProgressBarPref).setBottomSummary(mBatteryInfo.remainingLabel);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void updateBatteryStatus_withLabel_showLabelText() {
|
||||||
|
setChargingState(/* isDischarging */ true, /* updatedByStatusFeature */ false);
|
||||||
|
|
||||||
|
final String label = "Update by battery status • " + TIME_LEFT;
|
||||||
|
mController.updateBatteryStatus(label, mBatteryInfo);
|
||||||
|
|
||||||
|
verify(mBatteryUsageProgressBarPref).setBottomSummary(label);
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void updateHeaderByBatteryTips_lowBatteryTip_showLowBattery() {
|
public void updateHeaderByBatteryTips_lowBatteryTip_showLowBattery() {
|
||||||
setChargingState(/* isDischarging */ true);
|
setChargingState(/* isDischarging */ true, /* updatedByStatusFeature */ false);
|
||||||
BatteryTip lowBatteryTip = new LowBatteryTip(
|
BatteryTip lowBatteryTip = new LowBatteryTip(
|
||||||
BatteryTip.StateType.NEW, /* powerSaveModeOn */false);
|
BatteryTip.StateType.NEW, /* powerSaveModeOn */false);
|
||||||
|
|
||||||
@@ -204,7 +247,7 @@ public class BatteryHeaderPreferenceControllerTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void updateHeaderByBatteryTips_notLowBatteryTip_showRemainingLabel() {
|
public void updateHeaderByBatteryTips_notLowBatteryTip_showRemainingLabel() {
|
||||||
setChargingState(/* isDischarging */ true);
|
setChargingState(/* isDischarging */ true, /* updatedByStatusFeature */ false);
|
||||||
BatteryTip lowBatteryTip = new SmartBatteryTip(BatteryTip.StateType.NEW);
|
BatteryTip lowBatteryTip = new SmartBatteryTip(BatteryTip.StateType.NEW);
|
||||||
|
|
||||||
mController.updateHeaderByBatteryTips(lowBatteryTip, mBatteryInfo);
|
mController.updateHeaderByBatteryTips(lowBatteryTip, mBatteryInfo);
|
||||||
@@ -214,7 +257,7 @@ public class BatteryHeaderPreferenceControllerTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void updateHeaderByBatteryTips_noTip_noAction() {
|
public void updateHeaderByBatteryTips_noTip_noAction() {
|
||||||
setChargingState(/* isDischarging */ true);
|
setChargingState(/* isDischarging */ true, /* updatedByStatusFeature */ false);
|
||||||
|
|
||||||
mController.updateHeaderByBatteryTips(null, mBatteryInfo);
|
mController.updateHeaderByBatteryTips(null, mBatteryInfo);
|
||||||
|
|
||||||
@@ -270,9 +313,12 @@ public class BatteryHeaderPreferenceControllerTest {
|
|||||||
NumberFormat.getIntegerInstance().format(BATTERY_LEVEL));
|
NumberFormat.getIntegerInstance().format(BATTERY_LEVEL));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setChargingState(boolean isDischarging) {
|
private void setChargingState(boolean isDischarging, boolean updatedByStatusFeature) {
|
||||||
mBatteryInfo.remainingLabel = TIME_LEFT;
|
mBatteryInfo.remainingLabel = TIME_LEFT;
|
||||||
mBatteryInfo.statusLabel = BATTERY_STATUS;
|
mBatteryInfo.statusLabel = BATTERY_STATUS;
|
||||||
mBatteryInfo.discharging = isDischarging;
|
mBatteryInfo.discharging = isDischarging;
|
||||||
|
|
||||||
|
when(mBatteryStatusFeatureProvider.triggerBatteryStatusUpdate(
|
||||||
|
mController, mBatteryInfo)).thenReturn(updatedByStatusFeature);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user