Loading api/current.txt +5 −4 Original line number Diff line number Diff line Loading @@ -10846,6 +10846,7 @@ package android.content.pm { field public static final java.lang.String FEATURE_TELEPHONY = "android.hardware.telephony"; field public static final java.lang.String FEATURE_TELEPHONY_CDMA = "android.hardware.telephony.cdma"; field public static final java.lang.String FEATURE_TELEPHONY_GSM = "android.hardware.telephony.gsm"; field public static final java.lang.String FEATURE_TELEPHONY_MBMS = "android.hardware.telephony.mbms"; field public static final deprecated java.lang.String FEATURE_TELEVISION = "android.hardware.type.television"; field public static final java.lang.String FEATURE_TOUCHSCREEN = "android.hardware.touchscreen"; field public static final java.lang.String FEATURE_TOUCHSCREEN_MULTITOUCH = "android.hardware.touchscreen.multitouch"; Loading Loading @@ -40162,19 +40163,19 @@ package android.telephony { } public class MbmsDownloadSession implements java.lang.AutoCloseable { method public void cancelDownload(android.telephony.mbms.DownloadRequest); method public int cancelDownload(android.telephony.mbms.DownloadRequest); method public void close(); method public static android.telephony.MbmsDownloadSession create(android.content.Context, android.telephony.mbms.MbmsDownloadSessionCallback, android.os.Handler); method public static android.telephony.MbmsDownloadSession create(android.content.Context, android.telephony.mbms.MbmsDownloadSessionCallback, int, android.os.Handler); method public void download(android.telephony.mbms.DownloadRequest); method public int download(android.telephony.mbms.DownloadRequest); method public int getDownloadStatus(android.telephony.mbms.DownloadRequest, android.telephony.mbms.FileInfo); method public java.io.File getTempFileRootDirectory(); method public java.util.List<android.telephony.mbms.DownloadRequest> listPendingDownloads(); method public void registerStateCallback(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadStateCallback, android.os.Handler); method public int registerStateCallback(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadStateCallback, android.os.Handler); method public void requestUpdateFileServices(java.util.List<java.lang.String>); method public void resetDownloadKnowledge(android.telephony.mbms.DownloadRequest); method public void setTempFileRootDirectory(java.io.File); method public void unregisterStateCallback(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadStateCallback); method public int unregisterStateCallback(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadStateCallback); 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_REQUEST = "android.telephony.extra.MBMS_DOWNLOAD_REQUEST"; core/java/android/content/pm/PackageManager.java +7 −0 Original line number Diff line number Diff line Loading @@ -2084,6 +2084,13 @@ public abstract class PackageManager { @SdkConstant(SdkConstantType.FEATURE) public static final String FEATURE_TELEPHONY_EUICC = "android.hardware.telephony.euicc"; /** * Feature for {@link #getSystemAvailableFeatures} and {@link #hasSystemFeature}: The device * supports cell-broadcast reception using the MBMS APIs. */ @SdkConstant(SdkConstantType.FEATURE) public static final String FEATURE_TELEPHONY_MBMS = "android.hardware.telephony.mbms"; /** * Feature for {@link #getSystemAvailableFeatures} and * {@link #hasSystemFeature}: The device supports connecting to USB devices Loading telephony/java/android/telephony/MbmsDownloadSession.java +31 −18 Original line number Diff line number Diff line Loading @@ -502,8 +502,10 @@ public class MbmsDownloadSession implements AutoCloseable { * Asynchronous errors through the callback may include any error not specific to the * streaming use-case. * @param request The request that specifies what should be downloaded. * @return {@link MbmsErrors#SUCCESS} if the operation did not encounter a synchronous error, * and some other error code otherwise. */ public void download(@NonNull DownloadRequest request) { public int download(@NonNull DownloadRequest request) { IMbmsDownloadService downloadService = mService.get(); if (downloadService == null) { throw new IllegalStateException("Middleware not yet bound"); Loading @@ -519,13 +521,16 @@ public class MbmsDownloadSession implements AutoCloseable { setTempFileRootDirectory(tempRootDirectory); } writeDownloadRequestToken(request); try { downloadService.download(request); int result = downloadService.download(request); if (result == MbmsErrors.SUCCESS) { writeDownloadRequestToken(request); } return result; } catch (RemoteException e) { mService.set(null); sIsInitialized.set(false); sendErrorToApp(MbmsErrors.ERROR_MIDDLEWARE_LOST, null); return MbmsErrors.ERROR_MIDDLEWARE_LOST; } } Loading Loading @@ -565,8 +570,10 @@ public class MbmsDownloadSession implements AutoCloseable { * @param callback The callback that should be called when the middleware has information to * share on the download. * @param handler The {@link Handler} on which calls to {@code callback} should be enqueued on. * @return {@link MbmsErrors#SUCCESS} if the operation did not encounter a synchronous error, * and some other error code otherwise. */ public void registerStateCallback(@NonNull DownloadRequest request, public int registerStateCallback(@NonNull DownloadRequest request, @NonNull DownloadStateCallback callback, @NonNull Handler handler) { IMbmsDownloadService downloadService = mService.get(); if (downloadService == null) { Loading @@ -583,16 +590,15 @@ public class MbmsDownloadSession implements AutoCloseable { if (result == MbmsErrors.DownloadErrors.ERROR_UNKNOWN_DOWNLOAD_REQUEST) { throw new IllegalArgumentException("Unknown download request."); } sendErrorToApp(result, null); return; return result; } } catch (RemoteException e) { mService.set(null); sIsInitialized.set(false); sendErrorToApp(MbmsErrors.ERROR_MIDDLEWARE_LOST, null); return; return MbmsErrors.ERROR_MIDDLEWARE_LOST; } mInternalDownloadCallbacks.put(callback, internalCallback); return MbmsErrors.SUCCESS; } /** Loading @@ -606,8 +612,10 @@ public class MbmsDownloadSession implements AutoCloseable { * * @param request The {@link DownloadRequest} provided during registration * @param callback The callback provided during registration. * @return {@link MbmsErrors#SUCCESS} if the operation did not encounter a synchronous error, * and some other error code otherwise. */ public void unregisterStateCallback(@NonNull DownloadRequest request, public int unregisterStateCallback(@NonNull DownloadRequest request, @NonNull DownloadStateCallback callback) { try { IMbmsDownloadService downloadService = mService.get(); Loading @@ -617,6 +625,9 @@ public class MbmsDownloadSession implements AutoCloseable { InternalDownloadStateCallback internalCallback = mInternalDownloadCallbacks.get(callback); if (internalCallback == null) { throw new IllegalArgumentException("Provided callback was never registered"); } try { int result = downloadService.unregisterStateCallback(request, internalCallback); Loading @@ -624,12 +635,12 @@ public class MbmsDownloadSession implements AutoCloseable { if (result == MbmsErrors.DownloadErrors.ERROR_UNKNOWN_DOWNLOAD_REQUEST) { throw new IllegalArgumentException("Unknown download request."); } sendErrorToApp(result, null); return result; } } catch (RemoteException e) { mService.set(null); sIsInitialized.set(false); sendErrorToApp(MbmsErrors.ERROR_MIDDLEWARE_LOST, null); return MbmsErrors.ERROR_MIDDLEWARE_LOST; } } finally { InternalDownloadStateCallback internalCallback = Loading @@ -638,6 +649,7 @@ public class MbmsDownloadSession implements AutoCloseable { internalCallback.stop(); } } return MbmsErrors.SUCCESS; } /** Loading @@ -647,8 +659,10 @@ public class MbmsDownloadSession implements AutoCloseable { * this method will throw an {@link IllegalArgumentException}. * * @param downloadRequest The download request that you wish to cancel. * @return {@link MbmsErrors#SUCCESS} if the operation did not encounter a synchronous error, * and some other error code otherwise. */ public void cancelDownload(@NonNull DownloadRequest downloadRequest) { public int cancelDownload(@NonNull DownloadRequest downloadRequest) { IMbmsDownloadService downloadService = mService.get(); if (downloadService == null) { throw new IllegalStateException("Middleware not yet bound"); Loading @@ -660,16 +674,15 @@ public class MbmsDownloadSession implements AutoCloseable { if (result == MbmsErrors.DownloadErrors.ERROR_UNKNOWN_DOWNLOAD_REQUEST) { throw new IllegalArgumentException("Unknown download request."); } sendErrorToApp(result, null); return; } else { deleteDownloadRequestToken(downloadRequest); } return result; } catch (RemoteException e) { mService.set(null); sIsInitialized.set(false); sendErrorToApp(MbmsErrors.ERROR_MIDDLEWARE_LOST, null); return; return MbmsErrors.ERROR_MIDDLEWARE_LOST; } deleteDownloadRequestToken(downloadRequest); } /** Loading telephony/java/android/telephony/mbms/ServiceInfo.java +2 −2 Original line number Diff line number Diff line Loading @@ -51,8 +51,8 @@ public class ServiceInfo { /** @hide */ public ServiceInfo(Map<Locale, String> newNames, String newClassName, List<Locale> newLocales, String newServiceId, Date start, Date end) { if (newNames == null || newNames.isEmpty() || TextUtils.isEmpty(newClassName) || newLocales == null || newLocales.isEmpty() || TextUtils.isEmpty(newServiceId) if (newNames == null || newClassName == null || newLocales == null || newServiceId == null || start == null || end == null) { throw new IllegalArgumentException("Bad ServiceInfo construction"); } Loading Loading
api/current.txt +5 −4 Original line number Diff line number Diff line Loading @@ -10846,6 +10846,7 @@ package android.content.pm { field public static final java.lang.String FEATURE_TELEPHONY = "android.hardware.telephony"; field public static final java.lang.String FEATURE_TELEPHONY_CDMA = "android.hardware.telephony.cdma"; field public static final java.lang.String FEATURE_TELEPHONY_GSM = "android.hardware.telephony.gsm"; field public static final java.lang.String FEATURE_TELEPHONY_MBMS = "android.hardware.telephony.mbms"; field public static final deprecated java.lang.String FEATURE_TELEVISION = "android.hardware.type.television"; field public static final java.lang.String FEATURE_TOUCHSCREEN = "android.hardware.touchscreen"; field public static final java.lang.String FEATURE_TOUCHSCREEN_MULTITOUCH = "android.hardware.touchscreen.multitouch"; Loading Loading @@ -40162,19 +40163,19 @@ package android.telephony { } public class MbmsDownloadSession implements java.lang.AutoCloseable { method public void cancelDownload(android.telephony.mbms.DownloadRequest); method public int cancelDownload(android.telephony.mbms.DownloadRequest); method public void close(); method public static android.telephony.MbmsDownloadSession create(android.content.Context, android.telephony.mbms.MbmsDownloadSessionCallback, android.os.Handler); method public static android.telephony.MbmsDownloadSession create(android.content.Context, android.telephony.mbms.MbmsDownloadSessionCallback, int, android.os.Handler); method public void download(android.telephony.mbms.DownloadRequest); method public int download(android.telephony.mbms.DownloadRequest); method public int getDownloadStatus(android.telephony.mbms.DownloadRequest, android.telephony.mbms.FileInfo); method public java.io.File getTempFileRootDirectory(); method public java.util.List<android.telephony.mbms.DownloadRequest> listPendingDownloads(); method public void registerStateCallback(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadStateCallback, android.os.Handler); method public int registerStateCallback(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadStateCallback, android.os.Handler); method public void requestUpdateFileServices(java.util.List<java.lang.String>); method public void resetDownloadKnowledge(android.telephony.mbms.DownloadRequest); method public void setTempFileRootDirectory(java.io.File); method public void unregisterStateCallback(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadStateCallback); method public int unregisterStateCallback(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadStateCallback); 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_REQUEST = "android.telephony.extra.MBMS_DOWNLOAD_REQUEST";
core/java/android/content/pm/PackageManager.java +7 −0 Original line number Diff line number Diff line Loading @@ -2084,6 +2084,13 @@ public abstract class PackageManager { @SdkConstant(SdkConstantType.FEATURE) public static final String FEATURE_TELEPHONY_EUICC = "android.hardware.telephony.euicc"; /** * Feature for {@link #getSystemAvailableFeatures} and {@link #hasSystemFeature}: The device * supports cell-broadcast reception using the MBMS APIs. */ @SdkConstant(SdkConstantType.FEATURE) public static final String FEATURE_TELEPHONY_MBMS = "android.hardware.telephony.mbms"; /** * Feature for {@link #getSystemAvailableFeatures} and * {@link #hasSystemFeature}: The device supports connecting to USB devices Loading
telephony/java/android/telephony/MbmsDownloadSession.java +31 −18 Original line number Diff line number Diff line Loading @@ -502,8 +502,10 @@ public class MbmsDownloadSession implements AutoCloseable { * Asynchronous errors through the callback may include any error not specific to the * streaming use-case. * @param request The request that specifies what should be downloaded. * @return {@link MbmsErrors#SUCCESS} if the operation did not encounter a synchronous error, * and some other error code otherwise. */ public void download(@NonNull DownloadRequest request) { public int download(@NonNull DownloadRequest request) { IMbmsDownloadService downloadService = mService.get(); if (downloadService == null) { throw new IllegalStateException("Middleware not yet bound"); Loading @@ -519,13 +521,16 @@ public class MbmsDownloadSession implements AutoCloseable { setTempFileRootDirectory(tempRootDirectory); } writeDownloadRequestToken(request); try { downloadService.download(request); int result = downloadService.download(request); if (result == MbmsErrors.SUCCESS) { writeDownloadRequestToken(request); } return result; } catch (RemoteException e) { mService.set(null); sIsInitialized.set(false); sendErrorToApp(MbmsErrors.ERROR_MIDDLEWARE_LOST, null); return MbmsErrors.ERROR_MIDDLEWARE_LOST; } } Loading Loading @@ -565,8 +570,10 @@ public class MbmsDownloadSession implements AutoCloseable { * @param callback The callback that should be called when the middleware has information to * share on the download. * @param handler The {@link Handler} on which calls to {@code callback} should be enqueued on. * @return {@link MbmsErrors#SUCCESS} if the operation did not encounter a synchronous error, * and some other error code otherwise. */ public void registerStateCallback(@NonNull DownloadRequest request, public int registerStateCallback(@NonNull DownloadRequest request, @NonNull DownloadStateCallback callback, @NonNull Handler handler) { IMbmsDownloadService downloadService = mService.get(); if (downloadService == null) { Loading @@ -583,16 +590,15 @@ public class MbmsDownloadSession implements AutoCloseable { if (result == MbmsErrors.DownloadErrors.ERROR_UNKNOWN_DOWNLOAD_REQUEST) { throw new IllegalArgumentException("Unknown download request."); } sendErrorToApp(result, null); return; return result; } } catch (RemoteException e) { mService.set(null); sIsInitialized.set(false); sendErrorToApp(MbmsErrors.ERROR_MIDDLEWARE_LOST, null); return; return MbmsErrors.ERROR_MIDDLEWARE_LOST; } mInternalDownloadCallbacks.put(callback, internalCallback); return MbmsErrors.SUCCESS; } /** Loading @@ -606,8 +612,10 @@ public class MbmsDownloadSession implements AutoCloseable { * * @param request The {@link DownloadRequest} provided during registration * @param callback The callback provided during registration. * @return {@link MbmsErrors#SUCCESS} if the operation did not encounter a synchronous error, * and some other error code otherwise. */ public void unregisterStateCallback(@NonNull DownloadRequest request, public int unregisterStateCallback(@NonNull DownloadRequest request, @NonNull DownloadStateCallback callback) { try { IMbmsDownloadService downloadService = mService.get(); Loading @@ -617,6 +625,9 @@ public class MbmsDownloadSession implements AutoCloseable { InternalDownloadStateCallback internalCallback = mInternalDownloadCallbacks.get(callback); if (internalCallback == null) { throw new IllegalArgumentException("Provided callback was never registered"); } try { int result = downloadService.unregisterStateCallback(request, internalCallback); Loading @@ -624,12 +635,12 @@ public class MbmsDownloadSession implements AutoCloseable { if (result == MbmsErrors.DownloadErrors.ERROR_UNKNOWN_DOWNLOAD_REQUEST) { throw new IllegalArgumentException("Unknown download request."); } sendErrorToApp(result, null); return result; } } catch (RemoteException e) { mService.set(null); sIsInitialized.set(false); sendErrorToApp(MbmsErrors.ERROR_MIDDLEWARE_LOST, null); return MbmsErrors.ERROR_MIDDLEWARE_LOST; } } finally { InternalDownloadStateCallback internalCallback = Loading @@ -638,6 +649,7 @@ public class MbmsDownloadSession implements AutoCloseable { internalCallback.stop(); } } return MbmsErrors.SUCCESS; } /** Loading @@ -647,8 +659,10 @@ public class MbmsDownloadSession implements AutoCloseable { * this method will throw an {@link IllegalArgumentException}. * * @param downloadRequest The download request that you wish to cancel. * @return {@link MbmsErrors#SUCCESS} if the operation did not encounter a synchronous error, * and some other error code otherwise. */ public void cancelDownload(@NonNull DownloadRequest downloadRequest) { public int cancelDownload(@NonNull DownloadRequest downloadRequest) { IMbmsDownloadService downloadService = mService.get(); if (downloadService == null) { throw new IllegalStateException("Middleware not yet bound"); Loading @@ -660,16 +674,15 @@ public class MbmsDownloadSession implements AutoCloseable { if (result == MbmsErrors.DownloadErrors.ERROR_UNKNOWN_DOWNLOAD_REQUEST) { throw new IllegalArgumentException("Unknown download request."); } sendErrorToApp(result, null); return; } else { deleteDownloadRequestToken(downloadRequest); } return result; } catch (RemoteException e) { mService.set(null); sIsInitialized.set(false); sendErrorToApp(MbmsErrors.ERROR_MIDDLEWARE_LOST, null); return; return MbmsErrors.ERROR_MIDDLEWARE_LOST; } deleteDownloadRequestToken(downloadRequest); } /** Loading
telephony/java/android/telephony/mbms/ServiceInfo.java +2 −2 Original line number Diff line number Diff line Loading @@ -51,8 +51,8 @@ public class ServiceInfo { /** @hide */ public ServiceInfo(Map<Locale, String> newNames, String newClassName, List<Locale> newLocales, String newServiceId, Date start, Date end) { if (newNames == null || newNames.isEmpty() || TextUtils.isEmpty(newClassName) || newLocales == null || newLocales.isEmpty() || TextUtils.isEmpty(newServiceId) if (newNames == null || newClassName == null || newLocales == null || newServiceId == null || start == null || end == null) { throw new IllegalArgumentException("Bad ServiceInfo construction"); } Loading