MediaRandomTest: Stopped using resources in apk

Bug: 157639175

Test: atest android.media.cts.MediaRandomTest

Change-Id: Ib15c7e263abb932678737f23a4da780ee5e0e6a8
diff --git a/tests/tests/media/src/android/media/cts/MediaRandomTest.java b/tests/tests/media/src/android/media/cts/MediaRandomTest.java
index 30fd364..300cf3f 100644
--- a/tests/tests/media/src/android/media/cts/MediaRandomTest.java
+++ b/tests/tests/media/src/android/media/cts/MediaRandomTest.java
@@ -16,15 +16,16 @@
 package android.media.cts;
 
 import android.content.res.AssetFileDescriptor;
-import android.content.res.Resources;
 import android.media.MediaRecorder;
 import android.media.MediaPlayer;
 import android.os.Environment;
+import android.os.ParcelFileDescriptor;
 import android.platform.test.annotations.AppModeFull;
 import android.test.ActivityInstrumentationTestCase2;
 import android.util.Log;
 import android.view.SurfaceHolder;
 
+import java.io.File;
 import java.util.Random;
 
 /**
@@ -44,6 +45,7 @@
 public class MediaRandomTest extends ActivityInstrumentationTestCase2<MediaStubActivity> {
     private static final String TAG = "MediaRandomTest";
 
+    static final String mInpPrefix = WorkDir.getMediaDirString();
     private static final String OUTPUT_FILE =
                 Environment.getExternalStorageDirectory().toString() + "/record.3gp";
 
@@ -53,7 +55,6 @@
     private MediaRecorder mRecorder;
     private MediaPlayer mPlayer;
     private SurfaceHolder mSurfaceHolder;
-    private Resources mResources;
 
     // Modified across multiple threads
     private volatile boolean mMediaServerDied;
@@ -66,7 +67,6 @@
         getInstrumentation().waitForIdleSync();
         mMediaServerDied = false;
         mSurfaceHolder = getActivity().getSurfaceHolder();
-        mResources = getInstrumentation().getTargetContext().getResources();
         try {
             // Running this on UI thread make sure that
             // onError callback can be received.
@@ -162,8 +162,11 @@
         super("android.media.cts", MediaStubActivity.class);
     }
 
-    private void loadSource(int resid) throws Exception {
-        AssetFileDescriptor afd = mResources.openRawResourceFd(resid);
+    private void loadSource(final String res) throws Exception {
+        File inpFile = new File(mInpPrefix + res);
+        ParcelFileDescriptor parcelFD =
+                ParcelFileDescriptor.open(inpFile, ParcelFileDescriptor.MODE_READ_ONLY);
+        AssetFileDescriptor afd = new AssetFileDescriptor(parcelFD, 0, parcelFD.getStatSize());
         try {
             mPlayer.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(),
                     afd.getLength());
@@ -172,18 +175,22 @@
         }
     }
     public void testPlayerRandomActionAV1() throws Exception {
-        testPlayerRandomAction(R.raw.video_480x360_webm_av1_400kbps_30fps_vorbis_stereo_128kbps_48000hz);
+        testPlayerRandomAction(
+                "video_480x360_webm_av1_400kbps_30fps_vorbis_stereo_128kbps_48000hz.webm");
     }
     public void testPlayerRandomActionH264() throws Exception {
-        testPlayerRandomAction(R.raw.video_480x360_mp4_h264_500kbps_30fps_aac_stereo_128kbps_44100hz);
+        testPlayerRandomAction(
+                "video_480x360_mp4_h264_500kbps_30fps_aac_stereo_128kbps_44100hz.mp4");
     }
     public void testPlayerRandomActionHEVC() throws Exception {
-        testPlayerRandomAction(R.raw.video_480x360_mp4_hevc_650kbps_30fps_aac_stereo_128kbps_48000hz);
+        testPlayerRandomAction(
+                "video_480x360_mp4_hevc_650kbps_30fps_aac_stereo_128kbps_48000hz.mp4");
     }
     public void testPlayerRandomActionMpeg2() throws Exception {
-        testPlayerRandomAction(R.raw.video_480x360_mp4_mpeg2_1500kbps_30fps_aac_stereo_128kbps_48000hz);
+        testPlayerRandomAction(
+                "video_480x360_mp4_mpeg2_1500kbps_30fps_aac_stereo_128kbps_48000hz.mp4");
     }
-    private void testPlayerRandomAction(int resid) throws Exception {
+    private void testPlayerRandomAction(final String res) throws Exception {
         Watchdog watchdog = new Watchdog(5000);
         try {
             mPlayer.setOnErrorListener(new MediaPlayer.OnErrorListener() {
@@ -197,7 +204,7 @@
                     return true;
                 }
             });
-            loadSource(resid);
+            loadSource(res);
             mPlayer.setDisplay(mSurfaceHolder);
             mPlayer.prepare();
             mPlayer.start();