summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorIsaac Levy <ilevy@google.com>2011-08-22 21:09:12 -0700
committerIsaac Levy <ilevy@google.com>2011-08-23 12:28:44 -0700
commit22d441acdba0fb7b99f5958ddd0198f4c371b2a7 (patch)
tree8c131bf153a2b36bc62352b53f688bf5423fd47b /src
parent78545348fd82ddcbcd5f3e95668be282c49e93cd (diff)
downloadpackages_apps_Settings-22d441acdba0fb7b99f5958ddd0198f4c371b2a7.zip
packages_apps_Settings-22d441acdba0fb7b99f5958ddd0198f4c371b2a7.tar.gz
packages_apps_Settings-22d441acdba0fb7b99f5958ddd0198f4c371b2a7.tar.bz2
Autojoin new unsecured networks without dialog
Unsaved, open wifi networks will connect on single click without opening the connect dialog box Change-Id: I71da155aa8b711309f0ed7eca4bd22a254db28c5
Diffstat (limited to 'src')
-rw-r--r--src/com/android/settings/wifi/AccessPoint.java15
-rw-r--r--src/com/android/settings/wifi/WifiSettings.java18
2 files changed, 27 insertions, 6 deletions
diff --git a/src/com/android/settings/wifi/AccessPoint.java b/src/com/android/settings/wifi/AccessPoint.java
index 799a8da..03e7ba4 100644
--- a/src/com/android/settings/wifi/AccessPoint.java
+++ b/src/com/android/settings/wifi/AccessPoint.java
@@ -358,4 +358,19 @@ class AccessPoint extends Preference {
setSummary(summary.toString());
}
}
+
+ /**
+ * Generate and save a default wifiConfiguration with common values.
+ * Can only be called for unsecured networks.
+ * @hide
+ */
+ protected void generateOpenNetworkConfig() {
+ if (security != SECURITY_NONE)
+ throw new IllegalStateException();
+ if (mConfig != null)
+ return;
+ mConfig = new WifiConfiguration();
+ mConfig.SSID = AccessPoint.convertToQuotedString(ssid);
+ mConfig.allowedKeyManagement.set(KeyMgmt.NONE);
+ }
}
diff --git a/src/com/android/settings/wifi/WifiSettings.java b/src/com/android/settings/wifi/WifiSettings.java
index 1b24bf7..040269b 100644
--- a/src/com/android/settings/wifi/WifiSettings.java
+++ b/src/com/android/settings/wifi/WifiSettings.java
@@ -353,11 +353,9 @@ public class WifiSettings extends SettingsPreferenceFragment
mWifiManager.connectNetwork(mSelectedAccessPoint.networkId);
}
} else if (mSelectedAccessPoint.security == AccessPoint.SECURITY_NONE) {
- // Shortcut for open networks.
- WifiConfiguration config = new WifiConfiguration();
- config.SSID = AccessPoint.convertToQuotedString(mSelectedAccessPoint.ssid);
- config.allowedKeyManagement.set(KeyMgmt.NONE);
- mWifiManager.connectNetwork(config);
+ /** Bypass dialog for unsecured networks */
+ mSelectedAccessPoint.generateOpenNetworkConfig();
+ mWifiManager.connectNetwork(mSelectedAccessPoint.getConfig());
} else {
showConfigUi(mSelectedAccessPoint, true);
}
@@ -379,7 +377,14 @@ public class WifiSettings extends SettingsPreferenceFragment
public boolean onPreferenceTreeClick(PreferenceScreen screen, Preference preference) {
if (preference instanceof AccessPoint) {
mSelectedAccessPoint = (AccessPoint) preference;
- showConfigUi(mSelectedAccessPoint, false);
+ /** Bypass dialog for unsecured, unsaved networks */
+ if (mSelectedAccessPoint.security == AccessPoint.SECURITY_NONE &&
+ mSelectedAccessPoint.networkId == INVALID_NETWORK_ID) {
+ mSelectedAccessPoint.generateOpenNetworkConfig();
+ mWifiManager.connectNetwork(mSelectedAccessPoint.getConfig());
+ } else {
+ showConfigUi(mSelectedAccessPoint, false);
+ }
} else {
return super.onPreferenceTreeClick(screen, preference);
}
@@ -623,6 +628,7 @@ public class WifiSettings extends SettingsPreferenceFragment
}
void forceScan() {
+ removeMessages(0);
sendEmptyMessage(0);
}