diff options
author | Adam Powell <adamp@google.com> | 2012-06-12 11:25:54 -0700 |
---|---|---|
committer | Adam Powell <adamp@google.com> | 2012-06-12 11:26:39 -0700 |
commit | b35c445f34e1a18e17aef3e3dfbc1c39b4d1815c (patch) | |
tree | 1c7e896753889ee1abec57fcb2d9cb133fb16e2c /core/java/android/app | |
parent | f958732bd3924205d9f8bda94f4f6e3bb4045b28 (diff) | |
download | frameworks_base-b35c445f34e1a18e17aef3e3dfbc1c39b4d1815c.zip frameworks_base-b35c445f34e1a18e17aef3e3dfbc1c39b4d1815c.tar.gz frameworks_base-b35c445f34e1a18e17aef3e3dfbc1c39b4d1815c.tar.bz2 |
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
Diffstat (limited to 'core/java/android/app')
-rw-r--r-- | core/java/android/app/MediaRouteActionProvider.java | 11 | ||||
-rw-r--r-- | core/java/android/app/MediaRouteButton.java | 7 |
2 files changed, 17 insertions, 1 deletions
diff --git a/core/java/android/app/MediaRouteActionProvider.java b/core/java/android/app/MediaRouteActionProvider.java index 7764ac6..5fe08ec 100644 --- a/core/java/android/app/MediaRouteActionProvider.java +++ b/core/java/android/app/MediaRouteActionProvider.java @@ -33,11 +33,12 @@ public class MediaRouteActionProvider extends ActionProvider { private MediaRouteButton mView; private int mRouteTypes; private final RouterCallback mRouterCallback = new RouterCallback(); + private View.OnClickListener mExtendedSettingsListener; public MediaRouteActionProvider(Context context) { super(context); mContext = context; - mRouter = (MediaRouter)context.getSystemService(Context.MEDIA_ROUTER_SERVICE); + mRouter = (MediaRouter) context.getSystemService(Context.MEDIA_ROUTER_SERVICE); // Start with live audio by default. // TODO Update this when new route types are added; segment by API level @@ -76,6 +77,7 @@ public class MediaRouteActionProvider extends ActionProvider { mView = new MediaRouteButton(mContext); mMenuItem.setVisible(mRouter.getRouteCount() > 1); mView.setRouteTypes(mRouteTypes); + mView.setExtendedSettingsClickListener(mExtendedSettingsListener); return mView; } @@ -85,6 +87,13 @@ public class MediaRouteActionProvider extends ActionProvider { return true; } + public void setExtendedSettingsClickListener(View.OnClickListener listener) { + mExtendedSettingsListener = listener; + if (mView != null) { + mView.setExtendedSettingsClickListener(listener); + } + } + private class RouterCallback extends MediaRouter.SimpleCallback { @Override public void onRouteAdded(MediaRouter router, RouteInfo info) { diff --git a/core/java/android/app/MediaRouteButton.java b/core/java/android/app/MediaRouteButton.java index 8f9379a..385241c 100644 --- a/core/java/android/app/MediaRouteButton.java +++ b/core/java/android/app/MediaRouteButton.java @@ -43,6 +43,8 @@ public class MediaRouteButton extends View { private int mMinWidth; private int mMinHeight; + private OnClickListener mExtendedSettingsClickListener; + private static final int[] ACTIVATED_STATE_SET = { R.attr.state_activated }; @@ -260,6 +262,11 @@ public class MediaRouteButton extends View { mRemoteIndicator.draw(canvas); } + public void setExtendedSettingsClickListener(OnClickListener listener) { + // TODO: if dialog is already open, propagate so that it updates live. + mExtendedSettingsClickListener = listener; + } + private class MediaRouteCallback extends MediaRouter.SimpleCallback { @Override public void onRouteSelected(MediaRouter router, int type, RouteInfo info) { |