Loading libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksController.kt +12 −1 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package com.android.wm.shell.desktopmode import android.app.ActivityManager.RunningTaskInfo import android.app.ActivityManager import android.app.ActivityOptions import android.app.KeyguardManager import android.app.PendingIntent Loading Loading @@ -101,6 +102,7 @@ import com.android.wm.shell.splitscreen.SplitScreenController.EXIT_REASON_DESKTO import com.android.wm.shell.sysui.ShellCommandHandler import com.android.wm.shell.sysui.ShellController import com.android.wm.shell.sysui.ShellInit import com.android.wm.shell.sysui.UserChangeListener import com.android.wm.shell.transition.OneShotRemoteHandler import com.android.wm.shell.transition.Transitions import com.android.wm.shell.windowdecor.DragPositioningCallbackUtility Loading Loading @@ -146,10 +148,12 @@ class DesktopTasksController( ) : RemoteCallable<DesktopTasksController>, Transitions.TransitionHandler, DragAndDropController.DragAndDropListener { DragAndDropController.DragAndDropListener, UserChangeListener { private val desktopMode: DesktopModeImpl private var visualIndicator: DesktopModeVisualIndicator? = null private var userId: Int private val desktopModeShellCommandHandler: DesktopModeShellCommandHandler = DesktopModeShellCommandHandler(this) private val mOnAnimationFinishedCallback = Loading Loading @@ -193,6 +197,7 @@ class DesktopTasksController( if (DesktopModeStatus.canEnterDesktopMode(context)) { shellInit.addInitCallback({ onInit() }, this) } userId = ActivityManager.getCurrentUser() } private fun onInit() { Loading @@ -204,6 +209,7 @@ class DesktopTasksController( { createExternalInterface() }, this ) shellController.addUserChangeListener(this); transitions.addHandler(this) dragToDesktopTransitionHandler.dragToDesktopStateListener = dragToDesktopStateListener recentsTransitionHandler.addTransitionStateListener( Loading Loading @@ -1779,6 +1785,11 @@ class DesktopTasksController( return true } // TODO(b/366397912): Support full multi-user mode in Windowing. override fun onUserChanged(newUserId: Int, userContext: Context) { userId = newUserId } private fun dump(pw: PrintWriter, prefix: String) { val innerPrefix = "$prefix " pw.println("${prefix}DesktopTasksController") Loading libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopTasksControllerTest.kt +6 −0 Original line number Diff line number Diff line Loading @@ -144,6 +144,7 @@ import org.mockito.Mockito.clearInvocations import org.mockito.Mockito.mock import org.mockito.Mockito.spy import org.mockito.Mockito.verify import org.mockito.Mockito.times import org.mockito.kotlin.any import org.mockito.kotlin.anyOrNull import org.mockito.kotlin.atLeastOnce Loading Loading @@ -3201,6 +3202,11 @@ class DesktopTasksControllerTest : ShellTestCase() { Rect()) } @Test fun shellController_registersUserChangeListener() { verify(shellController, times(1)).addUserChangeListener(any()) } /** * Assert that an unhandled drag event launches a PendingIntent with the * windowing mode and bounds we are expecting. Loading Loading
libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksController.kt +12 −1 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package com.android.wm.shell.desktopmode import android.app.ActivityManager.RunningTaskInfo import android.app.ActivityManager import android.app.ActivityOptions import android.app.KeyguardManager import android.app.PendingIntent Loading Loading @@ -101,6 +102,7 @@ import com.android.wm.shell.splitscreen.SplitScreenController.EXIT_REASON_DESKTO import com.android.wm.shell.sysui.ShellCommandHandler import com.android.wm.shell.sysui.ShellController import com.android.wm.shell.sysui.ShellInit import com.android.wm.shell.sysui.UserChangeListener import com.android.wm.shell.transition.OneShotRemoteHandler import com.android.wm.shell.transition.Transitions import com.android.wm.shell.windowdecor.DragPositioningCallbackUtility Loading Loading @@ -146,10 +148,12 @@ class DesktopTasksController( ) : RemoteCallable<DesktopTasksController>, Transitions.TransitionHandler, DragAndDropController.DragAndDropListener { DragAndDropController.DragAndDropListener, UserChangeListener { private val desktopMode: DesktopModeImpl private var visualIndicator: DesktopModeVisualIndicator? = null private var userId: Int private val desktopModeShellCommandHandler: DesktopModeShellCommandHandler = DesktopModeShellCommandHandler(this) private val mOnAnimationFinishedCallback = Loading Loading @@ -193,6 +197,7 @@ class DesktopTasksController( if (DesktopModeStatus.canEnterDesktopMode(context)) { shellInit.addInitCallback({ onInit() }, this) } userId = ActivityManager.getCurrentUser() } private fun onInit() { Loading @@ -204,6 +209,7 @@ class DesktopTasksController( { createExternalInterface() }, this ) shellController.addUserChangeListener(this); transitions.addHandler(this) dragToDesktopTransitionHandler.dragToDesktopStateListener = dragToDesktopStateListener recentsTransitionHandler.addTransitionStateListener( Loading Loading @@ -1779,6 +1785,11 @@ class DesktopTasksController( return true } // TODO(b/366397912): Support full multi-user mode in Windowing. override fun onUserChanged(newUserId: Int, userContext: Context) { userId = newUserId } private fun dump(pw: PrintWriter, prefix: String) { val innerPrefix = "$prefix " pw.println("${prefix}DesktopTasksController") Loading
libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopTasksControllerTest.kt +6 −0 Original line number Diff line number Diff line Loading @@ -144,6 +144,7 @@ import org.mockito.Mockito.clearInvocations import org.mockito.Mockito.mock import org.mockito.Mockito.spy import org.mockito.Mockito.verify import org.mockito.Mockito.times import org.mockito.kotlin.any import org.mockito.kotlin.anyOrNull import org.mockito.kotlin.atLeastOnce Loading Loading @@ -3201,6 +3202,11 @@ class DesktopTasksControllerTest : ShellTestCase() { Rect()) } @Test fun shellController_registersUserChangeListener() { verify(shellController, times(1)).addUserChangeListener(any()) } /** * Assert that an unhandled drag event launches a PendingIntent with the * windowing mode and bounds we are expecting. Loading