History log of /frameworks/base/media/java/android/media/RemoteController.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
d4de20df2a1e57d22db7c538b197e3db18eaaa7d 04-Nov-2015 Jean-Michel Trivi <jmtrivi@google.com> AudioService: remove dead code

Remove dead code related to media button event receiver and
remote control display, now handled by MediaSession*

Change-Id: I4bd621240ddddf4df079df8d551c72b232c3301d
/frameworks/base/media/java/android/media/RemoteController.java
14f717a506a0d22facbec07386b06634e0c6a8ee 05-Sep-2014 RoboErik <epastern@google.com> rename add/removeCallback to register/unregisterCallback

bug:17390821
Change-Id: Id610b481083686dba2a28b6c7c47b747f89eef4f
/frameworks/base/media/java/android/media/RemoteController.java
8e1e84847e47097a60d9049cbc78b6880f9c5656 04-Sep-2014 RoboErik <epastern@google.com> Ensure there's a valid handler when registering a sessions listener

Some legacy apps register a RemoteController on a thread without a
looper. This ensures a handler with a looper is used when it registers
the sessions listener.

bug:17357029
Change-Id: Ia3d98f5dcc331edd0c3a7e858db1d9e7e2749e14
/frameworks/base/media/java/android/media/RemoteController.java
a66c40bf6e0fb79ead6d8a9fc29c5671fa7b1206 16-Aug-2014 RoboErik <epastern@google.com> Update MediaSession APIs for council feedback

-Changes MediaSessionManager.SessionsListener to OnActiveSessionsChangedListener
and makes it an interface.
-Renames MediaController.VolumeInfo to MediaController.AudioInfo
-Renames MediaSession.Track to MediaSession.Item

bug:17059552
Change-Id: I3a0b4371700ad6657972c312a5ab89ddfac6df5b
/frameworks/base/media/java/android/media/RemoteController.java
0d194c5e2338b8a920c512e15a433cec5bd63612 12-Aug-2014 RoboErik <epastern@google.com> Post MediaSessionManager callbacks to the caller's thread

We were just sending them from the binder thread. This makes them
post to the thread that registered the listener.

Change-Id: I27c155099da32f3bc8be6e3851272f0463df498b
/frameworks/base/media/java/android/media/RemoteController.java
031149cd5f22bd858142633c7a763450f42793f7 26-Jul-2014 RoboErik <epastern@google.com> Add context to MediaController constructor

This also adds a convenience method to MediaSession to allow getting
a controller instead of having to create and cache your own.

bug:16561220
Change-Id: I87f551a7474e71f1cf2f07e0e541c3a4515cd977
/frameworks/base/media/java/android/media/RemoteController.java
aa4e23bbb36994708ba72c5f4c83255025d99e07 25-Jul-2014 RoboErik <epastern@google.com> Add getPackageName to MediaController

This removes the MediaSessionInfo class and adds a method on the
controller to get the package name. This also converts code that
depended on the session's UUID to use the token for comparison or
the Tag in the case of test code that needs a string identifier.

Change-Id: Icb8dc76c70e23e897da8fd07651c524b96372bf9
/frameworks/base/media/java/android/media/RemoteController.java
8880157ee0c1c765526e19d57e2b8d68af7e956e 23-Jul-2014 RoboErik <epastern@google.com> Merge "Return appropriately scaled artwork to RemoteController" into lmp-dev
a259d35073ada384a5810f2a0f4f92f5fd27d85f 23-Jul-2014 RoboErik <epastern@google.com> Return appropriately scaled artwork to RemoteController

RemoteController has an api to set the artwork size. This adds compatibility
code to do the exclusion or scaling of artwork to be consistent with old APIs.

bug:15618171
Change-Id: I8cc51750c03219d42d5f543419f8b46f9eb5b833
/frameworks/base/media/java/android/media/RemoteController.java
f364f944962c4ec66f5e5b33dafe8480f38f6db6 22-Jul-2014 Gabriel Peal <gpeal@google.com> Added Action to PlaybackState

Added the ability to discover MediaBrowsers

Change-Id: I925c8738ac73afd0bee3dada2ee7ff2d5047e63f
/frameworks/base/media/java/android/media/RemoteController.java
edb158f55f48a1f7b2cbf30ddec9b8917dc9a619 18-Jul-2014 RoboErik <epastern@google.com> Deprecate apis that were replaced by sessions

These classes all have new components in the session APIs.

bug:16218444
Change-Id: Ib64ff0e23503e4c9eb2fd9162a878e1eaba7c4df
/frameworks/base/media/java/android/media/RemoteController.java
c785a78fb483fe54012175c53d3758b2412de7b9 14-Jul-2014 RoboErik <epastern@google.com> Make PlaybackState immutable with a builder

bug:15862252
Change-Id: I51f2e466bd2c41bbe80d20aa9785126a7ac6ab3f
/frameworks/base/media/java/android/media/RemoteController.java
b2e93efcac593f5f27722219b274bd0fa5c1b0fe 11-Jul-2014 Erik Pasternak <roboerik@android.com> Revert "Make PlaybackState immutable with a builder"

Will resubmit tomorrow for Build Breakage Friday as this change needs new SDK prebuilts for unbundled app branches.

This reverts commit aa746b27610680a2c0fbdf7d81a6455c4597f05e.

Change-Id: I28ba7e1b09234a5eb1b725aed043b9de98e1bc16
/frameworks/base/media/java/android/media/RemoteController.java
5a4e01114361b7dad4fc5465b4da00fd444fc098 09-Jul-2014 RoboErik <epastern@google.com> Make PlaybackState immutable with a builder

bug:15862252
Change-Id: I8944b7753cd6a36a74b0091f71a386f77040c4ab
/frameworks/base/media/java/android/media/RemoteController.java
51fa6bcb22a52b283f6d0756d286101f0d354f54 20-Jun-2014 RoboErik <epastern@google.com> b/15757378 Expose APIs for listening to active sessions

This allows apps that are registered notification listeners to
listen to the set of active sessions.

Change-Id: I1e108951a5049d138208e88b155c0ec9b95fbdb0
/frameworks/base/media/java/android/media/RemoteController.java
6f0e4ddd66fcdcc13944d8970d0b560e2626508b 18-Jun-2014 RoboErik <epastern@google.com> Remove more dead audio service code

Hit a snag in remote volume changes. Trying off this round of
removal so I can work on fixing remote volume handling in a
separate CL.

Change-Id: I49b1ba4b75d770ba7c77da081755f3210a9e9483
/frameworks/base/media/java/android/media/RemoteController.java
73e23e229dd1a2d25687b1c6a63c708665378e41 11-Jun-2014 RoboErik <epastern@google.com> b/15330955 Make RemoteController use the new session APIs

This moves RemoteController over to using Sessions instead of
the RCC/RCD framework. This also adds several hidden APIs to
help with translating between the two apis.

Change-Id: I0f50313db2b6190b16fa86ce670ac9250654ca05
/frameworks/base/media/java/android/media/RemoteController.java
01fe661ae5da3739215d93922412df4b24c859a2 13-Feb-2014 RoboErik <epastern@google.com> Initial round of MediaSession APIs

This is far from complete but puts the basic components in place
for an app to interact with media sessions.

Change-Id: Icfe313f90ad76ae56badbe42b0e43fc5f68db36f
/frameworks/base/media/java/android/media/RemoteController.java
b3ae913115c7d7ac519dc12f212f72dfce89cd8a 03-Jan-2014 Jean-Michel Trivi <jmtrivi@google.com> Fix RemoteController synchronization mode

Fix erroneous argument check in RemoteController syncrhonization
mode setter..

Bug 12189375

Change-Id: Ib446a21f36c6e0e97752336b22aff0feb651f215
/frameworks/base/media/java/android/media/RemoteController.java
6090995951c6e2e4dcf38102f01793f8a94166e1 19-Nov-2013 John Spurlock <jspurlock@google.com> Remove unused imports from frameworks/base.

Change-Id: Ia1f99bd2c1105b0b0f70aa614f1f4a67b2840906
/frameworks/base/media/java/android/media/RemoteController.java
3b435fb2f0c868c468f3fb2cb2e3ea8314a1755a 16-Oct-2013 Adam Powell <adamp@google.com> Fix stale data in keyguard transport control display

Make sure that caches are cleared at the right times and views have
their data populated correctly. Also fix a caching issue in
RemoteController.

Bug 11218218

Change-Id: Ieb833b5dc440ccd1b82050f12eb7059a4e0a412f
/frameworks/base/media/java/android/media/RemoteController.java
4348a73bbe4e66ab691aea5971107046df806511 09-Oct-2013 Jean-Michel Trivi <jmtrivi@google.com> Make RemoteController weakly referenced by IRemoteControlDisplay

In the RemoteController implementation, the inner class that
implements the IRemoteControlDisplay interface must have a weak
link to the RemoteController instance with which it is associated,
as MediaFocusControl and RemoteControlClient hold a strong
reference to this binder object in a different remote process.
Without a weak reference, any object referencing RemoteController
couldn't be independently garbage collected without a garbage
collection in the remote process.

Bug 8209392

Change-Id: I29e4274c45249b3cb0d3d89417c69e8fe8f62fc4
/frameworks/base/media/java/android/media/RemoteController.java
19566543c4833f50e7c22aff0c707388f8a338d2 08-Oct-2013 Jean-Michel Trivi <jmtrivi@google.com> Update RemoteController info when enabling/disabling it

When a RemoteController listener is disabled: send its listener
"blank" information (no artist, "stopped state"...)
When a RemoteController listener is enabled: have the current
RemoteControlClient send the current information.

Bug 8209392

Change-Id: I375bf3c42a425ada94c61453b51669d7e819dde4
/frameworks/base/media/java/android/media/RemoteController.java
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/RemoteController.java
70cb8021ef7d1804982032c464685139629f68a2 04-Oct-2013 Adam Powell <adamp@google.com> Fix docs

Change-Id: I19e0cdab6c526f7eed376fc2067b5c49b31a3ea9
/frameworks/base/media/java/android/media/RemoteController.java
f8895248e2ac4dbb46622f3e04c7256f03175b4f 01-Oct-2013 Adam Powell <adamp@google.com> Add a scrubber to keyguard; layout tweaks

Switch KeyguardTransportControlView over to using RemoteController
instead of the internal API.

Guard transition animations behind a flag until we can work out some
intermittent issues.

Change-Id: Ie9f41339ce6e735c5d524db88437672f2c9859e2
/frameworks/base/media/java/android/media/RemoteController.java
8ab8c2d06185dfefb5c69e614271f684e77eef63 29-Sep-2013 Jean-Michel Trivi <jmtrivi@google.com> Cache RemoteController artwork bitmap size, use it in registration

Allow an app to set the artwork configuration at any point
regardless of the registration state, and cache the width/height
values.
If the RemoteController is already registered, apply them.
If the RemoteController is not registered, use the cached value
when the object gets registered.

Bug 10862527

Change-Id: If633e2b9383e7d59690288d2271113e98b195cd8
/frameworks/base/media/java/android/media/RemoteController.java
6d298811ef642bc4f179ca3e9f4de028fb1ddb74 24-Sep-2013 Jean-Michel Trivi <jmtrivi@google.com> Fix artwork not received in RemoteController metadata update.

Regardless of the artwork value, always update the metadata.

When updating the metadata, make sure the artwork is stored
in the artwork field, not in the bundle of the MetadataEditor.

Bug 10862527

Change-Id: Iec83fd9bb358a91c852099b30bb6d307a52a034c
/frameworks/base/media/java/android/media/RemoteController.java
a83487e8c618f3c267c3fe3a72d4eb9f1388d07e 18-Sep-2013 Jean-Michel Trivi <jmtrivi@google.com> Public API for RemoteController

Public API, under system|signature permission for access to
currently playing metadata and playback state.
Public API for sending media key events.

Bug 8209392

Change-Id: I39b9309ca3fb1bc305492bad98740df0ae0842b2
/frameworks/base/media/java/android/media/RemoteController.java
7ddd226e7c6e759feaf2747a90be1cc06acf37a3 02-Sep-2013 Jean-Michel Trivi <jmtrivi@google.com> RemoteController class to expose IRemoteControlDisplay features

Wrap all the features of IRemoteControlDisplay.aidl in a
new class, RemoteController, that implements the
IRemoteControlDisplay interface.

The API functions to expose in the SDK are tagged with
"CANDIDATE FOR API"

Bug 8209392

Change-Id: I597bcd503ac93e73889c9ae8b47b16c4fcb363bc
/frameworks/base/media/java/android/media/RemoteController.java