From 5c1b14b6f39bf1f4190b3e28cd7acae941a453cb Mon Sep 17 00:00:00 2001 From: shaoweishen Date: Wed, 8 Feb 2023 01:59:00 +0000 Subject: [Output Switcher] Refresh preference item map when start scan Test: make RunSettingsLibRoboTests -j40 Bug: 268232625 Bug: 268232346 Change-Id: I091d60abedfcd64e25f4d95b3c47675cc14caff4 --- .../android/settingslib/media/InfoMediaManager.java | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'packages/SettingsLib/src') diff --git a/packages/SettingsLib/src/com/android/settingslib/media/InfoMediaManager.java b/packages/SettingsLib/src/com/android/settingslib/media/InfoMediaManager.java index 07bd9ec471cd..1b832bf24d24 100644 --- a/packages/SettingsLib/src/com/android/settingslib/media/InfoMediaManager.java +++ b/packages/SettingsLib/src/com/android/settingslib/media/InfoMediaManager.java @@ -106,6 +106,15 @@ public class InfoMediaManager extends MediaManager { mMediaDevices.clear(); mRouterManager.registerCallback(mExecutor, mMediaRouterCallback); mRouterManager.registerScanRequest(); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE + && !TextUtils.isEmpty(mPackageName)) { + RouteListingPreference routeListingPreference = + mRouterManager.getRouteListingPreference(mPackageName); + if (routeListingPreference != null) { + Api34Impl.onRouteListingPreferenceUpdated(null, routeListingPreference, + mPreferenceItemMap); + } + } refreshDevices(); } @@ -500,7 +509,8 @@ public class InfoMediaManager extends MediaManager { infos.add(transferableRoute); } } - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE + && !TextUtils.isEmpty(mPackageName)) { RouteListingPreference routeListingPreference = mRouterManager.getRouteListingPreference(mPackageName); if (routeListingPreference != null) { @@ -633,6 +643,7 @@ public class InfoMediaManager extends MediaManager { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) { Api34Impl.onRouteListingPreferenceUpdated(packageName, routeListingPreference, mPreferenceItemMap); + refreshDevices(); } } } @@ -695,6 +706,9 @@ public class InfoMediaManager extends MediaManager { @DoNotInline static boolean preferRouteListingOrdering(MediaRouter2Manager mediaRouter2Manager, String packageName) { + if (TextUtils.isEmpty(packageName)) { + return false; + } RouteListingPreference routeListingPreference = mediaRouter2Manager.getRouteListingPreference(packageName); return routeListingPreference != null @@ -705,6 +719,9 @@ public class InfoMediaManager extends MediaManager { @Nullable static ComponentName getLinkedItemComponentName( MediaRouter2Manager mediaRouter2Manager, String packageName) { + if (TextUtils.isEmpty(packageName)) { + return null; + } RouteListingPreference routeListingPreference = mediaRouter2Manager.getRouteListingPreference(packageName); return routeListingPreference == null ? null -- cgit v1.2.3-59-g8ed1b