Moving ShortcutInfo creation in InstallShortcutReceiver to background thread
> Creating shortcut info requires iconCache access
Bug: 21325319
Change-Id: I3317d8b6824aa05b836f3ed3626f169d4d34f783
diff --git a/src/com/android/launcher3/LauncherModel.java b/src/com/android/launcher3/LauncherModel.java
index c70a475..3daa2c3 100644
--- a/src/com/android/launcher3/LauncherModel.java
+++ b/src/com/android/launcher3/LauncherModel.java
@@ -84,6 +84,7 @@
import com.android.launcher3.util.MultiHashMap;
import com.android.launcher3.util.PackageManagerHelper;
import com.android.launcher3.util.Preconditions;
+import com.android.launcher3.util.Provider;
import com.android.launcher3.util.Thunk;
import com.android.launcher3.util.ViewOnDrawExecutor;
@@ -261,9 +262,16 @@
/**
* Adds the provided items to the workspace.
*/
+ public void addAndBindAddedWorkspaceItems(List<ItemInfo> workspaceApps) {
+ addAndBindAddedWorkspaceItems(Provider.of(workspaceApps));
+ }
+
+ /**
+ * Adds the provided items to the workspace.
+ */
public void addAndBindAddedWorkspaceItems(
- final ArrayList<? extends ItemInfo> workspaceApps) {
- enqueueModelUpdateTask(new AddWorkspaceItemsTask(workspaceApps));
+ Provider<List<ItemInfo>> appsProvider) {
+ enqueueModelUpdateTask(new AddWorkspaceItemsTask(appsProvider));
}
/**