diff --git a/res/values/strings.xml b/res/values/strings.xml index 81c81f84d81..965c1ad4f2d 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -1221,6 +1221,8 @@ Connected Available + + Busy Display settings diff --git a/src/com/android/settings/wfd/WifiDisplaySettings.java b/src/com/android/settings/wfd/WifiDisplaySettings.java index 5b732d66506..ca2d2545174 100755 --- a/src/com/android/settings/wfd/WifiDisplaySettings.java +++ b/src/com/android/settings/wfd/WifiDisplaySettings.java @@ -182,7 +182,7 @@ public final class WifiDisplaySettings extends SettingsPreferenceFragment { if (display.equals(mWifiDisplayStatus.getActiveDisplay())) { showDisconnectDialog(display); - } else { + } else if (display.canConnect()){ mDisplayManager.connectWifiDisplay(display.getDeviceAddress()); } } @@ -267,6 +267,17 @@ public final class WifiDisplaySettings extends SettingsPreferenceFragment { } else if (paired && contains(mWifiDisplayStatus.getAvailableDisplays(), d.getDeviceAddress())) { p.setSummary(R.string.wifi_display_status_available); + for (WifiDisplay display : mWifiDisplayStatus.getAvailableDisplays()) { + if (display.getDeviceAddress().equals(d.getDeviceAddress()) && + !display.canConnect()) { + p.setSummary(R.string.wifi_display_status_busy); + p.setEnabled(false); + break; + } + } + } else if (!paired && !d.canConnect()) { + p.setSummary(R.string.wifi_display_status_busy); + p.setEnabled(false); } if (paired) { p.setWidgetLayoutResource(R.layout.wifi_display_preference);