diff options
| author | 2017-10-10 18:48:08 +0000 | |
|---|---|---|
| committer | 2017-10-10 18:48:08 +0000 | |
| commit | 8765abcc9ece7b56b3ae5e5dd0e0c2a2be541663 (patch) | |
| tree | a70fc72e281fbded335e52719fc224902ec0219e | |
| parent | 7934a7f828ac09592c3bc5625c16c7cda26ccd57 (diff) | |
| parent | 3b6df532f3bea5f8daa0c053847296c46dff3ba5 (diff) | |
Merge "Require DownloadRequest#Builder to have mandatory Source URI" am: 432c2b0fb9
am: 3b6df532f3
Change-Id: I4d9031d32f59953d7b86cf361635c7d7f08fdf32
| -rw-r--r-- | api/current.txt | 3 | ||||
| -rw-r--r-- | api/system-current.txt | 3 | ||||
| -rw-r--r-- | api/test-current.txt | 3 | ||||
| -rw-r--r-- | telephony/java/android/telephony/mbms/DownloadRequest.java | 30 |
4 files changed, 21 insertions, 18 deletions
diff --git a/api/current.txt b/api/current.txt index f8c64e6e3882..72b345b92efa 100644 --- a/api/current.txt +++ b/api/current.txt @@ -40466,11 +40466,10 @@ package android.telephony.mbms { } public static class DownloadRequest.Builder { - ctor public DownloadRequest.Builder(); + ctor public DownloadRequest.Builder(android.net.Uri); method public android.telephony.mbms.DownloadRequest build(); method public android.telephony.mbms.DownloadRequest.Builder setAppIntent(android.content.Intent); method public android.telephony.mbms.DownloadRequest.Builder setServiceInfo(android.telephony.mbms.FileServiceInfo); - method public android.telephony.mbms.DownloadRequest.Builder setSource(android.net.Uri); method public android.telephony.mbms.DownloadRequest.Builder setSubscriptionId(int); } diff --git a/api/system-current.txt b/api/system-current.txt index f25a36c02b01..309246450c58 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -43984,13 +43984,12 @@ package android.telephony.mbms { } public static class DownloadRequest.Builder { - ctor public DownloadRequest.Builder(); + ctor public DownloadRequest.Builder(android.net.Uri); method public android.telephony.mbms.DownloadRequest build(); method public android.telephony.mbms.DownloadRequest.Builder setAppIntent(android.content.Intent); method public android.telephony.mbms.DownloadRequest.Builder setOpaqueData(byte[]); method public android.telephony.mbms.DownloadRequest.Builder setServiceId(java.lang.String); method public android.telephony.mbms.DownloadRequest.Builder setServiceInfo(android.telephony.mbms.FileServiceInfo); - method public android.telephony.mbms.DownloadRequest.Builder setSource(android.net.Uri); method public android.telephony.mbms.DownloadRequest.Builder setSubscriptionId(int); } diff --git a/api/test-current.txt b/api/test-current.txt index 016c31829b03..f10293f0e4ec 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -40690,11 +40690,10 @@ package android.telephony.mbms { } public static class DownloadRequest.Builder { - ctor public DownloadRequest.Builder(); + ctor public DownloadRequest.Builder(android.net.Uri); method public android.telephony.mbms.DownloadRequest build(); method public android.telephony.mbms.DownloadRequest.Builder setAppIntent(android.content.Intent); method public android.telephony.mbms.DownloadRequest.Builder setServiceInfo(android.telephony.mbms.FileServiceInfo); - method public android.telephony.mbms.DownloadRequest.Builder setSource(android.net.Uri); method public android.telephony.mbms.DownloadRequest.Builder setSubscriptionId(int); } diff --git a/telephony/java/android/telephony/mbms/DownloadRequest.java b/telephony/java/android/telephony/mbms/DownloadRequest.java index 5a57f3221d3a..f0d60b68eb94 100644 --- a/telephony/java/android/telephony/mbms/DownloadRequest.java +++ b/telephony/java/android/telephony/mbms/DownloadRequest.java @@ -16,6 +16,7 @@ package android.telephony.mbms; +import android.annotation.NonNull; import android.annotation.SystemApi; import android.content.Intent; import android.net.Uri; @@ -26,7 +27,6 @@ import android.util.Log; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; -import java.io.File; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; @@ -71,6 +71,19 @@ public final class DownloadRequest implements Parcelable { private String appIntent; private int version = CURRENT_VERSION; + + /** + * Builds a new DownloadRequest. + * @param sourceUri the source URI for the DownloadRequest to be built. This URI should + * never be null. + */ + public Builder(@NonNull Uri sourceUri) { + if (sourceUri == null) { + throw new IllegalArgumentException("Source URI must be non-null."); + } + source = sourceUri; + } + /** * Sets the service from which the download request to be built will download from. * @param serviceInfo @@ -92,15 +105,6 @@ public final class DownloadRequest implements Parcelable { } /** - * Sets the source URI for the download request to be built. - * @param source - */ - public Builder setSource(Uri source) { - this.source = source; - return this; - } - - /** * Set the subscription ID on which the file(s) should be downloaded. * @param subscriptionId */ @@ -316,9 +320,11 @@ public final class DownloadRequest implements Parcelable { throw new RuntimeException("Could not get sha256 hash object"); } if (version >= 1) { - // Hash the source URI, destination URI, and the app intent + // Hash the source URI and the app intent digest.update(sourceUri.toString().getBytes(StandardCharsets.UTF_8)); - digest.update(serializedResultIntentForApp.getBytes(StandardCharsets.UTF_8)); + if (serializedResultIntentForApp != null) { + digest.update(serializedResultIntentForApp.getBytes(StandardCharsets.UTF_8)); + } } // Add updates for future versions here return Base64.encodeToString(digest.digest(), Base64.URL_SAFE | Base64.NO_WRAP); |