From a72217160d359b6e0dfd7b3ae26ae22c92a83940 Mon Sep 17 00:00:00 2001 From: "jorgegil@google.com" Date: Wed, 15 Apr 2020 13:16:58 -0700 Subject: [PATCH] Fix failing testOnPictureInPictureRequested Fixes an issue where relying on a spy of ClientLifecyleManager caused the test to fail with a TooManyActualInvocations error because scheduleTransaction() was getting called more than once by mockito. This change replaces the lifecyle manager spy with a mock. Bug: 153709777 Test: atest WmTests:ActivityTaskManagerServiceTests Change-Id: I5dfa780e28dabc4d634ef45667eb3688d07361b2 --- .../android/server/wm/ActivityTaskManagerServiceTests.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/services/tests/wmtests/src/com/android/server/wm/ActivityTaskManagerServiceTests.java b/services/tests/wmtests/src/com/android/server/wm/ActivityTaskManagerServiceTests.java index 4532400e3b34e..17dd26ed18e90 100644 --- a/services/tests/wmtests/src/com/android/server/wm/ActivityTaskManagerServiceTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/ActivityTaskManagerServiceTests.java @@ -89,13 +89,13 @@ public class ActivityTaskManagerServiceTests extends ActivityTestsBase { public void testOnPictureInPictureRequested() throws RemoteException { final ActivityStack stack = new StackBuilder(mRootWindowContainer).build(); final ActivityRecord activity = stack.getBottomMostTask().getTopNonFinishingActivity(); - ClientLifecycleManager lifecycleManager = mService.getLifecycleManager(); - doNothing().when(lifecycleManager).scheduleTransaction(any()); + final ClientLifecycleManager mockLifecycleManager = mock(ClientLifecycleManager.class); + doReturn(mockLifecycleManager).when(mService).getLifecycleManager(); doReturn(true).when(activity).checkEnterPictureInPictureState(anyString(), anyBoolean()); mService.requestPictureInPictureMode(activity.token); - verify(lifecycleManager).scheduleTransaction(mClientTransactionCaptor.capture()); + verify(mockLifecycleManager).scheduleTransaction(mClientTransactionCaptor.capture()); final ClientTransaction transaction = mClientTransactionCaptor.getValue(); // Check that only an enter pip request item callback was scheduled. assertEquals(1, transaction.getCallbacks().size());