From f0ad7f1d6e6e0561620fff358561dd3d16534ad0 Mon Sep 17 00:00:00 2001 From: Marzia Favaro Date: Tue, 12 Nov 2024 18:06:39 +0000 Subject: Disable desktop mode button on app handle unless desktop mode enabled Test: HandleMenuTest Bug: 377689543 Flag: com.android.window.flags.show_app_handle_large_screens Change-Id: Ib85e4023cdf655ac46a68663499628ce38059e82 --- .../android/wm/shell/windowdecor/DesktopModeWindowDecoration.java | 4 +++- .../Shell/src/com/android/wm/shell/windowdecor/HandleMenu.kt | 7 +++++++ .../wm/shell/windowdecor/DesktopModeWindowDecorationTests.java | 7 ++++--- .../src/com/android/wm/shell/windowdecor/HandleMenuTest.kt | 4 ++-- 4 files changed, 16 insertions(+), 6 deletions(-) diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecoration.java b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecoration.java index 723bbd318803..b6fa059e891d 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecoration.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecoration.java @@ -30,6 +30,7 @@ import static android.window.DesktopModeFlags.ENABLE_CAPTION_COMPAT_INSET_FORCE_ import static com.android.launcher3.icons.BaseIconFactory.MODE_DEFAULT; import static com.android.wm.shell.shared.desktopmode.DesktopModeStatus.canEnterDesktopMode; +import static com.android.wm.shell.shared.desktopmode.DesktopModeStatus.canEnterDesktopModeOrShowAppHandle; import static com.android.wm.shell.shared.desktopmode.DesktopModeTransitionSource.APP_HANDLE_MENU_BUTTON; import static com.android.wm.shell.shared.split.SplitScreenConstants.SPLIT_POSITION_BOTTOM_OR_RIGHT; import static com.android.wm.shell.windowdecor.DragResizeWindowGeometry.DisabledEdge; @@ -1397,10 +1398,11 @@ public class DesktopModeWindowDecoration extends WindowDecoration (uri == null && intent == null) || intent.getData().equals(uri)), + anyBoolean(), argThat(intent -> + (uri == null && intent == null) || intent.getData().equals(uri)), anyInt(), anyInt(), anyInt(), anyInt()); } diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/HandleMenuTest.kt b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/HandleMenuTest.kt index 7ec2cbf9460e..6babf817686a 100644 --- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/HandleMenuTest.kt +++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/HandleMenuTest.kt @@ -266,8 +266,8 @@ class HandleMenuTest : ShellTestCase() { WindowManagerWrapper(mockWindowManager), layoutId, appIcon, appName, splitScreenController, shouldShowWindowingPill = true, shouldShowNewWindowButton = true, shouldShowManageWindowsButton = false, - shouldShowChangeAspectRatioButton = false, isBrowserApp = false, - null /* openInAppOrBrowserIntent */, captionWidth = HANDLE_WIDTH, + shouldShowChangeAspectRatioButton = false, shouldShowDesktopModeButton = true, + isBrowserApp = false, null /* openInAppOrBrowserIntent */, captionWidth = HANDLE_WIDTH, captionHeight = 50, captionX = captionX, captionY = 0, -- cgit v1.2.3-59-g8ed1b