diff options
author | Sunny Goyal <sunnygoyal@google.com> | 2016-12-08 09:59:25 -0800 |
---|---|---|
committer | Sunny Goyal <sunnygoyal@google.com> | 2016-12-12 08:37:33 -0800 |
commit | 3be633b82fc87f429bd92c9a8e1e7a6d5241418e (patch) | |
tree | 97969e71c87df58f88a13c105ef4fc586729311d /src/com/android/launcher3/model | |
parent | 621e2006473899c2047d66e3ef4b49c6d0db5a13 (diff) | |
download | android_packages_apps_Trebuchet-3be633b82fc87f429bd92c9a8e1e7a6d5241418e.tar.gz android_packages_apps_Trebuchet-3be633b82fc87f429bd92c9a8e1e7a6d5241418e.tar.bz2 android_packages_apps_Trebuchet-3be633b82fc87f429bd92c9a8e1e7a6d5241418e.zip |
Adding support for app widgets in the InstallQueue
Bug: 32904959
Change-Id: I0d07a0c59d266493ae30a42579c1fa69b805009e
Diffstat (limited to 'src/com/android/launcher3/model')
-rw-r--r-- | src/com/android/launcher3/model/AddWorkspaceItemsTask.java | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/src/com/android/launcher3/model/AddWorkspaceItemsTask.java b/src/com/android/launcher3/model/AddWorkspaceItemsTask.java index 97335cb25..4cbb0879b 100644 --- a/src/com/android/launcher3/model/AddWorkspaceItemsTask.java +++ b/src/com/android/launcher3/model/AddWorkspaceItemsTask.java @@ -26,6 +26,7 @@ import com.android.launcher3.FolderInfo; import com.android.launcher3.InvariantDeviceProfile; import com.android.launcher3.ItemInfo; import com.android.launcher3.LauncherAppState; +import com.android.launcher3.LauncherAppWidgetInfo; import com.android.launcher3.LauncherModel; import com.android.launcher3.LauncherModel.CallbackTask; import com.android.launcher3.LauncherModel.Callbacks; @@ -60,8 +61,8 @@ public class AddWorkspaceItemsTask extends ExtendedModelTask { } Context context = app.getContext(); - final ArrayList<ItemInfo> addedShortcutsFinal = new ArrayList<ItemInfo>(); - final ArrayList<Long> addedWorkspaceScreensFinal = new ArrayList<Long>(); + final ArrayList<ItemInfo> addedItemsFinal = new ArrayList<>(); + final ArrayList<Long> addedWorkspaceScreensFinal = new ArrayList<>(); // Get the list of workspace screens. We need to append to this list and // can not use sBgWorkspaceScreens because loadWorkspace() may not have been @@ -77,13 +78,14 @@ public class AddWorkspaceItemsTask extends ExtendedModelTask { } // Find appropriate space for the item. - Pair<Long, int[]> coords = findSpaceForItem( - app, dataModel, workspaceScreens, addedWorkspaceScreensFinal, 1, 1); + Pair<Long, int[]> coords = findSpaceForItem(app, dataModel, workspaceScreens, + addedWorkspaceScreensFinal, item.spanX, item.spanY); long screenId = coords.first; int[] cordinates = coords.second; ItemInfo itemInfo; - if (item instanceof ShortcutInfo || item instanceof FolderInfo) { + if (item instanceof ShortcutInfo || item instanceof FolderInfo || + item instanceof LauncherAppWidgetInfo) { itemInfo = item; } else if (item instanceof AppInfo) { itemInfo = ((AppInfo) item).makeShortcut(); @@ -95,23 +97,23 @@ public class AddWorkspaceItemsTask extends ExtendedModelTask { addItemToDatabase(context, itemInfo, screenId, cordinates); // Save the ShortcutInfo for binding in the workspace - addedShortcutsFinal.add(itemInfo); + addedItemsFinal.add(itemInfo); } } // Update the workspace screens updateScreens(context, workspaceScreens); - if (!addedShortcutsFinal.isEmpty()) { + if (!addedItemsFinal.isEmpty()) { scheduleCallbackTask(new CallbackTask() { @Override public void execute(Callbacks callbacks) { final ArrayList<ItemInfo> addAnimated = new ArrayList<ItemInfo>(); final ArrayList<ItemInfo> addNotAnimated = new ArrayList<ItemInfo>(); - if (!addedShortcutsFinal.isEmpty()) { - ItemInfo info = addedShortcutsFinal.get(addedShortcutsFinal.size() - 1); + if (!addedItemsFinal.isEmpty()) { + ItemInfo info = addedItemsFinal.get(addedItemsFinal.size() - 1); long lastScreenId = info.screenId; - for (ItemInfo i : addedShortcutsFinal) { + for (ItemInfo i : addedItemsFinal) { if (i.screenId == lastScreenId) { addAnimated.add(i); } else { |