diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceController.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceController.java index 07c3362c9ed..419ae90446b 100644 --- a/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceController.java +++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceController.java @@ -108,6 +108,7 @@ public class BatteryChartPreferenceController extends AbstractPreferenceControll private boolean mIs24HourFormat; private boolean mIsFooterPrefAdded = false; + private boolean mHourlyChartVisible = true; private View mBatteryChartViewGroup; private View mCategoryTitleView; private PreferenceScreen mPreferenceScreen; @@ -674,9 +675,10 @@ public class BatteryChartPreferenceController extends AbstractPreferenceControll } private void animateBatteryHourlyChartView(final boolean visible) { - if (mHourlyChartView == null) { + if (mHourlyChartView == null || mHourlyChartVisible == visible) { return; } + mHourlyChartVisible = visible; if (visible) { mHourlyChartView.setVisibility(View.VISIBLE); diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceControllerTest.java index 8f817fadb4a..3e2db616d0a 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceControllerTest.java @@ -184,8 +184,6 @@ public final class BatteryChartPreferenceControllerTest { mBatteryChartPreferenceController.setBatteryHistoryMap(createBatteryHistoryMap(6)); verify(mDailyChartView, atLeastOnce()).setVisibility(View.GONE); - verify(mHourlyChartView, atLeastOnce()).setVisibility(View.VISIBLE); - verify(mViewPropertyAnimator, atLeastOnce()).alpha(1f); // Ignore fast refresh ui from the data processor callback. verify(mHourlyChartView, atLeast(0)).setViewModel(null); verify(mHourlyChartView, atLeastOnce()).setViewModel(new BatteryChartViewModel( @@ -253,7 +251,6 @@ public final class BatteryChartPreferenceControllerTest { mBatteryChartPreferenceController.mHourlyChartIndex = 6; mBatteryChartPreferenceController.refreshUi(); verify(mDailyChartView).setVisibility(View.VISIBLE); - verify(mHourlyChartView).setVisibility(View.VISIBLE); verify(mViewPropertyAnimator, atLeastOnce()).alpha(1f); expectedDailyViewModel.setSelectedIndex(1); verify(mDailyChartView).setViewModel(expectedDailyViewModel); @@ -286,7 +283,6 @@ public final class BatteryChartPreferenceControllerTest { BatteryChartViewModel.SELECTED_INDEX_ALL; mBatteryChartPreferenceController.refreshUi(); verify(mDailyChartView).setVisibility(View.VISIBLE); - verify(mHourlyChartView).setVisibility(View.VISIBLE); verify(mViewPropertyAnimator, atLeastOnce()).alpha(1f); expectedDailyViewModel.setSelectedIndex(2); verify(mDailyChartView).setViewModel(expectedDailyViewModel);