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

Commit d3d97d34 authored by Yuichiro Hanada's avatar Yuichiro Hanada Committed by Android (Google) Code Review
Browse files

Merge "Reuse createOpenTaskDecoration() as much as possible" into main

parents 5f27ec27 577b6dd5
Loading
Loading
Loading
Loading
+18 −25
Original line number Diff line number Diff line
@@ -284,11 +284,8 @@ class DesktopModeWindowDecorViewModelTests : ShellTestCase() {
    @Test
    @DisableFlags(Flags.FLAG_ENABLE_ADDITIONAL_WINDOWS_ABOVE_STATUS_BAR)
    fun testCreateAndDisposeEventReceiver() {
        val task = createTask(windowingMode = WINDOWING_MODE_FREEFORM)
        setUpMockDecorationForTask(task)

        onTaskOpening(task)
        desktopModeWindowDecorViewModel.destroyWindowDecoration(task)
        val decor = createOpenTaskDecoration(windowingMode = WINDOWING_MODE_FREEFORM)
        desktopModeWindowDecorViewModel.destroyWindowDecoration(decor.mTaskInfo)

        verify(mockInputMonitorFactory).create(any(), any())
        verify(mockInputMonitor).dispose()
@@ -357,16 +354,14 @@ class DesktopModeWindowDecorViewModelTests : ShellTestCase() {
    }

    @Test
    fun testCloseButtonInFreeform() {
        val task = createTask(windowingMode = WINDOWING_MODE_FREEFORM)
        val windowDecor = setUpMockDecorationForTask(task)

        onTaskOpening(task)
        val onClickListenerCaptor = argumentCaptor<View.OnClickListener>()
        verify(windowDecor).setCaptionListeners(
            onClickListenerCaptor.capture(), any(), any(), any())
    fun testCloseButtonInFreeform_closeWindow() {
        val onClickListenerCaptor = forClass(View.OnClickListener::class.java)
                as ArgumentCaptor<View.OnClickListener>
        val decor = createOpenTaskDecoration(
            windowingMode = WINDOWING_MODE_FREEFORM,
            onCaptionButtonClickListener = onClickListenerCaptor
        )

        val onClickListener = onClickListenerCaptor.firstValue
        val view = mock(View::class.java)
        whenever(view.id).thenReturn(R.id.close_window)

@@ -374,7 +369,7 @@ class DesktopModeWindowDecorViewModelTests : ShellTestCase() {
        desktopModeWindowDecorViewModel
            .setFreeformTaskTransitionStarter(freeformTaskTransitionStarter)

        onClickListener.onClick(view)
        onClickListenerCaptor.value.onClick(view)

        val transactionCaptor = argumentCaptor<WindowContainerTransaction>()
        verify(freeformTaskTransitionStarter).startRemoveTransition(transactionCaptor.capture())
@@ -383,7 +378,7 @@ class DesktopModeWindowDecorViewModelTests : ShellTestCase() {
        assertEquals(1, wct.getHierarchyOps().size)
        assertEquals(HierarchyOp.HIERARCHY_OP_TYPE_REMOVE_TASK,
                     wct.getHierarchyOps().get(0).getType())
        assertEquals(task.token.asBinder(), wct.getHierarchyOps().get(0).getContainer())
        assertEquals(decor.mTaskInfo.token.asBinder(), wct.getHierarchyOps().get(0).getContainer())
    }

    @Test
@@ -458,15 +453,9 @@ class DesktopModeWindowDecorViewModelTests : ShellTestCase() {

    @Test
    fun testKeyguardState_notifiesAllDecors() {
        val task1 = createTask(windowingMode = WINDOWING_MODE_FREEFORM)
        val decoration1 = setUpMockDecorationForTask(task1)
        onTaskOpening(task1)
        val task2 = createTask(windowingMode = WINDOWING_MODE_FREEFORM)
        val decoration2 = setUpMockDecorationForTask(task2)
        onTaskOpening(task2)
        val task3 = createTask(windowingMode = WINDOWING_MODE_FREEFORM)
        val decoration3 = setUpMockDecorationForTask(task3)
        onTaskOpening(task3)
        val decoration1 = createOpenTaskDecoration(windowingMode = WINDOWING_MODE_FREEFORM)
        val decoration2 = createOpenTaskDecoration(windowingMode = WINDOWING_MODE_FREEFORM)
        val decoration3 = createOpenTaskDecoration(windowingMode = WINDOWING_MODE_FREEFORM)

        desktopModeOnKeyguardChangedListener
            .onKeyguardVisibilityChanged(true /* visible */, true /* occluded */,
@@ -1009,6 +998,8 @@ class DesktopModeWindowDecorViewModelTests : ShellTestCase() {
            forClass(Function0::class.java) as ArgumentCaptor<Function0<Unit>>,
        onOpenInBrowserClickListener: ArgumentCaptor<Consumer<Uri>> =
            forClass(Consumer::class.java) as ArgumentCaptor<Consumer<Uri>>,
        onCaptionButtonClickListener: ArgumentCaptor<View.OnClickListener> =
            forClass(View.OnClickListener::class.java) as ArgumentCaptor<View.OnClickListener>
    ): DesktopModeWindowDecoration {
        val decor = setUpMockDecorationForTask(createTask(windowingMode = windowingMode))
        onTaskOpening(decor.mTaskInfo)
@@ -1019,6 +1010,8 @@ class DesktopModeWindowDecorViewModelTests : ShellTestCase() {
        verify(decor).setOnToFullscreenClickListener(onToFullscreenClickListenerCaptor.capture())
        verify(decor).setOnToSplitScreenClickListener(onToSplitScreenClickListenerCaptor.capture())
        verify(decor).setOpenInBrowserClickListener(onOpenInBrowserClickListener.capture())
        verify(decor).setCaptionListeners(
                onCaptionButtonClickListener.capture(), any(), any(), any())
        return decor
    }