Ensuring that restoreInstanceState is being called promptly for synchronously bound page
Change-Id: I0e71c29f553ad360ec42a6a0b2529d16cbddd437
diff --git a/src/com/android/launcher2/LauncherModel.java b/src/com/android/launcher2/LauncherModel.java
index ab29fc6..40a9e21 100644
--- a/src/com/android/launcher2/LauncherModel.java
+++ b/src/com/android/launcher2/LauncherModel.java
@@ -156,6 +156,7 @@
public boolean isAllAppsVisible();
public boolean isAllAppsButtonRank(int rank);
public void bindSearchablesChanged();
+ public void onPageBoundSynchronously(int page);
}
LauncherModel(LauncherApplication app, IconCache iconCache) {
@@ -1614,6 +1615,17 @@
// Load items on the current page
bindWorkspaceItems(oldCallbacks, currentWorkspaceItems, currentAppWidgets,
currentFolders, null);
+ if (isLoadingSynchronously) {
+ r = new Runnable() {
+ public void run() {
+ Callbacks callbacks = tryGetCallbacks(oldCallbacks);
+ if (callbacks != null) {
+ callbacks.onPageBoundSynchronously(currentScreen);
+ }
+ }
+ };
+ runOnMainThread(r);
+ }
// Load all the remaining pages (if we are loading synchronously, we want to defer this
// work until after the first render)