OSDN Git Service

Fix testcase error and UI refresh issue
authorRaff Tsai <rafftsai@google.com>
Mon, 9 Sep 2019 03:53:39 +0000 (11:53 +0800)
committerRaff Tsai <rafftsai@google.com>
Mon, 9 Sep 2019 04:00:21 +0000 (12:00 +0800)
Restricted App list can be update in RestrictedAppDetails page and
go back to SmartBatterySettings page without update the App list.
We need to update the list in updateState() again.

Fixes: 140585454
Test: manual, robolectric
Change-Id: I48a197351ffb9b07490f1de7ba1f7417102458a2

src/com/android/settings/fuelgauge/PowerUsageBase.java
src/com/android/settings/fuelgauge/RestrictAppPreferenceController.java
tests/robotests/src/com/android/settings/fuelgauge/PowerUsageBaseTest.java

index 821bd7a..98b62d9 100644 (file)
@@ -80,7 +80,7 @@ public abstract class PowerUsageBase extends DashboardFragment {
         final Bundle bundle = new Bundle();
         bundle.putInt(KEY_REFRESH_TYPE, refreshType);
 
-        LoaderManager.getInstance(this).restartLoader(0, bundle, new PowerLoaderCallback());
+        getLoaderManager().restartLoader(0, bundle, new PowerLoaderCallback());
     }
 
     protected abstract void refreshUi(@BatteryUpdateType int refreshType);
index 4dd4419..1460d75 100644 (file)
@@ -63,10 +63,15 @@ public class RestrictAppPreferenceController extends BasePreferenceController {
     }
 
     @Override
-    public CharSequence getSummary() {
+    public void updateState(Preference preference) {
+        super.updateState(preference);
+        mAppInfos = BatteryTipUtils.getRestrictedAppsList(mAppOpsManager, mUserManager);
         final int num = mAppInfos.size();
-        return mContext.getResources().getQuantityString(R.plurals.restricted_app_summary, num,
-                        num);
+        // Fragment change RestrictedAppsList after onPause(), UI needs to be updated in onResume()
+        preference.setVisible(num > 0);
+        preference.setSummary(
+                mContext.getResources().getQuantityString(R.plurals.restricted_app_summary, num,
+                        num));
     }
 
     @Override
index e66c7e1..cd1b178 100644 (file)
@@ -57,7 +57,7 @@ public class PowerUsageBaseTest {
 
         mFragment = spy(new TestFragment());
         mFragment.setBatteryStatsHelper(mBatteryStatsHelper);
-        doReturn(mLoaderManager).when(LoaderManager.getInstance(any()));
+        doReturn(mLoaderManager).when(mFragment).getLoaderManager();
     }
 
     @Test