am 52c4c14f: am b9db9bb8: Merge "increase retry to have better chance for streaming" into ics-mr1

* commit '52c4c14f5daa0c311f8d24b7e58f97806936ffd3':
diff --git a/CtsTestCaseList.mk b/CtsTestCaseList.mk
index 1c60a45..270c012 100644
--- a/CtsTestCaseList.mk
+++ b/CtsTestCaseList.mk
@@ -36,8 +36,6 @@
 	CtsBluetoothTestCases \
 	CtsContentTestCases \
 	CtsDatabaseTestCases \
-	CtsDelegatingAccessibilityService \
-	CtsDeviceAdmin \
 	CtsDpiTestCases \
 	CtsDpiTestCases2 \
 	CtsDrmTestCases \
@@ -69,16 +67,18 @@
 	CtsUtilTestCases \
 	CtsViewTestCases \
 	CtsWebkitTestCases \
-	CtsWidgetTestCases \
-	SignatureTest \
-	TestDeviceSetup \
-	$(CTS_SECURITY_APPS_LIST)
+	CtsWidgetTestCases
 
 CTS_TEST_CASE_LIST := \
+	TestDeviceSetup \
+	CtsDelegatingAccessibilityService \
+	CtsDeviceAdmin \
 	com.replica.replicaisland \
+	SignatureTest \
 	ApiDemos \
 	ApiDemosReferenceTest \
 	$(CTS_COVERAGE_TEST_CASE_LIST) \
+	$(CTS_SECURITY_APPS_LIST)
 
 CTS_NATIVE_EXES := \
 	CtsNativeMediaTestCases
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/audioquality/Utils.java b/apps/CtsVerifier/src/com/android/cts/verifier/audioquality/Utils.java
index 704b1df..f2019c2 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/audioquality/Utils.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/audioquality/Utils.java
@@ -316,17 +316,17 @@
         return data.length / AudioQualityVerifierActivity.BYTES_PER_SAMPLE;
     }
 
-    public static void playRawFile(String filename) {
+    public static AudioTrack playRawFile(String filename) {
         byte[] data = readFile(filename);
         if (data == null) {
             Log.e(TAG, "Cannot read " + filename);
-            return;
+            return null;
         }
-        playRaw(data);
+        return playRaw(data);
     }
 
-    public static void playStim(Context context, int stimNum) {
-        Utils.playRaw(getStim(context, stimNum));
+    public static AudioTrack playStim(Context context, int stimNum) {
+        return Utils.playRaw(getStim(context, stimNum));
     }
 
     public static byte[] getStim(Context context, int stimNum) {
@@ -337,13 +337,15 @@
         return AudioAssets.getPinkNoise(context, ampl, duration);
     }
 
-    public static void playRaw(byte[] data) {
+    public static AudioTrack playRaw(byte[] data) {
         Log.i(TAG, "Playing " + data.length + " bytes of pre-recorded audio");
         AudioTrack at = new AudioTrack(AudioQualityVerifierActivity.PLAYBACK_STREAM, AudioQualityVerifierActivity.SAMPLE_RATE,
                 AudioFormat.CHANNEL_OUT_MONO, AudioQualityVerifierActivity.AUDIO_FORMAT,
                 data.length, AudioTrack.MODE_STREAM);
         writeAudio(at, data);
         at.play();
+
+        return at;
     }
 
     /**
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/audioquality/experiments/LoopbackExperiment.java b/apps/CtsVerifier/src/com/android/cts/verifier/audioquality/experiments/LoopbackExperiment.java
index a5c41be..0817860 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/audioquality/experiments/LoopbackExperiment.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/audioquality/experiments/LoopbackExperiment.java
@@ -24,6 +24,7 @@
 import android.content.Context;
 import android.media.AudioFormat;
 import android.media.AudioRecord;
+import android.media.AudioTrack;
 import android.media.MediaRecorder;
 import android.util.Log;
 
@@ -74,13 +75,15 @@
         mRecorder.start();
         Utils.delay(END_DELAY_MS);
 
-        Utils.playRaw(playbackData);
+        AudioTrack track = Utils.playRaw(playbackData);
 
         int timeout = duration + 2 * END_DELAY_MS;
         try {
             mRecorder.join(timeout);
         } catch (InterruptedException e) {}
 
+        track.stop();
+        track.release();
         return recordedData;
     }
 
diff --git a/tools/tradefed-host/src/com/android/cts/tradefed/build/CtsBuildProvider.java b/tools/tradefed-host/src/com/android/cts/tradefed/build/CtsBuildProvider.java
index b536102..c28631b 100644
--- a/tools/tradefed-host/src/com/android/cts/tradefed/build/CtsBuildProvider.java
+++ b/tools/tradefed-host/src/com/android/cts/tradefed/build/CtsBuildProvider.java
@@ -31,7 +31,7 @@
     @Option(name="cts-install-path", description="the path to the cts installation to use")
     private String mCtsRootDirPath = System.getProperty("CTS_ROOT");
 
-    public static final String CTS_BUILD_VERSION = "4.0.3_r2";
+    public static final String CTS_BUILD_VERSION = "4.0.3_r1";
 
     /**
      * {@inheritDoc}