Autojoin new unsecured networks without dialog
Unsaved, open wifi networks will connect on single click without opening the connect dialog box Change-Id: I71da155aa8b711309f0ed7eca4bd22a254db28c5
This commit is contained in:
@@ -358,4 +358,19 @@ class AccessPoint extends Preference {
|
|||||||
setSummary(summary.toString());
|
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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -353,11 +353,9 @@ public class WifiSettings extends SettingsPreferenceFragment
|
|||||||
mWifiManager.connectNetwork(mSelectedAccessPoint.networkId);
|
mWifiManager.connectNetwork(mSelectedAccessPoint.networkId);
|
||||||
}
|
}
|
||||||
} else if (mSelectedAccessPoint.security == AccessPoint.SECURITY_NONE) {
|
} else if (mSelectedAccessPoint.security == AccessPoint.SECURITY_NONE) {
|
||||||
// Shortcut for open networks.
|
/** Bypass dialog for unsecured networks */
|
||||||
WifiConfiguration config = new WifiConfiguration();
|
mSelectedAccessPoint.generateOpenNetworkConfig();
|
||||||
config.SSID = AccessPoint.convertToQuotedString(mSelectedAccessPoint.ssid);
|
mWifiManager.connectNetwork(mSelectedAccessPoint.getConfig());
|
||||||
config.allowedKeyManagement.set(KeyMgmt.NONE);
|
|
||||||
mWifiManager.connectNetwork(config);
|
|
||||||
} else {
|
} else {
|
||||||
showConfigUi(mSelectedAccessPoint, true);
|
showConfigUi(mSelectedAccessPoint, true);
|
||||||
}
|
}
|
||||||
@@ -379,7 +377,14 @@ public class WifiSettings extends SettingsPreferenceFragment
|
|||||||
public boolean onPreferenceTreeClick(PreferenceScreen screen, Preference preference) {
|
public boolean onPreferenceTreeClick(PreferenceScreen screen, Preference preference) {
|
||||||
if (preference instanceof AccessPoint) {
|
if (preference instanceof AccessPoint) {
|
||||||
mSelectedAccessPoint = (AccessPoint) preference;
|
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 {
|
} else {
|
||||||
return super.onPreferenceTreeClick(screen, preference);
|
return super.onPreferenceTreeClick(screen, preference);
|
||||||
}
|
}
|
||||||
@@ -623,6 +628,7 @@ public class WifiSettings extends SettingsPreferenceFragment
|
|||||||
}
|
}
|
||||||
|
|
||||||
void forceScan() {
|
void forceScan() {
|
||||||
|
removeMessages(0);
|
||||||
sendEmptyMessage(0);
|
sendEmptyMessage(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user