Merge "Require DownloadRequest#Builder to have mandatory Source URI"
am: 432c2b0fb9
Change-Id: I3332d44105c6ce4f8d4223caad66715c4c67d52f
This commit is contained in:
@@ -40466,11 +40466,10 @@ package android.telephony.mbms {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static class DownloadRequest.Builder {
|
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 build();
|
||||||
method public android.telephony.mbms.DownloadRequest.Builder setAppIntent(android.content.Intent);
|
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 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);
|
method public android.telephony.mbms.DownloadRequest.Builder setSubscriptionId(int);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -43983,13 +43983,12 @@ package android.telephony.mbms {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static class DownloadRequest.Builder {
|
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 build();
|
||||||
method public android.telephony.mbms.DownloadRequest.Builder setAppIntent(android.content.Intent);
|
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 setOpaqueData(byte[]);
|
||||||
method public android.telephony.mbms.DownloadRequest.Builder setServiceId(java.lang.String);
|
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 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);
|
method public android.telephony.mbms.DownloadRequest.Builder setSubscriptionId(int);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -40690,11 +40690,10 @@ package android.telephony.mbms {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static class DownloadRequest.Builder {
|
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 build();
|
||||||
method public android.telephony.mbms.DownloadRequest.Builder setAppIntent(android.content.Intent);
|
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 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);
|
method public android.telephony.mbms.DownloadRequest.Builder setSubscriptionId(int);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
package android.telephony.mbms;
|
package android.telephony.mbms;
|
||||||
|
|
||||||
|
import android.annotation.NonNull;
|
||||||
import android.annotation.SystemApi;
|
import android.annotation.SystemApi;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
@@ -26,7 +27,6 @@ import android.util.Log;
|
|||||||
|
|
||||||
import java.io.ByteArrayInputStream;
|
import java.io.ByteArrayInputStream;
|
||||||
import java.io.ByteArrayOutputStream;
|
import java.io.ByteArrayOutputStream;
|
||||||
import java.io.File;
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.ObjectInputStream;
|
import java.io.ObjectInputStream;
|
||||||
import java.io.ObjectOutputStream;
|
import java.io.ObjectOutputStream;
|
||||||
@@ -71,6 +71,19 @@ public final class DownloadRequest implements Parcelable {
|
|||||||
private String appIntent;
|
private String appIntent;
|
||||||
private int version = CURRENT_VERSION;
|
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.
|
* Sets the service from which the download request to be built will download from.
|
||||||
* @param serviceInfo
|
* @param serviceInfo
|
||||||
@@ -91,15 +104,6 @@ public final class DownloadRequest implements Parcelable {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 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.
|
* Set the subscription ID on which the file(s) should be downloaded.
|
||||||
* @param subscriptionId
|
* @param subscriptionId
|
||||||
@@ -316,10 +320,12 @@ public final class DownloadRequest implements Parcelable {
|
|||||||
throw new RuntimeException("Could not get sha256 hash object");
|
throw new RuntimeException("Could not get sha256 hash object");
|
||||||
}
|
}
|
||||||
if (version >= 1) {
|
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(sourceUri.toString().getBytes(StandardCharsets.UTF_8));
|
||||||
|
if (serializedResultIntentForApp != null) {
|
||||||
digest.update(serializedResultIntentForApp.getBytes(StandardCharsets.UTF_8));
|
digest.update(serializedResultIntentForApp.getBytes(StandardCharsets.UTF_8));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
// Add updates for future versions here
|
// Add updates for future versions here
|
||||||
return Base64.encodeToString(digest.digest(), Base64.URL_SAFE | Base64.NO_WRAP);
|
return Base64.encodeToString(digest.digest(), Base64.URL_SAFE | Base64.NO_WRAP);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user