diff --git a/res/layout/wifi_dialog.xml b/res/layout/wifi_dialog.xml index 47b4e9215f6..1b4d0629849 100644 --- a/res/layout/wifi_dialog.xml +++ b/res/layout/wifi_dialog.xml @@ -26,37 +26,6 @@ - - - - - - - - - - - - - - - - - @@ -190,153 +159,197 @@ - - - - - - - - - - - - + android:textSize="14sp" + android:text="@string/wifi_show_advanced" /> - + + - + android:text="@string/wifi_network_setup" /> - + android:prompt="@string/wifi_network_setup" + android:entries="@array/wifi_network_setup" /> + - + + + + android:text="@string/wifi_wps_pin" /> - + android:singleLine="true" + android:inputType="textPassword" /> + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + android:text="@string/wifi_ip_settings" /> - + android:prompt="@string/wifi_ip_settings" + android:entries="@array/wifi_ip_settings" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/res/values/arrays.xml b/res/values/arrays.xml index 09d94de5662..29f45a07114 100644 --- a/res/values/arrays.xml +++ b/res/values/arrays.xml @@ -457,13 +457,13 @@ - Manual + Off - WPS push button + Push button - WPS pin from access point + Pin from access point - WPS pin from this device + Pin from this device diff --git a/res/values/strings.xml b/res/values/strings.xml index 821ebd44658..25328b9394f 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -1165,8 +1165,10 @@ To see available networks, turn Wi-Fi on. + + Show advanced options - Network Setup + WPS Enter pin from access point diff --git a/src/com/android/settings/wifi/WifiConfigController.java b/src/com/android/settings/wifi/WifiConfigController.java index f879b85b190..2cbe2603243 100644 --- a/src/com/android/settings/wifi/WifiConfigController.java +++ b/src/com/android/settings/wifi/WifiConfigController.java @@ -182,8 +182,6 @@ public class WifiConfigController implements TextWatcher, addRow(group, R.string.wifi_status, Summary.get(mConfigUi.getContext(), state)); } - addRow(group, R.string.wifi_security, mAccessPoint.getSecurityString(false)); - int level = mAccessPoint.getLevel(); if (level != -1) { String[] signal = resources.getStringArray(R.array.wifi_signal); @@ -195,10 +193,14 @@ public class WifiConfigController implements TextWatcher, addRow(group, R.string.wifi_speed, info.getLinkSpeed() + WifiInfo.LINK_SPEED_UNITS); } + addRow(group, R.string.wifi_security, mAccessPoint.getSecurityString(false)); + + boolean showAdvancedFields = false; if (mAccessPoint.networkId != INVALID_NETWORK_ID) { WifiConfiguration config = mAccessPoint.getConfig(); if (config.ipAssignment == IpAssignment.STATIC) { mIpSettingsSpinner.setSelection(STATIC_IP); + showAdvancedFields = true; } else { mIpSettingsSpinner.setSelection(DHCP); } @@ -210,6 +212,7 @@ public class WifiConfigController implements TextWatcher, if (config.proxySettings == ProxySettings.STATIC) { mProxySettingsSpinner.setSelection(PROXY_STATIC); + showAdvancedFields = true; } else { mProxySettingsSpinner.setSelection(PROXY_NONE); } @@ -224,6 +227,12 @@ public class WifiConfigController implements TextWatcher, showSecurityFields(); showIpConfigFields(); showProxyFields(); + mView.findViewById(R.id.wifi_advanced_toggle).setVisibility(View.VISIBLE); + mView.findViewById(R.id.wifi_advanced_togglebox).setOnClickListener(this); + if (showAdvancedFields) { + ((CheckBox) mView.findViewById(R.id.wifi_advanced_togglebox)).setChecked(true); + mView.findViewById(R.id.wifi_advanced_fields).setVisibility(View.VISIBLE); + } } if (mEdit) { @@ -726,10 +735,18 @@ public class WifiConfigController implements TextWatcher, @Override public void onClick(View view) { - mPasswordView.setInputType( - InputType.TYPE_CLASS_TEXT | (((CheckBox) view).isChecked() ? - InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD : - InputType.TYPE_TEXT_VARIATION_PASSWORD)); + if (view.getId() == R.id.show_password) { + mPasswordView.setInputType( + InputType.TYPE_CLASS_TEXT | (((CheckBox) view).isChecked() ? + InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD : + InputType.TYPE_TEXT_VARIATION_PASSWORD)); + } else if (view.getId() == R.id.wifi_advanced_togglebox) { + if (((CheckBox) view).isChecked()) { + mView.findViewById(R.id.wifi_advanced_fields).setVisibility(View.VISIBLE); + } else { + mView.findViewById(R.id.wifi_advanced_fields).setVisibility(View.GONE); + } + } } @Override