Loading media/java/android/media/IMediaRouterService.aidl +2 −2 Original line number Diff line number Diff line Loading @@ -75,7 +75,7 @@ interface IMediaRouterService { void releaseSessionWithRouter2(IMediaRouter2 router, String sessionId); void setDeviceSuggestionsWithRouter2(IMediaRouter2 router, in @nullable List<SuggestedDeviceInfo> suggestedDeviceInfo); @nullable Map<String, List<SuggestedDeviceInfo>> getDeviceSuggestionsWithRouter2( Map<String, List<SuggestedDeviceInfo>> getDeviceSuggestionsWithRouter2( IMediaRouter2 router); // Methods for MediaRouter2Manager Loading Loading @@ -105,7 +105,7 @@ interface IMediaRouterService { boolean showMediaOutputSwitcherWithProxyRouter(IMediaRouter2Manager manager); void setDeviceSuggestionsWithManager(IMediaRouter2Manager manager, in @nullable List<SuggestedDeviceInfo> suggestedDeviceInfo); @nullable Map<String, List<SuggestedDeviceInfo>> getDeviceSuggestionsWithManager( Map<String, List<SuggestedDeviceInfo>> getDeviceSuggestionsWithManager( IMediaRouter2Manager manager); void onDeviceSuggestionRequestedWithManager(IMediaRouter2Manager manager); } packages/SettingsLib/src/com/android/settingslib/media/InfoMediaManager.java +4 −3 Original line number Diff line number Diff line Loading @@ -730,7 +730,8 @@ public abstract class InfoMediaManager { } } if (newSuggestedDeviceState == null) { if (topSuggestion if (previousState != null && topSuggestion .getRouteId() .equals(previousState.getSuggestedDeviceInfo().getRouteId())) { return; Loading packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/InfoMediaManagerTest.java +25 −0 Original line number Diff line number Diff line Loading @@ -997,6 +997,31 @@ public class InfoMediaManagerTest { .isEqualTo(suggestedDeviceInfo); } @EnableFlags(Flags.FLAG_ENABLE_SUGGESTED_DEVICE_API) @Test public void onSuggestionUpdated_routesNotSet_listenersNotified() { SuggestedDeviceInfo suggestedDeviceInfo = new SuggestedDeviceInfo.Builder() .setDeviceDisplayName("device_name") .setRouteId(TEST_ID_3) .setType(0) .build(); RouterInfoMediaManager mediaManager = createRouterInfoMediaManager(); mediaManager.registerCallback(mCallback); clearInvocations(mCallback); verify(mRouter2) .registerDeviceSuggestionsCallback( any(), mDeviceSuggestionsCallbackCaptor.capture()); mDeviceSuggestionsCallbackCaptor .getValue() .onSuggestionUpdated("random_package_name", List.of(suggestedDeviceInfo)); verify(mCallback).onSuggestedDeviceUpdated(mSuggestedDeviceStateCaptor.capture()); assertThat(mSuggestedDeviceStateCaptor.getValue().getSuggestedDeviceInfo()) .isEqualTo(suggestedDeviceInfo); } @EnableFlags(Flags.FLAG_ENABLE_SUGGESTED_DEVICE_API) @Test public void onSuggestionUpdated_mediaDeviceIsSuggested() { Loading services/core/java/com/android/server/media/MediaRouter2ServiceImpl.java +7 −6 Original line number Diff line number Diff line Loading @@ -571,7 +571,7 @@ class MediaRouter2ServiceImpl { } } @Nullable @NonNull public Map<String, List<SuggestedDeviceInfo>> getDeviceSuggestionsWithRouter2( @NonNull IMediaRouter2 router) { Objects.requireNonNull(router, "router must not be null"); Loading Loading @@ -855,7 +855,7 @@ class MediaRouter2ServiceImpl { } } @Nullable @NonNull public Map<String, List<SuggestedDeviceInfo>> getDeviceSuggestionsWithManager( @NonNull IMediaRouter2Manager manager) { Objects.requireNonNull(manager, "manager must not be null"); Loading Loading @@ -1693,7 +1693,7 @@ class MediaRouter2ServiceImpl { } @GuardedBy("mLock") @Nullable @NonNull private Map<String, List<SuggestedDeviceInfo>> getDeviceSuggestionsWithRouter2Locked( @NonNull IMediaRouter2 router) { final IBinder binder = router.asBinder(); Loading Loading @@ -2143,7 +2143,7 @@ class MediaRouter2ServiceImpl { } @GuardedBy("mLock") @Nullable @NonNull private Map<String, List<SuggestedDeviceInfo>> getDeviceSuggestionsWithManagerLocked( @NonNull IMediaRouter2Manager manager) { final IBinder binder = manager.asBinder(); Loading Loading @@ -2316,10 +2316,11 @@ class MediaRouter2ServiceImpl { } // @GuardedBy("mLock") @Nullable @NonNull public Map<String, List<SuggestedDeviceInfo>> getDeviceSuggestionsLocked( String packageName) { return mDeviceSuggestions.get(packageName); return mDeviceSuggestions.getOrDefault( packageName, new HashMap<String, List<SuggestedDeviceInfo>>()); } public void dump(@NonNull PrintWriter pw, @NonNull String prefix) { Loading services/core/java/com/android/server/media/MediaRouterService.java +2 −2 Original line number Diff line number Diff line Loading @@ -535,7 +535,7 @@ public final class MediaRouterService extends IMediaRouterService.Stub // Binder call @Override @Nullable @NonNull public Map<String, List<SuggestedDeviceInfo>> getDeviceSuggestionsWithRouter2( IMediaRouter2 router) { return mService2.getDeviceSuggestionsWithRouter2(router); Loading Loading @@ -693,7 +693,7 @@ public final class MediaRouterService extends IMediaRouterService.Stub // Binder call @Override @Nullable @NonNull public Map<String, List<SuggestedDeviceInfo>> getDeviceSuggestionsWithManager( IMediaRouter2Manager manager) { return mService2.getDeviceSuggestionsWithManager(manager); Loading Loading
media/java/android/media/IMediaRouterService.aidl +2 −2 Original line number Diff line number Diff line Loading @@ -75,7 +75,7 @@ interface IMediaRouterService { void releaseSessionWithRouter2(IMediaRouter2 router, String sessionId); void setDeviceSuggestionsWithRouter2(IMediaRouter2 router, in @nullable List<SuggestedDeviceInfo> suggestedDeviceInfo); @nullable Map<String, List<SuggestedDeviceInfo>> getDeviceSuggestionsWithRouter2( Map<String, List<SuggestedDeviceInfo>> getDeviceSuggestionsWithRouter2( IMediaRouter2 router); // Methods for MediaRouter2Manager Loading Loading @@ -105,7 +105,7 @@ interface IMediaRouterService { boolean showMediaOutputSwitcherWithProxyRouter(IMediaRouter2Manager manager); void setDeviceSuggestionsWithManager(IMediaRouter2Manager manager, in @nullable List<SuggestedDeviceInfo> suggestedDeviceInfo); @nullable Map<String, List<SuggestedDeviceInfo>> getDeviceSuggestionsWithManager( Map<String, List<SuggestedDeviceInfo>> getDeviceSuggestionsWithManager( IMediaRouter2Manager manager); void onDeviceSuggestionRequestedWithManager(IMediaRouter2Manager manager); }
packages/SettingsLib/src/com/android/settingslib/media/InfoMediaManager.java +4 −3 Original line number Diff line number Diff line Loading @@ -730,7 +730,8 @@ public abstract class InfoMediaManager { } } if (newSuggestedDeviceState == null) { if (topSuggestion if (previousState != null && topSuggestion .getRouteId() .equals(previousState.getSuggestedDeviceInfo().getRouteId())) { return; Loading
packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/InfoMediaManagerTest.java +25 −0 Original line number Diff line number Diff line Loading @@ -997,6 +997,31 @@ public class InfoMediaManagerTest { .isEqualTo(suggestedDeviceInfo); } @EnableFlags(Flags.FLAG_ENABLE_SUGGESTED_DEVICE_API) @Test public void onSuggestionUpdated_routesNotSet_listenersNotified() { SuggestedDeviceInfo suggestedDeviceInfo = new SuggestedDeviceInfo.Builder() .setDeviceDisplayName("device_name") .setRouteId(TEST_ID_3) .setType(0) .build(); RouterInfoMediaManager mediaManager = createRouterInfoMediaManager(); mediaManager.registerCallback(mCallback); clearInvocations(mCallback); verify(mRouter2) .registerDeviceSuggestionsCallback( any(), mDeviceSuggestionsCallbackCaptor.capture()); mDeviceSuggestionsCallbackCaptor .getValue() .onSuggestionUpdated("random_package_name", List.of(suggestedDeviceInfo)); verify(mCallback).onSuggestedDeviceUpdated(mSuggestedDeviceStateCaptor.capture()); assertThat(mSuggestedDeviceStateCaptor.getValue().getSuggestedDeviceInfo()) .isEqualTo(suggestedDeviceInfo); } @EnableFlags(Flags.FLAG_ENABLE_SUGGESTED_DEVICE_API) @Test public void onSuggestionUpdated_mediaDeviceIsSuggested() { Loading
services/core/java/com/android/server/media/MediaRouter2ServiceImpl.java +7 −6 Original line number Diff line number Diff line Loading @@ -571,7 +571,7 @@ class MediaRouter2ServiceImpl { } } @Nullable @NonNull public Map<String, List<SuggestedDeviceInfo>> getDeviceSuggestionsWithRouter2( @NonNull IMediaRouter2 router) { Objects.requireNonNull(router, "router must not be null"); Loading Loading @@ -855,7 +855,7 @@ class MediaRouter2ServiceImpl { } } @Nullable @NonNull public Map<String, List<SuggestedDeviceInfo>> getDeviceSuggestionsWithManager( @NonNull IMediaRouter2Manager manager) { Objects.requireNonNull(manager, "manager must not be null"); Loading Loading @@ -1693,7 +1693,7 @@ class MediaRouter2ServiceImpl { } @GuardedBy("mLock") @Nullable @NonNull private Map<String, List<SuggestedDeviceInfo>> getDeviceSuggestionsWithRouter2Locked( @NonNull IMediaRouter2 router) { final IBinder binder = router.asBinder(); Loading Loading @@ -2143,7 +2143,7 @@ class MediaRouter2ServiceImpl { } @GuardedBy("mLock") @Nullable @NonNull private Map<String, List<SuggestedDeviceInfo>> getDeviceSuggestionsWithManagerLocked( @NonNull IMediaRouter2Manager manager) { final IBinder binder = manager.asBinder(); Loading Loading @@ -2316,10 +2316,11 @@ class MediaRouter2ServiceImpl { } // @GuardedBy("mLock") @Nullable @NonNull public Map<String, List<SuggestedDeviceInfo>> getDeviceSuggestionsLocked( String packageName) { return mDeviceSuggestions.get(packageName); return mDeviceSuggestions.getOrDefault( packageName, new HashMap<String, List<SuggestedDeviceInfo>>()); } public void dump(@NonNull PrintWriter pw, @NonNull String prefix) { Loading
services/core/java/com/android/server/media/MediaRouterService.java +2 −2 Original line number Diff line number Diff line Loading @@ -535,7 +535,7 @@ public final class MediaRouterService extends IMediaRouterService.Stub // Binder call @Override @Nullable @NonNull public Map<String, List<SuggestedDeviceInfo>> getDeviceSuggestionsWithRouter2( IMediaRouter2 router) { return mService2.getDeviceSuggestionsWithRouter2(router); Loading Loading @@ -693,7 +693,7 @@ public final class MediaRouterService extends IMediaRouterService.Stub // Binder call @Override @Nullable @NonNull public Map<String, List<SuggestedDeviceInfo>> getDeviceSuggestionsWithManager( IMediaRouter2Manager manager) { return mService2.getDeviceSuggestionsWithManager(manager); Loading