Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 39605add authored by Hall Liu's avatar Hall Liu
Browse files

Unhide EMBMS download API

Make changes to the download API so that it passes the linter, remove
@hide tags.

Test: manual
Bug: 30981736
Change-Id: Ifa0d36896338b0108fbaad4b1e9b8d857a43d491
parent 571293ad
Loading
Loading
Loading
Loading
+90 −0
Original line number Diff line number Diff line
@@ -39729,6 +39729,35 @@ package android.telephony {
    field public static final int STATUS_UNKNOWN_ERROR = 4; // 0x4
  }
  public class MbmsDownloadManager {
    method public void cancelDownload(android.telephony.mbms.DownloadRequest) throws android.telephony.mbms.MbmsException;
    method public static android.telephony.MbmsDownloadManager create(android.content.Context, android.telephony.mbms.MbmsDownloadManagerCallback) throws android.telephony.mbms.MbmsException;
    method public static android.telephony.MbmsDownloadManager create(android.content.Context, android.telephony.mbms.MbmsDownloadManagerCallback, android.os.Handler) throws android.telephony.mbms.MbmsException;
    method public static android.telephony.MbmsDownloadManager create(android.content.Context, android.telephony.mbms.MbmsDownloadManagerCallback, int) throws android.telephony.mbms.MbmsException;
    method public static android.telephony.MbmsDownloadManager create(android.content.Context, android.telephony.mbms.MbmsDownloadManagerCallback, int, android.os.Handler) throws android.telephony.mbms.MbmsException;
    method public void dispose();
    method public void download(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadStateCallback, android.os.Handler) throws android.telephony.mbms.MbmsException;
    method public int getDownloadStatus(android.telephony.mbms.DownloadRequest, android.telephony.mbms.FileInfo) throws android.telephony.mbms.MbmsException;
    method public void getFileServices(java.util.List<java.lang.String>) throws android.telephony.mbms.MbmsException;
    method public java.io.File getTempFileRootDirectory();
    method public java.util.List<android.telephony.mbms.DownloadRequest> listPendingDownloads() throws android.telephony.mbms.MbmsException;
    method public void resetDownloadKnowledge(android.telephony.mbms.DownloadRequest) throws android.telephony.mbms.MbmsException;
    method public void setTempFileRootDirectory(java.io.File) throws android.telephony.mbms.MbmsException;
    field public static final java.lang.String DEFAULT_TOP_LEVEL_TEMP_DIRECTORY = "androidMbmsTempFileRoot";
    field public static final java.lang.String EXTRA_MBMS_COMPLETED_FILE_URI = "android.telephony.extra.MBMS_COMPLETED_FILE_URI";
    field public static final java.lang.String EXTRA_MBMS_DOWNLOAD_RESULT = "android.telephony.extra.MBMS_DOWNLOAD_RESULT";
    field public static final java.lang.String EXTRA_MBMS_FILE_INFO = "android.telephony.extra.MBMS_FILE_INFO";
    field public static final int RESULT_CANCELLED = 2; // 0x2
    field public static final int RESULT_EXPIRED = 3; // 0x3
    field public static final int RESULT_IO_ERROR = 4; // 0x4
    field public static final int RESULT_SUCCESSFUL = 1; // 0x1
    field public static final int STATUS_ACTIVELY_DOWNLOADING = 1; // 0x1
    field public static final int STATUS_PENDING_DOWNLOAD = 2; // 0x2
    field public static final int STATUS_PENDING_DOWNLOAD_WINDOW = 4; // 0x4
    field public static final int STATUS_PENDING_REPAIR = 3; // 0x3
    field public static final int STATUS_UNKNOWN = 0; // 0x0
  }
  public class MbmsStreamingManager {
    method public static android.telephony.MbmsStreamingManager create(android.content.Context, android.telephony.mbms.MbmsStreamingManagerCallback, int, android.os.Handler) throws android.telephony.mbms.MbmsException;
    method public static android.telephony.MbmsStreamingManager create(android.content.Context, android.telephony.mbms.MbmsStreamingManagerCallback, android.os.Handler) throws android.telephony.mbms.MbmsException;
@@ -40368,6 +40397,62 @@ package android.telephony.gsm {
package android.telephony.mbms {
  public final class DownloadRequest implements android.os.Parcelable {
    method public static android.telephony.mbms.DownloadRequest copy(android.telephony.mbms.DownloadRequest);
    method public int describeContents();
    method public android.net.Uri getDestinationUri();
    method public java.lang.String getFileServiceId();
    method public static int getMaxAppIntentSize();
    method public static int getMaxDestinationUriSize();
    method public android.net.Uri getSourceUri();
    method public int getSubscriptionId();
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.telephony.mbms.DownloadRequest> CREATOR;
  }
  public static class DownloadRequest.Builder {
    ctor public DownloadRequest.Builder();
    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 setDest(android.net.Uri);
    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);
  }
  public class DownloadStateCallback {
    ctor public DownloadStateCallback();
    method public void onProgressUpdated(android.telephony.mbms.DownloadRequest, android.telephony.mbms.FileInfo, int, int, int, int);
    method public void onStateChanged(android.telephony.mbms.DownloadRequest, android.telephony.mbms.FileInfo, int);
  }
  public final class FileInfo implements android.os.Parcelable {
    method public int describeContents();
    method public java.lang.String getMimeType();
    method public android.net.Uri getUri();
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.telephony.mbms.FileInfo> CREATOR;
  }
  public final class FileServiceInfo extends android.telephony.mbms.ServiceInfo implements android.os.Parcelable {
    method public int describeContents();
    method public java.util.List<android.telephony.mbms.FileInfo> getFiles();
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.telephony.mbms.FileServiceInfo> CREATOR;
  }
  public class MbmsDownloadManagerCallback {
    ctor public MbmsDownloadManagerCallback();
    method public void onError(int, java.lang.String);
    method public void onFileServicesUpdated(java.util.List<android.telephony.mbms.FileServiceInfo>);
    method public void onMiddlewareReady();
  }
  public class MbmsDownloadReceiver extends android.content.BroadcastReceiver {
    ctor public MbmsDownloadReceiver();
    method public void onReceive(android.content.Context, android.content.Intent);
  }
  public class MbmsException extends java.lang.Exception {
    method public int getErrorCode();
    field public static final int ERROR_MIDDLEWARE_LOST = 3; // 0x3
@@ -40376,6 +40461,11 @@ package android.telephony.mbms {
    field public static final int SUCCESS = 0; // 0x0
  }
  public static class MbmsException.DownloadErrors {
    field public static final int ERROR_CANNOT_CHANGE_TEMP_FILE_ROOT = 401; // 0x191
    field public static final int ERROR_UNKNOWN_DOWNLOAD_REQUEST = 402; // 0x192
  }
  public static class MbmsException.GeneralErrors {
    field public static final int ERROR_CARRIER_CHANGE_NOT_ALLOWED = 207; // 0xcf
    field public static final int ERROR_IN_E911 = 204; // 0xcc
+142 −0
Original line number Diff line number Diff line
@@ -43159,6 +43159,36 @@ package android.telephony {
    field public static final int STATUS_UNKNOWN_ERROR = 4; // 0x4
  }
  public class MbmsDownloadManager {
    method public void cancelDownload(android.telephony.mbms.DownloadRequest) throws android.telephony.mbms.MbmsException;
    method public static android.telephony.MbmsDownloadManager create(android.content.Context, android.telephony.mbms.MbmsDownloadManagerCallback) throws android.telephony.mbms.MbmsException;
    method public static android.telephony.MbmsDownloadManager create(android.content.Context, android.telephony.mbms.MbmsDownloadManagerCallback, android.os.Handler) throws android.telephony.mbms.MbmsException;
    method public static android.telephony.MbmsDownloadManager create(android.content.Context, android.telephony.mbms.MbmsDownloadManagerCallback, int) throws android.telephony.mbms.MbmsException;
    method public static android.telephony.MbmsDownloadManager create(android.content.Context, android.telephony.mbms.MbmsDownloadManagerCallback, int, android.os.Handler) throws android.telephony.mbms.MbmsException;
    method public void dispose();
    method public void download(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadStateCallback, android.os.Handler) throws android.telephony.mbms.MbmsException;
    method public int getDownloadStatus(android.telephony.mbms.DownloadRequest, android.telephony.mbms.FileInfo) throws android.telephony.mbms.MbmsException;
    method public void getFileServices(java.util.List<java.lang.String>) throws android.telephony.mbms.MbmsException;
    method public java.io.File getTempFileRootDirectory();
    method public java.util.List<android.telephony.mbms.DownloadRequest> listPendingDownloads() throws android.telephony.mbms.MbmsException;
    method public void resetDownloadKnowledge(android.telephony.mbms.DownloadRequest) throws android.telephony.mbms.MbmsException;
    method public void setTempFileRootDirectory(java.io.File) throws android.telephony.mbms.MbmsException;
    field public static final java.lang.String DEFAULT_TOP_LEVEL_TEMP_DIRECTORY = "androidMbmsTempFileRoot";
    field public static final java.lang.String EXTRA_MBMS_COMPLETED_FILE_URI = "android.telephony.extra.MBMS_COMPLETED_FILE_URI";
    field public static final java.lang.String EXTRA_MBMS_DOWNLOAD_RESULT = "android.telephony.extra.MBMS_DOWNLOAD_RESULT";
    field public static final java.lang.String EXTRA_MBMS_FILE_INFO = "android.telephony.extra.MBMS_FILE_INFO";
    field public static final java.lang.String MBMS_DOWNLOAD_SERVICE_ACTION = "android.telephony.action.EmbmsDownload";
    field public static final int RESULT_CANCELLED = 2; // 0x2
    field public static final int RESULT_EXPIRED = 3; // 0x3
    field public static final int RESULT_IO_ERROR = 4; // 0x4
    field public static final int RESULT_SUCCESSFUL = 1; // 0x1
    field public static final int STATUS_ACTIVELY_DOWNLOADING = 1; // 0x1
    field public static final int STATUS_PENDING_DOWNLOAD = 2; // 0x2
    field public static final int STATUS_PENDING_DOWNLOAD_WINDOW = 4; // 0x4
    field public static final int STATUS_PENDING_REPAIR = 3; // 0x3
    field public static final int STATUS_UNKNOWN = 0; // 0x0
  }
  public class MbmsStreamingManager {
    method public static android.telephony.MbmsStreamingManager create(android.content.Context, android.telephony.mbms.MbmsStreamingManagerCallback, int, android.os.Handler) throws android.telephony.mbms.MbmsException;
    method public static android.telephony.MbmsStreamingManager create(android.content.Context, android.telephony.mbms.MbmsStreamingManagerCallback, android.os.Handler) throws android.telephony.mbms.MbmsException;
@@ -43882,6 +43912,73 @@ package android.telephony.ims {
package android.telephony.mbms {
  public final class DownloadRequest implements android.os.Parcelable {
    method public static android.telephony.mbms.DownloadRequest copy(android.telephony.mbms.DownloadRequest);
    method public int describeContents();
    method public android.net.Uri getDestinationUri();
    method public java.lang.String getFileServiceId();
    method public static int getMaxAppIntentSize();
    method public static int getMaxDestinationUriSize();
    method public byte[] getOpaqueData();
    method public android.net.Uri getSourceUri();
    method public int getSubscriptionId();
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.telephony.mbms.DownloadRequest> CREATOR;
  }
  public static class DownloadRequest.Builder {
    ctor public DownloadRequest.Builder();
    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 setDest(android.net.Uri);
    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);
  }
  public class DownloadStateCallback {
    ctor public DownloadStateCallback();
    method public void onProgressUpdated(android.telephony.mbms.DownloadRequest, android.telephony.mbms.FileInfo, int, int, int, int);
    method public void onStateChanged(android.telephony.mbms.DownloadRequest, android.telephony.mbms.FileInfo, int);
  }
  public final class FileInfo implements android.os.Parcelable {
    ctor public FileInfo(android.net.Uri, java.lang.String);
    method public int describeContents();
    method public java.lang.String getMimeType();
    method public android.net.Uri getUri();
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.telephony.mbms.FileInfo> CREATOR;
  }
  public final class FileServiceInfo extends android.telephony.mbms.ServiceInfo implements android.os.Parcelable {
    ctor public FileServiceInfo(java.util.Map<java.util.Locale, java.lang.String>, java.lang.String, java.util.List<java.util.Locale>, java.lang.String, java.util.Date, java.util.Date, java.util.List<android.telephony.mbms.FileInfo>);
    method public int describeContents();
    method public java.util.List<android.telephony.mbms.FileInfo> getFiles();
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.telephony.mbms.FileServiceInfo> CREATOR;
  }
  public class MbmsDownloadManagerCallback {
    ctor public MbmsDownloadManagerCallback();
    method public void onError(int, java.lang.String);
    method public void onFileServicesUpdated(java.util.List<android.telephony.mbms.FileServiceInfo>);
    method public void onMiddlewareReady();
  }
  public class MbmsDownloadReceiver extends android.content.BroadcastReceiver {
    ctor public MbmsDownloadReceiver();
    method public void onReceive(android.content.Context, android.content.Intent);
    field public static final int RESULT_BAD_TEMP_FILE_ROOT = 3; // 0x3
    field public static final int RESULT_DOWNLOAD_FINALIZATION_ERROR = 4; // 0x4
    field public static final int RESULT_INVALID_ACTION = 1; // 0x1
    field public static final int RESULT_MALFORMED_INTENT = 2; // 0x2
    field public static final int RESULT_OK = 0; // 0x0
    field public static final int RESULT_TEMP_FILE_GENERATION_ERROR = 5; // 0x5
  }
  public class MbmsException extends java.lang.Exception {
    method public int getErrorCode();
    field public static final int ERROR_MIDDLEWARE_LOST = 3; // 0x3
@@ -43890,6 +43987,11 @@ package android.telephony.mbms {
    field public static final int SUCCESS = 0; // 0x0
  }
  public static class MbmsException.DownloadErrors {
    field public static final int ERROR_CANNOT_CHANGE_TEMP_FILE_ROOT = 401; // 0x191
    field public static final int ERROR_UNKNOWN_DOWNLOAD_REQUEST = 402; // 0x192
  }
  public static class MbmsException.GeneralErrors {
    field public static final int ERROR_CARRIER_CHANGE_NOT_ALLOWED = 207; // 0xcf
    field public static final int ERROR_IN_E911 = 204; // 0xcc
@@ -43964,10 +44066,32 @@ package android.telephony.mbms {
    field public static final android.os.Parcelable.Creator<android.telephony.mbms.StreamingServiceInfo> CREATOR;
  }
  public final class UriPathPair implements android.os.Parcelable {
    method public int describeContents();
    method public android.net.Uri getContentUri();
    method public android.net.Uri getFilePathUri();
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.telephony.mbms.UriPathPair> CREATOR;
  }
}
package android.telephony.mbms.vendor {
  public class MbmsDownloadServiceBase extends android.os.Binder {
    ctor public MbmsDownloadServiceBase();
    method public int cancelDownload(android.telephony.mbms.DownloadRequest) throws android.os.RemoteException;
    method public void dispose(int) throws android.os.RemoteException;
    method public int download(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadStateCallback);
    method public int getDownloadStatus(android.telephony.mbms.DownloadRequest, android.telephony.mbms.FileInfo) throws android.os.RemoteException;
    method public int getFileServices(int, java.util.List<java.lang.String>) throws android.os.RemoteException;
    method public int initialize(int, android.telephony.mbms.MbmsDownloadManagerCallback) throws android.os.RemoteException;
    method public java.util.List<android.telephony.mbms.DownloadRequest> listPendingDownloads(int) throws android.os.RemoteException;
    method public void onAppCallbackDied(int, int);
    method public int resetDownloadKnowledge(android.telephony.mbms.DownloadRequest) throws android.os.RemoteException;
    method public int setTempFileRootDirectory(int, java.lang.String) throws android.os.RemoteException;
  }
  public class MbmsStreamingServiceBase extends android.os.Binder {
    ctor public MbmsStreamingServiceBase();
    method public void dispose(int) throws android.os.RemoteException;
@@ -43980,6 +44104,24 @@ package android.telephony.mbms.vendor {
    method public void stopStreaming(int, java.lang.String) throws android.os.RemoteException;
  }
  public class VendorUtils {
    ctor public VendorUtils();
    method public static android.content.ComponentName getAppReceiverFromPackageName(android.content.Context, java.lang.String);
    field public static final java.lang.String ACTION_CLEANUP = "android.telephony.mbms.action.CLEANUP";
    field public static final java.lang.String ACTION_DOWNLOAD_RESULT_INTERNAL = "android.telephony.mbms.action.DOWNLOAD_RESULT_INTERNAL";
    field public static final java.lang.String ACTION_FILE_DESCRIPTOR_REQUEST = "android.telephony.mbms.action.FILE_DESCRIPTOR_REQUEST";
    field public static final java.lang.String EXTRA_FD_COUNT = "android.telephony.mbms.extra.FD_COUNT";
    field public static final java.lang.String EXTRA_FINAL_URI = "android.telephony.mbms.extra.FINAL_URI";
    field public static final java.lang.String EXTRA_FREE_URI_LIST = "android.telephony.mbms.extra.FREE_URI_LIST";
    field public static final java.lang.String EXTRA_PAUSED_LIST = "android.telephony.mbms.extra.PAUSED_LIST";
    field public static final java.lang.String EXTRA_PAUSED_URI_LIST = "android.telephony.mbms.extra.PAUSED_URI_LIST";
    field public static final java.lang.String EXTRA_REQUEST = "android.telephony.mbms.extra.REQUEST";
    field public static final java.lang.String EXTRA_SERVICE_ID = "android.telephony.mbms.extra.SERVICE_ID";
    field public static final java.lang.String EXTRA_TEMP_FILES_IN_USE = "android.telephony.mbms.extra.TEMP_FILES_IN_USE";
    field public static final java.lang.String EXTRA_TEMP_FILE_ROOT = "android.telephony.mbms.extra.TEMP_FILE_ROOT";
    field public static final java.lang.String EXTRA_TEMP_LIST = "android.telephony.mbms.extra.TEMP_LIST";
  }
}
package android.test {
+90 −0

File changed.

Preview size limit exceeded, changes collapsed.

+71 −35

File changed.

Preview size limit exceeded, changes collapsed.

+22 −18
Original line number Diff line number Diff line
@@ -41,23 +41,16 @@ import java.util.Objects;
 * Describes a request to download files over cell-broadcast. Instances of this class should be
 * created by the app when requesting a download, and instances of this class will be passed back
 * to the app when the middleware updates the status of the download.
 * @hide
 */
public class DownloadRequest implements Parcelable {
public final class DownloadRequest implements Parcelable {
    // Version code used to keep token calculation consistent.
    private static final int CURRENT_VERSION = 1;
    private static final String LOG_TAG = "MbmsDownloadRequest";

    /**
     * Maximum permissible length for the app's download-completion intent, when serialized via
     * {@link Intent#toUri(int)}.
     */
    /** @hide */
    public static final int MAX_APP_INTENT_SIZE = 50000;

    /**
     * Maximum permissible length for the app's destination path, when serialized via
     * {@link Uri#toString()}.
     */
    /** @hide */
    public static final int MAX_DESTINATION_URI_SIZE = 50000;

    /** @hide */
@@ -95,7 +88,7 @@ public class DownloadRequest implements Parcelable {
         * Set the service ID for the download request. For use by the middleware only.
         * @hide
         */
        //@SystemApi
        @SystemApi
        public Builder setServiceId(String serviceId) {
            fileServiceId = serviceId;
            return this;
@@ -104,7 +97,6 @@ public class DownloadRequest implements Parcelable {
        /**
         * Sets the source URI for the download request to be built.
         * @param source
         * @return
         */
        public Builder setSource(Uri source) {
            this.source = source;
@@ -116,7 +108,6 @@ public class DownloadRequest implements Parcelable {
         * not set this directly.
         * @param dest A URI obtained from {@link Uri#fromFile(File)}, denoting the requested
         *             final destination of the download.
         * @return
         */
        public Builder setDest(Uri dest) {
            if (dest.toString().length() > MAX_DESTINATION_URI_SIZE) {
@@ -130,7 +121,6 @@ public class DownloadRequest implements Parcelable {
        /**
         * Set the subscription ID on which the file(s) should be downloaded.
         * @param subscriptionId
         * @return
         */
        public Builder setSubscriptionId(int subscriptionId) {
            this.subscriptionId = subscriptionId;
@@ -144,7 +134,6 @@ public class DownloadRequest implements Parcelable {
         *
         * The middleware should not use this method.
         * @param intent
         * @return
         */
        public Builder setAppIntent(Intent intent) {
            this.appIntent = intent.toUri(0);
@@ -161,10 +150,9 @@ public class DownloadRequest implements Parcelable {
         * manager code, but is irrelevant to the middleware.
         * @param data A byte array, the contents of which should have been originally obtained
         *             from {@link DownloadRequest#getOpaqueData()}.
         * @return
         * @hide
         */
        //@SystemApi
        @SystemApi
        public Builder setOpaqueData(byte[] data) {
            try {
                ObjectInputStream stream = new ObjectInputStream(new ByteArrayInputStream(data));
@@ -291,7 +279,7 @@ public class DownloadRequest implements Parcelable {
     * @return A byte array of opaque data to persist.
     * @hide
     */
    //@SystemApi
    @SystemApi
    public byte[] getOpaqueData() {
        try {
            ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
@@ -323,6 +311,22 @@ public class DownloadRequest implements Parcelable {
        }
    };

    /**
     * Maximum permissible length for the app's destination path, when serialized via
     * {@link Uri#toString()}.
     */
    public static int getMaxAppIntentSize() {
        return MAX_APP_INTENT_SIZE;
    }

    /**
     * Maximum permissible length for the app's download-completion intent, when serialized via
     * {@link Intent#toUri(int)}.
     */
    public static int getMaxDestinationUriSize() {
        return MAX_DESTINATION_URI_SIZE;
    }

    /**
     * @hide
     */
Loading