diff options
-rw-r--r-- | quickstep/src/com/android/quickstep/TopTaskTracker.java | 4 | ||||
-rw-r--r-- | quickstep/src/com/android/quickstep/util/DesksUtils.kt | 32 |
2 files changed, 22 insertions, 14 deletions
diff --git a/quickstep/src/com/android/quickstep/TopTaskTracker.java b/quickstep/src/com/android/quickstep/TopTaskTracker.java index b3d9da32a9..8116a8867d 100644 --- a/quickstep/src/com/android/quickstep/TopTaskTracker.java +++ b/quickstep/src/com/android/quickstep/TopTaskTracker.java @@ -46,6 +46,7 @@ import com.android.launcher3.util.SplitConfigurationOptions.StagePosition; import com.android.launcher3.util.SplitConfigurationOptions.StageType; import com.android.launcher3.util.TraceHelper; import com.android.quickstep.dagger.QuickstepBaseAppComponent; +import com.android.quickstep.util.DesksUtils; import com.android.systemui.shared.recents.model.Task; import com.android.systemui.shared.recents.model.Task.TaskKey; import com.android.systemui.shared.system.ActivityManagerWrapper; @@ -341,7 +342,8 @@ public class TopTaskTracker extends ISplitScreenListener.Stub implements TaskSta ArrayList<TaskInfo> tasks = new ArrayList<>(mOrderedTaskList); // Strip the pinned task and recents task - tasks.removeIf(t -> t.taskId == mPinnedTaskId || isRecentsTask(t)); + tasks.removeIf(t -> t.taskId == mPinnedTaskId || isRecentsTask(t) + || DesksUtils.isDesktopWallpaperTask(t)); return new CachedTaskInfo(tasks); } } diff --git a/quickstep/src/com/android/quickstep/util/DesksUtils.kt b/quickstep/src/com/android/quickstep/util/DesksUtils.kt index ccfdbb9f32..ecddc3fa63 100644 --- a/quickstep/src/com/android/quickstep/util/DesksUtils.kt +++ b/quickstep/src/com/android/quickstep/util/DesksUtils.kt @@ -16,28 +16,34 @@ package com.android.quickstep.util -import android.content.Context +import android.app.TaskInfo +import android.content.ComponentName +import android.content.res.Resources import android.window.DesktopExperienceFlags import com.android.systemui.shared.recents.model.Task class DesksUtils { companion object { + val sysUiPackage = + Resources.getSystem().getString(com.android.internal.R.string.config_systemUi) + @JvmStatic fun areMultiDesksFlagsEnabled() = - DesktopExperienceFlags.ENABLE_MULTIPLE_DESKTOPS_BACKEND.isTrue() && - DesktopExperienceFlags.ENABLE_MULTIPLE_DESKTOPS_FRONTEND.isTrue() + DesktopExperienceFlags.ENABLE_MULTIPLE_DESKTOPS_BACKEND.isTrue && + DesktopExperienceFlags.ENABLE_MULTIPLE_DESKTOPS_FRONTEND.isTrue /** Returns true if this [task] contains the [DesktopWallpaperActivity]. */ @JvmStatic - fun isDesktopWallpaperTask(context: Context, task: Task): Boolean { - val sysUiPackage = - context.getResources().getString(com.android.internal.R.string.config_systemUi) - val component = task.key.component - if (component != null) { - return component.className.contains("DesktopWallpaperActivity") && - component.packageName.contains(sysUiPackage) - } - return false - } + fun isDesktopWallpaperTask(task: Task) = + task.key.component?.let(::isDesktopWallpaperComponent) == true + + @JvmStatic + fun isDesktopWallpaperTask(taskInfo: TaskInfo) = + taskInfo.baseIntent.component?.let(::isDesktopWallpaperComponent) == true + + @JvmStatic + fun isDesktopWallpaperComponent(component: ComponentName) = + component.className.contains("DesktopWallpaperActivity") && + component.packageName.contains(sysUiPackage) } } |