Loading libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/common/MultiDisplayDragMoveIndicatorControllerTest.kt +2 −2 Original line number Original line Diff line number Diff line Loading @@ -32,12 +32,12 @@ import java.util.function.Supplier import org.junit.Before import org.junit.Before import org.junit.Test import org.junit.Test import org.junit.runner.RunWith import org.junit.runner.RunWith import org.mockito.Mockito.never import org.mockito.Mockito.verify import org.mockito.kotlin.any import org.mockito.kotlin.any import org.mockito.kotlin.eq import org.mockito.kotlin.eq import org.mockito.kotlin.mock import org.mockito.kotlin.mock import org.mockito.kotlin.never import org.mockito.kotlin.times import org.mockito.kotlin.times import org.mockito.kotlin.verify import org.mockito.kotlin.whenever import org.mockito.kotlin.whenever /** /** Loading libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/common/MultiDisplayDragMoveIndicatorSurfaceTest.kt +0 −2 Original line number Original line Diff line number Diff line Loading @@ -26,7 +26,6 @@ import com.android.wm.shell.RootTaskDisplayAreaOrganizer import com.android.wm.shell.ShellTestCase import com.android.wm.shell.ShellTestCase import com.android.wm.shell.TestRunningTaskInfoBuilder import com.android.wm.shell.TestRunningTaskInfoBuilder import com.android.wm.shell.shared.R import com.android.wm.shell.shared.R import com.android.wm.shell.windowdecor.DesktopModeWindowDecoration import org.junit.After import org.junit.After import org.junit.Before import org.junit.Before import org.junit.Test import org.junit.Test Loading @@ -49,7 +48,6 @@ import org.mockito.quality.Strictness class MultiDisplayDragMoveIndicatorSurfaceTest : ShellTestCase() { class MultiDisplayDragMoveIndicatorSurfaceTest : ShellTestCase() { private lateinit var display: Display private lateinit var display: Display private val taskInfo = TestRunningTaskInfoBuilder().build() private val taskInfo = TestRunningTaskInfoBuilder().build() private val windowDecoration = mock<DesktopModeWindowDecoration>() private val mockSurface = mock<SurfaceControl>() private val mockSurface = mock<SurfaceControl>() private val mockTransaction = mock<SurfaceControl.Transaction>() private val mockTransaction = mock<SurfaceControl.Transaction>() private val mockRootTaskDisplayAreaOrganizer = mock<RootTaskDisplayAreaOrganizer>() private val mockRootTaskDisplayAreaOrganizer = mock<RootTaskDisplayAreaOrganizer>() Loading libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/MultiDisplayVeiledResizeTaskPositionerTest.kt +52 −59 Original line number Original line Diff line number Diff line Loading @@ -55,21 +55,18 @@ import junit.framework.Assert import org.junit.Before import org.junit.Before import org.junit.Test import org.junit.Test import org.junit.runner.RunWith import org.junit.runner.RunWith import org.mockito.Mock import org.mockito.Mockito.argThat import org.mockito.Mockito.doAnswer import org.mockito.Mockito.eq import org.mockito.Mockito.inOrder import org.mockito.Mockito.mock import org.mockito.Mockito.never import org.mockito.Mockito.times import org.mockito.Mockito.verify import org.mockito.Mockito.verifyNoInteractions import org.mockito.Mockito.`when` as whenever import org.mockito.Mockito.`when` import org.mockito.MockitoAnnotations import org.mockito.kotlin.any import org.mockito.kotlin.any import org.mockito.kotlin.argumentCaptor import org.mockito.kotlin.argumentCaptor import org.mockito.kotlin.argThat import org.mockito.kotlin.doAnswer import org.mockito.kotlin.eq import org.mockito.kotlin.inOrder import org.mockito.kotlin.mock import org.mockito.kotlin.never import org.mockito.kotlin.times import org.mockito.kotlin.verify import org.mockito.kotlin.verifyNoInteractions import org.mockito.kotlin.whenever /** /** * Tests for [MultiDisplayVeiledResizeTaskPositioner]. * Tests for [MultiDisplayVeiledResizeTaskPositioner]. Loading @@ -80,27 +77,25 @@ import org.mockito.kotlin.argumentCaptor @RunWith(AndroidTestingRunner::class) @RunWith(AndroidTestingRunner::class) class MultiDisplayVeiledResizeTaskPositionerTest : ShellTestCase() { class MultiDisplayVeiledResizeTaskPositionerTest : ShellTestCase() { @Mock private lateinit var mockShellTaskOrganizer: ShellTaskOrganizer private val mockShellTaskOrganizer = mock<ShellTaskOrganizer>() @Mock private lateinit var mockDesktopWindowDecoration: DesktopModeWindowDecoration private val mockDesktopWindowDecoration = mock<DesktopModeWindowDecoration>() @Mock private val mockDragEventListener = mock<DragPositioningCallbackUtility.DragEventListener>() private lateinit var mockDragEventListener: DragPositioningCallbackUtility.DragEventListener private val taskToken = mock<WindowContainerToken>() @Mock private lateinit var taskToken: WindowContainerToken private val taskBinder = mock<IBinder>() @Mock private lateinit var taskBinder: IBinder private val mockDisplayController = mock<DisplayController>() @Mock private lateinit var mockDisplayController: DisplayController private val mockDisplay = mock<Display>() @Mock private lateinit var mockDisplay: Display private val mockTransactionFactory = mock<Supplier<SurfaceControl.Transaction>>() @Mock private lateinit var mockTransactionFactory: Supplier<SurfaceControl.Transaction> private val mockTransaction = mock<SurfaceControl.Transaction>() @Mock private lateinit var mockTransaction: SurfaceControl.Transaction private val mockTransitionBinder = mock<IBinder>() @Mock private lateinit var mockTransitionBinder: IBinder private val mockTransitionInfo = mock<TransitionInfo>() @Mock private lateinit var mockTransitionInfo: TransitionInfo private val mockFinishCallback = mock<TransitionFinishCallback>() @Mock private lateinit var mockFinishCallback: TransitionFinishCallback private val mockTransitions = mock<Transitions>() @Mock private lateinit var mockTransitions: Transitions private val mockInteractionJankMonitor = mock<InteractionJankMonitor>() @Mock private lateinit var mockInteractionJankMonitor: InteractionJankMonitor private val mockSurfaceControl = mock<SurfaceControl>() @Mock private lateinit var mockSurfaceControl: SurfaceControl private val mockMultiDisplayDragMoveIndicatorController = @Mock mock<MultiDisplayDragMoveIndicatorController>() private lateinit var mockMultiDisplayDragMoveIndicatorController: MultiDisplayDragMoveIndicatorController private lateinit var resources: TestableResources private lateinit var resources: TestableResources private lateinit var spyDisplayLayout0: DisplayLayout private lateinit var spyDisplayLayout0: DisplayLayout private lateinit var spyDisplayLayout1: DisplayLayout private lateinit var spyDisplayLayout1: DisplayLayout Loading @@ -112,8 +107,6 @@ class MultiDisplayVeiledResizeTaskPositionerTest : ShellTestCase() { @Before @Before fun setUp() { fun setUp() { MockitoAnnotations.initMocks(this) whenever(taskToken.asBinder()).thenReturn(taskBinder) whenever(taskToken.asBinder()).thenReturn(taskBinder) mockDesktopWindowDecoration.mDisplay = mockDisplay mockDesktopWindowDecoration.mDisplay = mockDisplay mockDesktopWindowDecoration.mDecorWindowContext = mContext mockDesktopWindowDecoration.mDecorWindowContext = mContext Loading Loading @@ -142,12 +135,12 @@ class MultiDisplayVeiledResizeTaskPositionerTest : ShellTestCase() { } } null null } } .`when`(spyDisplayLayout0) .whenever(spyDisplayLayout0) .getStableBounds(any()) .getStableBounds(any()) `when`(mockTransactionFactory.get()).thenReturn(mockTransaction) whenever(mockTransactionFactory.get()).thenReturn(mockTransaction) `when`(mockDesktopWindowDecoration.leash).thenReturn(mockSurfaceControl) whenever(mockDesktopWindowDecoration.leash).thenReturn(mockSurfaceControl) `when`(mockTransaction.setPosition(any(), any(), any())).thenReturn(mockTransaction) whenever(mockTransaction.setPosition(any(), any(), any())).thenReturn(mockTransaction) `when`(mockTransaction.setAlpha(any(), any())).thenReturn(mockTransaction) whenever(mockTransaction.setAlpha(any(), any())).thenReturn(mockTransaction) mockDesktopWindowDecoration.mTaskInfo = mockDesktopWindowDecoration.mTaskInfo = ActivityManager.RunningTaskInfo().apply { ActivityManager.RunningTaskInfo().apply { taskId = TASK_ID taskId = TASK_ID Loading @@ -160,7 +153,7 @@ class MultiDisplayVeiledResizeTaskPositionerTest : ShellTestCase() { configuration.windowConfiguration.displayRotation = ROTATION_90 configuration.windowConfiguration.displayRotation = ROTATION_90 isResizeable = true isResizeable = true } } `when`(mockDesktopWindowDecoration.calculateValidDragArea()).thenReturn(VALID_DRAG_AREA) whenever(mockDesktopWindowDecoration.calculateValidDragArea()).thenReturn(VALID_DRAG_AREA) mockDesktopWindowDecoration.mDisplay = mockDisplay mockDesktopWindowDecoration.mDisplay = mockDisplay whenever(mockDisplay.displayId).thenAnswer { DISPLAY_ID_0 } whenever(mockDisplay.displayId).thenAnswer { DISPLAY_ID_0 } Loading Loading @@ -687,26 +680,26 @@ class MultiDisplayVeiledResizeTaskPositionerTest : ShellTestCase() { @Test @Test fun testStartAnimation_updatesLeash() = runOnUiThread { fun testStartAnimation_updatesLeash() = runOnUiThread { val changeMock = mock(TransitionInfo.Change::class.java) val changeMock = mock<TransitionInfo.Change>() val nonTaskChangeMock = mock(TransitionInfo.Change::class.java) val nonTaskChangeMock = mock<TransitionInfo.Change>() val taskLeash = mock(SurfaceControl::class.java) val taskLeash = mock<SurfaceControl>() val nonTaskLeash = mock(SurfaceControl::class.java) val nonTaskLeash = mock<SurfaceControl>() val startTransaction = mock(Transaction::class.java) val startTransaction = mock<Transaction>() val finishTransaction = mock(Transaction::class.java) val finishTransaction = mock<Transaction>() val point = Point(10, 20) val point = Point(10, 20) val bounds = Rect(1, 2, 3, 4) val bounds = Rect(1, 2, 3, 4) `when`(changeMock.leash).thenReturn(taskLeash) whenever(changeMock.leash).thenReturn(taskLeash) `when`(changeMock.endRelOffset).thenReturn(point) whenever(changeMock.endRelOffset).thenReturn(point) `when`(changeMock.endAbsBounds).thenReturn(bounds) whenever(changeMock.endAbsBounds).thenReturn(bounds) `when`(changeMock.taskInfo).thenReturn(ActivityManager.RunningTaskInfo()) whenever(changeMock.taskInfo).thenReturn(ActivityManager.RunningTaskInfo()) `when`(nonTaskChangeMock.leash).thenReturn(nonTaskLeash) whenever(nonTaskChangeMock.leash).thenReturn(nonTaskLeash) `when`(nonTaskChangeMock.endRelOffset).thenReturn(point) whenever(nonTaskChangeMock.endRelOffset).thenReturn(point) `when`(nonTaskChangeMock.endAbsBounds).thenReturn(bounds) whenever(nonTaskChangeMock.endAbsBounds).thenReturn(bounds) `when`(nonTaskChangeMock.taskInfo).thenReturn(null) whenever(nonTaskChangeMock.taskInfo).thenReturn(null) `when`(mockTransitionInfo.changes).thenReturn(listOf(changeMock, nonTaskChangeMock)) whenever(mockTransitionInfo.changes).thenReturn(listOf(changeMock, nonTaskChangeMock)) `when`(startTransaction.setWindowCrop(any(), eq(bounds.width()), eq(bounds.height()))) whenever(startTransaction.setWindowCrop(any(), eq(bounds.width()), eq(bounds.height()))) .thenReturn(startTransaction) .thenReturn(startTransaction) `when`(finishTransaction.setWindowCrop(any(), eq(bounds.width()), eq(bounds.height()))) whenever(finishTransaction.setWindowCrop(any(), eq(bounds.width()), eq(bounds.height()))) .thenReturn(finishTransaction) .thenReturn(finishTransaction) taskPositioner.startAnimation( taskPositioner.startAnimation( Loading Loading
libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/common/MultiDisplayDragMoveIndicatorControllerTest.kt +2 −2 Original line number Original line Diff line number Diff line Loading @@ -32,12 +32,12 @@ import java.util.function.Supplier import org.junit.Before import org.junit.Before import org.junit.Test import org.junit.Test import org.junit.runner.RunWith import org.junit.runner.RunWith import org.mockito.Mockito.never import org.mockito.Mockito.verify import org.mockito.kotlin.any import org.mockito.kotlin.any import org.mockito.kotlin.eq import org.mockito.kotlin.eq import org.mockito.kotlin.mock import org.mockito.kotlin.mock import org.mockito.kotlin.never import org.mockito.kotlin.times import org.mockito.kotlin.times import org.mockito.kotlin.verify import org.mockito.kotlin.whenever import org.mockito.kotlin.whenever /** /** Loading
libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/common/MultiDisplayDragMoveIndicatorSurfaceTest.kt +0 −2 Original line number Original line Diff line number Diff line Loading @@ -26,7 +26,6 @@ import com.android.wm.shell.RootTaskDisplayAreaOrganizer import com.android.wm.shell.ShellTestCase import com.android.wm.shell.ShellTestCase import com.android.wm.shell.TestRunningTaskInfoBuilder import com.android.wm.shell.TestRunningTaskInfoBuilder import com.android.wm.shell.shared.R import com.android.wm.shell.shared.R import com.android.wm.shell.windowdecor.DesktopModeWindowDecoration import org.junit.After import org.junit.After import org.junit.Before import org.junit.Before import org.junit.Test import org.junit.Test Loading @@ -49,7 +48,6 @@ import org.mockito.quality.Strictness class MultiDisplayDragMoveIndicatorSurfaceTest : ShellTestCase() { class MultiDisplayDragMoveIndicatorSurfaceTest : ShellTestCase() { private lateinit var display: Display private lateinit var display: Display private val taskInfo = TestRunningTaskInfoBuilder().build() private val taskInfo = TestRunningTaskInfoBuilder().build() private val windowDecoration = mock<DesktopModeWindowDecoration>() private val mockSurface = mock<SurfaceControl>() private val mockSurface = mock<SurfaceControl>() private val mockTransaction = mock<SurfaceControl.Transaction>() private val mockTransaction = mock<SurfaceControl.Transaction>() private val mockRootTaskDisplayAreaOrganizer = mock<RootTaskDisplayAreaOrganizer>() private val mockRootTaskDisplayAreaOrganizer = mock<RootTaskDisplayAreaOrganizer>() Loading
libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/MultiDisplayVeiledResizeTaskPositionerTest.kt +52 −59 Original line number Original line Diff line number Diff line Loading @@ -55,21 +55,18 @@ import junit.framework.Assert import org.junit.Before import org.junit.Before import org.junit.Test import org.junit.Test import org.junit.runner.RunWith import org.junit.runner.RunWith import org.mockito.Mock import org.mockito.Mockito.argThat import org.mockito.Mockito.doAnswer import org.mockito.Mockito.eq import org.mockito.Mockito.inOrder import org.mockito.Mockito.mock import org.mockito.Mockito.never import org.mockito.Mockito.times import org.mockito.Mockito.verify import org.mockito.Mockito.verifyNoInteractions import org.mockito.Mockito.`when` as whenever import org.mockito.Mockito.`when` import org.mockito.MockitoAnnotations import org.mockito.kotlin.any import org.mockito.kotlin.any import org.mockito.kotlin.argumentCaptor import org.mockito.kotlin.argumentCaptor import org.mockito.kotlin.argThat import org.mockito.kotlin.doAnswer import org.mockito.kotlin.eq import org.mockito.kotlin.inOrder import org.mockito.kotlin.mock import org.mockito.kotlin.never import org.mockito.kotlin.times import org.mockito.kotlin.verify import org.mockito.kotlin.verifyNoInteractions import org.mockito.kotlin.whenever /** /** * Tests for [MultiDisplayVeiledResizeTaskPositioner]. * Tests for [MultiDisplayVeiledResizeTaskPositioner]. Loading @@ -80,27 +77,25 @@ import org.mockito.kotlin.argumentCaptor @RunWith(AndroidTestingRunner::class) @RunWith(AndroidTestingRunner::class) class MultiDisplayVeiledResizeTaskPositionerTest : ShellTestCase() { class MultiDisplayVeiledResizeTaskPositionerTest : ShellTestCase() { @Mock private lateinit var mockShellTaskOrganizer: ShellTaskOrganizer private val mockShellTaskOrganizer = mock<ShellTaskOrganizer>() @Mock private lateinit var mockDesktopWindowDecoration: DesktopModeWindowDecoration private val mockDesktopWindowDecoration = mock<DesktopModeWindowDecoration>() @Mock private val mockDragEventListener = mock<DragPositioningCallbackUtility.DragEventListener>() private lateinit var mockDragEventListener: DragPositioningCallbackUtility.DragEventListener private val taskToken = mock<WindowContainerToken>() @Mock private lateinit var taskToken: WindowContainerToken private val taskBinder = mock<IBinder>() @Mock private lateinit var taskBinder: IBinder private val mockDisplayController = mock<DisplayController>() @Mock private lateinit var mockDisplayController: DisplayController private val mockDisplay = mock<Display>() @Mock private lateinit var mockDisplay: Display private val mockTransactionFactory = mock<Supplier<SurfaceControl.Transaction>>() @Mock private lateinit var mockTransactionFactory: Supplier<SurfaceControl.Transaction> private val mockTransaction = mock<SurfaceControl.Transaction>() @Mock private lateinit var mockTransaction: SurfaceControl.Transaction private val mockTransitionBinder = mock<IBinder>() @Mock private lateinit var mockTransitionBinder: IBinder private val mockTransitionInfo = mock<TransitionInfo>() @Mock private lateinit var mockTransitionInfo: TransitionInfo private val mockFinishCallback = mock<TransitionFinishCallback>() @Mock private lateinit var mockFinishCallback: TransitionFinishCallback private val mockTransitions = mock<Transitions>() @Mock private lateinit var mockTransitions: Transitions private val mockInteractionJankMonitor = mock<InteractionJankMonitor>() @Mock private lateinit var mockInteractionJankMonitor: InteractionJankMonitor private val mockSurfaceControl = mock<SurfaceControl>() @Mock private lateinit var mockSurfaceControl: SurfaceControl private val mockMultiDisplayDragMoveIndicatorController = @Mock mock<MultiDisplayDragMoveIndicatorController>() private lateinit var mockMultiDisplayDragMoveIndicatorController: MultiDisplayDragMoveIndicatorController private lateinit var resources: TestableResources private lateinit var resources: TestableResources private lateinit var spyDisplayLayout0: DisplayLayout private lateinit var spyDisplayLayout0: DisplayLayout private lateinit var spyDisplayLayout1: DisplayLayout private lateinit var spyDisplayLayout1: DisplayLayout Loading @@ -112,8 +107,6 @@ class MultiDisplayVeiledResizeTaskPositionerTest : ShellTestCase() { @Before @Before fun setUp() { fun setUp() { MockitoAnnotations.initMocks(this) whenever(taskToken.asBinder()).thenReturn(taskBinder) whenever(taskToken.asBinder()).thenReturn(taskBinder) mockDesktopWindowDecoration.mDisplay = mockDisplay mockDesktopWindowDecoration.mDisplay = mockDisplay mockDesktopWindowDecoration.mDecorWindowContext = mContext mockDesktopWindowDecoration.mDecorWindowContext = mContext Loading Loading @@ -142,12 +135,12 @@ class MultiDisplayVeiledResizeTaskPositionerTest : ShellTestCase() { } } null null } } .`when`(spyDisplayLayout0) .whenever(spyDisplayLayout0) .getStableBounds(any()) .getStableBounds(any()) `when`(mockTransactionFactory.get()).thenReturn(mockTransaction) whenever(mockTransactionFactory.get()).thenReturn(mockTransaction) `when`(mockDesktopWindowDecoration.leash).thenReturn(mockSurfaceControl) whenever(mockDesktopWindowDecoration.leash).thenReturn(mockSurfaceControl) `when`(mockTransaction.setPosition(any(), any(), any())).thenReturn(mockTransaction) whenever(mockTransaction.setPosition(any(), any(), any())).thenReturn(mockTransaction) `when`(mockTransaction.setAlpha(any(), any())).thenReturn(mockTransaction) whenever(mockTransaction.setAlpha(any(), any())).thenReturn(mockTransaction) mockDesktopWindowDecoration.mTaskInfo = mockDesktopWindowDecoration.mTaskInfo = ActivityManager.RunningTaskInfo().apply { ActivityManager.RunningTaskInfo().apply { taskId = TASK_ID taskId = TASK_ID Loading @@ -160,7 +153,7 @@ class MultiDisplayVeiledResizeTaskPositionerTest : ShellTestCase() { configuration.windowConfiguration.displayRotation = ROTATION_90 configuration.windowConfiguration.displayRotation = ROTATION_90 isResizeable = true isResizeable = true } } `when`(mockDesktopWindowDecoration.calculateValidDragArea()).thenReturn(VALID_DRAG_AREA) whenever(mockDesktopWindowDecoration.calculateValidDragArea()).thenReturn(VALID_DRAG_AREA) mockDesktopWindowDecoration.mDisplay = mockDisplay mockDesktopWindowDecoration.mDisplay = mockDisplay whenever(mockDisplay.displayId).thenAnswer { DISPLAY_ID_0 } whenever(mockDisplay.displayId).thenAnswer { DISPLAY_ID_0 } Loading Loading @@ -687,26 +680,26 @@ class MultiDisplayVeiledResizeTaskPositionerTest : ShellTestCase() { @Test @Test fun testStartAnimation_updatesLeash() = runOnUiThread { fun testStartAnimation_updatesLeash() = runOnUiThread { val changeMock = mock(TransitionInfo.Change::class.java) val changeMock = mock<TransitionInfo.Change>() val nonTaskChangeMock = mock(TransitionInfo.Change::class.java) val nonTaskChangeMock = mock<TransitionInfo.Change>() val taskLeash = mock(SurfaceControl::class.java) val taskLeash = mock<SurfaceControl>() val nonTaskLeash = mock(SurfaceControl::class.java) val nonTaskLeash = mock<SurfaceControl>() val startTransaction = mock(Transaction::class.java) val startTransaction = mock<Transaction>() val finishTransaction = mock(Transaction::class.java) val finishTransaction = mock<Transaction>() val point = Point(10, 20) val point = Point(10, 20) val bounds = Rect(1, 2, 3, 4) val bounds = Rect(1, 2, 3, 4) `when`(changeMock.leash).thenReturn(taskLeash) whenever(changeMock.leash).thenReturn(taskLeash) `when`(changeMock.endRelOffset).thenReturn(point) whenever(changeMock.endRelOffset).thenReturn(point) `when`(changeMock.endAbsBounds).thenReturn(bounds) whenever(changeMock.endAbsBounds).thenReturn(bounds) `when`(changeMock.taskInfo).thenReturn(ActivityManager.RunningTaskInfo()) whenever(changeMock.taskInfo).thenReturn(ActivityManager.RunningTaskInfo()) `when`(nonTaskChangeMock.leash).thenReturn(nonTaskLeash) whenever(nonTaskChangeMock.leash).thenReturn(nonTaskLeash) `when`(nonTaskChangeMock.endRelOffset).thenReturn(point) whenever(nonTaskChangeMock.endRelOffset).thenReturn(point) `when`(nonTaskChangeMock.endAbsBounds).thenReturn(bounds) whenever(nonTaskChangeMock.endAbsBounds).thenReturn(bounds) `when`(nonTaskChangeMock.taskInfo).thenReturn(null) whenever(nonTaskChangeMock.taskInfo).thenReturn(null) `when`(mockTransitionInfo.changes).thenReturn(listOf(changeMock, nonTaskChangeMock)) whenever(mockTransitionInfo.changes).thenReturn(listOf(changeMock, nonTaskChangeMock)) `when`(startTransaction.setWindowCrop(any(), eq(bounds.width()), eq(bounds.height()))) whenever(startTransaction.setWindowCrop(any(), eq(bounds.width()), eq(bounds.height()))) .thenReturn(startTransaction) .thenReturn(startTransaction) `when`(finishTransaction.setWindowCrop(any(), eq(bounds.width()), eq(bounds.height()))) whenever(finishTransaction.setWindowCrop(any(), eq(bounds.width()), eq(bounds.height()))) .thenReturn(finishTransaction) .thenReturn(finishTransaction) taskPositioner.startAnimation( taskPositioner.startAnimation( Loading