Merge "MediaRouter2ServiceImpl: Remove unnecessary notification to managers" into rvc-dev am: 135779c8bd am: 458d270f3b am: e551330331

Change-Id: Iab97b3d2ba4d957fcdb0f7034dcf4c1e8f1f08c6
This commit is contained in:
TreeHugger Robot
2020-05-20 09:41:22 +00:00
committed by Automerger Merge Worker

View File

@@ -808,14 +808,11 @@ class MediaRouter2ServiceImpl {
userRecord.mHandler, manager));
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?
// How about removing mUserRecord from routerRecord?
routerRecord.mUserRecord.mHandler.sendMessage(
obtainMessage(UserHandler::notifyPreferredFeaturesChangedToManagers,
routerRecord.mUserRecord.mHandler, routerRecord));
obtainMessage(UserHandler::notifyPreferredFeaturesChangedToManager,
routerRecord.mUserRecord.mHandler, routerRecord, manager));
}
}
@@ -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) {
MediaRouter2ServiceImpl service = mServiceRef.get();
if (service == null) {