summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecorViewModel.java8
-rw-r--r--libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecorViewModelTests.kt20
2 files changed, 5 insertions, 23 deletions
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecorViewModel.java b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecorViewModel.java
index 5a05861c3a88..16bbb84bd50d 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecorViewModel.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecorViewModel.java
@@ -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
diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecorViewModelTests.kt b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecorViewModelTests.kt
index 0214da4660ad..319e50d2d9a5 100644
--- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecorViewModelTests.kt
+++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecorViewModelTests.kt
@@ -1054,26 +1054,6 @@ class DesktopModeWindowDecorViewModelTests : DesktopModeWindowDecorViewModelTest
@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() {
val onClickListenerCaptor = forClass(View.OnClickListener::class.java)
as ArgumentCaptor<View.OnClickListener>