Loading api/current.txt +2 −0 Original line number Diff line number Diff line Loading @@ -11750,6 +11750,7 @@ package android.media { method public void removeUserRoute(android.media.MediaRouter.UserRouteInfo); method public void selectRoute(int, android.media.MediaRouter.RouteInfo); field public static final int ROUTE_TYPE_LIVE_AUDIO = 1; // 0x1 field public static final int ROUTE_TYPE_LIVE_VIDEO = 2; // 0x2 field public static final int ROUTE_TYPE_USER = 8388608; // 0x800000 } Loading Loading @@ -11798,6 +11799,7 @@ package android.media { method public int getVolume(); method public int getVolumeHandling(); method public int getVolumeMax(); method public boolean isEnabled(); method public void requestSetVolume(int); method public void requestUpdateVolume(int); method public void setTag(java.lang.Object); core/java/android/app/MediaRouteButton.java +10 −3 Original line number Diff line number Diff line Loading @@ -221,21 +221,28 @@ public class MediaRouteButton extends View { void updateRouteCount() { final int N = mRouter.getRouteCount(); int count = 0; boolean hasVideoRoutes = false; for (int i = 0; i < N; i++) { final RouteInfo route = mRouter.getRouteAt(i); if ((route.getSupportedTypes() & mRouteTypes) != 0) { final int routeTypes = route.getSupportedTypes(); if ((routeTypes & mRouteTypes) != 0) { if (route instanceof RouteGroup) { count += ((RouteGroup) route).getRouteCount(); } else { count++; } if ((routeTypes & MediaRouter.ROUTE_TYPE_LIVE_VIDEO) != 0) { hasVideoRoutes = true; } } } setEnabled(count != 0); // Only allow toggling if we have more than just user routes mToggleMode = count == 2 && (mRouteTypes & MediaRouter.ROUTE_TYPE_LIVE_AUDIO) != 0; // Only allow toggling if we have more than just user routes. // Don't toggle if we support video routes, we may have to let the dialog scan. mToggleMode = count == 2 && (mRouteTypes & MediaRouter.ROUTE_TYPE_LIVE_AUDIO) != 0 && !hasVideoRoutes; } @Override Loading core/java/com/android/internal/app/MediaRouteChooserDialogFragment.java +20 −2 Original line number Diff line number Diff line Loading @@ -25,7 +25,7 @@ import android.app.MediaRouteActionProvider; import android.app.MediaRouteButton; import android.content.Context; import android.graphics.drawable.Drawable; import android.media.AudioManager; import android.hardware.display.DisplayManager; import android.media.MediaRouter; import android.media.MediaRouter.RouteCategory; import android.media.MediaRouter.RouteGroup; Loading Loading @@ -70,6 +70,7 @@ public class MediaRouteChooserDialogFragment extends DialogFragment { }; MediaRouter mRouter; DisplayManager mDisplayService; private int mRouteTypes; private LayoutInflater mInflater; Loading Loading @@ -97,6 +98,7 @@ public class MediaRouteChooserDialogFragment extends DialogFragment { public void onAttach(Activity activity) { super.onAttach(activity); mRouter = (MediaRouter) activity.getSystemService(Context.MEDIA_ROUTER_SERVICE); mDisplayService = (DisplayManager) activity.getSystemService(Context.DISPLAY_SERVICE); } @Override Loading @@ -119,6 +121,15 @@ public class MediaRouteChooserDialogFragment extends DialogFragment { public void setRouteTypes(int types) { mRouteTypes = types; if ((mRouteTypes & MediaRouter.ROUTE_TYPE_LIVE_VIDEO) != 0 && mDisplayService == null) { final Context activity = getActivity(); if (activity != null) { mDisplayService = (DisplayManager) activity.getSystemService( Context.DISPLAY_SERVICE); } } else { mDisplayService = null; } } void updateVolume() { Loading Loading @@ -194,6 +205,9 @@ public class MediaRouteChooserDialogFragment extends DialogFragment { @Override public void onResume() { super.onResume(); if (mDisplayService != null) { mDisplayService.scanWifiDisplays(); } } private static class ViewHolder { Loading Loading @@ -253,7 +267,9 @@ public class MediaRouteChooserDialogFragment extends DialogFragment { final RouteCategory cat = mRouter.getCategoryAt(i); routes = cat.getRoutes(mCatRouteList); if (!cat.isSystem()) { mItems.add(cat); } if (cat == mCategoryEditingGroups) { addGroupEditingCategoryRoutes(routes); Loading Loading @@ -370,6 +386,7 @@ public class MediaRouteChooserDialogFragment extends DialogFragment { public boolean isEnabled(int position) { switch (getItemViewType(position)) { case VIEW_ROUTE: return ((RouteInfo) mItems.get(position)).isEnabled(); case VIEW_GROUPING_ROUTE: case VIEW_GROUPING_DONE: return true; Loading Loading @@ -434,6 +451,7 @@ public class MediaRouteChooserDialogFragment extends DialogFragment { } convertView.setActivated(position == mSelectedItemPosition); convertView.setEnabled(isEnabled(position)); return convertView; } Loading core/res/res/layout/media_route_list_item.xml +10 −5 Original line number Diff line number Diff line Loading @@ -24,7 +24,8 @@ android:layout_height="56dp" android:scaleType="center" android:id="@+id/icon" android:visibility="gone" /> android:visibility="gone" android:duplicateParentState="true" /> <LinearLayout android:layout_width="0dp" android:layout_height="match_parent" Loading @@ -32,21 +33,24 @@ android:orientation="vertical" android:gravity="start|center_vertical" android:paddingStart="?android:attr/listPreferredItemPaddingStart" android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"> android:paddingEnd="?android:attr/listPreferredItemPaddingEnd" android:duplicateParentState="true"> <TextView android:id="@android:id/text1" android:layout_width="match_parent" android:layout_height="wrap_content" android:singleLine="true" android:ellipsize="marquee" android:textAppearance="?android:attr/textAppearanceMedium" /> android:textAppearance="?android:attr/textAppearanceMedium" android:duplicateParentState="true" /> <TextView android:id="@android:id/text2" android:layout_width="match_parent" android:layout_height="wrap_content" android:singleLine="true" android:ellipsize="marquee" android:textAppearance="?android:attr/textAppearanceSmall" /> android:textAppearance="?android:attr/textAppearanceSmall" android:duplicateParentState="true" /> </LinearLayout> <ImageButton Loading @@ -56,6 +60,7 @@ android:background="?android:attr/selectableItemBackground" android:src="@drawable/ic_media_group_expand" android:scaleType="center" android:visibility="gone" /> android:visibility="gone" android:duplicateParentState="true" /> </LinearLayout> core/res/res/values/strings.xml +12 −0 Original line number Diff line number Diff line Loading @@ -3783,6 +3783,18 @@ <!-- Content description of a MediaRouteButton for accessibility support --> <string name="media_route_button_content_description">Media output</string> <!-- Status message for remote routes attempting to scan/determine availability --> <string name="media_route_status_scanning">Scanning...</string> <!-- Status message for a remote route attempting to connect --> <string name="media_route_status_connecting">Connecting...</string> <!-- Status message for a remote route that is confirmed to be available for connection --> <string name="media_route_status_available">Available</string> <!-- Status message for remote routes that are not available for connection right now --> <string name="media_route_status_not_available">Not available</string> <!-- Display manager service --> <!-- Name of the built-in display. [CHAR LIMIT=50] --> Loading Loading
api/current.txt +2 −0 Original line number Diff line number Diff line Loading @@ -11750,6 +11750,7 @@ package android.media { method public void removeUserRoute(android.media.MediaRouter.UserRouteInfo); method public void selectRoute(int, android.media.MediaRouter.RouteInfo); field public static final int ROUTE_TYPE_LIVE_AUDIO = 1; // 0x1 field public static final int ROUTE_TYPE_LIVE_VIDEO = 2; // 0x2 field public static final int ROUTE_TYPE_USER = 8388608; // 0x800000 } Loading Loading @@ -11798,6 +11799,7 @@ package android.media { method public int getVolume(); method public int getVolumeHandling(); method public int getVolumeMax(); method public boolean isEnabled(); method public void requestSetVolume(int); method public void requestUpdateVolume(int); method public void setTag(java.lang.Object);
core/java/android/app/MediaRouteButton.java +10 −3 Original line number Diff line number Diff line Loading @@ -221,21 +221,28 @@ public class MediaRouteButton extends View { void updateRouteCount() { final int N = mRouter.getRouteCount(); int count = 0; boolean hasVideoRoutes = false; for (int i = 0; i < N; i++) { final RouteInfo route = mRouter.getRouteAt(i); if ((route.getSupportedTypes() & mRouteTypes) != 0) { final int routeTypes = route.getSupportedTypes(); if ((routeTypes & mRouteTypes) != 0) { if (route instanceof RouteGroup) { count += ((RouteGroup) route).getRouteCount(); } else { count++; } if ((routeTypes & MediaRouter.ROUTE_TYPE_LIVE_VIDEO) != 0) { hasVideoRoutes = true; } } } setEnabled(count != 0); // Only allow toggling if we have more than just user routes mToggleMode = count == 2 && (mRouteTypes & MediaRouter.ROUTE_TYPE_LIVE_AUDIO) != 0; // Only allow toggling if we have more than just user routes. // Don't toggle if we support video routes, we may have to let the dialog scan. mToggleMode = count == 2 && (mRouteTypes & MediaRouter.ROUTE_TYPE_LIVE_AUDIO) != 0 && !hasVideoRoutes; } @Override Loading
core/java/com/android/internal/app/MediaRouteChooserDialogFragment.java +20 −2 Original line number Diff line number Diff line Loading @@ -25,7 +25,7 @@ import android.app.MediaRouteActionProvider; import android.app.MediaRouteButton; import android.content.Context; import android.graphics.drawable.Drawable; import android.media.AudioManager; import android.hardware.display.DisplayManager; import android.media.MediaRouter; import android.media.MediaRouter.RouteCategory; import android.media.MediaRouter.RouteGroup; Loading Loading @@ -70,6 +70,7 @@ public class MediaRouteChooserDialogFragment extends DialogFragment { }; MediaRouter mRouter; DisplayManager mDisplayService; private int mRouteTypes; private LayoutInflater mInflater; Loading Loading @@ -97,6 +98,7 @@ public class MediaRouteChooserDialogFragment extends DialogFragment { public void onAttach(Activity activity) { super.onAttach(activity); mRouter = (MediaRouter) activity.getSystemService(Context.MEDIA_ROUTER_SERVICE); mDisplayService = (DisplayManager) activity.getSystemService(Context.DISPLAY_SERVICE); } @Override Loading @@ -119,6 +121,15 @@ public class MediaRouteChooserDialogFragment extends DialogFragment { public void setRouteTypes(int types) { mRouteTypes = types; if ((mRouteTypes & MediaRouter.ROUTE_TYPE_LIVE_VIDEO) != 0 && mDisplayService == null) { final Context activity = getActivity(); if (activity != null) { mDisplayService = (DisplayManager) activity.getSystemService( Context.DISPLAY_SERVICE); } } else { mDisplayService = null; } } void updateVolume() { Loading Loading @@ -194,6 +205,9 @@ public class MediaRouteChooserDialogFragment extends DialogFragment { @Override public void onResume() { super.onResume(); if (mDisplayService != null) { mDisplayService.scanWifiDisplays(); } } private static class ViewHolder { Loading Loading @@ -253,7 +267,9 @@ public class MediaRouteChooserDialogFragment extends DialogFragment { final RouteCategory cat = mRouter.getCategoryAt(i); routes = cat.getRoutes(mCatRouteList); if (!cat.isSystem()) { mItems.add(cat); } if (cat == mCategoryEditingGroups) { addGroupEditingCategoryRoutes(routes); Loading Loading @@ -370,6 +386,7 @@ public class MediaRouteChooserDialogFragment extends DialogFragment { public boolean isEnabled(int position) { switch (getItemViewType(position)) { case VIEW_ROUTE: return ((RouteInfo) mItems.get(position)).isEnabled(); case VIEW_GROUPING_ROUTE: case VIEW_GROUPING_DONE: return true; Loading Loading @@ -434,6 +451,7 @@ public class MediaRouteChooserDialogFragment extends DialogFragment { } convertView.setActivated(position == mSelectedItemPosition); convertView.setEnabled(isEnabled(position)); return convertView; } Loading
core/res/res/layout/media_route_list_item.xml +10 −5 Original line number Diff line number Diff line Loading @@ -24,7 +24,8 @@ android:layout_height="56dp" android:scaleType="center" android:id="@+id/icon" android:visibility="gone" /> android:visibility="gone" android:duplicateParentState="true" /> <LinearLayout android:layout_width="0dp" android:layout_height="match_parent" Loading @@ -32,21 +33,24 @@ android:orientation="vertical" android:gravity="start|center_vertical" android:paddingStart="?android:attr/listPreferredItemPaddingStart" android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"> android:paddingEnd="?android:attr/listPreferredItemPaddingEnd" android:duplicateParentState="true"> <TextView android:id="@android:id/text1" android:layout_width="match_parent" android:layout_height="wrap_content" android:singleLine="true" android:ellipsize="marquee" android:textAppearance="?android:attr/textAppearanceMedium" /> android:textAppearance="?android:attr/textAppearanceMedium" android:duplicateParentState="true" /> <TextView android:id="@android:id/text2" android:layout_width="match_parent" android:layout_height="wrap_content" android:singleLine="true" android:ellipsize="marquee" android:textAppearance="?android:attr/textAppearanceSmall" /> android:textAppearance="?android:attr/textAppearanceSmall" android:duplicateParentState="true" /> </LinearLayout> <ImageButton Loading @@ -56,6 +60,7 @@ android:background="?android:attr/selectableItemBackground" android:src="@drawable/ic_media_group_expand" android:scaleType="center" android:visibility="gone" /> android:visibility="gone" android:duplicateParentState="true" /> </LinearLayout>
core/res/res/values/strings.xml +12 −0 Original line number Diff line number Diff line Loading @@ -3783,6 +3783,18 @@ <!-- Content description of a MediaRouteButton for accessibility support --> <string name="media_route_button_content_description">Media output</string> <!-- Status message for remote routes attempting to scan/determine availability --> <string name="media_route_status_scanning">Scanning...</string> <!-- Status message for a remote route attempting to connect --> <string name="media_route_status_connecting">Connecting...</string> <!-- Status message for a remote route that is confirmed to be available for connection --> <string name="media_route_status_available">Available</string> <!-- Status message for remote routes that are not available for connection right now --> <string name="media_route_status_not_available">Not available</string> <!-- Display manager service --> <!-- Name of the built-in display. [CHAR LIMIT=50] --> Loading