Loading services/core/java/com/android/server/media/MediaRouter2ServiceImpl.java +13 −5 Original line number Original line Diff line number Diff line Loading @@ -808,14 +808,11 @@ class MediaRouter2ServiceImpl { userRecord.mHandler, manager)); userRecord.mHandler, manager)); for (RouterRecord routerRecord : userRecord.mRouterRecords) { for (RouterRecord routerRecord : userRecord.mRouterRecords) { // TODO: Do not use notifyPreferredFeaturesChangedToManagers since it updates all // managers. Instead, Notify only to the manager that is currently being registered. // TODO: UserRecord <-> routerRecord, why do they reference each other? // TODO: UserRecord <-> routerRecord, why do they reference each other? // How about removing mUserRecord from routerRecord? // How about removing mUserRecord from routerRecord? routerRecord.mUserRecord.mHandler.sendMessage( routerRecord.mUserRecord.mHandler.sendMessage( obtainMessage(UserHandler::notifyPreferredFeaturesChangedToManagers, obtainMessage(UserHandler::notifyPreferredFeaturesChangedToManager, routerRecord.mUserRecord.mHandler, routerRecord)); routerRecord.mUserRecord.mHandler, routerRecord, manager)); } } } } Loading Loading @@ -1928,6 +1925,17 @@ class MediaRouter2ServiceImpl { } } } } private void notifyPreferredFeaturesChangedToManager(@NonNull RouterRecord routerRecord, @NonNull IMediaRouter2Manager manager) { try { manager.notifyPreferredFeaturesChanged(routerRecord.mPackageName, routerRecord.mDiscoveryPreference.getPreferredFeatures()); } catch (RemoteException ex) { Slog.w(TAG, "Failed to notify preferred features changed." + " Manager probably died.", ex); } } private void notifyPreferredFeaturesChangedToManagers(@NonNull RouterRecord routerRecord) { private void notifyPreferredFeaturesChangedToManagers(@NonNull RouterRecord routerRecord) { MediaRouter2ServiceImpl service = mServiceRef.get(); MediaRouter2ServiceImpl service = mServiceRef.get(); if (service == null) { if (service == null) { Loading Loading
services/core/java/com/android/server/media/MediaRouter2ServiceImpl.java +13 −5 Original line number Original line Diff line number Diff line Loading @@ -808,14 +808,11 @@ class MediaRouter2ServiceImpl { userRecord.mHandler, manager)); userRecord.mHandler, manager)); for (RouterRecord routerRecord : userRecord.mRouterRecords) { for (RouterRecord routerRecord : userRecord.mRouterRecords) { // TODO: Do not use notifyPreferredFeaturesChangedToManagers since it updates all // managers. Instead, Notify only to the manager that is currently being registered. // TODO: UserRecord <-> routerRecord, why do they reference each other? // TODO: UserRecord <-> routerRecord, why do they reference each other? // How about removing mUserRecord from routerRecord? // How about removing mUserRecord from routerRecord? routerRecord.mUserRecord.mHandler.sendMessage( routerRecord.mUserRecord.mHandler.sendMessage( obtainMessage(UserHandler::notifyPreferredFeaturesChangedToManagers, obtainMessage(UserHandler::notifyPreferredFeaturesChangedToManager, routerRecord.mUserRecord.mHandler, routerRecord)); routerRecord.mUserRecord.mHandler, routerRecord, manager)); } } } } Loading Loading @@ -1928,6 +1925,17 @@ class MediaRouter2ServiceImpl { } } } } private void notifyPreferredFeaturesChangedToManager(@NonNull RouterRecord routerRecord, @NonNull IMediaRouter2Manager manager) { try { manager.notifyPreferredFeaturesChanged(routerRecord.mPackageName, routerRecord.mDiscoveryPreference.getPreferredFeatures()); } catch (RemoteException ex) { Slog.w(TAG, "Failed to notify preferred features changed." + " Manager probably died.", ex); } } private void notifyPreferredFeaturesChangedToManagers(@NonNull RouterRecord routerRecord) { private void notifyPreferredFeaturesChangedToManagers(@NonNull RouterRecord routerRecord) { MediaRouter2ServiceImpl service = mServiceRef.get(); MediaRouter2ServiceImpl service = mServiceRef.get(); if (service == null) { if (service == null) { Loading