diff options
| author | 2020-05-20 08:51:37 +0000 | |
|---|---|---|
| committer | 2020-05-20 08:51:37 +0000 | |
| commit | 135779c8bdf0c26498ffb78b4aac06eebbfa9bf7 (patch) | |
| tree | d78e274dc2da9e7270bc9a762d5dce20fa9cb1a0 | |
| parent | c74a76863b1e24f04aecf93158821d8d9f661456 (diff) | |
| parent | 38d06dffd3f886ad3f999ef70eeee66abfa4fd82 (diff) | |
Merge "MediaRouter2ServiceImpl: Remove unnecessary notification to managers" into rvc-dev
| -rw-r--r-- | services/core/java/com/android/server/media/MediaRouter2ServiceImpl.java | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/services/core/java/com/android/server/media/MediaRouter2ServiceImpl.java b/services/core/java/com/android/server/media/MediaRouter2ServiceImpl.java index d7bd794743d4..c65800a17f82 100644 --- a/services/core/java/com/android/server/media/MediaRouter2ServiceImpl.java +++ b/services/core/java/com/android/server/media/MediaRouter2ServiceImpl.java @@ -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) { |