diff options
author | Isaac Levy <ilevy@google.com> | 2011-08-22 21:09:12 -0700 |
---|---|---|
committer | Isaac Levy <ilevy@google.com> | 2011-08-23 12:28:44 -0700 |
commit | 22d441acdba0fb7b99f5958ddd0198f4c371b2a7 (patch) | |
tree | 8c131bf153a2b36bc62352b53f688bf5423fd47b /src | |
parent | 78545348fd82ddcbcd5f3e95668be282c49e93cd (diff) | |
download | packages_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.java | 15 | ||||
-rw-r--r-- | src/com/android/settings/wifi/WifiSettings.java | 18 |
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); } |