summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/wfd
diff options
context:
space:
mode:
authorChong Zhang <chz@google.com>2013-06-12 17:56:16 -0700
committerChong Zhang <chz@google.com>2013-06-14 15:48:02 -0700
commit94417b41c0090d6da5ae982259f69deb6c99d3d1 (patch)
treea4bd5d268bebb844eedb642843381b012b56e550 /src/com/android/settings/wfd
parentbdd91eab5940515cb3a99b0c10b2d9863c249e4f (diff)
downloadpackages_apps_Settings-94417b41c0090d6da5ae982259f69deb6c99d3d1.zip
packages_apps_Settings-94417b41c0090d6da5ae982259f69deb6c99d3d1.tar.gz
packages_apps_Settings-94417b41c0090d6da5ae982259f69deb6c99d3d1.tar.bz2
wifi-display: use new getDisplays() method of WifiDisplayStatus
which returns a list of all displays including currently availabe and remembered ones, each display has properties indicating it's availability, remembered and canConnect status Bug 9229799 Change-Id: I1f74b9c41abdfecc10e7bc1853929e982c44be2f
Diffstat (limited to 'src/com/android/settings/wfd')
-rwxr-xr-xsrc/com/android/settings/wfd/WifiDisplaySettings.java44
1 files changed, 17 insertions, 27 deletions
diff --git a/src/com/android/settings/wfd/WifiDisplaySettings.java b/src/com/android/settings/wfd/WifiDisplaySettings.java
index 34d16d9..d04c3cb 100755
--- a/src/com/android/settings/wfd/WifiDisplaySettings.java
+++ b/src/com/android/settings/wfd/WifiDisplaySettings.java
@@ -207,8 +207,7 @@ public final class WifiDisplaySettings extends SettingsPreferenceFragment {
preferenceScreen.removeAll();
if (featureState == WifiDisplayStatus.FEATURE_STATE_ON) {
- final WifiDisplay[] pairedDisplays = mWifiDisplayStatus.getRememberedDisplays();
- final WifiDisplay[] availableDisplays = mWifiDisplayStatus.getAvailableDisplays();
+ final WifiDisplay[] displays = mWifiDisplayStatus.getDisplays();
if (mPairedDevicesCategory == null) {
mPairedDevicesCategory = new PreferenceCategory(getActivity());
@@ -218,13 +217,6 @@ public final class WifiDisplaySettings extends SettingsPreferenceFragment {
}
preferenceScreen.addPreference(mPairedDevicesCategory);
- for (WifiDisplay d : pairedDisplays) {
- mPairedDevicesCategory.addPreference(createWifiDisplayPreference(d, true));
- }
- if (mPairedDevicesCategory.getPreferenceCount() == 0) {
- preferenceScreen.removePreference(mPairedDevicesCategory);
- }
-
if (mAvailableDevicesCategory == null) {
mAvailableDevicesCategory = new ProgressCategory(getActivity(), null,
R.string.wifi_display_no_devices_found);
@@ -234,11 +226,16 @@ public final class WifiDisplaySettings extends SettingsPreferenceFragment {
}
preferenceScreen.addPreference(mAvailableDevicesCategory);
- for (WifiDisplay d : availableDisplays) {
- if (!contains(pairedDisplays, d.getDeviceAddress())) {
- mAvailableDevicesCategory.addPreference(createWifiDisplayPreference(d, false));
+ for (WifiDisplay d : displays) {
+ if (d.isRemembered()) {
+ mPairedDevicesCategory.addPreference(createWifiDisplayPreference(d));
+ } else if (d.isAvailable()){
+ mAvailableDevicesCategory.addPreference(createWifiDisplayPreference(d));
}
}
+ if (mPairedDevicesCategory.getPreferenceCount() == 0) {
+ preferenceScreen.removePreference(mPairedDevicesCategory);
+ }
if (mWifiDisplayStatus.getScanState() == WifiDisplayStatus.SCAN_STATE_SCANNING) {
mAvailableDevicesCategory.setProgress(true);
} else {
@@ -253,7 +250,7 @@ public final class WifiDisplaySettings extends SettingsPreferenceFragment {
getActivity().invalidateOptionsMenu();
}
- private Preference createWifiDisplayPreference(final WifiDisplay d, boolean paired) {
+ private Preference createWifiDisplayPreference(final WifiDisplay d) {
WifiDisplayPreference p = new WifiDisplayPreference(getActivity(), d);
if (d.equals(mWifiDisplayStatus.getActiveDisplay())) {
switch (mWifiDisplayStatus.getActiveDisplayState()) {
@@ -264,22 +261,15 @@ public final class WifiDisplaySettings extends SettingsPreferenceFragment {
p.setSummary(R.string.wifi_display_status_connecting);
break;
}
- } 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_in_use);
- p.setEnabled(false);
- break;
- }
+ } else if (d.isAvailable()) {
+ if (!d.canConnect()) {
+ p.setSummary(R.string.wifi_display_status_in_use);
+ p.setEnabled(false);
+ } else if (d.isRemembered()) {
+ p.setSummary(R.string.wifi_display_status_available);
}
- } else if (!paired && !d.canConnect()) {
- p.setSummary(R.string.wifi_display_status_in_use);
- p.setEnabled(false);
}
- if (paired) {
+ if (d.isRemembered()) {
p.setWidgetLayoutResource(R.layout.wifi_display_preference);
}
return p;