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
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 fa905e2..a734689 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
@@ -284,11 +284,8 @@
@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 @@
}
@Test
- fun testCloseButtonInFreeform() {
- val task = createTask(windowingMode = WINDOWING_MODE_FREEFORM)
- val windowDecor = setUpMockDecorationForTask(task)
+ fun testCloseButtonInFreeform_closeWindow() {
+ val onClickListenerCaptor = forClass(View.OnClickListener::class.java)
+ as ArgumentCaptor<View.OnClickListener>
+ val decor = createOpenTaskDecoration(
+ windowingMode = WINDOWING_MODE_FREEFORM,
+ onCaptionButtonClickListener = onClickListenerCaptor
+ )
- onTaskOpening(task)
- val onClickListenerCaptor = argumentCaptor<View.OnClickListener>()
- verify(windowDecor).setCaptionListeners(
- onClickListenerCaptor.capture(), any(), any(), any())
-
- val onClickListener = onClickListenerCaptor.firstValue
val view = mock(View::class.java)
whenever(view.id).thenReturn(R.id.close_window)
@@ -374,7 +369,7 @@
desktopModeWindowDecorViewModel
.setFreeformTaskTransitionStarter(freeformTaskTransitionStarter)
- onClickListener.onClick(view)
+ onClickListenerCaptor.value.onClick(view)
val transactionCaptor = argumentCaptor<WindowContainerTransaction>()
verify(freeformTaskTransitionStarter).startRemoveTransition(transactionCaptor.capture())
@@ -383,7 +378,7 @@
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 @@
@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 @@
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 @@
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
}