diff options
author | Sunny Goyal <sunnygoyal@google.com> | 2017-10-05 15:57:40 -0700 |
---|---|---|
committer | Sunny Goyal <sunnygoyal@google.com> | 2017-10-06 11:33:43 -0700 |
commit | 91498abf7552f15624283366be86f91304ad92a2 (patch) | |
tree | 13b54a20cde6998dfc6f893cb3531e8c4c43586b /src/com/android/launcher3/model | |
parent | 22b92df30f5a1ec319180cb705175e7563727a36 (diff) | |
download | android_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.java | 14 |
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) { |