summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/model
diff options
context:
space:
mode:
authorSunny Goyal <sunnygoyal@google.com>2017-10-05 15:57:40 -0700
committerSunny Goyal <sunnygoyal@google.com>2017-10-06 11:33:43 -0700
commit91498abf7552f15624283366be86f91304ad92a2 (patch)
tree13b54a20cde6998dfc6f893cb3531e8c4c43586b /src/com/android/launcher3/model
parent22b92df30f5a1ec319180cb705175e7563727a36 (diff)
downloadandroid_packages_apps_Trebuchet-91498abf7552f15624283366be86f91304ad92a2.tar.gz
android_packages_apps_Trebuchet-91498abf7552f15624283366be86f91304ad92a2.tar.bz2
android_packages_apps_Trebuchet-91498abf7552f15624283366be86f91304ad92a2.zip
Moving install queue updates to worker thread.
This avoids acquiring a lock for upating the sharedPrefs during onResume as all the logic runs on a single thread. Bug: 67305604 Change-Id: I1bbea382da9fafb403b4e9508f393f78db28478d
Diffstat (limited to 'src/com/android/launcher3/model')
-rw-r--r--src/com/android/launcher3/model/AddWorkspaceItemsTask.java14
1 files changed, 6 insertions, 8 deletions
diff --git a/src/com/android/launcher3/model/AddWorkspaceItemsTask.java b/src/com/android/launcher3/model/AddWorkspaceItemsTask.java
index 42926fa3e..a33a039c0 100644
--- a/src/com/android/launcher3/model/AddWorkspaceItemsTask.java
+++ b/src/com/android/launcher3/model/AddWorkspaceItemsTask.java
@@ -38,7 +38,6 @@ import com.android.launcher3.ShortcutInfo;
import com.android.launcher3.Utilities;
import com.android.launcher3.util.GridOccupancy;
import com.android.launcher3.util.ManagedProfileHeuristic.UserFolderInfo;
-import com.android.launcher3.util.Provider;
import java.util.ArrayList;
import java.util.List;
@@ -47,19 +46,18 @@ import java.util.List;
*/
public class AddWorkspaceItemsTask extends BaseModelUpdateTask {
- private final Provider<List<Pair<ItemInfo, Object>>> mAppsProvider;
+ private final List<Pair<ItemInfo, Object>> mItemList;
/**
- * @param appsProvider items to add on the workspace
+ * @param itemList items to add on the workspace
*/
- public AddWorkspaceItemsTask(Provider<List<Pair<ItemInfo, Object>>> appsProvider) {
- mAppsProvider = appsProvider;
+ public AddWorkspaceItemsTask(List<Pair<ItemInfo, Object>> itemList) {
+ mItemList = itemList;
}
@Override
public void execute(LauncherAppState app, BgDataModel dataModel, AllAppsList apps) {
- List<Pair<ItemInfo, Object>> workspaceApps = mAppsProvider.get();
- if (workspaceApps.isEmpty()) {
+ if (mItemList.isEmpty()) {
return;
}
Context context = app.getContext();
@@ -75,7 +73,7 @@ public class AddWorkspaceItemsTask extends BaseModelUpdateTask {
synchronized(dataModel) {
List<ItemInfo> filteredItems = new ArrayList<>();
- for (Pair<ItemInfo, Object> entry : workspaceApps) {
+ for (Pair<ItemInfo, Object> entry : mItemList) {
ItemInfo item = entry.first;
if (item.itemType == LauncherSettings.Favorites.ITEM_TYPE_APPLICATION ||
item.itemType == LauncherSettings.Favorites.ITEM_TYPE_SHORTCUT) {