summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/wifi/WifiConfigController.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/settings/wifi/WifiConfigController.java')
-rw-r--r--src/com/android/settings/wifi/WifiConfigController.java27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/com/android/settings/wifi/WifiConfigController.java b/src/com/android/settings/wifi/WifiConfigController.java
index 2598a0e..ae0a0ff 100644
--- a/src/com/android/settings/wifi/WifiConfigController.java
+++ b/src/com/android/settings/wifi/WifiConfigController.java
@@ -118,6 +118,7 @@ public class WifiConfigController implements TextWatcher,
private IpAssignment mIpAssignment = IpAssignment.UNASSIGNED;
private ProxySettings mProxySettings = ProxySettings.UNASSIGNED;
private LinkProperties mLinkProperties = new LinkProperties();
+ private boolean mAutoConnect;
// True when this instance is used in SetupWizard XL context.
private final boolean mInXlSetupWizard;
@@ -160,6 +161,9 @@ public class WifiConfigController implements TextWatcher,
mProxySettingsSpinner = (Spinner) mView.findViewById(R.id.proxy_settings);
mProxySettingsSpinner.setOnItemSelectedListener(this);
+ boolean showAutoConnectField = false;
+ boolean showAutoConnectFieldValue = false;
+
if (mAccessPoint == null) { // new network
mConfigUi.setTitle(R.string.wifi_add_network);
@@ -182,6 +186,9 @@ public class WifiConfigController implements TextWatcher,
showIpConfigFields();
showProxyFields();
+ mView.findViewById(R.id.wifi_auto_connect_toggle).setVisibility(View.VISIBLE);
+ ((CheckBox) mView.findViewById(R.id.wifi_auto_connect_togglebox)).setChecked(true);
+ mView.findViewById(R.id.wifi_auto_connect_togglebox).setOnClickListener(this);
mView.findViewById(R.id.wifi_advanced_toggle).setVisibility(View.VISIBLE);
mView.findViewById(R.id.wifi_advanced_togglebox).setOnClickListener(this);
@@ -230,12 +237,25 @@ public class WifiConfigController implements TextWatcher,
} else {
mProxySettingsSpinner.setSelection(PROXY_NONE);
}
+
+ showAutoConnectField = true;
+ showAutoConnectFieldValue = config.autoConnect;
}
if (mAccessPoint.networkId == INVALID_NETWORK_ID || mEdit) {
showSecurityFields();
showIpConfigFields();
showProxyFields();
+ mView.findViewById(R.id.wifi_auto_connect_toggle).setVisibility(View.VISIBLE);
+ WifiConfiguration config = mAccessPoint.getConfig();
+ if (mEdit) {
+ showAutoConnectField = false;
+ ((CheckBox) mView.findViewById(R.id.wifi_auto_connect_togglebox)).setChecked(config.autoConnect);
+ } else {
+ mAutoConnect = true;
+ ((CheckBox) mView.findViewById(R.id.wifi_auto_connect_togglebox)).setChecked(true);
+ }
+ mView.findViewById(R.id.wifi_auto_connect_togglebox).setOnClickListener(this);
mView.findViewById(R.id.wifi_advanced_toggle).setVisibility(View.VISIBLE);
mView.findViewById(R.id.wifi_advanced_togglebox).setOnClickListener(this);
if (showAdvancedFields) {
@@ -244,6 +264,10 @@ public class WifiConfigController implements TextWatcher,
}
}
+ if (showAutoConnectField) {
+ addRow(group, R.string.wifi_auto_connect, (showAutoConnectFieldValue ? context.getString(R.string.yes) : context.getString(R.string.no)));
+ }
+
if (mEdit) {
mConfigUi.setSubmitButton(context.getString(R.string.wifi_save));
} else {
@@ -388,6 +412,7 @@ public class WifiConfigController implements TextWatcher,
config.proxySettings = mProxySettings;
config.ipAssignment = mIpAssignment;
config.linkProperties = new LinkProperties(mLinkProperties);
+ config.autoConnect = mAutoConnect;
return config;
}
@@ -752,6 +777,8 @@ public class WifiConfigController implements TextWatcher,
} else {
mView.findViewById(R.id.wifi_advanced_fields).setVisibility(View.GONE);
}
+ } else if (view.getId() == R.id.wifi_auto_connect_togglebox) {
+ mAutoConnect = ((CheckBox) view).isChecked();
}
}