Ensure loading all apps once in ManageApplications
Some pages that extend ManageApplications always display a loading spinner when entering them. This is caused by that it takes over 100 ms to load all apps and to sort the apps. In addition, the task of loading all apps might be invoked twice, which caused loading time increasing. This CL is to make sure the task of loading all apps execute only once in those pages that extend ManageApplications. Bug: 222985623 Test: manual test Change-Id: I3b15bf2eee2a4c220f42da39a29f0014cc620898
This commit is contained in:
@@ -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);
|
||||
if (mForceLoadAllApps) {
|
||||
mAppSession.onResume();
|
||||
} else {
|
||||
mAppSession.activateSession();
|
||||
}
|
||||
}
|
||||
|
||||
public void pause() {
|
||||
if (mForceLoadAllApps) {
|
||||
mAppSession.onPause();
|
||||
} else {
|
||||
mAppSession.deactivateSession();
|
||||
}
|
||||
}
|
||||
|
||||
public void release() {
|
||||
|
@@ -74,7 +74,7 @@ public class SpecialAppAccessPreferenceController extends BasePreferenceControll
|
||||
|
||||
@Override
|
||||
public void onStart() {
|
||||
mDataUsageBridge.resume();
|
||||
mDataUsageBridge.resume(true /* forceLoadAllApps */);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -1176,7 +1176,7 @@ public class ManageApplications extends InstrumentedFragment
|
||||
mSession.onResume();
|
||||
mLastSortMode = sort;
|
||||
if (mExtraInfoBridge != null) {
|
||||
mExtraInfoBridge.resume();
|
||||
mExtraInfoBridge.resume(false /* forceLoadAllApps */);
|
||||
}
|
||||
rebuild();
|
||||
} else {
|
||||
|
@@ -74,7 +74,7 @@ public class PremiumSmsAccess extends EmptyTextSettings
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
mSmsBackend.resume();
|
||||
mSmsBackend.resume(true /* forceLoadAllApps */);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -83,7 +83,7 @@ public class DataSaverSummary extends SettingsPreferenceFragment
|
||||
mDataSaverBackend.refreshAllowlist();
|
||||
mDataSaverBackend.refreshDenylist();
|
||||
mDataSaverBackend.addListener(this);
|
||||
mDataUsageBridge.resume();
|
||||
mDataUsageBridge.resume(true /* forceLoadAllApps */);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -91,7 +91,7 @@ public class UnrestrictedDataAccessPreferenceController extends BasePreferenceCo
|
||||
|
||||
@Override
|
||||
public void onStart() {
|
||||
mDataUsageBridge.resume();
|
||||
mDataUsageBridge.resume(true /* forceLoadAllApps */);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
Reference in New Issue
Block a user