From 63fbf68a42df5f69671257cb88fd5ef9a8bacb89 Mon Sep 17 00:00:00 2001 From: Jason Monk Date: Thu, 4 Jun 2015 10:57:31 -0400 Subject: [PATCH] Fix updates of the enable/disable button Make the entire ApplicationsState resume and do way too much work so that we can get a little bit of state. ApplicationsState could use some refactoring. Bug: 21518528 Change-Id: Ibb6a2c15948f9bc69490426d4004dc83582087b4 --- src/com/android/settings/applications/AppInfoBase.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/com/android/settings/applications/AppInfoBase.java b/src/com/android/settings/applications/AppInfoBase.java index 5e0f4ebf10b..6dbeefd8b6d 100644 --- a/src/com/android/settings/applications/AppInfoBase.java +++ b/src/com/android/settings/applications/AppInfoBase.java @@ -54,6 +54,7 @@ public abstract class AppInfoBase extends SettingsPreferenceFragment protected boolean mAppControlRestricted = false; protected ApplicationsState mState; + protected ApplicationsState.Session mSession; protected ApplicationsState.AppEntry mAppEntry; protected PackageInfo mPackageInfo; protected int mUserId; @@ -75,6 +76,7 @@ public abstract class AppInfoBase extends SettingsPreferenceFragment mFinishing = false; mState = ApplicationsState.getInstance(getActivity().getApplication()); + mSession = mState.newSession(this); Context context = getActivity(); mDpm = (DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE); mUserManager = (UserManager) context.getSystemService(Context.USER_SERVICE); @@ -88,6 +90,7 @@ public abstract class AppInfoBase extends SettingsPreferenceFragment @Override public void onResume() { super.onResume(); + mSession.resume(); mAppControlRestricted = mUserManager.hasUserRestriction(UserManager.DISALLOW_APPS_CONTROL); if (!refreshUi()) { @@ -95,6 +98,12 @@ public abstract class AppInfoBase extends SettingsPreferenceFragment } } + @Override + public void onPause() { + mSession.pause(); + super.onPause(); + } + protected String retrieveAppEntry() { final Bundle args = getArguments(); mPackageName = (args != null) ? args.getString(ARG_PACKAGE_NAME) : null;