Move appName inside Downloadrequest.
Simplifies vendor API.
Test: builds
Change-Id: I1e59e8014aa0fe1c0d46bca3347f428347fa0365
diff --git a/telephony/java/android/telephony/MbmsDownloadManager.java b/telephony/java/android/telephony/MbmsDownloadManager.java
index d9f8fa6..a9ec299 100644
--- a/telephony/java/android/telephony/MbmsDownloadManager.java
+++ b/telephony/java/android/telephony/MbmsDownloadManager.java
@@ -17,9 +17,10 @@
package android.telephony;
import android.content.Context;
+import android.content.Intent;
import android.net.Uri;
import android.os.RemoteException;
-import android.telephony.mbms.DownloadCallback;
+import android.telephony.mbms.IDownloadCallback;
import android.telephony.mbms.DownloadRequest;
import android.telephony.mbms.DownloadStatus;
import android.telephony.mbms.IMbmsDownloadManagerCallback;
@@ -242,8 +243,9 @@
*
* Asynchronous errors through the listener include any of the errors
*/
- public DownloadRequest download(DownloadRequest downloadRequest, DownloadCallback listener) {
- return null;
+ public DownloadRequest download(DownloadRequest request, IDownloadCallback listener) {
+ request.setAppName(mDownloadAppName);
+ return request;
}
/**
diff --git a/telephony/java/android/telephony/mbms/DownloadRequest.java b/telephony/java/android/telephony/mbms/DownloadRequest.java
index dbaf10bb..f3ca058 100644
--- a/telephony/java/android/telephony/mbms/DownloadRequest.java
+++ b/telephony/java/android/telephony/mbms/DownloadRequest.java
@@ -21,6 +21,7 @@
import android.os.Parcel;
import android.os.Parcelable;
+import java.lang.IllegalStateException;
import java.net.URISyntaxException;
/**
@@ -36,6 +37,7 @@
private Uri dest;
private int sub;
private String appIntent;
+ private String appName; // not the Android app Name, the embms app Name
public Builder setId(int id) {
this.id = id;
@@ -68,7 +70,7 @@
}
public DownloadRequest build() {
- return new DownloadRequest(id, serviceInfo, source, dest, sub, appIntent);
+ return new DownloadRequest(id, serviceInfo, source, dest, sub, appIntent, appName);
}
}
@@ -78,16 +80,18 @@
private final Uri destinationUri;
private final int subId;
private final String serializedResultIntentForApp;
+ private String appName; // not the Android app Name, the embms app name
private DownloadRequest(int id, FileServiceInfo serviceInfo,
Uri source, Uri dest,
- int sub, String appIntent) {
+ int sub, String appIntent, String name) {
downloadId = id;
fileServiceInfo = serviceInfo;
sourceUri = source;
destinationUri = dest;
subId = sub;
serializedResultIntentForApp = appIntent;
+ appName = name;
}
public static DownloadRequest copy(DownloadRequest other) {
@@ -101,6 +105,7 @@
destinationUri = dr.destinationUri;
subId = dr.subId;
serializedResultIntentForApp = dr.serializedResultIntentForApp;
+ appName = dr.appName;
}
private DownloadRequest(Parcel in) {
@@ -110,6 +115,7 @@
destinationUri = in.readParcelable(getClass().getClassLoader());
subId = in.readInt();
serializedResultIntentForApp = in.readString();
+ appName = in.readString();
}
public int describeContents() {
@@ -123,6 +129,7 @@
out.writeParcelable(destinationUri, flags);
out.writeInt(subId);
out.writeString(serializedResultIntentForApp);
+ out.writeString(appName);
}
public int getDownloadId() {
@@ -153,6 +160,18 @@
}
}
+ /** @hide */
+ public synchronized void setAppName(String newAppName) {
+ if (appName != null) {
+ throw new IllegalStateException("Attempting to reset appName");
+ }
+ appName = newAppName;
+ }
+
+ public String getAppName() {
+ return appName;
+ }
+
public static final Parcelable.Creator<DownloadRequest> CREATOR =
new Parcelable.Creator<DownloadRequest>() {
public DownloadRequest createFromParcel(Parcel in) {
@@ -162,5 +181,4 @@
return new DownloadRequest[size];
}
};
-
}
diff --git a/telephony/java/android/telephony/mbms/vendor/IMbmsDownloadService.aidl b/telephony/java/android/telephony/mbms/vendor/IMbmsDownloadService.aidl
index 3090e12..6c2b816 100755
--- a/telephony/java/android/telephony/mbms/vendor/IMbmsDownloadService.aidl
+++ b/telephony/java/android/telephony/mbms/vendor/IMbmsDownloadService.aidl
@@ -50,20 +50,20 @@
/**
* should move the params into a DownloadRequest parcelable
*/
- int download(String appName, in DownloadRequest downloadRequest, IDownloadCallback listener);
+ int download(in DownloadRequest downloadRequest, IDownloadCallback listener);
- List<DownloadRequest> listPendingDownloads(String appName);
+ List<DownloadRequest> listPendingDownloads(String appName, int subscriptionId);
- int cancelDownload(String appName, in DownloadRequest downloadRequest);
+ int cancelDownload(in DownloadRequest downloadRequest);
- DownloadStatus getDownloadStatus(String appName, in DownloadRequest downloadRequest);
+ DownloadStatus getDownloadStatus(in DownloadRequest downloadRequest);
/*
* named this for 2 reasons:
* 1 don't want 'State' here as it conflicts with 'Status' of the previous function
* 2 want to perfect typing 'Knowledge'
*/
- void resetDownloadKnowledge(String appName, in DownloadRequest downloadRequest);
+ void resetDownloadKnowledge(in DownloadRequest downloadRequest);
/**
* End of life for this MbmsDownloadManager.
diff --git a/telephony/java/android/telephony/mbms/vendor/MbmsDownloadServiceBase.java b/telephony/java/android/telephony/mbms/vendor/MbmsDownloadServiceBase.java
index 369aef1..505aeae 100644
--- a/telephony/java/android/telephony/mbms/vendor/MbmsDownloadServiceBase.java
+++ b/telephony/java/android/telephony/mbms/vendor/MbmsDownloadServiceBase.java
@@ -43,34 +43,34 @@
}
@Override
- public int download(String appName, DownloadRequest downloadRequest, IDownloadCallback listener)
+ public int download(DownloadRequest downloadRequest, IDownloadCallback listener)
throws RemoteException {
return 0;
}
@Override
- public List<DownloadRequest> listPendingDownloads(String appName) throws RemoteException {
+ public List<DownloadRequest> listPendingDownloads(String appName, int subscriptionId)
+ throws RemoteException {
return null;
}
@Override
- public int cancelDownload(String appName, DownloadRequest downloadRequest)
- throws RemoteException {
+ public int cancelDownload(DownloadRequest downloadRequest) throws RemoteException {
return 0;
}
@Override
- public DownloadStatus getDownloadStatus(String appName, DownloadRequest downloadRequest)
+ public DownloadStatus getDownloadStatus(DownloadRequest downloadRequest)
throws RemoteException {
return null;
}
@Override
- public void resetDownloadKnowledge(String appName, DownloadRequest downloadRequest)
+ public void resetDownloadKnowledge(DownloadRequest downloadRequest)
throws RemoteException {
}
@Override
- public void dispose(String appName, int subId) throws RemoteException {
+ public void dispose(String appName, int subscriptionId) throws RemoteException {
}
}