summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVikram Gaur <vikramgaur@google.com>2024-03-08 13:02:40 +0000
committerVikram Gaur <vikramgaur@google.com>2024-03-29 18:58:42 +0000
commit7d37101b50d2f0c8be9406ed15319d403e168803 (patch)
treef55d2eb6a40fe54f2fd05028f56ad1dad4becbfa
parent6939567ca156b70d7b6268925e60ee1721e76aa3 (diff)
downloadRemoteKeyProvisioning-7d37101b50d2f0c8be9406ed15319d403e168803.tar.gz
Add China URL support for Widevine Provisioning.
Since China does not have the same URL for widevine provisioning and the original URL would just fail, RKPD would try the first URL and then retry with the Chinese URL once a failure is detected. If both are not working then Widevine provisioning will fail. Test: atest RkpdAppUnitTests Bug: 301202018 Change-Id: I3ed238d76fde0922814803baf7b18b926c85dbd8
-rw-r--r--app/src/com/android/rkpdapp/provisioner/WidevineProvisioner.java13
1 files changed, 12 insertions, 1 deletions
diff --git a/app/src/com/android/rkpdapp/provisioner/WidevineProvisioner.java b/app/src/com/android/rkpdapp/provisioner/WidevineProvisioner.java
index 8ed9321..59a16b9 100644
--- a/app/src/com/android/rkpdapp/provisioner/WidevineProvisioner.java
+++ b/app/src/com/android/rkpdapp/provisioner/WidevineProvisioner.java
@@ -32,6 +32,7 @@ import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.net.HttpURLConnection;
+import java.net.SocketTimeoutException;
import java.net.URL;
import java.util.ArrayList;
import java.util.HashMap;
@@ -165,7 +166,17 @@ public class WidevineProvisioner extends Worker {
"%s&signedRequest=%s",
req.getDefaultUrl(),
new String(data));
- return sendNetworkRequest(signedUrl);
+ try {
+ return sendNetworkRequest(signedUrl);
+ } catch (SocketTimeoutException e) {
+ Log.i(TAG, "Provisioning failed with normal URL, retrying with China URL.");
+ final String chinaUrl = req.getDefaultUrl().replace(".com", ".cn");
+ final String signedUrlChina = String.format(
+ "%s&signedRequest=%s",
+ chinaUrl,
+ new String(data));
+ return sendNetworkRequest(signedUrlChina);
+ }
}
private byte[] sendNetworkRequest(String url) throws IOException {