media bitstreams test: pull file and read instead of adb shell cat

Bug: 65110065
Change-Id: Iaa2f1fd55fe54e7c0d14885076de1aa946d70349
diff --git a/hostsidetests/media/bitstreams/src/android/media/cts/bitstreams/ReportProcessor.java b/hostsidetests/media/bitstreams/src/android/media/cts/bitstreams/ReportProcessor.java
index bb3daa7..3c1f14e 100644
--- a/hostsidetests/media/bitstreams/src/android/media/cts/bitstreams/ReportProcessor.java
+++ b/hostsidetests/media/bitstreams/src/android/media/cts/bitstreams/ReportProcessor.java
@@ -22,6 +22,8 @@
 import com.android.tradefed.log.LogUtil.CLog;
 import com.android.tradefed.result.ITestInvocationListener;
 import com.android.tradefed.testtype.AndroidJUnitTest;
+import com.android.tradefed.util.FileUtil;
+import java.io.File;
 import java.io.IOException;
 import java.util.Collections;
 import java.util.HashMap;
@@ -100,9 +102,15 @@
      */
     static String[] getReportLines(ITestDevice device, String reportPath)
             throws DeviceNotAvailableException {
-        String cat = String.format("cat %s", reportPath);
-        String output = device.executeShellCommand(cat);
-        return output.isEmpty() ? new String[0] : output.split("\n");
+        File reportFile = device.pullFile(reportPath);
+        try {
+            return FileUtil.readStringFromFile(reportFile).split("\n");
+        } catch (IOException e) {
+            CLog.w(e);
+            return new String[0];
+        } finally {
+            reportFile.delete();
+        }
     }
 
     /* Special listener for setting MediaPreparer instance variable values */