From ba89ef95314415ec68ec4183a63ce4a7e3fac710 Mon Sep 17 00:00:00 2001 From: mattsziklay Date: Thu, 22 Sep 2022 15:36:13 -0700 Subject: Exit desktop mode on dragging a task to the top of the screen. This CL is part of the effort to implement desktop mode changes based on drag gestures. Bug: 247551213 Test: Drag a freeform task to the status bar area, confirm it exits desktop mode for all tasks. Change-Id: I44c147a4187466f98ab8f15e0bb050a56fbbe415 --- .../com/android/wm/shell/dagger/WMShellModule.java | 6 ++++-- .../wm/shell/desktopmode/DesktopModeController.java | 19 +++++++++++++++++++ .../windowdecor/CaptionWindowDecorViewModel.java | 18 +++++++++++++++--- 3 files changed, 38 insertions(+), 5 deletions(-) diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellModule.java b/libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellModule.java index e784261daa7e..9edace13634e 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellModule.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellModule.java @@ -188,14 +188,16 @@ public abstract class WMShellModule { @ShellMainThread Choreographer mainChoreographer, ShellTaskOrganizer taskOrganizer, DisplayController displayController, - SyncTransactionQueue syncQueue) { + SyncTransactionQueue syncQueue, + @DynamicOverride DesktopModeController desktopModeController) { return new CaptionWindowDecorViewModel( context, mainHandler, mainChoreographer, taskOrganizer, displayController, - syncQueue); + syncQueue, + desktopModeController); } // diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeController.java b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeController.java index 9474cfe916f0..99739c457aa6 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeController.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeController.java @@ -176,6 +176,25 @@ public class DesktopModeController implements RemoteCallable