Fix testcase error and UI refresh issue
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
This commit is contained in:
@@ -80,7 +80,7 @@ public abstract class PowerUsageBase extends DashboardFragment {
|
|||||||
final Bundle bundle = new Bundle();
|
final Bundle bundle = new Bundle();
|
||||||
bundle.putInt(KEY_REFRESH_TYPE, refreshType);
|
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);
|
protected abstract void refreshUi(@BatteryUpdateType int refreshType);
|
||||||
|
@@ -63,10 +63,15 @@ public class RestrictAppPreferenceController extends BasePreferenceController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public CharSequence getSummary() {
|
public void updateState(Preference preference) {
|
||||||
|
super.updateState(preference);
|
||||||
|
mAppInfos = BatteryTipUtils.getRestrictedAppsList(mAppOpsManager, mUserManager);
|
||||||
final int num = mAppInfos.size();
|
final int num = mAppInfos.size();
|
||||||
return mContext.getResources().getQuantityString(R.plurals.restricted_app_summary, num,
|
// Fragment change RestrictedAppsList after onPause(), UI needs to be updated in onResume()
|
||||||
num);
|
preference.setVisible(num > 0);
|
||||||
|
preference.setSummary(
|
||||||
|
mContext.getResources().getQuantityString(R.plurals.restricted_app_summary, num,
|
||||||
|
num));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -57,7 +57,7 @@ public class PowerUsageBaseTest {
|
|||||||
|
|
||||||
mFragment = spy(new TestFragment());
|
mFragment = spy(new TestFragment());
|
||||||
mFragment.setBatteryStatsHelper(mBatteryStatsHelper);
|
mFragment.setBatteryStatsHelper(mBatteryStatsHelper);
|
||||||
doReturn(mLoaderManager).when(LoaderManager.getInstance(any()));
|
doReturn(mLoaderManager).when(mFragment).getLoaderManager();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
Reference in New Issue
Block a user