Relax the timeout in testMediaCodecActivity for slower devices.
Bug: 146411771
Bug: 144549084
Test: treehugger
Change-Id: I59ea1c744666fc5ddc157cb4a5d96900cdcbee28
diff --git a/hostsidetests/statsd/src/android/cts/statsd/atom/UidAtomTests.java b/hostsidetests/statsd/src/android/cts/statsd/atom/UidAtomTests.java
index fd77425..2d62422 100644
--- a/hostsidetests/statsd/src/android/cts/statsd/atom/UidAtomTests.java
+++ b/hostsidetests/statsd/src/android/cts/statsd/atom/UidAtomTests.java
@@ -635,6 +635,12 @@
if (!hasFeature(FEATURE_WATCH, false)) return;
final int atomTag = Atom.MEDIA_CODEC_STATE_CHANGED_FIELD_NUMBER;
+ // 5 seconds. Starting video tends to be much slower than most other
+ // tests on slow devices. This is unfortunate, because it leaves a
+ // really big slop in assertStatesOccurred. It would be better if
+ // assertStatesOccurred had a tighter range on large timeouts.
+ final int waitTime = 5000;
+
Set<Integer> onState = new HashSet<>(
Arrays.asList(MediaCodecStateChanged.State.ON_VALUE));
Set<Integer> offState = new HashSet<>(
@@ -646,13 +652,14 @@
createAndUploadConfig(atomTag, true); // True: uses attribution.
Thread.sleep(WAIT_TIME_SHORT);
- runActivity("VideoPlayerActivity", "action", "action.play_video");
+ runActivity("VideoPlayerActivity", "action", "action.play_video",
+ waitTime);
// Sorted list of events in order in which they occurred.
List<EventMetricData> data = getEventMetricDataList();
// Assert that the events happened in the expected order.
- assertStatesOccurred(stateSet, data, WAIT_TIME_LONG,
+ assertStatesOccurred(stateSet, data, waitTime,
atom -> atom.getMediaCodecStateChanged().getState().getNumber());
}