a6f3009942a8d004b30a55dca5b3f7291bb09e38 |
|
20-Mar-2015 |
Jeff Brown <jeffbrown@google.com> |
Disable more hotkeys while in setup. Disables fallback key processing for CALL, CAMERA, and HEADSETHOOK buttons. Bug: 19767816 Change-Id: I423103c367e05827c939cd8d8dbecb6012b0e9f0
/frameworks/base/services/core/java/com/android/server/media/MediaSessionService.java
|
9c5b7cb048699237b35dad7a2a634ed6efb997c7 |
|
16-Jan-2015 |
RoboErik <epastern@google.com> |
Notify the system of all remote volume changes If a volume change occurred because it was sent through the MediaController directly it wasn't showing the system's volume UI. This fixes things so the volume slider gets shown for all volume requests with the SHOW_UI flag set. bug:19036130 Change-Id: I1f7cb2e03386e2f3f7bc448cb4c38a71573775ff
/frameworks/base/services/core/java/com/android/server/media/MediaSessionService.java
|
2610d71251e3e376e2514f20986c81e5d55f1b55 |
|
07-Jan-2015 |
RoboErik <epastern@google.com> |
Don't unmute when trying to show volume UI. DO NOT MERGE When a MediaSession is active the adjust volume event to show UI was causing the stream to be unmuted. Since this happens after every mute event you were unable to mute while a session was active. This change doesn't unmute for events that just show the UI. bug:18844550 Change-Id: Ic8b0f1ab1354646724ead4572a973c302c275eab
/frameworks/base/services/core/java/com/android/server/media/MediaSessionService.java
|
d5489220e27bc8d476b59847ae2005d68dd94864 |
|
05-Jan-2015 |
Sungsoo Lim <sungsoo@google.com> |
DO NOT MERGE Fix typo Change-Id: I0c738602616fda510b765e03f8a25abfc8316b84 (cherry picked from commit 9dcba434e27ec4de87eac1448ded4126b3f97773)
/frameworks/base/services/core/java/com/android/server/media/MediaSessionService.java
|
48248c80e58c459d211d36164baa69354e070c07 |
|
24-Dec-2014 |
Sungsoo Lim <sungsoo@google.com> |
DO NOT MERGE Make mute/unmute work Bug: 18844550 Change-Id: I431a223d55430aa8e1bb28f0275e11876ed0e0bb (cherry picked from commit d1851e6e4e49b6a45d9e013de2e1384711975328)
/frameworks/base/services/core/java/com/android/server/media/MediaSessionService.java
|
2b5208c3583b5fd82564523bfd9e85b4bf44afa0 |
|
19-Dec-2014 |
Eric Laurent <elaurent@google.com> |
MediaSession: unmute stream when adjusting volume Bug: 18482488. Change-Id: I3411f78551cba31aa7f91b5223e015f0b8c1bbb2
/frameworks/base/services/core/java/com/android/server/media/MediaSessionService.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
/frameworks/base/services/core/java/com/android/server/media/MediaSessionService.java
|
870c5a6593f723211a4a90766be9191c69f38570 |
|
03-Dec-2014 |
RoboErik <epastern@google.com> |
Tweak the behavior of the MediaSessionStack This makes the following changes in behavior: -We will only cache a pending intent for a session if it reaches the one of the playing states. -If a previously priority session is removed the next session only gets priority if it is in a playing state. Otherwise we use the removed session's PendingIntent. -The last session to have been playing or to have been added gets priority after any currently playing sessions, but only if it is still in the list of active sessions. -We will only use a session that isn't playing and isn't the most recently playing/added if we don't have a PendingIntent from the last playing session to fall back on. bug:18589421 Change-Id: I650c56a782bb1f1d5e64d7574a7d2387606f3b17
/frameworks/base/services/core/java/com/android/server/media/MediaSessionService.java
|
a08adb2437f641087e01436293736be235fe1fda |
|
22-Nov-2014 |
RoboErik <epastern@google.com> |
Fix binder equality check Forgot to call .asBinder() before checking binders for equality. This fixes a memory leak caused by the system holding on to binders. bug:18049316 Change-Id: I43a9f4163b28cf1a77e59c3e7bade32bd2ef1c1a
/frameworks/base/services/core/java/com/android/server/media/MediaSessionService.java
|
519c7744b522aa07e12bc3244ac3de14aa2a4ad0 |
|
18-Nov-2014 |
RoboErik <epastern@google.com> |
Handle volume events on master volume devices correctly We weren't passing volume events to the master volume correctly on devices that only use a master volume. This fix checks if the device only has a master volume and adjusts the master volume instead of the stream's volume if that's the case. bug:18305790 Change-Id: Iec35e0a7dc59e6d73c9dfc88da324660bb15b1f3
/frameworks/base/services/core/java/com/android/server/media/MediaSessionService.java
|
9c7854014d86a3bb2c4f2f8e3b8ca7f1e01df7df |
|
12-Nov-2014 |
RoboErik <epastern@google.com> |
Use the suggested stream if it's currently active This makes the MediaSessionService check if the suggested stream is active when dispatching a volume event and prefer it to a remote session if it is. This mostly affects apps that use Activity.setVolumeControlStream. bug:18318480 Change-Id: Ib8825394bf7a223fbd92bcb2c3ecb7c596ce7c29
/frameworks/base/services/core/java/com/android/server/media/MediaSessionService.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
/frameworks/base/services/core/java/com/android/server/media/MediaSessionService.java
|
94c716ea2927cf7d16c66d8846b976f06bcb6460 |
|
14-Sep-2014 |
RoboErik <epastern@google.com> |
Route volume commands whenever media stream is in use Found a regression in volume handling. Previously we handled volume commands as long as the media stream was active but we were only handling them when there was an active session on L. This adds a check to make sure we handle volume if anything is playing on the media stream. bug:17498479 Change-Id: Iddd745c8a762cf7ebedb37f1b26fc934db01fba0
/frameworks/base/services/core/java/com/android/server/media/MediaSessionService.java
|
272e161c1a200900cb10b5b0cdab8ae1f123cabd |
|
05-Sep-2014 |
RoboErik <epastern@google.com> |
send volume button events to adjustSuggestedStream instead of adjustStream This way the audio system can route the adjustments correctly when a bt headset is connected. bug:17281977 Change-Id: Ic41d038e47179baffc86e539562da285446148c7
/frameworks/base/services/core/java/com/android/server/media/MediaSessionService.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
/frameworks/base/services/core/java/com/android/server/media/MediaSessionService.java
|
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
/frameworks/base/services/core/java/com/android/server/media/MediaSessionService.java
|
1f7a39fee1be73bf079e0443d30d316482728ddc |
|
12-Aug-2014 |
RoboErik <epastern@google.com> |
Merge "Fix registering global priority sessions" into lmp-dev
|
4d26598677095e74e30fc12f46a769cac800f946 |
|
12-Aug-2014 |
RoboErik <epastern@google.com> |
Fix registering global priority sessions We were never setting a global priority session due to a change in the way sessions were registered. This makes sure a global session gets set correctly. bug:16930866 Change-Id: I859846c9265e98bb1a37ff9d22808137e787ce18
/frameworks/base/services/core/java/com/android/server/media/MediaSessionService.java
|
7aef77bbf5b983b9f949936ed6cd174251697ca8 |
|
09-Aug-2014 |
RoboErik <epastern@google.com> |
Remove sessions listeners that are disabled Removes sessions listeners when their notification listener is disabled. Also updates the dump for media sessions. bug:15549450 Change-Id: Ibe51a4a42ef333e75a09f0fffa0f2b9b8939b85c
/frameworks/base/services/core/java/com/android/server/media/MediaSessionService.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/services/core/java/com/android/server/media/MediaSessionService.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
/frameworks/base/services/core/java/com/android/server/media/MediaSessionService.java
|
b7c014c291eff2a97f32ce1ae7e42bd8f825c74c |
|
23-Jul-2014 |
RoboErik <epastern@google.com> |
Move return out of debug conditional Accidentally put the return for not sending volume changes into the debug conditional. bug:16379124 Change-Id: I473f6fdf7577ca26559ab9b02f4dc0613ef702e3
/frameworks/base/services/core/java/com/android/server/media/MediaSessionService.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
/frameworks/base/services/core/java/com/android/server/media/MediaSessionService.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
/frameworks/base/services/core/java/com/android/server/media/MediaSessionService.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
/frameworks/base/services/core/java/com/android/server/media/MediaSessionService.java
|
851d2d5d5680ab26eccd2b26a4acc29a1d637c94 |
|
28-Jun-2014 |
RoboErik <epastern@google.com> |
Don't send remote volume changes for local playback bug: 15913248 Change-Id: I701d0a446ef981deae171b9e882c29906593b3c8
/frameworks/base/services/core/java/com/android/server/media/MediaSessionService.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
/frameworks/base/services/core/java/com/android/server/media/MediaSessionService.java
|
d09bd0c6eb8318e0122b14d7eb5324e481706e41 |
|
25-Jun-2014 |
RoboErik <epastern@google.com> |
Move VolumeController into AudioService VolumeController was a hidden class only used by AudioService and MediaFocusControl. Since we added a public VolumeProvider class moving VolumeController to avoid confusion. Change-Id: I6838daf9b83846e1393b1a8502d3b10345a4799a
/frameworks/base/services/core/java/com/android/server/media/MediaSessionService.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
/frameworks/base/services/core/java/com/android/server/media/MediaSessionService.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/services/core/java/com/android/server/media/MediaSessionService.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
/frameworks/base/services/core/java/com/android/server/media/MediaSessionService.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/services/core/java/com/android/server/media/MediaSessionService.java
|
a3d81885566f79b0e21438bd69634cc53a80918b |
|
09-Jun-2014 |
RoboErik <epastern@google.com> |
Merge "Adds listeners for changes to the list of active sessions" into lmp-preview-dev
|
0791e1713be3df6acfc9e3dfa0dd8be55cf1a165 |
|
08-Jun-2014 |
RoboErik <epastern@google.com> |
b/15452153 Send 0 delta volume requests The new code was dropping volume requests with a delta of 0. These are used to trigger a beep at the end of a volume adjustment. Change-Id: Idd85cfeaffe78f9aaafb8e6989e240cb70409c1e
/frameworks/base/services/core/java/com/android/server/media/MediaSessionService.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
/frameworks/base/services/core/java/com/android/server/media/MediaSessionService.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
/frameworks/base/services/core/java/com/android/server/media/MediaSessionService.java
|
9a9d0b5f6f4be758ed6c8b837a9dd01a451bc0c0 |
|
20-May-2014 |
RoboErik <epastern@google.com> |
Handle headsethook voice launching This launches voice search when headsethook is long pressed unless you're in a call. The handling is done in MediaSessionService. This CL also adds a switch to the new APIs to the fallback event handler which was missed previously. Change-Id: I1cbdff1d6e9f5293885dd8aaed8ba13cb15b36d4
/frameworks/base/services/core/java/com/android/server/media/MediaSessionService.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
/frameworks/base/services/core/java/com/android/server/media/MediaSessionService.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
/frameworks/base/services/core/java/com/android/server/media/MediaSessionService.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
/frameworks/base/services/core/java/com/android/server/media/MediaSessionService.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
/frameworks/base/services/core/java/com/android/server/media/MediaSessionService.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
/frameworks/base/services/core/java/com/android/server/media/MediaSessionService.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
/frameworks/base/services/core/java/com/android/server/media/MediaSessionService.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
/frameworks/base/services/core/java/com/android/server/media/MediaSessionService.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
/frameworks/base/services/core/java/com/android/server/media/MediaSessionService.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
/frameworks/base/services/core/java/com/android/server/media/MediaSessionService.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
/frameworks/base/services/core/java/com/android/server/media/MediaSessionService.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
/frameworks/base/services/core/java/com/android/server/media/MediaSessionService.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/services/core/java/com/android/server/media/MediaSessionService.java
|