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

Commit 577b6dd5 authored by Yuichiro Hanada's avatar Yuichiro Hanada
Browse files

Reuse createOpenTaskDecoration() as much as possible

This is a pure test refactoring to reuse the utility method as much
as possible.

Flag: EXEMPT test refactoring
Bug: 356843241
Test: WMShellUnitTests:DesktopModeWindowDecorViewModelTests
Change-Id: I1e048a83d90fb8958d8e021d2bbc5a6c27d22604
parent 4bdb79bc
Loading
Loading
Loading
Loading
+18 −25
Original line number Original line Diff line number Diff line
@@ -284,11 +284,8 @@ class DesktopModeWindowDecorViewModelTests : ShellTestCase() {
    @Test
    @Test
    @DisableFlags(Flags.FLAG_ENABLE_ADDITIONAL_WINDOWS_ABOVE_STATUS_BAR)
    @DisableFlags(Flags.FLAG_ENABLE_ADDITIONAL_WINDOWS_ABOVE_STATUS_BAR)
    fun testCreateAndDisposeEventReceiver() {
    fun testCreateAndDisposeEventReceiver() {
        val task = createTask(windowingMode = WINDOWING_MODE_FREEFORM)
        val decor = createOpenTaskDecoration(windowingMode = WINDOWING_MODE_FREEFORM)
        setUpMockDecorationForTask(task)
        desktopModeWindowDecorViewModel.destroyWindowDecoration(decor.mTaskInfo)

        onTaskOpening(task)
        desktopModeWindowDecorViewModel.destroyWindowDecoration(task)


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


    @Test
    @Test
    fun testCloseButtonInFreeform() {
    fun testCloseButtonInFreeform_closeWindow() {
        val task = createTask(windowingMode = WINDOWING_MODE_FREEFORM)
        val onClickListenerCaptor = forClass(View.OnClickListener::class.java)
        val windowDecor = setUpMockDecorationForTask(task)
                as ArgumentCaptor<View.OnClickListener>

        val decor = createOpenTaskDecoration(
        onTaskOpening(task)
            windowingMode = WINDOWING_MODE_FREEFORM,
        val onClickListenerCaptor = argumentCaptor<View.OnClickListener>()
            onCaptionButtonClickListener = onClickListenerCaptor
        verify(windowDecor).setCaptionListeners(
        )
            onClickListenerCaptor.capture(), any(), any(), any())


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


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


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


        val transactionCaptor = argumentCaptor<WindowContainerTransaction>()
        val transactionCaptor = argumentCaptor<WindowContainerTransaction>()
        verify(freeformTaskTransitionStarter).startRemoveTransition(transactionCaptor.capture())
        verify(freeformTaskTransitionStarter).startRemoveTransition(transactionCaptor.capture())
@@ -383,7 +378,7 @@ class DesktopModeWindowDecorViewModelTests : ShellTestCase() {
        assertEquals(1, wct.getHierarchyOps().size)
        assertEquals(1, wct.getHierarchyOps().size)
        assertEquals(HierarchyOp.HIERARCHY_OP_TYPE_REMOVE_TASK,
        assertEquals(HierarchyOp.HIERARCHY_OP_TYPE_REMOVE_TASK,
                     wct.getHierarchyOps().get(0).getType())
                     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
    @Test
@@ -458,15 +453,9 @@ class DesktopModeWindowDecorViewModelTests : ShellTestCase() {


    @Test
    @Test
    fun testKeyguardState_notifiesAllDecors() {
    fun testKeyguardState_notifiesAllDecors() {
        val task1 = createTask(windowingMode = WINDOWING_MODE_FREEFORM)
        val decoration1 = createOpenTaskDecoration(windowingMode = WINDOWING_MODE_FREEFORM)
        val decoration1 = setUpMockDecorationForTask(task1)
        val decoration2 = createOpenTaskDecoration(windowingMode = WINDOWING_MODE_FREEFORM)
        onTaskOpening(task1)
        val decoration3 = createOpenTaskDecoration(windowingMode = WINDOWING_MODE_FREEFORM)
        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)


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