From 1357012968f9066ea3051d83995e9bac69526c3c Mon Sep 17 00:00:00 2001 From: Jean-Michel Trivi Date: Tue, 19 Jun 2012 14:03:09 -0700 Subject: [PATCH] Remote volume handling in MediaRouter Extend MediaRouter.UserRouteInfo to enable setting playback information, which includes volume. When the user route instance has a RemoteControlClient, forward any playback information to it. Enable specifying a callback to be notified of volume events on the route. Extend MediaRouter.RouteInfo to enable retrieving playback information. Update RemoteControlClient javadoc to reflect which parts of the API are not intended to be made public. Change-Id: I59d728eb61747af6c8c89d53f0faeb07940594c3 --- Android.mk | 3 +- core/java/android/content/Intent.java | 33 --- media/java/android/media/AudioService.java | 50 +++- media/java/android/media/IAudioService.aidl | 2 + .../android/media/IRemoteVolumeObserver.aidl | 26 ++ media/java/android/media/MediaRouter.java | 269 ++++++++++++++++++ .../android/media/RemoteControlClient.java | 29 +- 7 files changed, 352 insertions(+), 60 deletions(-) create mode 100644 media/java/android/media/IRemoteVolumeObserver.aidl diff --git a/Android.mk b/Android.mk index 5aaea972221f9..79e3140a92631 100644 --- a/Android.mk +++ b/Android.mk @@ -193,11 +193,12 @@ LOCAL_SRC_FILES += \ location/java/android/location/INetInitiatedListener.aidl \ media/java/android/media/IAudioService.aidl \ media/java/android/media/IAudioFocusDispatcher.aidl \ - media/java/android/media/IAudioRoutesObserver.aidl \ + media/java/android/media/IAudioRoutesObserver.aidl \ media/java/android/media/IMediaScannerListener.aidl \ media/java/android/media/IMediaScannerService.aidl \ media/java/android/media/IRemoteControlClient.aidl \ media/java/android/media/IRemoteControlDisplay.aidl \ + media/java/android/media/IRemoteVolumeObserver.aidl \ media/java/android/media/IRingtonePlayer.aidl \ telephony/java/com/android/internal/telephony/IPhoneStateListener.aidl \ telephony/java/com/android/internal/telephony/IPhoneSubInfo.aidl \ diff --git a/core/java/android/content/Intent.java b/core/java/android/content/Intent.java index 50972e822f17f..76dfac47ff985 100644 --- a/core/java/android/content/Intent.java +++ b/core/java/android/content/Intent.java @@ -2152,19 +2152,6 @@ public class Intent implements Parcelable, Cloneable { public static final String ACTION_USB_AUDIO_DEVICE_PLUG = "android.intent.action.USB_AUDIO_DEVICE_PLUG"; - /** - * @hide (to be un-hidden) - * Broadcast Action: the volume handled by the receiver should be updated based on the - * mutually exclusive extras, {@link #EXTRA_VOLUME_UPDATE_DIRECTION} - * and {@link #EXTRA_VOLUME_UPDATE_VALUE}. - * - * @see #EXTRA_VOLUME_UPDATE_DIRECTION - * @see #EXTRA_VOLUME_UPDATE_VALUE - * @see android.media.RemoteControlClient - */ - @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) - public static final String ACTION_VOLUME_UPDATE = "android.intent.action.VOLUME_UPDATE"; - /** *

Broadcast Action: The user has switched on advanced settings in the settings app:

*