Loading libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecorViewModel.java +5 −3 Original line number Diff line number Diff line Loading @@ -935,10 +935,12 @@ public class DesktopModeWindowDecorViewModel implements WindowDecorViewModel, // back to the decoration using // {@link DesktopModeWindowDecoration#setOnMaximizeOrRestoreClickListener}, which // should shared with the maximize menu's maximize/restore actions. final DesktopRepository desktopRepository = mDesktopUserRepositories.getProfile( decoration.mTaskInfo.userId); if (Flags.enableFullyImmersiveInDesktop() && TaskInfoKt.getRequestingImmersive(decoration.mTaskInfo)) { // Task is requesting immersive, so it should either enter or exit immersive, // depending on immersive state. && desktopRepository.isTaskInFullImmersiveState( decoration.mTaskInfo.taskId)) { // Task is in immersive and should exit. onEnterOrExitImmersive(decoration.mTaskInfo); } else { // Full immersive is disabled or task doesn't request/support it, so just Loading libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecorViewModelTests.kt +0 −20 Original line number Diff line number Diff line Loading @@ -1052,26 +1052,6 @@ class DesktopModeWindowDecorViewModelTests : DesktopModeWindowDecorViewModelTest assertEquals(decor.mTaskInfo.token.asBinder(), wct.getHierarchyOps().get(0).getContainer()) } @Test @EnableFlags(Flags.FLAG_ENABLE_FULLY_IMMERSIVE_IN_DESKTOP) fun testImmersiveButtonClick_entersImmersiveMode() { val onClickListenerCaptor = forClass(View.OnClickListener::class.java) as ArgumentCaptor<View.OnClickListener> val decor = createOpenTaskDecoration( windowingMode = WINDOWING_MODE_FREEFORM, onCaptionButtonClickListener = onClickListenerCaptor, requestingImmersive = true, ) val view = mock(View::class.java) whenever(view.id).thenReturn(R.id.maximize_window) whenever(mockDesktopRepository.isTaskInFullImmersiveState(decor.mTaskInfo.taskId)) .thenReturn(false) onClickListenerCaptor.value.onClick(view) verify(mockDesktopImmersiveController).moveTaskToImmersive(decor.mTaskInfo) } @Test @EnableFlags(Flags.FLAG_ENABLE_FULLY_IMMERSIVE_IN_DESKTOP) fun testImmersiveRestoreButtonClick_exitsImmersiveMode() { Loading Loading
libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecorViewModel.java +5 −3 Original line number Diff line number Diff line Loading @@ -935,10 +935,12 @@ public class DesktopModeWindowDecorViewModel implements WindowDecorViewModel, // back to the decoration using // {@link DesktopModeWindowDecoration#setOnMaximizeOrRestoreClickListener}, which // should shared with the maximize menu's maximize/restore actions. final DesktopRepository desktopRepository = mDesktopUserRepositories.getProfile( decoration.mTaskInfo.userId); if (Flags.enableFullyImmersiveInDesktop() && TaskInfoKt.getRequestingImmersive(decoration.mTaskInfo)) { // Task is requesting immersive, so it should either enter or exit immersive, // depending on immersive state. && desktopRepository.isTaskInFullImmersiveState( decoration.mTaskInfo.taskId)) { // Task is in immersive and should exit. onEnterOrExitImmersive(decoration.mTaskInfo); } else { // Full immersive is disabled or task doesn't request/support it, so just Loading
libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecorViewModelTests.kt +0 −20 Original line number Diff line number Diff line Loading @@ -1052,26 +1052,6 @@ class DesktopModeWindowDecorViewModelTests : DesktopModeWindowDecorViewModelTest assertEquals(decor.mTaskInfo.token.asBinder(), wct.getHierarchyOps().get(0).getContainer()) } @Test @EnableFlags(Flags.FLAG_ENABLE_FULLY_IMMERSIVE_IN_DESKTOP) fun testImmersiveButtonClick_entersImmersiveMode() { val onClickListenerCaptor = forClass(View.OnClickListener::class.java) as ArgumentCaptor<View.OnClickListener> val decor = createOpenTaskDecoration( windowingMode = WINDOWING_MODE_FREEFORM, onCaptionButtonClickListener = onClickListenerCaptor, requestingImmersive = true, ) val view = mock(View::class.java) whenever(view.id).thenReturn(R.id.maximize_window) whenever(mockDesktopRepository.isTaskInFullImmersiveState(decor.mTaskInfo.taskId)) .thenReturn(false) onClickListenerCaptor.value.onClick(view) verify(mockDesktopImmersiveController).moveTaskToImmersive(decor.mTaskInfo) } @Test @EnableFlags(Flags.FLAG_ENABLE_FULLY_IMMERSIVE_IN_DESKTOP) fun testImmersiveRestoreButtonClick_exitsImmersiveMode() { Loading