9b5257c9c99c4cb541d8e8e78fb04f008b1a9091 |
19-Dec-2014 |
Jean-Michel Trivi <jmtrivi@google.com> |
MediaSessionLegacyHelper uses global Application context MediaSessionLegacyHelper used a Context passed by an application which can cause a leak of Activity instances. Use the global Application context instead. Also prevent crash if a null Context is supplied (method not documented as requesting a non-null Context). Bug 18767503 Change-Id: I8281047d0af233a323f3fc11ababedff848829ec
ediaSessionLegacyHelper.java
|
f32bd3c5cd8bd2c00f52ea32d7481c30e29d2acc |
09-Dec-2014 |
Michael Wright <michaelwr@google.com> |
Don't try to scale the bitmaps for null MediaMetadata. Bug: 18586572 Change-Id: I133e58eeb05136ca82cbd35840b68ebedd9ec365
ediaSession.java
|
7c82ced4fc5b66c09a19eed9a5499039530142fb |
05-Dec-2014 |
RoboErik <epastern@google.com> |
Route mute key events through MediaSessionService This sends mute keys to the MediaSessionService and handles them by toggling the appropriate stream. Muting remote playback is still not supported. bug:17501993 Change-Id: I18c5b037cde2175acbb64b118dd708514acfd8c9
ediaSessionLegacyHelper.java
ediaSessionManager.java
|
b9c87fb4034a4a61b57150000a937aa95927861c |
19-Nov-2014 |
RoboErik <epastern@google.com> |
Scale bitmaps in metadata sent to the system This scales down any MediaMetadata bitmaps that are sent to the system through MediaSession. bug:18114918 bug:18084448 Change-Id: Ib7b040cd8245108ad2dd56afe2499290d2b49f51
ediaSession.java
|
3e0cfcda31301e53c92cb2f91ed8be1cd6efd8bc |
04-Nov-2014 |
RoboErik <epastern@google.com> |
skip MediaController callbacks if it's been unregistered This gives slightly better gaurantees around when an app will receive a callback. As long as they remove a callback on the same thread calls get posted on they won't receive any callbacks after the remove. bug:18104724 Change-Id: Id9878186f005bf0b35c0380cd35f8fd7e67d1d90
ediaController.java
|
9af44ddf0367c542d6c1db6060456bd72f3c83ca |
05-Nov-2014 |
RoboErik <epastern@google.com> |
Merge "Post volume requests to the handler thread in MediaSession" into lmp-mr1-dev
|
131e63adaa3333ef44dbe090471b710816447bf6 |
04-Nov-2014 |
RoboErik <epastern@google.com> |
Add extras to the PlaybackState This allows apps to include extras that are atomic with play state changes. bug:18189125 bug:18103891 Change-Id: Ia3bc5b0dcf29960cb70e2ff3a67ec1fdd48b7a5a
laybackState.java
|
566c1ed18f429a7a64aeac01baa0af150fcd1eb4 |
04-Nov-2014 |
RoboErik <epastern@google.com> |
Add setRatingType to MediaSession This was missing in L. Needed to tell controllers how to rate content. bug:18051829 Change-Id: I26e662ff04f77ed7f2922bf9e74acf74c850547b
ediaSession.java
laybackState.java
|
563acea6665c45902bbc46db1a22c036344a818b |
28-Oct-2014 |
RoboErik <epastern@google.com> |
Post volume requests to the handler thread in MediaSession Volume requests should be getting sent on the same thread as other callbacks, not on the binder thread. bug:18156755 Change-Id: I35bceb3f8c74ccba35f3d08ff000a254fcbd04bb
ediaSession.java
|
59759903a9696daefa817079c8432468ed398033 |
20-Oct-2014 |
RoboErik <epastern@google.com> |
Add missing break to switch statement the skip to queue item case was falling through when it shouldn't. bug: 18058515 Change-Id: Ica20b59efad12a58ad16501146fc9a0d4595e184
ediaSession.java
|
de9ba39c1714f5bc9e1785d8224ad26c132b6293 |
26-Sep-2014 |
RoboErik <epastern@google.com> |
Don't forward media keys to the app if the phone session is active This checks if the phone app is currently getting or in a call when a media key event is sent and sends it to the phone session instead of the foreground app if it is. bug:17527302 Change-Id: Ie5d6cf0c897da81d106f2b1a0561b79f4fc35e82
SessionManager.aidl
ediaSessionLegacyHelper.java
ediaSessionManager.java
|
1dc5ba86655daf1ee2dd7140e7b20c6d488a48d9 |
24-Sep-2014 |
RoboErik <epastern@google.com> |
Disable MediaSessionLegacyHelper debugging Switched over to using Log.isLoggable instead for release. Change-Id: Iebd6871adb9994e23292953f14b6a997c83957a0
ediaSessionLegacyHelper.java
|
03fce072cac092923e10a6b5f09fcde333375f9e |
24-Sep-2014 |
RoboErik <epastern@google.com> |
Allow null queues to be set in MediaSession Also add some test code for it to OneMedia. bug:17593962 Change-Id: I074e2bb0329d9a97f623e4309bb7dada157b8324
ediaController.java
ediaSession.java
|
b5245d8904160917942fe91fc8db7f1dfa098fc0 |
19-Sep-2014 |
Christoph Studer <chstuder@google.com> |
SysUI: Correctly compare MediaControllers Instead of comparing MediaControllers via reference equality (which is never true), go deeper and check whether the two controllers are connected to the same IBinder. Bug: 17571414 Change-Id: Id25d70be0a60d1900e977310dedcc7063552e018
ediaController.java
|
9ff7dda93e59e1e0032f5b96633d1479ab307a11 |
08-Sep-2014 |
RoboErik <epastern@google.com> |
Possible fix for dead handler in Music button event sending I'm still attempting to root cause, but this is a potential fix. I suspect the callback is getting registerd on a looper that isn't the main looper which is then getting killed at some point. This change will make all legacy callbacks happen on the main looper, which should prevent the state. bug:17420281 Change-Id: Ia78e694b32b24398d3c09f49d12632755ef45597
ediaSession.java
ediaSessionLegacyHelper.java
|
14f717a506a0d22facbec07386b06634e0c6a8ee |
05-Sep-2014 |
RoboErik <epastern@google.com> |
rename add/removeCallback to register/unregisterCallback bug:17390821 Change-Id: Id610b481083686dba2a28b6c7c47b747f89eef4f
ediaController.java
|
0d0f67f5ee5f939a1b611bc4583212707afd9bee |
04-Sep-2014 |
RoboErik <epastern@google.com> |
Update VolumeProvider apis per feedback Added currentVolume to constructor. Removed onGetCurrentVolume and notifyVolume changed. Added setCurrentVolume and getCurrentVolume. Updated javadoc to make it clear how they're used. bug:17258168 Change-Id: I24388aab38824b101ccc18810caa09d46aa7afe0
ediaSession.java
|
4b253d2bcd62ea2a9afb067c1f1363fa7b752185 |
02-Sep-2014 |
RoboErik <epastern@google.com> |
Allow empty strings in playFromSearch This allows empty strings to be passed to playFromSearch to indicate something should be chosen for the user and played. This makes it consistent with INTENT_ACTION_MEDIA_PLAY_FROM_SEARCH. bug:17316566 Change-Id: I00ce8d252efa940e05568629e35198450c224a92
ediaController.java
ediaSession.java
|
f2133474afce7808541c92a1e5c78eb8b0950329 |
03-Sep-2014 |
RoboErik <epastern@google.com> |
Update MediaController comment to mention notification listeners Forgot to update the comment to specify that notification listeners may also get a MediaController from the manager. Change-Id: Id38bcf7cb38185bfe4f99bcf8889a6415320dd36
ediaController.java
|
cd74270da7a7320904f14a465b8902dd5ea56f1d |
29-Aug-2014 |
RoboErik <epastern@google.com> |
Document MediaSession.Callback.onMediaButtonEvent and add returns Documents the return value and makes sure it returns true where appropriate. bug:17289717 Change-Id: Ia831a7212b76e8434b745be70da2ed106fa01230
ediaSession.java
|
350be2e1c2e4ad8b1a1386a55b40c123f148e94e |
28-Aug-2014 |
RoboErik <epastern@google.com> |
Merge "Update to MediaBrowser APIs per council feedback" into lmp-dev
|
5ea924bcdb7d1a796937a315f59db44179bb4181 |
28-Aug-2014 |
RoboErik <epastern@google.com> |
Set/unset session on the callback We lost this somewhere. When a callback is set on a MediaSession it needs to have a reference to the Session so it can do default routing of media keys. bug:17304614 Change-Id: I4af82947da790135049d40c5c69c2996f3cc4ccc
ediaSession.java
|
3625bf72cb8bcf3c7f8f8cd8d708d7206824cc62 |
28-Aug-2014 |
RoboErik <epastern@google.com> |
Update to MediaBrowser APIs per council feedback Does all the updates in the bug except the loadIcon/loadBitmap methods, which are removed per feedback from Sharkey. bug:17205016 Change-Id: Ie84d4d25a59c6985ce16972c26c8d1e5c02ff5c9
SessionCallback.aidl
SessionController.aidl
ediaController.java
ediaSession.aidl
ediaSession.java
laybackState.java
|
7e2b3008f11cae295c84d20f32d731e1d379562f |
22-Aug-2014 |
RoboErik <epastern@google.com> |
Ensure current volume is current This sets the current volume when a session is switched over to remote playback. Otherwise it won't be current until it changes and sends an update. Change-Id: Iabedb24a34e88308e7e3c56a2b1ab279a17b466b
ediaSession.java
|
d2b8c947ddfc6349a3ae6c3968b422b9cf50d7ed |
19-Aug-2014 |
RoboErik <epastern@google.com> |
Api updates to MediaSession components -renames get/setBufferPosition to get/setBufferedPosition -renames getLaunchActivity to getSessionActivity -adds doc link to setVolumeTo flags param -renames setLaunchActivity to setSessionActivity -hides setMediaRouter -moves PLAYBACK_TYPE_ constants to MediaController.AudioInfo -adds addOnActiveSessionsChangedListener version with a handler parameter -renames AudioInfo to PlaybackInfo bug:17114404 Change-Id: I0fbfe4eb979cb2af98e3f13095c654bb131f7ae5
ediaController.java
ediaSession.java
ediaSessionManager.java
arcelableVolumeInfo.java
laybackState.java
|
b135d06cb83db03b1328b7a82f064de7868fb16f |
20-Aug-2014 |
Jeff Brown <jeffbrown@google.com> |
Remove incomplete media router API. (DO NOT MERGE) Change-Id: I310fadafb5a6b8190a32e5d87f3e1823c87bcef7
Session.aidl
SessionController.aidl
ediaController.java
ediaSession.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
ediaController.java
ediaSession.java
ediaSessionManager.java
arcelableVolumeInfo.java
laybackState.java
|
78c64cdbd82a4d8feb7faf43109b86ab87252dd1 |
15-Aug-2014 |
RoboErik <epastern@google.com> |
Fix crash in legacy apps that register without a looper Some legacy apps registered their media button receiver in a thread without a looper. If this happens we need to use the main looper to prevent a crash. bug: 16306226 Change-Id: Idf472e649393e2a7ce2a3e1cbb3476003ab17f34
ediaSessionLegacyHelper.java
|
1d2a1c917f46b6854e91f9867a20abb76ecb794d |
14-Aug-2014 |
RoboErik <epastern@google.com> |
Merge "Pipe caller's identity through volume methods" into lmp-dev
|
0dac35af2c6aa42bcd181981b041747cfd1afa5f |
13-Aug-2014 |
RoboErik <epastern@google.com> |
Pipe caller's identity through volume methods setStreamVolume and adjustStreamVolume were always being called from the session service's uid/package. This adds the plumbing to allow the original app's info to be passed in to the audio service when volume is changed. Change-Id: Ib36639dab1e518b435161dc453c8ba9351df3e9b
SessionController.aidl
ediaController.java
|
5ca4a78e3224bb4c6c47a6d31b4bf2566738b20f |
14-Aug-2014 |
RoboErik <epastern@google.com> |
Merge "Post MediaSessionManager callbacks to the caller's thread" into lmp-dev
|
24762bffc3358762666079cd802040a316b3260d |
14-Aug-2014 |
RoboErik <epastern@google.com> |
Add an onSessionDestroyed callback to MediaController.Callback Callbacks on the controller need to know when the session ceases to exist. bug:17009030 Change-Id: I0f1c1cfc51f7dd2203955287cc269667d3765ee4
SessionControllerCallback.aidl
ediaController.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
ediaSessionManager.java
|
477d1197c3c25c01ace7ea4494437c23720a2eb3 |
06-Aug-2014 |
RoboErik <epastern@google.com> |
Combine MediaSession Callback and TransportControlsCallback This combines them into a single Callback class and adds default handling to media buttons to check the available actions and call one of the other methods if appropriate. Change-Id: If9897d8cf6d8d8046aa85a646c22382f1db1461b
ediaController.java
ediaSession.java
ediaSessionLegacyHelper.java
laybackState.java
|
51fdfa273e036d0e4f5e5c624988b33873fa3ec7 |
06-Aug-2014 |
Yao Chen <yaochen@google.com> |
Adds getServiceComponent() to MediaBrowser, getQueueTitle() and getExtras() to MediaController Change-Id: I6092ac1ae05ba55c14a042698bb88bd16e9b1fa7
ediaController.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
ediaController.java
ediaSession.java
ediaSessionManager.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
SessionController.aidl
ediaController.java
ediaSession.java
ediaSessionInfo.aidl
ediaSessionInfo.java
ediaSessionLegacyHelper.java
|
b214efbb9170a9f6a4991684a63ca59680074cc7 |
24-Jul-2014 |
RoboErik <epastern@google.com> |
Expose a way to set a PendingIntent for restarting playback This is to allow apps to set a PendingIntent to restart playback. This is not persisted across reboots but will allow music to start playing again for the life of the system. Only the most recent priority app with a PI set will be cached. This also deprecates methods in AudioManager that do this and unhides the unregister method in MediaSessionManager. Change-Id: I66fbf5856333468d8cb8a3022809778ba00d426e
Session.aidl
ediaSession.java
ediaSessionLegacyHelper.java
ediaSessionManager.java
|
e34c09daf89fb888fe2638e71758573462d85173 |
24-Jul-2014 |
RoboErik <epastern@google.com> |
Finish plumbing for launch intents in sessions This finishes out the plumbing for setting a launchable PendingIntent on a session and getting it from a controller to launch an app's UI. Change-Id: I0c9506e7c3f0ebf57070ca7e0d91324eb3fdd1e1
Session.aidl
SessionController.aidl
ediaController.java
ediaSession.java
|
76fca4e177e18b591439fdff64b8f5242a5122d0 |
23-Jul-2014 |
RoboErik <epastern@google.com> |
Add getFlags and getSessionToken to MediaController getFlags was hidden, should have been public. Also added getSessionToken as a convenience method for apps to get the token used to create a controller. bug:15408392 Change-Id: Icb19b43ebb7e01727eec1a4e667dafcfc3b8d4eb
ediaController.java
ediaSession.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
ediaSessionLegacyHelper.java
|
f364f944962c4ec66f5e5b33dafe8480f38f6db6 |
22-Jul-2014 |
Gabriel Peal <gpeal@google.com> |
Added Action to PlaybackState Added the ability to discover MediaBrowsers Change-Id: I925c8738ac73afd0bee3dada2ee7ff2d5047e63f
SessionCallback.aidl
SessionController.aidl
ediaController.java
ediaSession.java
laybackState.java
|
f0593bc17b61c872ae2d7705fb598c5e5056e679 |
22-Jul-2014 |
Gabriel Peal <gpeal@google.com> |
Added QueueState, playUri, and playFromSearch. Added QueueState to MediaSession/MediaController Added play(Uri) and playFromSearch(String) to MediaController.TransportControls Change-Id: I1a8ad5c22d05015ab6ff5700dc8a758455f1d89b
Session.aidl
SessionCallback.aidl
SessionController.aidl
SessionControllerCallback.aidl
ediaController.java
ediaSession.aidl
ediaSession.java
laybackState.java
|
9db9bf7034d7dcdf596dc22d521b18975d0dd2b9 |
21-Jul-2014 |
RoboErik <epastern@google.com> |
Switch Session APIs over to AudioAttributes The session apis were using audioStream in several places. This updates them to use AudioAttributes instead. bug:16403289 Change-Id: Ic4da9ca5fbea2536e80c71503bd9a9bf7f346997
Session.aidl
ediaController.java
ediaSession.java
arcelableVolumeInfo.java
|
ca58ddf7c82dd0857de0c3d49d7eb87a842ee4ce |
18-Jul-2014 |
RoboErik <epastern@google.com> |
Fix crash when calling MediaSession callback bug:16311395 Change-Id: Ice52d2da63933af881dd95fa8c6f59a6fe27e0df
ediaSession.java
|
1ff5b1648a051e9650614f0c0f1b3f449777db81 |
16-Jul-2014 |
RoboErik <epastern@google.com> |
Change adjustVolumeBy to adjustVolume This makes volume adjustments take a direction instead of a number of steps and renames the API appropriately. Change-Id: I6a31cbc42d889a38aa63446686a424cb2b8b2270
SessionCallback.aidl
SessionController.aidl
SessionManager.aidl
ediaController.java
ediaSession.java
ediaSessionLegacyHelper.java
ediaSessionManager.java
|
8b4bffcac996b4083e720310a09d315ca1c4a000 |
10-Jul-2014 |
RoboErik <epastern@google.com> |
Make MediaSession and MediaController constructors public This makes the MediaSession/Controller constructors public and registers with the system behind the scenes. This also adds a bit about needing to call setActive(true) to start receiving commands in MediaSession's docs. Change-Id: If882d229b54c36bf0831aca0255052dda667a2bc
ediaController.java
ediaSession.java
ediaSessionLegacyHelper.java
ediaSessionManager.java
|
44583d351ec7ccbe0813cc7c0fa36b9bc5a936a3 |
14-Jul-2014 |
RoboErik <epastern@google.com> |
Merge changes I51f2e466,I5b67cb3e into lmp-dev * changes: Make PlaybackState immutable with a builder Add API to set a default session in Activity
|
c785a78fb483fe54012175c53d3758b2412de7b9 |
14-Jul-2014 |
RoboErik <epastern@google.com> |
Make PlaybackState immutable with a builder bug:15862252 Change-Id: I51f2e466bd2c41bbe80d20aa9785126a7ac6ab3f
laybackState.java
|
33f4e04e32fac42f158733d6a731e50490fa9951 |
11-Jul-2014 |
John Spurlock <jspurlock@google.com> |
Volume: Delay adjustments made when showing ringer UI. Since the volume rocker is now the primary system UI for entering ringer modes, we need to provide a way to display the ui without making a sound. Change the policy for the ringer stream to only display the UI on the initial adjustment request, don't actually make an adjustment. However, don't break previous ability to press and hold the vol keys down to vibrate, so allow this after the standard framework long-press delay. Audio service had no way of knowing whether or not the registered volume controller was visible, so add a mechanism for the controller (volume panel) to send that info back to the service. Found and fixed a discrepancy between AudioManager.handleKeyDown and MediaSessionLegacyHelper so that an adjustment over the keyguard is allowed to vibrate as well as play sound during adjustments. Bug:16202639 Change-Id: Icd36c23e8d08c4ed57922c05724b281f32049be7
ediaSessionLegacyHelper.java
|
1a937b04e63539cb1fab1bde601031d415c7156f |
02-Jul-2014 |
Jeff Brown <jeffbrown@google.com> |
Initial draft of new MediaRouter APIs. This patch introduces basic infrastructure for the new MediaRouter API. The code is fully documented but incompletely implemented. It is being submitted not to facilitate API reviews. MediaRouter is a new class that applications used to discovery, connect to, and control media devices as represented by media destinations and their routes. Routes may offer a variety of capabilities. This new class is a much more powerful replacement for the existing MediaRouter. MediaRouteService is a base class for creating media route services which third-parties can implement to make routes available to applications. It is analoguous to the MediaRouteProvider infrastructure of the old media router support library but it is designed to be integrated into the framework and enable a variety of new usages such as remote display projection. Stay tuned for more... Change-Id: I2c7c6013d9f751d71e83697e7fc9e49bf7751fef
Session.aidl
SessionController.aidl
ediaController.java
ediaSession.java
|
01a500ed1c6ae3fff66678144ae637aa8cad0ecc |
11-Jul-2014 |
Jeff Brown <jeffbrown@google.com> |
Delete first draft of media routing APIs. The new APIs will not be as tightly integrated into MediaSession. Change-Id: I5cfd37d9d8d0c5d46c55edb5cf0772a8f1ef13ab
Session.aidl
SessionCallback.aidl
SessionController.aidl
SessionControllerCallback.aidl
ediaController.java
ediaSession.java
ediaSessionManager.java
laybackState.java
oute.java
outeCommand.aidl
outeCommand.java
outeEvent.aidl
outeEvent.java
outeInfo.aidl
outeInfo.java
outeInterface.java
outeOptions.aidl
outeOptions.java
outePlaybackControls.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
laybackState.java
|
5a4e01114361b7dad4fc5465b4da00fd444fc098 |
09-Jul-2014 |
RoboErik <epastern@google.com> |
Make PlaybackState immutable with a builder bug:15862252 Change-Id: I8944b7753cd6a36a74b0091f71a386f77040c4ab
laybackState.java
|
3c45c29109d23981d8b707c809b3b43ce2e20fc3 |
09-Jul-2014 |
RoboErik <epastern@google.com> |
Pipe volume keys to adjustVolume instead of sendMediaKeyEvent We were calling sendMediaKeyEvent with a KEYCODE_VOLUME key, which was being ignored because it's not a media key. This redirects the volume keys to use the adjustVolume methods instead. It also sends the appropriate flags to make the lock screen consistent with the home screen and the volume keys only affect active playback when the screen is off. bug:15900519 Change-Id: I9f3853a2385869353a58debae6e6ca9933ba06ce
ediaSession.java
ediaSessionLegacyHelper.java
|
6c09004ec09951712ab57473810fa6b85f5783cd |
02-Jul-2014 |
Jean-Michel Trivi <jmtrivi@google.com> |
Send media button events with FLAG_RECEIVER_FOREGROUND set bug 11357318 Change-Id: Iccd000bebb31a2f6cb057e97d3ab276861d0b651
ediaSessionLegacyHelper.java
|
dba34ba35cd2042d9a8fecfda56e2abe7a680bad |
25-Jun-2014 |
Jeff Brown <jeffbrown@google.com> |
Make MediaSessionToken an inner class of MediaSession. Also add some missing AIDLs to the framework makefile to ensure they are included in the SDK. Change-Id: If85a3091c7591e0b3bbe6cc4bb74aba2284b4f42
ActiveSessionsListener.aidl
ediaController.java
ediaSession.aidl
ediaSession.java
ediaSessionManager.java
ediaSessionToken.aidl
ediaSessionToken.java
|
19c9518f6a817d53d5234de0020313cab6950b2f |
24-Jun-2014 |
RoboErik <epastern@google.com> |
b/15729204 Pipe sessions through to VolumePanel When remote volume is changed via volume buttons we need to notify the system UI so it can show the slider. This also passes it the controller to use so adjustments to the slider are sent back to the correct session. Change-Id: If5847bcd5db16c56e0e9904b88c94e5b28954c41
SessionControllerCallback.aidl
SessionManager.aidl
ediaController.java
ediaSession.java
ediaSessionManager.java
|
bf58d9b727f1007c7c620f622ac1d8003b1b211b |
24-Jun-2014 |
Jeff Brown <jeffbrown@google.com> |
Minor cosmetic tweaks. Change-Id: I626bad7177659b5670c2864d7bc78033a0ee16e7
ediaController.java
ediaSession.java
ediaSessionManager.java
laybackState.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
ediaSessionManager.java
|
ef3c9e9b057a5aac2d0d012e8e6385660478e203 |
20-Jun-2014 |
RoboErik <epastern@google.com> |
Add volume handling APIs to sessions This renames and moves the VolumeProvider and adds apis to MediaController to get the current state of volume on a session and to request changes to the volume. Change-Id: I290e9efefb6676c805819a29e1d054c3192c6773
SessionController.aidl
ediaController.java
ediaSession.java
arcelableVolumeInfo.aidl
arcelableVolumeInfo.java
emoteVolumeProvider.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
Session.aidl
ediaSession.java
ediaSessionLegacyHelper.java
|
d3c8642dae9a1f6db60e2f8e5c7b32cd1b3169df |
16-Jun-2014 |
RoboErik <epastern@google.com> |
Remove some more old code and fix Media command Removes some more hidden apis from AudioService/Manager. This also fixes up Media.java to support commands for the new service to help with debugging. Also fixes a couple bugs that were found while fixing up Media. Change-Id: I68e4aa80a4de430b98236aafc883664b9432c62b
ediaController.java
|
6b1bea09031ef24214f1806f9b7604302d824c62 |
17-Jun-2014 |
RoboErik <epastern@google.com> |
b/15676582 Fix ordering of sessions returned by MediaSessionManager This was causing the wrong rcc to be shown. Simple fix just fixes the ordering so it's not reversed. Change-Id: I56f2d9d6895d6ba3b0eca8f77a3b0b63e0193ad1
ediaSessionManager.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
SessionController.aidl
ediaController.java
ediaSessionLegacyHelper.java
ediaSessionManager.java
laybackState.java
|
a3d81885566f79b0e21438bd69634cc53a80918b |
09-Jun-2014 |
RoboErik <epastern@google.com> |
Merge "Adds listeners for changes to the list of active sessions" into lmp-preview-dev
|
55f6ab4c813b6d355ba1ba72e4e2d98b9583f6f3 |
09-Jun-2014 |
RoboErik <epastern@google.com> |
Merge "b/15388389 Add volume handling support to MediaRouter" into lmp-preview-dev
|
fb442b03840245c7e52cf2a540a77c5fc6c54587 |
08-Jun-2014 |
RoboErik <epastern@google.com> |
Add a way to get the package/pid of the session We need a package/pid to connect a session to a notification. This adds a way to get those from the controller of a session. Change-Id: I7700a341beebd46116dfb7dc82f1a667c718e728
SessionController.aidl
ediaController.java
ediaSessionInfo.aidl
ediaSessionInfo.java
|
2e7a9167aeefeb451f8d8c769175b9a0163744f3 |
05-Jun-2014 |
RoboErik <epastern@google.com> |
Adds listeners for changes to the list of active sessions The listeners get notified when sessions are added, removed, or reprioritized. Change-Id: I7f3bfc84049719c3b9c19016c6bac92e1a5c3179
ActiveSessionsListener.aidl
SessionManager.aidl
ediaSessionManager.java
ediaSessionToken.java
|
5d3114b64a88ac1f72becd8d46f148c666f64aa3 |
04-Jun-2014 |
RoboErik <epastern@google.com> |
b/15388389 Add volume handling support to MediaRouter This makes MediaRouter work with sessions to handle volume requests. Should work with all existing custom volume handling. Change-Id: I5dfde26a6203a1072b7fc700978b4ca852ebe7d0
ediaSession.java
emoteVolumeProvider.java
|
b69ffd4dc2c8fa85e0064151141ebeee90de471e |
30-May-2014 |
RoboErik <epastern@google.com> |
Minimum work to make volume handling work with sessions This is the minimum change to make adjusting volume work with MediaSessions. This only affects adjusting the volume and adjusting the volume with a suggested stream. Adjusting a specific stream or setting a specific stream will still use the same code. This does not fix existing remote volume handling in RCC, which will require a separate change to MediaController. Change-Id: I5b957ff4bece1ee11e2364e1f216e1c08343c983
Session.aidl
SessionCallback.aidl
SessionManager.aidl
ediaSession.java
ediaSessionLegacyHelper.java
ediaSessionManager.java
|
c47fa84b0a6bda48c38ba8822481ce613bafd019 |
29-May-2014 |
RoboErik <epastern@google.com> |
Refactor transport controls APIs This merges TransportPerformer into MediaSession + a TransportControlsCallback and makes TransportController into an inner class on MediaController called TransportControls. Also makes the PlaybackState and Metadata part of the session APIs instead of transport controls. Change-Id: I16ad392e6d318abe3119ad5d89656d253af25e16
ediaController.java
ediaSession.java
ediaSessionLegacyHelper.java
emoteVolumeProvider.java
ransportController.java
ransportPerformer.java
|
79fa4630bbca7c6c251eea99fe8997e4b45becee |
28-May-2014 |
RoboErik <epastern@google.com> |
API changes to sessions Changes requested by API Council review. A second CL will refactor TransportController and TransportPerformer based on feedback. Change-Id: Ie26a7d01d7021232a66c2edf1eb58120437fdfde
SessionController.aidl
ediaController.java
ediaSession.java
ediaSessionInfo.java
ediaSessionLegacyHelper.java
ediaSessionManager.java
ediaSessionToken.java
laybackState.java
emoteVolumeProvider.java
ransportController.java
ransportPerformer.java
|
02014c8faa43382fc1f7ce80a05991ff32ead89f |
22-May-2014 |
RoboErik <epastern@google.com> |
Switch to using int stream instead of AudioAttributes This is an alternate to the submitted API which doesn't use the new AudioAttributes class and just takes the AudioManager.STREAM instead. Change-Id: I0365bc6fb9196fc33852ba6b202ca553efe0cc85
ediaSession.java
|
33983a901176adcc16c820444b667a37e6472243 |
21-May-2014 |
RoboErik <epastern@google.com> |
Add stream/volume apis to sessions This adds RemoteVolumeProviders which handle volume change events and a way to switch a session between local stream playback and remote playback handling. This also adds a way for an app to specify the PendingIntent to launch when we want to show their ongoing playback UI. Change-Id: I3a72bf2ec7ca55f61f50859ddc2988eebd491e9d
ediaSession.java
emoteVolumeProvider.java
|
418c10ca9df1505509afeffd558cd92fc97bc635 |
19-May-2014 |
RoboErik <epastern@google.com> |
Add 5s timeout to wakelock Also filed a b/15110168 to anr the app if it doesn't finish with the button event in 5s. Change-Id: I23906b4c7f17d3d3a29eef92b523d8653c87017e
SessionCallback.aidl
ediaSession.java
ediaSessionLegacyHelper.java
|
42ea7eecd149161ed192d3029f0d77d1d08a4aa5 |
17-May-2014 |
RoboErik <epastern@google.com> |
Rename session classes to have media prefix, hide routes This renames several of the core session classes to be prefixed with Media. It also adds @hide to all route references for now. Change-Id: Idb42897d490cf24626e4e93ca975b2cb93ec054c
Session.aidl
SessionController.aidl
SessionControllerCallback.aidl
ediaController.java
ediaMetadata.aidl
ediaMetadata.java
ediaSession.java
ediaSessionInfo.java
ediaSessionLegacyHelper.java
ediaSessionManager.java
ediaSessionToken.aidl
ediaSessionToken.java
laybackState.java
oute.java
outeInfo.java
outeInterface.java
outeOptions.java
outePlaybackControls.java
ession.java
essionController.java
essionInfo.java
essionManager.java
essionToken.aidl
essionToken.java
ransportController.java
ransportPerformer.java
|
8a2cfc309ab9126e90022916967c65a793c034f0 |
16-May-2014 |
RoboErik <epastern@google.com> |
Move media key processing to sessions Send all media key events over to the MediaSessionService instead of AudioManager. This does not affect volume handling yet, so it is possible to get into a state where volume will be handled by a different thing than media buttons. Except for corner cases this shouldn't be noticable. Change-Id: I00a576175d9c82937f0836e509b9a98d5cb77b83
SessionCallback.aidl
SessionManager.aidl
ediaSessionLegacyHelper.java
ession.java
essionManager.java
|
4646d288821d62fdfe481be67d8b7fed7d7eabd8 |
13-May-2014 |
RoboErik <epastern@google.com> |
Add UserRecords to separate user interactions Each user record maintains the list of sessions and providers that are running under that user. Lifecycle for providers has been modified to stop discovery when the user is no longer current but keep the binder connection open so long as there's a session that has selected a route from that provider. When a user is stopped all providers on that user will be unbound even if they were still in use. Change-Id: Iadf1efded3415f7ecf384d3a73513883de9c86b0
Session.aidl
SessionCallback.aidl
ession.java
|
a5b02329209be355eafadbdf9ee685ffa58d3148 |
08-May-2014 |
RoboErik <epastern@google.com> |
Make sessions aware of user id This tags all sessions with the user id that they were created for. It also adds API for creating and querying sessions for a specific user. This does not wrap providers per user yet which will be done in a separate CL. Change-Id: Icdaf701b0614a95301657998602c45208d548c27
SessionManager.aidl
essionManager.java
|
a8f951462791a16f47e8c07e552232f31dcefac5 |
05-May-2014 |
RoboErik <epastern@google.com> |
Add a class for managing Session priority Priority is given first to the system priorty session, then to active local sessions, then to active remote sessions, then to the rest of the sessions. Ordering within categories is by whoever last performed an action we associate with the user. The stack has methods for getting filtered sets of this priority. This also: -Changes publish to setActive(boolean) -Adds a flag for handling media buttons. -Adds a flag for transport controls instead of enabling once. -Unhides the setFlags API. -Updates the legacy helper to use the flags. Change-Id: I6ebeb27410de1b24149fd6e1785613ac444f0774
Session.aidl
ediaSessionLegacyHelper.java
ession.java
|
e7880d8eb1903d42e4e2a90c99b58e2240e01e82 |
30-Apr-2014 |
RoboErik <epastern@google.com> |
Add APIs for creating a system priority session and getting controllers This adds a hidden call to set flags and a flag for making a session an exclusive high priority session. This will cause all media button events to be sent to that session as long as it is stillr egistered. This requires the MODIFY_PHONE_STATE permission like the old forCalls API. This also adds a way to get controllers for all the ongoing sessions. This is protected by the MEDIA_CONTENT_CONTROL permission like the old RemoteController APIs. Change-Id: I51540e8dcf3a7dbe02a0f8ee003821e40af653a3
Session.aidl
SessionManager.aidl
ediaSessionLegacyHelper.java
ession.java
essionManager.java
|
66dea73906f24226a6f699759e79040726bde8b5 |
02-May-2014 |
RoboErik <epastern@google.com> |
Add playback state and metadata to dump Change-Id: I813ff23c496f75776c8bd63f78bbe87683b19bc0
ediaMetadata.java
laybackState.java
|
cf43d9baabd9a21e06b1b100deb45a5022cd99dd |
02-May-2014 |
RoboErik <epastern@google.com> |
Fix sdk build Missed a doc tag. Change-Id: Ic02c5fe83a28055bde544434c7b9f3e0c7060191
laybackState.java
|
6e6a6e863df6cc5e7b930b1197b1f6743ba31d8e |
01-May-2014 |
RoboErik <epastern@google.com> |
Merge "Add Session API calls to RCC and AudioManager"
|
f1372428f2df781c71c71caa2f6a4db6f847cf10 |
23-Apr-2014 |
RoboErik <epastern@google.com> |
Add Session API calls to RCC and AudioManager This makes RCC and MediaButtonReceiver (via AudioManager) also use the new Session APIs in parallel to their existing code. This will allow us to bring up the Session compatibility pieces without disrupting the old behavior and then switch everything over to just using the new APIs when ready. Change-Id: I33ce0a044dea3ec763f2302b91a5e415be27d4a4
ediaMetadata.java
ediaSessionLegacyHelper.java
laybackState.java
ransportPerformer.java
|
a278ea7cecb59a73586e5dd74ec05e85caa370c5 |
24-Apr-2014 |
RoboErik <epastern@google.com> |
Add dump to MediaSessionService Adds a dump implementation for debugging MediaSessionService. Also fixes some synchronize calls that weren't using the same lock object. Change-Id: I14343f853398749c8ce7ebf91f72729abc9132d9
essionInfo.java
|
07c7077c54717dbbf2c401ea32d00fa6df6d77c6 |
20-Mar-2014 |
RoboErik <epastern@google.com> |
Add RouteProviders to the new Media APIs Compiles and works with OneMedia. This currently is a rough test of the system for finding, connecting to, and sending messages to routes. This will just connect to the first route it finds when a request to open the route picker is made (and disconnect when another request is made). Change-Id: I5de5521a079471b9e02664be4654c0591dfd9a6d
MediaController.aidl
MediaControllerCallback.aidl
MediaSession.aidl
MediaSessionCallback.aidl
MediaSessionManager.aidl
Session.aidl
SessionCallback.aidl
SessionController.aidl
SessionControllerCallback.aidl
SessionManager.aidl
ediaController.java
ediaSession.java
ediaSessionManager.java
ediaSessionToken.aidl
ediaSessionToken.java
laybackState.java
oute.java
outeCommand.aidl
outeCommand.java
outeEvent.aidl
outeEvent.java
outeInfo.aidl
outeInfo.java
outeInterface.java
outeOptions.aidl
outeOptions.java
outePlaybackControls.java
outeTransportControls.java
ession.java
essionController.java
essionInfo.java
essionManager.java
essionToken.aidl
essionToken.java
ransportController.java
ransportPerformer.java
|
8ae0f34db936a649ddaf9cdd086c224f6514efeb |
25-Feb-2014 |
RoboErik <epastern@google.com> |
Adds a TransportController and TransportPerformer to session This makes transport controls a primitive interface on sessions with a way to create the performer, register callbacks, and send commands and updates between controllers and performers. This still needs some cleanup but has been tested with OneMedia. Change-Id: I373d35f7ccc383b8421bd14044457467d80425f3
MediaController.aidl
MediaControllerCallback.aidl
MediaSession.aidl
MediaSessionCallback.aidl
ediaController.java
ediaMetadata.aidl
ediaMetadata.java
ediaSession.java
laybackState.aidl
laybackState.java
outeInterface.java
outeTransportControls.java
ransportController.java
ransportPerformer.java
|
2f5b057da7d05d5d699a272aa24fd7c97cdda820 |
21-Feb-2014 |
RoboErik <epastern@google.com> |
Move Session apis to android.media.session This is to make it easier to distinguish the new apis from the old ones. Change-Id: Ic5eaf65e8bd054a844f87b9118c4bb18f30ac8a7
MediaController.aidl
MediaControllerCallback.aidl
MediaSession.aidl
MediaSessionCallback.aidl
MediaSessionManager.aidl
ediaController.java
ediaSession.java
ediaSessionManager.java
ediaSessionToken.aidl
ediaSessionToken.java
|