Make ApplicationsState.Session lifecycle-aware

Bug: 66682989
Test: RunSettingsRoboTests
Change-Id: Idf56788fcae22639b7bf604a8c73cd5f0ff2da16
This commit is contained in:
Tony Mantler
2017-09-21 15:50:27 -07:00
parent 10ba1f1ee7
commit 76cbd4b3b2
8 changed files with 13 additions and 55 deletions

View File

@@ -28,7 +28,6 @@ import android.content.pm.ApplicationInfo;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.content.pm.UserInfo;
import android.content.res.Resources;
import android.net.Uri;
import android.os.AsyncTask;
@@ -77,7 +76,7 @@ import java.util.List;
*/
//TODO(b/35810915): Make InstalledAppDetails use this controller
public class AppButtonsPreferenceController extends AbstractPreferenceController implements
PreferenceControllerMixin, LifecycleObserver, OnResume, OnPause, OnDestroy,
PreferenceControllerMixin, LifecycleObserver, OnResume, OnDestroy,
ApplicationsState.Callbacks {
public static final String APP_CHG = "chg";
@@ -144,7 +143,7 @@ public class AppButtonsPreferenceController extends AbstractPreferenceController
if (packageName != null) {
mAppEntry = mState.getEntry(packageName, mUserId);
mSession = mState.newSession(this);
mSession = mState.newSession(this, lifecycle);
lifecycle.addObserver(this);
} else {
mFinishing = true;
@@ -179,7 +178,6 @@ public class AppButtonsPreferenceController extends AbstractPreferenceController
@Override
public void onResume() {
mSession.resume();
if (isAvailable() && !mFinishing) {
mAppsControlDisallowedBySystem = RestrictedLockUtils.hasBaseUserRestriction(mActivity,
UserManager.DISALLOW_APPS_CONTROL, mUserId);
@@ -192,15 +190,9 @@ public class AppButtonsPreferenceController extends AbstractPreferenceController
}
}
@Override
public void onPause() {
mSession.pause();
}
@Override
public void onDestroy() {
stopListeningToPackageRemove();
mSession.release();
}
private class UninstallAndDisableButtonListener implements View.OnClickListener {