mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-02-18 02:08:20 +00:00
UI Improvement: Do not add archived app icon to workspace when unarchival starts in case the icon already doesn't exist.
Test: verified bugfix locally. Bug: 319213296 Flag: ACONFIG com.android.launcher3.enable_support_for_archiving DEVELOPMENT Change-Id: Iad3cc1a254b1543511976469c444eeaf869c7d50
This commit is contained in:
@@ -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) {
|
||||
|
||||
@@ -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<ItemInfo, Object> 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);
|
||||
|
||||
Reference in New Issue
Block a user