Allow MediaCasTest to run on Q successfully
bug: 157575295
Test: Manual
Change-Id: I5c314d0e74869dc84c616c037e5cc27c77ba8581
diff --git a/tests/tests/media/src/android/media/cts/MediaCasTest.java b/tests/tests/media/src/android/media/cts/MediaCasTest.java
index c7d8fa3..0501452 100644
--- a/tests/tests/media/src/android/media/cts/MediaCasTest.java
+++ b/tests/tests/media/src/android/media/cts/MediaCasTest.java
@@ -24,6 +24,8 @@
import android.media.MediaCasStateException;
import android.media.MediaCodec;
import android.media.MediaDescrambler;
+import android.media.cts.R;
+import android.os.Build;
import android.os.Handler;
import android.os.HandlerThread;
import android.platform.test.annotations.Presubmit;
@@ -32,6 +34,8 @@
import android.util.Log;
import androidx.test.filters.SmallTest;
+import com.android.compatibility.common.util.ApiLevelUtil;
+import com.android.compatibility.common.util.MediaUtils;
import com.android.compatibility.common.util.PropertyUtil;
import java.lang.ArrayIndexOutOfBoundsException;
@@ -52,6 +56,7 @@
private static final int sInvalidSystemId = 0;
private static final int sClearKeySystemId = 0xF6D8;
private static final int API_LEVEL_BEFORE_CAS_SESSION = 28;
+ private boolean mIsAtLeastR = ApiLevelUtil.isAtLeast(Build.VERSION_CODES.R);
// ClearKey CAS/Descrambler test vectors
private static final String sProvisionStr =
@@ -252,8 +257,12 @@
MediaDescrambler descrambler = null;
try {
- mediaCas = new MediaCas(getContext(), sClearKeySystemId, "TIS_Session_1",
- android.media.tv.TvInputService.PRIORITY_HINT_USE_CASE_TYPE_LIVE);
+ if (mIsAtLeastR) {
+ mediaCas = new MediaCas(getContext(), sClearKeySystemId, "TIS_Session_1",
+ android.media.tv.TvInputService.PRIORITY_HINT_USE_CASE_TYPE_LIVE);
+ } else {
+ mediaCas = new MediaCas(sClearKeySystemId);
+ }
descrambler = new MediaDescrambler(sClearKeySystemId);
mediaCas.provision(sProvisionStr);
@@ -266,7 +275,9 @@
fail("Can't open session for program");
}
- Log.d(TAG, "Session Id = " + Arrays.toString(session.getSessionId()));
+ if (mIsAtLeastR) {
+ Log.d(TAG, "Session Id = " + Arrays.toString(session.getSessionId()));
+ }
session.setPrivateData(pvtData);
@@ -295,7 +306,9 @@
Handler handler = new Handler(thread.getLooper());
testEventEcho(mediaCas, 1, 2, null /* data */, handler);
testSessionEventEcho(mediaCas, session, 1, 2, null /* data */, handler);
- testOpenSessionEcho(mediaCas, 0, 2, handler);
+ if (mIsAtLeastR) {
+ testOpenSessionEcho(mediaCas, 0, 2, handler);
+ }
thread.interrupt();
String eventDataString = "event data string";
@@ -504,6 +517,7 @@
*/
public void testResourceLostEvent() throws Exception {
MediaCas mediaCas = null;
+ if (!MediaUtils.check(mIsAtLeastR, "test needs Android 11")) return;
try {
mediaCas = new MediaCas(getContext(), sClearKeySystemId, "TIS_Session_1",