Changing wifi connection dialog per UX

- Added an advanced options checkbox and moving WPS, DHCP, Proxy to there
- Minor string changes

Change-Id: I7a135a483435379692a54ea0ef2663136c468945
This commit is contained in:
Isaac Levy
2011-08-16 16:11:44 -07:00
parent b28bb83f23
commit d621e09300
4 changed files with 200 additions and 168 deletions

View File

@@ -26,37 +26,6 @@
<LinearLayout android:id="@+id/info" <LinearLayout android:id="@+id/info"
style="@style/wifi_section" /> style="@style/wifi_section" />
<LinearLayout android:id="@+id/setup_fields"
style="@style/wifi_item"
android:visibility="gone">
<TextView
style="@style/wifi_item_label"
android:text="@string/wifi_network_setup" />
<Spinner android:id="@+id/network_setup"
style="@style/wifi_item_content"
android:prompt="@string/wifi_network_setup"
android:entries="@array/wifi_network_setup" />
</LinearLayout>
<LinearLayout android:id="@+id/wps_fields"
style="@style/wifi_item"
android:visibility="gone">
<TextView
style="@style/wifi_item_label"
android:text="@string/wifi_wps_pin" />
<EditText android:id="@+id/wps_pin"
style="@style/wifi_item_content"
android:singleLine="true"
android:inputType="textPassword" />
</LinearLayout>
<LinearLayout android:id="@+id/type" <LinearLayout android:id="@+id/type"
style="@style/wifi_section" style="@style/wifi_section"
android:visibility="gone"> android:visibility="gone">
@@ -190,153 +159,197 @@
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>
<LinearLayout android:id="@+id/proxy_settings_fields" <LinearLayout android:id="@+id/wifi_advanced_toggle"
style="@style/wifi_item"
android:visibility="gone">
<TextView android:id="@+id/proxy_settings_title"
style="@style/wifi_item_label"
android:text="@string/proxy_settings_title" />
<Spinner android:id="@+id/proxy_settings"
style="@style/wifi_item_content"
android:prompt="@string/proxy_settings_title"
android:entries="@array/wifi_proxy_settings" />
</LinearLayout>
<LinearLayout android:id="@+id/proxy_warning_limited_support"
style="@style/wifi_item" style="@style/wifi_item"
android:visibility="gone"> android:visibility="gone">
<!-- Dummy to enable right-justification of warning --> <CheckBox android:id="@+id/wifi_advanced_togglebox"
<TextView
style="@style/wifi_item_label" />
<TextView
style="@style/wifi_item_content" style="@style/wifi_item_content"
android:text="@string/proxy_warning_limited_support" /> android:textSize="14sp"
android:text="@string/wifi_show_advanced" />
</LinearLayout> </LinearLayout>
<LinearLayout android:id="@+id/proxy_fields" <LinearLayout android:id="@+id/wifi_advanced_fields"
style="@style/wifi_section" android:layout_width="match_parent"
android:visibility="gone"> android:layout_height="wrap_content"
android:orientation="vertical"
android:visibility="gone">
<LinearLayout android:id="@+id/setup_fields"
style="@style/wifi_item"
android:visibility="gone">
<LinearLayout style="@style/wifi_item">
<TextView <TextView
style="@style/wifi_item_label" style="@style/wifi_item_label"
android:text="@string/proxy_hostname_label" /> android:text="@string/wifi_network_setup" />
<EditText android:id="@+id/proxy_hostname" <Spinner android:id="@+id/network_setup"
style="@style/wifi_item_content" style="@style/wifi_item_content"
android:hint="@string/proxy_hostname_hint" android:prompt="@string/wifi_network_setup"
android:inputType="textNoSuggestions" android:entries="@array/wifi_network_setup" />
android:singleLine="true" />
</LinearLayout> </LinearLayout>
<LinearLayout style="@style/wifi_item">
<LinearLayout android:id="@+id/wps_fields"
style="@style/wifi_item"
android:visibility="gone">
<TextView <TextView
style="@style/wifi_item_label" style="@style/wifi_item_label"
android:text="@string/proxy_port_label" /> android:text="@string/wifi_wps_pin" />
<EditText android:id="@+id/proxy_port" <EditText android:id="@+id/wps_pin"
style="@style/wifi_item_content" style="@style/wifi_item_content"
android:hint="@string/proxy_port_hint" android:singleLine="true"
android:inputType="number" android:inputType="textPassword" />
android:singleLine="true" />
</LinearLayout> </LinearLayout>
<LinearLayout style="@style/wifi_item">
<LinearLayout android:id="@+id/proxy_settings_fields"
style="@style/wifi_item"
android:visibility="gone">
<TextView android:id="@+id/proxy_settings_title"
style="@style/wifi_item_label"
android:text="@string/proxy_settings_title" />
<Spinner android:id="@+id/proxy_settings"
style="@style/wifi_item_content"
android:prompt="@string/proxy_settings_title"
android:entries="@array/wifi_proxy_settings" />
</LinearLayout>
<LinearLayout android:id="@+id/proxy_warning_limited_support"
style="@style/wifi_item"
android:visibility="gone">
<!-- Dummy to enable right-justification of warning -->
<TextView
style="@style/wifi_item_label" />
<TextView
style="@style/wifi_item_content"
android:text="@string/proxy_warning_limited_support" />
</LinearLayout>
<LinearLayout android:id="@+id/proxy_fields"
style="@style/wifi_section"
android:visibility="gone">
<LinearLayout style="@style/wifi_item">
<TextView
style="@style/wifi_item_label"
android:text="@string/proxy_hostname_label" />
<EditText android:id="@+id/proxy_hostname"
style="@style/wifi_item_content"
android:hint="@string/proxy_hostname_hint"
android:inputType="textNoSuggestions"
android:singleLine="true" />
</LinearLayout>
<LinearLayout style="@style/wifi_item">
<TextView
style="@style/wifi_item_label"
android:text="@string/proxy_port_label" />
<EditText android:id="@+id/proxy_port"
style="@style/wifi_item_content"
android:hint="@string/proxy_port_hint"
android:inputType="number"
android:singleLine="true" />
</LinearLayout>
<LinearLayout style="@style/wifi_item">
<TextView
style="@style/wifi_item_label"
android:text="@string/proxy_exclusionlist_label" />
<EditText android:id="@+id/proxy_exclusionlist"
style="@style/wifi_item_content"
android:hint="@string/proxy_exclusionlist_hint"
android:inputType="textNoSuggestions"
android:singleLine="true" />
</LinearLayout>
</LinearLayout>
<LinearLayout android:id="@+id/ip_fields"
style="@style/wifi_item"
android:visibility="gone">
<TextView <TextView
style="@style/wifi_item_label" style="@style/wifi_item_label"
android:text="@string/proxy_exclusionlist_label" /> android:text="@string/wifi_ip_settings" />
<EditText android:id="@+id/proxy_exclusionlist" <Spinner android:id="@+id/ip_settings"
style="@style/wifi_item_content" style="@style/wifi_item_content"
android:hint="@string/proxy_exclusionlist_hint" android:prompt="@string/wifi_ip_settings"
android:inputType="textNoSuggestions" android:entries="@array/wifi_ip_settings" />
android:singleLine="true" />
</LinearLayout>
<LinearLayout android:id="@+id/staticip"
style="@style/wifi_section"
android:visibility="gone">
<LinearLayout
style="@style/wifi_item" >
<TextView
style="@style/wifi_item_label"
android:text="@string/wifi_ip_address" />
<EditText android:id="@+id/ipaddress"
style="@style/wifi_item_content"
android:singleLine="true"
android:hint="@string/wifi_ip_address_hint"
android:inputType="textNoSuggestions" />
</LinearLayout>
<LinearLayout
style="@style/wifi_item" >
<TextView
style="@style/wifi_item_label"
android:text="@string/wifi_gateway" />
<EditText android:id="@+id/gateway"
style="@style/wifi_item_content"
android:singleLine="true"
android:hint="@string/wifi_gateway_hint"
android:inputType="textNoSuggestions" />
</LinearLayout>
<LinearLayout
style="@style/wifi_item" >
<TextView
style="@style/wifi_item_label"
android:text="@string/wifi_network_prefix_length" />
<EditText android:id="@+id/network_prefix_length"
style="@style/wifi_item_content"
android:singleLine="true"
android:hint="@string/wifi_network_prefix_length_hint"
android:inputType="number" />
</LinearLayout>
<LinearLayout
style="@style/wifi_item" >
<TextView
style="@style/wifi_item_label"
android:text="@string/wifi_dns1" />
<EditText android:id="@+id/dns1"
style="@style/wifi_item_content"
android:singleLine="true"
android:hint="@string/wifi_dns1_hint"
android:inputType="textNoSuggestions" />
</LinearLayout>
<LinearLayout
style="@style/wifi_item" >
<TextView
style="@style/wifi_item_label"
android:text="@string/wifi_dns2" />
<EditText android:id="@+id/dns2"
style="@style/wifi_item_content"
android:singleLine="true"
android:hint="@string/wifi_dns2_hint"
android:inputType="textNoSuggestions" />
</LinearLayout>
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>
<LinearLayout android:id="@+id/ip_fields"
style="@style/wifi_item"
android:visibility="gone">
<TextView
style="@style/wifi_item_label"
android:text="@string/wifi_ip_settings" />
<Spinner android:id="@+id/ip_settings"
style="@style/wifi_item_content"
android:prompt="@string/wifi_ip_settings"
android:entries="@array/wifi_ip_settings" />
</LinearLayout>
<LinearLayout android:id="@+id/staticip"
style="@style/wifi_section"
android:visibility="gone">
<LinearLayout
style="@style/wifi_item" >
<TextView
style="@style/wifi_item_label"
android:text="@string/wifi_ip_address" />
<EditText android:id="@+id/ipaddress"
style="@style/wifi_item_content"
android:singleLine="true"
android:hint="@string/wifi_ip_address_hint"
android:inputType="textNoSuggestions" />
</LinearLayout>
<LinearLayout
style="@style/wifi_item" >
<TextView
style="@style/wifi_item_label"
android:text="@string/wifi_gateway" />
<EditText android:id="@+id/gateway"
style="@style/wifi_item_content"
android:singleLine="true"
android:hint="@string/wifi_gateway_hint"
android:inputType="textNoSuggestions" />
</LinearLayout>
<LinearLayout
style="@style/wifi_item" >
<TextView
style="@style/wifi_item_label"
android:text="@string/wifi_network_prefix_length" />
<EditText android:id="@+id/network_prefix_length"
style="@style/wifi_item_content"
android:singleLine="true"
android:hint="@string/wifi_network_prefix_length_hint"
android:inputType="number" />
</LinearLayout>
<LinearLayout
style="@style/wifi_item" >
<TextView
style="@style/wifi_item_label"
android:text="@string/wifi_dns1" />
<EditText android:id="@+id/dns1"
style="@style/wifi_item_content"
android:singleLine="true"
android:hint="@string/wifi_dns1_hint"
android:inputType="textNoSuggestions" />
</LinearLayout>
<LinearLayout
style="@style/wifi_item" >
<TextView
style="@style/wifi_item_label"
android:text="@string/wifi_dns2" />
<EditText android:id="@+id/dns2"
style="@style/wifi_item_content"
android:singleLine="true"
android:hint="@string/wifi_dns2_hint"
android:inputType="textNoSuggestions" />
</LinearLayout>
</LinearLayout>
</LinearLayout> </LinearLayout>
</ScrollView> </ScrollView>

View File

@@ -457,13 +457,13 @@
<!-- Note that adding/removing/moving items will need wifi settings code change. --> <!-- Note that adding/removing/moving items will need wifi settings code change. -->
<string-array name="wifi_network_setup"> <string-array name="wifi_network_setup">
<!-- Manual wifi configuration [CHAR LIMIT=25]--> <!-- Manual wifi configuration [CHAR LIMIT=25]-->
<item>Manual</item> <item>Off</item>
<!-- WPS is a new standard that allowes secure connection establishment to a home wireless network using a simplified process. WPS push button based configuration involves pushing a button on the router and the device [CHAR LIMIT=25]--> <!-- WPS is a new standard that allowes secure connection establishment to a home wireless network using a simplified process. WPS push button based configuration involves pushing a button on the router and the device [CHAR LIMIT=25]-->
<item>WPS push button</item> <item>Push button</item>
<!-- WPS pin method based configuration. This requires entering a pin obtained from the access point [CHAR LIMIT=25] --> <!-- WPS pin method based configuration. This requires entering a pin obtained from the access point [CHAR LIMIT=25] -->
<item>WPS pin from access point</item> <item>Pin from access point</item>
<!-- WPS pin method based configuration. This requires generating a pin from this device [CHAR LIMIT=25] --> <!-- WPS pin method based configuration. This requires generating a pin from this device [CHAR LIMIT=25] -->
<item>WPS pin from this device</item> <item>Pin from this device</item>
</string-array> </string-array>
<!-- Wi-Fi IP settings. --> <!-- Wi-Fi IP settings. -->

View File

@@ -1165,8 +1165,10 @@
<string name="wifi_empty_list_wifi_off">To see available networks, turn Wi-Fi on.</string> <string name="wifi_empty_list_wifi_off">To see available networks, turn Wi-Fi on.</string>
<!-- Dialog for Access Points --> <skip /> <!-- Dialog for Access Points --> <skip />
<!-- Label to show/hide advanced options -->
<string name="wifi_show_advanced">Show advanced options</string>
<!-- Label for network setup [CHAR LIMIT=50] --> <!-- Label for network setup [CHAR LIMIT=50] -->
<string name="wifi_network_setup">Network Setup</string> <string name="wifi_network_setup">WPS</string>
<!-- Label for the text view for WPS pin input [CHAR LIMIT=50] --> <!-- Label for the text view for WPS pin input [CHAR LIMIT=50] -->
<string name="wifi_wps_pin">Enter pin from access point</string> <string name="wifi_wps_pin">Enter pin from access point</string>
<!-- Title for the WPS setup dialog [CHAR LIMIT=50] --> <!-- Title for the WPS setup dialog [CHAR LIMIT=50] -->

View File

@@ -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_status, Summary.get(mConfigUi.getContext(), state));
} }
addRow(group, R.string.wifi_security, mAccessPoint.getSecurityString(false));
int level = mAccessPoint.getLevel(); int level = mAccessPoint.getLevel();
if (level != -1) { if (level != -1) {
String[] signal = resources.getStringArray(R.array.wifi_signal); 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_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) { if (mAccessPoint.networkId != INVALID_NETWORK_ID) {
WifiConfiguration config = mAccessPoint.getConfig(); WifiConfiguration config = mAccessPoint.getConfig();
if (config.ipAssignment == IpAssignment.STATIC) { if (config.ipAssignment == IpAssignment.STATIC) {
mIpSettingsSpinner.setSelection(STATIC_IP); mIpSettingsSpinner.setSelection(STATIC_IP);
showAdvancedFields = true;
} else { } else {
mIpSettingsSpinner.setSelection(DHCP); mIpSettingsSpinner.setSelection(DHCP);
} }
@@ -210,6 +212,7 @@ public class WifiConfigController implements TextWatcher,
if (config.proxySettings == ProxySettings.STATIC) { if (config.proxySettings == ProxySettings.STATIC) {
mProxySettingsSpinner.setSelection(PROXY_STATIC); mProxySettingsSpinner.setSelection(PROXY_STATIC);
showAdvancedFields = true;
} else { } else {
mProxySettingsSpinner.setSelection(PROXY_NONE); mProxySettingsSpinner.setSelection(PROXY_NONE);
} }
@@ -224,6 +227,12 @@ public class WifiConfigController implements TextWatcher,
showSecurityFields(); showSecurityFields();
showIpConfigFields(); showIpConfigFields();
showProxyFields(); 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) { if (mEdit) {
@@ -726,10 +735,18 @@ public class WifiConfigController implements TextWatcher,
@Override @Override
public void onClick(View view) { public void onClick(View view) {
mPasswordView.setInputType( if (view.getId() == R.id.show_password) {
InputType.TYPE_CLASS_TEXT | (((CheckBox) view).isChecked() ? mPasswordView.setInputType(
InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD : InputType.TYPE_CLASS_TEXT | (((CheckBox) view).isChecked() ?
InputType.TYPE_TEXT_VARIATION_PASSWORD)); 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 @Override