summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/model
diff options
context:
space:
mode:
authorSunny Goyal <sunnygoyal@google.com>2016-12-08 09:59:25 -0800
committerSunny Goyal <sunnygoyal@google.com>2016-12-12 08:37:33 -0800
commit3be633b82fc87f429bd92c9a8e1e7a6d5241418e (patch)
tree97969e71c87df58f88a13c105ef4fc586729311d /src/com/android/launcher3/model
parent621e2006473899c2047d66e3ef4b49c6d0db5a13 (diff)
downloadandroid_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.java22
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 {