summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author TreeHugger Robot <treehugger-gerrit@google.com> 2020-05-20 08:51:37 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2020-05-20 08:51:37 +0000
commit135779c8bdf0c26498ffb78b4aac06eebbfa9bf7 (patch)
treed78e274dc2da9e7270bc9a762d5dce20fa9cb1a0
parentc74a76863b1e24f04aecf93158821d8d9f661456 (diff)
parent38d06dffd3f886ad3f999ef70eeee66abfa4fd82 (diff)
Merge "MediaRouter2ServiceImpl: Remove unnecessary notification to managers" into rvc-dev
-rw-r--r--services/core/java/com/android/server/media/MediaRouter2ServiceImpl.java18
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) {