Fix crash of test after finishing RecentsAnimationTest
The scheduleIdleLocked may be called when updating visibility of activity. That will cause a mocked record to be used in unexpected invocations. Also block until the test thread has completed the pending messages to prevent the execution from overlapping with the next test. Fix: 134891465 Test: atest RecentsAnimationTest Change-Id: I339505ee75ba6e67aa8668dd4e40aef0f74df2aa
This commit is contained in:
@@ -585,7 +585,10 @@ class ActivityTestsBase {
|
||||
}
|
||||
|
||||
void tearDown() {
|
||||
mHandlerThread.quitSafely();
|
||||
// Make sure there are no running messages and then quit the thread so the next test
|
||||
// won't be affected.
|
||||
mHandlerThread.getThreadHandler().runWithScissors(mHandlerThread::quit,
|
||||
0 /* timeout */);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -630,7 +633,8 @@ class ActivityTestsBase {
|
||||
mWindowManager = prepareMockWindowManager();
|
||||
mKeyguardController = mock(KeyguardController.class);
|
||||
|
||||
// Do not schedule idle timeouts
|
||||
// Do not schedule idle that may touch methods outside the scope of the test.
|
||||
doNothing().when(this).scheduleIdleLocked();
|
||||
doNothing().when(this).scheduleIdleTimeoutLocked(any());
|
||||
// unit test version does not handle launch wake lock
|
||||
doNothing().when(this).acquireLaunchWakelock();
|
||||
|
||||
Reference in New Issue
Block a user