From 577240642d0e1c24c7789fe1af5c12c1eb61f73f Mon Sep 17 00:00:00 2001 From: Raff Tsai Date: Thu, 5 Sep 2019 14:22:09 +0800 Subject: [PATCH] Fix Battery usage page refresh issue restartBatteryStatsLoader made a loader existed in fragment. onStart will resume the loader. onResume registers mBatteryBroadcastReceiver will caused the loader activated the second time. We move restartBatteryStatsLoader to onStart can reduce the loader runs only once. Fixes: 140488811 Test: manual Change-Id: I4cac574ea8e9c07c1a9df48a57fb8140d5687b21 --- .../android/settings/fuelgauge/PowerUsageBase.java | 11 +++-------- .../settings/fuelgauge/PowerUsageBaseTest.java | 2 +- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/src/com/android/settings/fuelgauge/PowerUsageBase.java b/src/com/android/settings/fuelgauge/PowerUsageBase.java index ec73b1b57a8..821bd7a0eb0 100644 --- a/src/com/android/settings/fuelgauge/PowerUsageBase.java +++ b/src/com/android/settings/fuelgauge/PowerUsageBase.java @@ -67,17 +67,12 @@ public abstract class PowerUsageBase extends DashboardFragment { @Override public void onStart() { super.onStart(); - } - - @Override - public void onResume() { - super.onResume(); mBatteryBroadcastReceiver.register(); } @Override - public void onPause() { - super.onPause(); + public void onStop() { + super.onStop(); mBatteryBroadcastReceiver.unRegister(); } @@ -85,7 +80,7 @@ public abstract class PowerUsageBase extends DashboardFragment { final Bundle bundle = new Bundle(); bundle.putInt(KEY_REFRESH_TYPE, refreshType); - getLoaderManager().restartLoader(0, bundle, new PowerLoaderCallback()); + LoaderManager.getInstance(this).restartLoader(0, bundle, new PowerLoaderCallback()); } protected abstract void refreshUi(@BatteryUpdateType int refreshType); diff --git a/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageBaseTest.java b/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageBaseTest.java index cd1b1780d2c..e66c7e142ad 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageBaseTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageBaseTest.java @@ -57,7 +57,7 @@ public class PowerUsageBaseTest { mFragment = spy(new TestFragment()); mFragment.setBatteryStatsHelper(mBatteryStatsHelper); - doReturn(mLoaderManager).when(mFragment).getLoaderManager(); + doReturn(mLoaderManager).when(LoaderManager.getInstance(any())); } @Test