diff options
author | Adam Cohen <adamcohen@google.com> | 2013-11-27 21:05:59 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2013-11-27 21:06:00 +0000 |
commit | 76980e33978b3d1aa1fd870e98995c713ba2e1d0 (patch) | |
tree | 71fed122e409cd68416dfc32ffc47ee98f0c644b | |
parent | 6400b84d5594d7b9244e3b118f107033eb8b87a0 (diff) | |
parent | d8dbb46468e0a8860468661a6edfb7969bfdf0a7 (diff) | |
download | android_packages_apps_Trebuchet-76980e33978b3d1aa1fd870e98995c713ba2e1d0.tar.gz android_packages_apps_Trebuchet-76980e33978b3d1aa1fd870e98995c713ba2e1d0.tar.bz2 android_packages_apps_Trebuchet-76980e33978b3d1aa1fd870e98995c713ba2e1d0.zip |
Merge "Fix binding problem with no screens (issue 11768766)" into jb-ub-now-jolly-elf
-rw-r--r-- | src/com/android/launcher3/LauncherModel.java | 28 |
1 files changed, 7 insertions, 21 deletions
diff --git a/src/com/android/launcher3/LauncherModel.java b/src/com/android/launcher3/LauncherModel.java index 6a6cb3538..4d9dff93a 100644 --- a/src/com/android/launcher3/LauncherModel.java +++ b/src/com/android/launcher3/LauncherModel.java @@ -2041,12 +2041,6 @@ public class LauncherModel extends BroadcastReceiver { } } - // If we aren't filtering on a screen, then the set of items to load is the full set of - // items given. - if (currentScreenId < 0) { - throw new RuntimeException("Unexpected screen id"); - } - // Order the set of items by their containers first, this allows use to walk through the // list sequentially, build up a list of containers that are in the specified screen, // as well as all items in those containers. @@ -2084,11 +2078,6 @@ public class LauncherModel extends BroadcastReceiver { ArrayList<LauncherAppWidgetInfo> appWidgets, ArrayList<LauncherAppWidgetInfo> currentScreenWidgets, ArrayList<LauncherAppWidgetInfo> otherScreenWidgets) { - // If we aren't filtering on a screen, then the set of items to load is the full set of - // widgets given. - if (currentScreenId < 0) { - throw new RuntimeException("Unexpected screen id"); - } for (LauncherAppWidgetInfo widget : appWidgets) { if (widget == null) continue; @@ -2107,11 +2096,6 @@ public class LauncherModel extends BroadcastReceiver { HashMap<Long, FolderInfo> folders, HashMap<Long, FolderInfo> currentScreenFolders, HashMap<Long, FolderInfo> otherScreenFolders) { - // If we aren't filtering on a screen, then the set of items to load is the full set of - // widgets given. - if (currentScreenId < 0) { - throw new RuntimeException("Unexpected screen id"); - } for (long id : folders.keySet()) { ItemInfo info = itemsIdMap.get(id); @@ -2261,13 +2245,15 @@ public class LauncherModel extends BroadcastReceiver { } final boolean isLoadingSynchronously = (synchronizeBindPage > -1); - final int currentScreen = isLoadingSynchronously ? synchronizeBindPage : + int currScreen = isLoadingSynchronously ? synchronizeBindPage : oldCallbacks.getCurrentWorkspaceScreen(); - if (currentScreen >= orderedScreenIds.size()) { - Log.w(TAG, "Invalid screen id to synchronously load"); - return; + if (currScreen >= orderedScreenIds.size()) { + // There may be no workspace screens (just hotseat items and an empty page). + currScreen = -1; } - final long currentScreenId = orderedScreenIds.get(currentScreen); + final int currentScreen = currScreen; + final long currentScreenId = + currentScreen < 0 ? -1 : orderedScreenIds.get(currentScreen); // Load all the items that are on the current page first (and in the process, unbind // all the existing workspace items before we call startBinding() below. |