diff --git a/src/com/android/launcher3/model/AddWorkspaceItemsTask.java b/src/com/android/launcher3/model/AddWorkspaceItemsTask.java index 5e86bd6b8a..96a8da97f3 100644 --- a/src/com/android/launcher3/model/AddWorkspaceItemsTask.java +++ b/src/com/android/launcher3/model/AddWorkspaceItemsTask.java @@ -33,6 +33,7 @@ import com.android.launcher3.model.BgDataModel.Callbacks; import com.android.launcher3.model.data.AppInfo; import com.android.launcher3.model.data.FolderInfo; import com.android.launcher3.model.data.ItemInfo; +import com.android.launcher3.model.data.ItemInfoWithIcon; import com.android.launcher3.model.data.LauncherAppWidgetInfo; import com.android.launcher3.model.data.WorkspaceItemFactory; import com.android.launcher3.model.data.WorkspaceItemInfo; @@ -102,6 +103,11 @@ public class AddWorkspaceItemsTask extends BaseModelUpdateTask { Objects.requireNonNull(item.getIntent()))) { continue; } + + if (item instanceof ItemInfoWithIcon + && ((ItemInfoWithIcon) item).isArchived()) { + continue; + } } if (item.itemType == LauncherSettings.Favorites.ITEM_TYPE_APPLICATION) { diff --git a/src/com/android/launcher3/model/ItemInstallQueue.java b/src/com/android/launcher3/model/ItemInstallQueue.java index 9a3abd47fd..59f453a21c 100644 --- a/src/com/android/launcher3/model/ItemInstallQueue.java +++ b/src/com/android/launcher3/model/ItemInstallQueue.java @@ -18,10 +18,12 @@ package com.android.launcher3.model; import static android.appwidget.AppWidgetManager.EXTRA_APPWIDGET_ID; +import static com.android.launcher3.Flags.enableSupportForArchiving; import static com.android.launcher3.LauncherSettings.Favorites.ITEM_TYPE_APPLICATION; import static com.android.launcher3.LauncherSettings.Favorites.ITEM_TYPE_APPWIDGET; import static com.android.launcher3.LauncherSettings.Favorites.ITEM_TYPE_DEEP_SHORTCUT; import static com.android.launcher3.model.data.AppInfo.makeLaunchIntent; +import static com.android.launcher3.model.data.ItemInfoWithIcon.FLAG_ARCHIVED; import static com.android.launcher3.util.Executors.MODEL_EXECUTOR; import android.appwidget.AppWidgetManager; @@ -276,6 +278,7 @@ public class ItemInstallQueue { return intent; } + @SuppressWarnings("NewApi") public Pair getItemInfo(Context context) { switch (itemType) { case ITEM_TYPE_APPLICATION: { @@ -297,6 +300,9 @@ public class ItemInstallQueue { } else { lai = laiList.get(0); si.intent = makeLaunchIntent(lai); + if (enableSupportForArchiving() && lai.getActivityInfo().isArchived) { + si.runtimeStatusFlags |= FLAG_ARCHIVED; + } } LauncherAppState.getInstance(context).getIconCache() .getTitleAndIcon(si, () -> lai, usePackageIcon, false);