Merge "Save and restore brightness on orientation changes."
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();