Merge "Restart loader in onResume" into oc-dev

This commit is contained in:
Lei Yu
2017-06-02 19:21:27 +00:00
committed by Android (Google) Code Review
2 changed files with 25 additions and 4 deletions

View File

@@ -144,7 +144,8 @@ public class InstalledAppDetails extends AppInfoBase
private static final int LOADER_CHART_DATA = 2; private static final int LOADER_CHART_DATA = 2;
private static final int LOADER_STORAGE = 3; private static final int LOADER_STORAGE = 3;
private static final int LOADER_BATTERY = 4; @VisibleForTesting
static final int LOADER_BATTERY = 4;
private static final int DLG_FORCE_STOP = DLG_BASE + 1; private static final int DLG_FORCE_STOP = DLG_BASE + 1;
private static final int DLG_DISABLE = DLG_BASE + 2; private static final int DLG_DISABLE = DLG_BASE + 2;
@@ -207,7 +208,8 @@ public class InstalledAppDetails extends AppInfoBase
private AppStorageStats mLastResult; private AppStorageStats mLastResult;
private String mBatteryPercent; private String mBatteryPercent;
private final LoaderCallbacks<BatteryStatsHelper> mBatteryCallbacks = @VisibleForTesting
final LoaderCallbacks<BatteryStatsHelper> mBatteryCallbacks =
new LoaderCallbacks<BatteryStatsHelper>() { new LoaderCallbacks<BatteryStatsHelper>() {
@Override @Override
@@ -415,11 +417,16 @@ public class InstalledAppDetails extends AppInfoBase
mDataCallbacks); mDataCallbacks);
loaderManager.restartLoader(LOADER_STORAGE, Bundle.EMPTY, this); loaderManager.restartLoader(LOADER_STORAGE, Bundle.EMPTY, this);
} }
getLoaderManager().initLoader(LOADER_BATTERY, Bundle.EMPTY, mBatteryCallbacks); restartBatteryStatsLoader();
new MemoryUpdater().execute(); new MemoryUpdater().execute();
updateDynamicPrefs(); updateDynamicPrefs();
} }
@VisibleForTesting
public void restartBatteryStatsLoader() {
getLoaderManager().restartLoader(LOADER_BATTERY, Bundle.EMPTY, mBatteryCallbacks);
}
@Override @Override
public void onPause() { public void onPause() {
getLoaderManager().destroyLoader(LOADER_CHART_DATA); getLoaderManager().destroyLoader(LOADER_CHART_DATA);

View File

@@ -17,6 +17,7 @@
package com.android.settings.applications; package com.android.settings.applications;
import android.app.AlertDialog; import android.app.AlertDialog;
import android.app.LoaderManager;
import android.app.admin.DevicePolicyManager; import android.app.admin.DevicePolicyManager;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
@@ -25,6 +26,7 @@ import android.content.pm.PackageInfo;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.content.res.Resources; import android.content.res.Resources;
import android.os.BatteryStats; import android.os.BatteryStats;
import android.os.Bundle;
import android.os.UserManager; import android.os.UserManager;
import android.support.v7.preference.Preference; import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceManager; import android.support.v7.preference.PreferenceManager;
@@ -107,8 +109,10 @@ public final class InstalledAppDetailsTest {
private PackageManager mPackageManager; private PackageManager mPackageManager;
@Mock @Mock
private BatteryUtils mBatteryUtils; private BatteryUtils mBatteryUtils;
private FakeFeatureFactory mFeatureFactory; @Mock
private LoaderManager mLoaderManager;
private FakeFeatureFactory mFeatureFactory;
private InstalledAppDetails mAppDetail; private InstalledAppDetails mAppDetail;
private Context mShadowContext; private Context mShadowContext;
private Preference mBatteryPreference; private Preference mBatteryPreference;
@@ -528,6 +532,16 @@ public final class InstalledAppDetailsTest {
verify(button).setText(R.string.disable_text); verify(button).setText(R.string.disable_text);
} }
@Test
public void testRestartBatteryStatsLoader() {
doReturn(mLoaderManager).when(mAppDetail).getLoaderManager();
mAppDetail.restartBatteryStatsLoader();
verify(mLoaderManager).restartLoader(InstalledAppDetails.LOADER_BATTERY, Bundle.EMPTY,
mAppDetail.mBatteryCallbacks);
}
@Implements(Utils.class) @Implements(Utils.class)
public static class ShadowUtils { public static class ShadowUtils {
@Implementation @Implementation