f9ea1ad16cec2b123cb01426a9526ebf8a460d1b |
|
15-Jan-2015 |
RoboErik <epastern@google.com> |
Clear volume handling when disconnecting from a remote route This will set the MediaSession's volume handling back to local playback when disconnecting from a route in MediaRouter. bug:18806654 Change-Id: I21d0d53e7786034b71bd2ef1718e61acbab181e2
/frameworks/support/v7/mediarouter/src/android/support/v7/media/MediaRouter.java
|
e49860b0f76d8336c1d41831ed370b0ff94278ef |
|
04-Dec-2014 |
RoboErik <epastern@google.com> |
Make MediaSessionCompat/MediaControllerCompat work pre 21 This adds support for cross-process communication between MediaSessionCompat and MediaControllerCompat. This is to support apps that split their playback service and ui into different processes and to work with the MediaRouter support lib. bug:18186638 Change-Id: Ib554108fd4db5a9855d482cf3d61ce3d8d9c8850
/frameworks/support/v7/mediarouter/src/android/support/v7/media/MediaRouter.java
|
5c9469e010106467791b47b0fa83efda84491a21 |
|
25-Nov-2014 |
RoboErik <epastern@google.com> |
Add backwards compatibility to MediaSessionCompat Make MediaSessionCompat backwards compatible using RCC on APIs 14-20 and MediaSession on 21+. Verified on API 16. bug:18186638 Change-Id: I7cca9d85d4377a69366d69c0fa59b9739cd51233
/frameworks/support/v7/mediarouter/src/android/support/v7/media/MediaRouter.java
|
b6362d072f329a3207aa709ac6b79a4aa3c4d522 |
|
26-Nov-2014 |
Ying Wang <wangying@google.com> |
Fix docs. Change-Id: Iba38cc5b58c1dcf4cac5a0981f281461e684b881
/frameworks/support/v7/mediarouter/src/android/support/v7/media/MediaRouter.java
|
ceb8bf5e5cce7a37736981e626c4be416378767b |
|
21-Nov-2014 |
RoboErik <epastern@google.com> |
Finish stubbing out MediaSessionCompat This adds all the methods in MediaSession to MediaSessionCompat and the code to pass it through to the framework version when available. This does not add support for pre-L. bug:18186638 Change-Id: Icfc80df088db87b6eff629edbc08b4107fbe2821
/frameworks/support/v7/mediarouter/src/android/support/v7/media/MediaRouter.java
|
94be6100218126ce6a08bf1f56209578500b361f |
|
28-Oct-2014 |
RoboErik <epastern@google.com> |
Update the support lib MediaRouter dialogs This updates the UI for MediaRouter dialogs to use the new material designs for MediaRouter. This doesn't update everything and new icons are still needed. Change-Id: I87c7c63c10ac60448251a8fc1fc4740a12f1603c
/frameworks/support/v7/mediarouter/src/android/support/v7/media/MediaRouter.java
|
a9b9eae2cf9c9ef87c94c6a09a8664d30d60d7e4 |
|
28-Oct-2014 |
RoboErik <epastern@google.com> |
Post volume updates to the callback thread in MediaRouter This ensures all volume requests are handled on the callback's thread (which must be the main thread). bug:18156755 Change-Id: Icdfa1c43a27fbbc449d4773c9a9803dd47bd0839
/frameworks/support/v7/mediarouter/src/android/support/v7/media/MediaRouter.java
|
bbcdf78e350d58ecd6baa75e282d4908d3129fe2 |
|
09-Sep-2014 |
RoboErik <epastern@google.com> |
Add MediaSession support to MediaRouter support lib Adds a method for setting a MediaSession on MediaRouter that can be used for volume controls. bug:17427963 Change-Id: Idc4856373ab9b44500c6fa223236393d166ecbf0
/frameworks/support/v7/mediarouter/src/android/support/v7/media/MediaRouter.java
|
fb81e09002d1d611168b204fc50d259fc15f27b2 |
|
06-Aug-2014 |
Jeff Brown <jeffbrown@google.com> |
Disable passive discovery on low-RAM devices. On low-RAM devices, passive discovery has a significant impact on system performance because it causes many media route provider services to be started and kept running for as long as the application requests discovery (usually the whole time it is in the foreground). To mitigate this issue, the CALLBACK_FLAG_REQUEST_DISCOVERY flag is now ignored on low-RAM devices. Also, isRouteAvailable may return true in cases where it is possible for a route to be discovered even if one hasn't been found yet. These two changes have the effect of causing the MediaRouteButton to always be shown on low-RAM devices. When the user clicks on this button, active discovery will be performed as usual. Added CALLBACK_FLAG_FORCE_DISCOVERY and AVAILABILITY_FLAG_REQUIRE_MATCH to allow an application to request the old behavior if necessary. Also added a bunch of docs to explain why applications really shouldn't do that. Bug: 15191337 Change-Id: I4d742ea4569c977eb9b89277c57a72ec3a4fce41
/frameworks/support/v7/mediarouter/src/android/support/v7/media/MediaRouter.java
|
429c3b17b88ebd8c4512e9179fd9d48333c0979e |
|
21-Mar-2014 |
Tor Norbye <tnorbye@google.com> |
Add tools metadata annotations to the mediarouter library Change-Id: I69322fb994a840b7142109ca48c29fb51829a2dd
/frameworks/support/v7/mediarouter/src/android/support/v7/media/MediaRouter.java
|
adf0f4a217e14894af07dfa9f46cad7d98b8a7f4 |
|
07-Nov-2013 |
Jeff Brown <jeffbrown@google.com> |
Use the full component name to construct route ids. Provide better disambiguation when a package contains multiple route providers by using the full component name in the route id. Also fix a bug handling package updates. Bug: 11257292 Change-Id: Ice4fee742d73e2e979f2059b89cc4f4d971e0947
/frameworks/support/v7/mediarouter/src/android/support/v7/media/MediaRouter.java
|
3efa63d3b896244713e84acbb5945562dce41d77 |
|
05-Nov-2013 |
Jeff Brown <jeffbrown@google.com> |
Minor code cleanup to enable reuse of the protocol. Extract the protocol constants into another class. Add a callback interface for the watcher. Minor doc tweaks. Bug: 11257292 Change-Id: I74b5ecee0d287d6b892ccb56e7777762bbce30de
/frameworks/support/v7/mediarouter/src/android/support/v7/media/MediaRouter.java
|
a97f1edf7624785c41ec0bfec6fd12c2388d9234 |
|
24-Sep-2013 |
Jeff Brown <jeffbrown@google.com> |
Add a helper for managing remote playback. The RemotePlaybackClient class helps take care of identifying remote playback capabilities, formatting requests, parsing results, and managing sessions. The goal is to remove confusion around the usage of the protocol by providing a more familiar API surface to work with. Bug: 10260186 Change-Id: I49a6dcfa30ff8b7a57655a39a43317ebb3add2a0
/frameworks/support/v7/mediarouter/src/android/support/v7/media/MediaRouter.java
|
567dbb1c7f8a0cb3c4340ad607b6d833fc1b2270 |
|
08-Aug-2013 |
Jeff Brown <jeffbrown@google.com> |
Add support for attaching RemoteControlClient to MediaRouter. This change will enable remote volume control from the lock screen when the application creates a remote control client and attaches it to the media router. Simplified some of the route selection / unselection logic. Change-Id: Ibb2a81851afd993b7e5e9d6796c740605399ceb7 (cherry picked from commit 63c7f1e85ac4c6c0af616c241aaa98151f1707d7)
/frameworks/support/v7/mediarouter/src/android/support/v7/media/MediaRouter.java
|
35af7c925d660508fe0892f38eec99a3845630e4 |
|
31-Jul-2013 |
Chong Zhang <chz@google.com> |
Support library workaround: switch to bluetooth route if available Bug: 10003524 Change-Id: I55c2da39ac312265b3a8bcc118d54057d3808f13 (cherry picked from commit 014127a0e1841120ee0968831d40728a80f16b00) (cherry picked from commit a0db5749e35878f8372929c942d905c464ec1d43)
/frameworks/support/v7/mediarouter/src/android/support/v7/media/MediaRouter.java
|
cb63b6ecac9786891514f241dec71695f09d3efb |
|
01-Jun-2013 |
Jeff Brown <jeffbrown@google.com> |
Add unique id to routes. Route unique ids are stable identifiers that applications can use for various purposes such as remembering route selections or communicating with services. Bug: 9210033 Change-Id: I4519f6f639346b8981f02fb870e64becca291b4c
/frameworks/support/v7/mediarouter/src/android/support/v7/media/MediaRouter.java
|
d11aa1784335270b8d85e385f2c8be79ee6a586c |
|
31-May-2013 |
Jeff Brown <jeffbrown@google.com> |
Remove isActiveScanRequired(). This flag was originally added to support media route providers that are unable to discover media routes passively. However, this would be true in practice for most media route providers since they will usually need to poll the network periodically to find new routes. Previously we did not have a good way to tell when discovery was really needed so we forced these providers to rely on active scans instead. Unfortunately this meant that the MediaRouterButton needed to be visible all of the time. Now that we have CALLBACK_FLAG_REQUEST_DISCOVERY, we can be more conservative about when discovery occurs. In practice, discovery will only happen when an application that uses media router is in the foreground. So it's ok for providers to do some moderate work during normal discovery and we don't need to force them to rely exclusively on active scans anymore. We also remove getDiscoverableControlFilters() since it was only needed for the case where active scans were required. Note that we still do perform active scans when the chooser dialog is open. However, we don't allow providers to require them. This even works for Wifi Display because the system already knows which displays have been paired so it doesn't require active scans to decide whether to advertise those routes (although it does require active scans to discover whether they are really available). Bug: 9210033 Change-Id: I69adaf42fb461ee2b564e3605f921d23b6b5c7be
/frameworks/support/v7/mediarouter/src/android/support/v7/media/MediaRouter.java
|
f03da4a9e6cc02251c2f804eb6f25da61821d6a7 |
|
31-May-2013 |
Jeff Brown <jeffbrown@google.com> |
Add CALLBACK_FLAG_REQUEST_DISCOVERY. This change is designed to reduce the network discovery overhead and memory footprint of the media router. Make the media router more conservative about when it binds to media route providers and performs discovery. It will now only perform discovery if the application has specified CALLBACK_FLAG_REQUEST_DISCOVERY or CALLBACK_FLAG_PERFORM_ACTIVE_SCAN. Furthermore, it will only bind to media route provider services while discovery is requested or while the app has selected a route that belongs to the provider. It will automatically unbind when these conditions no longer hold true to allow the system to reclaim memory used by the MRP service process. Added a MediaRouteDiscoveryFragment to make it a bit easier to manage the lifecycle of media router callbacks. Bug: 9210033 Change-Id: I9e7399022d51eb6db3ac79f843ccfa5aba3a8762
/frameworks/support/v7/mediarouter/src/android/support/v7/media/MediaRouter.java
|
9fcedc160282e6620f409ea46bf6728b35d011dd |
|
30-May-2013 |
Jeff Brown <jeffbrown@google.com> |
Fix MediaRouter leaks. There was a cyclic reference from the value of a WeakHashMap to its key which resulted in MediaRouter instances and associated Contexts being leaked. Fixed this by avoiding the cycle but there is now a little more burden on the application to ensure that it holds a reference to the MediaRouter instance as long as it is required. If we wanted to make the support library MediaRouter behave more like an object returned by Context.getSystemService() then we would have to arrange for the Context to hold a strong reference to the MediaRouter to keep it alive but there isn't any good API to accomplish this. Bug: 9189100 Change-Id: I15b214ae9dbad3f08be04ec852b07cc61a00886e
/frameworks/support/v7/mediarouter/src/android/support/v7/media/MediaRouter.java
|
9942d40d0d952b03b583fe66f434676793697aa2 |
|
24-May-2013 |
Jeff Brown <jeffbrown@google.com> |
MediaRouter UI tweaks. Fix an issue where the MediaRouteButton would cause the currently selected route to be deselected when switching activities. The button now no longer has any side-effects. Added code to handle the case where the dialog may be empty by showing a progress bar and placeholder text. Make the route chooser and controller dialogs dark to match the system volume dialog. Fixed the dividers in the route controller dialog. Fixed some incorrect assumptions in the MediaRouteActionProvider related to whether the MediaRouteButton has been attached to the window. Sometimes we would fail to add the necessary route callbacks. This was intended to workaround a framework limitation but it caused other problems. Fixed the padding of the media route button. Cleaned up some documentation. Bug: 9102538 Change-Id: I226e33c3017e8e4a9d877d023a8f158184861343
/frameworks/support/v7/mediarouter/src/android/support/v7/media/MediaRouter.java
|
3d4c9459ed77f732dd3ba602713af6ebf9280c8c |
|
21-May-2013 |
Jeff Brown <jeffbrown@google.com> |
Streamline media router API. Merge progress and status and remove ACTION_GET_PROGRESS. Add a new MediaItemStatus object to ensure that apps package the status information correctly into the Bundle and to remove possible ambiguity about the interpretation of each field. Add EXTRA_ITEM_STATUS as a standard output result from most requests include ACTION_PLAY, ACTION_PAUSE, etc. Add a timestamp to the status object. Add a mechanism for returning an error string from failed media control requests. Add a unique prefix to all mediarouter library resources to make conflicts with application resources less likely. Bug: 8175766 Change-Id: Ifca759424125ca62e8a72d35068dd3cc045d21ad
/frameworks/support/v7/mediarouter/src/android/support/v7/media/MediaRouter.java
|
2ef36d857302c5cd738c7c8bdec53d31feebebba |
|
16-May-2013 |
Jeff Brown <jeffbrown@google.com> |
MediaRouter UI tweaks. Fix a couple of styling issues. Fix an NPE when a provider is removed. Bug: 8175766 Change-Id: I109bc93e94d4a05924ae01189911d2418660d0f3
/frameworks/support/v7/mediarouter/src/android/support/v7/media/MediaRouter.java
|
d63957d28aaabcec588b8cde12eac16414783aeb |
|
16-May-2013 |
Jeff Brown <jeffbrown@google.com> |
Replace route status with route description. Bug: 8175766 Change-Id: I694e3d78cd6a80ecb277b5d950b52d9401a8736c
/frameworks/support/v7/mediarouter/src/android/support/v7/media/MediaRouter.java
|
55b361aea868e53e848bc45af3a55ae43e7871c3 |
|
16-May-2013 |
Jeff Brown <jeffbrown@google.com> |
Remove route icons from the API and the UI. Bug: 8175766 Change-Id: Ic376cb99455fff1e48aa7d3243365aa7cb94659b
/frameworks/support/v7/mediarouter/src/android/support/v7/media/MediaRouter.java
|
11417b1cfde8f1749905f2d735623af9214148af |
|
27-Apr-2013 |
Jeff Brown <jeffbrown@google.com> |
Add media router picker UI. Introduced the concept of a MediaRouteSelector which is the means by which an application states the route capabilities of routes that it would like to discover. Added selectors to the addCallback method along with several other methods to assist with discovery. Callbacks can specify flags to perform active scans of routes or to disable filtering of route events. Added a workaround to scan for wifi displays on JB MR1. Refactored the route descriptor objects to use the builder pattern instead of simply documenting that they should be immutable since several developers have already tripped over this. The UI is feature complete but not final. Bug: 8175766 Change-Id: I54ebb7488222746b0c07292e65b9ded1b9d720fa
/frameworks/support/v7/mediarouter/src/android/support/v7/media/MediaRouter.java
|
28520a15611522424b52cf88e4a2dbeb1a9be42b |
|
26-Apr-2013 |
Jeff Brown <jeffbrown@google.com> |
Add a way for apps to hint at the types of routes they want. Some route providers may need additional information about the kinds of routes to be discovered. We define a concept of a Selector to allow an application to specify these capabilities. This concept is a bit new and not plumbed all the way through yet. We will refine it as we build more of the UI bits on top. Added APIs for starting active route scans. Bug: 8175766 Change-Id: Ib2d2f7bd6cd0610edc8c1f68d879f386c340f682
/frameworks/support/v7/mediarouter/src/android/support/v7/media/MediaRouter.java
|
43f79f79a5117550a7dfedf9c65124afd163ea43 |
|
12-Apr-2013 |
Jeff Brown <jeffbrown@google.com> |
Update media router API. Use the nomenclature "media item" rather than "media stream" to refer to playback requests to avoid confusion. Add a STOP action. Document that the status broadcasts should include the item id. Bug: 8175766 Change-Id: Ideb5c674d48b4a5ba2cb276c19beaafda83900b5
/frameworks/support/v7/mediarouter/src/android/support/v7/media/MediaRouter.java
|
129abf73ce9be1bc172b945263c7975ad1a3006f |
|
23-Mar-2013 |
Jeff Brown <jeffbrown@google.com> |
Define some new media control intents. Also rename the methods of RouteController to emphasize the fact that they are intended to be overridden by the implementation. Add a concept of a stream id. Change-Id: I84c55340914c7245dcf8ab66911adcb725aec10e
/frameworks/support/v7/mediarouter/src/android/support/v7/media/MediaRouter.java
|
350ba6e4a1b5ec28721a098e50eaf6a508eb28f0 |
|
22-Mar-2013 |
Jeff Brown <jeffbrown@google.com> |
Fix a couple of minor bugs. Handle case where a media provider service publishes a null descriptor or does not publish one until after registration. Handle case where a provider service chooses not to create a provider and returns null from onCreateMediaRouteProvider. Change-Id: If89a3d553a8fba0dca80c0b7ff93517eb2698d17
/frameworks/support/v7/mediarouter/src/android/support/v7/media/MediaRouter.java
|
b507e525a61ed761eecfc2eaaf19af7e8db5dca5 |
|
20-Mar-2013 |
Jeff Brown <jeffbrown@google.com> |
Move support library media router to v7 package. Resolved some TODOs related to missing resources. Bug: 8175766 Change-Id: I57632d0a961de58a5dd53e889b4fd39832b5fba0
/frameworks/support/v7/mediarouter/src/android/support/v7/media/MediaRouter.java
|