From 0304a0e88bf54d17eb84780e62314590a465f606 Mon Sep 17 00:00:00 2001 From: hoffc Date: Fri, 6 May 2022 11:54:04 +0800 Subject: [PATCH] Settings: Optimize the selected WFD route preference summary RouteInfo has several status values, such as unavailable status. But according to current logic, unavailable status will be displayed as connnected. it is not reasonable. Update and optimize the route preference summary with the real WFD status value. Change-Id: Iacd10e0133d06ef0b86da38cf763fe7def6ed7de Buganizer: 231656030 --- .../settings/wfd/WifiDisplayPreferenceController.java | 8 +++++++- src/com/android/settings/wfd/WifiDisplaySettings.java | 8 +++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/com/android/settings/wfd/WifiDisplayPreferenceController.java b/src/com/android/settings/wfd/WifiDisplayPreferenceController.java index a83a56b5945..b15396b7ed2 100644 --- a/src/com/android/settings/wfd/WifiDisplayPreferenceController.java +++ b/src/com/android/settings/wfd/WifiDisplayPreferenceController.java @@ -19,6 +19,7 @@ package com.android.settings.wfd; import android.content.Context; import android.media.MediaRouter; import android.media.MediaRouter.RouteInfo; +import android.text.TextUtils; import androidx.preference.Preference; import androidx.preference.PreferenceScreen; @@ -87,7 +88,12 @@ public class WifiDisplayPreferenceController extends BasePreferenceController im final MediaRouter.RouteInfo route = mRouter.getRouteAt(i); if (route.matchesTypes(MediaRouter.ROUTE_TYPE_REMOTE_DISPLAY) && route.isSelected() && !route.isConnecting()) { - summary = mContext.getString(R.string.wifi_display_status_connected); + CharSequence status = route.getStatus(); + if (!TextUtils.isEmpty(status)) { + summary = status; + } else { + summary = mContext.getString(R.string.wifi_display_status_connected); + } break; } } diff --git a/src/com/android/settings/wfd/WifiDisplaySettings.java b/src/com/android/settings/wfd/WifiDisplaySettings.java index 19b6c5457d7..8562e5fd68b 100755 --- a/src/com/android/settings/wfd/WifiDisplaySettings.java +++ b/src/com/android/settings/wfd/WifiDisplaySettings.java @@ -38,6 +38,7 @@ import android.os.Bundle; import android.os.Handler; import android.os.Looper; import android.provider.Settings; +import android.text.TextUtils; import android.util.Slog; import android.util.TypedValue; import android.view.Menu; @@ -678,7 +679,12 @@ public final class WifiDisplaySettings extends SettingsPreferenceFragment implem if (route.isConnecting()) { setSummary(R.string.wifi_display_status_connecting); } else { - setSummary(R.string.wifi_display_status_connected); + CharSequence status = route.getStatus(); + if (!TextUtils.isEmpty(status)) { + setSummary(status); + } else { + setSummary(R.string.wifi_display_status_connected); + } } } else { if (isEnabled()) {