MediaRouter2ServiceImpl: Remove unnecessary notification to managers
When registering a new manager, unnecessary notifications happen. This CL removes them. Bug: 145490491 Test: Passed CTS and mediaroutertest Change-Id: I1d309ea47a537cb855639be9a72268111851ef2e
This commit is contained in:
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user