Merge "Adding crespo specific CMParts overlay" into gingerbread
diff --git a/get-rommanager b/get-rommanager
index deee16e..e94c473 100755
--- a/get-rommanager
+++ b/get-rommanager
@@ -1,2 +1,2 @@
 mkdir -p `dirname $0`/proprietary
-curl -o `dirname $0`/proprietary/RomManager.apk -O http://koush.tandtgaming.com/recoveries/RomManager.apk
+curl -o `dirname $0`/proprietary/RomManager.apk -O http://mirror1.kanged.net/recoveries/RomManager.apk
diff --git a/overlay/ldpi/frameworks/base/core/res/res/drawable-mdpi/tab_focus.9.png b/overlay/ldpi/frameworks/base/core/res/res/drawable-mdpi/tab_focus.9.png
new file mode 100644
index 0000000..c603230
--- /dev/null
+++ b/overlay/ldpi/frameworks/base/core/res/res/drawable-mdpi/tab_focus.9.png
Binary files differ
diff --git a/overlay/ldpi/frameworks/base/core/res/res/drawable-mdpi/tab_press.9.png b/overlay/ldpi/frameworks/base/core/res/res/drawable-mdpi/tab_press.9.png
new file mode 100644
index 0000000..8e5b2ec
--- /dev/null
+++ b/overlay/ldpi/frameworks/base/core/res/res/drawable-mdpi/tab_press.9.png
Binary files differ
diff --git a/overlay/ldpi/frameworks/base/core/res/res/drawable-mdpi/tab_selected.9.png b/overlay/ldpi/frameworks/base/core/res/res/drawable-mdpi/tab_selected.9.png
new file mode 100644
index 0000000..92c81e2
--- /dev/null
+++ b/overlay/ldpi/frameworks/base/core/res/res/drawable-mdpi/tab_selected.9.png
Binary files differ
diff --git a/overlay/ldpi/frameworks/base/core/res/res/drawable-mdpi/tab_selected_v4.9.png b/overlay/ldpi/frameworks/base/core/res/res/drawable-mdpi/tab_selected_v4.9.png
new file mode 100644
index 0000000..b9cb5e1
--- /dev/null
+++ b/overlay/ldpi/frameworks/base/core/res/res/drawable-mdpi/tab_selected_v4.9.png
Binary files differ
diff --git a/overlay/ldpi/frameworks/base/core/res/res/layout/global_actions_item.xml b/overlay/ldpi/frameworks/base/core/res/res/layout/global_actions_item.xml
new file mode 100644
index 0000000..289e6ea
--- /dev/null
+++ b/overlay/ldpi/frameworks/base/core/res/res/layout/global_actions_item.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2008 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.
+-->
+
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="?android:attr/listPreferredItemHeight"
+
+    android:paddingLeft="11dip"
+    android:paddingTop="4dip"
+    android:paddingBottom="4dip"
+    >
+
+    <ImageView android:id="@+id/icon"
+        android:layout_width="wrap_content"
+        android:layout_height="match_parent"
+        android:layout_alignParentTop="true"
+        android:layout_alignParentBottom="true"
+        android:layout_marginRight="9dip"
+            />
+
+
+    <TextView android:id="@+id/status"
+        android:layout_width="match_parent"
+        android:layout_height="22dip"
+
+        android:layout_toRightOf="@id/icon"
+        android:layout_alignParentBottom="true"
+        android:layout_alignParentRight="true"
+
+        android:textAppearance="?android:attr/textAppearanceSmallInverse"
+        />
+
+
+    <TextView android:id="@+id/message"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+
+        android:layout_toRightOf="@id/icon"
+        android:layout_alignParentRight="true"
+        android:layout_alignParentTop="true"
+        android:layout_above="@id/status"
+        android:layout_alignWithParentIfMissing="true"
+        android:gravity="center_vertical"
+        android:textAppearance="?android:attr/textAppearanceLargeInverse"
+        />
+
+
+</RelativeLayout>
diff --git a/overlay/ldpi/frameworks/base/core/res/res/layout/keyguard_screen_sim_pin_portrait.xml b/overlay/ldpi/frameworks/base/core/res/res/layout/keyguard_screen_sim_pin_portrait.xml
new file mode 100644
index 0000000..48a694f
--- /dev/null
+++ b/overlay/ldpi/frameworks/base/core/res/res/layout/keyguard_screen_sim_pin_portrait.xml
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+**
+** Copyright 2008, 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.
+*/
+-->
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical"
+    android:background="@android:color/background_dark"
+    android:gravity="center_horizontal">
+
+    <LinearLayout android:id="@+id/topDisplayGroup"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:orientation="vertical">
+
+        <!-- header text ('Enter Pin Code') -->
+        <TextView android:id="@+id/headerText"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:gravity="center"
+            android:singleLine="true"
+            android:textAppearance="?android:attr/textAppearanceLarge"/>
+
+        <!-- Carrier info -->
+        <TextView android:id="@+id/carrier"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="2dip"
+            android:layout_marginBottom="2dip"
+            android:gravity="center"
+            android:singleLine="true"
+            android:ellipsize="marquee"
+            android:textAppearance="?android:attr/textAppearanceMedium"/>
+
+        <!-- password entry -->
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:orientation="horizontal"
+            android:layout_marginRight="6dip"
+            android:layout_marginLeft="6dip"
+            android:gravity="center_vertical"
+            android:background="@android:drawable/edit_text">
+
+            <!-- displays dots as user enters pin -->
+            <TextView android:id="@+id/pinDisplay"
+                android:layout_width="0dip"
+                android:layout_height="wrap_content"
+                android:layout_weight="1"
+                android:maxLines="1"
+                android:textAppearance="?android:attr/textAppearanceLargeInverse"
+                android:textStyle="bold"
+                android:inputType="textPassword"
+            />
+
+            <ImageButton android:id="@+id/backspace"
+                android:src="@android:drawable/ic_input_delete"
+                android:layout_width="48.0dip"
+                android:layout_height="48.0dip"
+                android:layout_marginRight="-3dip"
+                android:layout_marginBottom="-3dip"
+            />
+        </LinearLayout>
+
+    </LinearLayout>
+
+    <include
+        android:id="@+id/keyPad"
+        layout="@android:layout/twelve_key_entry"
+        android:layout_width="fill_parent"
+        android:layout_height="wrap_content"
+        android:layout_below="@id/topDisplayGroup"
+        android:layout_marginTop="3dip"
+        android:layout_marginBottom="3dip"
+    />
+
+    <!-- spacer below keypad -->
+    <View
+        android:id="@+id/spacerBottom"
+        android:layout_width="match_parent"
+        android:layout_height="1dip"
+        android:layout_above="@id/emergencyCall"
+        android:background="@android:drawable/divider_horizontal_dark"
+    />
+
+    <!-- The emergency button should take the rest of the space and be centered vertically -->
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="0dip"
+        android:layout_weight="1"
+        android:gravity="center"
+        android:orientation="vertical">
+
+        <!-- emergency call button -->
+        <Button
+            android:id="@+id/emergencyCall"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:drawableLeft="@android:drawable/ic_emergency"
+            android:drawablePadding="8dip"
+            android:text="@android:string/lockscreen_emergency_call"
+        />
+    </LinearLayout>
+
+</LinearLayout>
diff --git a/overlay/ldpi/frameworks/base/core/res/res/layout/keyguard_screen_tab_unlock.xml b/overlay/ldpi/frameworks/base/core/res/res/layout/keyguard_screen_tab_unlock.xml
new file mode 100644
index 0000000..b86e277
--- /dev/null
+++ b/overlay/ldpi/frameworks/base/core/res/res/layout/keyguard_screen_tab_unlock.xml
@@ -0,0 +1,252 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+**
+** Copyright 2009, 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.
+*/
+-->
+
+<!-- This is the general lock screen which shows information about the
+  state of the device, as well as instructions on how to get past it
+  depending on the state of the device.  It is the same for landscape
+  and portrait.-->
+<android.gesture.GestureOverlayView
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/gestures"
+    android:layout_width="fill_parent"
+    android:layout_height="fill_parent"
+    android:gestureStrokeType="multiple"
+    android:eventsInterceptionEnabled="false"
+    android:orientation="none">
+    <RelativeLayout
+        xmlns:tabunlock="http://schemas.android.com/apk/res/com.android.tabunlock"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:background="#70000000"
+        android:gravity="center_horizontal"
+        android:id="@+id/root">
+
+        <TextView
+            android:id="@+id/carrier"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_alignParentTop="true"
+            android:layout_alignParentRight="true"
+            android:layout_marginTop="2dip"
+            android:layout_marginRight="8dip"
+            android:singleLine="true"
+            android:ellipsize="marquee"
+            android:gravity="right|bottom"
+            android:textAppearance="?android:attr/textAppearanceMedium"
+            />
+
+        <!-- "emergency calls only" shown when sim is missing or PUKd -->
+        <TextView
+            android:id="@+id/emergencyCallText"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_below="@id/carrier"
+            android:layout_alignParentRight="true"
+            android:layout_marginTop="0dip"
+            android:layout_marginRight="8dip"
+            android:text="@string/emergency_calls_only"
+            android:textAppearance="?android:attr/textAppearanceSmall"
+            android:textColor="@color/white"
+            />
+
+    <!-- time and date -->
+        <com.android.internal.widget.DigitalClock android:id="@+id/time"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_below="@id/carrier"
+            android:layout_marginTop="20dip"
+            android:layout_marginLeft="20dip"
+            android:paddingBottom="4dip"
+            >
+
+            <TextView android:id="@+id/timeDisplay"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:singleLine="true"
+                android:ellipsize="none"
+                android:textSize="72sp"
+                android:textAppearance="?android:attr/textAppearanceMedium"
+                android:shadowColor="#C0000000"
+                android:shadowDx="0"
+                android:shadowDy="0"
+                android:shadowRadius="3.0"
+                android:layout_marginBottom="0dip"
+                />
+
+            <TextView android:id="@+id/am_pm"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_toRightOf="@id/timeDisplay"
+                android:layout_alignBaseline="@id/timeDisplay"
+                android:singleLine="true"
+                android:ellipsize="none"
+                android:textSize="22sp"
+                android:layout_marginLeft="8dip"
+                android:textAppearance="?android:attr/textAppearanceMedium"
+                android:shadowColor="#C0000000"
+                android:shadowDx="0"
+                android:shadowDy="0"
+                android:shadowRadius="3.0"
+                />
+        </com.android.internal.widget.DigitalClock>
+
+        <TextView
+            android:id="@+id/date"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_below="@id/time"
+            android:layout_marginLeft="24dip"
+            android:textAppearance="?android:attr/textAppearanceMedium"
+            />
+
+        <TextView
+            android:id="@+id/status1"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_below="@id/date"
+            android:layout_marginTop="2dip"
+            android:layout_marginLeft="24dip"
+            android:textAppearance="?android:attr/textAppearanceMedium"
+            android:drawablePadding="4dip"
+            />
+
+        <TextView
+            android:id="@+id/status2"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_below="@id/status1"
+            android:layout_marginTop="0dip"
+            android:layout_marginLeft="24dip"
+            android:textAppearance="?android:attr/textAppearanceMedium"
+            android:drawablePadding="4dip"
+            />
+
+        <TextView
+            android:id="@+id/customMsg"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="0dip"
+            android:layout_marginLeft="24dip"
+            android:layout_marginRight="24dip"
+            android:layout_below="@id/status2"
+            android:textAppearance="?android:attr/textAppearanceSmall"
+            />
+
+        <TextView
+            android:id="@+id/screenLocked"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_below="@id/customMsg"
+            android:layout_marginLeft="24dip"
+            android:textAppearance="?android:attr/textAppearanceMedium"
+            android:layout_marginTop="2dip"
+            android:drawablePadding="4dip"
+            />
+
+        <com.android.internal.widget.SlidingTab
+            android:id="@+id/tab_selector2"
+            android:orientation="horizontal"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_alignParentBottom="true"
+            android:layout_marginBottom="128dip"
+            />
+
+        <com.android.internal.widget.SlidingTab
+            android:id="@+id/tab_selector"
+            android:orientation="horizontal"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_alignParentBottom="true"
+            android:layout_marginBottom="40dip"
+            />
+
+        <com.android.internal.widget.RotarySelector
+            android:id="@+id/rotary_selector"
+            android:orientation="horizontal"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_alignParentBottom="true"
+            android:layout_marginBottom="0dip"
+            />
+
+        <!-- emergency call button shown when sim is PUKd and tab_selector is
+             hidden -->
+        <Button
+            android:id="@+id/emergencyCallButton"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:drawableLeft="@drawable/ic_emergency"
+            android:layout_centerInParent="true"
+            android:layout_alignParentBottom="true"
+            android:layout_marginBottom="62dip"
+            style="@style/Widget.Button.Transparent"
+            android:drawablePadding="8dip"
+            android:visibility="gone"
+            />
+
+        <!-- music control buttons -->
+        <ImageButton
+            android:id="@+id/musicControlPlay"
+            android:src="@drawable/ic_media_play"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_centerInParent="true"
+            android:layout_alignParentBottom="true"
+            android:padding="10px"
+            android:background="@color/transparent"
+            android:visibility="gone"
+            />
+        <ImageButton
+            android:id="@+id/musicControlPause"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:src="@drawable/ic_media_pause"
+            android:layout_centerInParent="true"
+            android:layout_alignParentBottom="true"
+            android:padding="10px"
+            android:background="@color/transparent"
+            android:visibility="gone"
+            />
+        <ImageButton
+            android:id="@+id/musicControlPrevious"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:src="@drawable/ic_media_previous"
+            android:layout_alignParentBottom="true"
+            android:layout_marginRight="20dip"
+            android:padding="10px"
+            android:layout_toLeftOf="@+id/musicControlPause"
+            android:background="@color/transparent"
+            android:visibility="gone"
+            />
+        <ImageButton
+            android:id="@+id/musicControlNext"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:src="@drawable/ic_media_next"
+            android:layout_alignParentBottom="true"
+            android:layout_marginLeft="20dip"
+            android:padding="10px"
+            android:layout_toRightOf="@+id/musicControlPause"
+            android:background="@color/transparent"
+            android:visibility="gone"
+            />
+    </RelativeLayout>
+</android.gesture.GestureOverlayView>
diff --git a/overlay/ldpi/frameworks/base/core/res/res/layout/preference_dialog_edittext.xml b/overlay/ldpi/frameworks/base/core/res/res/layout/preference_dialog_edittext.xml
new file mode 100644
index 0000000..457f3f2
--- /dev/null
+++ b/overlay/ldpi/frameworks/base/core/res/res/layout/preference_dialog_edittext.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2006 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.
+-->
+
+<!-- Layout used as the dialog's content View for EditTextPreference. -->
+<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
+
+    <LinearLayout
+        android:id="@+android:id/edittext_container"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:padding="0dip"
+        android:orientation="vertical">
+
+        <TextView android:id="@+android:id/message"
+            style="?android:attr/textAppearanceSmall"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:textColor="?android:attr/textColorSecondary" />
+            
+    </LinearLayout>
+
+</ScrollView>
diff --git a/overlay/ldpi/frameworks/base/core/res/res/layout/twelve_key_entry.xml b/overlay/ldpi/frameworks/base/core/res/res/layout/twelve_key_entry.xml
new file mode 100644
index 0000000..4555b91
--- /dev/null
+++ b/overlay/ldpi/frameworks/base/core/res/res/layout/twelve_key_entry.xml
@@ -0,0 +1,181 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2008, 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.
+*/
+-->
+
+<!-- This is not a standalone element it can be included into apps that need 12-key input -->
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:orientation="vertical">
+
+    <LinearLayout
+        android:layout_width="fill_parent"
+        android:layout_height="50dip"
+        android:layout_marginLeft="2dip"
+        android:layout_marginRight="2dip"
+        android:orientation="horizontal">
+
+        <Button android:id="@+id/one"
+            android:layout_width="0sp"
+            android:layout_height="fill_parent"
+            android:layout_weight="1"
+            android:layout_marginLeft="2dip"
+            android:layout_marginRight="2dip"
+            android:textAppearance="?android:attr/textAppearanceLarge"
+            android:textStyle="bold"
+        />
+
+        <Button android:id="@+id/two"
+            android:layout_width="0sp"
+            android:layout_height="fill_parent"
+            android:layout_weight="1"
+            android:layout_marginLeft="2dip"
+            android:layout_marginRight="2dip"
+            android:textAppearance="?android:attr/textAppearanceLarge"
+            android:textStyle="bold"
+        />
+
+        <Button android:id="@+id/three"
+            android:layout_width="0sp"
+            android:layout_height="fill_parent"
+            android:layout_weight="1"
+            android:layout_marginLeft="2dip"
+            android:layout_marginRight="2dip"
+            android:textAppearance="?android:attr/textAppearanceLarge"
+            android:textStyle="bold"
+        />
+
+    </LinearLayout>
+
+    <LinearLayout
+        android:layout_width="fill_parent"
+        android:layout_height="50dip"
+        android:layout_marginLeft="2dip"
+        android:layout_marginRight="2dip"
+        android:orientation="horizontal">
+
+        <Button android:id="@+id/four"
+            android:layout_width="0sp"
+            android:layout_height="fill_parent"
+            android:layout_weight="1"
+            android:layout_marginLeft="2dip"
+            android:layout_marginRight="2dip"
+            android:textAppearance="?android:attr/textAppearanceLarge"
+            android:textStyle="bold"
+        />
+
+        <Button android:id="@+id/five"
+            android:layout_width="0sp"
+            android:layout_height="fill_parent"
+            android:layout_weight="1"
+            android:layout_marginLeft="2dip"
+            android:layout_marginRight="2dip"
+            android:textAppearance="?android:attr/textAppearanceLarge"
+            android:textStyle="bold"
+        />
+
+        <Button android:id="@+id/six"
+            android:layout_width="0sp"
+            android:layout_height="fill_parent"
+            android:layout_weight="1"
+            android:layout_marginLeft="2dip"
+            android:layout_marginRight="2dip"
+            android:textAppearance="?android:attr/textAppearanceLarge"
+            android:textStyle="bold"
+        />
+    </LinearLayout>
+
+    <LinearLayout
+        android:layout_width="fill_parent"
+        android:layout_height="50dip"
+        android:layout_marginLeft="2dip"
+        android:layout_marginRight="2dip"
+        android:orientation="horizontal">
+
+        <Button android:id="@+id/seven"
+            android:layout_width="0sp"
+            android:layout_height="fill_parent"
+            android:layout_weight="1"
+            android:layout_marginLeft="2dip"
+            android:layout_marginRight="2dip"
+            android:textAppearance="?android:attr/textAppearanceLarge"
+            android:textStyle="bold"
+        />
+
+        <Button android:id="@+id/eight"
+            android:layout_width="0sp"
+            android:layout_height="fill_parent"
+            android:layout_weight="1"
+            android:layout_marginLeft="2dip"
+            android:layout_marginRight="2dip"
+            android:textAppearance="?android:attr/textAppearanceLarge"
+            android:textStyle="bold"
+        />
+
+        <Button android:id="@+id/nine"
+            android:layout_width="0sp"
+            android:layout_height="fill_parent"
+            android:layout_weight="1"
+            android:layout_marginLeft="2dip"
+            android:layout_marginRight="2dip"
+            android:textAppearance="?android:attr/textAppearanceLarge"
+            android:textStyle="bold"
+        />
+
+    </LinearLayout>
+
+    <LinearLayout
+        android:layout_width="fill_parent"
+        android:layout_height="50dip"
+        android:layout_marginLeft="2dip"
+        android:layout_marginRight="2dip"
+        android:orientation="horizontal">
+
+        <Button android:id="@+id/ok"
+            android:layout_width="0sp"
+            android:layout_height="fill_parent"
+            android:layout_weight="1"
+            android:layout_marginLeft="2dip"
+            android:layout_marginRight="2dip"
+            android:textAppearance="?android:attr/textAppearanceMedium"
+            android:textStyle="bold"
+            android:text="@android:string/ok"
+        />
+
+        <Button android:id="@+id/zero"
+            android:layout_width="0sp"
+            android:layout_height="fill_parent"
+            android:layout_weight="1"
+            android:layout_marginLeft="2dip"
+            android:layout_marginRight="2dip"
+            android:textAppearance="?android:attr/textAppearanceLarge"
+            android:textStyle="bold"
+        />
+
+        <Button android:id="@+id/cancel"
+            android:layout_width="0sp"
+            android:layout_height="fill_parent"
+            android:layout_weight="1"
+            android:layout_marginLeft="2dip"
+            android:layout_marginRight="2dip"
+            android:textAppearance="?android:attr/textAppearanceMedium"
+            android:textStyle="bold"
+            android:text="@android:string/cancel"
+        />
+
+    </LinearLayout>
+
+</LinearLayout>
diff --git a/overlay/ldpi/frameworks/base/core/res/res/layout/usb_storage_activity.xml b/overlay/ldpi/frameworks/base/core/res/res/layout/usb_storage_activity.xml
new file mode 100644
index 0000000..587b660
--- /dev/null
+++ b/overlay/ldpi/frameworks/base/core/res/res/layout/usb_storage_activity.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/main"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:gravity="center"
+    android:padding="8dip"
+    >
+
+    <ImageView android:id="@+id/icon"
+        android:layout_centerHorizontal="true"
+        android:layout_alignParentTop="true"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:src="@drawable/usb_android" />
+
+    <TextView android:id="@+id/banner"
+        android:layout_centerHorizontal="true"
+        android:layout_below="@id/icon"
+        android:layout_marginTop="10dip"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:textSize="24sp"
+        android:gravity="center"
+        android:text="@string/usb_storage_title" />
+
+    <TextView android:id="@+id/message"
+        android:layout_below="@id/banner"
+        android:layout_marginTop="10dip"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:textSize="14sp"
+        android:gravity="center"
+        android:text="@string/usb_storage_message" />
+
+    <RelativeLayout
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_centerHorizontal="true"
+        android:layout_alignParentBottom="true"
+        android:layout_marginBottom="6dip"
+        >
+
+        <Button android:id="@+id/mount_button" 
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:paddingLeft="18dip"
+            android:paddingRight="18dip"
+            android:text="@string/usb_storage_button_mount"
+            />
+        <Button android:id="@+id/unmount_button"
+            android:visibility="gone"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:paddingLeft="18dip"
+            android:paddingRight="18dip"
+            android:text="@string/usb_storage_stop_button_mount"
+            />
+        <ProgressBar android:id="@+id/progress"
+            android:visibility="gone"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:indeterminate="true"
+            style="?android:attr/progressBarStyle"
+            />
+
+    </RelativeLayout>
+</RelativeLayout>
diff --git a/overlay/ldpi/frameworks/base/core/res/res/values/dimens.xml b/overlay/ldpi/frameworks/base/core/res/res/values/dimens.xml
new file mode 100644
index 0000000..cfac39d
--- /dev/null
+++ b/overlay/ldpi/frameworks/base/core/res/res/values/dimens.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/* //device/apps/common/assets/res/any/dimens.xml
+**
+** Copyright 2006, 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.
+*/
+-->
+<resources>
+    <!-- The width that is used when creating thumbnails of applications. -->
+    <dimen name="thumbnail_width">0dp</dimen>
+    <!-- The height that is used when creating thumbnails of applications. -->
+    <dimen name="thumbnail_height">0dp</dimen>
+    <!-- The standard size (both width and height) of an application icon that
+         will be displayed in the app launcher and elsewhere. -->
+    <dimen name="app_icon_size">48dip</dimen>
+    <dimen name="toast_y_offset">64dip</dimen>
+    <!-- Height of the status bar -->
+    <dimen name="status_bar_height">25dip</dimen>
+    <!-- Height of the status bar -->
+    <dimen name="status_bar_icon_size">25dip</dimen>
+    <!-- Margin at the edge of the screen to ignore touch events for in the windowshade. -->
+    <dimen name="status_bar_edge_ignore">5dp</dimen>
+    <!-- Size of the fastscroll hint letter -->
+    <dimen name="fastscroll_overlay_size">104dp</dimen>
+    <!-- Width of the fastscroll thumb -->
+    <dimen name="fastscroll_thumb_width">64dp</dimen>
+    <!-- Height of the fastscroll thumb -->
+    <dimen name="fastscroll_thumb_height">52dp</dimen>
+    <!-- Default height of a key in the password keyboard -->
+    <dimen name="password_keyboard_key_height">46dip</dimen>
+    <!-- Default correction for the space key in the password keyboard -->
+    <dimen name="password_keyboard_spacebar_vertical_correction">4dip</dimen>
+</resources>
diff --git a/overlay/ldpi/frameworks/base/core/res/res/values/styles.xml b/overlay/ldpi/frameworks/base/core/res/res/values/styles.xml
new file mode 100644
index 0000000..287030b
--- /dev/null
+++ b/overlay/ldpi/frameworks/base/core/res/res/values/styles.xml
@@ -0,0 +1,877 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2006 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.
+-->
+
+<resources>
+    <!-- Global Theme Styles -->
+    <eat-comment />
+    
+
+    <style name="WindowTitleBackground">
+        <item name="android:background">@android:drawable/title_bar</item>
+    </style>
+
+    <style name="WindowTitle">
+        <item name="android:singleLine">true</item>
+        <item name="android:textAppearance">@style/TextAppearance.WindowTitle</item>
+        <item name="android:shadowColor">#BB000000</item>
+        <item name="android:shadowRadius">2.75</item>
+    </style>
+
+    <style name="DialogWindowTitle">
+        <item name="android:maxLines">1</item>
+        <item name="android:scrollHorizontally">true</item>
+        <item name="android:textAppearance">@style/TextAppearance.DialogWindowTitle</item>
+    </style>
+
+    <style name="AlertDialog">
+        <item name="fullDark">@android:drawable/popup_full_dark</item>
+        <item name="topDark">@android:drawable/popup_top_dark</item>
+        <item name="centerDark">@android:drawable/popup_center_dark</item>
+        <item name="bottomDark">@android:drawable/popup_bottom_dark</item>
+        <item name="fullBright">@android:drawable/popup_full_bright</item>
+        <item name="topBright">@android:drawable/popup_top_bright</item>
+        <item name="centerBright">@android:drawable/popup_center_bright</item>
+        <item name="bottomBright">@android:drawable/popup_bottom_bright</item>
+        <item name="bottomMedium">@android:drawable/popup_bottom_medium</item>
+        <item name="centerMedium">@android:drawable/popup_center_medium</item>
+    </style>
+    
+    <!-- Base style for animations.  This style specifies no animations. -->
+    <style name="Animation" />
+    
+    <!-- Standard animations for a full-screen window or activity. -->
+    <style name="Animation.Activity">
+        <item name="activityOpenEnterAnimation">@anim/activity_open_enter</item>
+        <item name="activityOpenExitAnimation">@anim/activity_open_exit</item>
+        <item name="activityCloseEnterAnimation">@anim/activity_close_enter</item>
+        <item name="activityCloseExitAnimation">@anim/activity_close_exit</item>
+        <item name="taskOpenEnterAnimation">@anim/task_open_enter</item>
+        <item name="taskOpenExitAnimation">@anim/task_open_exit</item>
+        <item name="taskCloseEnterAnimation">@anim/task_close_enter</item>
+        <item name="taskCloseExitAnimation">@anim/task_close_exit</item>
+        <item name="taskToFrontEnterAnimation">@anim/task_open_enter</item>
+        <item name="taskToFrontExitAnimation">@anim/task_open_exit</item>
+        <item name="taskToBackEnterAnimation">@anim/task_close_enter</item>
+        <item name="taskToBackExitAnimation">@anim/task_close_exit</item>
+        <item name="wallpaperOpenEnterAnimation">@anim/wallpaper_open_enter</item>
+        <item name="wallpaperOpenExitAnimation">@anim/wallpaper_open_exit</item>
+        <item name="wallpaperCloseEnterAnimation">@anim/wallpaper_close_enter</item>
+        <item name="wallpaperCloseExitAnimation">@anim/wallpaper_close_exit</item>
+        <item name="wallpaperIntraOpenEnterAnimation">@anim/wallpaper_intra_open_enter</item>
+        <item name="wallpaperIntraOpenExitAnimation">@anim/wallpaper_intra_open_exit</item>
+        <item name="wallpaperIntraCloseEnterAnimation">@anim/wallpaper_intra_close_enter</item>
+        <item name="wallpaperIntraCloseExitAnimation">@anim/wallpaper_intra_close_exit</item>
+    </style>
+
+    <!-- Standard animations for a non-full-screen window or activity. -->
+    <style name="Animation.Dialog">
+        <item name="windowEnterAnimation">@anim/dialog_enter</item>
+        <item name="windowExitAnimation">@anim/dialog_exit</item>
+    </style>
+
+    <!-- Standard animations for hiding and showing the status bar. -->
+    <style name="Animation.StatusBar">
+        <item name="windowEnterAnimation">@anim/status_bar_enter</item>
+        <item name="windowExitAnimation">@anim/status_bar_exit</item>
+    </style>
+
+    <!-- Standard animations for a translucent window or activity.  This
+         style is <em>not<em> used by default for the translucent theme
+         (since translucent activities are a special case that have no
+         clear UI paradigm), but you can make your own specialized theme
+         with this animation style if you would like to have the standard
+         platform transition animation. -->
+    <style name="Animation.Translucent">
+        <item name="windowEnterAnimation">@anim/translucent_enter</item>
+        <item name="windowExitAnimation">@anim/translucent_exit</item>
+    </style>
+
+    <!-- Standard animations for a non-full-screen window or activity. -->
+    <style name="Animation.LockScreen">
+        <item name="windowEnterAnimation">@anim/lock_screen_enter</item>
+        <item name="windowExitAnimation">@anim/lock_screen_exit</item>
+    </style>
+
+    <style name="Animation.OptionsPanel">
+        <item name="windowEnterAnimation">@anim/options_panel_enter</item>
+        <item name="windowExitAnimation">@anim/options_panel_exit</item>
+    </style>
+
+    <style name="Animation.SubMenuPanel">
+        <item name="windowEnterAnimation">@anim/submenu_enter</item>
+        <item name="windowExitAnimation">@anim/submenu_exit</item>
+    </style>
+
+    <style name="Animation.TypingFilter">
+        <item name="windowEnterAnimation">@anim/grow_fade_in_center</item>
+        <item name="windowExitAnimation">@anim/shrink_fade_out_center</item>
+    </style>
+    
+    <style name="Animation.TypingFilterRestore">
+        <item name="windowEnterAnimation">@null</item>
+        <item name="windowExitAnimation">@anim/shrink_fade_out_center</item>
+    </style>
+
+    <style name="Animation.Toast">
+        <item name="windowEnterAnimation">@anim/toast_enter</item>
+        <item name="windowExitAnimation">@anim/toast_exit</item>
+    </style>
+
+    <style name="Animation.DropDownDown">
+        <item name="windowEnterAnimation">@anim/grow_fade_in</item>
+        <item name="windowExitAnimation">@anim/shrink_fade_out</item>
+    </style>
+
+    <style name="Animation.DropDownUp">
+        <item name="windowEnterAnimation">@anim/grow_fade_in_from_bottom</item>
+        <item name="windowExitAnimation">@anim/shrink_fade_out_from_bottom</item>
+    </style>
+
+    <!-- {@hide} -->
+    <style name="Animation.SlidingCard">
+        <item name="windowEnterAnimation">@anim/slide_in_up</item>
+        <item name="windowExitAnimation">@anim/slide_out_down</item>
+    </style>
+
+    <!-- Window animations that are applied to input method overlay windows. -->
+    <style name="Animation.InputMethod">
+        <item name="windowEnterAnimation">@anim/input_method_enter</item>
+        <item name="windowExitAnimation">@anim/input_method_exit</item>
+    </style>
+
+    <!-- Special optional fancy IM animations. @hide -->
+    <style name="Animation.InputMethodFancy">
+        <item name="windowEnterAnimation">@anim/input_method_fancy_enter</item>
+        <item name="windowExitAnimation">@anim/input_method_fancy_exit</item>
+    </style>
+
+    <!-- Window animations that are applied to the search bar overlay window.
+	Previously used, but currently unused.
+         {@hide Pending API council approval} -->
+    <style name="Animation.SearchBar">
+        <item name="windowEnterAnimation">@anim/search_bar_enter</item>
+        <item name="windowExitAnimation">@anim/search_bar_exit</item>
+    </style>
+
+    <!-- Window animations that are applied to the zoom buttons overlay window. -->
+    <style name="Animation.ZoomButtons">
+        <item name="windowEnterAnimation">@anim/fade_in</item>
+        <item name="windowExitAnimation">@anim/fade_out</item>
+    </style>
+
+    <!-- Standard animations for wallpapers. -->
+    <style name="Animation.Wallpaper">
+        <item name="windowEnterAnimation">@anim/wallpaper_enter</item>
+        <item name="windowExitAnimation">@anim/wallpaper_exit</item>
+    </style>
+
+    <!-- A special animation we can use for recent applications,
+         for devices that can support it (do alpha transformations). -->
+    <style name="Animation.RecentApplications">
+        <item name="windowEnterAnimation">@anim/fade_in</item>
+        <item name="windowExitAnimation">@anim/fade_out</item>
+    </style>
+
+    <!-- A special animation value used internally for popup windows. -->
+    <style name="Animation.PopupWindow" />
+
+    <!-- Status Bar Styles -->
+
+    <style name="TextAppearance.StatusBar">
+        <item name="android:textSize">14sp</item>
+        <item name="android:textStyle">normal</item>
+        <item name="android:textColor">?android:attr/textColorPrimary</item>
+    </style>
+    <style name="TextAppearance.StatusBar.Ticker">
+    </style>
+    <style name="TextAppearance.StatusBar.Title">
+        <item name="android:textStyle">bold</item>
+    </style>
+
+    <style name="TextAppearance.StatusBar.Icon">
+        <item name="android:textStyle">bold</item>
+    </style>
+    <style name="TextAppearance.StatusBar.EventContent">
+        <item name="android:textColor">#ff6b6b6b</item>
+    </style>
+    <style name="TextAppearance.StatusBar.EventContent.Title">
+        <item name="android:textSize">16sp</item>
+        <item name="android:textStyle">bold</item>
+        <item name="android:textColor">?android:attr/textColorPrimaryInverse</item>
+    </style>
+
+    <!-- Widget Styles -->
+
+    <style name="Widget">
+        <item name="android:textAppearance">?textAppearance</item>
+    </style>
+
+    <style name="Widget.AbsListView">
+        <item name="android:scrollbars">vertical</item>
+        <item name="android:fadingEdge">vertical</item>
+    </style>
+
+    <style name="Widget.GestureOverlayView">
+        <item name="android:gestureStrokeWidth">12.0</item>
+        <item name="android:gestureColor">#ffffff00</item>
+        <item name="android:uncertainGestureColor">#48ffff00</item>
+        <item name="android:fadeOffset">420</item>
+        <item name="android:fadeDuration">150</item>
+        <item name="android:gestureStrokeLengthThreshold">50.0</item>
+        <item name="android:gestureStrokeSquarenessThreshold">0.275</item>
+        <item name="android:gestureStrokeAngleThreshold">40.0</item>
+        <item name="android:eventsInterceptionEnabled">true</item>
+    </style>
+
+    <style name="Widget.GestureOverlayView.White">
+        <item name="android:gestureColor">#ff00ff00</item>
+        <item name="android:uncertainGestureColor">#4800ff00</item>
+    </style>
+
+    <style name="Widget.Button">
+        <item name="android:background">@android:drawable/btn_default</item>
+        <item name="android:focusable">true</item>
+        <item name="android:clickable">true</item>
+        <item name="android:textAppearance">?android:attr/textAppearanceSmallInverse</item>
+        <item name="android:textColor">@android:color/primary_text_light</item>
+        <item name="android:gravity">center_vertical|center_horizontal</item>
+    </style>
+
+    <style name="Widget.Button.Small">
+        <item name="android:background">@android:drawable/btn_default_small</item>
+    </style>
+
+    <style name="Widget.Button.Inset">
+        <item name="android:background">@android:drawable/button_inset</item>
+    </style>
+
+    <style name="Widget.Button.Transparent">
+        <item name="android:background">@android:drawable/btn_default_transparent</item>
+        <item name="android:textAppearance">?android:attr/textAppearanceSmall</item>
+        <item name="android:textColor">@android:color/white</item>
+    </style>
+
+    <style name="Widget.CompoundButton">
+        <item name="android:focusable">true</item>
+        <item name="android:clickable">true</item>
+        <item name="android:textAppearance">?android:attr/textAppearance</item>
+        <item name="android:textColor">?android:attr/textColorPrimaryDisableOnly</item>
+        <item name="android:gravity">center_vertical|left</item>
+    </style>
+
+    <style name="Widget.CompoundButton.CheckBox">
+        <item name="android:background">@android:drawable/btn_check_label_background</item>
+        <item name="android:button">@android:drawable/btn_check</item>
+    </style>
+
+    <style name="Widget.CompoundButton.RadioButton">
+        <item name="android:background">@android:drawable/btn_radio_label_background</item>
+        <item name="android:button">@android:drawable/btn_radio</item>
+    </style>
+
+    <style name="Widget.CompoundButton.Star">
+        <item name="android:background">@android:drawable/btn_star_label_background</item>
+        <item name="android:button">@android:drawable/btn_star</item>
+    </style>
+
+    <style name="Widget.Button.Toggle">
+        <item name="android:background">@android:drawable/btn_toggle_bg</item>
+        <item name="android:textOn">@android:string/capital_on</item>
+        <item name="android:textOff">@android:string/capital_off</item>
+        <item name="android:disabledAlpha">?android:attr/disabledAlpha</item>
+    </style>
+
+    <style name="Widget.ProgressBar">
+        <item name="android:indeterminateOnly">true</item>
+        <item name="android:indeterminateDrawable">@android:drawable/progress_medium_white</item>
+        <item name="android:indeterminateBehavior">repeat</item>
+        <item name="android:indeterminateDuration">3500</item>
+        <item name="android:minWidth">48dip</item>
+        <item name="android:maxWidth">48dip</item>
+        <item name="android:minHeight">48dip</item>
+        <item name="android:maxHeight">48dip</item>
+    </style>
+
+    <style name="Widget.ProgressBar.Large">
+        <item name="android:indeterminateDrawable">@android:drawable/progress_large_white</item>
+        <item name="android:minWidth">76dip</item>
+        <item name="android:maxWidth">76dip</item>
+        <item name="android:minHeight">76dip</item>
+        <item name="android:maxHeight">76dip</item>
+    </style>
+    
+    <style name="Widget.ProgressBar.Small">
+        <item name="android:indeterminateDrawable">@android:drawable/progress_small_white</item>
+        <item name="android:minWidth">16dip</item>
+        <item name="android:maxWidth">16dip</item>
+        <item name="android:minHeight">16dip</item>
+        <item name="android:maxHeight">16dip</item>
+    </style>
+
+    <style name="Widget.ProgressBar.Inverse">
+        <item name="android:indeterminateDrawable">@android:drawable/progress_medium</item>
+    </style>
+
+    <style name="Widget.ProgressBar.Large.Inverse">
+        <item name="android:indeterminateDrawable">@android:drawable/progress_large</item>
+    </style>
+
+    <style name="Widget.ProgressBar.Small.Inverse">
+        <item name="android:indeterminateDrawable">@android:drawable/progress_small</item>
+    </style> 
+    
+    <style name="Widget.ProgressBar.Small.Title">
+        <item name="android:indeterminateDrawable">@android:drawable/progress_small_titlebar</item>
+    </style>
+
+    <style name="Widget.ProgressBar.Horizontal">
+        <item name="android:indeterminateOnly">false</item>
+        <item name="android:progressDrawable">@android:drawable/progress_horizontal</item>
+        <item name="android:indeterminateDrawable">@android:drawable/progress_indeterminate_horizontal</item>
+        <item name="android:minHeight">20dip</item>
+        <item name="android:maxHeight">20dip</item>
+    </style>
+
+    <style name="Widget.SeekBar">
+        <item name="android:indeterminateOnly">false</item>
+        <item name="android:progressDrawable">@android:drawable/progress_horizontal</item>
+        <item name="android:indeterminateDrawable">@android:drawable/progress_horizontal</item>
+        <item name="android:minHeight">20dip</item>
+        <item name="android:maxHeight">20dip</item>
+        <item name="android:thumb">@android:drawable/seek_thumb</item>
+        <item name="android:thumbOffset">8dip</item>
+        <item name="android:focusable">true</item>
+    </style>
+
+    <style name="Widget.RatingBar">
+        <item name="android:indeterminateOnly">false</item>
+        <item name="android:progressDrawable">@android:drawable/ratingbar_full</item>
+        <item name="android:indeterminateDrawable">@android:drawable/ratingbar_full</item>
+        <item name="android:minHeight">57dip</item>
+        <item name="android:maxHeight">57dip</item>
+        <item name="android:thumb">@null</item>
+    </style>
+
+    <style name="Widget.RatingBar.Indicator">
+        <item name="android:indeterminateOnly">false</item>
+        <item name="android:progressDrawable">@android:drawable/ratingbar</item>
+        <item name="android:indeterminateDrawable">@android:drawable/ratingbar</item>
+        <item name="android:minHeight">38dip</item>
+        <item name="android:maxHeight">38dip</item>
+        <item name="android:thumb">@null</item>
+        <item name="android:isIndicator">true</item>
+    </style>
+
+    <style name="Widget.RatingBar.Small">
+        <item name="android:indeterminateOnly">false</item>
+        <item name="android:progressDrawable">@android:drawable/ratingbar_small</item>
+        <item name="android:indeterminateDrawable">@android:drawable/ratingbar_small</item>
+        <item name="android:minHeight">14dip</item>
+        <item name="android:maxHeight">14dip</item>
+        <item name="android:thumb">@null</item>
+        <item name="android:isIndicator">true</item>
+    </style>
+
+    <style name="Widget.TextView">
+        <item name="android:textAppearance">?android:attr/textAppearanceSmall</item>
+        <item name="android:textSelectHandleLeft">?android:attr/textSelectHandleLeft</item>
+        <item name="android:textSelectHandleRight">?android:attr/textSelectHandleRight</item>
+        <item name="android:textSelectHandle">?android:attr/textSelectHandle</item>
+    </style>
+    
+    <style name="Widget.TextView.ListSeparator">
+        <item name="android:background">@android:drawable/dark_header_dither</item>
+        <item name="android:layout_width">match_parent</item>
+        <item name="android:layout_height">25dip</item>
+        <item name="android:textStyle">bold</item>
+        <item name="android:textColor">?textColorSecondary</item>
+        <item name="android:textSize">14sp</item>
+        <item name="android:gravity">center_vertical</item>
+        <item name="android:paddingLeft">5sp</item>
+    </style>
+
+    <style name="Widget.TextView.ListSeparator.White">
+        <item name="android:textColor">?textColorPrimaryInverse</item>
+        <item name="android:background">@android:drawable/light_header_dither</item>
+    </style>
+
+    <style name="Widget.EditText">
+        <item name="android:focusable">true</item>
+        <item name="android:focusableInTouchMode">true</item>
+        <item name="android:clickable">true</item>
+        <item name="android:background">@android:drawable/edit_text</item>
+        <item name="android:textAppearance">?android:attr/textAppearanceMediumInverse</item>
+        <item name="android:textColor">@android:color/primary_text_light</item>
+        <item name="android:gravity">center_vertical</item>
+    </style>
+    
+    <style name="Widget.ExpandableListView" parent="Widget.ListView">
+        <item name="android:groupIndicator">@android:drawable/expander_group</item>
+        <item name="android:indicatorLeft">?android:attr/expandableListPreferredItemIndicatorLeft</item>
+        <item name="android:indicatorRight">?android:attr/expandableListPreferredItemIndicatorRight</item>
+        <item name="android:childDivider">@android:drawable/divider_horizontal_dark_opaque</item>
+    </style>
+
+    <style name="Widget.ExpandableListView.White">
+        <item name="android:childDivider">@android:drawable/divider_horizontal_bright_opaque</item>
+    </style>
+
+    <style name="Widget.ImageWell">
+        <item name="android:background">@android:drawable/panel_picture_frame_background</item>
+    </style>
+
+    <style name="Widget.ImageButton">
+        <item name="android:focusable">true</item>
+        <item name="android:clickable">true</item>
+        <item name="android:scaleType">center</item>
+        <item name="android:background">@android:drawable/btn_default</item>
+    </style>
+
+    <style name="Widget.AutoCompleteTextView">
+        <item name="android:focusable">true</item>
+        <item name="android:focusableInTouchMode">true</item>
+        <item name="android:clickable">true</item>
+        <item name="android:background">@android:drawable/edit_text</item>
+        <item name="android:completionHintView">@android:layout/simple_dropdown_hint</item>
+        <item name="android:textAppearance">?android:attr/textAppearanceMediumInverse</item>
+        <item name="android:gravity">center_vertical</item>
+        <item name="android:completionThreshold">2</item>
+        <item name="android:dropDownSelector">@android:drawable/list_selector_background</item>
+        <item name="android:popupBackground">@android:drawable/spinner_dropdown_background</item>
+        <item name="android:dropDownVerticalOffset">-6dip</item>
+        <item name="android:dropDownHorizontalOffset">0dip</item>
+        <item name="android:dropDownWidth">wrap_content</item>
+    </style>
+
+    <style name="Widget.Spinner">
+        <item name="android:background">@android:drawable/btn_dropdown</item>
+        <item name="android:clickable">true</item>
+    </style>
+
+    <style name="Widget.TextView.PopupMenu">
+        <item name="android:clickable">true</item>
+        <item name="android:textAppearance">@style/TextAppearance.Widget.TextView.PopupMenu</item>
+    </style>
+
+    <style name="Widget.TextView.SpinnerItem">
+        <item name="android:textAppearance">@style/TextAppearance.Widget.TextView.SpinnerItem</item>
+    </style>
+
+    <style name="Widget.DropDownItem">
+        <item name="android:textAppearance">@style/TextAppearance.Widget.DropDownItem</item>
+        <item name="android:paddingLeft">6dip</item>
+        <item name="android:paddingRight">6dip</item>
+        <item name="android:gravity">center_vertical</item>
+    </style>
+    
+    <style name="Widget.DropDownItem.Spinner">
+        <item name="android:checkMark">@android:drawable/btn_radio</item>
+    </style>
+
+    <style name="Widget.ScrollView">
+        <item name="android:scrollbars">vertical</item>
+        <item name="android:fadingEdge">vertical</item>
+    </style>
+
+    <style name="Widget.HorizontalScrollView">
+        <item name="android:scrollbars">horizontal</item>
+        <item name="android:fadingEdge">horizontal</item>
+    </style>
+
+    <style name="Widget.ListView" parent="Widget.AbsListView">
+        <item name="android:listSelector">@android:drawable/list_selector_background</item>
+        <item name="android:cacheColorHint">?android:attr/colorBackgroundCacheHint</item>
+        <item name="android:divider">@android:drawable/divider_horizontal_dark_opaque</item>
+    </style>
+    
+    <style name="Widget.ListView.White" parent="Widget.AbsListView">
+        <item name="android:listSelector">@android:drawable/list_selector_background</item>
+        <item name="android:cacheColorHint">?android:attr/colorBackgroundCacheHint</item>
+        <item name="android:divider">@android:drawable/divider_horizontal_bright_opaque</item>
+    </style>    
+
+    <style name="Widget.ListView.DropDown">
+    	<item name="android:cacheColorHint">@null</item>
+        <item name="android:divider">@android:drawable/divider_horizontal_bright_opaque</item>
+    </style>
+
+    <style name="Widget.ListView.Menu">
+		<item name="android:cacheColorHint">@null</item>
+        <item name="android:scrollbars">vertical</item>
+        <item name="android:fadingEdge">vertical</item>
+        <item name="listSelector">@android:drawable/menu_selector</item>
+        <!-- Light background for the list in menus, so the divider for bright themes -->
+        <item name="android:divider">@android:drawable/divider_horizontal_dark</item>
+    </style>
+
+    <style name="Widget.GridView" parent="Widget.AbsListView">
+        <item name="android:listSelector">@android:drawable/grid_selector_background</item>
+    </style>
+
+    <style name="Widget.WebView">
+        <item name="android:focusable">true</item>
+        <item name="android:scrollbars">horizontal|vertical</item>
+    </style>
+
+    <style name="Widget.WebTextView">
+        <item name="android:focusable">true</item>
+        <item name="android:focusableInTouchMode">true</item>
+        <item name="android:clickable">true</item>
+        <item name="android:completionHintView">@android:layout/simple_dropdown_item_1line</item>
+        <item name="android:textAppearance">?android:attr/textAppearanceLargeInverse</item>
+        <item name="android:completionThreshold">2</item>
+        <item name="android:dropDownSelector">@android:drawable/list_selector_background</item>
+        <item name="android:popupBackground">@android:drawable/spinner_dropdown_background</item>
+    </style>
+
+    <style name="Widget.TabWidget">
+        <item name="android:textAppearance">@style/TextAppearance.Widget.TabWidget</item>
+        <item name="ellipsize">marquee</item>
+        <item name="singleLine">true</item>
+    </style>
+
+    <style name="Widget.Gallery">
+        <item name="android:fadingEdge">horizontal</item>
+        <item name="android:gravity">center_vertical</item>
+        <item name="android:spacing">-20dip</item>
+        <item name="android:unselectedAlpha">0.85</item>
+    </style>
+    
+    <style name="Widget.PopupWindow">
+        <item name="android:popupBackground">@android:drawable/editbox_dropdown_background_dark</item>
+        <item name="android:popupAnimationStyle">@android:style/Animation.PopupWindow</item>
+    </style>
+
+    <style name="Widget.KeyboardView" parent="android:Widget">
+        <item name="android:background">@android:drawable/keyboard_background</item>
+        <item name="android:keyBackground">@android:drawable/btn_keyboard_key</item>
+        <item name="android:keyTextSize">22sp</item>
+        <item name="android:keyTextColor">#FFFFFFFF</item>
+        <item name="android:keyPreviewLayout">@android:layout/keyboard_key_preview</item>
+        <item name="android:keyPreviewOffset">-12dip</item>
+        <item name="android:keyPreviewHeight">80dip</item>
+        <item name="android:labelTextSize">14sp</item>
+        <item name="android:popupLayout">@android:layout/keyboard_popup_keyboard</item>
+        <item name="android:verticalCorrection">-10dip</item>
+        <item name="android:shadowColor">#BB000000</item>
+        <item name="android:shadowRadius">2.75</item>
+    </style>
+
+    <style name="Widget.QuickContactBadge">
+        <item name="android:layout_width">47.33333dip</item>
+        <item name="android:layout_height">56dip</item>
+        <item name="android:background">@android:drawable/quickcontact_badge</item>
+        <item name="android:clickable">true</item>
+        <item name="android:scaleType">fitCenter</item>
+    </style>
+    
+    <style name="Widget.QuickContactBadgeSmall">
+        <item name="android:layout_width">39dip</item>
+        <item name="android:layout_height">42dip</item>
+        <item name="android:background">@android:drawable/quickcontact_badge_small</item>
+        <item name="android:clickable">true</item>
+        <item name="android:scaleType">fitCenter</item>
+    </style>
+
+    <style name="Widget.QuickContactBadge.WindowSmall">
+        <item name="android:quickContactWindowSize">modeSmall</item>
+    </style>
+
+    <style name="Widget.QuickContactBadge.WindowMedium">
+        <item name="android:quickContactWindowSize">modeMedium</item>
+    </style>
+
+    <style name="Widget.QuickContactBadge.WindowLarge">
+        <item name="android:quickContactWindowSize">modeLarge</item>
+    </style>
+    
+    <style name="Widget.QuickContactBadgeSmall.WindowSmall">
+        <item name="android:quickContactWindowSize">modeSmall</item>
+    </style>
+
+    <style name="Widget.QuickContactBadgeSmall.WindowMedium">
+        <item name="android:quickContactWindowSize">modeMedium</item>
+    </style>
+
+    <style name="Widget.QuickContactBadgeSmall.WindowLarge">
+        <item name="android:quickContactWindowSize">modeLarge</item>
+    </style>
+
+    <!-- Text Appearances -->
+    <eat-comment />
+
+    <style name="TextAppearance">
+        <item name="android:textColor">?textColorPrimary</item>
+        <item name="android:textColorHighlight">#FFFF9200</item>
+        <item name="android:textColorHint">?textColorHint</item>
+        <item name="android:textColorLink">#5C5CFF</item>
+        <item name="android:textSize">16sp</item>
+        <item name="android:textStyle">normal</item>
+    </style>
+
+    <style name="TextAppearance.Inverse">
+        <item name="textColor">?textColorPrimaryInverse</item>
+        <item name="android:textColorHint">?textColorHintInverse</item>
+        <item name="android:textColorLink">#0000EE</item>
+    </style>
+
+    <style name="TextAppearance.Theme">
+    </style>
+
+    <style name="TextAppearance.DialogWindowTitle">
+        <item name="android:textSize">18sp</item>
+        <item name="android:textStyle">normal</item>
+        <item name="android:textColor">?textColorPrimary</item>
+    </style>
+
+    <style name="TextAppearance.Large">
+        <item name="android:textSize">21sp</item>
+        <item name="android:textStyle">normal</item>
+        <item name="android:textColor">?textColorPrimary</item>
+    </style>
+
+    <style name="TextAppearance.Large.Inverse">
+        <item name="android:textColor">?textColorPrimaryInverse</item>
+        <item name="android:textColorHint">?textColorHintInverse</item>
+    </style>
+
+    <style name="TextAppearance.Medium">
+        <item name="android:textSize">17sp</item>
+        <item name="android:textStyle">normal</item>
+        <item name="android:textColor">?textColorPrimary</item>
+    </style>
+
+    <style name="TextAppearance.Medium.Inverse">
+        <item name="android:textColor">?textColorPrimaryInverse</item>
+        <item name="android:textColorHint">?textColorHintInverse</item>
+    </style>
+
+    <style name="TextAppearance.Small">
+        <item name="android:textSize">14sp</item>
+        <item name="android:textStyle">normal</item>
+        <item name="android:textColor">?textColorSecondary</item>
+    </style>
+
+    <style name="TextAppearance.Small.Inverse">
+        <item name="android:textColor">?textColorSecondaryInverse</item>
+        <item name="android:textColorHint">?textColorHintInverse</item>
+    </style>
+
+    <style name="TextAppearance.Theme.Dialog" parent="TextAppearance.Theme">
+    </style>
+
+    <style name="TextAppearance.Theme.Dialog.AppError">
+        <item name="android:textColor">#ffffc0c0</item>
+    </style>
+
+    <style name="TextAppearance.Widget">
+    </style>
+
+    <style name="TextAppearance.Widget.Button" parent="TextAppearance.Small.Inverse">
+        <item name="android:textColor">@android:color/primary_text_light_nodisable</item>
+    </style>
+
+    <style name="TextAppearance.Widget.IconMenu.Item" parent="TextAppearance.Small">
+        <item name="android:textColor">?textColorPrimary</item>
+    </style>
+
+    <style name="TextAppearance.Widget.EditText">
+        <item name="android:textColor">@color/widget_edittext_dark</item>
+        <item name="android:textColorHint">@android:color/hint_foreground_light</item>
+    </style>
+
+    <style name="TextAppearance.Widget.TabWidget">
+        <item name="android:textSize">14sp</item>
+        <item name="android:textStyle">normal</item>
+        <item name="android:textColor">@android:color/tab_indicator_text</item>
+    </style>
+    
+    <style name="TextAppearance.Widget.TextView">
+        <item name="android:textColor">?textColorPrimaryDisableOnly</item>
+        <item name="android:textColorHint">?textColorHint</item>
+    </style>
+
+    <style name="TextAppearance.Widget.TextView.PopupMenu">
+        <item name="android:textSize">18sp</item>
+        <item name="android:textColor">?textColorPrimaryDisableOnly</item>
+        <item name="android:textColorHint">?textColorHint</item>
+    </style>
+
+    <style name="TextAppearance.Widget.DropDownHint">
+        <item name="android:textColor">?textColorPrimaryInverse</item>
+        <item name="android:textSize">14sp</item>
+    </style>
+
+    <style name="TextAppearance.Widget.DropDownItem">
+        <item name="android:textColor">@android:color/primary_text_light_disable_only</item>
+    </style>
+
+    <style name="TextAppearance.Widget.TextView.SpinnerItem">
+        <item name="android:textColor">@android:color/primary_text_light_disable_only</item>
+    </style>
+    
+    <!-- @hide -->
+    <style name="TextAppearance.SlidingTabNormal" 
+        parent="@android:attr/textAppearanceMedium">
+        <item name="android:textColor">?android:attr/textColorTertiary</item>
+        <item name="android:textSize">28sp</item>
+        <item name="android:shadowColor">@android:color/sliding_tab_text_color_shadow</item>
+        <item name="android:shadowDx">0.0</item>
+        <item name="android:shadowDy">1.0</item>
+        <item name="android:shadowRadius">5.0</item>
+    </style>
+
+    <!-- @hide -->
+    <style name="TextAppearance.SlidingTabActive" 
+        parent="@android:attr/textAppearanceMedium">
+        <item name="android:textColor">@android:color/sliding_tab_text_color_active</item>
+        <item name="android:textSize">28sp</item>
+    </style>
+    
+
+    <!-- @hide -->	
+     <style name="TextAppearance.SearchResult">	
+         <item name="android:textStyle">normal</item>	
+         <item name="android:textColor">?textColorPrimaryInverse</item>	
+         <item name="android:textColorHint">?textColorHintInverse</item>	
+     </style>	
+     	
+     <!-- @hide -->	
+     <style name="TextAppearance.SearchResult.Title">	
+         <item name="android:textSize">16sp</item>	
+     </style>	
+     	
+     <!-- @hide -->	
+     <style name="TextAppearance.SearchResult.Subtitle">	
+         <item name="android:textSize">13sp</item>	
+         <item name="android:textColor">?textColorSecondaryInverse</item>	
+     </style>	
+
+    <style name="TextAppearance.WindowTitle">
+        <item name="android:textColor">#fff</item>
+        <item name="android:textSize">14sp</item>
+        <item name="android:textStyle">bold</item>
+    </style>
+
+    <!-- Preference Styles -->
+
+    <style name="Preference">
+        <item name="android:layout">@android:layout/preference</item>
+    </style>
+    
+    <style name="Preference.Information">
+        <item name="android:layout">@android:layout/preference_information</item>
+        <item name="android:enabled">false</item>
+        <item name="android:shouldDisableView">false</item>
+    </style>
+    
+    <style name="Preference.Category">
+        <item name="android:layout">@android:layout/preference_category</item>
+        <!-- The title should not dim if the category is disabled, instead only the preference children should dim. -->
+        <item name="android:shouldDisableView">false</item>
+        <item name="android:selectable">false</item>
+    </style>
+    
+    <style name="Preference.CheckBoxPreference">
+        <item name="android:widgetLayout">@android:layout/preference_widget_checkbox</item>
+    </style>
+    
+    <style name="Preference.PreferenceScreen">
+    </style>
+
+    <style name="Preference.DialogPreference">
+        <item name="android:positiveButtonText">@android:string/ok</item>
+        <item name="android:negativeButtonText">@android:string/cancel</item>
+        <item name="android:widgetLayout">@android:layout/preference_dialog</item>
+    </style>
+    
+    <style name="Preference.DialogPreference.YesNoPreference">
+        <item name="android:positiveButtonText">@android:string/yes</item>
+        <item name="android:negativeButtonText">@android:string/no</item>
+    </style>
+    
+    <style name="Preference.DialogPreference.EditTextPreference">
+        <item name="android:dialogLayout">@android:layout/preference_dialog_edittext</item>
+    </style>
+    
+    <style name="Preference.RingtonePreference">
+        <item name="android:ringtoneType">ringtone</item>
+        <item name="android:showSilent">true</item>
+        <item name="android:showDefault">true</item>
+        <item name="android:widgetLayout">@android:layout/preference_dialog</item>
+    </style>
+
+    <!-- Other Misc Styles -->
+    <eat-comment />
+
+    <style name="MediaButton">
+        <item name="android:background">@android:drawable/media_button_background</item>
+        <item name="android:layout_width">71dip</item>
+        <item name="android:layout_height">52dip</item>
+    </style>
+
+    <style name="MediaButton.Previous">
+        <item name="android:src">@android:drawable/ic_media_previous</item>
+    </style>
+
+    <style name="MediaButton.Next">
+        <item name="android:src">@android:drawable/ic_media_next</item>
+    </style>
+
+    <style name="MediaButton.Play">
+        <item name="android:src">@android:drawable/ic_media_play</item>
+    </style>
+
+    <style name="MediaButton.Ffwd">
+        <item name="android:src">@android:drawable/ic_media_ff</item>
+    </style>
+
+    <style name="MediaButton.Rew">
+        <item name="android:src">@android:drawable/ic_media_rew</item>
+    </style>
+
+    <style name="MediaButton.Pause">
+        <item name="android:src">@android:drawable/ic_media_pause</item>
+    </style>
+
+    <style name="ZoomControls">
+        <item name="android:gravity">bottom</item>
+        <item name="android:paddingLeft">15dip</item>
+        <item name="android:paddingRight">15dip</item>
+    </style>
+    
+    <!-- Style you can use with a container (typically a horizontal
+         LinearLayout) to get the standard "button bar" background and
+         spacing. @hide -->
+    <style name="ButtonBar">
+        <item name="android:paddingTop">5dip</item>
+        <item name="android:paddingLeft">4dip</item>
+        <item name="android:paddingRight">4dip</item>
+        <item name="android:paddingBottom">1dip</item>
+        <item name="android:background">@android:drawable/bottom_bar</item>
+    </style>
+
+    <!-- Style for the small popup windows that contain text selection anchors. -->
+    <style name="Widget.TextSelectHandle">
+        <item name="android:popupAnimationStyle">@android:style/Animation.TextSelectHandle</item>
+    </style>
+
+    <!-- Style for animating text selection handles. -->
+    <style name="Animation.TextSelectHandle">
+        <item name="windowEnterAnimation">@android:anim/fade_in</item>
+        <item name="windowExitAnimation">@android:anim/fade_out</item>
+    </style>
+</resources>
diff --git a/overlay/ldpi/frameworks/base/core/res/res/values/themes.xml b/overlay/ldpi/frameworks/base/core/res/res/values/themes.xml
new file mode 100644
index 0000000..b426843
--- /dev/null
+++ b/overlay/ldpi/frameworks/base/core/res/res/values/themes.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2006 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.
+-->
+
+<resources>
+    <style name="Theme">
+    
+        <!-- List attributes -->
+        <item name="listPreferredItemHeight">58dip</item>
+    </style>
+    
+</resources>
diff --git a/overlay/ldpi/frameworks/base/packages/SystemUI/res/layout/status_bar_expanded.xml b/overlay/ldpi/frameworks/base/packages/SystemUI/res/layout/status_bar_expanded.xml
new file mode 100644
index 0000000..d604765
--- /dev/null
+++ b/overlay/ldpi/frameworks/base/packages/SystemUI/res/layout/status_bar_expanded.xml
@@ -0,0 +1,142 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/* apps/common/assets/default/default/skins/StatusBar.xml
+**
+** Copyright 2006, 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.
+*/
+-->
+
+<com.android.systemui.statusbar.ExpandedView xmlns:android="http://schemas.android.com/apk/res/android"
+    android:orientation="vertical"
+    android:focusable="true"
+    android:descendantFocusability="afterDescendants"
+    >
+
+    <LinearLayout android:id="@+id/exp_view_lin_layout"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:orientation="vertical"
+        android:paddingTop="3dp"
+        android:paddingBottom="5dp"
+        android:paddingRight="3dp"
+        android:background="@drawable/title_bar_portrait"
+        >
+        <com.android.systemui.statusbar.powerwidget.PowerWidget android:id="@+id/exp_power_stat"
+            android:layout_width="match_parent"
+            android:layout_height="40dip"
+            />
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:orientation="horizontal"
+            android:gravity="center_vertical"
+        >
+            <com.android.systemui.statusbar.CarrierLabel
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_weight="1"
+                android:layout_marginTop="1dp"
+                android:layout_marginLeft="5dp"
+                android:layout_gravity="center_vertical"
+                android:paddingBottom="1dp"
+                android:paddingLeft="4dp"
+                android:textAppearance="?android:attr/textAppearanceLarge"
+                android:textColor="#ffdfdfdf"
+                />
+            <TextView android:id="@+id/clear_all_button"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_gravity="center_vertical"
+                android:layout_marginTop="4dp"
+                android:layout_marginBottom="1dp"
+                android:textSize="14sp"
+                android:textColor="#ff000000"
+                android:text="@string/status_bar_clear_all_button"
+                style="?android:attr/buttonStyle"
+                android:paddingLeft="15dp"
+                android:paddingRight="15dp"
+                android:background="@android:drawable/btn_default_small"
+            />
+        </LinearLayout>
+    </LinearLayout>
+
+    <FrameLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_weight="1"
+        >
+        <ScrollView
+            android:id="@+id/scroll"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:fadingEdge="none"
+            android:overScrollMode="ifContentScrolls"
+            >
+            <com.android.systemui.statusbar.NotificationLinearLayout
+                android:id="@+id/notificationLinearLayout"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:orientation="vertical"
+                >
+                
+                <TextView android:id="@+id/noNotificationsTitle"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:background="@drawable/shade_header_background"
+                    android:paddingLeft="5dp"
+                    android:textAppearance="@style/TextAppearance.StatusBar.Title"
+                    android:text="@string/status_bar_no_notifications_title"
+                    />
+
+                <TextView android:id="@+id/ongoingTitle"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:background="@drawable/shade_header_background"
+                    android:paddingLeft="5dp"
+                    android:textAppearance="@style/TextAppearance.StatusBar.Title"
+                    android:text="@string/status_bar_ongoing_events_title"
+                    />
+                <LinearLayout android:id="@+id/ongoingItems"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:orientation="vertical"
+                    />
+
+                <TextView android:id="@+id/latestTitle"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:background="@drawable/shade_header_background"
+                    android:paddingLeft="5dp"
+                    android:textAppearance="@style/TextAppearance.StatusBar.Title"
+                    android:text="@string/status_bar_latest_events_title"
+                    />
+                <LinearLayout android:id="@+id/latestItems"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:orientation="vertical"
+                    />
+            </com.android.systemui.statusbar.NotificationLinearLayout>
+        </ScrollView>
+
+        <ImageView
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:src="@drawable/title_bar_shadow"
+            android:scaleType="fitXY"
+        />
+
+    </FrameLayout>
+</com.android.systemui.statusbar.ExpandedView>
diff --git a/overlay/ldpi/packages/apps/ADWLauncher/res/layout/widget_span_setup.xml b/overlay/ldpi/packages/apps/ADWLauncher/res/layout/widget_span_setup.xml
new file mode 100644
index 0000000..54d1607
--- /dev/null
+++ b/overlay/ldpi/packages/apps/ADWLauncher/res/layout/widget_span_setup.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/* Copyright (C) 2009 Michael Novak <mike@androidnerds.org>
+ *
+ * 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.
+ */
+ -->
+<LinearLayout 
+	xmlns:android="http://schemas.android.com/apk/res/android"
+	android:orientation="vertical"
+	android:layout_width="fill_parent"
+	android:layout_height="fill_parent"
+	android:id="@+id/layout_root"
+	>
+	<LinearLayout 
+		android:orientation="horizontal"
+		android:layout_width="fill_parent"
+		android:layout_height="fill_parent"
+		android:padding="5dp"
+		android:layout_weight="1.0"
+		>
+	    <TextView
+	        android:id="@+id/text_columns_span"
+	        android:layout_width="fill_parent"
+	        android:layout_height="fill_parent" 
+	        android:layout_weight="1.0"
+	        android:gravity="center_horizontal"
+	        android:text="@string/widget_columns"/>
+	    <TextView
+	        android:id="@+id/text_rows_span"
+	        android:layout_width="fill_parent"
+	        android:layout_height="fill_parent"
+	        android:layout_weight="1.0"
+	        android:gravity="center_horizontal"
+	        android:text="@string/widget_rows"/>
+	    
+	</LinearLayout>
+	<LinearLayout 
+		android:orientation="horizontal"
+		android:layout_width="fill_parent"
+		android:layout_height="fill_parent"
+		android:padding="5dp"
+		android:layout_weight="1.0"
+		>
+	    <com.android.launcher.NumberPicker
+	        android:id="@+id/widget_columns_span"
+	        android:layout_width="fill_parent"
+	        android:layout_height="fill_parent" 
+	        android:layout_weight="1.0"/>
+	    <com.android.launcher.NumberPicker
+	        android:id="@+id/widget_rows_span"
+	        android:layout_width="fill_parent"
+	        android:layout_height="fill_parent"
+	        android:layout_weight="1.0" />
+	    
+	</LinearLayout>
+</LinearLayout>
+
diff --git a/overlay/ldpi/packages/apps/ADWLauncher/res/xml/default_workspace.xml b/overlay/ldpi/packages/apps/ADWLauncher/res/xml/default_workspace.xml
new file mode 100644
index 0000000..e74f879
--- /dev/null
+++ b/overlay/ldpi/packages/apps/ADWLauncher/res/xml/default_workspace.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2009 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.
+-->
+
+<favorites xmlns:launcher="http://schemas.android.com/apk/res/com.android.launcher">
+<!--  ALL APPS -->
+    <shortcut
+        launcher:uri="#Intent;action=com.android.launcher.action.launcheraction;component=com.android.launcher/.CustomShirtcutActivity;i.DefaultLauncherAction.EXTRA_BINDINGVALUE=4;end"
+        launcher:icon="@drawable/all_apps_button"
+        launcher:title="@string/launcher_actions"
+        launcher:screen="-1"
+        launcher:x="-1"
+        launcher:y="-1"
+        launcher:container="-700" />
+    <!-- LAB -->
+    <favorite
+        launcher:packageName="com.android.contacts"
+        launcher:className="com.android.contacts.DialtactsActivity"
+        launcher:screen="-1"
+        launcher:x="-1"
+        launcher:y="-1"
+        launcher:container="-300" />
+
+    <!-- RAB -->
+    <favorite
+        launcher:packageName="com.android.mms"
+        launcher:className="com.android.mms.ui.ConversationList"
+        launcher:screen="-1"
+        launcher:x="-1"
+        launcher:y="-1"
+        launcher:container="-400" />
+
+    <!--  Middle screen [2] -->
+    <favorite
+        launcher:packageName="com.android.browser"
+        launcher:className="com.android.browser.BrowserActivity"
+        launcher:screen="2"
+        launcher:x="1"
+        launcher:y="3" />
+
+    <favorite
+        launcher:packageName="com.android.music"
+        launcher:className="com.android.music.MusicBrowserActivity"
+        launcher:screen="2"
+        launcher:x="2"
+        launcher:y="3" />
+</favorites>
diff --git a/overlay/ldpi/packages/apps/AndroidTerm/res/values/strings.xml b/overlay/ldpi/packages/apps/AndroidTerm/res/values/strings.xml
new file mode 100644
index 0000000..9aad74d
--- /dev/null
+++ b/overlay/ldpi/packages/apps/AndroidTerm/res/values/strings.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ * Copyright (C) 2008 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.
+-->
+<resources>
+   <string name="application_terminal">Terminal Emulator</string>
+   <string name="preferences">Preferences</string>
+   <string name="reset">Reset term</string>
+   <string name="send_email">Email to</string>
+   <string name="special_keys">Special keys</string>
+   <string name="toggle_soft_keyboard">Toggle soft keyboard</string>
+
+   <string name="edit_text">Edit text</string>
+   <string name="select_text">Select text</string>
+   <string name="copy_all">Copy all</string>
+   <string name="paste">Paste</string>
+
+   <!-- Preference dialog -->
+   <string name="screen_preferences">Screen</string>
+
+   <string name="title_statusbar_preference">Status bar</string>
+   <string name="summary_statusbar_preference">Show/hide status bar.</string>
+   <string name="dialog_title_statusbar_preference">Status bar</string>
+
+   <string name="title_cursorstyle_preference">Cursor style</string>
+   <string name="summary_cursorstyle_preference">Choose cursor style.</string>
+   <string name="dialog_title_cursorstyle_preference">Cursor style</string>
+
+   <string name="title_cursorblink_preference">Cursor blink</string>
+   <string name="summary_cursorblink_preference">Choose cursor blink.</string>
+   <string name="dialog_title_cursorblink_preference">Cursor blink</string>
+
+   <string name="text_preferences">Text</string>
+
+   <string name="title_fontsize_preference">Font size</string>
+   <string name="summary_fontsize_preference">Choose character height in points.</string>
+   <string name="dialog_title_fontsize_preference">Font size</string>
+
+   <string name="title_color_preference">Colors</string>
+   <string name="summary_color_preference">Choose text color.</string>
+   <string name="dialog_title_color_preference">Text color</string>
+
+   <string name="keyboard_preferences">Keyboard</string>
+
+   <string name="title_controlkey_preference">Control key</string>
+   <string name="summary_controlkey_preference">Choose control key.</string>
+   <string name="dialog_title_controlkey_preference">Control key</string>
+
+   <string name="title_ime_preference">Input method</string>
+   <string name="summary_ime_preference">Choose input method for soft keyboard.</string>
+   <string name="dialog_title_ime_preference">Input method</string>
+
+   <string name="shell_preferences">Shell</string>
+   <string name="title_shell_preference">Command line</string>
+   <string name="summary_shell_preference">Specify the shell command line.</string>
+   <string name="dialog_title_shell_preference">Shell</string>
+
+   <string name="title_initialcommand_preference">Initial command</string>
+   <string name="summary_initialcommand_preference">Sent to the shell when it starts.</string>
+   <string name="dialog_title_initialcommand_preference">Initial Command</string>
+
+   <!-- Don't localize these default values -->
+   <string name="default_value_statusbar_preference">0</string>
+   <string name="default_value_cursorstyle_preference">0</string>
+   <string name="default_value_cursorblink_preference">0</string>
+   <string name="default_value_fontsize_preference">12</string>
+   <string name="default_value_color_preference">1</string>
+   <string name="default_value_controlkey_preference">0</string>
+   <string name="default_value_ime_preference">0</string>
+   <string name="default_value_shell_preference">/system/bin/sh -</string>
+   <string name="default_value_initialcommand_preference">export PATH=/data/local/bin:$PATH</string>
+</resources>
diff --git a/overlay/ldpi/packages/apps/Contacts/res/layout-finger/dialpad.xml b/overlay/ldpi/packages/apps/Contacts/res/layout-finger/dialpad.xml
new file mode 100644
index 0000000..54442f5
--- /dev/null
+++ b/overlay/ldpi/packages/apps/Contacts/res/layout-finger/dialpad.xml
@@ -0,0 +1,138 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2006 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.
+-->
+
+<!-- Dialpad in the Contact app.
+ -->
+
+<com.android.phone.ButtonGridLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/dialpad"
+    android:paddingLeft="7dp"
+    android:paddingRight="7dp"
+    android:paddingTop="2dp"
+    android:paddingBottom="1dp"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:layout_gravity="center_horizontal"
+    android:layout_weight="1"
+>
+        <ImageButton android:id="@+id/one"
+            android:layout_width="88dp"
+            android:layout_height="50dp"
+            android:src="@drawable/dial_num_1_no_vm"
+            android:background="@drawable/btn_dial"
+            android:soundEffectsEnabled="false"
+            android:contentDescription="@string/description_image_button_one"
+        />
+
+        <ImageButton android:id="@+id/two"
+            android:layout_width="88dp"
+            android:layout_height="50dp"
+            android:src="@drawable/dial_num_2"
+            android:background="@drawable/btn_dial"
+            android:soundEffectsEnabled="false"
+            android:contentDescription="@string/description_image_button_two"
+        />
+
+        <ImageButton android:id="@+id/three"
+            android:layout_width="88dp"
+            android:layout_height="50dp"
+            android:src="@drawable/dial_num_3"
+            android:background="@drawable/btn_dial"
+            android:soundEffectsEnabled="false"
+            android:contentDescription="@string/description_image_button_three"
+        />
+
+        <ImageButton android:id="@+id/four"
+            android:layout_width="88dp"
+            android:layout_height="50dp"
+            android:src="@drawable/dial_num_4"
+            android:background="@drawable/btn_dial"
+            android:soundEffectsEnabled="false"
+            android:contentDescription="@string/description_image_button_four"
+        />
+
+        <ImageButton android:id="@+id/five"
+            android:layout_width="88dp"
+            android:layout_height="50dp"
+            android:src="@drawable/dial_num_5"
+            android:background="@drawable/btn_dial"
+            android:soundEffectsEnabled="false"
+            android:contentDescription="@string/description_image_button_five"
+        />
+
+        <ImageButton android:id="@+id/six"
+            android:layout_width="88dp"
+            android:layout_height="50dp"
+            android:src="@drawable/dial_num_6"
+            android:background="@drawable/btn_dial"
+            android:soundEffectsEnabled="false"
+            android:contentDescription="@string/description_image_button_six"
+        />
+
+        <ImageButton android:id="@+id/seven"
+            android:layout_width="88dp"
+            android:layout_height="50dp"
+            android:src="@drawable/dial_num_7"
+            android:background="@drawable/btn_dial"
+            android:soundEffectsEnabled="false"
+            android:contentDescription="@string/description_image_button_seven"
+        />
+
+        <ImageButton android:id="@+id/eight"
+            android:layout_width="88dp"
+            android:layout_height="50dp"
+            android:src="@drawable/dial_num_8"
+            android:background="@drawable/btn_dial"
+            android:soundEffectsEnabled="false"
+            android:contentDescription="@string/description_image_button_eight"
+        />
+
+        <ImageButton android:id="@+id/nine"
+            android:layout_width="88dp"
+            android:layout_height="50dp"
+            android:src="@drawable/dial_num_9"
+            android:background="@drawable/btn_dial"
+            android:soundEffectsEnabled="false"
+            android:contentDescription="@string/description_image_button_nine"
+        />
+
+        <ImageButton android:id="@+id/star"
+            android:layout_width="88dp"
+            android:layout_height="50dp"
+            android:src="@drawable/dial_num_star"
+            android:background="@drawable/btn_dial"
+            android:soundEffectsEnabled="false"
+            android:contentDescription="@string/description_image_button_star"
+        />
+
+        <ImageButton android:id="@+id/zero"
+            android:layout_width="88dp"
+            android:layout_height="50dp"
+            android:src="@drawable/dial_num_0"
+            android:background="@drawable/btn_dial"
+            android:soundEffectsEnabled="false"
+            android:contentDescription="@string/description_image_button_zero"
+        />
+
+        <ImageButton android:id="@+id/pound"
+            android:layout_width="88dp"
+            android:layout_height="50dp"
+            android:src="@drawable/dial_num_pound"
+            android:background="@drawable/btn_dial"
+            android:soundEffectsEnabled="false"
+            android:contentDescription="@string/description_image_button_pound"
+        />
+</com.android.phone.ButtonGridLayout>
diff --git a/overlay/ldpi/packages/apps/Contacts/res/layout-finger/twelve_key_dialer.xml b/overlay/ldpi/packages/apps/Contacts/res/layout-finger/twelve_key_dialer.xml
new file mode 100644
index 0000000..abf8a95
--- /dev/null
+++ b/overlay/ldpi/packages/apps/Contacts/res/layout-finger/twelve_key_dialer.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2006 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.
+-->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/top"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical"
+    android:background="@drawable/custom_background_dialer"
+>
+
+    <!-- Text field above the keypad where the digits are displayed.
+         It's type is set to NULL (to disable the IME keyboard) in the
+         java code.
+    -->
+    <!-- TODO: Use a textAppearance to control the display of the number -->
+    <EditText android:id="@+id/digits"
+        android:layout_width="match_parent"
+        android:layout_height="62dip"
+        android:gravity="center"
+        android:maxLines="1"
+        android:scrollHorizontally="true"
+        android:textSize="33sp"
+        android:freezesText="true"
+        android:background="@drawable/btn_dial_textfield"
+        android:textColor="@color/dialer_button_text"
+        android:focusableInTouchMode="true"
+        android:editable="true"
+        android:cursorVisible="false"
+        android:layout_weight="0"
+        android:contentDescription="@string/description_digits_edittext"
+    />
+
+    <!-- Keypad section -->
+    <include layout="@layout/dialpad" />
+
+    <!-- Horizontal row of buttons (Voicemail + DialButton + Delete.) -->
+    <include layout="@layout/voicemail_dial_delete" />
+
+    <!-- "Dialpad chooser" UI, shown only when the user brings up the
+         Dialer while a call is already in progress.
+         When this UI is visible, the other Dialer elements
+         (the textfield/button and the dialpad) are hidden. -->
+    <ListView android:id="@+id/dialpadChooser"
+        android:layout_width="match_parent"
+        android:layout_height="1dip"
+        android:layout_weight="1"
+    />
+
+</LinearLayout>
diff --git a/overlay/ldpi/packages/apps/Contacts/res/layout-finger/voicemail_dial_delete.xml b/overlay/ldpi/packages/apps/Contacts/res/layout-finger/voicemail_dial_delete.xml
new file mode 100644
index 0000000..dcb803d
--- /dev/null
+++ b/overlay/ldpi/packages/apps/Contacts/res/layout-finger/voicemail_dial_delete.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2009 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.
+-->
+
+<!-- Horizontal row of buttons (Voicemail + DialButton + Delete.) -->
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/voicemailAndDialAndDelete"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:layout_gravity="center_horizontal"
+    android:layout_marginTop="4dip"
+    android:layout_weight="1"
+    android:orientation="horizontal">
+
+    <!-- Onscreen "Voicemail" button.
+         The width is 75 (from the mocks) + 12 of padding from the
+         9patch, total is 87.
+    -->
+    <ImageButton android:id="@+id/voicemailButton"
+        android:layout_width="87dip"
+        android:layout_height="50dip"
+        android:layout_gravity="center_vertical"
+        android:state_enabled="false"
+        android:background="@drawable/btn_dial_voicemail"
+        android:contentDescription="@string/description_voicemail_button"
+        android:src="@drawable/ic_dial_action_voice_mail" />
+
+    <!-- Onscreen "Dial" button, used on all platforms by
+         default. Its usage can be disabled using resources (see
+         config.xml.) -->
+    <ImageButton android:id="@+id/dialButton"
+        android:layout_width="116dip"
+        android:layout_height="50dip"
+        android:layout_gravity="center_vertical"
+        android:state_enabled="false"
+        android:background="@drawable/btn_dial_action"
+        android:contentDescription="@string/description_dial_button"
+        android:src="@drawable/ic_dial_action_call" />
+
+    <!-- Onscreen "Backspace/Delete" button
+         The width is 75 (from the mocks) + 12 of padding from the
+         9patch, total is 87.
+    -->
+    <ImageButton android:id="@+id/deleteButton"
+        android:layout_width="87dip"
+        android:layout_height="50dip"
+        android:layout_gravity="center_vertical"
+        android:state_enabled="false"
+        android:background="@drawable/btn_dial_delete"
+        android:contentDescription="@string/description_delete_button"
+        android:src="@drawable/ic_dial_action_delete" />
+</LinearLayout>
+
diff --git a/overlay/ldpi/packages/apps/DeskClock/res/layout-land/desk_clock.xml b/overlay/ldpi/packages/apps/DeskClock/res/layout-land/desk_clock.xml
new file mode 100644
index 0000000..7d49d55
--- /dev/null
+++ b/overlay/ldpi/packages/apps/DeskClock/res/layout-land/desk_clock.xml
@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2009 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.
+-->
+
+<!-- This is the alarm clock in LANDSCAPE desk dock mode.
+     -->
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    >
+    <LinearLayout
+        android:id="@+id/desk_clock"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:orientation="vertical"
+        android:paddingTop="25dip"
+        >
+
+        <!-- Entire display region (everything but bottom buttons) -->
+        <!-- Left margin is 4 dip shy of desired to allow for the time to
+             "hang off" the left-hand side, accommodating the extra glyph
+             escapement in Clockopia and 3px of text shadow -->
+        <LinearLayout
+            android:orientation="vertical"
+            android:layout_gravity="left"
+            android:layout_weight="1"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:layout_marginLeft="25dip"
+            android:layout_marginTop="8dip"
+            android:layout_marginRight="18dip"
+            android:layout_marginBottom="4dip"
+            >
+
+            <!-- across the top: next alarm, battery, nightmode button -->
+            <LinearLayout
+                android:orientation="horizontal"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_weight="0"
+                android:layout_marginBottom="6dip"
+                android:layout_marginLeft="4dip"
+                android:gravity="center_vertical"
+                >
+                <TextView android:id="@+id/nextAlarm"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_weight="1"
+                    android:gravity="left"
+                    android:textAppearance="?android:attr/textAppearanceMedium"
+                    android:drawablePadding="6dip"
+                    android:drawableLeft="@drawable/ic_lock_idle_alarm"
+                    android:shadowColor="#C0000000"
+                    android:shadowDx="0"
+                    android:shadowDy="0"
+                    android:shadowRadius="3.0"                        
+                    />
+
+                <include layout="@layout/desk_clock_battery"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginRight="8dip"
+                    android:layout_weight="0"
+                    />
+
+                <ImageButton android:id="@+id/nightmode_button"
+                    style="@style/RoundTouchButton"
+                    android:layout_weight="0"
+                    android:layout_height="wrap_content"
+                    android:layout_width="wrap_content"
+                    android:src="@drawable/ic_round_brightness"
+                    android:contentDescription="@string/nightmode_button_description"
+                    android:nextFocusDown="@+id/alarm_button"
+                    />
+            </LinearLayout>
+
+            <!-- second row: date/time on the left, weather on the right -->
+            <LinearLayout
+                android:orientation="horizontal"
+                android:layout_weight="1"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:gravity="bottom"
+                >
+
+                <include layout="@layout/desk_clock_time_date"
+                    android:layout_height="wrap_content"
+                    android:layout_width="0dip"
+                    android:layout_weight="5"
+                    />
+
+                <include layout="@layout/desk_clock_weather"
+                    android:layout_height="wrap_content"
+                    android:layout_width="0dip"
+                    android:layout_marginLeft="2dip"
+                    android:layout_weight="5"
+                    />
+
+
+            </LinearLayout>
+
+        </LinearLayout>
+
+        <include layout="@layout/desk_clock_buttons" />
+
+    </LinearLayout>
+
+    <View android:id="@+id/window_tint"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:background="#CC000000"
+        android:visibility="visible"
+        android:clickable="false"
+        />
+
+</FrameLayout>
diff --git a/overlay/ldpi/packages/apps/DeskClock/res/layout/desk_clock.xml b/overlay/ldpi/packages/apps/DeskClock/res/layout/desk_clock.xml
new file mode 100644
index 0000000..1b4d9be
--- /dev/null
+++ b/overlay/ldpi/packages/apps/DeskClock/res/layout/desk_clock.xml
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2009 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.
+-->
+
+<!-- This is the alarm clock in desk dock mode. It shows the time in large
+     type, plus information about active alarms and charge status.  It can
+     also show some additional status information (e.g. weather data).
+     Buttons are provided to access alarms, music, and other useful functions.
+     -->
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    >
+    <!-- the top padding accounts for the status bar area -->
+    <LinearLayout
+        android:id="@+id/desk_clock"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:orientation="vertical"
+        android:paddingTop="25dip"
+        >
+
+        <!-- Entire display region (everything but bottom buttons) -->
+        <!-- Left margin is 4 dip shy of desired to allow for the time to
+             "hang off" the left-hand side, accommodating the extra glyph
+             escapement in Clockopia and 3px of text shadow -->
+        <LinearLayout
+            android:orientation="vertical"
+            android:layout_gravity="left"
+            android:layout_weight="1"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:layout_marginLeft="22dip"
+            android:layout_marginTop="8dip"
+            android:layout_marginRight="18dip"
+            android:layout_marginBottom="4dip"
+            >
+
+            <!-- across the top: next alarm, nightmode button -->
+            <LinearLayout
+                android:orientation="horizontal"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_weight="0"
+                android:layout_marginLeft="4dip"
+                android:layout_marginBottom="6dip"
+                android:gravity="center_vertical"
+                >
+                <TextView android:id="@+id/nextAlarm"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_weight="1"
+                    android:gravity="left"
+                    android:textAppearance="?android:attr/textAppearanceMedium"
+                    android:drawablePadding="6dip"
+                    android:drawableLeft="@drawable/ic_lock_idle_alarm"
+                    android:shadowColor="#C0000000"
+                    android:shadowDx="0"
+                    android:shadowDy="0"
+                    android:shadowRadius="3.0"                        
+                    />
+                <ImageButton android:id="@+id/nightmode_button"
+                    style="@style/RoundTouchButton"
+                    android:layout_weight="0"
+                    android:layout_height="wrap_content"
+                    android:layout_width="wrap_content"
+                    android:src="@drawable/ic_round_brightness"
+                    android:contentDescription="@string/nightmode_button_description"
+                    android:nextFocusDown="@+id/alarm_button"
+                    />
+            </LinearLayout>
+
+            <include layout="@layout/desk_clock_time_date"
+                android:layout_weight="1"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                />
+
+            <include layout="@layout/desk_clock_weather"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_weight="0"
+                android:layout_marginTop="2dip"
+                android:layout_marginBottom="20dip"
+                android:layout_marginLeft="4dip"
+                />
+
+            <include layout="@layout/desk_clock_battery"
+                android:layout_height="wrap_content"
+                android:layout_width="match_parent"
+                android:layout_weight="0"
+                android:layout_marginLeft="4dip"
+                />
+
+        </LinearLayout>
+
+        <include layout="@layout/desk_clock_buttons" />
+
+    </LinearLayout>
+
+    <View android:id="@+id/window_tint"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:background="#CC000000"
+        android:visibility="visible"
+        android:clickable="false"
+        />
+
+</FrameLayout>
diff --git a/overlay/ldpi/packages/apps/DeskClock/res/layout/desk_clock_time_date.xml b/overlay/ldpi/packages/apps/DeskClock/res/layout/desk_clock_time_date.xml
new file mode 100644
index 0000000..761ddfe
--- /dev/null
+++ b/overlay/ldpi/packages/apps/DeskClock/res/layout/desk_clock_time_date.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2009 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.
+-->
+
+<!-- digital clock & date, together -->
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/time_date"
+    android:orientation="vertical"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:gravity="left|center_vertical"
+    android:layout_weight="1"
+    >
+
+    <com.android.deskclock.DigitalClock android:id="@+id/time"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginBottom="2dip"
+        >
+
+        <TextView android:id="@+id/timeDisplay"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:singleLine="true"
+            android:ellipsize="none"
+            android:gravity="center"
+            android:textSize="76sp"
+            android:textColor="#FFFFFFFF"
+            android:shadowColor="#C0000000"
+            android:shadowDx="0"
+            android:shadowDy="0"
+            android:shadowRadius="3.0"
+            android:paddingBottom="3dip"
+            />
+
+
+        <TextView android:id="@+id/am_pm"
+            android:layout_width="wrap_content"
+            android:layout_height="match_parent"
+            android:gravity="bottom"
+            android:textAppearance="?android:attr/textAppearanceMedium"
+            android:textStyle="bold"
+            android:singleLine="true"
+            android:ellipsize="none"
+            android:layout_marginLeft="4dip"
+            android:shadowColor="#C0000000"
+            android:shadowDx="0"
+            android:shadowDy="0"
+            android:shadowRadius="3.0"
+            />
+
+    </com.android.deskclock.DigitalClock>
+
+    <TextView android:id="@+id/date"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:gravity="left"
+        android:textAppearance="?android:attr/textAppearanceMedium"
+        android:shadowColor="#C0000000"
+        android:shadowDx="0"
+        android:shadowDy="0"
+        android:shadowRadius="3.0"
+        android:layout_marginLeft="4dip"
+        />
+
+</LinearLayout>
diff --git a/overlay/ldpi/packages/apps/Launcher2/res/layout/all_apps.xml b/overlay/ldpi/packages/apps/Launcher2/res/layout/all_apps.xml
new file mode 100644
index 0000000..daf1b6f
--- /dev/null
+++ b/overlay/ldpi/packages/apps/Launcher2/res/layout/all_apps.xml
@@ -0,0 +1,20 @@
+<?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.
+-->
+
+<!-- switch to all_apps_3d on devices that support RenderScript -->
+<merge xmlns:android="http://schemas.android.com/apk/res/android">
+    <include layout="@layout/all_apps_3d" />
+</merge>
diff --git a/overlay/ldpi/packages/apps/Launcher2/res/values/strings.xml b/overlay/ldpi/packages/apps/Launcher2/res/values/strings.xml
new file mode 100644
index 0000000..5c9850a
--- /dev/null
+++ b/overlay/ldpi/packages/apps/Launcher2/res/values/strings.xml
@@ -0,0 +1,24 @@
+<?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.
+*/
+-->
+
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- Make launcher run in acore. -->
+    <string name="sharedUserId" translate="false"><xliff:g id="x">android.uid.shared</xliff:g></string>
+    <string name="process" translate="false"><xliff:g id="x">android.process.acore</xliff:g></string>
+</resources>
diff --git a/overlay/ldpi/packages/apps/Music/res/drawable-mdpi-finger/buttonbar_active.9.png b/overlay/ldpi/packages/apps/Music/res/drawable-mdpi-finger/buttonbar_active.9.png
new file mode 100644
index 0000000..5028318
--- /dev/null
+++ b/overlay/ldpi/packages/apps/Music/res/drawable-mdpi-finger/buttonbar_active.9.png
Binary files differ
diff --git a/overlay/ldpi/packages/apps/Music/res/drawable-mdpi-finger/buttonbar_focused.9.png b/overlay/ldpi/packages/apps/Music/res/drawable-mdpi-finger/buttonbar_focused.9.png
new file mode 100644
index 0000000..f874825
--- /dev/null
+++ b/overlay/ldpi/packages/apps/Music/res/drawable-mdpi-finger/buttonbar_focused.9.png
Binary files differ
diff --git a/overlay/ldpi/packages/apps/Music/res/drawable-mdpi-finger/buttonbar_pressed.9.png b/overlay/ldpi/packages/apps/Music/res/drawable-mdpi-finger/buttonbar_pressed.9.png
new file mode 100644
index 0000000..237571e
--- /dev/null
+++ b/overlay/ldpi/packages/apps/Music/res/drawable-mdpi-finger/buttonbar_pressed.9.png
Binary files differ
diff --git a/overlay/ldpi/packages/apps/Music/res/layout-land-mdpi-finger/audio_player.xml b/overlay/ldpi/packages/apps/Music/res/layout-land-mdpi-finger/audio_player.xml
new file mode 100644
index 0000000..9485548
--- /dev/null
+++ b/overlay/ldpi/packages/apps/Music/res/layout-land-mdpi-finger/audio_player.xml
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2007 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.
+-->
+
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:background="@drawable/audio_player_background">
+
+    <ImageView
+        android:id="@+id/album"
+        android:background="@drawable/album_border_large"
+        android:layout_width="180dip"
+        android:layout_height="180dip"
+        android:layout_marginLeft="8dip"
+        android:layout_marginRight="0dip"
+        android:layout_marginTop="8dip" />
+
+    <RelativeLayout
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_toRightOf="@id/album"
+        android:layout_alignTop="@id/album"
+        android:layout_alignBottom="@id/album"
+        android:layout_alignParentRight="true">
+
+        <ImageButton android:id="@+id/repeat"
+            android:layout_width="54dip"
+            android:layout_height="36dip"
+            android:layout_alignParentLeft="true"
+            android:layout_marginLeft="4dip"
+            android:background="@drawable/btn_playback_top" />
+
+        <ImageButton android:id="@+id/shuffle"
+            android:layout_width="54dip"
+            android:layout_height="36dip"
+            android:layout_alignParentRight="true"
+            android:layout_marginRight="4dip"
+            android:background="@drawable/btn_playback_top" />
+
+        <TextView android:id="@+id/nowplaying_title"
+            android:textSize="20sp"
+            android:textColor="#ffffffff"
+            android:shadowColor="#ff000000"
+            android:shadowDx="0"
+            android:shadowDy="0"
+            android:shadowRadius="3"
+            android:singleLine="true"
+            android:ellipsize="end"
+            android:layout_width="wrap_content"
+            android:layout_height="36dip"
+            android:layout_centerHorizontal="true"
+            android:padding="4dip"
+            android:gravity="center_vertical"
+            android:text="@string/nowplaying_title" />
+
+        <TextView android:id="@+id/artistname"
+            android:textSize="20sp"
+            android:singleLine="true"
+            android:ellipsize="end"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_below="@id/nowplaying_title"
+            android:layout_marginTop="12dip"
+            android:layout_centerHorizontal="true"
+            android:padding="4dip" />
+
+        <TextView android:id="@+id/albumname"
+            android:textSize="16sp"
+            android:singleLine="true"
+            android:ellipsize="end"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_below="@id/artistname"
+            android:layout_centerHorizontal="true"
+            android:padding="4dip" />
+
+        <TextView android:id="@+id/trackname"
+            android:textSize="16sp"
+            android:singleLine="true"
+            android:ellipsize="end"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_below="@id/albumname"
+            android:layout_centerHorizontal="true"
+            android:padding="4dip" />
+
+        <include layout="@layout/audio_player_common_controls" />
+
+    </RelativeLayout>
+
+    <include layout="@layout/audio_player_common_progress" />
+
+</RelativeLayout>
diff --git a/overlay/ldpi/packages/apps/Music/res/layout-mdpi-finger/audio_player.xml b/overlay/ldpi/packages/apps/Music/res/layout-mdpi-finger/audio_player.xml
new file mode 100644
index 0000000..a2344af
--- /dev/null
+++ b/overlay/ldpi/packages/apps/Music/res/layout-mdpi-finger/audio_player.xml
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2007 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.
+-->
+
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/audio_player"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:background="@drawable/audio_player_background"
+    android:paddingTop="2dip">
+
+    <ImageButton android:id="@+id/repeat"
+        android:layout_width="54dip"
+        android:layout_height="36dip"
+        android:layout_alignParentLeft = "true"
+        android:layout_marginLeft="4dip"
+        android:background="@drawable/btn_playback_top" />
+
+    <ImageButton android:id="@+id/shuffle"
+        android:layout_width="54dip"
+        android:layout_height="36dip"
+        android:layout_alignParentRight = "true"
+        android:layout_marginRight="4dip"
+        android:background="@drawable/btn_playback_top" />
+
+    <TextView android:id="@+id/nowplaying_title"
+        android:textSize="20sp"
+        android:textColor="#ffffffff"
+        android:shadowColor="#ff000000"
+        android:shadowDx="0"
+        android:shadowDy="0"
+        android:shadowRadius="3"
+        android:singleLine="true"
+        android:layout_width="wrap_content"
+        android:layout_height="36dip"
+        android:layout_centerHorizontal="true"
+        android:padding="2dip"
+        android:gravity="center_vertical"
+        android:text="@string/nowplaying_title" />
+
+    <ImageView android:id="@+id/album"
+        android:background="@drawable/album_border_large"
+        android:layout_width="180dip"
+        android:layout_height="180dip"
+        android:layout_centerHorizontal="true"
+        android:layout_below="@id/nowplaying_title"
+        android:layout_marginTop="0dip" />
+
+    <TextView android:id="@+id/artistname"
+        android:textSize="16sp"
+        android:singleLine="true"
+        android:ellipsize="end"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_below="@id/album"
+        android:layout_centerHorizontal="true"
+        android:padding="0dip" />
+
+    <TextView android:id="@+id/albumname"
+        android:textSize="16sp"
+        android:singleLine="true"
+        android:ellipsize="end"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_below="@id/artistname"
+        android:layout_centerHorizontal="true"
+        android:padding="0dip" />
+
+    <TextView android:id="@+id/trackname"
+        android:textSize="16sp"
+        android:singleLine="true"
+        android:ellipsize="end"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_below="@id/albumname"
+        android:layout_centerHorizontal="true"
+        android:padding="0dip" />
+
+    <include layout="@layout/audio_player_common_progress" />
+
+    <include layout="@layout/audio_player_common_controls" />
+
+</RelativeLayout>
diff --git a/overlay/ldpi/packages/apps/Phone/res/layout-finger/dialpad.xml b/overlay/ldpi/packages/apps/Phone/res/layout-finger/dialpad.xml
new file mode 100644
index 0000000..804fe71
--- /dev/null
+++ b/overlay/ldpi/packages/apps/Phone/res/layout-finger/dialpad.xml
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2006 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.
+-->
+
+<com.android.phone.ButtonGridLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/dialpad"
+    android:paddingLeft="7dp"
+    android:paddingRight="7dp"
+    android:paddingTop="2dp"
+    android:paddingBottom="1dp"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:layout_gravity="center_horizontal"
+    android:layout_weight="1"
+>
+        <ImageButton android:id="@+id/one"
+            android:layout_width="88dp"
+            android:layout_height="50dp"
+            android:src="@drawable/dial_num_1_no_vm"
+            android:background="@drawable/btn_dial"
+        />
+
+        <ImageButton android:id="@+id/two"
+            android:layout_width="88dp"
+            android:layout_height="50dp"
+            android:src="@drawable/dial_num_2"
+            android:background="@drawable/btn_dial"
+        />
+
+        <ImageButton android:id="@+id/three"
+            android:layout_width="88dp"
+            android:layout_height="50dp"
+            android:src="@drawable/dial_num_3"
+            android:background="@drawable/btn_dial"
+        />
+
+        <ImageButton android:id="@+id/four"
+            android:layout_width="88dp"
+            android:layout_height="50dp"
+            android:src="@drawable/dial_num_4"
+            android:background="@drawable/btn_dial"
+        />
+
+        <ImageButton android:id="@+id/five"
+            android:layout_width="88dp"
+            android:layout_height="50dp"
+            android:src="@drawable/dial_num_5"
+            android:background="@drawable/btn_dial"
+        />
+
+        <ImageButton android:id="@+id/six"
+            android:layout_width="88dp"
+            android:layout_height="50dp"
+            android:src="@drawable/dial_num_6"
+            android:background="@drawable/btn_dial"
+        />
+
+        <ImageButton android:id="@+id/seven"
+            android:layout_width="88dp"
+            android:layout_height="50dp"
+            android:src="@drawable/dial_num_7"
+            android:background="@drawable/btn_dial"
+        />
+
+        <ImageButton android:id="@+id/eight"
+            android:layout_width="88dp"
+            android:layout_height="50dp"
+            android:src="@drawable/dial_num_8"
+            android:background="@drawable/btn_dial"
+        />
+
+        <ImageButton android:id="@+id/nine"
+            android:layout_width="88dp"
+            android:layout_height="50dp"
+            android:src="@drawable/dial_num_9"
+            android:background="@drawable/btn_dial"
+        />
+
+        <ImageButton android:id="@+id/star"
+            android:layout_width="88dp"
+            android:layout_height="50dp"
+            android:src="@drawable/dial_num_star"
+            android:background="@drawable/btn_dial"
+        />
+
+        <ImageButton android:id="@+id/zero"
+            android:layout_width="88dp"
+            android:layout_height="50dp"
+            android:src="@drawable/dial_num_0"
+            android:background="@drawable/btn_dial"
+        />
+
+        <ImageButton android:id="@+id/pound"
+            android:layout_width="88dp"
+            android:layout_height="50dp"
+            android:src="@drawable/dial_num_pound"
+            android:background="@drawable/btn_dial"
+        />
+</com.android.phone.ButtonGridLayout>
+
diff --git a/overlay/ldpi/packages/apps/Phone/res/layout-finger/dtmf_twelve_key_dialer.xml b/overlay/ldpi/packages/apps/Phone/res/layout-finger/dtmf_twelve_key_dialer.xml
new file mode 100644
index 0000000..d87274a
--- /dev/null
+++ b/overlay/ldpi/packages/apps/Phone/res/layout-finger/dtmf_twelve_key_dialer.xml
@@ -0,0 +1,118 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2008 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.
+-->
+
+<!-- Sliding drawer widget containing the in-call DTMF dialpad.
+
+     On devices that do *not* use an onscreen InCallTouchUi
+     widget, the dialpad is contained within a SlidingDrawer
+     (which provides a "handle" that the user must drag open
+     to access the dialpad.)
+
+     See non_drawer_dialpad.xml for the corresponding layout file
+     for devices that *do* use an InCallTouchUi widget.
+     -->
+<SlidingDrawer
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/dialer_container"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:topOffset="5dp"
+    android:bottomOffset="7dp"
+    android:handle="@+id/dialer_tab"
+    android:content="@+id/dtmf_dialer"
+    android:allowSingleTap="false"
+    android:visibility="gone"
+    >
+
+    <!-- Drawer handle -->
+    <LinearLayout
+        android:id="@id/dialer_tab"
+        android:orientation="horizontal"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:gravity="bottom"
+        android:focusable="true"
+        >
+        <ImageView
+            android:layout_width="1dip"
+            android:layout_height="wrap_content"
+            android:layout_weight="1"
+            android:scaleType="fitXY"
+            android:duplicateParentState="true"
+            android:src="@drawable/tray_handle_strip"
+            />
+        <Button
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:text="@string/dtmfDialpadHandleLabel"
+            android:singleLine="true"
+            android:textAppearance="?android:attr/textAppearanceSmall"
+            android:textStyle="bold"
+            android:shadowDy="1"
+            android:shadowRadius="0.9"
+            android:shadowColor="#ffffffff"
+            android:duplicateParentState="true"
+            android:background="@drawable/tray_handle_tab"/>
+        <ImageView
+            android:layout_width="1dip"
+            android:layout_height="wrap_content"
+            android:layout_weight="1"
+            android:scaleType="fitXY"
+            android:src="@drawable/tray_handle_strip"
+            android:duplicateParentState="true"
+            />
+    </LinearLayout>
+
+    <!-- drawer content dialer view -->
+    <com.android.phone.DTMFTwelveKeyDialerView
+        xmlns:android="http://schemas.android.com/apk/res/android"
+        android:id="@+id/dtmf_dialer"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:orientation="vertical"
+        android:layout_marginTop="1dip"
+        android:background="@color/dtmf_dialer_background">
+
+        <!-- Number Display Field, padded for correct text alignment -->
+        <EditText android:id="@+id/dtmfDialerField"
+            android:layout_width="match_parent"
+            android:layout_height="62dp"
+            android:layout_marginTop="14dp"
+            android:layout_marginBottom="6dp"
+            android:layout_marginLeft="3dp"
+            android:layout_marginRight="3dp"
+            android:paddingRight="16dp"
+            android:paddingLeft="16dp"
+            android:maxLines="1"
+            android:scrollHorizontally="true"
+            android:textSize="28sp"
+            android:freezesText="true"
+            android:background="@drawable/btn_dial_textfield_normal_full"
+            android:textColor="@color/dtmf_dialer_display_text"
+            android:focusableInTouchMode="false"
+            android:clickable="false"/>
+
+        <!-- Keypad section -->
+        <include layout="@layout/dialpad" />
+
+        <!-- Dummy element to pad below the dialpad -->
+        <View android:layout_height="1dp"
+            android:layout_width="match_parent"
+            android:layout_weight="1"/>
+
+    </com.android.phone.DTMFTwelveKeyDialerView>
+
+</SlidingDrawer>
diff --git a/overlay/ldpi/packages/apps/Phone/res/layout-finger/emergency_dialer.xml b/overlay/ldpi/packages/apps/Phone/res/layout-finger/emergency_dialer.xml
new file mode 100644
index 0000000..3a4c5cc
--- /dev/null
+++ b/overlay/ldpi/packages/apps/Phone/res/layout-finger/emergency_dialer.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2006 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.
+-->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/top"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical"
+>
+
+    <!-- Text field above the keypad where the digits are displayed -->
+    <!-- TODO: Use a textAppearance to control the display of the number -->
+    <EditText android:id="@+id/digits"
+        android:layout_width="match_parent"
+        android:layout_height="60dip"
+        android:gravity="center"
+        android:maxLines="1"
+        android:scrollHorizontally="true"
+        android:textSize="33sp"
+        android:freezesText="true"
+        android:background="@drawable/btn_dial_textfield"
+        android:textColor="@color/dialer_button_text"
+        android:focusableInTouchMode="false"
+        android:layout_weight="0"
+    />
+
+    <!-- Keypad section -->
+    <include layout="@layout/dialpad" />
+
+    <!-- Horizontal row of buttons (Voicemail + DialButton + Delete.) -->
+    <include layout="@layout/voicemail_dial_delete" />
+
+</LinearLayout>
diff --git a/overlay/ldpi/packages/apps/Phone/res/layout-finger/non_drawer_dialpad.xml b/overlay/ldpi/packages/apps/Phone/res/layout-finger/non_drawer_dialpad.xml
new file mode 100644
index 0000000..7e3d77a
--- /dev/null
+++ b/overlay/ldpi/packages/apps/Phone/res/layout-finger/non_drawer_dialpad.xml
@@ -0,0 +1,152 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2009 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.
+-->
+
+<!-- New style in-call DTMF dialpad, for devices that use the
+     InCallTouchUi widget, and thus do NOT use a SlidingDrawer
+     to contain the dialpad.
+
+     This provides basically the same UI elements as
+     dtmf_twelve_key_dialer.xml and dialpad.xml, but in a more
+     compact layout, and without the SlidingDrawer container.
+     -->
+<com.android.phone.DTMFTwelveKeyDialerView
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/non_drawer_dtmf_dialer"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical"
+    android:layout_marginTop="1dip"
+    android:visibility="gone"
+    >
+
+    <!-- Display of the digits you've typed so far -->
+    <EditText
+        android:id="@+id/dtmfDialerField"
+        android:layout_width="match_parent"
+        android:layout_height="30dp"
+        android:layout_marginTop="8dp"
+        android:layout_marginBottom="5dp"
+        android:layout_marginLeft="32dp"
+        android:layout_marginRight="32dp"
+        android:paddingRight="16dp"
+        android:paddingLeft="16dp"
+        android:maxLines="1"
+        android:scrollHorizontally="true"
+        android:textSize="24sp"
+        android:gravity="center"
+        android:freezesText="true"
+        android:background="@null"
+        android:textColor="@color/dtmf_dialer_display_text"
+        android:focusableInTouchMode="false"
+        android:clickable="false"/>
+
+    <!-- The dialpad itself -->
+    <com.android.phone.ButtonGridLayout
+        android:id="@+id/dialpad"
+        android:paddingLeft="7dp"
+        android:paddingRight="7dp"
+        android:paddingTop="2dp"
+        android:paddingBottom="1dp"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_gravity="center_horizontal"
+        >
+        <ImageButton android:id="@+id/one"
+                     android:layout_width="88dp"
+                     android:layout_height="50dp"
+                     android:src="@drawable/dial_num_1_no_vm"
+                     android:background="@drawable/btn_dial_green"
+                     />
+
+        <ImageButton android:id="@+id/two"
+                     android:layout_width="88dp"
+                     android:layout_height="50dp"
+                     android:src="@drawable/dial_num_2"
+                     android:background="@drawable/btn_dial_green"
+                     />
+
+        <ImageButton android:id="@+id/three"
+                     android:layout_width="88dp"
+                     android:layout_height="50dp"
+                     android:src="@drawable/dial_num_3"
+                     android:background="@drawable/btn_dial_green"
+                     />
+
+        <ImageButton android:id="@+id/four"
+                     android:layout_width="88dp"
+                     android:layout_height="50dp"
+                     android:src="@drawable/dial_num_4"
+                     android:background="@drawable/btn_dial_green"
+                     />
+
+        <ImageButton android:id="@+id/five"
+                     android:layout_width="88dp"
+                     android:layout_height="50dp"
+                     android:src="@drawable/dial_num_5"
+                     android:background="@drawable/btn_dial_green"
+                     />
+
+        <ImageButton android:id="@+id/six"
+                     android:layout_width="88dp"
+                     android:layout_height="50dp"
+                     android:src="@drawable/dial_num_6"
+                     android:background="@drawable/btn_dial_green"
+                     />
+
+        <ImageButton android:id="@+id/seven"
+                     android:layout_width="88dp"
+                     android:layout_height="50dp"
+                     android:src="@drawable/dial_num_7"
+                     android:background="@drawable/btn_dial_green"
+                     />
+
+        <ImageButton android:id="@+id/eight"
+                     android:layout_width="88dp"
+                     android:layout_height="50dp"
+                     android:src="@drawable/dial_num_8"
+                     android:background="@drawable/btn_dial_green"
+                     />
+
+        <ImageButton android:id="@+id/nine"
+                     android:layout_width="88dp"
+                     android:layout_height="50dp"
+                     android:src="@drawable/dial_num_9"
+                     android:background="@drawable/btn_dial_green"
+                     />
+
+        <ImageButton android:id="@+id/star"
+                     android:layout_width="88dp"
+                     android:layout_height="50dp"
+                     android:src="@drawable/dial_num_star"
+                     android:background="@drawable/btn_dial_green"
+                     />
+
+        <ImageButton android:id="@+id/zero"
+                     android:layout_width="88dp"
+                     android:layout_height="50dp"
+                     android:src="@drawable/dial_num_0"
+                     android:background="@drawable/btn_dial_green"
+                     />
+
+        <ImageButton android:id="@+id/pound"
+                     android:layout_width="88dp"
+                     android:layout_height="50dp"
+                     android:src="@drawable/dial_num_pound"
+                     android:background="@drawable/btn_dial_green"
+                     />
+    </com.android.phone.ButtonGridLayout>
+
+</com.android.phone.DTMFTwelveKeyDialerView>
diff --git a/overlay/ldpi/packages/apps/Phone/res/layout-mdpi/incall_touch_ui.xml b/overlay/ldpi/packages/apps/Phone/res/layout-mdpi/incall_touch_ui.xml
new file mode 100644
index 0000000..aa9d8bf
--- /dev/null
+++ b/overlay/ldpi/packages/apps/Phone/res/layout-mdpi/incall_touch_ui.xml
@@ -0,0 +1,235 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2009 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.
+-->
+
+<!-- In-call onscreen touch UI elements, used on some platforms.
+
+     This layout is a fullscreen overlay, drawn on top of the
+     non-touch-sensitive parts of the in-call UI (i.e. the call card).
+
+     The top-level View here is a FrameLayout with 2 children:
+       (1) incomingCallWidget: the UI displayed while an incoming call is ringing
+       (2) inCallControls: the widgets visible while a regular call (or calls) is in progress
+     Exactly one of these is visible at any given moment.
+     -->
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="fill_parent"
+    android:layout_height="fill_parent"
+    >
+
+    <!-- (1) incomingCallWidget: the UI displayed while an incoming call is ringing. -->
+    <com.android.internal.widget.SlidingTab
+        android:id="@+id/incomingSlidingTabCallWidget"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:visibility="gone"
+        android:layout_alignParentBottom="true"
+        android:layout_marginBottom="40dip"
+        />
+
+    <!-- (1) incomingCallWidget: the UI displayed while an incoming call is ringing. -->
+    <com.android.internal.widget.RotarySelector
+        android:id="@+id/incomingRotarySelectorCallWidget"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:visibility="gone"
+        android:layout_alignParentBottom="true"
+        android:layout_marginBottom="40dip"
+        />
+
+    <!--
+        (2) inCallControls: the widgets visible while a regular call
+        (or calls) is in progress
+    -->
+    <RelativeLayout android:id="@+id/inCallControls"
+                    android:layout_width="fill_parent"
+                    android:layout_height="fill_parent"
+                    android:layout_alignParentTop="true"
+                    android:visibility="gone"
+                    >
+        <!-- Buttons visible in the upper corners of the screen (in some states). -->
+        <!-- These are small round ImageButtons with a text label floating
+             off to the side. -->
+
+        <!-- "Hold" (upper left) -->
+        <!-- (Note "Hold", "Swap" and "Merge" are never available at
+             the same time.  That's why it's OK for them to be in the
+             same position onscreen.) -->
+        <LinearLayout android:id="@+id/holdButtonContainer"
+                style="@style/InCallRoundButtonContainer"
+                android:layout_alignParentLeft="true"
+                android:layout_marginLeft="10dip"
+                android:visibility="gone">
+            <ImageButton android:id="@+id/holdButton"
+                    style="@style/InCallRoundTouchButton"
+                    android:src="@drawable/ic_in_call_touch_round_hold" />
+            <TextView android:id="@+id/holdButtonLabel"
+                    style="@style/InCallRoundButtonLabel" />
+        </LinearLayout>
+
+        <!-- "Swap" (upper left) -->
+        <LinearLayout android:id="@+id/swapButtonContainer"
+                style="@style/InCallRoundButtonContainer"
+                android:layout_alignParentLeft="true"
+                android:layout_marginLeft="10dip"
+                android:visibility="gone">
+            <ImageButton android:id="@+id/swapButton"
+                    style="@style/InCallRoundTouchButton"
+                    android:src="@drawable/ic_in_call_touch_round_swap" />
+            <TextView android:id="@+id/swapButtonLabel"
+                style="@style/InCallRoundButtonLabel" />
+        </LinearLayout>
+
+        <!-- "Merge" (upper left) CDMA specific -->
+        <LinearLayout android:id="@+id/cdmaMergeButtonContainer"
+                style="@style/InCallRoundButtonContainer"
+                android:layout_alignParentLeft="true"
+                android:layout_marginLeft="10dip"
+                android:visibility="gone">
+            <ImageButton android:id="@+id/cdmaMergeButton"
+                    style="@style/InCallRoundTouchButton"
+                    android:src="@drawable/ic_in_call_touch_round_merge_call" />
+            <TextView
+                style="@style/InCallRoundButtonLabel"
+                android:text="@string/onscreenMergeCallsText" />
+        </LinearLayout>
+
+        <!-- DTMF dialpad shown in the upper part of the screen
+             (above the main cluster of buttons.) -->
+        <!-- TODO: this should be a ViewStub, and should only get inflated
+             when first needed. -->
+        <include layout="@layout/non_drawer_dialpad"/>
+
+        <!-- Main cluster of onscreen buttons on the lower part of the screen. -->
+        <LinearLayout android:id="@+id/bottomButtons"
+                      android:orientation="vertical"
+                      android:layout_width="fill_parent"
+                      android:layout_height="wrap_content"
+                      android:layout_alignParentBottom="true"
+                      android:paddingLeft="4dip"
+                      android:paddingRight="4dip"
+                      android:paddingBottom="0dip"
+                      >
+
+            <LinearLayout android:id="@+id/inCallControlsRow1"
+                          android:orientation="horizontal"
+                          android:layout_width="fill_parent"
+                          android:layout_height="wrap_content"
+                          android:layout_marginBottom="-5dip"
+                          >
+                <!-- The buttons in the top row all have an icon *and* a
+                     text label, so we use a <Button> with a "top"
+                     compound drawable (rather than an ImageButton, which
+                     can't have a label.)  Some buttons set the icon image
+                     here; others do it from Java if the image depends on
+                     the current state of the call. -->
+
+                <!-- The upper-left button in the main cluster is either
+                     "Add" or "Merge", depending on the state of the call. -->
+                <FrameLayout
+                    android:layout_width="1dip"
+                    android:layout_weight="1"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="8dip"
+                    android:layout_marginBottom="8dip"
+                    android:layout_marginLeft="8dip"
+                    android:layout_marginRight="8dip"
+                    >
+                    <!-- "Add Call" -->
+                    <Button android:id="@+id/addButton"
+                            style="@style/InCallTouchButton"
+                            android:layout_width="fill_parent"
+                            android:layout_height="wrap_content"
+                            android:layout_marginTop="0dip"
+                            android:layout_marginBottom="0dip"
+                            android:layout_marginLeft="0dip"
+                            android:layout_marginRight="0dip"
+                            android:text="@string/onscreenAddCallText"
+                            android:drawableTop="@drawable/ic_in_call_touch_add_call"
+                            />
+                    <!-- "Merge calls". GSM specific -->
+                    <Button android:id="@+id/mergeButton"
+                            style="@style/InCallTouchButton"
+                            android:layout_width="fill_parent"
+                            android:layout_height="wrap_content"
+                            android:layout_marginTop="0dip"
+                            android:layout_marginBottom="0dip"
+                            android:layout_marginLeft="0dip"
+                            android:layout_marginRight="0dip"
+                            android:text="@string/onscreenMergeCallsText"
+                            android:drawableTop="@drawable/ic_in_call_touch_merge_call"
+                            />
+                </FrameLayout>
+
+                <!-- "End call" -->
+                <Button android:id="@+id/endButton"
+                        style="@style/InCallTouchButton"
+                        android:layout_width="1dip"
+                        android:layout_weight="1"
+                        android:layout_height="wrap_content"
+                        android:text="@string/onscreenEndCallText"
+                        android:drawableTop="@drawable/ic_in_call_touch_end"
+                        android:textColor="@color/incall_endButtonLabel"
+                        />
+
+                <!-- "Dialpad" -->
+                <Button android:id="@+id/dialpadButton"
+                        style="@style/InCallTouchButton"
+                        android:layout_width="1dip"
+                        android:layout_weight="1"
+                        android:layout_height="wrap_content"
+                        android:text="@string/onscreenShowDialpadText"
+                        />
+            </LinearLayout>
+            <LinearLayout android:id="@+id/inCallControlsRow2"
+                          android:orientation="horizontal"
+                          android:layout_width="fill_parent"
+                          android:layout_height="wrap_content"
+                          android:layout_marginBottom="-5dip"
+                          >
+                <!-- "Bluetooth" -->
+                <ToggleButton android:id="@+id/bluetoothButton"
+                        style="@style/InCallTouchToggleButton"
+                        android:layout_width="1dip"
+                        android:layout_weight="1"
+                        android:layout_height="wrap_content"
+                        android:textOn="@string/onscreenBluetoothText"
+                        android:textOff="@string/onscreenBluetoothText"
+                        />
+                <!-- "Mute" -->
+                <ToggleButton android:id="@+id/muteButton"
+                        style="@style/InCallTouchToggleButton"
+                        android:layout_width="1dip"
+                        android:layout_weight="1"
+                        android:layout_height="wrap_content"
+                        android:textOn="@string/onscreenMuteText"
+                        android:textOff="@string/onscreenMuteText"
+                        />
+                <!-- "Speaker" -->
+                <ToggleButton android:id="@+id/speakerButton"
+                        style="@style/InCallTouchToggleButton"
+                        android:layout_width="1dip"
+                        android:layout_weight="1"
+                        android:layout_height="wrap_content"
+                        android:textOn="@string/onscreenSpeakerText"
+                        android:textOff="@string/onscreenSpeakerText"
+                        />
+            </LinearLayout>
+
+        </LinearLayout>
+
+    </RelativeLayout>
+
+</RelativeLayout>
diff --git a/overlay/ldpi/packages/apps/Phone/res/layout/call_card.xml b/overlay/ldpi/packages/apps/Phone/res/layout/call_card.xml
new file mode 100644
index 0000000..525ff01
--- /dev/null
+++ b/overlay/ldpi/packages/apps/Phone/res/layout/call_card.xml
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2007 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.
+-->
+
+<!-- XML resource file for the *children* of a CallCard used in the Phone app.
+     The CallCard itself is a subclass of FrameLayout, and its (single)
+     child is the LinearLayout found here.  (In the CallCard constructor,
+     we inflate this file and add it as a child.)
+     TODO: consider just <include>ing this directly from incall_screen.xml? -->
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    >
+
+    <!-- Info about the "secondary" call, displayed at the upper right of
+         the screen.  (If you're on a call with both lines in use, this
+         area displays the status and caller-id info of the call on hold.)
+
+         This block of info needs to be Z-ordered underneath the
+         primaryCallInfo block, so it's the first child listed here. -->
+    <LinearLayout android:id="@+id/secondaryCallInfo"
+                  android:orientation="vertical"
+                  android:layout_width="160dp"
+                  android:layout_height="wrap_content"
+                  android:gravity="center_horizontal"
+                  android:layout_alignParentTop="true"
+                  android:layout_alignParentRight="true"
+                  android:layout_marginTop="6dp"
+                  >
+        <TextView android:id="@+id/secondaryCallStatus"
+              android:text="@string/onHold"
+              android:textAppearance="?android:attr/textAppearanceMedium"
+              android:textSize="14sp"
+              android:singleLine="true"
+              android:layout_width="wrap_content"
+              android:layout_height="wrap_content"
+              />
+
+        <TextView android:id="@+id/secondaryCallName"
+              android:textAppearance="?android:attr/textAppearanceMedium"
+              android:textSize="14sp"
+              android:singleLine="true"
+              android:layout_width="wrap_content"
+              android:layout_height="wrap_content"
+              android:layout_marginTop="-2dip"
+              />
+
+        <!-- Scaled-down photo, or else a generic placeholder image. -->
+        <ImageView android:id="@+id/secondaryCallPhoto"
+            android:layout_width="106dp"
+            android:layout_height="101dp"
+            android:layout_marginTop="-6dip"
+            android:background="@drawable/incall_photo_border_med"
+            android:contentDescription="@string/onHold"
+            />
+    </LinearLayout>
+
+    <!-- The main block of info about the "primary" or "active" call -->
+    <LinearLayout
+        android:id="@+id/primaryCallInfo"
+        android:orientation="vertical"
+        android:gravity="center_horizontal"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_alignParentTop="true"
+        android:layout_marginTop="2dip"
+        >
+
+        <!-- "Upper title" at the very top of the CallCard. -->
+        <TextView android:id="@+id/upperTitle"
+                  android:textAppearance="?android:attr/textAppearanceLarge"
+                  android:textSize="28sp"
+                  android:singleLine="true"
+                  android:layout_width="wrap_content"
+                  android:layout_height="wrap_content"
+                  android:layout_marginBottom="2dip"
+                  />
+
+        <!-- "Person info": photo / name / number -->
+        <include layout="@layout/call_card_person_info" />
+
+    </LinearLayout>    <!-- End of (1) The main call card -->
+
+    <!-- The hint about the Menu button, below all the call info.
+         This is only ever shown on devices that actually have a
+         menu while in-call, i.e. it's never shown on devices where the
+         InCallTouchUi is enabled (see InCallScreen.updateMenuButtonHint().) -->
+    <TextView android:id="@+id/menuButtonHint"
+              android:text="@string/menuButtonHint"
+              android:textAppearance="?android:attr/textAppearanceMedium"
+              android:textSize="18sp"
+              android:textColor="?android:attr/textColorSecondary"
+              android:layout_width="wrap_content"
+              android:layout_height="wrap_content"
+              android:layout_below="@id/primaryCallInfo"
+              android:layout_marginTop="22dip"
+              android:layout_centerHorizontal="true"
+              android:visibility="gone"
+              />
+
+</RelativeLayout>
diff --git a/overlay/ldpi/packages/apps/Phone/res/layout/incall_touch_ui.xml b/overlay/ldpi/packages/apps/Phone/res/layout/incall_touch_ui.xml
new file mode 100644
index 0000000..b81c7e7
--- /dev/null
+++ b/overlay/ldpi/packages/apps/Phone/res/layout/incall_touch_ui.xml
@@ -0,0 +1,243 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2009 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.
+-->
+
+<!-- In-call onscreen touch UI elements, used on some platforms.
+
+     This layout is a fullscreen overlay, drawn on top of the
+     non-touch-sensitive parts of the in-call UI (i.e. the call card).
+
+     The top-level View here is a FrameLayout with 2 children:
+       (1) incomingCallWidget: the UI displayed while an incoming call is ringing
+       (2) inCallControls: the widgets visible while a regular call (or calls) is in progress
+     Exactly one of these is visible at any given moment.
+     -->
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    >
+
+    <!-- (1) incomingCallWidget: the UI displayed while an incoming call is ringing. -->
+    <com.android.internal.widget.SlidingTab
+        android:id="@+id/incomingSlidingTabCallWidget"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:visibility="gone"
+        android:layout_alignParentBottom="true"
+        android:layout_marginBottom="42dip"
+        />
+
+    <!-- (1) incomingCallWidget: the UI displayed while an incoming call is ringing. -->
+    <com.android.internal.widget.RotarySelector
+        android:id="@+id/incomingRotarySelectorCallWidget"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:visibility="gone"
+        android:layout_alignParentBottom="true"
+        android:layout_marginBottom="42dip"
+        />
+
+    <!--
+        (2) inCallControls: the widgets visible while a regular call
+        (or calls) is in progress
+    -->
+    <RelativeLayout android:id="@+id/inCallControls"
+                    android:layout_width="match_parent"
+                    android:layout_height="match_parent"
+                    android:layout_alignParentTop="true"
+                    android:visibility="gone"
+                    >
+        <!-- Buttons visible in the upper corners of the screen (in some states). -->
+        <!-- These are small round ImageButtons with a text label floating
+             off to the side. -->
+
+        <!-- "Hold" (upper left) -->
+        <!-- (Note "Hold", "Swap" and "Merge" are never available at
+             the same time.  That's why it's OK for them to be in the
+             same position onscreen.) -->
+        <LinearLayout android:id="@+id/holdButtonContainer"
+                style="@style/InCallRoundButtonContainer"
+                android:layout_alignParentLeft="true"
+                android:layout_marginLeft="10dip"
+                android:visibility="gone">
+            <ImageButton android:id="@+id/holdButton"
+                    style="@style/InCallRoundTouchButton"
+                    android:src="@drawable/ic_in_call_touch_round_hold"
+                    android:contentDescription="@string/onscreenHoldText" />
+            <TextView android:id="@+id/holdButtonLabel"
+                    style="@style/InCallRoundButtonLabel" />
+        </LinearLayout>
+
+        <!-- "Swap" (upper left) -->
+        <!-- This button's label changes to "Manage calls" in some CDMA states. -->
+        <LinearLayout android:id="@+id/swapButtonContainer"
+                style="@style/InCallRoundButtonContainer"
+                android:layout_alignParentLeft="true"
+                android:layout_marginLeft="10dip"
+                android:visibility="gone">
+            <ImageButton android:id="@+id/swapButton"
+                    style="@style/InCallRoundTouchButton"
+                    android:src="@drawable/ic_in_call_touch_round_swap"
+                    android:contentDescription="@string/onscreenSwapCallsText"/>
+            <TextView android:id="@+id/swapButtonLabel"
+                style="@style/InCallRoundButtonLabel" />
+        </LinearLayout>
+
+        <!-- CDMA-specific "Merge" (upper left) -->
+        <!-- This button is used only on CDMA devices, where we can't use
+             the Merge button in the main cluster (because the "Add Call"
+             button might need to be enabled at the same time.) -->
+        <LinearLayout android:id="@+id/cdmaMergeButtonContainer"
+                style="@style/InCallRoundButtonContainer"
+                android:layout_alignParentLeft="true"
+                android:layout_marginLeft="10dip"
+                android:visibility="gone">
+            <ImageButton android:id="@+id/cdmaMergeButton"
+                    style="@style/InCallRoundTouchButton"
+                    android:src="@drawable/ic_in_call_touch_round_merge_call"
+                    android:contentDescription="@string/onscreenMergeCallsText" />
+            <TextView
+                style="@style/InCallRoundButtonLabel"
+                android:text="@string/onscreenMergeCallsText" />
+        </LinearLayout>
+
+        <!-- DTMF dialpad shown in the upper part of the screen
+             (above the main cluster of buttons.) -->
+        <!-- TODO: this should be a ViewStub, and should only get inflated
+             when first needed. -->
+        <include layout="@layout/non_drawer_dialpad"/>
+
+        <!-- Main cluster of onscreen buttons on the lower part of the screen. -->
+        <LinearLayout android:id="@+id/bottomButtons"
+                      android:orientation="vertical"
+                      android:layout_width="match_parent"
+                      android:layout_height="wrap_content"
+                      android:layout_alignParentBottom="true"
+                      android:paddingLeft="4dip"
+                      android:paddingRight="4dip"
+                      android:paddingBottom="0dip"
+                      >
+
+            <LinearLayout android:id="@+id/inCallControlsRow1"
+                          android:orientation="horizontal"
+                          android:layout_width="match_parent"
+                          android:layout_height="wrap_content"
+                          >
+                <!-- The buttons in the top row all have an icon *and* a
+                     text label, so we use a <Button> with a "top"
+                     compound drawable (rather than an ImageButton, which
+                     can't have a label.)  Some buttons set the icon image
+                     here; others do it from Java if the image depends on
+                     the current state of the call. -->
+
+                <!-- The upper-left button in the main cluster is either
+                     "Add" or "Merge", depending on the state of the call. -->
+                <FrameLayout
+                    android:layout_width="1dip"
+                    android:layout_weight="1"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="0dip"
+                    android:layout_marginBottom="0dip"
+                    android:layout_marginLeft="8dip"
+                    android:layout_marginRight="8dip"
+                    >
+                    <!-- "Add Call" -->
+                    <Button android:id="@+id/addButton"
+                            style="@style/InCallTouchButton"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:layout_marginTop="0dip"
+                            android:layout_marginBottom="0dip"
+                            android:layout_marginLeft="0dip"
+                            android:layout_marginRight="0dip"
+                            android:text="@string/onscreenAddCallText"
+                            android:drawableTop="@drawable/ic_in_call_touch_add_call"
+                            />
+                    <!-- "Merge calls" -->
+                    <!-- This button is used only on GSM devices, where we know
+                         that "Add" and "Merge" are never available at the same time.
+                         The "Merge" button for CDMA devices is "cdmaMergeButton" above. -->
+                    <Button android:id="@+id/mergeButton"
+                            style="@style/InCallTouchButton"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:layout_marginTop="0dip"
+                            android:layout_marginBottom="0dip"
+                            android:layout_marginLeft="0dip"
+                            android:layout_marginRight="0dip"
+                            android:text="@string/onscreenMergeCallsText"
+                            android:drawableTop="@drawable/ic_in_call_touch_merge_call"
+                            />
+                </FrameLayout>
+
+                <!-- "End call" -->
+                <Button android:id="@+id/endButton"
+                        style="@style/InCallTouchButton"
+                        android:layout_width="1dip"
+                        android:layout_weight="1"
+                        android:layout_height="wrap_content"
+                        android:text="@string/onscreenEndCallText"
+                        android:drawableTop="@drawable/ic_in_call_touch_end"
+                        android:textColor="@color/incall_endButtonLabel"
+                        />
+
+                <!-- "Dialpad" -->
+                <Button android:id="@+id/dialpadButton"
+                        style="@style/InCallTouchButton"
+                        android:layout_width="1dip"
+                        android:layout_weight="1"
+                        android:layout_height="wrap_content"
+                        android:text="@string/onscreenShowDialpadText"
+                        />
+            </LinearLayout>
+            <LinearLayout android:id="@+id/inCallControlsRow2"
+                          android:orientation="horizontal"
+                          android:layout_width="match_parent"
+                          android:layout_height="wrap_content"
+                          >
+                <!-- "Bluetooth" -->
+                <ToggleButton android:id="@+id/bluetoothButton"
+                        style="@style/InCallTouchToggleButton"
+                        android:layout_width="1dip"
+                        android:layout_weight="1"
+                        android:layout_height="wrap_content"
+                        android:textOn="@string/onscreenBluetoothText"
+                        android:textOff="@string/onscreenBluetoothText"
+                        />
+                <!-- "Mute" -->
+                <ToggleButton android:id="@+id/muteButton"
+                        style="@style/InCallTouchToggleButton"
+                        android:layout_width="1dip"
+                        android:layout_weight="1"
+                        android:layout_height="wrap_content"
+                        android:textOn="@string/onscreenMuteText"
+                        android:textOff="@string/onscreenMuteText"
+                        />
+                <!-- "Speaker" -->
+                <ToggleButton android:id="@+id/speakerButton"
+                        style="@style/InCallTouchToggleButton"
+                        android:layout_width="1dip"
+                        android:layout_weight="1"
+                        android:layout_height="wrap_content"
+                        android:textOn="@string/onscreenSpeakerText"
+                        android:textOff="@string/onscreenSpeakerText"
+                        />
+            </LinearLayout>
+
+        </LinearLayout>
+
+    </RelativeLayout>
+
+</RelativeLayout>
diff --git a/overlay/ldpi/packages/apps/Phone/res/layout/incall_touch_ui_left.xml b/overlay/ldpi/packages/apps/Phone/res/layout/incall_touch_ui_left.xml
new file mode 100644
index 0000000..e47810b
--- /dev/null
+++ b/overlay/ldpi/packages/apps/Phone/res/layout/incall_touch_ui_left.xml
@@ -0,0 +1,244 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2009 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.
+-->
+
+<!-- In-call onscreen touch UI elements, used on some platforms.
+
+     This layout is a fullscreen overlay, drawn on top of the
+     non-touch-sensitive parts of the in-call UI (i.e. the call card).
+
+     The top-level View here is a FrameLayout with 2 children:
+       (1) incomingCallWidget: the UI displayed while an incoming call is ringing
+       (2) inCallControls: the widgets visible while a regular call (or calls) is in progress
+     Exactly one of these is visible at any given moment.
+     -->
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    >
+
+    <!-- (1) incomingCallWidget: the UI displayed while an incoming call is ringing. -->
+    <com.android.internal.widget.SlidingTab
+        android:id="@+id/incomingSlidingTabCallWidget"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:visibility="gone"
+        android:layout_alignParentBottom="true"
+        android:layout_marginBottom="42dip"
+        />
+
+    <!-- (1) incomingCallWidget: the UI displayed while an incoming call is ringing. -->
+    <com.android.internal.widget.RotarySelector
+        android:id="@+id/incomingRotarySelectorCallWidget"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:visibility="gone"
+        android:layout_alignParentBottom="true"
+        android:layout_marginBottom="42dip"
+        />
+
+    <!--
+        (2) inCallControls: the widgets visible while a regular call
+        (or calls) is in progress
+    -->
+    <RelativeLayout android:id="@+id/inCallControls"
+                    android:layout_width="match_parent"
+                    android:layout_height="match_parent"
+                    android:layout_alignParentTop="true"
+                    android:visibility="gone"
+                    >
+        <!-- Buttons visible in the upper corners of the screen (in some states). -->
+        <!-- These are small round ImageButtons with a text label floating
+             off to the side. -->
+
+        <!-- "Hold" (upper left) -->
+        <!-- (Note "Hold", "Swap" and "Merge" are never available at
+             the same time.  That's why it's OK for them to be in the
+             same position onscreen.) -->
+        <LinearLayout android:id="@+id/holdButtonContainer"
+                style="@style/InCallRoundButtonContainer"
+                android:layout_alignParentRight="true"
+                android:layout_marginRight="10dip"
+                android:visibility="gone">
+            <ImageButton android:id="@+id/holdButton"
+                    style="@style/InCallRoundTouchButton"
+                    android:src="@drawable/ic_in_call_touch_round_hold"
+                    android:contentDescription="@string/onscreenHoldText" />
+            <TextView android:id="@+id/holdButtonLabel"
+                    style="@style/InCallRoundButtonLabel" />
+        </LinearLayout>
+
+        <!-- "Swap" (upper left) -->
+        <!-- This button's label changes to "Manage calls" in some CDMA states. -->
+        <LinearLayout android:id="@+id/swapButtonContainer"
+                style="@style/InCallRoundButtonContainer"
+                android:layout_alignParentRight="true"
+                android:layout_marginRight="10dip"
+                android:visibility="gone">
+            <ImageButton android:id="@+id/swapButton"
+                    style="@style/InCallRoundTouchButton"
+                    android:src="@drawable/ic_in_call_touch_round_swap"
+                    android:contentDescription="@string/onscreenSwapCallsText"/>
+            <TextView android:id="@+id/swapButtonLabel"
+                style="@style/InCallRoundButtonLabel" />
+        </LinearLayout>
+
+        <!-- CDMA-specific "Merge" (upper left) -->
+        <!-- This button is used only on CDMA devices, where we can't use
+             the Merge button in the main cluster (because the "Add Call"
+             button might need to be enabled at the same time.) -->
+        <LinearLayout android:id="@+id/cdmaMergeButtonContainer"
+                style="@style/InCallRoundButtonContainer"
+                android:layout_alignParentRight="true"
+                android:layout_marginRight="10dip"
+                android:visibility="gone">
+            <ImageButton android:id="@+id/cdmaMergeButton"
+                    style="@style/InCallRoundTouchButton"
+                    android:src="@drawable/ic_in_call_touch_round_merge_call"
+                    android:contentDescription="@string/onscreenMergeCallsText" />
+            <TextView
+                style="@style/InCallRoundButtonLabel"
+                android:text="@string/onscreenMergeCallsText" />
+        </LinearLayout>
+
+        <!-- DTMF dialpad shown in the upper part of the screen
+             (above the main cluster of buttons.) -->
+        <!-- TODO: this should be a ViewStub, and should only get inflated
+             when first needed. -->
+        <include layout="@layout/non_drawer_dialpad"/>
+
+        <!-- Main cluster of onscreen buttons on the lower part of the screen. -->
+        <LinearLayout android:id="@+id/bottomButtons"
+                      android:orientation="vertical"
+                      android:layout_width="match_parent"
+                      android:layout_height="wrap_content"
+                      android:layout_alignParentBottom="true"
+                      android:paddingLeft="4dip"
+                      android:paddingRight="4dip"
+                      android:paddingBottom="4dip"
+                      >
+
+            <LinearLayout android:id="@+id/inCallControlsRow1"
+                          android:orientation="horizontal"
+                          android:layout_width="match_parent"
+                          android:layout_height="wrap_content"
+                          >
+                <!-- The buttons in the top row all have an icon *and* a
+                     text label, so we use a <Button> with a "top"
+                     compound drawable (rather than an ImageButton, which
+                     can't have a label.)  Some buttons set the icon image
+                     here; others do it from Java if the image depends on
+                     the current state of the call. -->
+
+                <!-- "Dialpad" -->
+                <Button android:id="@+id/dialpadButton"
+                        style="@style/InCallTouchButton"
+                        android:layout_width="1dip"
+                        android:layout_weight="1"
+                        android:layout_height="wrap_content"
+                        android:text="@string/onscreenShowDialpadText"
+                        />
+
+                <!-- "End call" -->
+                <Button android:id="@+id/endButton"
+                        style="@style/InCallTouchButton"
+                        android:layout_width="1dip"
+                        android:layout_weight="1"
+                        android:layout_height="wrap_content"
+                        android:text="@string/onscreenEndCallText"
+                        android:drawableTop="@drawable/ic_in_call_touch_end"
+                        android:textColor="@color/incall_endButtonLabel"
+                        />
+    
+                <!-- The upper-right button in the main cluster is either
+                     "Add" or "Merge", depending on the state of the call. -->
+                <FrameLayout
+                    android:layout_width="1dip"
+                    android:layout_weight="1"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="8dip"
+                    android:layout_marginBottom="8dip"
+                    android:layout_marginLeft="8dip"
+                    android:layout_marginRight="8dip"
+                    >
+                    <!-- "Add Call" -->
+                    <Button android:id="@+id/addButton"
+                            style="@style/InCallTouchButton"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:layout_marginTop="0dip"
+                            android:layout_marginBottom="0dip"
+                            android:layout_marginLeft="0dip"
+                            android:layout_marginRight="0dip"
+                            android:text="@string/onscreenAddCallText"
+                            android:drawableTop="@drawable/ic_in_call_touch_add_call"
+                            />
+                    <!-- "Merge calls" -->
+                    <!-- This button is used only on GSM devices, where we know
+                         that "Add" and "Merge" are never available at the same time.
+                         The "Merge" button for CDMA devices is "cdmaMergeButton" above. -->
+                    <Button android:id="@+id/mergeButton"
+                            style="@style/InCallTouchButton"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:layout_marginTop="0dip"
+                            android:layout_marginBottom="0dip"
+                            android:layout_marginLeft="0dip"
+                            android:layout_marginRight="0dip"
+                            android:text="@string/onscreenMergeCallsText"
+                            android:drawableTop="@drawable/ic_in_call_touch_merge_call"
+                            />
+                </FrameLayout>
+
+            </LinearLayout>
+            <LinearLayout android:id="@+id/inCallControlsRow2"
+                          android:orientation="horizontal"
+                          android:layout_width="match_parent"
+                          android:layout_height="wrap_content"
+                          >
+                <!-- "Speaker" -->
+                <ToggleButton android:id="@+id/speakerButton"
+                        style="@style/InCallTouchToggleButton"
+                        android:layout_width="1dip"
+                        android:layout_weight="1"
+                        android:layout_height="wrap_content"
+                        android:textOn="@string/onscreenSpeakerText"
+                        android:textOff="@string/onscreenSpeakerText"
+                        />
+                <!-- "Mute" -->
+                <ToggleButton android:id="@+id/muteButton"
+                        style="@style/InCallTouchToggleButton"
+                        android:layout_width="1dip"
+                        android:layout_weight="1"
+                        android:layout_height="wrap_content"
+                        android:textOn="@string/onscreenMuteText"
+                        android:textOff="@string/onscreenMuteText"
+                        />
+                <!-- "Bluetooth" -->
+                <ToggleButton android:id="@+id/bluetoothButton"
+                        style="@style/InCallTouchToggleButton"
+                        android:layout_width="1dip"
+                        android:layout_weight="1"
+                        android:layout_height="wrap_content"
+                        android:textOn="@string/onscreenBluetoothText"
+                        android:textOff="@string/onscreenBluetoothText"
+                        />
+            </LinearLayout>
+
+        </LinearLayout>
+
+    </RelativeLayout>
+
+</RelativeLayout>
diff --git a/overlay/ldpi/packages/apps/Phone/res/values/styles.xml b/overlay/ldpi/packages/apps/Phone/res/values/styles.xml
new file mode 100644
index 0000000..cb4ffa0
--- /dev/null
+++ b/overlay/ldpi/packages/apps/Phone/res/values/styles.xml
@@ -0,0 +1,229 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2007 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.
+-->
+
+<resources>
+    <drawable name="separator_red">#FFAE1200</drawable>
+    <drawable name="separator_green">#FF008115</drawable>
+    <drawable name="grayBg">#FF333333</drawable>
+
+    <style name="Incoming">
+        <item name="android:windowFrame">@null</item>
+        <item name="android:windowBackground">@null</item>
+    </style>
+
+    <style name="IccPanel">
+        <item name="android:windowFrame">@null</item>
+        <item name="android:windowBackground">@drawable/grayBg</item>
+    </style>
+
+    <style name="AlertPanel">
+        <item name="android:windowFrame">@null</item>
+        <item name="android:windowBackground">@drawable/grayBg</item>
+    </style>
+
+    <style name="info_label">
+        <item name="android:layout_height">wrap_content</item>
+        <item name="android:layout_width">wrap_content</item>
+        <item name="android:textAppearance">@style/TextAppearance.info_label</item>
+        <item name="android:paddingRight">4dip</item>
+    </style>
+
+    <style name="info_layout">
+        <item name="android:orientation">vertical</item>
+        <item name="android:paddingLeft">10dip</item>
+        <item name="android:paddingTop">10dip</item>
+        <item name="android:paddingRight">10dip</item>
+        <item name="android:paddingBottom">10dip</item>
+        <item name="android:layout_width">match_parent</item>
+        <item name="android:layout_height">match_parent</item>
+    </style>
+
+    <style name="entry_layout">
+        <item name="android:orientation">vertical</item>
+        <item name="android:layout_width">wrap_content</item>
+        <item name="android:layout_height">wrap_content</item>
+    </style>
+
+    <style name="TextAppearance" parent="android:TextAppearance">
+    </style>
+
+    <style name="TextAppearance.info_label">
+        <item name="android:textSize">14sp</item>
+        <item name="android:textStyle">bold</item>
+    </style>
+
+    <style name="incall_top_button" parent="android:Widget.Button">
+        <item name="android:gravity">center_vertical</item>
+        <item name="android:layout_width">0sp</item>
+        <item name="android:layout_weight">1</item>
+        <item name="android:layout_height">match_parent</item>
+        <item name="android:padding">0dip</item>
+        <item name="android:textAppearance">?android:attr/textAppearanceSmall</item>
+        <item name="android:textColor">#000</item>
+    </style>
+
+    <style name="TextAppearance.DialerLine1" parent="@android:style/TextAppearance.Widget.Button">
+        <item name="android:textSize">32sp</item>
+        <item name="android:textColor">@color/dialer_button_text</item>
+        <item name="android:textStyle">bold</item>
+    </style>
+
+    <style name="TextAppearance.DialerLine2" parent="@android:style/TextAppearance.Widget.Button">
+        <item name="android:textSize">18sp</item>
+        <item name="android:textColor">@color/dialer_button_text</item>
+    </style>
+
+    <style name="TextAppearance.EmergencyDialerLine1" parent="@android:style/TextAppearance.Widget.Button">
+        <item name="android:textSize">22sp</item>
+        <item name="android:textColor">#ffffff</item>
+    </style>
+
+    <style name="TextAppearance.EmergencyDialerLine2" parent="@android:style/TextAppearance.Widget.Button">
+        <item name="android:textSize">14sp</item>
+        <item name="android:textColor">#ffffff</item>
+    </style>
+
+    <!-- Preference Style for the phone number preferences -->
+    <style name="EditPhoneNumberPreference">
+        <item name="enableButtonText">@string/enable</item>
+        <item name="disableButtonText">@string/disable</item>
+        <item name="changeNumButtonText">@string/change_num</item>
+        <item name="confirmMode">activation</item>
+    </style>
+
+    <!-- Preference Style for the emergency callback mode -->
+    <!-- This styles is currently not used and just prepared for further usage -->
+    <style name="EmergencyCallBack">
+        <item name="android:textSize">20sp</item>
+        <item name="android:textColor">#ffffff</item>
+        <item name="android:windowNoTitle">true</item>
+        <item name="android:colorForeground">#fff</item>
+    </style>
+
+    <!-- Preference Style for the ERI text -->
+    <style name="EriWidgetBackground">
+    </style>
+
+    <style name="TextAppearance.EriWidget">
+        <item name="android:textSize">16sp</item>
+        <item name="android:textStyle">bold</item>
+        <item name="android:textColor">@android:color/black</item>
+    </style>
+
+    <!-- OTA Call Card styles -->
+    <style name="ccOtaButtonBar">
+        <!-- TODO: change height to 'wrap_content' when layout bug is fixed -->
+        <item name="android:layout_height">60dip</item> 
+        <item name="android:layout_width">match_parent</item>
+        <item name="android:background">@android:drawable/bottom_bar</item>
+    </style>
+
+    <style name="ccOtaButton">
+        <item name="android:layout_width">150dip</item>
+        <item name="android:layout_height">wrap_content</item>
+        <item name="android:layout_marginTop">5dip</item>
+        <item name="android:layout_marginBottom">5dip</item>
+    </style>
+
+    <style name="ccOtaNextButton" parent="ccOtaButton">
+        <!-- <item name="android:drawableRight">@drawable/ic_btn_next</item>
+             <item name="android:drawablePadding">10dip</item>
+          -->
+        <item name="android:layout_alignParentBottom">true</item>
+        <item name="android:layout_alignParentRight">true</item>
+        <item name="android:layout_marginRight">4dip</item>
+    </style>
+
+    <style name="ccOtaSkipButton" parent="ccOtaButton">
+        <item name="android:layout_alignParentBottom">true</item>
+        <item name="android:layout_alignParentLeft">true</item>
+        <item name="android:layout_marginLeft">4dip</item>
+    </style>
+
+    <style name="ccOtaDialVisible">
+        <item name="android:visibility">visible</item>
+    </style>
+
+    <style name="ccOtaWizardTitle">
+        <item name="android:textSize">22sp</item>
+        <item name="android:textColor">@color/ota_title_color</item>
+    </style>
+
+    <style name="ccOtaTextPrimary">
+        <item name="android:textColor">?android:attr/textColorPrimary</item>
+        <item name="android:textSize">17sp</item>
+    </style>
+
+    <!-- Regular (non-toggle) buttons in the in-call onscreen touch UI. -->
+    <style name="InCallTouchButton">
+        <item name="android:gravity">center</item>
+        <item name="android:background">@drawable/incall_button</item>
+        <item name="android:layout_marginTop">0dip</item>
+        <item name="android:layout_marginBottom">0dip</item>
+        <item name="android:layout_marginLeft">8dip</item>
+        <item name="android:layout_marginRight">8dip</item>
+        <item name="android:textAppearance">?android:attr/textAppearanceSmall</item>
+        <item name="android:textColor">?android:attr/textColorPrimary</item>
+        <item name="android:singleLine">true</item>
+        <item name="android:ellipsize">marquee</item>
+    </style>
+
+    <!-- Toggle buttons in the in-call onscreen touch UI. -->
+    <style name="InCallTouchToggleButton">
+        <item name="android:gravity">center</item>
+        <item name="android:background">@drawable/incall_toggle_button</item>
+        <item name="android:layout_marginTop">0dip</item>
+        <item name="android:layout_marginBottom">0dip</item>
+        <item name="android:layout_marginLeft">8dip</item>
+        <item name="android:layout_marginRight">8dip</item>
+        <item name="android:textAppearance">?android:attr/textAppearanceSmall</item>
+        <item name="android:textColor">?android:attr/textColorPrimary</item>
+        <item name="android:singleLine">true</item>
+        <item name="android:ellipsize">marquee</item>
+    </style>
+
+    <!-- Small round ImageButtons at the upper corners of the in-call onscreen touch UI. -->
+    <style name="InCallRoundTouchButton">
+        <item name="android:gravity">center</item>
+        <item name="android:layout_width">wrap_content</item>
+        <item name="android:layout_height">wrap_content</item>
+        <item name="android:background">@drawable/incall_round_button</item>
+    </style>
+
+    <!-- Text label next to the small round ImageButtons at the upper
+         corners of the in-call onscreen touch UI. -->
+    <style name="InCallRoundButtonLabel">
+        <item name="android:textAppearance">?android:attr/textAppearanceMedium</item>
+        <item name="android:textSize">14sp</item>
+        <item name="android:layout_width">wrap_content</item>
+        <item name="android:layout_height">wrap_content</item>
+        <item name="android:layout_marginLeft">5dip</item>
+        <item name="android:layout_marginRight">5dip</item>
+    </style>
+
+    <!-- Style for the LinearLayout used to hold the ImageButton and
+         TextView for the small round buttons at the upper corners of the
+         in-call onscreen touch UI. -->
+    <style name="InCallRoundButtonContainer">
+        <item name="android:orientation">horizontal</item>
+        <item name="android:gravity">center_vertical</item>
+        <item name="android:layout_width">wrap_content</item>
+        <item name="android:layout_height">wrap_content</item>
+        <item name="android:layout_alignParentTop">true</item>
+        <item name="android:layout_marginTop">0dip</item>
+    </style>
+
+</resources>
diff --git a/overlay/ldpi/packages/apps/Settings/res/layout/choose_lock_password.xml b/overlay/ldpi/packages/apps/Settings/res/layout/choose_lock_password.xml
new file mode 100644
index 0000000..780e9d5
--- /dev/null
+++ b/overlay/ldpi/packages/apps/Settings/res/layout/choose_lock_password.xml
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+**
+** Copyright 2008, 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.
+*/
+-->
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="fill_parent"
+    android:layout_height="fill_parent"
+    android:orientation="vertical"
+    android:background="@android:color/background_dark"
+    android:gravity="center_horizontal">
+
+    <!-- header text ('Enter Pin') -->
+    <TextView android:id="@+id/headerText"
+        android:layout_width="fill_parent"
+        android:layout_height="wrap_content"
+        android:gravity="center"
+        android:lines="2"
+        android:textAppearance="?android:attr/textAppearanceMedium"/>
+
+    <!-- spacer above text entry field -->
+    <View
+        android:id="@+id/spacerBottom"
+        android:layout_width="fill_parent"
+        android:layout_height="1dip"
+        android:layout_marginTop="2dip"
+        android:background="@android:drawable/divider_horizontal_dark"
+    />
+
+    <!-- Password entry field -->
+    <EditText android:id="@+id/password_entry"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:singleLine="true"
+        android:textStyle="bold"
+        android:inputType="textPassword"
+        android:gravity="center"
+        android:layout_gravity="center"
+        android:textSize="28sp"
+        android:layout_marginTop="6dip"
+        android:layout_marginLeft="30dip"
+        android:layout_marginRight="30dip"
+        android:textAppearance="?android:attr/textAppearanceMedium"
+        android:background="@drawable/password_field_default"
+        android:textColor="#ffffffff"
+    />
+
+    <!-- Spacer between password entry and keyboard -->
+    <View
+        android:layout_width="match_parent"
+        android:layout_height="0dip"
+        android:layout_weight="1" />
+
+    <!-- Alphanumeric keyboard -->
+    <com.android.internal.widget.PasswordEntryKeyboardView android:id="@+id/keyboard"
+        android:layout_alignParentBottom="true"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:background="#00000000"
+        android:layout_marginBottom="10dip"
+        android:keyBackground="@*android:drawable/btn_keyboard_key_fulltrans"
+    />
+
+    <RelativeLayout
+        android:layout_height="wrap_content"
+        android:layout_width="match_parent"
+        android:background="@android:drawable/bottom_bar">
+
+        <Button android:id="@+id/cancel_button"
+            android:layout_width="150dip"
+            android:layout_height="wrap_content"
+            android:layout_margin="5dip"
+            android:layout_alignParentLeft="true"
+            android:text="@string/lockpassword_cancel_label"
+        />
+
+        <Button android:id="@+id/next_button"
+            android:layout_width="150dip"
+            android:layout_height="wrap_content"
+            android:layout_margin="5dip"
+            android:layout_alignParentRight="true"
+            android:drawableRight="@drawable/ic_btn_next"
+            android:drawablePadding="10dip"
+            android:text="@string/lockpassword_continue_label"
+        />
+
+    </RelativeLayout>
+
+</LinearLayout>
diff --git a/overlay/ldpi/packages/apps/Settings/res/layout/choose_lock_pattern.xml b/overlay/ldpi/packages/apps/Settings/res/layout/choose_lock_pattern.xml
new file mode 100644
index 0000000..86e06bc
--- /dev/null
+++ b/overlay/ldpi/packages/apps/Settings/res/layout/choose_lock_pattern.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2008 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.
+-->
+<com.android.internal.widget.LinearLayoutWithDefaultTouchRecepient
+        xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/topLayout"
+    android:orientation="vertical"
+    android:layout_width="wrap_content"
+    android:layout_height="match_parent"
+    android:background="@color/black">
+
+    <!-- takes up all space above button bar at bottom -->
+    <LinearLayout
+        android:orientation="vertical"
+        android:layout_width="match_parent"
+        android:layout_height="0dip"
+        android:layout_weight="1">
+
+        <TextView android:id="@+id/headerText"
+            android:layout_width="match_parent"
+            android:layout_height="0dip"
+            android:layout_weight="1"
+            android:gravity="center"
+            android:textSize="18sp"
+            android:visibility="gone"/>
+
+        <View
+             android:background="@*android:drawable/code_lock_top"
+             android:layout_width="match_parent"
+             android:layout_height="2dip" />
+        <com.android.internal.widget.LockPatternView android:id="@+id/lockPattern"
+             android:layout_width="wrap_content"
+             android:layout_height="wrap_content" />
+
+        <!-- bottom line looks bad when button bar is their too, omit in this case -->
+        <!--View
+             android:background="@*android:drawable/code_lock_bottom"
+             android:layout_width="match_parent"
+             android:layout_height="8dip" /-->
+
+        <TextView android:id="@+id/footerText"
+            android:layout_width="match_parent"
+            android:layout_height="0dip"
+            android:layout_weight="1"
+            android:gravity="center"
+            android:textSize="10sp"/>
+
+    </LinearLayout>
+
+
+    <LinearLayout style="@android:style/ButtonBar"
+        android:orientation="horizontal"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content">
+
+        <Button android:id="@+id/footerLeftButton"
+            android:layout_height="wrap_content"
+            android:layout_width="140dip"
+            android:ellipsize="marquee"
+            android:singleLine="true"
+            android:text="@string/lockpattern_restart_button_text"/>
+
+        <View
+            android:visibility="invisible"
+            android:layout_height="0dip"
+            android:layout_width="1dip"
+            android:layout_weight="1" />
+
+        <Button android:id="@+id/footerRightButton"
+            android:layout_height="wrap_content"
+            android:layout_width="140dip"
+            android:ellipsize="marquee"
+            android:singleLine="true"
+            android:drawableRight="@drawable/ic_btn_next"
+            android:drawablePadding="3dip"
+            android:text="@string/lockpattern_confirm_button_text"/>
+
+    </LinearLayout>
+
+</com.android.internal.widget.LinearLayoutWithDefaultTouchRecepient>
diff --git a/overlay/ldpi/packages/apps/Settings/res/layout/choose_lock_pattern_example.xml b/overlay/ldpi/packages/apps/Settings/res/layout/choose_lock_pattern_example.xml
new file mode 100644
index 0000000..5d5d074
--- /dev/null
+++ b/overlay/ldpi/packages/apps/Settings/res/layout/choose_lock_pattern_example.xml
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2008 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.
+-->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:orientation="vertical"
+    android:layout_height="match_parent"
+    android:layout_width="match_parent">
+    
+    <ScrollView 
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:layout_weight="1">
+        
+        <LinearLayout
+            android:orientation="vertical"
+            android:layout_height="match_parent"
+            android:layout_width="match_parent"
+            android:padding="5dip">
+            
+            <TextView
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:text="@string/lock_example_title"
+                android:gravity="center_horizontal"
+                style="?android:attr/textAppearanceLarge"
+                android:visibility="gone"
+            />
+        
+            <ImageView android:id="@+id/lock_anim"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="0dip"
+                android:layout_gravity="center_horizontal"
+                android:focusable="false"
+                android:clickable="false"
+            />
+            
+            <TextView
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="5dip"
+                android:text="@string/lock_example_message"
+                android:layout_gravity="left"
+                style="?android:attr/textAppearanceMedium"
+				android:visibility="gone"
+            />
+            
+        </LinearLayout>
+
+    </ScrollView>
+    
+    <LinearLayout style="@android:style/ButtonBar"
+        android:orientation="horizontal"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content">
+        
+        <Button android:id="@+id/skip_button"
+            android:layout_height="wrap_content"
+            android:layout_width="140dip"
+            android:ellipsize="marquee"
+            android:singleLine="true"
+            android:text="@string/skip_button_label"
+        />
+      
+        <!-- Placeholder to get blank space between the two buttons -->
+        <View
+            android:visibility="invisible"
+            android:layout_height="0dip"
+            android:layout_width="1dip"
+            android:layout_weight="1" />
+            
+        <Button android:id="@+id/next_button"
+            android:layout_height="wrap_content"
+            android:layout_width="140dip"
+            android:ellipsize="marquee"
+            android:singleLine="true"
+            android:drawableRight="@drawable/ic_btn_next"
+            android:drawablePadding="3dip"
+            android:text="@string/next_button_label"
+        />
+        
+    </LinearLayout>
+    
+</LinearLayout>
diff --git a/overlay/ldpi/packages/apps/Settings/res/layout/confirm_lock_pattern.xml b/overlay/ldpi/packages/apps/Settings/res/layout/confirm_lock_pattern.xml
new file mode 100644
index 0000000..4261f11
--- /dev/null
+++ b/overlay/ldpi/packages/apps/Settings/res/layout/confirm_lock_pattern.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2008 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.
+-->
+<com.android.internal.widget.LinearLayoutWithDefaultTouchRecepient
+        xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/topLayout"
+    android:orientation="vertical"
+    android:layout_width="wrap_content"
+    android:layout_height="match_parent"
+    android:background="@color/black">
+
+    <TextView android:id="@+id/headerText"
+        android:layout_width="match_parent"
+        android:layout_height="0dip"
+        android:layout_weight="1.0"
+        android:gravity="center"
+        android:textSize="18sp"
+        android:visibility="gone"/>
+
+    <View
+         android:background="@*android:drawable/code_lock_top"
+         android:layout_width="match_parent"
+         android:layout_height="2dip" />
+    <com.android.internal.widget.LockPatternView android:id="@+id/lockPattern"
+         android:layout_width="wrap_content"
+         android:layout_height="wrap_content" />
+    <View
+         android:background="@*android:drawable/code_lock_bottom"
+         android:layout_width="match_parent"
+         android:layout_height="8dip" />
+
+    <TextView android:id="@+id/footerText"
+        android:layout_width="match_parent"
+        android:layout_height="0dip"
+        android:layout_weight="1.0"
+        android:gravity="center"
+        android:textSize="10sp"/>
+
+
+</com.android.internal.widget.LinearLayoutWithDefaultTouchRecepient>
diff --git a/overlay/ldpi/packages/apps/Stk/res/drawable-mdpi/ic_launcher_sim_toolkit.png b/overlay/ldpi/packages/apps/Stk/res/drawable-mdpi/ic_launcher_sim_toolkit.png
new file mode 100644
index 0000000..0ec525f
--- /dev/null
+++ b/overlay/ldpi/packages/apps/Stk/res/drawable-mdpi/ic_launcher_sim_toolkit.png
Binary files differ
diff --git a/products/AndroidProducts.mk b/products/AndroidProducts.mk
index 09bf019..e01d9d0 100644
--- a/products/AndroidProducts.mk
+++ b/products/AndroidProducts.mk
@@ -3,6 +3,7 @@
     $(LOCAL_DIR)/cyanogen_bravo.mk \
     $(LOCAL_DIR)/cyanogen_bravoc.mk \
     $(LOCAL_DIR)/cyanogen_buzz.mk \
+    $(LOCAL_DIR)/cyanogen_click.mk \
     $(LOCAL_DIR)/cyanogen_crespo.mk \
     $(LOCAL_DIR)/cyanogen_espresso.mk \
     $(LOCAL_DIR)/cyanogen_hero.mk \
diff --git a/products/cyanogen_click.mk b/products/cyanogen_click.mk
new file mode 100644
index 0000000..9ea1cbb
--- /dev/null
+++ b/products/cyanogen_click.mk
@@ -0,0 +1,45 @@
+# Inherit AOSP device configuration for click.
+$(call inherit-product, device/htc/click/click.mk)
+
+# Inherit some common cyanogenmod stuff.
+$(call inherit-product, vendor/cyanogen/products/common_full.mk)
+
+# Include GSM stuff
+$(call inherit-product, vendor/cyanogen/products/gsm.mk)
+
+# Build kernel
+PRODUCT_SPECIFIC_DEFINES += TARGET_PREBUILT_KERNEL=device/htc/click/kernel
+
+#
+# Setup device specific product configuration.
+#
+PRODUCT_NAME := cyanogen_click
+PRODUCT_BRAND := htc_wwe
+PRODUCT_DEVICE := click
+PRODUCT_MODEL := HTC click
+PRODUCT_MANUFACTURER := HTC
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=htc_click BUILD_ID=FRG83 BUILD_DISPLAY_ID=GRH78C BUILD_FINGERPRINT=google/passion/passion/mahimahi:2.2.1/FRG83/60505:user/release-keys PRIVATE_BUILD_DESC="passion-user 2.2.1 FRG83 60505 release-keys"
+PRIVATE_BUILD_DESC="passion-user 2.2.1 FRG83 60505 release-keys"
+
+# Extra Passion overlay
+PRODUCT_PACKAGE_OVERLAYS += vendor/cyanogen/overlay/ldpi
+
+# Boot animation
+PRODUCT_COPY_FILES +=  \
+    vendor/cyanogen/prebuilt/ldpi/media/bootanimation.zip:system/media/bootanimation.zip
+
+#
+# Set ro.modversion
+#
+ifdef CYANOGEN_NIGHTLY
+    PRODUCT_PROPERTY_OVERRIDES += \
+        ro.modversion=CyanogenMod-$(shell date +%m%d%Y)-NIGHTLY-click
+else
+    ifdef CYANOGEN_RELEASE
+        PRODUCT_PROPERTY_OVERRIDES += \
+            ro.modversion=CyanogenMod-7.0.0-RC0-click
+    else
+        PRODUCT_PROPERTY_OVERRIDES += \
+            ro.modversion=CyanogenMod-RC0-click-KANG
+    endif
+endif
\ No newline at end of file
diff --git a/vendorsetup.sh b/vendorsetup.sh
index c9a8023..a39cce2 100644
--- a/vendorsetup.sh
+++ b/vendorsetup.sh
@@ -1,8 +1,9 @@
 add_lunch_combo cyanogen_ace-eng
 add_lunch_combo cyanogen_bravo-eng
 add_lunch_combo cyanogen_bravoc-eng
-add_lunch_combo cyanogen_crespo-eng
 add_lunch_combo cyanogen_buzz-eng
+add_lunch_combo cyanogen_click-eng
+add_lunch_combo cyanogen_crespo-eng
 #add_lunch_combo cyanogen_dream_sapphire-eng
 add_lunch_combo cyanogen_espresso-eng
 add_lunch_combo cyanogen_generic-eng