From 1becb7764d45fc4ac32754eab65ddc43a5ca037e Mon Sep 17 00:00:00 2001 From: jackqdyulei Date: Wed, 22 Aug 2018 14:44:29 -0700 Subject: [PATCH] Fix the time flicker in battery settings page Don't clear the text when reciever has been re-registered in onResume(), where quickUpdate has been called. Change-Id: Ie056dfb225a1bf6c224932b310a97499fc26e8f0 Fixes: 69312991 Test: RunSettingsRoboTests --- .../BatteryHeaderPreferenceController.java | 4 ---- ...BatteryHeaderPreferenceControllerTest.java | 19 ++++++++++++------- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceController.java b/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceController.java index 5b5f50afd18..ef30ce6adf2 100644 --- a/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceController.java +++ b/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceController.java @@ -135,9 +135,5 @@ public class BatteryHeaderPreferenceController extends BasePreferenceController mBatteryMeterView.setCharging(!discharging); mBatteryMeterView.setPowerSave(mPowerManager.isPowerSaveMode()); mBatteryPercentText.setText(Utils.formatPercentage(batteryLevel)); - - // clear all the summaries - mSummary1.setText(""); - mSummary2.setText(""); } } diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceControllerTest.java index 337b950fe49..491d71c8230 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceControllerTest.java @@ -140,7 +140,7 @@ public class BatteryHeaderPreferenceControllerTest { } @Test - public void testDisplayPreference_displayBatteryLevel() { + public void displayPreference_displayBatteryLevel() { mController.displayPreference(mPreferenceScreen); assertThat(((BatteryMeterView) mBatteryLayoutPref.findViewById( @@ -150,7 +150,7 @@ public class BatteryHeaderPreferenceControllerTest { } @Test - public void testUpdatePreference_hasRemainingTime_showRemainingLabel() { + public void updatePreference_hasRemainingTime_showRemainingLabel() { mBatteryInfo.remainingLabel = TIME_LEFT; mController.updateHeaderPreference(mBatteryInfo); @@ -159,7 +159,7 @@ public class BatteryHeaderPreferenceControllerTest { } @Test - public void testUpdatePreference_updateBatteryInfo() { + public void updatePreference_updateBatteryInfo() { mBatteryInfo.remainingLabel = TIME_LEFT; mBatteryInfo.batteryLevel = BATTERY_LEVEL; mBatteryInfo.discharging = true; @@ -171,7 +171,7 @@ public class BatteryHeaderPreferenceControllerTest { } @Test - public void testUpdatePreference_noRemainingTime_showStatusLabel() { + public void updatePreference_noRemainingTime_showStatusLabel() { mBatteryInfo.remainingLabel = null; mBatteryInfo.statusLabel = BATTERY_STATUS; @@ -181,7 +181,7 @@ public class BatteryHeaderPreferenceControllerTest { } @Test - public void testOnStart_shouldStyleActionBar() { + public void onStart_shouldStyleActionBar() { when(mEntityHeaderController.setRecyclerView(nullable(RecyclerView.class), eq(mLifecycle))) .thenReturn(mEntityHeaderController); @@ -192,16 +192,21 @@ public class BatteryHeaderPreferenceControllerTest { } @Test - public void testQuickUpdateHeaderPreference_showBatteryLevelAndChargingState() { + public void quickUpdateHeaderPreference_onlyUpdateBatteryLevelAndChargingState() { + mSummary.setText(BATTERY_STATUS); + mSummary2.setText(BATTERY_STATUS); + mController.quickUpdateHeaderPreference(); assertThat(mBatteryMeterView.getBatteryLevel()).isEqualTo(BATTERY_LEVEL); assertThat(mBatteryMeterView.getCharging()).isTrue(); assertThat(mBatteryPercentText.getText()).isEqualTo("60%"); + assertThat(mSummary.getText()).isEqualTo(BATTERY_STATUS); + assertThat(mSummary2.getText()).isEqualTo(BATTERY_STATUS); } @Test - public void testQuickUpdateHeaderPreference_showPowerSave() { + public void quickUpdateHeaderPreference_showPowerSave() { boolean testValues[] = {false, true}; ShadowPowerManager shadowPowerManager = Shadows.shadowOf(mPowerManager);