Skip to content

Commit 0d03c04

Browse files
committed
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
1 parent f9b7f9f commit 0d03c04

File tree

5 files changed

+233
-123
lines changed

5 files changed

+233
-123
lines changed

api/16.txt

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3679,6 +3679,7 @@ package android.app {
36793679
public class MediaRouteActionProvider extends android.view.ActionProvider {
36803680
ctor public MediaRouteActionProvider(android.content.Context);
36813681
method public android.view.View onCreateActionView();
3682+
method public void setExtendedSettingsClickListener(android.view.View.OnClickListener);
36823683
method public void setRouteTypes(int);
36833684
}
36843685

@@ -3687,7 +3688,9 @@ package android.app {
36873688
ctor public MediaRouteButton(android.content.Context, android.util.AttributeSet);
36883689
ctor public MediaRouteButton(android.content.Context, android.util.AttributeSet, int);
36893690
method public int getRouteTypes();
3691+
method public void setExtendedSettingsClickListener(android.view.View.OnClickListener);
36903692
method public void setRouteTypes(int);
3693+
method public void showDialog();
36913694
}
36923695

36933696
public class NativeActivity extends android.app.Activity implements android.view.InputQueue.Callback android.view.SurfaceHolder.Callback2 android.view.ViewTreeObserver.OnGlobalLayoutListener {
@@ -11511,6 +11514,7 @@ package android.media {
1151111514
method public void addUserRoute(android.media.MediaRouter.UserRouteInfo);
1151211515
method public void clearUserRoutes();
1151311516
method public android.media.MediaRouter.RouteCategory createRouteCategory(java.lang.CharSequence, boolean);
11517+
method public android.media.MediaRouter.RouteCategory createRouteCategory(int, boolean);
1151411518
method public android.media.MediaRouter.UserRouteInfo createUserRoute(android.media.MediaRouter.RouteCategory);
1151511519
method public android.media.MediaRouter.RouteCategory getCategoryAt(int);
1151611520
method public int getCategoryCount();
@@ -11524,7 +11528,8 @@ package android.media {
1152411528
field public static final int ROUTE_TYPE_USER = 8388608; // 0x800000
1152511529
}
1152611530

11527-
public static abstract interface MediaRouter.Callback {
11531+
public static abstract class MediaRouter.Callback {
11532+
ctor public MediaRouter.Callback();
1152811533
method public abstract void onRouteAdded(android.media.MediaRouter, android.media.MediaRouter.RouteInfo);
1152911534
method public abstract void onRouteChanged(android.media.MediaRouter, android.media.MediaRouter.RouteInfo);
1153011535
method public abstract void onRouteGrouped(android.media.MediaRouter, android.media.MediaRouter.RouteInfo, android.media.MediaRouter.RouteGroup, int);
@@ -11536,6 +11541,7 @@ package android.media {
1153611541

1153711542
public static class MediaRouter.RouteCategory {
1153811543
method public java.lang.CharSequence getName();
11544+
method public java.lang.CharSequence getName(android.content.Context);
1153911545
method public java.util.List<android.media.MediaRouter.RouteInfo> getRoutes(java.util.List<android.media.MediaRouter.RouteInfo>);
1154011546
method public int getSupportedTypes();
1154111547
method public boolean isGroupable();
@@ -11548,17 +11554,21 @@ package android.media {
1154811554
method public int getRouteCount();
1154911555
method public void removeRoute(android.media.MediaRouter.RouteInfo);
1155011556
method public void removeRoute(int);
11557+
method public void setIconDrawable(android.graphics.drawable.Drawable);
11558+
method public void setIconResource(int);
1155111559
}
1155211560

1155311561
public static class MediaRouter.RouteInfo {
1155411562
method public android.media.MediaRouter.RouteCategory getCategory();
1155511563
method public android.media.MediaRouter.RouteGroup getGroup();
11564+
method public android.graphics.drawable.Drawable getIconDrawable();
1155611565
method public java.lang.CharSequence getName();
11566+
method public java.lang.CharSequence getName(android.content.Context);
1155711567
method public java.lang.CharSequence getStatus();
1155811568
method public int getSupportedTypes();
1155911569
}
1156011570

11561-
public static class MediaRouter.SimpleCallback implements android.media.MediaRouter.Callback {
11571+
public static class MediaRouter.SimpleCallback extends android.media.MediaRouter.Callback {
1156211572
ctor public MediaRouter.SimpleCallback();
1156311573
method public void onRouteAdded(android.media.MediaRouter, android.media.MediaRouter.RouteInfo);
1156411574
method public void onRouteChanged(android.media.MediaRouter, android.media.MediaRouter.RouteInfo);
@@ -11570,8 +11580,14 @@ package android.media {
1157011580
}
1157111581

1157211582
public static class MediaRouter.UserRouteInfo extends android.media.MediaRouter.RouteInfo {
11583+
method public java.lang.Object getTag();
11584+
method public void setIconDrawable(android.graphics.drawable.Drawable);
11585+
method public void setIconResource(int);
1157311586
method public void setName(java.lang.CharSequence);
11587+
method public void setName(int);
11588+
method public void setRemoteControlClient(android.media.RemoteControlClient);
1157411589
method public void setStatus(java.lang.CharSequence);
11590+
method public void setTag(java.lang.Object);
1157511591
}
1157611592

1157711593
public class MediaScannerConnection implements android.content.ServiceConnection {

api/current.txt

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11514,6 +11514,7 @@ package android.media {
1151411514
method public void addUserRoute(android.media.MediaRouter.UserRouteInfo);
1151511515
method public void clearUserRoutes();
1151611516
method public android.media.MediaRouter.RouteCategory createRouteCategory(java.lang.CharSequence, boolean);
11517+
method public android.media.MediaRouter.RouteCategory createRouteCategory(int, boolean);
1151711518
method public android.media.MediaRouter.UserRouteInfo createUserRoute(android.media.MediaRouter.RouteCategory);
1151811519
method public android.media.MediaRouter.RouteCategory getCategoryAt(int);
1151911520
method public int getCategoryCount();
@@ -11527,7 +11528,8 @@ package android.media {
1152711528
field public static final int ROUTE_TYPE_USER = 8388608; // 0x800000
1152811529
}
1152911530

11530-
public static abstract interface MediaRouter.Callback {
11531+
public static abstract class MediaRouter.Callback {
11532+
ctor public MediaRouter.Callback();
1153111533
method public abstract void onRouteAdded(android.media.MediaRouter, android.media.MediaRouter.RouteInfo);
1153211534
method public abstract void onRouteChanged(android.media.MediaRouter, android.media.MediaRouter.RouteInfo);
1153311535
method public abstract void onRouteGrouped(android.media.MediaRouter, android.media.MediaRouter.RouteInfo, android.media.MediaRouter.RouteGroup, int);
@@ -11539,6 +11541,7 @@ package android.media {
1153911541

1154011542
public static class MediaRouter.RouteCategory {
1154111543
method public java.lang.CharSequence getName();
11544+
method public java.lang.CharSequence getName(android.content.Context);
1154211545
method public java.util.List<android.media.MediaRouter.RouteInfo> getRoutes(java.util.List<android.media.MediaRouter.RouteInfo>);
1154311546
method public int getSupportedTypes();
1154411547
method public boolean isGroupable();
@@ -11560,11 +11563,12 @@ package android.media {
1156011563
method public android.media.MediaRouter.RouteGroup getGroup();
1156111564
method public android.graphics.drawable.Drawable getIconDrawable();
1156211565
method public java.lang.CharSequence getName();
11566+
method public java.lang.CharSequence getName(android.content.Context);
1156311567
method public java.lang.CharSequence getStatus();
1156411568
method public int getSupportedTypes();
1156511569
}
1156611570

11567-
public static class MediaRouter.SimpleCallback implements android.media.MediaRouter.Callback {
11571+
public static class MediaRouter.SimpleCallback extends android.media.MediaRouter.Callback {
1156811572
ctor public MediaRouter.SimpleCallback();
1156911573
method public void onRouteAdded(android.media.MediaRouter, android.media.MediaRouter.RouteInfo);
1157011574
method public void onRouteChanged(android.media.MediaRouter, android.media.MediaRouter.RouteInfo);
@@ -11580,6 +11584,7 @@ package android.media {
1158011584
method public void setIconDrawable(android.graphics.drawable.Drawable);
1158111585
method public void setIconResource(int);
1158211586
method public void setName(java.lang.CharSequence);
11587+
method public void setName(int);
1158311588
method public void setRemoteControlClient(android.media.RemoteControlClient);
1158411589
method public void setStatus(java.lang.CharSequence);
1158511590
method public void setTag(java.lang.Object);

core/java/android/app/MediaRouteButton.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ public boolean performClick() {
103103

104104
if (mToggleMode) {
105105
if (mRemoteActive) {
106-
mRouter.selectRoute(mRouteTypes, mRouter.getSystemAudioRoute());
106+
mRouter.selectRouteInt(mRouteTypes, mRouter.getSystemAudioRoute());
107107
} else {
108108
final int N = mRouter.getRouteCount();
109109
for (int i = 0; i < N; i++) {

0 commit comments

Comments
 (0)