Fix for testVoipAudioModePropagation
Test doesn't accomodate for various telecom frame response time before setting audio mode as 3(MODE_IN_COMMUNICATION)
BUG: 110495943
Change-Id: Idfa01afb199e4603b9723977d2b5606f3ac5d58e
Signed-off-by: Mark Hong <sungmin.h@samsung.com>
diff --git a/tests/tests/telecom/src/android/telecom/cts/ConnectionServiceTest.java b/tests/tests/telecom/src/android/telecom/cts/ConnectionServiceTest.java
old mode 100644
new mode 100755
index 0b70f1b..38f2673
--- a/tests/tests/telecom/src/android/telecom/cts/ConnectionServiceTest.java
+++ b/tests/tests/telecom/src/android/telecom/cts/ConnectionServiceTest.java
@@ -118,10 +118,37 @@
waitOnAllHandlers(getInstrumentation());
AudioManager audioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
- assertEquals(AudioManager.MODE_IN_COMMUNICATION, audioManager.getMode());
+ waitUntilConditionIsTrueOrTimeout(
+ new Condition() {
+ @Override
+ public Object expected() {
+ return AudioManager.MODE_IN_COMMUNICATION;
+ }
+
+ @Override
+ public Object actual() {
+ return audioManager.getMode();
+ }
+ },
+ WAIT_FOR_STATE_CHANGE_TIMEOUT_MS, "wait for mode in-communication"
+ );
+
connection.setAudioModeIsVoip(false);
waitOnAllHandlers(getInstrumentation());
- assertEquals(AudioManager.MODE_IN_CALL, audioManager.getMode());
+ waitUntilConditionIsTrueOrTimeout(
+ new Condition() {
+ @Override
+ public Object expected() {
+ return AudioManager.MODE_IN_CALL;
+ }
+
+ @Override
+ public Object actual() {
+ return audioManager.getMode();
+ }
+ },
+ WAIT_FOR_STATE_CHANGE_TIMEOUT_MS, "wait for mode in-call"
+ );
}
public void testGetAllConnections() {