• Home
  • History
  • Annotate
  • only in /frameworks/support/v7/mediarouter/src/android/support/v7/
History log of /frameworks/support/v7/mediarouter/src/android/support/v7/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
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
edia/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
pp/MediaRouteDiscoveryFragment.java
edia/MediaRouter.java
42eadd302f2aabcfd47640b5c571e5edfb708f8e 22-Apr-2014 Narayan Kamath <narayan@google.com> Fix SDK build.

Missing param name in @param tag.

Change-Id: I9ecf247e3993201e381ac2def1db9cdefcb5ebf4
pp/MediaRouteChooserDialog.java
e691b92e98a1d431490eda2fab16ecf780445925 19-Apr-2014 Jeff Brown <jeffbrown@google.com> Enhance support for filtering routes in route chooser dialog.

Added an onFilterRoutes method to MediaRouteChooserDialog.
In contrast to onFilterRoute, the new method is provided with the
entire list of routes to filter so that it may make global filtering
decisions such as eliminating duplicate or redundant routes
from consideration.

Bug: 13791161
Change-Id: I4c16454c9e4ea7f4acb76e2b18a217242f750ff4
pp/MediaRouteChooserDialog.java
429c3b17b88ebd8c4512e9179fd9d48333c0979e 21-Mar-2014 Tor Norbye <tnorbye@google.com> Add tools metadata annotations to the mediarouter library

Change-Id: I69322fb994a840b7142109ca48c29fb51829a2dd
pp/MediaRouteActionProvider.java
pp/MediaRouteButton.java
pp/MediaRouteChooserDialog.java
pp/MediaRouteDialogFactory.java
edia/MediaRouteProvider.java
edia/MediaRouteSelector.java
edia/MediaRouter.java
02acfc96bf4b4108f76f465f7895c7bbd60c0253 12-Nov-2013 Jeff Brown <jeffbrown@google.com> Hide disabled routes from the chooser dialog.

Bug: 11257292
Change-Id: I88f905ed4b5280ef9a7d39d37afa3f89aaaff9ce
pp/MediaRouteChooserDialog.java
d59166433cee5a854f60321a469e225effac480f 10-Nov-2013 Jeff Brown <jeffbrown@google.com> Remove dead code.

Bug: 11257292
Change-Id: Ifb88f3fe03a8a3bc3cdf372d902f4b63c1ed454b
pp/MediaRouteButton.java
pp/MediaRouteControllerDialog.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
edia/MediaRouteProvider.java
edia/MediaRouter.java
edia/RegisteredMediaRouteProvider.java
edia/RegisteredMediaRouteProviderWatcher.java
edia/SystemMediaRouteProvider.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
edia/MediaControlIntent.java
edia/MediaRouteProviderProtocol.java
edia/MediaRouteProviderService.java
edia/MediaRouter.java
edia/RegisteredMediaRouteProvider.java
edia/RegisteredMediaRouteProviderWatcher.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
edia/MediaRouter.java
edia/RemotePlaybackClient.java
b8b59e000cb7fcd1effc7b5898557b57a7ce0062 03-Oct-2013 Jeff Brown <jeffbrown@google.com> Add error codes to the remote playback protocol.

Bug: 10260186
Change-Id: I9e0d733bf38546162a184af03d77d91dfb5e8698
edia/MediaControlIntent.java
c89eeaab4d5322658eea4e947b38ad953cacf1fa 24-Sep-2013 Jeff Brown <jeffbrown@google.com> Merge "Fix volume handling for fixed volume routes." into jb-mr2-ub-dev
ce8cbd614a64f94e54b936d66ecd14b6c1282ddf 24-Sep-2013 Jeff Brown <jeffbrown@google.com> Fix volume handling for fixed volume routes.

The route controller dialog should handle volume keys even for
fixed volume routes. It's safe to pass them through to the
route as usual although there will be no effect.

Bug: 10260186
Change-Id: Ibca29459fe245c74db5e0d4036f1b68f125e2130
pp/MediaRouteControllerDialog.java
be0f7708a9d53b5bb90a83d551290ebaa01ad32a 24-Sep-2013 Jeff Brown <jeffbrown@google.com> Add session status to item status update receiver.

Bug: 10260186
Change-Id: I909ece7ae2051d7c2a53f510be29f9beb0b7513b
edia/MediaControlIntent.java
aaa9719b402f15df68f9536b813e06dcd9a5d73a 18-Sep-2013 Jeff Brown <jeffbrown@google.com> Add session state actions.

Define START_SESSION, GET_SESSION_STATUS and END_SESSION actions
for explicitly managing remote media playback sessions.

Bug: 10260186
Change-Id: Ie5ba53ba0a77112231f8e056cbf93aba236ec6f0
(cherry picked from commit b8e8322e718125cdacfac70e9605d8f9b563e6ee)
edia/MediaControlIntent.java
edia/MediaSessionStatus.java
3e472786d3d51c19db5661732ecc13ae3b907db2 18-Sep-2013 Jeff Brown <jeffbrown@google.com> Add queue actions, http header and duration metadata.

Bug: 10260186
Change-Id: I1356979f929d25f96133288d4fa1b3711890d04e
(cherry picked from commit bf1bbdfcb39667dfb3a98f5c14c118fab278ede0)
edia/MediaControlIntent.java
edia/MediaItemMetadata.java
edia/MediaItemStatus.java
d6748a7926ebb2450337f9f0ff4d445c980344e5 14-Sep-2013 Jeff Brown <jeffbrown@google.com> Work around volume change jank.

Allow the media route provider a little time to finish propagating
volume changes before updating the UI.

Change-Id: I8364ebd77a93f1daf6b32a37e752ca240209d5d0
pp/MediaRouteControllerDialog.java
19e77645aa6ce65b466d570375b36e2428f170b3 23-Aug-2013 Jeff Brown <jeffbrown@google.com> Support changing volume of system routes.

Bug: 10346194
Change-Id: I0751f6bbc0cfb80ea136c7a4e467041ba2ea16db
(cherry picked from commit f4904a4ec8e9d616cfe2cdbe1bffce95cf8f82cc)
edia/SystemMediaRouteProvider.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)
edia/MediaRouter.java
edia/RemoteControlClientCompat.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)
edia/MediaRouter.java
893d23104fda987db69a57ca7addad0c4ccf03d3 26-Jul-2013 Scott Main <smain@google.com> add summary for media package

Change-Id: Id721cef31ccb5012213e73255f0f7fac407e869a
(cherry picked from commit 6dc4447cafdd0ccd9b86c94a9696a302a5f5559a)
edia/package.html
697ff1cbd5efee431fb10c74b31071cf95341203 17-Jul-2013 Prameet Shah <phshah@google.com> Adding the overridden control view to the layout instead of the control
frame in MediaRouterControllerDialog.

Change-Id: Id22db360b8c840a1c17980cea339ea35b1bb9bb1
pp/MediaRouteControllerDialog.java
eff7719415542ba819054863b0995f07742a7a8a 10-Jul-2013 Jeff Brown <jeffbrown@google.com> Media router API updates.

Added a MediaRouteDialogFactory to make it easier for applications
to customize the dialog fragments such as adding custom views
into the media route controller dialog.

Added an API to disable volume control in the media route
controller dialog.

Added a method that the application can override to change how
routes are filtered in the chooser dialog.

Changed the remote playback protocol to isolate the queuing
feature and @hide it. This required a few semantic changes
to the protocol so that the non-queuing subset is able to
stand on its own and be coherent. Most of these changes are
simple renames and incremental changes of existing concepts
but the documentation had to be substantially updated to keep
it clear.

The protocol changes are roughly as follows.

- QUEUE_ID renamed to SESSION_ID. Sessions are created
implicitly by ACTION_PLAY just like queues but the concept is
somewhat more generic. The session is documented conceptually
as having a queue that can only contain at most one item which
makes it easier to explain certain behaviors. However, we
now deemphasize the concept of the queue in the documentation and
focus more on the session. Since the word "queue" no longer
appears in the API, we could go either way in the future and choose
to expand on or abandon the queue concept just by changing
the documentation.

- ACTION_STOP renamed to ACTION_REMOVE and now @hide. The action
removes one specific item from the queue.

- ACTION_CLEAR_QUEUE renamed to ACTION_STOP. Now documented to
have the side-effect of both clearing and unpausing the queue
like hitting a reset switch on the session. The choice of name
creates good symmetry with ACTION_PLAY in the single item case.

- ACTION_ENQUEUE (@hide) added to represent the previous
queuing behavior so that we can continue to experiment with it.
Support for this action might be optional in the future.

- ACTION_PLAY is documented in a way that makes it equivalent
to ACTION_STOP followed by ACTION_ENQUEUE. This way we enforce
the constraint that the queue can have at most one item in it
while still leaving the door open to exposing more features later.

- ACTION_PAUSE_QUEUE renamed to ACTION_PAUSE. We still refer to
it as conceptually pausing a queue but this now fits in better with
the one at a time nature of ACTION_PLAY.

- ACTION_RESUME_QUEUE renamed to ACTION_RESUME.

- PLAYBACK_STATE_QUEUED renamed to PLAYBACK_STATE_PENDING.

- PLAYBACK_STATE_STOPPED renamed to PLAYBACK_STATE_FINISHED to make
it clear that this state means the media item finished playing
normally.

- PLAYBACK_STATE_CANCELED now only means that the media item was
canceled by the app by way of ACTION_PLAY or ACTION_STOP
(or ACTION_REMOVE) which caused the item to be removed from the
queue before it had a chance to finish normally.

- PLAYBACK_STATE_INVALIDATED added to specifically refer to the
case where another application takes control of the route and
stomps on the session and its media items. The documentation now
consistently uses the word invalidate rather than cancel when
referring to sessions or media items that have been involuntarily
aborted by an external cause.

- @hide HTTP request headers, response headers and status code.

Bug: 9743462
Change-Id: I3bdb4cd8947112ab409983a74fa4bc062465149a
pp/MediaRouteActionProvider.java
pp/MediaRouteButton.java
pp/MediaRouteChooserDialog.java
pp/MediaRouteChooserDialogFragment.java
pp/MediaRouteControllerDialog.java
pp/MediaRouteControllerDialogFragment.java
pp/MediaRouteDialogFactory.java
edia/MediaControlIntent.java
edia/MediaItemStatus.java
ae161a4d000a10dafd844d17145de631933f21f3 02-Jul-2013 Jeff Brown <jeffbrown@google.com> Fix NPE when provider does not supply a route controller.

Bug: 9660419
Change-Id: I55e72c6c6310929d8870d9ee887a97fd50b98456
edia/MediaRouteProviderService.java
7c5516660ad65c3f2a1a63ead6ffd2ae1879dd45 27-Jun-2013 Jeff Brown <jeffbrown@google.com> Fix NPE when control request error message is null.

Bug: 9592982
Change-Id: Ie9609d8788c0a877643498e90c49fbe8328dd0cc
edia/RegisteredMediaRouteProvider.java
fb75232cb13b19004ec1189888b46767db20daf4 22-Jun-2013 Jeff Brown <jeffbrown@google.com> mediarouter: Improve HTTP status reporting.

Add support for reporting HTTP response headers in status
as an extra.
Make the HTTP status code an extra as well.

Bug: 9532200
Change-Id: I8c6340df27f23670d1a61fb71a0aa5cdbd338227
edia/MediaControlIntent.java
edia/MediaItemStatus.java
37da34e71d13376b3542b28d19c7356c622d6747 19-Jun-2013 Jeff Brown <jeffbrown@google.com> mediarouter: Fix indexing error resulting in NPE.

Bug: 9469471
Change-Id: Idf6f4345eecf03f5f64e2b09c0dda88344a7d67f
edia/RegisteredMediaRouteProvider.java
ba811896e3057cb48ad0f017efe1bf0c262430ec 12-Jun-2013 Jeff Brown <jeffbrown@google.com> Redefine content position in milliseconds instead of seconds.

Bug: 9380827
Change-Id: I92a2df6ae2aeb2257625d75c8ba9e0791568bf7e
edia/MediaControlIntent.java
edia/MediaItemStatus.java
de3d4d3c033fc939af83775a443b295a4034444c 08-Jun-2013 Jeff Brown <jeffbrown@google.com> Update media router remote playback protocol.

Introduce concept of queue ids to simplify the queuing story.

Bug: 9380827
Change-Id: Idd67cef36fbf26c01b04558907116bd1ecb91e2a
edia/MediaControlIntent.java
edia/MediaItemStatus.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
edia/MediaRouteDescriptor.java
edia/MediaRouter.java
edia/SystemMediaRouteProvider.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
pp/MediaRouteActionProvider.java
pp/MediaRouteButton.java
edia/MediaRouteProviderDescriptor.java
edia/MediaRouter.java
edia/SystemMediaRouteProvider.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
pp/MediaRouteActionProvider.java
pp/MediaRouteChooserDialog.java
pp/MediaRouteDiscoveryFragment.java
edia/MediaRouteDiscoveryRequest.java
edia/MediaRouteProviderDescriptor.java
edia/MediaRouteProviderService.java
edia/MediaRouteSelector.java
edia/MediaRouter.java
edia/RegisteredMediaRouteProvider.java
edia/RegisteredMediaRouteProviderWatcher.java
edia/SystemMediaRouteProvider.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
edia/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
pp/MediaRouteActionProvider.java
pp/MediaRouteButton.java
pp/MediaRouteChooserDialog.java
pp/MediaRouteControllerDialog.java
pp/MediaRouterThemeHelper.java
edia/MediaControlIntent.java
edia/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
pp/MediaRouteChooserDialog.java
pp/MediaRouteControllerDialog.java
edia/MediaControlIntent.java
edia/MediaItemMetadata.java
edia/MediaItemStatus.java
edia/MediaRouteDescriptor.java
edia/MediaRouteProviderDescriptor.java
edia/MediaRouteProviderService.java
edia/MediaRouter.java
edia/RegisteredMediaRouteProvider.java
edia/SystemMediaRouteProvider.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
pp/MediaRouteChooserDialog.java
pp/MediaRouteControllerDialog.java
pp/MediaRouterThemeHelper.java
edia/MediaRouter.java
d63957d28aaabcec588b8cde12eac16414783aeb 16-May-2013 Jeff Brown <jeffbrown@google.com> Replace route status with route description.

Bug: 8175766
Change-Id: I694e3d78cd6a80ecb277b5d950b52d9401a8736c
pp/MediaRouteChooserDialog.java
edia/MediaRouteDescriptor.java
edia/MediaRouter.java
edia/SystemMediaRouteProvider.java
55b361aea868e53e848bc45af3a55ae43e7871c3 16-May-2013 Jeff Brown <jeffbrown@google.com> Remove route icons from the API and the UI.

Bug: 8175766
Change-Id: Ic376cb99455fff1e48aa7d3243365aa7cb94659b
pp/MediaRouteChooserDialog.java
edia/MediaRouteDescriptor.java
edia/MediaRouter.java
edia/SystemMediaRouteProvider.java
7599feee523c7b7d33576ae5825e43e3d62cbcbe 16-May-2013 Jeff Brown <jeffbrown@google.com> Generalize collection types used in builders.

Small change to make the API easier to use.

Bug: 8175766
Change-Id: I88cb531e801c3e309c4a6e0e70668d6d4560d2bd
edia/MediaRouteDescriptor.java
edia/MediaRouteProviderDescriptor.java
edia/MediaRouteSelector.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
pp/MediaRouteActionProvider.java
pp/MediaRouteButton.java
pp/MediaRouteChooserDialog.java
pp/MediaRouteChooserDialogFragment.java
pp/MediaRouteControllerDialog.java
pp/MediaRouteControllerDialogFragment.java
pp/MediaRouterThemeHelper.java
edia/MediaRouteDescriptor.java
edia/MediaRouteDiscoveryRequest.java
edia/MediaRouteProvider.java
edia/MediaRouteProviderDescriptor.java
edia/MediaRouteProviderService.java
edia/MediaRouteSelector.java
edia/MediaRouter.java
edia/RegisteredMediaRouteProvider.java
edia/SystemMediaRouteProvider.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
edia/MediaItemMetadata.java
edia/MediaRouteProvider.java
edia/MediaRouteProviderService.java
edia/MediaRouter.java
edia/RegisteredMediaRouteProvider.java
f6a2eb6ce9fef191df8368681ed5f825dcd24340 19-Apr-2013 Jeff Brown <jeffbrown@google.com> Tolerate user routes with null names.

By tolerate, I mean don't crash. However these routes will be
considered invalid and discarded by the media router (with a
log message).

Bug: 8175766
Change-Id: Iedbc36beca3e2ded1794247fbd7e6819da233433
edia/SystemMediaRouteProvider.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
edia/MediaControlIntent.java
edia/MediaItemMetadata.java
edia/MediaItemStatus.java
edia/MediaRouter.java
edia/MediaStreamMetadata.java
edia/MediaStreamStatus.java
55eb54486dde6c1eb7857bdfff29f420fb2ecdfb 02-Apr-2013 Jeff Brown <jeffbrown@google.com> Declare metadata and status information.

Bug: 8175766
Change-Id: Ib1d15e03dffdd4c5b9a20c7be278e6fc898d30fa
edia/MediaControlIntent.java
edia/MediaStreamMetadata.java
edia/MediaStreamStatus.java
3b11cd2027d3249ec1d56939d3d3236cbd7ec91a 27-Mar-2013 Jeff Brown <jeffbrown@google.com> Documentation fixes.

Change-Id: I5ea56e726fe8ed4f72626018fc7964fe5a0657a8
edia/MediaRouteProvider.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
edia/MediaControlIntent.java
edia/MediaRouteProvider.java
edia/MediaRouteProviderService.java
edia/MediaRouter.java
edia/MediaStreamStatus.java
edia/RegisteredMediaRouteProvider.java
edia/SystemMediaRouteProvider.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
edia/MediaRouteProviderService.java
edia/MediaRouter.java
edia/RegisteredMediaRouteProvider.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
edia/MediaControlIntent.java
edia/MediaRouteProvider.java
edia/MediaRouteProviderService.java
edia/MediaRouter.java
edia/MediaStreamMetadata.java
edia/RegisteredMediaRouteProvider.java
edia/RegisteredMediaRouteProviderWatcher.java
edia/SystemMediaRouteProvider.java