Merge "[Output Switcher] Refresh preference item map when start scan"

This commit is contained in:
TreeHugger Robot
2023-02-08 09:17:05 +00:00
committed by Android (Google) Code Review
2 changed files with 33 additions and 3 deletions

View File

@@ -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

View File

@@ -179,6 +179,7 @@ public class MediaOutputAdapter extends MediaOutputBaseAdapter {
if (mCurrentActivePosition == position) {
mCurrentActivePosition = -1;
}
mStatusIcon.setVisibility(View.GONE);
if (mController.isAnyDeviceTransferring()) {
if (device.getState() == MediaDeviceState.STATE_CONNECTING
@@ -233,7 +234,7 @@ public class MediaOutputAdapter extends MediaOutputBaseAdapter {
setUpDeviceIcon(device);
mSubTitleText.setText(device.getSubtextString());
Drawable deviceStatusIcon =
isActiveWithOngoingSession ? mContext.getDrawable(
device.hasOngoingSession() ? mContext.getDrawable(
R.drawable.media_output_status_session)
: Api34Impl.getDeviceStatusIconBasedOnSelectionBehavior(
device,
@@ -331,7 +332,19 @@ public class MediaOutputAdapter extends MediaOutputBaseAdapter {
setSingleLineLayout(getItemTitle(device));
if (mController.isAdvancedLayoutSupported()
&& mController.isSubStatusSupported()) {
updateClickActionBasedOnSelectionBehavior(device);
Drawable deviceStatusIcon =
device.hasOngoingSession() ? mContext.getDrawable(
R.drawable.media_output_status_session)
: Api34Impl.getDeviceStatusIconBasedOnSelectionBehavior(
device,
mContext);
if (deviceStatusIcon != null) {
updateDeviceStatusIcon(deviceStatusIcon);
mStatusIcon.setVisibility(View.VISIBLE);
}
updateTwoLineLayoutContentAlpha(
updateClickActionBasedOnSelectionBehavior(device)
? DEVICE_CONNECTED_ALPHA : DEVICE_DISCONNECTED_ALPHA);
} else {
updateFullItemClickListener(v -> onItemClick(v, device));
}