From ff7819e86a50d2187eda852381d2af3c478d27f5 Mon Sep 17 00:00:00 2001 From: olly Date: Wed, 25 May 2016 09:21:23 -0700 Subject: [PATCH] Delete another class from the demo app. Merge the two MediaDrmCallback classes, since they're pretty much identical. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=123220343 --- .../exoplayer/demo/PlayerActivity.java | 4 +- ...allback.java => TestMediaDrmCallback.java} | 33 +++++++--- .../exoplayer/demo/TrackSelectionHelper.java | 3 +- .../demo/WidevineTestMediaDrmCallback.java | 60 ------------------- 4 files changed, 29 insertions(+), 71 deletions(-) rename demo/src/main/java/com/google/android/exoplayer/demo/{SmoothStreamingTestMediaDrmCallback.java => TestMediaDrmCallback.java} (60%) delete mode 100644 demo/src/main/java/com/google/android/exoplayer/demo/WidevineTestMediaDrmCallback.java diff --git a/demo/src/main/java/com/google/android/exoplayer/demo/PlayerActivity.java b/demo/src/main/java/com/google/android/exoplayer/demo/PlayerActivity.java index ebe460b91e..dbbd5694ad 100644 --- a/demo/src/main/java/com/google/android/exoplayer/demo/PlayerActivity.java +++ b/demo/src/main/java/com/google/android/exoplayer/demo/PlayerActivity.java @@ -335,10 +335,10 @@ public class PlayerActivity extends Activity implements SurfaceHolder.Callback, } if (C.PLAYREADY_UUID.equals(uuid)) { return StreamingDrmSessionManager.newPlayReadyInstance( - new SmoothStreamingTestMediaDrmCallback(), null, mainHandler, eventLogger); + TestMediaDrmCallback.newPlayReadyInstance(), null, mainHandler, eventLogger); } else if (C.WIDEVINE_UUID.equals(uuid)) { return StreamingDrmSessionManager.newWidevineInstance( - new WidevineTestMediaDrmCallback(id, provider), null, mainHandler, eventLogger); + TestMediaDrmCallback.newWidevineInstance(id, provider), null, mainHandler, eventLogger); } else { throw new UnsupportedDrmException(UnsupportedDrmException.REASON_UNSUPPORTED_SCHEME); } diff --git a/demo/src/main/java/com/google/android/exoplayer/demo/SmoothStreamingTestMediaDrmCallback.java b/demo/src/main/java/com/google/android/exoplayer/demo/TestMediaDrmCallback.java similarity index 60% rename from demo/src/main/java/com/google/android/exoplayer/demo/SmoothStreamingTestMediaDrmCallback.java rename to demo/src/main/java/com/google/android/exoplayer/demo/TestMediaDrmCallback.java index bcdc06e71b..16e6dad89e 100644 --- a/demo/src/main/java/com/google/android/exoplayer/demo/SmoothStreamingTestMediaDrmCallback.java +++ b/demo/src/main/java/com/google/android/exoplayer/demo/TestMediaDrmCallback.java @@ -16,7 +16,6 @@ package com.google.android.exoplayer.demo; import com.google.android.exoplayer.drm.MediaDrmCallback; -import com.google.android.exoplayer.drm.StreamingDrmSessionManager; import com.google.android.exoplayer.util.Util; import android.annotation.TargetApi; @@ -30,20 +29,38 @@ import java.util.Map; import java.util.UUID; /** - * Demo {@link StreamingDrmSessionManager} for smooth streaming test content. + * A {@link MediaDrmCallback} for test content. */ @TargetApi(18) -public final class SmoothStreamingTestMediaDrmCallback implements MediaDrmCallback { +/* package */ final class TestMediaDrmCallback implements MediaDrmCallback { - private static final String PLAYREADY_TEST_DEFAULT_URI = + private static final String WIDEVINE_BASE_URL = "https://proxy.uat.widevine.com/proxy"; + private static final String PLAYREADY_BASE_URL = "http://playready.directtaps.net/pr/svc/rightsmanager.asmx"; - private static final Map KEY_REQUEST_PROPERTIES; + private static final Map PLAYREADY_KEY_REQUEST_PROPERTIES; static { HashMap keyRequestProperties = new HashMap<>(); keyRequestProperties.put("Content-Type", "text/xml"); keyRequestProperties.put("SOAPAction", "http://schemas.microsoft.com/DRM/2007/03/protocols/AcquireLicense"); - KEY_REQUEST_PROPERTIES = keyRequestProperties; + PLAYREADY_KEY_REQUEST_PROPERTIES = keyRequestProperties; + } + + private final String defaultUrl; + private final Map keyRequestProperties; + + public static TestMediaDrmCallback newWidevineInstance(String contentId, String provider) { + String defaultUrl = WIDEVINE_BASE_URL + "?video_id=" + contentId + "&provider=" + provider; + return new TestMediaDrmCallback(defaultUrl, null); + } + + public static TestMediaDrmCallback newPlayReadyInstance() { + return new TestMediaDrmCallback(PLAYREADY_BASE_URL, PLAYREADY_KEY_REQUEST_PROPERTIES); + } + + private TestMediaDrmCallback(String defaultUrl, Map keyRequestProperties) { + this.defaultUrl = defaultUrl; + this.keyRequestProperties = keyRequestProperties; } @Override @@ -56,9 +73,9 @@ public final class SmoothStreamingTestMediaDrmCallback implements MediaDrmCallba public byte[] executeKeyRequest(UUID uuid, KeyRequest request) throws Exception { String url = request.getDefaultUrl(); if (TextUtils.isEmpty(url)) { - url = PLAYREADY_TEST_DEFAULT_URI; + url = defaultUrl; } - return Util.executePost(url, request.getData(), KEY_REQUEST_PROPERTIES); + return Util.executePost(url, request.getData(), keyRequestProperties); } } diff --git a/demo/src/main/java/com/google/android/exoplayer/demo/TrackSelectionHelper.java b/demo/src/main/java/com/google/android/exoplayer/demo/TrackSelectionHelper.java index 4f29f37a33..a5475de0f9 100644 --- a/demo/src/main/java/com/google/android/exoplayer/demo/TrackSelectionHelper.java +++ b/demo/src/main/java/com/google/android/exoplayer/demo/TrackSelectionHelper.java @@ -41,7 +41,8 @@ import java.util.Locale; /** * Helper class for displaying track selection dialogs. */ -public class TrackSelectionHelper implements View.OnClickListener, DialogInterface.OnClickListener { +/* package */ final class TrackSelectionHelper implements View.OnClickListener, + DialogInterface.OnClickListener { private final DefaultTrackSelector selector; diff --git a/demo/src/main/java/com/google/android/exoplayer/demo/WidevineTestMediaDrmCallback.java b/demo/src/main/java/com/google/android/exoplayer/demo/WidevineTestMediaDrmCallback.java deleted file mode 100644 index b91d3a80f7..0000000000 --- a/demo/src/main/java/com/google/android/exoplayer/demo/WidevineTestMediaDrmCallback.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Copyright (C) 2014 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.google.android.exoplayer.demo; - -import com.google.android.exoplayer.drm.MediaDrmCallback; -import com.google.android.exoplayer.util.Util; - -import android.annotation.TargetApi; -import android.media.MediaDrm.KeyRequest; -import android.media.MediaDrm.ProvisionRequest; -import android.text.TextUtils; - -import java.io.IOException; -import java.util.UUID; - -/** - * A {@link MediaDrmCallback} for Widevine test content. - */ -@TargetApi(18) -public final class WidevineTestMediaDrmCallback implements MediaDrmCallback { - - private static final String WIDEVINE_GTS_DEFAULT_BASE_URI = - "https://proxy.uat.widevine.com/proxy"; - - private final String defaultUri; - - public WidevineTestMediaDrmCallback(String contentId, String provider) { - String params = "?video_id=" + contentId + "&provider=" + provider; - defaultUri = WIDEVINE_GTS_DEFAULT_BASE_URI + params; - } - - @Override - public byte[] executeProvisionRequest(UUID uuid, ProvisionRequest request) throws IOException { - String url = request.getDefaultUrl() + "&signedRequest=" + new String(request.getData()); - return Util.executePost(url, null, null); - } - - @Override - public byte[] executeKeyRequest(UUID uuid, KeyRequest request) throws IOException { - String url = request.getDefaultUrl(); - if (TextUtils.isEmpty(url)) { - url = defaultUri; - } - return Util.executePost(url, request.getData(), null); - } - -}