diff --git a/src/com/android/settings/applications/AppStateBaseBridge.java b/src/com/android/settings/applications/AppStateBaseBridge.java index 1a39483af9a..d7f253b6c0b 100644 --- a/src/com/android/settings/applications/AppStateBaseBridge.java +++ b/src/com/android/settings/applications/AppStateBaseBridge.java @@ -36,6 +36,8 @@ public abstract class AppStateBaseBridge implements ApplicationsState.Callbacks protected final BackgroundHandler mHandler; protected final MainHandler mMainHandler; + private boolean mForceLoadAllApps; + public AppStateBaseBridge(ApplicationsState appState, Callback callback) { mAppState = appState; mAppSession = mAppState != null ? mAppState.newSession(this) : null; @@ -48,13 +50,22 @@ public abstract class AppStateBaseBridge implements ApplicationsState.Callbacks mMainHandler = new MainHandler(Looper.getMainLooper()); } - public void resume() { + public void resume(boolean forceLoadAllApps) { + mForceLoadAllApps = forceLoadAllApps; mHandler.sendEmptyMessage(BackgroundHandler.MSG_LOAD_ALL); - mAppSession.onResume(); + if (mForceLoadAllApps) { + mAppSession.onResume(); + } else { + mAppSession.activateSession(); + } } public void pause() { - mAppSession.onPause(); + if (mForceLoadAllApps) { + mAppSession.onPause(); + } else { + mAppSession.deactivateSession(); + } } public void release() { diff --git a/src/com/android/settings/applications/SpecialAppAccessPreferenceController.java b/src/com/android/settings/applications/SpecialAppAccessPreferenceController.java index 19b8f504840..42f5930ed62 100644 --- a/src/com/android/settings/applications/SpecialAppAccessPreferenceController.java +++ b/src/com/android/settings/applications/SpecialAppAccessPreferenceController.java @@ -74,7 +74,7 @@ public class SpecialAppAccessPreferenceController extends BasePreferenceControll @Override public void onStart() { - mDataUsageBridge.resume(); + mDataUsageBridge.resume(true /* forceLoadAllApps */); } @Override diff --git a/src/com/android/settings/applications/manageapplications/ManageApplications.java b/src/com/android/settings/applications/manageapplications/ManageApplications.java index c081ef9af1e..a6abd10374f 100644 --- a/src/com/android/settings/applications/manageapplications/ManageApplications.java +++ b/src/com/android/settings/applications/manageapplications/ManageApplications.java @@ -1185,7 +1185,7 @@ public class ManageApplications extends InstrumentedFragment mSession.onResume(); mLastSortMode = sort; if (mExtraInfoBridge != null) { - mExtraInfoBridge.resume(); + mExtraInfoBridge.resume(false /* forceLoadAllApps */); } rebuild(); } else { diff --git a/src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsAccess.java b/src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsAccess.java index 3df19beeec6..54ac63ebca5 100644 --- a/src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsAccess.java +++ b/src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsAccess.java @@ -74,7 +74,7 @@ public class PremiumSmsAccess extends EmptyTextSettings @Override public void onResume() { super.onResume(); - mSmsBackend.resume(); + mSmsBackend.resume(true /* forceLoadAllApps */); } @Override diff --git a/src/com/android/settings/datausage/DataSaverSummary.java b/src/com/android/settings/datausage/DataSaverSummary.java index 2e52e38e58f..744f692bcb0 100644 --- a/src/com/android/settings/datausage/DataSaverSummary.java +++ b/src/com/android/settings/datausage/DataSaverSummary.java @@ -83,7 +83,7 @@ public class DataSaverSummary extends SettingsPreferenceFragment mDataSaverBackend.refreshAllowlist(); mDataSaverBackend.refreshDenylist(); mDataSaverBackend.addListener(this); - mDataUsageBridge.resume(); + mDataUsageBridge.resume(true /* forceLoadAllApps */); } @Override diff --git a/src/com/android/settings/datausage/UnrestrictedDataAccessPreferenceController.java b/src/com/android/settings/datausage/UnrestrictedDataAccessPreferenceController.java index ac088c037e0..06cf8eda6d2 100644 --- a/src/com/android/settings/datausage/UnrestrictedDataAccessPreferenceController.java +++ b/src/com/android/settings/datausage/UnrestrictedDataAccessPreferenceController.java @@ -91,7 +91,7 @@ public class UnrestrictedDataAccessPreferenceController extends BasePreferenceCo @Override public void onStart() { - mDataUsageBridge.resume(); + mDataUsageBridge.resume(true /* forceLoadAllApps */); } @Override