diff --git a/res/layout-xlarge/date_time_settings_setupwizard.xml b/res/layout-xlarge/date_time_settings_setupwizard.xml
index de2065b..0b5d6bf 100644
--- a/res/layout-xlarge/date_time_settings_setupwizard.xml
+++ b/res/layout-xlarge/date_time_settings_setupwizard.xml
@@ -13,27 +13,29 @@
      See the License for the specific language governing permissions and
      limitations under the License.
   -->
-<!-- TODO: too many LinearLayout. -->
 <RelativeLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:orientation="vertical"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    android:paddingTop="60dip"
-    android:paddingLeft="100dip"
-    android:paddingRight="100dip"
-    android:paddingBottom="40dip">
+    android:paddingTop="96dip"
+    android:paddingLeft="128dip"
+    android:paddingRight="128dip"
+    android:paddingBottom="96dip">
 
     <!-- Title: Set date & time-->
     <TextView
         android:id="@+id/title"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
+        android:minHeight="48dip"
         android:layout_alignParentLeft="true"
+        android:layout_marginLeft="16dip"
         android:layout_alignParentTop="true"
-        android:textSize="40dip"
+        android:textSize="30dip"
         android:textColor="#FF99cc00"
-        android:text="@string/date_and_time_settings_title"/>
+        android:text="@string/date_and_time_settings_title"
+        android:gravity="center_vertical" />
 
     <!-- Divider -->
     <View
@@ -41,111 +43,105 @@
         android:layout_width="match_parent"
         android:layout_height="1px"
         android:layout_below="@id/title"
-        android:background="@color/divider_color"
-        android:layout_marginBottom="5dip" />
+        android:background="@color/divider_color" />
+
+    <!-- timezone -->
+    <Button
+        android:id="@+id/time_zone_button"
+        style="?android:attr/dropDownSpinnerStyle"
+        android:layout_width="304dip"
+        android:layout_height="48dip"
+        android:layout_below="@id/top_divider"
+        android:layout_marginTop="48dip"
+        android:layout_marginLeft="16dip"
+        android:paddingLeft="16dip"
+        android:paddingTop="0dip"
+        android:paddingBottom="0dip"
+        android:gravity="left|center"
+        android:textAppearance="?android:attr/textAppearanceMedium" />
 
     <LinearLayout
-        android:layout_width="match_parent"
+        android:id="@+id/date_time_auto"
+        android:layout_width="624dip"
         android:layout_height="wrap_content"
+        android:orientation="vertical"
         android:layout_below="@id/top_divider"
-        android:layout_alignParentLeft="true"
-        android:layout_marginTop="60dip"
-        android:orientation="horizontal">
+        android:layout_alignParentRight="true"
+        android:layout_marginTop="32dip"
+        android:layout_marginRight="16dip"
+        android:layout_marginBottom="48dip">
 
-        <!-- left: timezone -->
-        <LinearLayout
-            android:layout_width="0px"
-            android:layout_weight=".48"
+        <Switch
+            android:id="@+id/date_time_auto_button"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:orientation="vertical">
-            <!-- text should manually be set. -->
-            <Button
-                 android:id="@+id/time_zone_button"
-                 android:layout_width="400dip"
-                 android:layout_height="60dip"
-                 android:textSize="24dip" />
-            <!-- <LinearLayout android:id="@+id/zone_picker"
-                               android:orientation="vertical"
-                              android:layout_width="fill_parent"
-                              android:layout_height="350dip"
-                              android:gravity="center"
-                              android:visibility="gone"
-                              android:clickable="true">
-                    <fragment android:id="@+id/zone_picker_fragment"
-                              class="com.android.settings.ZonePicker"
-                              android:layout_width="fill_parent"
-                              android:layout_height="wrap_content" />
-            </LinearLayout> -->
-        </LinearLayout>
+            android:minHeight="?android:attr/listPreferredItemHeight"
+            android:layout_marginLeft="16dip"
+            android:layout_marginRight="16dip"
+            android:text="@string/date_time_auto"
+            android:textAppearance="?android:attr/textAppearanceMedium" />
 
-        <!-- spacer on center -->
+        <!-- Divider -->
         <View
-            android:layout_width="0px"
-            android:layout_weight=".04"
-            android:layout_height="0dip"
-            android:visibility="invisible" />
-
-        <!-- right: DateTime -->
-        <RelativeLayout
-            android:layout_width="0px"
-            android:layout_weight=".48"
-            android:layout_height="wrap_content">
-
-            <CheckBox
-                android:id="@+id/date_time_auto"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_alignParentTop="true"
-                android:gravity="left"
-                android:textSize="22dip"
-                android:text="@string/date_time_auto" />
-
-            <!-- Divider -->
-            <View
-                android:id="@+id/datetime_divider"
-                android:layout_width="match_parent"
-                android:layout_height="1px"
-                android:layout_below="@id/date_time_auto"
-                android:background="@color/divider_color"
-                android:layout_marginTop="15dip"
-                android:layout_marginBottom="80dip" />
-
-            <TimePicker
-                android:id="@+id/time_picker"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_alignParentLeft="true"
-                android:layout_below="@id/datetime_divider" />
-
-            <DatePicker
-                android:id="@+id/date_picker"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_alignParentRight="true"
-                android:layout_below="@id/datetime_divider" />
-
-        </RelativeLayout>
+            android:layout_width="match_parent"
+            android:layout_height="1px"
+            android:background="@color/divider_color" />
     </LinearLayout>
 
+    <TextView
+        android:id="@+id/date_picker_title"
+        android:layout_width="312dip"
+        android:layout_height="48dip"
+        android:layout_toLeftOf="@+id/time_picker_title"
+        android:layout_below="@id/date_time_auto"
+        android:text="@string/date_picker_title"
+        android:textAppearance="?android:attr/textAppearanceMedium"
+        android:gravity="center" />
+
+    <DatePicker
+        android:id="@+id/date_picker"
+        android:layout_width="312dip"
+        android:layout_height="wrap_content"
+        android:layout_toLeftOf="@+id/time_picker"
+        android:layout_below="@id/date_picker_title" />
+
+    <TextView
+        android:id="@+id/time_picker_title"
+        android:layout_width="312dip"
+        android:layout_height="48dip"
+        android:layout_below="@id/date_time_auto"
+        android:layout_alignParentRight="true"
+        android:text="@string/time_picker_title"
+        android:textAppearance="?android:attr/textAppearanceMedium"
+        android:gravity="center" />
+
+    <TimePicker
+        android:id="@+id/time_picker"
+        android:layout_width="312dip"
+        android:layout_height="wrap_content"
+        android:layout_alignParentRight="true"
+        android:layout_below="@id/time_picker_title" />
+
     <!-- TODO: remove this button when we are sure it is needless -->
     <Button
         android:id="@+id/skip_button"
-        android:layout_width="250dip"
-        android:layout_height="80dip"
+        android:layout_width="208dip"
+        android:layout_height="48dip"
+        android:textAppearance="?android:attr/textAppearanceMedium"
         android:layout_alignParentBottom="true"
         android:layout_toLeftOf="@+id/next_button"
-        android:layout_marginRight="20dip"
-        android:textSize="24dip"
+        android:layout_marginRight="16dip"
         android:text="@string/skip_label"
         android:visibility="gone" />
 
     <Button
         android:id="@+id/next_button"
-        android:layout_width="250dip"
-        android:layout_height="80dip"
+        android:layout_width="208dip"
+        android:layout_height="48dip"
         android:layout_alignParentBottom="true"
         android:layout_alignParentRight="true"
-        android:textSize="24dip"
-        android:text="@string/next_label" />
+        android:layout_marginRight="16dip"
+        android:text="@string/next_label"
+        android:textAppearance="?android:attr/textAppearanceMedium" />
 
 </RelativeLayout>
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 e438fab..e44b09c 100644
--- a/res/layout-xlarge/wifi_settings_for_setup_wizard_xl.xml
+++ b/res/layout-xlarge/wifi_settings_for_setup_wizard_xl.xml
@@ -13,91 +13,118 @@
      See the License for the specific language governing permissions and
      limitations under the License.
   -->
+
 <RelativeLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:orientation="horizontal"
     android:layout_width="fill_parent"
     android:layout_height="fill_parent"
-    android:paddingTop="60dip"
-    android:paddingLeft="100dip"
-    android:paddingRight="100dip"
-    android:paddingBottom="40dip">
+    android:paddingTop="120dip"
+    android:paddingLeft="96dip"
+    android:paddingRight="96dip"
+    android:paddingBottom="0dip" >
 
-    <TextView
-        android:id="@+id/wifi_setup_title"
-        android:layout_width="wrap_content"
+    <RelativeLayout
+        android:id="@+id/title_bar"
+        android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:layout_alignParentLeft="true"
-        android:layout_alignParentTop="true"
-        android:textSize="40dip"
-        android:textColor="#FF99cc00"
-        android:text="@string/wifi_setup_title"/>
+        android:minHeight="48dip"
+        android:layout_alignParentTop="true">
 
-    <ProgressBar
-        android:id="@+id/scanning_progress_bar"
-        android:layout_width="100dip"
-        android:layout_height="wrap_content"
-        android:layout_above="@+id/scanning_progress_text"
-        android:layout_alignParentRight="true"
-        style="?android:attr/progressBarStyleHorizontal" />
+        <TextView
+            android:id="@+id/wifi_setup_title"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_alignParentLeft="true"
+            android:layout_centerVertical="true"
+            android:layout_marginLeft="16dip"
+            android:textSize="30dip"
+            android:textColor="#FF99cc00"
+            android:text="@string/wifi_setup_title"/>
 
-    <TextView
-        android:id="@+id/scanning_progress_text"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_alignParentRight="true"
-        android:layout_above="@+id/top_divider"
-        android:gravity="right"
-        android:textSize="22dip"
-        android:textColor="#ff40520f" />
+        <TextView
+            android:id="@+id/scanning_progress_text"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_alignParentRight="true"
+            android:layout_centerVertical="true"
+            android:layout_marginRight="16dip"
+            android:textAppearance="?android:attr/textAppearanceSmall"
+            android:textColor="#6699cc00" />
+    </RelativeLayout>
 
     <!-- Divider -->
-    <View
+    <RelativeLayout
         android:id="@+id/top_divider"
         android:layout_width="match_parent"
-        android:layout_height="1px"
-        android:layout_below="@id/wifi_setup_title"
-        android:background="@color/divider_color"
-        android:layout_marginBottom="5dip" />
+        android:layout_height="wrap_content"
+        android:layout_below="@id/title_bar">
+        <ProgressBar
+            android:id="@+id/scanning_progress_bar"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            style="?android:attr/progressBarStyleHorizontal" />
+
+        <View
+            android:id="@+id/divider"
+            android:layout_width="match_parent"
+            android:layout_height="1px"
+            android:layout_alignBottom="@id/scanning_progress_bar"
+            android:background="@color/divider_color" />
+    </RelativeLayout>
 
     <TextView
         android:id="@+id/wifi_setup_status"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_below="@+id/top_divider"
-        android:layout_marginBottom="20dip"
-        android:layout_marginLeft="5dip"
-        android:textAppearance="?android:attr/textAppearanceLarge"
-        android:text="@string/wifi_setup_status_select_network"/>
+        android:layout_alignParentLeft="true"
+        android:layout_marginLeft="16dip"
+        android:layout_marginTop="32dip"
+        android:layout_marginBottom="0dip"
+        android:text="@string/wifi_setup_status_select_network"
+        android:textAppearance="?android:attr/textAppearanceMedium" />
 
     <FrameLayout
-        android:id="@+id/wifi_setup"
-        android:layout_width="400dip"
+        android:id="@+id/content"
+        android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:layout_alignParentLeft="true"
-        android:layout_below="@+id/wifi_setup_status">
-        <fragment
-             class="com.android.settings.wifi.WifiSettings"
-             android:id="@+id/wifi_setup_fragment"
-             android:layout_width="match_parent"
-             android:layout_height="wrap_content" />
-    </FrameLayout>
-    <FrameLayout
-        android:id="@+id/wifi_config_ui"
-        android:layout_width="400dip"
-        android:layout_height="wrap_content"
-        android:layout_alignParentLeft="true"
+        android:minHeight="138dip"
         android:layout_below="@+id/wifi_setup_status"
-        android:visibility="gone" />
+        android:layout_alignParentLeft="true"
+        android:layout_marginTop="0dip"
+        android:layout_marginLeft="16dip"
+        android:layout_marginRight="16dip"
+        android:layout_marginBottom="0dip">
 
+        <FrameLayout
+            android:id="@+id/wifi_setup"
+            android:layout_width="416dip"
+            android:layout_height="383dip"
+            android:paddingTop="16dip">
+            <fragment
+                class="com.android.settings.wifi.WifiSettings"
+                android:id="@+id/wifi_setup_fragment"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content" />
+        </FrameLayout>
+        <FrameLayout
+            android:id="@+id/wifi_config_ui"
+            android:layout_width="416dip"
+            android:layout_height="wrap_content"
+            android:paddingTop="32dip"
+            android:visibility="gone" />
+    </FrameLayout>
+
+    <!-- TODO: should be removed -->
     <Button android:id="@+id/wifi_setup_detail"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_below="@id/wifi_config_ui"
             android:layout_alignLeft="@id/wifi_config_ui"
-            android:textSize="18dip"
-            android:text="@string/wifi_setup_detail"
             android:gravity="left|center_vertical"
+            android:text="@string/wifi_setup_detail"
+            android:textAppearance="?android:attr/textAppearanceMedium"
             android:visibility="gone" />
 
     <LinearLayout
@@ -106,55 +133,62 @@
         android:layout_height="wrap_content"
         android:orientation="vertical"
         android:layout_alignParentRight="true"
-        android:layout_alignParentBottom="true">
+        android:layout_marginRight="16dip"
+        android:layout_alignBottom="@+id/content"
+        android:layout_marginBottom="16dip">
 
         <Button android:id="@+id/wifi_setup_forget"
-                android:layout_width="260dip"
-                android:layout_height="60dip"
-                android:textSize="24dip"
+                android:layout_width="208dip"
+                android:layout_height="48dip"
+                android:layout_marginLeft="16dip"
                 android:text="@string/wifi_setup_forget"
+                android:textAppearance="?android:attr/textAppearanceMedium"
                 android:visibility="gone" />
 
         <Button android:id="@+id/wifi_setup_connect"
-                android:layout_width="260dip"
-                android:layout_height="60dip"
-                android:layout_marginTop="20dip"
-                android:textSize="24dip"
+                android:layout_width="208dip"
+                android:layout_height="48dip"
+                android:layout_marginTop="96dip"
+                android:layout_marginLeft="16dip"
                 android:text="@string/wifi_setup_connect"
+                android:textAppearance="?android:attr/textAppearanceMedium"
                 android:enabled="false"
                 android:visibility="gone" />
 
         <Button android:id="@+id/wifi_setup_add_network"
-                android:layout_width="260dip"
-                android:layout_height="60dip"
-                android:textSize="24dip"
+                android:layout_width="208dip"
+                android:layout_height="48dip"
+                android:layout_marginLeft="16dip"
                 android:text="@string/wifi_setup_add_network"
+                android:textAppearance="?android:attr/textAppearanceMedium"
                 android:enabled="false" />
 
         <Button android:id="@+id/wifi_setup_refresh_list"
-                android:layout_width="260dip"
-                android:layout_height="60dip"
-                android:textSize="24dip"
+                android:layout_width="208dip"
+                android:layout_height="48dip"
+                android:layout_marginLeft="16dip"
                 android:text="@string/wifi_setup_refresh_list"
+                android:textAppearance="?android:attr/textAppearanceMedium"
                 android:enabled="false" />
 
         <Button android:id="@+id/wifi_setup_skip_or_next"
-                android:layout_width="260dip"
-                android:layout_height="60dip"
-                android:layout_marginTop="30dip"
-                android:textSize="24dip"
+                android:layout_width="208dip"
+                android:layout_height="48dip"
+                android:layout_marginTop="96dip"
+                android:layout_marginLeft="16dip"
                 android:text="@string/wifi_setup_skip"
+                android:textAppearance="?android:attr/textAppearanceMedium"
                 android:enabled="false" />
     </LinearLayout>
 
     <!-- This misleading name is for keeping consistency between non-XL layouts -->
     <Button android:id="@+id/wifi_setup_cancel"
-            android:layout_width="260dip"
-            android:layout_height="60dip"
-            android:layout_marginTop="20dip"
-            android:layout_alignParentBottom="true"
+            android:layout_width="208dip"
+            android:layout_height="48dip"
+            android:textAppearance="?android:attr/textAppearanceMedium"
+            android:layout_marginBottom="16dip"
+            android:layout_alignBottom="@+id/content"
             android:layout_toLeftOf="@id/right_buttons"
-            android:textSize="24dip"
             android:text="@string/wifi_setup_back"
             android:visibility="gone" />
 </RelativeLayout>
diff --git a/res/layout/custom_list_item.xml b/res/layout/custom_list_item.xml
new file mode 100644
index 0000000..afcbc8c
--- /dev/null
+++ b/res/layout/custom_list_item.xml
@@ -0,0 +1,43 @@
+<?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.
+-->
+
+<!-- Based on simple_list_item_2.xml in framework -->
+<TwoLineListItem xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:minHeight="?android:attr/listPreferredItemHeight"
+    android:mode="twoLine"
+    android:gravity="center_vertical"
+>
+
+    <TextView android:id="@android:id/text1"
+              android:layout_width="match_parent"
+              android:layout_height="wrap_content"
+              android:minHeight="16dip"
+              android:layout_marginLeft="10dip"
+              android:textAppearance="?android:attr/textAppearanceMedium"
+              />
+
+    <TextView android:id="@android:id/text2"
+              android:layout_width="match_parent"
+              android:layout_height="wrap_content"
+              android:minHeight="10dip"
+              android:layout_below="@android:id/text1"
+              android:layout_alignLeft="@android:id/text1"
+              android:textAppearance="?android:attr/textAppearanceSmall"
+              />
+
+</TwoLineListItem>
diff --git a/res/layout/custom_preference.xml b/res/layout/custom_preference.xml
index cec8eba..fcdc9f5 100644
--- a/res/layout/custom_preference.xml
+++ b/res/layout/custom_preference.xml
@@ -31,6 +31,7 @@
     <RelativeLayout
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
+        android:layout_marginLeft="6dip"
         android:layout_marginRight="6dip"
         android:layout_marginTop="6dip"
         android:layout_marginBottom="6dip"
diff --git a/res/layout/custom_preference_list_fragment.xml b/res/layout/custom_preference_list_fragment.xml
new file mode 100644
index 0000000..f0bf010
--- /dev/null
+++ b/res/layout/custom_preference_list_fragment.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 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.
+*/
+-->
+
+<!-- Based on preference_list_fragment.xml in framework -->
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:orientation="vertical"
+    android:layout_height="match_parent"
+    android:layout_width="match_parent"
+    android:background="@android:color/transparent">
+
+    <ListView android:id="@android:id/list"
+        android:layout_width="match_parent"
+        android:layout_height="0px"
+        android:layout_weight="1"
+        android:paddingTop="0dip"
+        android:paddingBottom="0dip"
+        android:paddingLeft="0dip"
+        android:paddingRight="0dip"
+        android:clipToPadding="false"
+        android:drawSelectorOnTop="false"
+        android:cacheColorHint="@android:color/transparent"
+        android:scrollbarAlwaysDrawVerticalTrack="true" />
+</LinearLayout>
diff --git a/res/layout/wifi_config_ui_for_setup_wizard.xml b/res/layout/wifi_config_ui_for_setup_wizard.xml
index c32920a..f358bab 100644
--- a/res/layout/wifi_config_ui_for_setup_wizard.xml
+++ b/res/layout/wifi_config_ui_for_setup_wizard.xml
@@ -108,13 +108,14 @@
     <LinearLayout android:id="@+id/eap_not_supported"
                   android:layout_width="fill_parent"
                   android:layout_height="wrap_content"
-                  android:layout_marginTop="20dip"
+                  android:layout_marginTop="32dip"
                   android:orientation="vertical"
                   android:visibility="gone">
         <TextView android:layout_width="match_parent"
                   android:layout_height="wrap_content"
-                  android:textSize="22sp"
-                  android:text="@string/wifi_setup_eap_not_supported" />
+                  android:lineSpacingExtra="12dip"
+                  android:text="@string/wifi_setup_eap_not_supported"
+                  android:textAppearance="?android:attr/textAppearanceMedium" />
     </LinearLayout>
 
     <!-- All the views below are "gone".
diff --git a/res/layout/wifi_dialog.xml b/res/layout/wifi_dialog.xml
index 25ad510..35ca6f0 100644
--- a/res/layout/wifi_dialog.xml
+++ b/res/layout/wifi_dialog.xml
@@ -271,7 +271,7 @@
                 style="@style/wifi_item"
                 android:visibility="gone">
 
-            <TextView
+            <TextView android:id="@+id/proxy_settings_title"
                     style="@style/wifi_item_label"
                     android:text="@string/proxy_settings_title" />
 
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 912f042..df0425f 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -544,6 +544,12 @@
     <string name="zone_list_menu_sort_alphabetically">Sort alphabetically</string>
     <!-- Menu item on Select time zone screen -->
     <string name="zone_list_menu_sort_by_timezone">Sort by time zone</string>
+    <!-- Title string shown above DatePicker, letting a user select system date
+         [CHAR LIMIT=20] -->
+    <string name="date_picker_title">Date</string>
+    <!-- Title string shown above TimePicker, letting a user select system time
+         [CHAR LIMIT=20] -->
+    <string name="time_picker_title">Time</string>
 
     <!-- Security Settings --><skip />
 
diff --git a/res/xml/apn_editor.xml b/res/xml/apn_editor.xml
index 3835a2c..68a1b31 100644
--- a/res/xml/apn_editor.xml
+++ b/res/xml/apn_editor.xml
@@ -22,7 +22,7 @@
         android:dialogTitle="@string/apn_name"
         android:key="apn_name"
         android:singleLine="true"
-        android:inputType="textEmailAddress"
+        android:inputType="text"
         />
     <EditTextPreference
         android:title="@string/apn_apn"
diff --git a/src/com/android/settings/DateTimeSettingsSetupWizard.java b/src/com/android/settings/DateTimeSettingsSetupWizard.java
index 73cba03..7fd7ef7 100644
--- a/src/com/android/settings/DateTimeSettingsSetupWizard.java
+++ b/src/com/android/settings/DateTimeSettingsSetupWizard.java
@@ -100,7 +100,8 @@
         mTimeZoneButton.setText(tz.getDisplayName());
         // mTimeZoneButton.setText(DateTimeSettings.getTimeZoneText(tz));
         mTimeZoneButton.setOnClickListener(this);
-        mTimeZoneAdapter = ZonePicker.constructTimezoneAdapter(this, false);
+        mTimeZoneAdapter = ZonePicker.constructTimezoneAdapter(this, false,
+                R.layout.custom_list_item);
 
         final boolean autoDateTimeEnabled;
         final Intent intent = getIntent();
@@ -110,7 +111,7 @@
             autoDateTimeEnabled = isAutoDateTimeEnabled();
         }
 
-        mAutoDateTimeButton = (CompoundButton)findViewById(R.id.date_time_auto);
+        mAutoDateTimeButton = (CompoundButton)findViewById(R.id.date_time_auto_button);
         mAutoDateTimeButton.setChecked(autoDateTimeEnabled);
         mAutoDateTimeButton.setText(autoDateTimeEnabled ? R.string.date_time_auto_summaryOn :
                 R.string.date_time_auto_summaryOff);
@@ -120,6 +121,7 @@
         mTimePicker.setEnabled(!autoDateTimeEnabled);
         mDatePicker = (DatePicker)findViewById(R.id.date_picker);
         mDatePicker.setEnabled(!autoDateTimeEnabled);
+        mDatePicker.setCalendarViewShown(false);
 
         mInputMethodManager = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
 
diff --git a/src/com/android/settings/WirelessSettings.java b/src/com/android/settings/WirelessSettings.java
index e46707d..bdf8ce8 100644
--- a/src/com/android/settings/WirelessSettings.java
+++ b/src/com/android/settings/WirelessSettings.java
@@ -135,6 +135,8 @@
         Preference mGlobalProxy = findPreference(KEY_PROXY_SETTINGS);
         DevicePolicyManager mDPM = (DevicePolicyManager)
                 activity.getSystemService(Context.DEVICE_POLICY_SERVICE);
+        // proxy UI disabled until we have better app support
+        getPreferenceScreen().removePreference(mGlobalProxy);
         mGlobalProxy.setEnabled(mDPM.getGlobalProxyAdmin() == null);
 
         // Disable Tethering if it's not allowed
diff --git a/src/com/android/settings/ZonePicker.java b/src/com/android/settings/ZonePicker.java
index 83d46cb..652f3b7 100644
--- a/src/com/android/settings/ZonePicker.java
+++ b/src/com/android/settings/ZonePicker.java
@@ -80,6 +80,17 @@
      */
     public static SimpleAdapter constructTimezoneAdapter(Context context,
             boolean sortedByName) {
+        return constructTimezoneAdapter(context, sortedByName,
+                android.R.layout.simple_list_item_2);
+    }
+
+    /**
+     * Constructs an adapter with TimeZone list. Sorted by TimeZone in default.
+     *
+     * @param sortedByName use Name for sorting the list.
+     */
+    public static SimpleAdapter constructTimezoneAdapter(Context context,
+            boolean sortedByName, int layoutId) {
         final String[] from = new String[] {KEY_DISPLAYNAME, KEY_GMT};
         final int[] to = new int[] {android.R.id.text1, android.R.id.text2};
 
@@ -89,7 +100,7 @@
         Collections.sort(sortedList, comparator);
         final SimpleAdapter adapter = new SimpleAdapter(context,
                 sortedList,
-                android.R.layout.simple_list_item_2,
+                layoutId,
                 from,
                 to);
 
diff --git a/src/com/android/settings/accounts/ManageAccountsSettings.java b/src/com/android/settings/accounts/ManageAccountsSettings.java
index d769cdb..0b472ea 100644
--- a/src/com/android/settings/accounts/ManageAccountsSettings.java
+++ b/src/com/android/settings/accounts/ManageAccountsSettings.java
@@ -96,11 +96,16 @@
         super.onCreate(icicle);
 
         addPreferencesFromResource(R.xml.manage_accounts_settings);
-        AccountManager.get(getActivity()).addOnAccountsUpdatedListener(this, null, true);
         setHasOptionsMenu(true);
     }
 
     @Override
+    public void onStart() {
+        super.onStart();
+        AccountManager.get(getActivity()).addOnAccountsUpdatedListener(this, null, true);
+    }
+
+    @Override
     public View onCreateView(LayoutInflater inflater, ViewGroup container,
             Bundle savedInstanceState) {
         final View view = inflater.inflate(R.layout.manage_accounts_screen, container, false);
@@ -130,9 +135,9 @@
     }
 
     @Override
-    public void onDestroy() {
+    public void onStop() {
+        super.onStop();
         AccountManager.get(getActivity()).removeOnAccountsUpdatedListener(this);
-        super.onDestroy();
     }
 
     @Override
diff --git a/src/com/android/settings/wifi/WifiConfigController.java b/src/com/android/settings/wifi/WifiConfigController.java
index 649f7de..62d314e 100644
--- a/src/com/android/settings/wifi/WifiConfigController.java
+++ b/src/com/android/settings/wifi/WifiConfigController.java
@@ -166,6 +166,9 @@
             mIpSettingsSpinner = (Spinner) mView.findViewById(R.id.ip_settings);
             mIpSettingsSpinner.setOnItemSelectedListener(this);
             mProxySettingsSpinner = (Spinner) mView.findViewById(R.id.proxy_settings);
+            // disable proxy UI until we have better app support
+            mProxySettingsSpinner.setVisibility(View.GONE);
+            mView.findViewById(R.id.proxy_settings_title).setVisibility(View.GONE);
             mProxySettingsSpinner.setOnItemSelectedListener(this);
 
             ViewGroup group = (ViewGroup) mView.findViewById(R.id.info);
diff --git a/src/com/android/settings/wifi/WifiSettings.java b/src/com/android/settings/wifi/WifiSettings.java
index 3a1f767..510292a 100644
--- a/src/com/android/settings/wifi/WifiSettings.java
+++ b/src/com/android/settings/wifi/WifiSettings.java
@@ -49,10 +49,12 @@
 import android.security.KeyStore;
 import android.view.ContextMenu;
 import android.view.ContextMenu.ContextMenuInfo;
+import android.view.LayoutInflater;
 import android.view.Menu;
 import android.view.MenuInflater;
 import android.view.MenuItem;
 import android.view.View;
+import android.view.ViewGroup;
 import android.widget.AdapterView.AdapterContextMenuInfo;
 import android.widget.Toast;
 
@@ -107,11 +109,6 @@
     // this boolean extra specifies whether to disable the Next button when not connected
     private static final String EXTRA_ENABLE_NEXT_ON_CONNECT = "wifi_enable_next_on_connect";
 
-    // Indicates that this fragment is used as a part of Setup Wizard with XL screen settings.
-    // This fragment should show information which has been shown as Dialog in combined UI
-    // inside this fragment.
-    /* package */ static final String IN_XL_SETUP_WIZARD = "in_setup_wizard";
-
     // should Next button only be enabled when we have a connection?
     private boolean mEnableNextOnConnection;
     private boolean mInXlSetupWizard;
@@ -140,6 +137,23 @@
     }
 
     @Override
+    public void onAttach(Activity activity) {
+        super.onAttach(activity);
+
+        mInXlSetupWizard = (activity instanceof WifiSettingsForSetupWizardXL);
+    }
+
+    @Override
+    public View onCreateView(LayoutInflater inflater, ViewGroup container,
+            Bundle savedInstanceState) {
+        if (mInXlSetupWizard) {
+            return inflater.inflate(R.layout.custom_preference_list_fragment, container, false);
+        } else {
+            return super.onCreateView(inflater, container, savedInstanceState);
+        }
+    }
+
+    @Override
     public void onActivityCreated(Bundle savedInstanceState) {
         // We don't call super.onActivityCreated() here, since it assumes we already set up
         // Preference (probably in onCreate()), while WifiSettings exceptionally set it up in
@@ -150,11 +164,9 @@
         final Activity activity = getActivity();
         final Intent intent = activity.getIntent();
 
-
         // if we're supposed to enable/disable the Next button based on our current connection
         // state, start it off in the right state
         mEnableNextOnConnection = intent.getBooleanExtra(EXTRA_ENABLE_NEXT_ON_CONNECT, false);
-        mInXlSetupWizard = intent.getBooleanExtra(IN_XL_SETUP_WIZARD, false);
 
         if (mEnableNextOnConnection) {
             if (mEnableNextOnConnection && hasNextButton()) {
diff --git a/src/com/android/settings/wifi/WifiSettingsForSetupWizardXL.java b/src/com/android/settings/wifi/WifiSettingsForSetupWizardXL.java
index 2ebe87c..5e0b104 100644
--- a/src/com/android/settings/wifi/WifiSettingsForSetupWizardXL.java
+++ b/src/com/android/settings/wifi/WifiSettingsForSetupWizardXL.java
@@ -121,8 +121,6 @@
                 (WifiSettings)getFragmentManager().findFragmentById(R.id.wifi_setup_fragment);
         mInputMethodManager = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
         setup();
-        // XXX: should we use method?
-        getIntent().putExtra(WifiSettings.IN_XL_SETUP_WIZARD, true);
     }
 
     public void setup() {
@@ -243,6 +241,7 @@
             mProgressBar.setIndeterminate(false);
             mProgressBar.setProgress(2);
             mProgressText.setText(Summary.get(this, state));
+            mStatusText.setVisibility(View.VISIBLE);
             mStatusText.setText(R.string.wifi_setup_status_proceed_to_next);
 
             mAddNetworkButton.setVisibility(View.GONE);
@@ -275,6 +274,7 @@
     private void showConnectingStatus() {
         mProgressBar.setIndeterminate(false);
         mProgressBar.setProgress(1);
+        mStatusText.setVisibility(View.VISIBLE);
         mStatusText.setText(R.string.wifi_setup_status_connecting);
         mProgressText.setText(Summary.get(this, DetailedState.CONNECTING));
     }
@@ -284,6 +284,7 @@
         ((Button)findViewById(R.id.wifi_setup_add_network)).setEnabled(false);
         ((Button)findViewById(R.id.wifi_setup_refresh_list)).setEnabled(false);
         mProgressText.setText(Summary.get(this, DetailedState.SCANNING));
+        mStatusText.setVisibility(View.VISIBLE);
         mStatusText.setText(R.string.wifi_setup_status_scanning);
     }
 
@@ -327,14 +328,15 @@
         } else if (selectedAccessPoint != null &&
                 selectedAccessPoint.security == AccessPoint.SECURITY_EAP) {
             mStatusText.setText(R.string.wifi_setup_status_eap_not_supported);
+            mConnectButton.setVisibility(View.GONE);
         } else {
-            mStatusText.setText(R.string.wifi_setup_status_edit_network);
+            // mStatusText.setText(R.string.wifi_setup_status_edit_network);
+            mStatusText.setVisibility(View.GONE);
+            mConnectButton.setVisibility(View.VISIBLE);
         }
         mAddNetworkButton.setVisibility(View.GONE);
         mRefreshButton.setVisibility(View.GONE);
         mSkipOrNextButton.setVisibility(View.GONE);
-        mConnectButton.setVisibility(View.VISIBLE);
-        mConnectButton.setVisibility(View.VISIBLE);
         mBackButton.setVisibility(View.VISIBLE);
         // TODO: remove this after UI fix.
         // mDetailButton.setVisibility(View.VISIBLE);
@@ -400,6 +402,7 @@
         } else { // During user's Wifi configuration.
             mWifiSettings.resumeWifiScan();
 
+            mStatusText.setVisibility(View.VISIBLE);
             mStatusText.setText(R.string.wifi_setup_status_select_network);
             restoreFirstButtonVisibilityState();
 
