f108cdd9ee5efe354d87edd02a07b323298c116c |
|
28-Sep-2013 |
Jean-Michel Trivi <jmtrivi@google.com> |
Also rely on enabled notification listeners for RemoteController registration Registration of a RemoteController may succeed only if: - the caller has the MEDIA_CONTENT_CONTROL permission, - or if the RemoteController.OnClientUpdateListener it registers if one of the enabled notification listeners. For using the "enabled notification listener" functionality, the CL involved: - making OnClientUpdateListener an interface so a 3rd-party application may have its implementation extend NotificationListenerService, which is required for a listener to be enabled by the user. - add the concept of "enabled" status in an IRemoteControlDisplay, so a RemoteController (which encapsulates the IRemoteControlDisplay implementation) may be registered, but later temporarily disabled by the user, as a result of a user action in the security settings, or a user switch. - making MediaFocusControl, the component tied to AudioService, monitor changes in enabled notification listeners, and act upon enable/disable changes. Bug 8209392 Change-Id: Ia8dfa2156c65668b2b0d4ae92048005912652d84
/frameworks/base/media/java/android/media/IRemoteControlDisplay.aidl
|
1b16cc3de51d69c8027cefcc70a084a5b2d7a3d0 |
|
08-Jun-2013 |
Jean-Michel Trivi <jmtrivi@google.com> |
Let RemoteControlDisplay know more about playback position The BT stack needs to differentiate between applications that use the new RemoteControlClient APIs to pass a playback position but don't have one yet, and applications that use the legacy API and will never pass a position. Bug 9294855 Change-Id: I05cba82a073e6e0aaea1d8bbf9cc8c99da715f58
/frameworks/base/media/java/android/media/IRemoteControlDisplay.aidl
|
3261b537c5fdec824575a1f6ad6d8942715e82e2 |
|
01-Apr-2013 |
Jean-Michel Trivi <jmtrivi@google.com> |
RemoteControlClient receives playback position change requests RemoteControlClient defines two listener interfaces for playback position, one to let the framework query the current playback position, the other to request playback to seek to a given position. Updated IRemoteControlDisplay interface to support passing info about whether the user of RemoteControlClient can provide a playback position, and receive a new one. Updated implementations of IRemoteControlDisplay to new interface. Bug 8120740 Change-Id: I1a5a969da4d0f8c9ad27f691919dd08f8653982b
/frameworks/base/media/java/android/media/IRemoteControlDisplay.aidl
|
bc43b4c2f24fd03c0d0546895c97918c1736d9fb |
|
22-Mar-2013 |
Jean-Michel Trivi <jmtrivi@google.com> |
RemoteControlClient can report current position, speed Extend RemoteControlClient class to support reporting the current playback position, and the playback speed. Define listener for an application to receive new playback position to seek to (use of listener to be implemented). Update IRemoteControlDisplay implementations to new interface. bug 8120740 Change-Id: I2654daeca1ac49713d325df8226dceb85943c020
/frameworks/base/media/java/android/media/IRemoteControlDisplay.aidl
|
68622396b62f9084781add1e12f4d513b633ab54 |
|
19-Sep-2011 |
Jean-Michel Trivi <jmtrivi@google.com> |
Bug 5045498 Keep track of RemoteControlClient play state change time Store the time at which a RemoteControlClient changes it playback state, and send that time to the IRemoteControlDisplay. This change will enable displays to implement strategies such as timeouts (e.g. to not display transport controls for clients which have been paused or stopped for a certain amount of time). Change-Id: I902882500565743d455d56f6000efaf612cbe0a9
/frameworks/base/media/java/android/media/IRemoteControlDisplay.aidl
|
f0cff0456258478ba768097f73d4367ab67fd7a3 |
|
15-Sep-2011 |
Jean-Michel Trivi <jmtrivi@google.com> |
Bug 5300223 RemoteControlClient uses PendingIntent for media button events Update the implementation of the RemoteControlClient / Display feature rely on PendingIntent as provided in the construction of the RemoteControlClient instance. The ComponentName that describes the target of the media button events is set as the target of the Intent from which a PendingIntent is constructed. This ComponentName is still saved in the stack for persisting the last media button event receiver. This CL also updates the lockscreen IRemoteControlDisplay implementation to use the PendingIntent supplied by the application when sending transport control events. A (good) side effect of doing this is that intent will be directly targeted at the application. Restoration of the media button event receiver after reboot is not fully functional yet. Change-Id: I2be82f2839e9dee1de02512437b3fb41cc386cde
/frameworks/base/media/java/android/media/IRemoteControlDisplay.aidl
|
4b6df6a3dcbd9990e36438c529fa8c16b2580df9 |
|
24-Aug-2011 |
Jean-Michel Trivi <jmtrivi@google.com> |
More information for RemoteControlDisplay about new client When the client gets cleared, let the display know the new client generation ID is for a clear. When a new client becomes current, let the display know what the associated media button event receiver is. Change-Id: I18e37a309b5b30ed361a68918379b60418409f1e
/frameworks/base/media/java/android/media/IRemoteControlDisplay.aidl
|
44413e5b514a91806a4bb4c7780029ea43be6f81 |
|
24-Aug-2011 |
Jean-Michel Trivi <jmtrivi@google.com> |
Bug 5045498 Single binder call when metadata and artwork are updated When metadata gets applied, optimize the artwork and metadata update by doing it in a single call. Add missing RemoteControlDisplay-related methods in AudioManager. Change-Id: I97aa802cc480327bee5592ea8dfdbd414c0f037a
/frameworks/base/media/java/android/media/IRemoteControlDisplay.aidl
|
4426e42ac6107bf6b09f7c4cdad39eb161d8b9ca |
|
19-Aug-2011 |
Jean-Michel Trivi <jmtrivi@google.com> |
Bug 5045498 New implementation of remote control API Remote control displays expose an IRemoteControlDisplay interface which they register through AudioManager. Remote control clients create a RemoteControlClient object, which implicitely exposes an IRemoteControlClient interface registered in AudioService through AudioManager. AudioService tells all clients and displays when a new client is the one that should be displayed. A client's data gets sent to the display when it is valid, or it sets new data (while being valid). The implementation for setting metadata and album art is temporary, and will migrate to the MetadataEditor API in future CLs. Change-Id: Ibab6ea1d94c68f32482c760c6ae269541f885548
/frameworks/base/media/java/android/media/IRemoteControlDisplay.aidl
|