Merge "Reparent folders and app pairs" into main
This commit is contained in:
@@ -18,6 +18,7 @@ package com.android.launcher3.taskbar;
|
||||
import static android.content.pm.PackageManager.FEATURE_PC;
|
||||
import static android.view.accessibility.AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED;
|
||||
|
||||
import static com.android.launcher3.BubbleTextView.DISPLAY_TASKBAR;
|
||||
import static com.android.launcher3.Flags.enableCursorHoverStates;
|
||||
import static com.android.launcher3.LauncherSettings.Favorites.ITEM_TYPE_APP_PAIR;
|
||||
import static com.android.launcher3.LauncherSettings.Favorites.ITEM_TYPE_FOLDER;
|
||||
@@ -52,6 +53,8 @@ import com.android.launcher3.Utilities;
|
||||
import com.android.launcher3.apppairs.AppPairIcon;
|
||||
import com.android.launcher3.folder.FolderIcon;
|
||||
import com.android.launcher3.folder.PreviewBackground;
|
||||
import com.android.launcher3.model.data.AppPairInfo;
|
||||
import com.android.launcher3.model.data.CollectionInfo;
|
||||
import com.android.launcher3.model.data.FolderInfo;
|
||||
import com.android.launcher3.model.data.ItemInfo;
|
||||
import com.android.launcher3.model.data.WorkspaceItemInfo;
|
||||
@@ -282,7 +285,7 @@ public class TaskbarView extends FrameLayout implements FolderIcon.FolderIconPar
|
||||
removeView(view);
|
||||
view.setOnClickListener(null);
|
||||
view.setOnLongClickListener(null);
|
||||
if (!(view.getTag() instanceof FolderInfo)) {
|
||||
if (!(view.getTag() instanceof CollectionInfo)) {
|
||||
mActivityContext.getViewCache().recycleView(view.getSourceLayoutResId(), view);
|
||||
}
|
||||
view.setTag(null);
|
||||
@@ -316,8 +319,8 @@ public class TaskbarView extends FrameLayout implements FolderIcon.FolderIconPar
|
||||
boolean isCollection = false;
|
||||
if (hotseatItemInfo.isPredictedItem()) {
|
||||
expectedLayoutResId = R.layout.taskbar_predicted_app_icon;
|
||||
} else if (hotseatItemInfo instanceof FolderInfo fi) {
|
||||
expectedLayoutResId = fi.itemType == ITEM_TYPE_APP_PAIR
|
||||
} else if (hotseatItemInfo instanceof CollectionInfo ci) {
|
||||
expectedLayoutResId = ci.itemType == ITEM_TYPE_APP_PAIR
|
||||
? R.layout.app_pair_icon
|
||||
: R.layout.folder_icon;
|
||||
isCollection = true;
|
||||
@@ -345,17 +348,18 @@ public class TaskbarView extends FrameLayout implements FolderIcon.FolderIconPar
|
||||
|
||||
if (hotseatView == null) {
|
||||
if (isCollection) {
|
||||
FolderInfo folderInfo = (FolderInfo) hotseatItemInfo;
|
||||
CollectionInfo collectionInfo = (CollectionInfo) hotseatItemInfo;
|
||||
switch (hotseatItemInfo.itemType) {
|
||||
case ITEM_TYPE_FOLDER:
|
||||
hotseatView = FolderIcon.inflateFolderAndIcon(
|
||||
expectedLayoutResId, mActivityContext, this, folderInfo);
|
||||
expectedLayoutResId, mActivityContext, this,
|
||||
(FolderInfo) collectionInfo);
|
||||
((FolderIcon) hotseatView).setTextVisible(false);
|
||||
break;
|
||||
case ITEM_TYPE_APP_PAIR:
|
||||
hotseatView = AppPairIcon.inflateIcon(
|
||||
expectedLayoutResId, mActivityContext, this, folderInfo,
|
||||
BubbleTextView.DISPLAY_TASKBAR);
|
||||
expectedLayoutResId, mActivityContext, this,
|
||||
(AppPairInfo) collectionInfo, DISPLAY_TASKBAR);
|
||||
((AppPairIcon) hotseatView).setTextVisible(false);
|
||||
break;
|
||||
default:
|
||||
|
||||
Reference in New Issue
Block a user