Loading media/java/android/media/flags/media_better_together.aconfig +10 −0 Original line number Diff line number Diff line Loading @@ -88,6 +88,16 @@ flag { } } flag { name: "enable_fix_for_route_visibility" namespace: "media_better_together" description: "Fixes a bug causing private routes to appear on the output switcher of an app that shouldn't see them." bug: "416436531" metadata { purpose: PURPOSE_BUGFIX } } flag { name: "enable_suggested_device_api" is_exported: true Loading services/core/java/com/android/server/media/MediaRouter2ServiceImpl.java +16 −1 Original line number Diff line number Diff line Loading @@ -2859,7 +2859,7 @@ class MediaRouter2ServiceImpl { */ public void notifyRoutesUpdated(List<MediaRoute2Info> routes) { try { mManager.notifyRoutesUpdated(routes); mManager.notifyRoutesUpdated(getVisibleRoutes(routes)); } catch (RemoteException ex) { logRemoteException("notifyRoutesUpdated", ex); } Loading Loading @@ -2911,6 +2911,21 @@ class MediaRouter2ServiceImpl { } } private List<MediaRoute2Info> getVisibleRoutes(List<MediaRoute2Info> routes) { if (!Flags.enableFixForRouteVisibility() || TextUtils.isEmpty(mTargetPackageName)) { // If the proxy router / manager doesn't target a specific app, it sees all // routes. return routes; } List<MediaRoute2Info> filteredRoutes = new ArrayList<>(); for (MediaRoute2Info route : routes) { if (route.isVisibleTo(mTargetPackageName)) { filteredRoutes.add(route); } } return filteredRoutes; } private void logRemoteException(String operation, RemoteException exception) { String message = TextUtils.formatSimple( Loading Loading
media/java/android/media/flags/media_better_together.aconfig +10 −0 Original line number Diff line number Diff line Loading @@ -88,6 +88,16 @@ flag { } } flag { name: "enable_fix_for_route_visibility" namespace: "media_better_together" description: "Fixes a bug causing private routes to appear on the output switcher of an app that shouldn't see them." bug: "416436531" metadata { purpose: PURPOSE_BUGFIX } } flag { name: "enable_suggested_device_api" is_exported: true Loading
services/core/java/com/android/server/media/MediaRouter2ServiceImpl.java +16 −1 Original line number Diff line number Diff line Loading @@ -2859,7 +2859,7 @@ class MediaRouter2ServiceImpl { */ public void notifyRoutesUpdated(List<MediaRoute2Info> routes) { try { mManager.notifyRoutesUpdated(routes); mManager.notifyRoutesUpdated(getVisibleRoutes(routes)); } catch (RemoteException ex) { logRemoteException("notifyRoutesUpdated", ex); } Loading Loading @@ -2911,6 +2911,21 @@ class MediaRouter2ServiceImpl { } } private List<MediaRoute2Info> getVisibleRoutes(List<MediaRoute2Info> routes) { if (!Flags.enableFixForRouteVisibility() || TextUtils.isEmpty(mTargetPackageName)) { // If the proxy router / manager doesn't target a specific app, it sees all // routes. return routes; } List<MediaRoute2Info> filteredRoutes = new ArrayList<>(); for (MediaRoute2Info route : routes) { if (route.isVisibleTo(mTargetPackageName)) { filteredRoutes.add(route); } } return filteredRoutes; } private void logRemoteException(String operation, RemoteException exception) { String message = TextUtils.formatSimple( Loading