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);