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
ediaSessionService.java
|
05aab5810a5f0296c3650f104c58479b2765c0b7 |
06-Feb-2015 |
Michael Wright <michaelwr@google.com> |
Stop active media projections on user switch. Bug: 19278080 Change-Id: I63cc8aa12954d4de257b793967d3845a6f86dc3f
rojection/MediaProjectionManagerService.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
ediaSessionRecord.java
ediaSessionService.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
ediaSessionRecord.java
ediaSessionService.java
|
d5489220e27bc8d476b59847ae2005d68dd94864 |
05-Jan-2015 |
Sungsoo Lim <sungsoo@google.com> |
DO NOT MERGE Fix typo Change-Id: I0c738602616fda510b765e03f8a25abfc8316b84 (cherry picked from commit 9dcba434e27ec4de87eac1448ded4126b3f97773)
ediaSessionService.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)
ediaSessionService.java
|
2b5208c3583b5fd82564523bfd9e85b4bf44afa0 |
19-Dec-2014 |
Eric Laurent <elaurent@google.com> |
MediaSession: unmute stream when adjusting volume Bug: 18482488. Change-Id: I3411f78551cba31aa7f91b5223e015f0b8c1bbb2
ediaSessionRecord.java
ediaSessionService.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
ediaSessionRecord.java
ediaSessionService.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
ediaSessionService.java
ediaSessionStack.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
ediaSessionService.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
ediaSessionRecord.java
ediaSessionService.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
ediaSessionService.java
|
e58574026b265b4773f1e9bc896ba53530c7a580 |
28-Oct-2014 |
Jason Monk <jmonk@google.com> |
Add missing passive discovery flag automerge: 4444c5b automerge: 07faf0e * commit '07faf0e1a1d32408dfdc863a0996baa8522c5fdb': Add missing passive discovery flag
|
4444c5b27874866f18cd8f4abb8914cc17857ea7 |
28-Oct-2014 |
Jason Monk <jmonk@google.com> |
Add missing passive discovery flag MediaProjectionManagerService had an active media callback which was causing a service to be bound 100% of the time. Adding a passive flag makes it only observe events, and allow the service to only be bound when needed by apps requesting active discovery. Bug: 18042409 Bug: 17969854 Change-Id: I1bfa6609e2aa507ee2ce227de50f0e5ae951e000
rojection/MediaProjectionManagerService.java
|
9b84309bea122e63009408b3fa94a3e498ae60c9 |
20-Oct-2014 |
John Spurlock <jspurlock@google.com> |
Qualify private outer call in MediaProjectionManagerService. Change-Id: Ia4e09bdfe773a27107c0980a1aabf9b09e2b0a46
rojection/MediaProjectionManagerService.java
|
421c9df7ff52f8c43fd5356a59702931f39dc029 |
15-Oct-2014 |
RoboErik <epastern@google.com> |
Don't call size on a null metadata bug:18002951 Change-Id: I3a2d2c781e7b235efbd8518d60eee7f44bbacd75
ediaSessionRecord.java
|
82df2c0839876d158889ea0e28e6f3adf0d4797d |
08-Oct-2014 |
RoboErik <epastern@google.com> |
Ensure metadata bundles are unparceled before making them available Bundles can't be read from multiple threads safely. This adds locking around a read that had been previously overlooked and ensures that unparcel is called on the metadata before it is even available to other threads. bug:17894033 Change-Id: I9a4b86a0d0af05b1dcba28a52df2e7a87c685704
ediaSessionRecord.java
|
165809b33198cd3926cc11e8cbc96b671d4c87d3 |
29-Sep-2014 |
RoboErik <epastern@google.com> |
Send volume keys to the default stream if not actually playing This ensures that we'll only adjust volume on a session's stream if that stream is actually in use. bug:17690423 Change-Id: I5fce8265a015bbc5034afa16719d9a0bbf257598
ediaSessionRecord.java
|
df382cada180033e5bbde82998b73ef19e541ed2 |
29-Sep-2014 |
RoboErik <epastern@google.com> |
Be more paranoid about threading in MediaSessionRecord This makes copies of objects with bundles before posting to another thread and is more aggressive about locking before making assignments of mutable objects. bug:17692568 Change-Id: I28e8229718b862c485e870fd2ca06a3a18a7c454
ediaSessionRecord.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
ediaSessionService.java
ediaSessionStack.java
|
23b113592a5f461ec66026cbf8bce253cb8d3a46 |
24-Sep-2014 |
RoboErik <epastern@google.com> |
Clear the volume cache for all inactive state transitions bug:16988480 Change-Id: I0426c76681f8ec832c3f72842ee494d286050fea
ediaSessionStack.java
|
89c2cb6f31cddb926dea3498f8adf01a8cc1426a |
14-Sep-2014 |
Michael Wright <michaelwr@google.com> |
Monitor MediaRouter for remote display connections. Since we're reusing the cast tile for screen sharing we need to make sure there's only ever one mirroring presentation going on at a time. Bug: 9905068 Change-Id: I249932d0f8853880dd453eb57c2a258e6ae952b0
rojection/MediaProjectionManagerService.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
ediaSessionService.java
|
cde5bb45cc86d181d96ee69da1832e6132162871 |
08-Sep-2014 |
Michael Wright <michaelwr@google.com> |
Change callback methods from add to register. Also changes intent returning method from get to create. Both changes are in response to API council feedback. Bug: 17389882 Change-Id: I3b57e3fc202148e3bbb24ac61229f04e8b4ac41e
rojection/MediaProjectionManagerService.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
ediaSessionRecord.java
ediaSessionService.java
|
7a18cb5672127bf12c8edac8a327f9b706b79ff7 |
03-Sep-2014 |
RoboErik <epastern@google.com> |
Don't play a sound when adjusting volume while telephony is active bug:17106215 Change-Id: I54f156d91440ce777e5a4d473cdd47927479d084
ediaSessionRecord.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
ediaSessionRecord.java
|
78b8c8fbde12b214314cc2ab2644350b5d5189a5 |
25-Aug-2014 |
John Spurlock <jspurlock@google.com> |
QS: Wire up screen casting to tile/panel. Use MediaProjectionManager to determine whether or not screencasting is active, when it changes, and to stop casting. Also: - Implement hashCode/equals on MediaProjectionInfo - Fix unintentional recursion in the service. Bug:16488053 Change-Id: Icd1a88f23bbdf1d4c1915b30cb2508f8fe9d6d7e
rojection/MediaProjectionManagerService.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
ediaSessionRecord.java
ediaSessionService.java
ediaSessionStack.java
|
b135d06cb83db03b1328b7a82f064de7868fb16f |
20-Aug-2014 |
Jeff Brown <jeffbrown@google.com> |
Remove incomplete media router API. (DO NOT MERGE) Change-Id: I310fadafb5a6b8190a32e5d87f3e1823c87bcef7
ediaSessionRecord.java
|
d86ecd26d78c7bcd7f820b9ef5e3f4c3eb037510 |
13-Aug-2014 |
Michael Wright <michaelwr@google.com> |
Add callbacks for MediaProjection start / stop. Also, enforce that there is only one valid MediaProjection at a time. Bug: 16488053 Change-Id: Id05445d798c98cb208bc4dab186296392e15d30b
rojection/MediaProjectionManagerService.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
ediaSessionRecord.java
ediaSessionService.java
|
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
ediaSessionRecord.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
ediaSessionService.java
ediaSessionStack.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
ediaSessionRecord.java
ediaSessionService.java
|
6720be4e8c65e90d4453ddad5cef192bc3820038 |
30-Jul-2014 |
Michael Wright <michaelwr@google.com> |
Allow media projections to create public presentations. Change-Id: I3b6e0b54d658352942a38be6a24486bdfc179efd
rojection/MediaProjectionManagerService.java
|
75847b98f39e521a57042c50e69be9e142788d32 |
29-Jul-2014 |
RoboErik <epastern@google.com> |
Add display metadata and change strings to CharSequences This adds some fields for display purposes to MediaMetadata and also makes the default for all text CharSequence instead of String. Also adds a hidden method for getting a Description for the metadata. bug: 11708293 Change-Id: I0ed58d9ac3aeff41325c4ccf5fed0539bbf03b4d
ediaSessionRecord.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
ediaSessionRecord.java
ediaSessionService.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
ediaSessionRecord.java
ediaSessionService.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
ediaSessionRecord.java
|
f364f944962c4ec66f5e5b33dafe8480f38f6db6 |
22-Jul-2014 |
Gabriel Peal <gpeal@google.com> |
Added Action to PlaybackState Added the ability to discover MediaBrowsers Change-Id: I925c8738ac73afd0bee3dada2ee7ff2d5047e63f
ediaSessionRecord.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
ediaSessionRecord.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
ediaSessionRecord.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
ediaSessionService.java
|
c39d47a8e7c74bd539104b0efab898ef6fc43ddf |
09-Jul-2014 |
Michael Wright <michaelwr@google.com> |
Add MediaProjection APIs. The new MediaProjection infrastructure allows the system to hand out tokens granting the ability to capture the screen's contents, audio, etc. at a granular level. It's intended to be used both for screen casting, via the cast APIs, as well as screen sharing via third party applications. The screen sharing case is implemented, but all of audio capturing is still forthcoming. Change-Id: I4b24669bed7083e11413c10ed8d6b025f5375316
rojection/MediaProjectionManagerService.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
ediaSessionRecord.java
ediaSessionService.java
|
c785a78fb483fe54012175c53d3758b2412de7b9 |
14-Jul-2014 |
RoboErik <epastern@google.com> |
Make PlaybackState immutable with a builder bug:15862252 Change-Id: I51f2e466bd2c41bbe80d20aa9785126a7ac6ab3f
ediaSessionRecord.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
ediaSessionRecord.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
ediaRouteProviderProxy.java
ediaRouteProviderWatcher.java
ediaSessionRecord.java
ediaSessionService.java
ediaSessionStack.java
outeConnectionRecord.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
ediaSessionRecord.java
|
5a4e01114361b7dad4fc5465b4da00fd444fc098 |
09-Jul-2014 |
RoboErik <epastern@google.com> |
Make PlaybackState immutable with a builder bug:15862252 Change-Id: I8944b7753cd6a36a74b0091f71a386f77040c4ab
ediaSessionRecord.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
ediaSessionRecord.java
ediaSessionService.java
|
851d2d5d5680ab26eccd2b26a4acc29a1d637c94 |
28-Jun-2014 |
RoboErik <epastern@google.com> |
Don't send remote volume changes for local playback bug: 15913248 Change-Id: I701d0a446ef981deae171b9e882c29906593b3c8
ediaSessionService.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
ediaSessionService.java
|
f77b99f08afed6f6b8d8f5bc72978f2ff7b8db55 |
27-Jun-2014 |
RoboErik <epastern@google.com> |
clear calling identity when changing volume bug: 15925039 Change-Id: I8596266109fd65d7c2de5718ccdda937694befba
ediaSessionRecord.java
|
e9466805e55595ce72c070c73e2fcae46e857850 |
26-Jun-2014 |
RoboErik <epastern@google.com> |
b/15892295 If playback is active don't play a beep The old code removed the flag for playing a beep when changing volume with active playback. This will do the same thing. Change-Id: I708db66a1575d314b941166d4a6ca05d0a796dae
ediaSessionRecord.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
ediaSessionService.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
ediaSessionRecord.java
ediaSessionService.java
ediaSessionStack.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
ediaSessionService.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
ediaSessionRecord.java
ediaSessionService.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
ediaSessionRecord.java
ediaSessionService.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
ediaSessionRecord.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
ediaSessionRecord.java
|
a3d81885566f79b0e21438bd69634cc53a80918b |
09-Jun-2014 |
RoboErik <epastern@google.com> |
Merge "Adds listeners for changes to the list of active sessions" 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
ediaSessionRecord.java
|
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
ediaSessionService.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
ediaSessionService.java
ediaSessionStack.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
ediaSessionRecord.java
ediaSessionService.java
ediaSessionStack.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
ediaSessionRecord.java
ediaSessionStack.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
ediaSessionService.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
ediaSessionRecord.java
ediaSessionService.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
ediaRouteProviderProxy.java
ediaSessionRecord.java
ediaSessionService.java
ediaSessionStack.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
ediaSessionRecord.java
ediaSessionService.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
ediaRouteProviderProxy.java
ediaRouteProviderWatcher.java
ediaSessionRecord.java
ediaSessionService.java
ediaSessionStack.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
ediaSessionRecord.java
ediaSessionService.java
ediaSessionStack.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
ediaSessionRecord.java
ediaSessionService.java
ediaSessionStack.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
ediaSessionRecord.java
ediaSessionService.java
|
66dea73906f24226a6f699759e79040726bde8b5 |
02-May-2014 |
RoboErik <epastern@google.com> |
Add playback state and metadata to dump Change-Id: I813ff23c496f75776c8bd63f78bbe87683b19bc0
ediaSessionRecord.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
ediaSessionRecord.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
ediaRouteProviderProxy.java
ediaSessionRecord.java
ediaSessionService.java
outeConnectionRecord.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
ediaRouteProviderProxy.java
ediaRouteProviderWatcher.java
ediaSessionRecord.java
ediaSessionService.java
outeConnectionRecord.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
ediaSessionRecord.java
ediaSessionService.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
ediaSessionRecord.java
ediaSessionService.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
ediaSessionRecord.java
ediaSessionService.java
|
9158825f9c41869689d6b1786d7c7aa8bdd524ce |
22-Nov-2013 |
Amith Yamasani <yamasani@google.com> |
Move some system services to separate directories Refactored the directory structure so that services can be optionally excluded. This is step 1. Will be followed by another change that makes it possible to remove services from the build. Change-Id: Ideacedfd34b5e213217ad3ff4ebb21c4a8e73f85
ediaRouterService.java
emoteDisplayProviderProxy.java
emoteDisplayProviderWatcher.java
|