Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 019ff4f5 authored by Marzia Favaro's avatar Marzia Favaro Committed by Android (Google) Code Review
Browse files

Merge "Disable desktop mode button on app handle unless desktop mode enabled" into main

parents 1ae2d24a f0ad7f1d
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -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<WindowDecorLin
                mAppIconBitmap,
                mAppName,
                mSplitScreenController,
                canEnterDesktopMode(mContext),
                canEnterDesktopModeOrShowAppHandle(mContext),
                supportsMultiInstance,
                shouldShowManageWindowsButton,
                shouldShowChangeAspectRatioButton,
                canEnterDesktopMode(mContext),
                isBrowserApp,
                isBrowserApp ? getAppLink() : getBrowserLink(),
                mResult.mCaptionWidth,
+7 −0
Original line number Diff line number Diff line
@@ -76,6 +76,7 @@ class HandleMenu(
    private val shouldShowNewWindowButton: Boolean,
    private val shouldShowManageWindowsButton: Boolean,
    private val shouldShowChangeAspectRatioButton: Boolean,
    private val shouldShowDesktopModeButton: Boolean,
    private val isBrowserApp: Boolean,
    private val openInAppOrBrowserIntent: Intent?,
    private val captionWidth: Int,
@@ -186,6 +187,7 @@ class HandleMenu(
            shouldShowNewWindowButton = shouldShowNewWindowButton,
            shouldShowManageWindowsButton = shouldShowManageWindowsButton,
            shouldShowChangeAspectRatioButton = shouldShowChangeAspectRatioButton,
            shouldShowDesktopModeButton = shouldShowDesktopModeButton,
            isBrowserApp = isBrowserApp
        ).apply {
            bind(taskInfo, appIconBitmap, appName, shouldShowMoreActionsPill)
@@ -464,6 +466,7 @@ class HandleMenu(
        private val shouldShowNewWindowButton: Boolean,
        private val shouldShowManageWindowsButton: Boolean,
        private val shouldShowChangeAspectRatioButton: Boolean,
        private val shouldShowDesktopModeButton: Boolean,
        private val isBrowserApp: Boolean
    ) {
        val rootView = LayoutInflater.from(context)
@@ -660,6 +663,7 @@ class HandleMenu(
            floatingBtn.isSelected = taskInfo.isPinned
            floatingBtn.isEnabled = !taskInfo.isPinned
            floatingBtn.imageTintList = style.windowingButtonColor
            desktopBtn.isGone = !shouldShowDesktopModeButton
            desktopBtn.isSelected = taskInfo.isFreeform
            desktopBtn.isEnabled = !taskInfo.isFreeform
            desktopBtn.imageTintList = style.windowingButtonColor
@@ -741,6 +745,7 @@ interface HandleMenuFactory {
        shouldShowNewWindowButton: Boolean,
        shouldShowManageWindowsButton: Boolean,
        shouldShowChangeAspectRatioButton: Boolean,
        shouldShowDesktopModeButton: Boolean,
        isBrowserApp: Boolean,
        openInAppOrBrowserIntent: Intent?,
        captionWidth: Int,
@@ -763,6 +768,7 @@ object DefaultHandleMenuFactory : HandleMenuFactory {
        shouldShowNewWindowButton: Boolean,
        shouldShowManageWindowsButton: Boolean,
        shouldShowChangeAspectRatioButton: Boolean,
        shouldShowDesktopModeButton: Boolean,
        isBrowserApp: Boolean,
        openInAppOrBrowserIntent: Intent?,
        captionWidth: Int,
@@ -781,6 +787,7 @@ object DefaultHandleMenuFactory : HandleMenuFactory {
            shouldShowNewWindowButton,
            shouldShowManageWindowsButton,
            shouldShowChangeAspectRatioButton,
            shouldShowDesktopModeButton,
            isBrowserApp,
            openInAppOrBrowserIntent,
            captionWidth,
+4 −3
Original line number Diff line number Diff line
@@ -265,8 +265,8 @@ public class DesktopModeWindowDecorationTests extends ShellTestCase {
        doReturn(defaultDisplay).when(mMockDisplayController).getDisplay(Display.DEFAULT_DISPLAY);
        doReturn(mInsetsState).when(mMockDisplayController).getInsetsState(anyInt());
        when(mMockHandleMenuFactory.create(any(), any(), anyInt(), any(), any(), any(),
                anyBoolean(), anyBoolean(), anyBoolean(), anyBoolean(), anyBoolean(), any(),
                anyInt(), anyInt(), anyInt(), anyInt()))
                anyBoolean(), anyBoolean(), anyBoolean(), anyBoolean(), anyBoolean(), anyBoolean(),
                any(), anyInt(), anyInt(), anyInt(), anyInt()))
                .thenReturn(mMockHandleMenu);
        when(mMockMultiInstanceHelper.supportsMultiInstanceSplit(any())).thenReturn(false);
        when(mMockAppHeaderViewHolderFactory.create(any(), any(), any(), any(), any(), any(), any(),
@@ -1577,7 +1577,8 @@ public class DesktopModeWindowDecorationTests extends ShellTestCase {
    private void verifyHandleMenuCreated(@Nullable Uri uri) {
        verify(mMockHandleMenuFactory).create(any(), any(), anyInt(), any(), any(),
                any(), anyBoolean(), anyBoolean(), anyBoolean(), anyBoolean(), anyBoolean(),
                argThat(intent -> (uri == null && intent == null) || intent.getData().equals(uri)),
                anyBoolean(), argThat(intent ->
                        (uri == null && intent == null) || intent.getData().equals(uri)),
                anyInt(), anyInt(), anyInt(), anyInt());
    }

+2 −2
Original line number Diff line number Diff line
@@ -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,