diff options
| -rw-r--r-- | services/core/java/com/android/server/media/MediaRouter2ServiceImpl.java | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/services/core/java/com/android/server/media/MediaRouter2ServiceImpl.java b/services/core/java/com/android/server/media/MediaRouter2ServiceImpl.java index f5ec880ed235..11e27049d2b6 100644 --- a/services/core/java/com/android/server/media/MediaRouter2ServiceImpl.java +++ b/services/core/java/com/android/server/media/MediaRouter2ServiceImpl.java @@ -2443,10 +2443,9 @@ class MediaRouter2ServiceImpl { List<RouterRecord> routerRecords = getRouterRecords(); List<ManagerRecord> managerRecords = getManagerRecords(); - boolean shouldBindProviders = false; - + boolean isManagerScanning = false; if (service.mPowerManager.isInteractive()) { - boolean isManagerScanning = managerRecords.stream().anyMatch(manager -> + isManagerScanning = managerRecords.stream().anyMatch(manager -> manager.mIsScanning && service.mActivityManager .getPackageImportance(manager.mPackageName) <= PACKAGE_IMPORTANCE_FOR_DISCOVERY); @@ -2455,7 +2454,6 @@ class MediaRouter2ServiceImpl { discoveryPreferences = routerRecords.stream() .map(record -> record.mDiscoveryPreference) .collect(Collectors.toList()); - shouldBindProviders = true; } else { discoveryPreferences = routerRecords.stream().filter(record -> service.mActivityManager.getPackageImportance(record.mPackageName) @@ -2468,7 +2466,7 @@ class MediaRouter2ServiceImpl { for (MediaRoute2Provider provider : mRouteProviders) { if (provider instanceof MediaRoute2ProviderServiceProxy) { ((MediaRoute2ProviderServiceProxy) provider) - .setManagerScanning(shouldBindProviders); + .setManagerScanning(isManagerScanning); } } @@ -2484,7 +2482,7 @@ class MediaRouter2ServiceImpl { activeScan |= preference.shouldPerformActiveScan(); } RouteDiscoveryPreference newPreference = new RouteDiscoveryPreference.Builder( - List.copyOf(preferredFeatures), activeScan).build(); + List.copyOf(preferredFeatures), activeScan || isManagerScanning).build(); synchronized (service.mLock) { if (newPreference.equals(mUserRecord.mCompositeDiscoveryPreference)) { |