History log of /frameworks/base/media/java/android/media/MediaRouter.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
92130f6407dc51c58b3b941d28a6daf4e04b8d62 25-Oct-2012 Jeff Brown <jeffbrown@google.com> Add MediaRouter API to get presentation display.

This new API makes it possible for an application to ask on
which Display it should show a Presentation based on the currently
selected media route.

Also added a new API on DisplayManager to query displays that
support a certain category of uses.

Improved the documentation of the Presentation class to explain
how to choose an appropriate Display for presentation.

Bug: 7409073
Change-Id: Iab451215e570ae55f3718fc228303143c800fe51
/frameworks/base/media/java/android/media/MediaRouter.java
2bb7c122ef6ce8539dfbaeb3292adcd942185f82 24-Oct-2012 Bryan Mawhinney <bryanmawhinney@google.com> Add text representation of ROUTE_TYPE_LIVE_VIDEO (for debugging)

Change-Id: Id8fa45aefde85e2ba2b57694b91485ef25e2e5f2
/frameworks/base/media/java/android/media/MediaRouter.java
2444ae7e2b8658a4a90f996e678423558744b4a2 11-Oct-2012 Jeff Brown <jeffbrown@google.com> Ensure MediaRouter correctly handles renamed Wifi displays.

Fix a couple of bugs that cause MediaRouter to disconnect from
the current Wifi display whenever it is renamed.

Added an extra check in WifiDisplayAdapter for identity renames.
The Settings app already handles this case but it's good to have
the service check for it as well so we don't store unnecessary
aliases.

Bug: 7310777
Change-Id: I8fddd32ca59f9b798ee31b467b81457508c345f8
/frameworks/base/media/java/android/media/MediaRouter.java
3f369684e13dfea0ba8ea134f3e95930b0dd7df0 11-Oct-2012 Adam Powell <adamp@google.com> Fix MediaRouter prioritization around a2dp devices

Most recently connected audio output gets priority. Wifi display will
dominate over everything.

Bug 7324334

Change-Id: I29b59570a2e9b5352be436dc5b7a0a6861dfae6b
/frameworks/base/media/java/android/media/MediaRouter.java
b072a9686c29bfbc05b732076a4e89bcca8db08a 09-Oct-2012 Adam Powell <adamp@google.com> Don't do a wifi p2p scan in MediaRouter if we're already connected

When we're connected to a wifi display already, some configurations
might hiccup or otherwise disrupt the media stream if we initiate a
new scan. Block the MediaRouter's default scanning behavior if we
start up while already connected to a wifi display. (A scan will still
occur if the user opens the picker dialog.)

Change-Id: I413efa883eec41fe0377da18bcb55bc72e2ac729
/frameworks/base/media/java/android/media/MediaRouter.java
11b999d0aaca72a33526795b6849b473cc3dd569 05-Oct-2012 Adam Powell <adamp@google.com> MediaRouter/Wireless Display - correct initial state

Make sure we get the right initial status for wifi displays when a new
display route is first added to the MediaRouter.

Bug 7289746

Change-Id: Id41f704fc88021bd4cdf21e9f4b3c810775e1aea
/frameworks/base/media/java/android/media/MediaRouter.java
2ee6a2a83262d05a566bd713d238e89edfd33a29 01-Oct-2012 Adam Powell <adamp@google.com> MediaRouter/Wifi Display improvements

* Don't select the default route on initialization in a process

* Add "connecting" state to MediaRouteButton

Bug 7258981
Bug 7262522

Change-Id: I5cd39b09843783b7e1e17620ca33193f0f3b8fca
/frameworks/base/media/java/android/media/MediaRouter.java
4131a37366d59b5e61f55c4e48d2b22ee0c4cad4 28-Sep-2012 Adam Powell <adamp@google.com> String change for video routing via MediaRouter; "HDMI" not "HDMI audio."

Change-Id: Ifece0cf0bc11ff2ffab254c6177f9db741037df6
/frameworks/base/media/java/android/media/MediaRouter.java
705ab808cf023e0cc38c2ba7cdb9571942cdc04f 17-Sep-2012 Adam Powell <adamp@google.com> Add wireless display selection support to MediaRouter.

* Adds the new route type LIVE_VIDEO

* Wireless displays support both LIVE_VIDEO and LIVE_AUDIO, making
wireless display routes valid selections in when apps make selecting
live audio routes available.

* MediaRouter will only report/manipulate wireless displays that have
already been paired at the system level.

Bug 7177920

Change-Id: Ic221b8687d77b4c0df9801c396b74870e86206e9
/frameworks/base/media/java/android/media/MediaRouter.java
bcf21e913af7252fb1994e07b6cf179321ecd049 12-Jul-2012 Adam Powell <adamp@google.com> Properly switch MediaRouter to wired audio over a2dp.

The system gives priority to physically connected
headphones/speakers/docks/etc. Reflect this in MediaRouter and
associated UI.

Bug 6777592

Change-Id: Ibabf3d7512207117e892c99f004443490c3d0612
/frameworks/base/media/java/android/media/MediaRouter.java
dbbfa702a09f6d2d36dee1b552442d04a4673f89 24-Jun-2012 Adam Powell <adamp@google.com> Fix MediaRouter bugs

Fix a bug where a newly added group had no supported types at the time
of callback dispatch, meaning that no registered callbacks would be
invoked.

Fix a bug where subscribed type flags were not updated properly when
re-adding a callback for new types.

Change-Id: I7d9f11b363ebdca692786cec1d432600946e5721
/frameworks/base/media/java/android/media/MediaRouter.java
f3b653a21cdffe04c94c275e69ecb56e00766e82 23-Jun-2012 Adam Powell <adamp@google.com> Update route count properly when MediaRouteButton detects
grouped/ungrouped events

Change-Id: I1b00678cc3b548f347c51c3fcbfce18ecc8fbabe
/frameworks/base/media/java/android/media/MediaRouter.java
f8ac14a7f5a59b4ec8e89283a2da40b626e42065 21-Jun-2012 Adam Powell <adamp@google.com> MediaRouter group volume reporting

RouteGroups always report back the loudest volume of their component
routes. Maintain this through volume update requests (such as those
reported by volume hard keys) such that each route updates
individually, but the group slider always indicates the loudest value.

Change-Id: I5de4b9048bf55682b6271e9485fe50496a1c97c2
/frameworks/base/media/java/android/media/MediaRouter.java
8e37a85bf3dc39519942698dc90a3951306b934b 21-Jun-2012 Adam Powell <adamp@google.com> Expand volume APIs for MediaRouter

Allow applications to set a requested volume level on RouteInfo
objects. If requested for a user route, the app-supplied callback will
be invoked to perform actual volume adjustment.

Change-Id: I856990a0da7292492aa15e6562dbc3d055b848a0
/frameworks/base/media/java/android/media/MediaRouter.java
2cd5d253786b115470adc04a3609358f5eb7eb0a 20-Jun-2012 Jean-Michel Trivi <jmtrivi@google.com> Unhide new API in android.media.MediaRouter for remote playback

Expose new functionality for handling remote volume in:
android.media.MediaRouter.RouteInfo
android.media.MediaRouter.UserRouteInfo
android.media.MediaRouter.VolumeCallback

Change-Id: I8fd9c92be606364599e65939f318e11c2860bab9
/frameworks/base/media/java/android/media/MediaRouter.java
1357012968f9066ea3051d83995e9bac69526c3c 19-Jun-2012 Jean-Michel Trivi <jmtrivi@google.com> Remote volume handling in MediaRouter

Extend MediaRouter.UserRouteInfo to enable setting playback
information, which includes volume. When the user route instance
has a RemoteControlClient, forward any playback information to it.
Enable specifying a callback to be notified of volume events
on the route.
Extend MediaRouter.RouteInfo to enable retrieving playback
information.

Update RemoteControlClient javadoc to reflect which parts of the
API are not intended to be made public.

Change-Id: I59d728eb61747af6c8c89d53f0faeb07940594c3
/frameworks/base/media/java/android/media/MediaRouter.java
dd0a19266d5c837069da1ea188744d54c8d723a8 19-Jun-2012 Adam Powell <adamp@google.com> MediaRouter bluetooth a2dp selection

Remove bluetooth permission check from internal AudioService method
setBluetoothA2dpOn

Manage BT A2DP state in MediaRouter. A2DP is only enabled or disabled
when either the system built-in audio route or the A2DP audio route is
selected; when selecting any other route the current state is left
alone.

Change-Id: Ib14274e206e79bd8762edca1205ecfa87b7a94cf
/frameworks/base/media/java/android/media/MediaRouter.java
4ee1f55ce0f4909a7430ab44563a81852f335071 18-Jun-2012 Adam Powell <adamp@google.com> Restrict MediaRouter selection

Actually restrict the programmatic selection of routes by
type. (Oops.)

Change-Id: I91e837f7ecbcddb626c664fb470e8296d563498d
/frameworks/base/media/java/android/media/MediaRouter.java
4599696591f745b3a546197d2ba7e5cfc5562484 16-Jun-2012 Adam Powell <adamp@google.com> Volume control in MediaRouter dialogs

MediaRouter dialogs now intercept the volume keys for altering the
current volume. The status icon indicates if the slider/buttons are
currently controlling the local device volume or a remote device's
volume.

Group volume for user routes is handled by using the
RemoteControlClient supplied by the first route in the group.

Change-Id: I40a0d054847ed5acce7a4c3b669487841b4dca15
/frameworks/base/media/java/android/media/MediaRouter.java
39d5c6172503620ac3761148adac5fd7fa20d02d 16-Jun-2012 Adam Powell <adamp@google.com> Make MediaRouter UI more robust around route count changes

Improve the API around ActionProvider visibility overriding. Allow the
application to notify whatever is hosting the ActionProvider that
visibility has changed in a way that is friendly to alternate support
library-style reimplementations of MenuItem.

Allow MediaRouter.Callback implementations to add or remove themselves
or other Callbacks during dispatch of callback events.

Make MediaRouteActionProvider track the visibility of corresponding
menu items more accurately.

Change-Id: Ic7ddb6a87c3637904750d2661e4a9fa323b09ea0
/frameworks/base/media/java/android/media/MediaRouter.java
130b4572d1f3df702e5b296a655d15a41f6d4c66 16-Jun-2012 Adam Powell <adamp@google.com> ActionProvider API update

* Add ActionProvider#overridesItemVisibility and isVisible.
These methods allow an ActionProvider to override the
visibility of a MenuItem that it is bound to. If a MenuItem
has been explicitly hidden by the application, it will not
be visible.

* Change MediaRouteActionProvider to not require a MediaRouter
callback, to avoid extra lifecycle management headaches.

Change-Id: I606fa98b3a6a3e60a953dd024274f9bf9c67acdd
/frameworks/base/media/java/android/media/MediaRouter.java
632ca417f0a33e3fa9ccece531afa2db3f0d4a30 15-Jun-2012 Dianne Hackborn <hackbod@google.com> Add new callback for MediaRouter to found out about device changes.

The AudioService now has an API to call to get the currently
connected devices, and later reports of changes in connection
state. The information includes the name of the bluetooth
device if one is connected for display to the user, and states
for all of the pluggable devices. No longer requires a Bluetooth
permission to keep the routes updated.

Change-Id: I81ca421c60592fbc1592477d59bf1c9d1b64954a
/frameworks/base/media/java/android/media/MediaRouter.java
b5e2af5919351486a385effe77409d2a91ae9c19 15-Jun-2012 Adam Powell <adamp@google.com> Update MediaRouteChooserDialog grouping UI

Move UserRouteInfo tag support to RouteInfo

Change-Id: Ia753924f8613462d5f74736be93a8d748689eef1
/frameworks/base/media/java/android/media/MediaRouter.java
0d03c042f90bf62d5bad7c64e77028a5f9f8fae0 15-Jun-2012 Adam Powell <adamp@google.com> API updates for MediaRouter

* Accept a Context when fetching the names of routes and
categories. This lets string resources resolve at time of access
with the correct configuration. The older versions remain available
that will use the static resources from the application. (There are
enough cases where applications will populate this from external
data that requiring it each time even when it was not initialized
from a resource doesn't seem reasonable.)

* Remove the ability for apps to programmatically select non-user
routes.

* Make MediaRouter.Callback an abstract class instead of an interface.
This will make further extensions easier to keep compatible in the
future.

Change-Id: If981c511dfbdfaf41ef0d1cfe4a377fc14bb5600
/frameworks/base/media/java/android/media/MediaRouter.java
d6d0bddee363e0c7fe61f63bd9d9864a71d887d6 14-Jun-2012 Adam Powell <adamp@google.com> Support route grouping in the MediaRouter dialog UI.

Change-Id: Idcae12cedfb7ca13950e7fa45441fba2029a9f68
/frameworks/base/media/java/android/media/MediaRouter.java
70e11e50eecfc8f1dfb76316d099e4331ebd28f7 13-Jun-2012 Adam Powell <adamp@google.com> MediaRouter dialog

Add the dialog behavior for MediaRouteActionProvider/MediaRouteButton.

Still TODO:

* Switch audio icon based on source; speaker/bt/user

* Rig up volume slider

* Rig up item icons

* Rig up group button for groupable categories

* Make grouping work

Change-Id: I3f992516b184d5ae940ddb7bbb7f94ff58914589
/frameworks/base/media/java/android/media/MediaRouter.java
b35c445f34e1a18e17aef3e3dfbc1c39b4d1815c 12-Jun-2012 Adam Powell <adamp@google.com> MediaRouter work

Fix a bug where MediaRouter would crash on creation

Add click listener for app-supplied extended settings on the route
selection dialog.

Change-Id: I2991db1720b5c574148e250526984592f4dc3c44
/frameworks/base/media/java/android/media/MediaRouter.java
71c69897ad0a55d590698bfa399bfe99c763b9db 12-Jun-2012 Adam Powell <adamp@google.com> Fix docs

Change-Id: If0215c02abf419d14f28574b751c9dfc2f27bcbe
/frameworks/base/media/java/android/media/MediaRouter.java
ae20ae1a8aaa013813c356ae1d9541ca7ff020ae 12-Jun-2012 Adam Powell <adamp@google.com> More MediaRouter features.

Add RemoteControlClient to user routes. This will allow the UI layered
on top to access info about the remote volume channel associated with
a user route.

Add icons for user routes and route groups.

Change-Id: I438aa60fc8c93f878ec7638897225738155f0746
/frameworks/base/media/java/android/media/MediaRouter.java
b58b8f832d06b0ffa8886eba5a4916578a3b8743 12-Jun-2012 Dianne Hackborn <hackbod@google.com> Rework media router to be per-context with global process state.

Change-Id: Ic1cb6f13e691d22783bcdafae85b7c75aec0a66f
/frameworks/base/media/java/android/media/MediaRouter.java
d0d2cda9d414da73773285d7fee9e13aef3495e9 08-Jun-2012 Adam Powell <adamp@google.com> Further work on MediaRouter

Remove volume control and tracking. This will be handled by extensions
to existing audio and media APIs for now.

Tweak/refine other aspects of the API. Pass the router to callbacks for
easier future-proofing. Add group/ungroup callback methods.

Change-Id: Ib69e76e5f46280a9002b545bcf4cbc7b839844ee
/frameworks/base/media/java/android/media/MediaRouter.java
690ffb4e1f735148a15f2036d9a3c1962fba188c 05-Jun-2012 Adam Powell <adamp@google.com> More fun with MediaRouter

Add action provider, button, and styles. Extend ActionProvider to
allow for getting references to MenuItem instances.

Implement toggle mode for the MediaRouteButton/ActionProvider. Dialog
selection yet to come.

Change-Id: Ibe3188570f503bbf8dd00cf154663435656a7171
/frameworks/base/media/java/android/media/MediaRouter.java
9a1de308cea2d160778fd977825f10a07b49d738 22-May-2012 Adam Powell <adamp@google.com> Add MediaRouter API.

This is just the initial state tracking. Still to go is
actually triggering Bluetooth A2DP correctly and tracking
process state in the system server.

Change-Id: I33031d52799d6e2d7208910da833831085cc3677
/frameworks/base/media/java/android/media/MediaRouter.java