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;