Fix CTS transition tests for Android Wear devices.
This fixes multiple broken tests:
1) ActivityTransitionTest#earlyExitStop
- This was breaking because the Wear default activity theme includes
windowSwipeToDismiss = true, which forces windowIsTranslucent to
true, which means by default Activities pause, but don't stop when
pushed down the stack, which means a long-running exit transition
won't stop when its window is obscured. By forcing swipeToDismiss
to false we can avoid this behavior.
2) ActivityTransitionTest#testAnimationQuery
- Breaking because Wear devices are slow, and this test was
vulnerable to having its initial activity window never show because
we don't force a layout step at the beginning of the test,
therefore no transition is run. Calling enterScene() initially
(like the other tests in this suite) forces layout, so that we
can be certain the exit transition will trigger.
3) ActivityTransitionTest#viewsStripped
- Wear devices can have round screens - because this test places
the "on screen" red square view at the top right corner, it's
outside the clipping mask and gets removed from the transition.
Tweaking the layout so that the "on screen" view is in the center
(and thus guaranteed to be on screen) while the other views
are placed offscreen relative to a dummy view (the black square)
means things behave as expected.
4) TransitionTest#testDuration
- This test is super flaky on Wear, again because our devices
are slow. The start time for the expected duration is measured
after the transition has been started. On faster devices this
has no measurable effect - on Wear, there's enough of a lag
between transition start and start time measurement that we
actually undermeasure the animation duration. Switching the
order of these lines seems to deflake the test.
Bug: 37645979
Fixes: 37645979
Test: CtsTransitionTestCases, swordfish|OWR1.170821 & marlin|OPR1.170623
Change-Id: I028a9656ea9c0b7800bb27ca85aef602d674b325
6 files changed