summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAdam Cohen <adamcohen@google.com>2013-11-27 21:05:59 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2013-11-27 21:06:00 +0000
commit76980e33978b3d1aa1fd870e98995c713ba2e1d0 (patch)
tree71fed122e409cd68416dfc32ffc47ee98f0c644b /src
parent6400b84d5594d7b9244e3b118f107033eb8b87a0 (diff)
parentd8dbb46468e0a8860468661a6edfb7969bfdf0a7 (diff)
downloadandroid_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
Diffstat (limited to 'src')
-rw-r--r--src/com/android/launcher3/LauncherModel.java28
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.