Merge "Start fragmentizing Manage Applications."
diff --git a/res/layout-xlarge/wifi_settings_for_setup_wizard_xl.xml b/res/layout-xlarge/wifi_settings_for_setup_wizard_xl.xml
index cb6421b..2e96da5 100644
--- a/res/layout-xlarge/wifi_settings_for_setup_wizard_xl.xml
+++ b/res/layout-xlarge/wifi_settings_for_setup_wizard_xl.xml
@@ -22,7 +22,7 @@
android:paddingTop="60dip"
android:paddingLeft="100dip"
android:paddingRight="100dip"
- android:paddingBottom="100dip">
+ android:paddingBottom="40dip">
<TextView
android:id="@+id/wifi_setup_title"
@@ -139,12 +139,22 @@
android:enabled="false" />
</RelativeLayout>
+ <Button android:id="@+id/wifi_setup_detail"
+ android:layout_width="260dip"
+ android:layout_height="60dip"
+ android:layout_above="@+id/wifi_setup_cancel"
+ android:layout_alignLeft="@+id/wifi_setup_cancel"
+ android:layout_marginBottom="30dip"
+ android:textSize="24dip"
+ android:text="@string/wifi_detail"
+ android:visibility="gone" />
+
<Button android:id="@+id/wifi_setup_cancel"
android:layout_width="260dip"
android:layout_height="60dip"
android:layout_alignParentBottom="true"
android:layout_toLeftOf="@id/right_buttons"
android:textSize="24dip"
- android:text="@string/wifi_cancel"
+ android:text="@string/wifi_back"
android:visibility="gone" />
</RelativeLayout>
diff --git a/res/layout/wifi_config_preference2.xml b/res/layout/wifi_config_preference2.xml
new file mode 100644
index 0000000..29cb585
--- /dev/null
+++ b/res/layout/wifi_config_preference2.xml
@@ -0,0 +1,367 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2010 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!-- All ids in this layout must be in wifi_dialog.xml -->
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:orientation="vertical"
+ android:layout_width="fill_parent"
+ android:layout_height="fill_parent">
+
+ <!-- UI components that should be shown appropriately -->
+ <LinearLayout android:id="@+id/wps_fields"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:visibility="gone">
+ <TextView
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:text="@string/wifi_wps_pin" />
+
+ <EditText android:id="@+id/wps_pin"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:singleLine="true"
+ android:inputType="textPassword" />
+ </LinearLayout>
+ <LinearLayout android:id="@+id/security_fields"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:visibility="gone">
+ <TextView android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:text="@string/wifi_password" />
+
+ <EditText android:id="@+id/password"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:singleLine="true"
+ android:password="true" />
+
+ <CheckBox android:id="@+id/show_password"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:text="@string/wifi_show_password" />
+ </LinearLayout>
+
+
+ <!-- All the views below are "gone".
+ We want them as data storage, not as UI components. -->
+ <LinearLayout
+ android:orientation="vertical"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:visibility="gone">
+
+ <LinearLayout android:id="@+id/info"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"/> -->
+
+ <LinearLayout android:id="@+id/setup_fields"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:visibility="gone">
+
+ <TextView
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:text="@string/wifi_network_setup" />
+
+ <Spinner android:id="@+id/network_setup"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:prompt="@string/wifi_network_setup"
+ android:entries="@array/wifi_network_setup" />
+
+ </LinearLayout>
+
+ <!--
+ <LinearLayout android:id="@+id/wps_fields"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:visibility="gone">
+
+ <TextView
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:text="@string/wifi_wps_pin" />
+
+ <EditText android:id="@+id/wps_pin"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:singleLine="true"
+ android:inputType="textPassword" />
+ </LinearLayout> -->
+
+ <LinearLayout android:id="@+id/type"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:visibility="gone">
+
+ <TextView android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:text="@string/wifi_ssid" />
+
+ <EditText android:id="@+id/ssid"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:singleLine="true"
+ android:inputType="textNoSuggestions" />
+
+ <TextView android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:text="@string/wifi_security" />
+
+ <Spinner android:id="@+id/security"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:prompt="@string/wifi_security"
+ android:entries="@array/wifi_security" />
+ </LinearLayout> <!-- android:id="@+id/type" -->
+
+ <!-- android:id="@+id/security_fields" -->
+ <LinearLayout
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:visibility="gone">
+
+ <LinearLayout android:id="@+id/eap"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:visibility="gone">
+
+ <TextView
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:text="@string/wifi_eap_method" />
+
+ <Spinner android:id="@+id/method"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:prompt="@string/wifi_eap_method"
+ android:entries="@array/wifi_eap_method" />
+
+ <TextView
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:text="@string/please_select_phase2" />
+
+ <Spinner android:id="@+id/phase2"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:prompt="@string/please_select_phase2"
+ android:entries="@array/wifi_phase2_entries" />
+
+ <TextView
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:text="@string/wifi_eap_ca_cert" />
+
+ <Spinner android:id="@+id/ca_cert"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:prompt="@string/wifi_eap_ca_cert" />
+
+ <TextView
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:text="@string/wifi_eap_user_cert" />
+
+ <Spinner android:id="@+id/user_cert"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:prompt="@string/wifi_eap_user_cert" />
+
+ <TextView
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:text="@string/wifi_eap_identity" />
+
+ <EditText android:id="@+id/identity"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:singleLine="true"
+ android:inputType="textNoSuggestions" />
+
+ <TextView
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:text="@string/wifi_eap_anonymous" />
+
+ <EditText android:id="@+id/anonymous"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:singleLine="true"
+ android:inputType="textNoSuggestions" />
+ </LinearLayout> <!-- android:id="@+id/eap" -->
+
+ <!-- <TextView android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:text="@string/wifi_password" />
+
+ <EditText android:id="@+id/password"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:singleLine="true"
+ android:password="true" />
+
+ <CheckBox android:id="@+id/show_password"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:text="@string/wifi_show_password" /> -->
+ </LinearLayout> <!-- android:id="@+id/security_fields" -->
+
+ <LinearLayout android:id="@+id/ip_fields"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:visibility="gone">
+
+ <TextView
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:text="@string/wifi_ip_settings" />
+
+ <Spinner android:id="@+id/ip_settings"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:prompt="@string/wifi_ip_settings"
+ android:entries="@array/wifi_ip_settings" />
+ </LinearLayout>
+
+ <LinearLayout android:id="@+id/staticip"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:visibility="gone">
+ <TextView
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:text="@string/wifi_ip_address" />
+
+ <EditText android:id="@+id/ipaddress"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:singleLine="true"
+ android:inputType="textNoSuggestions" />
+
+ <TextView
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:text="@string/wifi_gateway" />
+
+ <EditText android:id="@+id/gateway"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:singleLine="true"
+ android:inputType="textNoSuggestions" />
+
+ <TextView
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:text="@string/wifi_network_prefix_length" />
+
+ <EditText android:id="@+id/network_prefix_length"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:singleLine="true"
+ android:inputType="textNoSuggestions" />
+
+ <TextView
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:text="@string/wifi_dns1" />
+
+ <EditText android:id="@+id/dns1"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:singleLine="true"
+ android:inputType="textNoSuggestions" />
+
+ <TextView
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:text="@string/wifi_dns2" />
+
+ <EditText android:id="@+id/dns2"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:singleLine="true"
+ android:inputType="textNoSuggestions" />
+
+ <LinearLayout android:id="@+id/proxy_settings_fields"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:visibility="gone">
+
+ <TextView android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:text="@string/proxy_settings_title" />
+
+ <Spinner android:id="@+id/proxy_settings"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:prompt="@string/proxy_settings_title"
+ android:entries="@array/wifi_proxy_settings" />
+ </LinearLayout>
+
+ <LinearLayout android:id="@+id/proxy_fields"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:visibility="gone">
+ <TextView android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:text="@string/proxy_hostname_label" />
+
+ <EditText android:id="@+id/proxy_hostname"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:singleLine="true"
+ android:inputType="textNoSuggestions" />
+
+ <TextView android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:text="@string/proxy_port_label" />
+
+ <EditText android:id="@+id/proxy_port"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:singleLine="true"
+ android:inputType="textNoSuggestions" />
+
+ <TextView android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:text="@string/proxy_exclusionlist_label" />
+
+ <EditText android:id="@+id/proxy_exclusionlist"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:singleLine="true"
+ android:inputType="textNoSuggestions" />
+
+ </LinearLayout>
+ </LinearLayout>
+
+ </LinearLayout>
+</LinearLayout>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index da54e9d..d510018 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -989,6 +989,12 @@
<string name="wifi_save">Save</string>
<!-- Button label to dismiss the dialog -->
<string name="wifi_cancel">Cancel</string>
+ <!-- Button label to go back to previous screen. Used in SetupWizard for
+ XLarge screen [CHAR LIMIT=10]-->
+ <string name="wifi_back">Back</string>
+ <!-- Button label to show detailed dialog for WiFi settings.
+ Used in SetupWizard for XLarge screen [CHAR LIMIT=10]-->
+ <string name="wifi_detail">Detail</string>
<!-- Wi-Fi Advanced Settings --> <skip />
<!-- Wi-Fi settings screen, advanced, settings section. This is a header shown above advanced wifi settings. -->
diff --git a/src/com/android/settings/wifi/WifiConfigPreference.java b/src/com/android/settings/wifi/WifiConfigPreference.java
index 5a09827..c495481 100644
--- a/src/com/android/settings/wifi/WifiConfigPreference.java
+++ b/src/com/android/settings/wifi/WifiConfigPreference.java
@@ -45,7 +45,8 @@
AccessPoint accessPoint, boolean edit) {
super(wifiSettings.getActivity());
mWifiSettings = wifiSettings;
- setLayoutResource(R.layout.wifi_config_preference);
+ // setLayoutResource(R.layout.wifi_config_preference);
+ setLayoutResource(R.layout.wifi_config_preference2);
mListener = listener;
mAccessPoint = accessPoint;
mEdit = edit;
diff --git a/src/com/android/settings/wifi/WifiConfigUiBase.java b/src/com/android/settings/wifi/WifiConfigUiBase.java
index ee56714..d930b58 100644
--- a/src/com/android/settings/wifi/WifiConfigUiBase.java
+++ b/src/com/android/settings/wifi/WifiConfigUiBase.java
@@ -22,7 +22,7 @@
/**
* Foundation interface glues between Activities and UIs like
- * {@link WifiDialog} or {@link WifiPreference}.
+ * {@link WifiDialog} or {@link WifiConfigPreference}.
*/
public interface WifiConfigUiBase {
public Context getContext();
diff --git a/src/com/android/settings/wifi/WifiSettings.java b/src/com/android/settings/wifi/WifiSettings.java
index d8d0a60..efafd59 100644
--- a/src/com/android/settings/wifi/WifiSettings.java
+++ b/src/com/android/settings/wifi/WifiSettings.java
@@ -94,7 +94,7 @@
// ListView won't become larger than the screen.
//
// This constant doesn't affect other contexts other than SetupWizard XL.
- private static int MAX_MENU_COUNT_IN_XL = 6;
+ private static int MAX_MENU_COUNT_IN_XL = 8;
private final IntentFilter mFilter;
private final BroadcastReceiver mReceiver;
@@ -107,6 +107,7 @@
private Preference mAddNetwork;
// An access point being editted is stored here.
private AccessPoint mSelectedAccessPoint;
+ private boolean mEdit;
private DetailedState mLastState;
private WifiInfo mLastInfo;
@@ -365,10 +366,12 @@
synchronized (this) {
mRefrainListUpdate = false;
}
+ mEdit = edit;
if (mInXlSetupWizard) {
final Activity activity = getActivity();
activity.findViewById(R.id.wifi_setup_connect).setVisibility(View.VISIBLE);
activity.findViewById(R.id.wifi_setup_cancel).setVisibility(View.VISIBLE);
+ activity.findViewById(R.id.wifi_setup_detail).setVisibility(View.VISIBLE);
showConfigPreference(accessPoint, edit);
} else {
showDialog(accessPoint, edit);
@@ -400,6 +403,7 @@
activity.findViewById(R.id.wifi_setup_connect).setVisibility(View.GONE);
activity.findViewById(R.id.wifi_setup_forget).setVisibility(View.GONE);
activity.findViewById(R.id.wifi_setup_cancel).setVisibility(View.GONE);
+ activity.findViewById(R.id.wifi_setup_detail).setVisibility(View.GONE);
} else {
activity.findViewById(R.id.wifi_setup_add_network).setVisibility(View.GONE);
activity.findViewById(R.id.wifi_setup_refresh_list).setVisibility(View.GONE);
@@ -417,6 +421,10 @@
mDialog.show();
}
+ /* package */ void showDialogForSelectedPreference() {
+ showDialog(mSelectedAccessPoint, mEdit);
+ }
+
private boolean requireKeyStore(WifiConfiguration config) {
if (WifiConfigController.requireKeyStore(config) &&
KeyStore.getInstance().test() != KeyStore.NO_ERROR) {
diff --git a/src/com/android/settings/wifi/WifiSettingsForSetupWizardXL.java b/src/com/android/settings/wifi/WifiSettingsForSetupWizardXL.java
index 50e3f4c..0801504 100644
--- a/src/com/android/settings/wifi/WifiSettingsForSetupWizardXL.java
+++ b/src/com/android/settings/wifi/WifiSettingsForSetupWizardXL.java
@@ -103,6 +103,7 @@
((Button)findViewById(R.id.wifi_setup_connect)).setOnClickListener(this);
((Button)findViewById(R.id.wifi_setup_forget)).setOnClickListener(this);
((Button)findViewById(R.id.wifi_setup_cancel)).setOnClickListener(this);
+ ((Button)findViewById(R.id.wifi_setup_detail)).setOnClickListener(this);
}
@Override
@@ -134,6 +135,9 @@
mStatusText.setText(R.string.wifi_setup_status_select_network);
mWifiSettings.detachConfigPreference();
break;
+ case R.id.wifi_setup_detail:
+ mWifiSettings.showDialogForSelectedPreference();
+ break;
}
hideSoftwareKeyboard();
}