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 cb6421beda1..2e96da58f91 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">
+
+
diff --git a/res/layout/wifi_config_preference2.xml b/res/layout/wifi_config_preference2.xml
new file mode 100644
index 00000000000..29cb58588af
--- /dev/null
+++ b/res/layout/wifi_config_preference2.xml
@@ -0,0 +1,367 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/res/values/strings.xml b/res/values/strings.xml
index da54e9d3523..d51001838c2 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -989,6 +989,12 @@
Save
Cancel
+
+ Back
+
+ Detail
diff --git a/src/com/android/settings/wifi/WifiConfigPreference.java b/src/com/android/settings/wifi/WifiConfigPreference.java
index 5a0982771d6..c49548150f3 100644
--- a/src/com/android/settings/wifi/WifiConfigPreference.java
+++ b/src/com/android/settings/wifi/WifiConfigPreference.java
@@ -45,7 +45,8 @@ public class WifiConfigPreference extends Preference implements WifiConfigUiBase
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 ee567149acc..d930b5862f0 100644
--- a/src/com/android/settings/wifi/WifiConfigUiBase.java
+++ b/src/com/android/settings/wifi/WifiConfigUiBase.java
@@ -22,7 +22,7 @@ import android.widget.Button;
/**
* 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 d8d0a60a278..efafd597d51 100644
--- a/src/com/android/settings/wifi/WifiSettings.java
+++ b/src/com/android/settings/wifi/WifiSettings.java
@@ -94,7 +94,7 @@ public class WifiSettings extends SettingsPreferenceFragment
// 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 @@ public class WifiSettings extends SettingsPreferenceFragment
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 @@ public class WifiSettings extends SettingsPreferenceFragment
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 @@ public class WifiSettings extends SettingsPreferenceFragment
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 @@ public class WifiSettings extends SettingsPreferenceFragment
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 50e3f4cc8c2..080150480f4 100644
--- a/src/com/android/settings/wifi/WifiSettingsForSetupWizardXL.java
+++ b/src/com/android/settings/wifi/WifiSettingsForSetupWizardXL.java
@@ -103,6 +103,7 @@ public class WifiSettingsForSetupWizardXL extends Activity implements OnClickLis
((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 @@ public class WifiSettingsForSetupWizardXL extends Activity implements OnClickLis
mStatusText.setText(R.string.wifi_setup_status_select_network);
mWifiSettings.detachConfigPreference();
break;
+ case R.id.wifi_setup_detail:
+ mWifiSettings.showDialogForSelectedPreference();
+ break;
}
hideSoftwareKeyboard();
}