Blanket copy of PhoneApp to services/Telephony.

First phase of splitting out InCallUI from PhoneApp.

Change-Id: I237341c4ff00e96c677caa4580b251ef3432931b
diff --git a/res/drawable/background_dial_holo_dark.xml b/res/drawable/background_dial_holo_dark.xml
new file mode 100644
index 0000000..e06507f
--- /dev/null
+++ b/res/drawable/background_dial_holo_dark.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2012 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.
+-->
+
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <gradient
+            android:startColor="#ff020709"
+            android:endColor="#ff0a242d"
+            android:angle="270" />
+</shape>
diff --git a/res/drawable/btn_call.xml b/res/drawable/btn_call.xml
new file mode 100644
index 0000000..abce983
--- /dev/null
+++ b/res/drawable/btn_call.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2011 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.
+-->
+
+<!-- Background resource for call button in the various dialpads.
+     Almost a copy from framework's item_background_holo_dark.xml, but has different pressed effect
+  -->
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <item android:state_window_focused="false" android:drawable="@android:color/transparent" />
+
+    <!-- Even though these two point to the same resource, have two states so the drawable will invalidate itself when coming out of pressed state. -->
+    <item android:state_focused="true"  android:state_enabled="false" android:state_pressed="true" android:drawable="@drawable/list_selector_disabled_holo_dark" />
+    <item android:state_focused="true"  android:state_enabled="false"                              android:drawable="@drawable/list_selector_disabled_holo_dark" />
+    <item android:state_focused="true"                                android:state_pressed="true" android:drawable="@drawable/btn_call_pressed" />
+    <item android:state_focused="false"                               android:state_pressed="true" android:drawable="@drawable/btn_call_pressed" />
+    <item android:state_focused="true"                                                             android:drawable="@drawable/list_focused_holo" />
+    <item                                                                                          android:drawable="@android:color/transparent" />
+</selector>
+
diff --git a/res/drawable/btn_compound_audio.xml b/res/drawable/btn_compound_audio.xml
new file mode 100644
index 0000000..c348c98
--- /dev/null
+++ b/res/drawable/btn_compound_audio.xml
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2011 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.
+-->
+
+<!-- Layers used to render the in-call "Audio mode" compound button.
+
+     This is a multi-mode button:
+
+     - If no bluetooth headset is connected, it behaves like a simple
+       "compound button" that switches the speaker on and off.  (This is why
+       the button itself is a ToggleButton instance.)
+
+     - But if a bluetooth headset is connected, this becomes a simple
+       action button (with no concept of a "checked" state) that brings
+       up a popup menu offering you a 3-way choice between earpiece /
+       speaker / bluetooth.
+
+     See InCallTouchUi.updateAudioButton() for the corresponding code. -->
+
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <!-- The standard "compound button" background, used to distinguish
+         between the "checked" and "unchecked" states when this button is
+         simply an on/off toggle for the speaker.
+         (In states where the audio button *not* a toggle, we explicitly
+         hide this layer.) -->
+    <item android:id="@+id/compoundBackgroundItem"
+          android:drawable="@drawable/btn_compound_background" />
+
+    <!-- The little triangle that indicates that this isn't a plain
+         button, but will instead pop up a menu.  This layer is *not*
+         shown when the audio button is simply an on/off toggle. -->
+    <!-- Use an explicit <bitmap> to avoid scaling the icon up to the full
+         size of the button. -->
+    <item android:id="@+id/moreIndicatorItem">
+        <bitmap android:src="@drawable/ic_more_indicator_holo_dark"
+                android:gravity="center" />
+    </item>
+
+    <!-- Finally, the button icon.
+
+         When the audio button is simply an on/off toggle for the speaker,
+         the icon is a "speakerphone" regardless of whether the speaker is
+         active.  (Instead, the "on/off" indication comes from the
+         btn_compound_background selector.)
+
+         But when the audio button is connected to the 3-way popup menu,
+         we use the button's icon to indicate the current audio mode
+         (i.e. one of { earpiece (or wired headset) , speaker , bluetooth }).
+
+         Here we have separate layers for each possible foreground icon,
+         and in InCallTouchUi.updateAudioButton() we hide them all
+         *except* the one needed for the current state. -->
+
+    <!-- These all use an explicit <bitmap> to avoid scaling the icon up
+         to the full size of the button. -->
+
+    <!-- Bluetooth is active -->
+    <item android:id="@+id/bluetoothItem">
+        <bitmap android:src="@drawable/ic_sound_bluetooth_holo_dark"
+                android:gravity="center" />
+    </item>
+
+
+    <!-- Handset earpiece is active -->
+    <item android:id="@+id/handsetItem">
+        <bitmap android:src="@drawable/ic_sound_handset_holo_dark"
+                android:gravity="center" />
+    </item>
+
+    <!-- Speakerphone icon showing 'speaker on' state -->
+    <item android:id="@+id/speakerphoneOnItem">
+        <bitmap android:src="@drawable/ic_sound_speakerphone_holo_dark"
+                android:gravity="center" />
+    </item>
+
+    <!-- Speakerphone icon showing 'speaker off' state -->
+    <item android:id="@+id/speakerphoneOffItem">
+        <bitmap android:src="@drawable/ic_sound_off_speakerphone_holo_dark"
+                android:gravity="center" />
+    </item>
+
+    <!-- Generic "audio mode" icon.  Looks almost identical to
+         ic_sound_speakerphone_holo_dark.png -->
+    <!-- TODO: is this actually needed? -->
+    <!--
+        <item android:id="@+id/soundItem">
+            <bitmap android:src="@drawable/ic_sound_holo_dark"
+                    android:gravity="center" />
+        </item>
+    -->
+
+</layer-list>
diff --git a/res/drawable/btn_compound_background.xml b/res/drawable/btn_compound_background.xml
new file mode 100644
index 0000000..6f2ef5f
--- /dev/null
+++ b/res/drawable/btn_compound_background.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2011 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.
+-->
+
+<!-- Background resource for "compound buttons" in the in-call UI.
+     These buttons have two states (checked and unchecked), and
+     show a blue bar along the bottom edge when checked. -->
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <item android:state_pressed="true"
+          android:drawable="@drawable/list_pressed_holo_dark" />
+    <item android:state_checked="true" android:state_focused="true"
+          android:drawable="@drawable/list_selector_focused_and_checked" />
+    <item android:state_focused="true"
+          android:drawable="@drawable/list_focused_holo" />
+    <item android:state_checked="true"
+          android:drawable="@drawable/ic_active_state_dialer_holo_dark" />
+
+    <item
+        android:drawable="@android:color/transparent" />
+
+</selector>
diff --git a/res/drawable/btn_compound_dialpad.xml b/res/drawable/btn_compound_dialpad.xml
new file mode 100644
index 0000000..b44f2fa
--- /dev/null
+++ b/res/drawable/btn_compound_dialpad.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2011 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.
+-->
+
+<!-- Layers used to render the in-call "Dialpad" compound button. -->
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <!-- The standard "compound button" background. -->
+    <item android:drawable="@drawable/btn_compound_background" />
+
+    <!-- ...and the actual icon on top.  Use an explicit <bitmap> to avoid scaling
+         the icon up to the full size of the button. -->
+    <item>
+        <bitmap android:src="@drawable/ic_dialpad_holo_dark"
+                android:gravity="center" />
+    </item>
+
+</layer-list>
diff --git a/res/drawable/btn_compound_hold.xml b/res/drawable/btn_compound_hold.xml
new file mode 100644
index 0000000..50161ea
--- /dev/null
+++ b/res/drawable/btn_compound_hold.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2011 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.
+-->
+
+<!-- Layers used to render the in-call "Hold" compound button. -->
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <!-- The standard "compound button" background. -->
+    <item android:drawable="@drawable/btn_compound_background" />
+
+    <!-- ...and the actual icon on top.  Use an explicit <bitmap> to avoid scaling
+         the icon up to the full size of the button. -->
+    <item>
+        <bitmap android:src="@drawable/ic_hold_pause_holo_dark"
+                android:gravity="center" />
+    </item>
+
+</layer-list>
diff --git a/res/drawable/btn_compound_mute.xml b/res/drawable/btn_compound_mute.xml
new file mode 100644
index 0000000..4e09bd9
--- /dev/null
+++ b/res/drawable/btn_compound_mute.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2011 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.
+-->
+
+<!-- Layers used to render the in-call "Mute" compound button. -->
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <!-- The standard "compound button" background. -->
+    <item android:drawable="@drawable/btn_compound_background" />
+
+    <!-- ...and the actual icon on top.  Use an explicit <bitmap> to avoid scaling
+         the icon up to the full size of the button. -->
+    <item>
+        <bitmap android:src="@drawable/ic_mute_holo_dark"
+                android:gravity="center" />
+    </item>
+
+</layer-list>
diff --git a/res/drawable/clickable_dim_effect.xml b/res/drawable/clickable_dim_effect.xml
new file mode 100644
index 0000000..e4b4f6f
--- /dev/null
+++ b/res/drawable/clickable_dim_effect.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2012 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.
+-->
+
+<!-- Background drawable used with dim effect for secondary photo. -->
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <item android:state_pressed="true" android:state_enabled="true"
+          android:drawable="@drawable/list_pressed_holo_dark" />
+    <item android:drawable="@color/on_hold_dim_effect" />
+
+</selector>
diff --git a/res/drawable/dialpad_background.xml b/res/drawable/dialpad_background.xml
new file mode 100644
index 0000000..0e31f5e
--- /dev/null
+++ b/res/drawable/dialpad_background.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2011 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.
+-->
+
+<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
+    android:src="@drawable/dial_background_texture"
+    android:tileMode="repeat" />
diff --git a/res/drawable/dialpad_background_opaque.xml b/res/drawable/dialpad_background_opaque.xml
new file mode 100644
index 0000000..d8792f2
--- /dev/null
+++ b/res/drawable/dialpad_background_opaque.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2011 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.
+-->
+
+<!-- Opaque version of dialpad_background.xml. -->
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <!-- An opaque black layer underneath. -->
+    <item android:drawable="@android:color/black" />
+
+    <!-- ...and the "dial_background_texture" tiled on top. -->
+    <item>
+        <bitmap xmlns:android="http://schemas.android.com/apk/res/android"
+                android:src="@drawable/dial_background_texture"
+                android:tileMode="repeat" />
+    </item>
+
+</layer-list>
diff --git a/res/drawable/end_call_background.xml b/res/drawable/end_call_background.xml
new file mode 100644
index 0000000..33ec22f
--- /dev/null
+++ b/res/drawable/end_call_background.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2011 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.
+-->
+
+<!-- Background drawable used to render the "end call" button. -->
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <item android:state_enabled="false">
+        <bitmap
+            android:src="@drawable/endcall_disable"
+            android:tileMode="repeat" />
+    </item>
+
+    <item android:state_pressed="true">
+        <bitmap
+            android:src="@drawable/endcall_active"
+            android:tileMode="repeat" />
+    </item>
+
+    <item>
+        <layer-list>
+            <item>
+                <bitmap
+                    android:src="@drawable/endcall_background_texture"
+                    android:tileMode="repeat" />
+            </item>
+
+            <!-- The standard "compound button" background. -->
+            <item android:drawable="@drawable/btn_compound_background" />
+        </layer-list>
+    </item>
+
+</selector>
diff --git a/res/drawable/ic_in_call_touch_handle.xml b/res/drawable/ic_in_call_touch_handle.xml
new file mode 100644
index 0000000..e657e92
--- /dev/null
+++ b/res/drawable/ic_in_call_touch_handle.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2011 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.
+-->
+
+<!-- Touch handle for the GlowPadView widget on the incoming call screen -->
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <item
+        android:state_enabled="true"
+        android:state_active="false"
+        android:state_focused="false"
+        android:drawable="@drawable/ic_in_call_touch_handle_normal" />
+
+    <!-- "Pressed" state uses the same simple "ring" image as on the lockscreen -->
+    <item
+        android:state_enabled="true"
+        android:state_active="true"
+        android:state_focused="false"
+        android:drawable="@*android:drawable/ic_lockscreen_handle_pressed" />
+
+</selector>
diff --git a/res/drawable/ic_lockscreen_answer.xml b/res/drawable/ic_lockscreen_answer.xml
new file mode 100644
index 0000000..3184111
--- /dev/null
+++ b/res/drawable/ic_lockscreen_answer.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2012 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.
+-->
+<!-- Used with incoming call wigdet. -->
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item
+        android:state_enabled="true" android:state_active="false" android:state_focused="false"
+        android:drawable="@drawable/ic_lockscreen_answer_normal_layer"/>
+    <item
+        android:state_enabled="true" android:state_active="true"  android:state_focused="false"
+        android:drawable="@drawable/ic_lockscreen_answer_activated_layer" />
+   <item
+        android:state_enabled="true" android:state_active="false"  android:state_focused="true"
+        android:drawable="@drawable/ic_lockscreen_answer_activated_layer" />
+</selector>
diff --git a/res/drawable/ic_lockscreen_answer_activated_layer.xml b/res/drawable/ic_lockscreen_answer_activated_layer.xml
new file mode 100644
index 0000000..6889581
--- /dev/null
+++ b/res/drawable/ic_lockscreen_answer_activated_layer.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2012 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.
+-->
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
+    <item>
+        <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval">
+            <solid android:color="#99cc00"/>
+            <size
+                android:width="@dimen/incoming_call_widget_circle_size"
+                android:height="@dimen/incoming_call_widget_circle_size" />
+        </shape>
+    </item>
+    <item
+        android:top="@dimen/incoming_call_widget_asset_margin"
+        android:right="@dimen/incoming_call_widget_asset_margin"
+        android:bottom="@dimen/incoming_call_widget_asset_margin"
+        android:left="@dimen/incoming_call_widget_asset_margin"
+        android:drawable="@drawable/ic_lockscreen_answer_activated" />
+</layer-list>
diff --git a/res/drawable/ic_lockscreen_answer_normal_layer.xml b/res/drawable/ic_lockscreen_answer_normal_layer.xml
new file mode 100644
index 0000000..083fe3f
--- /dev/null
+++ b/res/drawable/ic_lockscreen_answer_normal_layer.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2012 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.
+-->
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
+    <!-- A fake circle to fix the size of this layer asset. -->
+    <item>
+        <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval">
+            <solid android:color="#00000000"/>
+            <size
+                android:width="@dimen/incoming_call_widget_circle_size"
+                android:height="@dimen/incoming_call_widget_circle_size" />
+        </shape>
+    </item>
+    <item
+        android:top="@dimen/incoming_call_widget_asset_margin"
+        android:right="@dimen/incoming_call_widget_asset_margin"
+        android:bottom="@dimen/incoming_call_widget_asset_margin"
+        android:left="@dimen/incoming_call_widget_asset_margin"
+        android:drawable="@drawable/ic_lockscreen_answer_normal" />
+</layer-list>
diff --git a/res/drawable/ic_lockscreen_decline.xml b/res/drawable/ic_lockscreen_decline.xml
new file mode 100644
index 0000000..6643816
--- /dev/null
+++ b/res/drawable/ic_lockscreen_decline.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2012 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.
+-->
+<!-- Used with incoming call wigdet. -->
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item
+        android:state_enabled="true" android:state_active="false" android:state_focused="false"
+        android:drawable="@drawable/ic_lockscreen_decline_normal_layer" />
+    <item
+        android:state_enabled="true" android:state_active="true"  android:state_focused="false"
+        android:drawable="@drawable/ic_lockscreen_decline_activated_layer" />
+    <item
+        android:state_enabled="true" android:state_active="false"  android:state_focused="true"
+        android:drawable="@drawable/ic_lockscreen_decline_activated_layer" />
+</selector>
diff --git a/res/drawable/ic_lockscreen_decline_activated_layer.xml b/res/drawable/ic_lockscreen_decline_activated_layer.xml
new file mode 100644
index 0000000..e3606d1
--- /dev/null
+++ b/res/drawable/ic_lockscreen_decline_activated_layer.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2012 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.
+-->
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
+    <item>
+        <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval">
+            <solid android:color="#ff4040"/>
+            <size
+                android:width="@dimen/incoming_call_widget_circle_size"
+                android:height="@dimen/incoming_call_widget_circle_size" />
+        </shape>
+    </item>
+    <item
+        android:top="@dimen/incoming_call_widget_asset_margin"
+        android:right="@dimen/incoming_call_widget_asset_margin"
+        android:bottom="@dimen/incoming_call_widget_asset_margin"
+        android:left="@dimen/incoming_call_widget_asset_margin"
+        android:drawable="@drawable/ic_lockscreen_decline_activated" />
+</layer-list>
diff --git a/res/drawable/ic_lockscreen_decline_normal_layer.xml b/res/drawable/ic_lockscreen_decline_normal_layer.xml
new file mode 100644
index 0000000..2896bef
--- /dev/null
+++ b/res/drawable/ic_lockscreen_decline_normal_layer.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2012 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.
+-->
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
+    <!-- A fake circle to fix the size of this layer asset. -->
+    <item>
+        <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval">
+            <solid android:color="#00000000"/>
+            <size
+                android:width="@dimen/incoming_call_widget_circle_size"
+                android:height="@dimen/incoming_call_widget_circle_size" />
+        </shape>
+    </item>
+    <item
+        android:top="@dimen/incoming_call_widget_asset_margin"
+        android:right="@dimen/incoming_call_widget_asset_margin"
+        android:bottom="@dimen/incoming_call_widget_asset_margin"
+        android:left="@dimen/incoming_call_widget_asset_margin"
+        android:drawable="@drawable/ic_lockscreen_decline_normal" />
+</layer-list>
diff --git a/res/drawable/ic_lockscreen_text.xml b/res/drawable/ic_lockscreen_text.xml
new file mode 100644
index 0000000..f9caac8
--- /dev/null
+++ b/res/drawable/ic_lockscreen_text.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2012 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.
+-->
+<!-- Used with incoming call wigdet. -->
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item
+        android:state_enabled="true" android:state_active="false" android:state_focused="false"
+        android:drawable="@drawable/ic_lockscreen_text_normal_layer" />
+    <item
+        android:state_enabled="true" android:state_active="true"  android:state_focused="false"
+        android:drawable="@drawable/ic_lockscreen_text_activated_layer" />
+    <item
+        android:state_enabled="true" android:state_active="false"  android:state_focused="true"
+        android:drawable="@drawable/ic_lockscreen_text_activated_layer" />
+</selector>
diff --git a/res/drawable/ic_lockscreen_text_activated_layer.xml b/res/drawable/ic_lockscreen_text_activated_layer.xml
new file mode 100644
index 0000000..95141e5
--- /dev/null
+++ b/res/drawable/ic_lockscreen_text_activated_layer.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2012 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.
+-->
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
+    <item>
+        <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval">
+            <solid android:color="#99cc00"/>
+            <size
+                android:width="@dimen/incoming_call_widget_circle_size"
+                android:height="@dimen/incoming_call_widget_circle_size" />
+        </shape>
+    </item>
+    <item
+        android:top="@dimen/incoming_call_widget_asset_margin"
+        android:right="@dimen/incoming_call_widget_asset_margin"
+        android:bottom="@dimen/incoming_call_widget_asset_margin"
+        android:left="@dimen/incoming_call_widget_asset_margin"
+        android:drawable="@drawable/ic_lockscreen_text_activated" />
+</layer-list>
diff --git a/res/drawable/ic_lockscreen_text_normal_layer.xml b/res/drawable/ic_lockscreen_text_normal_layer.xml
new file mode 100644
index 0000000..42fd51d
--- /dev/null
+++ b/res/drawable/ic_lockscreen_text_normal_layer.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2012 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.
+-->
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
+    <!-- A fake circle to fix the size of this layer asset. -->
+    <item>
+        <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval">
+            <solid android:color="#00000000"/>
+            <size
+                android:width="@dimen/incoming_call_widget_circle_size"
+                android:height="@dimen/incoming_call_widget_circle_size" />
+        </shape>
+    </item>
+    <item
+        android:top="@dimen/incoming_call_widget_asset_margin"
+        android:right="@dimen/incoming_call_widget_asset_margin"
+        android:bottom="@dimen/incoming_call_widget_asset_margin"
+        android:left="@dimen/incoming_call_widget_asset_margin"
+        android:drawable="@drawable/ic_lockscreen_text_normal" />
+</layer-list>
diff --git a/res/drawable/list_selector_focused_and_checked.xml b/res/drawable/list_selector_focused_and_checked.xml
new file mode 100644
index 0000000..113dae8
--- /dev/null
+++ b/res/drawable/list_selector_focused_and_checked.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2011 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.
+-->
+
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
+    <item android:drawable="@drawable/ic_active_state_dialer_holo_dark" />
+    <item android:drawable="@drawable/list_focused_holo" />
+</layer-list>