diff options
author | Vikram Gaur <vikramgaur@google.com> | 2024-03-08 13:02:40 +0000 |
---|---|---|
committer | Vikram Gaur <vikramgaur@google.com> | 2024-03-29 18:58:42 +0000 |
commit | 7d37101b50d2f0c8be9406ed15319d403e168803 (patch) | |
tree | f55d2eb6a40fe54f2fd05028f56ad1dad4becbfa | |
parent | 6939567ca156b70d7b6268925e60ee1721e76aa3 (diff) | |
download | RemoteKeyProvisioning-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.java | 13 |
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 { |