Merge "Request high res icons for app pairs after all workspace items processed" into main
diff --git a/src/com/android/launcher3/model/LoaderTask.java b/src/com/android/launcher3/model/LoaderTask.java
index 71ab51c..17cef90 100644
--- a/src/com/android/launcher3/model/LoaderTask.java
+++ b/src/com/android/launcher3/model/LoaderTask.java
@@ -475,12 +475,24 @@
             mItemsDeleted = c.commitDeleted();
 
             processFolderItems();
+            processAppPairItems();
 
             c.commitRestoredItems();
         }
     }
 
     /**
+     * After all items have been processed and added to the BgDataModel, this method requests
+     * high-res icons for the items that are part of an app pair
+     */
+    private void processAppPairItems() {
+        mBgDataModel.workspaceItems.stream()
+                .filter((itemInfo -> itemInfo.itemType == ITEM_TYPE_APP_PAIR))
+                .forEach(fi -> ((FolderInfo) fi).contents.forEach(item ->
+                        mIconCache.getTitleAndIcon(item, false /*useLowResIcon*/)));
+    }
+
+    /**
      * Initialized the UserManagerState, and determines which users are unlocked. Additionally, if
      * the user is unlocked, it queries LauncherAppsService for pinned shortcuts and stores the
      * result in a class variable to be used in other methods while processing workspace items.