diff options
Diffstat (limited to 'src/com/android/settings/wifi/WifiConfigController.java')
-rw-r--r-- | src/com/android/settings/wifi/WifiConfigController.java | 27 |
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(); } } |