Support Desktop unminimize animations, and move app-state logic

- Support Desktop unminimize animations through
    1. keyboard alt-tab shortcut
    2. taskbar hotseat icon click (TaskItemInfo)
    3. taskbar running-app icon click (GroupTask)
- move taskbar running-app state logic from TaskbarViewController to
  TaskbarRecentAppsController.

Test: manual - ensure the transitions above cause unminimize animations
Bug: 369966334
Flag: com.android.window.flags.enable_desktop_app_launch_alttab_transitions

Change-Id: I20322bdf58bc69cff360bf26e533e0732d5297b9
This commit is contained in:
Gustav Sennton
2024-11-05 11:31:16 +00:00
parent 22a60f4940
commit 461caa7c5f
6 changed files with 81 additions and 41 deletions
@@ -47,7 +47,6 @@ import com.android.systemui.shared.recents.model.Task;
import com.android.systemui.shared.recents.model.ThumbnailData;
import com.android.systemui.shared.system.InteractionJankMonitorWrapper;
import com.android.systemui.shared.system.QuickStepContract;
import com.android.window.flags.Flags;
import java.io.PrintWriter;
import java.util.List;
@@ -247,8 +246,9 @@ public class KeyboardQuickSwitchViewController {
return -1;
}
RemoteTransition remoteTransition = slideInTransition;
if (mOnDesktop && task.task1.isMinimized
&& Flags.enableDesktopAppLaunchAlttabTransitions()) {
if (mOnDesktop
&& mControllers.taskbarActivityContext.canUnminimizeDesktopTask(task.task1.key.id)
) {
// This app is being unminimized - use our own transition runner.
remoteTransition = new RemoteTransition(
new DesktopAppLaunchTransition(context, MAIN_EXECUTOR));