Merge "Gingerbread support-ish" into gb-ub-photos-bryce
diff --git a/actionbarsherlock/res/color/abs__primary_text_disable_only_holo_dark.xml b/actionbarsherlock/res/color/abs__primary_text_disable_only_holo_dark.xml
new file mode 100644
index 0000000..ea7459a
--- /dev/null
+++ b/actionbarsherlock/res/color/abs__primary_text_disable_only_holo_dark.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.
+-->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:state_enabled="false" android:color="@color/abs__bright_foreground_disabled_holo_dark"/>
+    <item android:color="@color/abs__bright_foreground_holo_dark"/> <!-- not selected -->
+</selector>
diff --git a/actionbarsherlock/res/color/abs__primary_text_disable_only_holo_light.xml b/actionbarsherlock/res/color/abs__primary_text_disable_only_holo_light.xml
new file mode 100644
index 0000000..0edb33b
--- /dev/null
+++ b/actionbarsherlock/res/color/abs__primary_text_disable_only_holo_light.xml
@@ -0,0 +1,21 @@
+<?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.
+-->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:state_enabled="false" android:color="@color/abs__bright_foreground_disabled_holo_light"/>
+    <item android:color="@color/abs__bright_foreground_holo_light"/> <!-- not selected -->
+</selector>
+
diff --git a/actionbarsherlock/res/color/abs__primary_text_holo_dark.xml b/actionbarsherlock/res/color/abs__primary_text_holo_dark.xml
new file mode 100644
index 0000000..2bcfd0b
--- /dev/null
+++ b/actionbarsherlock/res/color/abs__primary_text_holo_dark.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.
+-->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:state_enabled="false" android:color="@color/abs__bright_foreground_disabled_holo_dark"/>
+    <item android:state_window_focused="false" android:color="@color/abs__bright_foreground_holo_dark"/>
+    <item android:state_pressed="true" android:color="@color/abs__bright_foreground_holo_dark"/>
+    <item android:state_selected="true" android:color="@color/abs__bright_foreground_holo_dark"/>
+    <item android:state_activated="true" android:color="@color/abs__bright_foreground_holo_dark"/>
+    <item android:color="@color/abs__bright_foreground_holo_dark"/> <!-- not selected -->
+</selector>
diff --git a/actionbarsherlock/res/color/abs__primary_text_holo_light.xml b/actionbarsherlock/res/color/abs__primary_text_holo_light.xml
new file mode 100644
index 0000000..198384f
--- /dev/null
+++ b/actionbarsherlock/res/color/abs__primary_text_holo_light.xml
@@ -0,0 +1,26 @@
+<?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.
+-->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:state_enabled="false" android:color="@color/abs__bright_foreground_disabled_holo_light"/>
+    <item android:state_window_focused="false" android:color="@color/abs__bright_foreground_holo_light"/>
+    <item android:state_pressed="true" android:color="@color/abs__bright_foreground_holo_light"/>
+    <item android:state_selected="true" android:color="@color/abs__bright_foreground_holo_light"/>
+    <item android:state_activated="true" android:color="@color/abs__bright_foreground_holo_light"/>
+    <item android:color="@color/abs__bright_foreground_holo_light"/> <!-- not selected -->
+    
+</selector>
+
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__ab_bottom_solid_dark_holo.9.png b/actionbarsherlock/res/drawable-hdpi/abs__ab_bottom_solid_dark_holo.9.png
new file mode 100644
index 0000000..769463b
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__ab_bottom_solid_dark_holo.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__ab_bottom_solid_inverse_holo.9.png b/actionbarsherlock/res/drawable-hdpi/abs__ab_bottom_solid_inverse_holo.9.png
new file mode 100644
index 0000000..88f11dc
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__ab_bottom_solid_inverse_holo.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__ab_bottom_solid_light_holo.9.png b/actionbarsherlock/res/drawable-hdpi/abs__ab_bottom_solid_light_holo.9.png
new file mode 100644
index 0000000..7305047
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__ab_bottom_solid_light_holo.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__ab_bottom_transparent_dark_holo.9.png b/actionbarsherlock/res/drawable-hdpi/abs__ab_bottom_transparent_dark_holo.9.png
new file mode 100644
index 0000000..712a551
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__ab_bottom_transparent_dark_holo.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__ab_bottom_transparent_light_holo.9.png b/actionbarsherlock/res/drawable-hdpi/abs__ab_bottom_transparent_light_holo.9.png
new file mode 100644
index 0000000..bf3b943
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__ab_bottom_transparent_light_holo.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__ab_share_pack_holo_dark.9.png b/actionbarsherlock/res/drawable-hdpi/abs__ab_share_pack_holo_dark.9.png
new file mode 100644
index 0000000..6c14157
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__ab_share_pack_holo_dark.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__ab_share_pack_holo_light.9.png b/actionbarsherlock/res/drawable-hdpi/abs__ab_share_pack_holo_light.9.png
new file mode 100644
index 0000000..f4ff16b
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__ab_share_pack_holo_light.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__ab_solid_dark_holo.9.png b/actionbarsherlock/res/drawable-hdpi/abs__ab_solid_dark_holo.9.png
new file mode 100644
index 0000000..cbbaec5
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__ab_solid_dark_holo.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__ab_solid_light_holo.9.png b/actionbarsherlock/res/drawable-hdpi/abs__ab_solid_light_holo.9.png
new file mode 100644
index 0000000..af917e5
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__ab_solid_light_holo.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__ab_solid_shadow_holo.9.png b/actionbarsherlock/res/drawable-hdpi/abs__ab_solid_shadow_holo.9.png
new file mode 100644
index 0000000..2d59f35
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__ab_solid_shadow_holo.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__ab_stacked_solid_dark_holo.9.png b/actionbarsherlock/res/drawable-hdpi/abs__ab_stacked_solid_dark_holo.9.png
new file mode 100644
index 0000000..0520e5a
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__ab_stacked_solid_dark_holo.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__ab_stacked_solid_light_holo.9.png b/actionbarsherlock/res/drawable-hdpi/abs__ab_stacked_solid_light_holo.9.png
new file mode 100644
index 0000000..e3e3f93
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__ab_stacked_solid_light_holo.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__ab_stacked_transparent_dark_holo.9.png b/actionbarsherlock/res/drawable-hdpi/abs__ab_stacked_transparent_dark_holo.9.png
new file mode 100644
index 0000000..1e39572
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__ab_stacked_transparent_dark_holo.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__ab_stacked_transparent_light_holo.9.png b/actionbarsherlock/res/drawable-hdpi/abs__ab_stacked_transparent_light_holo.9.png
new file mode 100644
index 0000000..a16db85
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__ab_stacked_transparent_light_holo.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__ab_transparent_dark_holo.9.png b/actionbarsherlock/res/drawable-hdpi/abs__ab_transparent_dark_holo.9.png
new file mode 100644
index 0000000..0eff695
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__ab_transparent_dark_holo.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__ab_transparent_light_holo.9.png b/actionbarsherlock/res/drawable-hdpi/abs__ab_transparent_light_holo.9.png
new file mode 100644
index 0000000..219b170
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__ab_transparent_light_holo.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__btn_cab_done_default_holo_dark.9.png b/actionbarsherlock/res/drawable-hdpi/abs__btn_cab_done_default_holo_dark.9.png
new file mode 100644
index 0000000..b0dc31f
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__btn_cab_done_default_holo_dark.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__btn_cab_done_default_holo_light.9.png b/actionbarsherlock/res/drawable-hdpi/abs__btn_cab_done_default_holo_light.9.png
new file mode 100644
index 0000000..4bc2683
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__btn_cab_done_default_holo_light.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__btn_cab_done_focused_holo_dark.9.png b/actionbarsherlock/res/drawable-hdpi/abs__btn_cab_done_focused_holo_dark.9.png
new file mode 100644
index 0000000..4af38fb
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__btn_cab_done_focused_holo_dark.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__btn_cab_done_focused_holo_light.9.png b/actionbarsherlock/res/drawable-hdpi/abs__btn_cab_done_focused_holo_light.9.png
new file mode 100644
index 0000000..d32f74c
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__btn_cab_done_focused_holo_light.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__btn_cab_done_pressed_holo_dark.9.png b/actionbarsherlock/res/drawable-hdpi/abs__btn_cab_done_pressed_holo_dark.9.png
new file mode 100644
index 0000000..66adffe
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__btn_cab_done_pressed_holo_dark.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__btn_cab_done_pressed_holo_light.9.png b/actionbarsherlock/res/drawable-hdpi/abs__btn_cab_done_pressed_holo_light.9.png
new file mode 100644
index 0000000..caeff9c
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__btn_cab_done_pressed_holo_light.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__cab_background_bottom_holo_dark.9.png b/actionbarsherlock/res/drawable-hdpi/abs__cab_background_bottom_holo_dark.9.png
new file mode 100644
index 0000000..1d836f6
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__cab_background_bottom_holo_dark.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__cab_background_bottom_holo_light.9.png b/actionbarsherlock/res/drawable-hdpi/abs__cab_background_bottom_holo_light.9.png
new file mode 100644
index 0000000..5818666
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__cab_background_bottom_holo_light.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__cab_background_top_holo_dark.9.png b/actionbarsherlock/res/drawable-hdpi/abs__cab_background_top_holo_dark.9.png
new file mode 100644
index 0000000..564fb34
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__cab_background_top_holo_dark.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__cab_background_top_holo_light.9.png b/actionbarsherlock/res/drawable-hdpi/abs__cab_background_top_holo_light.9.png
new file mode 100644
index 0000000..ae21b76
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__cab_background_top_holo_light.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__dialog_full_holo_dark.9.png b/actionbarsherlock/res/drawable-hdpi/abs__dialog_full_holo_dark.9.png
new file mode 100644
index 0000000..79e56f5
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__dialog_full_holo_dark.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__dialog_full_holo_light.9.png b/actionbarsherlock/res/drawable-hdpi/abs__dialog_full_holo_light.9.png
new file mode 100644
index 0000000..e029f21
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__dialog_full_holo_light.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__ic_ab_back_holo_dark.png b/actionbarsherlock/res/drawable-hdpi/abs__ic_ab_back_holo_dark.png
new file mode 100644
index 0000000..897a1c1
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__ic_ab_back_holo_dark.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__ic_ab_back_holo_light.png b/actionbarsherlock/res/drawable-hdpi/abs__ic_ab_back_holo_light.png
new file mode 100644
index 0000000..0c89f71
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__ic_ab_back_holo_light.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__ic_cab_done_holo_dark.png b/actionbarsherlock/res/drawable-hdpi/abs__ic_cab_done_holo_dark.png
new file mode 100644
index 0000000..d8662e3
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__ic_cab_done_holo_dark.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__ic_cab_done_holo_light.png b/actionbarsherlock/res/drawable-hdpi/abs__ic_cab_done_holo_light.png
new file mode 100644
index 0000000..ed03f62
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__ic_cab_done_holo_light.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__ic_menu_moreoverflow_normal_holo_dark.png b/actionbarsherlock/res/drawable-hdpi/abs__ic_menu_moreoverflow_normal_holo_dark.png
new file mode 100644
index 0000000..2abc458
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__ic_menu_moreoverflow_normal_holo_dark.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__ic_menu_moreoverflow_normal_holo_light.png b/actionbarsherlock/res/drawable-hdpi/abs__ic_menu_moreoverflow_normal_holo_light.png
new file mode 100644
index 0000000..bb6aef1
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__ic_menu_moreoverflow_normal_holo_light.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__ic_menu_share_holo_dark.png b/actionbarsherlock/res/drawable-hdpi/abs__ic_menu_share_holo_dark.png
new file mode 100644
index 0000000..6f747c8
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__ic_menu_share_holo_dark.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__ic_menu_share_holo_light.png b/actionbarsherlock/res/drawable-hdpi/abs__ic_menu_share_holo_light.png
new file mode 100644
index 0000000..682b2fd
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__ic_menu_share_holo_light.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__list_activated_holo.9.png b/actionbarsherlock/res/drawable-hdpi/abs__list_activated_holo.9.png
new file mode 100644
index 0000000..4ea7afa
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__list_activated_holo.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__list_divider_holo_dark.9.png b/actionbarsherlock/res/drawable-hdpi/abs__list_divider_holo_dark.9.png
new file mode 100644
index 0000000..986ab0b
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__list_divider_holo_dark.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__list_divider_holo_light.9.png b/actionbarsherlock/res/drawable-hdpi/abs__list_divider_holo_light.9.png
new file mode 100644
index 0000000..0279e17
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__list_divider_holo_light.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__list_focused_holo.9.png b/actionbarsherlock/res/drawable-hdpi/abs__list_focused_holo.9.png
new file mode 100644
index 0000000..516f5c7
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__list_focused_holo.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__list_longpressed_holo.9.png b/actionbarsherlock/res/drawable-hdpi/abs__list_longpressed_holo.9.png
new file mode 100644
index 0000000..4ea7afa
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__list_longpressed_holo.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__list_pressed_holo_dark.9.png b/actionbarsherlock/res/drawable-hdpi/abs__list_pressed_holo_dark.9.png
new file mode 100644
index 0000000..5654cd6
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__list_pressed_holo_dark.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__list_pressed_holo_light.9.png b/actionbarsherlock/res/drawable-hdpi/abs__list_pressed_holo_light.9.png
new file mode 100644
index 0000000..5654cd6
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__list_pressed_holo_light.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__list_selector_disabled_holo_dark.9.png b/actionbarsherlock/res/drawable-hdpi/abs__list_selector_disabled_holo_dark.9.png
new file mode 100644
index 0000000..f6fd30d
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__list_selector_disabled_holo_dark.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__list_selector_disabled_holo_light.9.png b/actionbarsherlock/res/drawable-hdpi/abs__list_selector_disabled_holo_light.9.png
new file mode 100644
index 0000000..ca8e9a2
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__list_selector_disabled_holo_light.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__menu_dropdown_panel_holo_dark.9.png b/actionbarsherlock/res/drawable-hdpi/abs__menu_dropdown_panel_holo_dark.9.png
new file mode 100644
index 0000000..4d3d208
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__menu_dropdown_panel_holo_dark.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__menu_dropdown_panel_holo_light.9.png b/actionbarsherlock/res/drawable-hdpi/abs__menu_dropdown_panel_holo_light.9.png
new file mode 100644
index 0000000..924a99d
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__menu_dropdown_panel_holo_light.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__progress_bg_holo_dark.9.png b/actionbarsherlock/res/drawable-hdpi/abs__progress_bg_holo_dark.9.png
new file mode 100644
index 0000000..310c368
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__progress_bg_holo_dark.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__progress_bg_holo_light.9.png b/actionbarsherlock/res/drawable-hdpi/abs__progress_bg_holo_light.9.png
new file mode 100644
index 0000000..70cb7fc
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__progress_bg_holo_light.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__progress_primary_holo_dark.9.png b/actionbarsherlock/res/drawable-hdpi/abs__progress_primary_holo_dark.9.png
new file mode 100644
index 0000000..1c26920
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__progress_primary_holo_dark.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__progress_primary_holo_light.9.png b/actionbarsherlock/res/drawable-hdpi/abs__progress_primary_holo_light.9.png
new file mode 100644
index 0000000..1c26920
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__progress_primary_holo_light.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__progress_secondary_holo_dark.9.png b/actionbarsherlock/res/drawable-hdpi/abs__progress_secondary_holo_dark.9.png
new file mode 100644
index 0000000..40d0d16
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__progress_secondary_holo_dark.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__progress_secondary_holo_light.9.png b/actionbarsherlock/res/drawable-hdpi/abs__progress_secondary_holo_light.9.png
new file mode 100644
index 0000000..40d0d16
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__progress_secondary_holo_light.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__spinner_48_inner_holo.png b/actionbarsherlock/res/drawable-hdpi/abs__spinner_48_inner_holo.png
new file mode 100644
index 0000000..c8358e9
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__spinner_48_inner_holo.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__spinner_48_outer_holo.png b/actionbarsherlock/res/drawable-hdpi/abs__spinner_48_outer_holo.png
new file mode 100644
index 0000000..f62f74b
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__spinner_48_outer_holo.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__spinner_ab_default_holo_dark.9.png b/actionbarsherlock/res/drawable-hdpi/abs__spinner_ab_default_holo_dark.9.png
new file mode 100644
index 0000000..eb28ff9
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__spinner_ab_default_holo_dark.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__spinner_ab_default_holo_light.9.png b/actionbarsherlock/res/drawable-hdpi/abs__spinner_ab_default_holo_light.9.png
new file mode 100644
index 0000000..d281adb
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__spinner_ab_default_holo_light.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__spinner_ab_disabled_holo_dark.9.png b/actionbarsherlock/res/drawable-hdpi/abs__spinner_ab_disabled_holo_dark.9.png
new file mode 100644
index 0000000..b298586
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__spinner_ab_disabled_holo_dark.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__spinner_ab_disabled_holo_light.9.png b/actionbarsherlock/res/drawable-hdpi/abs__spinner_ab_disabled_holo_light.9.png
new file mode 100644
index 0000000..4215396
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__spinner_ab_disabled_holo_light.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__spinner_ab_focused_holo_dark.9.png b/actionbarsherlock/res/drawable-hdpi/abs__spinner_ab_focused_holo_dark.9.png
new file mode 100644
index 0000000..a280eab
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__spinner_ab_focused_holo_dark.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__spinner_ab_focused_holo_light.9.png b/actionbarsherlock/res/drawable-hdpi/abs__spinner_ab_focused_holo_light.9.png
new file mode 100644
index 0000000..f8d619b
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__spinner_ab_focused_holo_light.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__spinner_ab_pressed_holo_dark.9.png b/actionbarsherlock/res/drawable-hdpi/abs__spinner_ab_pressed_holo_dark.9.png
new file mode 100644
index 0000000..955a2f3
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__spinner_ab_pressed_holo_dark.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__spinner_ab_pressed_holo_light.9.png b/actionbarsherlock/res/drawable-hdpi/abs__spinner_ab_pressed_holo_light.9.png
new file mode 100644
index 0000000..6c22e22
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__spinner_ab_pressed_holo_light.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__tab_selected_focused_holo.9.png b/actionbarsherlock/res/drawable-hdpi/abs__tab_selected_focused_holo.9.png
new file mode 100644
index 0000000..673e3bf
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__tab_selected_focused_holo.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__tab_selected_holo.9.png b/actionbarsherlock/res/drawable-hdpi/abs__tab_selected_holo.9.png
new file mode 100644
index 0000000..d57df98
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__tab_selected_holo.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__tab_selected_pressed_holo.9.png b/actionbarsherlock/res/drawable-hdpi/abs__tab_selected_pressed_holo.9.png
new file mode 100644
index 0000000..6278eef
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__tab_selected_pressed_holo.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-hdpi/abs__tab_unselected_pressed_holo.9.png b/actionbarsherlock/res/drawable-hdpi/abs__tab_unselected_pressed_holo.9.png
new file mode 100644
index 0000000..aadc6f8
--- /dev/null
+++ b/actionbarsherlock/res/drawable-hdpi/abs__tab_unselected_pressed_holo.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__ab_bottom_solid_dark_holo.9.png b/actionbarsherlock/res/drawable-mdpi/abs__ab_bottom_solid_dark_holo.9.png
new file mode 100644
index 0000000..b229367
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__ab_bottom_solid_dark_holo.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__ab_bottom_solid_inverse_holo.9.png b/actionbarsherlock/res/drawable-mdpi/abs__ab_bottom_solid_inverse_holo.9.png
new file mode 100644
index 0000000..c65f443
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__ab_bottom_solid_inverse_holo.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__ab_bottom_solid_light_holo.9.png b/actionbarsherlock/res/drawable-mdpi/abs__ab_bottom_solid_light_holo.9.png
new file mode 100644
index 0000000..0706c8a
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__ab_bottom_solid_light_holo.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__ab_bottom_transparent_dark_holo.9.png b/actionbarsherlock/res/drawable-mdpi/abs__ab_bottom_transparent_dark_holo.9.png
new file mode 100644
index 0000000..d814d02
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__ab_bottom_transparent_dark_holo.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__ab_bottom_transparent_light_holo.9.png b/actionbarsherlock/res/drawable-mdpi/abs__ab_bottom_transparent_light_holo.9.png
new file mode 100644
index 0000000..b139c8e
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__ab_bottom_transparent_light_holo.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__ab_share_pack_holo_dark.9.png b/actionbarsherlock/res/drawable-mdpi/abs__ab_share_pack_holo_dark.9.png
new file mode 100644
index 0000000..ed4ba34
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__ab_share_pack_holo_dark.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__ab_share_pack_holo_light.9.png b/actionbarsherlock/res/drawable-mdpi/abs__ab_share_pack_holo_light.9.png
new file mode 100644
index 0000000..8f10bd5
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__ab_share_pack_holo_light.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__ab_solid_dark_holo.9.png b/actionbarsherlock/res/drawable-mdpi/abs__ab_solid_dark_holo.9.png
new file mode 100644
index 0000000..743d00b
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__ab_solid_dark_holo.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__ab_solid_light_holo.9.png b/actionbarsherlock/res/drawable-mdpi/abs__ab_solid_light_holo.9.png
new file mode 100644
index 0000000..17c1fb9
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__ab_solid_light_holo.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__ab_solid_shadow_holo.9.png b/actionbarsherlock/res/drawable-mdpi/abs__ab_solid_shadow_holo.9.png
new file mode 100644
index 0000000..ddfc8e3
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__ab_solid_shadow_holo.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__ab_stacked_solid_dark_holo.9.png b/actionbarsherlock/res/drawable-mdpi/abs__ab_stacked_solid_dark_holo.9.png
new file mode 100644
index 0000000..007a4b2
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__ab_stacked_solid_dark_holo.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__ab_stacked_solid_light_holo.9.png b/actionbarsherlock/res/drawable-mdpi/abs__ab_stacked_solid_light_holo.9.png
new file mode 100644
index 0000000..ad6e1a4
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__ab_stacked_solid_light_holo.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__ab_stacked_transparent_dark_holo.9.png b/actionbarsherlock/res/drawable-mdpi/abs__ab_stacked_transparent_dark_holo.9.png
new file mode 100644
index 0000000..0ad6c88
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__ab_stacked_transparent_dark_holo.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__ab_stacked_transparent_light_holo.9.png b/actionbarsherlock/res/drawable-mdpi/abs__ab_stacked_transparent_light_holo.9.png
new file mode 100644
index 0000000..19b50ab
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__ab_stacked_transparent_light_holo.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__ab_transparent_dark_holo.9.png b/actionbarsherlock/res/drawable-mdpi/abs__ab_transparent_dark_holo.9.png
new file mode 100644
index 0000000..ad980b1
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__ab_transparent_dark_holo.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__ab_transparent_light_holo.9.png b/actionbarsherlock/res/drawable-mdpi/abs__ab_transparent_light_holo.9.png
new file mode 100644
index 0000000..60e6c52
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__ab_transparent_light_holo.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__btn_cab_done_default_holo_dark.9.png b/actionbarsherlock/res/drawable-mdpi/abs__btn_cab_done_default_holo_dark.9.png
new file mode 100644
index 0000000..5461b9c
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__btn_cab_done_default_holo_dark.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__btn_cab_done_default_holo_light.9.png b/actionbarsherlock/res/drawable-mdpi/abs__btn_cab_done_default_holo_light.9.png
new file mode 100644
index 0000000..5dc6f80
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__btn_cab_done_default_holo_light.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__btn_cab_done_focused_holo_dark.9.png b/actionbarsherlock/res/drawable-mdpi/abs__btn_cab_done_focused_holo_dark.9.png
new file mode 100644
index 0000000..a70b53c
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__btn_cab_done_focused_holo_dark.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__btn_cab_done_focused_holo_light.9.png b/actionbarsherlock/res/drawable-mdpi/abs__btn_cab_done_focused_holo_light.9.png
new file mode 100644
index 0000000..c7a9896
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__btn_cab_done_focused_holo_light.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__btn_cab_done_pressed_holo_dark.9.png b/actionbarsherlock/res/drawable-mdpi/abs__btn_cab_done_pressed_holo_dark.9.png
new file mode 100644
index 0000000..85d7aad
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__btn_cab_done_pressed_holo_dark.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__btn_cab_done_pressed_holo_light.9.png b/actionbarsherlock/res/drawable-mdpi/abs__btn_cab_done_pressed_holo_light.9.png
new file mode 100644
index 0000000..f7b01e0
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__btn_cab_done_pressed_holo_light.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__cab_background_bottom_holo_dark.9.png b/actionbarsherlock/res/drawable-mdpi/abs__cab_background_bottom_holo_dark.9.png
new file mode 100644
index 0000000..d8f1c8b
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__cab_background_bottom_holo_dark.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__cab_background_bottom_holo_light.9.png b/actionbarsherlock/res/drawable-mdpi/abs__cab_background_bottom_holo_light.9.png
new file mode 100644
index 0000000..31e4989
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__cab_background_bottom_holo_light.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__cab_background_top_holo_dark.9.png b/actionbarsherlock/res/drawable-mdpi/abs__cab_background_top_holo_dark.9.png
new file mode 100644
index 0000000..7c2cbe5
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__cab_background_top_holo_dark.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__cab_background_top_holo_light.9.png b/actionbarsherlock/res/drawable-mdpi/abs__cab_background_top_holo_light.9.png
new file mode 100644
index 0000000..30cbdc1
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__cab_background_top_holo_light.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__dialog_full_holo_dark.9.png b/actionbarsherlock/res/drawable-mdpi/abs__dialog_full_holo_dark.9.png
new file mode 100644
index 0000000..fb3660e
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__dialog_full_holo_dark.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__dialog_full_holo_light.9.png b/actionbarsherlock/res/drawable-mdpi/abs__dialog_full_holo_light.9.png
new file mode 100644
index 0000000..f18050e
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__dialog_full_holo_light.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__ic_ab_back_holo_dark.png b/actionbarsherlock/res/drawable-mdpi/abs__ic_ab_back_holo_dark.png
new file mode 100644
index 0000000..df2d3d1
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__ic_ab_back_holo_dark.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__ic_ab_back_holo_light.png b/actionbarsherlock/res/drawable-mdpi/abs__ic_ab_back_holo_light.png
new file mode 100644
index 0000000..b2aa9c2
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__ic_ab_back_holo_light.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__ic_cab_done_holo_dark.png b/actionbarsherlock/res/drawable-mdpi/abs__ic_cab_done_holo_dark.png
new file mode 100644
index 0000000..a17b6a7
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__ic_cab_done_holo_dark.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__ic_cab_done_holo_light.png b/actionbarsherlock/res/drawable-mdpi/abs__ic_cab_done_holo_light.png
new file mode 100644
index 0000000..b28b3b5
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__ic_cab_done_holo_light.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__ic_menu_moreoverflow_normal_holo_dark.png b/actionbarsherlock/res/drawable-mdpi/abs__ic_menu_moreoverflow_normal_holo_dark.png
new file mode 100644
index 0000000..ba704b6
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__ic_menu_moreoverflow_normal_holo_dark.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__ic_menu_moreoverflow_normal_holo_light.png b/actionbarsherlock/res/drawable-mdpi/abs__ic_menu_moreoverflow_normal_holo_light.png
new file mode 100644
index 0000000..01d6816
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__ic_menu_moreoverflow_normal_holo_light.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__ic_menu_share_holo_dark.png b/actionbarsherlock/res/drawable-mdpi/abs__ic_menu_share_holo_dark.png
new file mode 100644
index 0000000..6bf21e3
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__ic_menu_share_holo_dark.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__ic_menu_share_holo_light.png b/actionbarsherlock/res/drawable-mdpi/abs__ic_menu_share_holo_light.png
new file mode 100644
index 0000000..70fe31a
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__ic_menu_share_holo_light.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__list_activated_holo.9.png b/actionbarsherlock/res/drawable-mdpi/abs__list_activated_holo.9.png
new file mode 100644
index 0000000..3bf8e03
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__list_activated_holo.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__list_divider_holo_dark.9.png b/actionbarsherlock/res/drawable-mdpi/abs__list_divider_holo_dark.9.png
new file mode 100644
index 0000000..986ab0b
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__list_divider_holo_dark.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__list_divider_holo_light.9.png b/actionbarsherlock/res/drawable-mdpi/abs__list_divider_holo_light.9.png
new file mode 100644
index 0000000..0279e17
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__list_divider_holo_light.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__list_focused_holo.9.png b/actionbarsherlock/res/drawable-mdpi/abs__list_focused_holo.9.png
new file mode 100644
index 0000000..7c0599e
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__list_focused_holo.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__list_longpressed_holo.9.png b/actionbarsherlock/res/drawable-mdpi/abs__list_longpressed_holo.9.png
new file mode 100644
index 0000000..3bf8e03
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__list_longpressed_holo.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__list_pressed_holo_dark.9.png b/actionbarsherlock/res/drawable-mdpi/abs__list_pressed_holo_dark.9.png
new file mode 100644
index 0000000..6e77525
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__list_pressed_holo_dark.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__list_pressed_holo_light.9.png b/actionbarsherlock/res/drawable-mdpi/abs__list_pressed_holo_light.9.png
new file mode 100644
index 0000000..6e77525
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__list_pressed_holo_light.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__list_selector_disabled_holo_dark.9.png b/actionbarsherlock/res/drawable-mdpi/abs__list_selector_disabled_holo_dark.9.png
new file mode 100644
index 0000000..92da2f0
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__list_selector_disabled_holo_dark.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__list_selector_disabled_holo_light.9.png b/actionbarsherlock/res/drawable-mdpi/abs__list_selector_disabled_holo_light.9.png
new file mode 100644
index 0000000..42cb646
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__list_selector_disabled_holo_light.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__menu_dropdown_panel_holo_dark.9.png b/actionbarsherlock/res/drawable-mdpi/abs__menu_dropdown_panel_holo_dark.9.png
new file mode 100644
index 0000000..460ec46
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__menu_dropdown_panel_holo_dark.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__menu_dropdown_panel_holo_light.9.png b/actionbarsherlock/res/drawable-mdpi/abs__menu_dropdown_panel_holo_light.9.png
new file mode 100644
index 0000000..e84adf2
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__menu_dropdown_panel_holo_light.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__progress_bg_holo_dark.9.png b/actionbarsherlock/res/drawable-mdpi/abs__progress_bg_holo_dark.9.png
new file mode 100644
index 0000000..3d946e5
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__progress_bg_holo_dark.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__progress_bg_holo_light.9.png b/actionbarsherlock/res/drawable-mdpi/abs__progress_bg_holo_light.9.png
new file mode 100644
index 0000000..4bb22f0
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__progress_bg_holo_light.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__progress_primary_holo_dark.9.png b/actionbarsherlock/res/drawable-mdpi/abs__progress_primary_holo_dark.9.png
new file mode 100644
index 0000000..ab8ec69
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__progress_primary_holo_dark.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__progress_primary_holo_light.9.png b/actionbarsherlock/res/drawable-mdpi/abs__progress_primary_holo_light.9.png
new file mode 100644
index 0000000..ab8ec69
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__progress_primary_holo_light.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__progress_secondary_holo_dark.9.png b/actionbarsherlock/res/drawable-mdpi/abs__progress_secondary_holo_dark.9.png
new file mode 100644
index 0000000..7274274
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__progress_secondary_holo_dark.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__progress_secondary_holo_light.9.png b/actionbarsherlock/res/drawable-mdpi/abs__progress_secondary_holo_light.9.png
new file mode 100644
index 0000000..7274274
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__progress_secondary_holo_light.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__spinner_48_inner_holo.png b/actionbarsherlock/res/drawable-mdpi/abs__spinner_48_inner_holo.png
new file mode 100644
index 0000000..9458668
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__spinner_48_inner_holo.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__spinner_48_outer_holo.png b/actionbarsherlock/res/drawable-mdpi/abs__spinner_48_outer_holo.png
new file mode 100644
index 0000000..4ce73ed
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__spinner_48_outer_holo.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__spinner_ab_default_holo_dark.9.png b/actionbarsherlock/res/drawable-mdpi/abs__spinner_ab_default_holo_dark.9.png
new file mode 100644
index 0000000..29aff4d
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__spinner_ab_default_holo_dark.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__spinner_ab_default_holo_light.9.png b/actionbarsherlock/res/drawable-mdpi/abs__spinner_ab_default_holo_light.9.png
new file mode 100644
index 0000000..4055f70
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__spinner_ab_default_holo_light.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__spinner_ab_disabled_holo_dark.9.png b/actionbarsherlock/res/drawable-mdpi/abs__spinner_ab_disabled_holo_dark.9.png
new file mode 100644
index 0000000..ea4ee04
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__spinner_ab_disabled_holo_dark.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__spinner_ab_disabled_holo_light.9.png b/actionbarsherlock/res/drawable-mdpi/abs__spinner_ab_disabled_holo_light.9.png
new file mode 100644
index 0000000..f74c02b
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__spinner_ab_disabled_holo_light.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__spinner_ab_focused_holo_dark.9.png b/actionbarsherlock/res/drawable-mdpi/abs__spinner_ab_focused_holo_dark.9.png
new file mode 100644
index 0000000..09a2992
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__spinner_ab_focused_holo_dark.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__spinner_ab_focused_holo_light.9.png b/actionbarsherlock/res/drawable-mdpi/abs__spinner_ab_focused_holo_light.9.png
new file mode 100644
index 0000000..6536ee6
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__spinner_ab_focused_holo_light.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__spinner_ab_pressed_holo_dark.9.png b/actionbarsherlock/res/drawable-mdpi/abs__spinner_ab_pressed_holo_dark.9.png
new file mode 100644
index 0000000..202b5b7
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__spinner_ab_pressed_holo_dark.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__spinner_ab_pressed_holo_light.9.png b/actionbarsherlock/res/drawable-mdpi/abs__spinner_ab_pressed_holo_light.9.png
new file mode 100644
index 0000000..6de0ba8
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__spinner_ab_pressed_holo_light.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__tab_selected_focused_holo.9.png b/actionbarsherlock/res/drawable-mdpi/abs__tab_selected_focused_holo.9.png
new file mode 100644
index 0000000..c9972e7
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__tab_selected_focused_holo.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__tab_selected_holo.9.png b/actionbarsherlock/res/drawable-mdpi/abs__tab_selected_holo.9.png
new file mode 100644
index 0000000..587337c
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__tab_selected_holo.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__tab_selected_pressed_holo.9.png b/actionbarsherlock/res/drawable-mdpi/abs__tab_selected_pressed_holo.9.png
new file mode 100644
index 0000000..155c4fc
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__tab_selected_pressed_holo.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-mdpi/abs__tab_unselected_pressed_holo.9.png b/actionbarsherlock/res/drawable-mdpi/abs__tab_unselected_pressed_holo.9.png
new file mode 100644
index 0000000..b1223fe
--- /dev/null
+++ b/actionbarsherlock/res/drawable-mdpi/abs__tab_unselected_pressed_holo.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-v11/abs__progress_medium_holo.xml b/actionbarsherlock/res/drawable-v11/abs__progress_medium_holo.xml
new file mode 100644
index 0000000..6bcbdb8
--- /dev/null
+++ b/actionbarsherlock/res/drawable-v11/abs__progress_medium_holo.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright 2010, The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
+    <item>
+        <rotate
+             android:drawable="@drawable/abs__spinner_48_outer_holo"
+             android:pivotX="50%"
+             android:pivotY="50%"
+             android:fromDegrees="0"
+             android:toDegrees="1080" />
+    </item>
+    <item>
+        <rotate
+             android:drawable="@drawable/abs__spinner_48_inner_holo"
+             android:pivotX="50%"
+             android:pivotY="50%"
+             android:fromDegrees="720"
+             android:toDegrees="0" />
+    </item>
+</layer-list>
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__ab_bottom_solid_dark_holo.9.png b/actionbarsherlock/res/drawable-xhdpi/abs__ab_bottom_solid_dark_holo.9.png
new file mode 100644
index 0000000..5753346
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__ab_bottom_solid_dark_holo.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__ab_bottom_solid_inverse_holo.9.png b/actionbarsherlock/res/drawable-xhdpi/abs__ab_bottom_solid_inverse_holo.9.png
new file mode 100644
index 0000000..7e6c047
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__ab_bottom_solid_inverse_holo.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__ab_bottom_solid_light_holo.9.png b/actionbarsherlock/res/drawable-xhdpi/abs__ab_bottom_solid_light_holo.9.png
new file mode 100644
index 0000000..8155fe8
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__ab_bottom_solid_light_holo.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__ab_bottom_transparent_dark_holo.9.png b/actionbarsherlock/res/drawable-xhdpi/abs__ab_bottom_transparent_dark_holo.9.png
new file mode 100644
index 0000000..6cee9a1
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__ab_bottom_transparent_dark_holo.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__ab_bottom_transparent_light_holo.9.png b/actionbarsherlock/res/drawable-xhdpi/abs__ab_bottom_transparent_light_holo.9.png
new file mode 100644
index 0000000..fa4d76a
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__ab_bottom_transparent_light_holo.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__ab_share_pack_holo_dark.9.png b/actionbarsherlock/res/drawable-xhdpi/abs__ab_share_pack_holo_dark.9.png
new file mode 100644
index 0000000..55099d4
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__ab_share_pack_holo_dark.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__ab_share_pack_holo_light.9.png b/actionbarsherlock/res/drawable-xhdpi/abs__ab_share_pack_holo_light.9.png
new file mode 100644
index 0000000..3c4701f
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__ab_share_pack_holo_light.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__ab_solid_dark_holo.9.png b/actionbarsherlock/res/drawable-xhdpi/abs__ab_solid_dark_holo.9.png
new file mode 100644
index 0000000..6622cba
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__ab_solid_dark_holo.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__ab_solid_light_holo.9.png b/actionbarsherlock/res/drawable-xhdpi/abs__ab_solid_light_holo.9.png
new file mode 100644
index 0000000..c427297
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__ab_solid_light_holo.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__ab_solid_shadow_holo.9.png b/actionbarsherlock/res/drawable-xhdpi/abs__ab_solid_shadow_holo.9.png
new file mode 100644
index 0000000..d0df29d
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__ab_solid_shadow_holo.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__ab_stacked_solid_dark_holo.9.png b/actionbarsherlock/res/drawable-xhdpi/abs__ab_stacked_solid_dark_holo.9.png
new file mode 100644
index 0000000..a0d9c1b
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__ab_stacked_solid_dark_holo.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__ab_stacked_solid_light_holo.9.png b/actionbarsherlock/res/drawable-xhdpi/abs__ab_stacked_solid_light_holo.9.png
new file mode 100644
index 0000000..d36f99f
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__ab_stacked_solid_light_holo.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__ab_stacked_transparent_dark_holo.9.png b/actionbarsherlock/res/drawable-xhdpi/abs__ab_stacked_transparent_dark_holo.9.png
new file mode 100644
index 0000000..5ad475d
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__ab_stacked_transparent_dark_holo.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__ab_stacked_transparent_light_holo.9.png b/actionbarsherlock/res/drawable-xhdpi/abs__ab_stacked_transparent_light_holo.9.png
new file mode 100644
index 0000000..6ade5ee
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__ab_stacked_transparent_light_holo.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__ab_transparent_dark_holo.9.png b/actionbarsherlock/res/drawable-xhdpi/abs__ab_transparent_dark_holo.9.png
new file mode 100644
index 0000000..719b923
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__ab_transparent_dark_holo.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__ab_transparent_light_holo.9.png b/actionbarsherlock/res/drawable-xhdpi/abs__ab_transparent_light_holo.9.png
new file mode 100644
index 0000000..6da264d
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__ab_transparent_light_holo.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__btn_cab_done_default_holo_dark.9.png b/actionbarsherlock/res/drawable-xhdpi/abs__btn_cab_done_default_holo_dark.9.png
new file mode 100644
index 0000000..7ef2db7
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__btn_cab_done_default_holo_dark.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__btn_cab_done_default_holo_light.9.png b/actionbarsherlock/res/drawable-xhdpi/abs__btn_cab_done_default_holo_light.9.png
new file mode 100644
index 0000000..2283b4c
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__btn_cab_done_default_holo_light.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__btn_cab_done_focused_holo_dark.9.png b/actionbarsherlock/res/drawable-xhdpi/abs__btn_cab_done_focused_holo_dark.9.png
new file mode 100644
index 0000000..6d2039e
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__btn_cab_done_focused_holo_dark.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__btn_cab_done_focused_holo_light.9.png b/actionbarsherlock/res/drawable-xhdpi/abs__btn_cab_done_focused_holo_light.9.png
new file mode 100644
index 0000000..3c909b5
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__btn_cab_done_focused_holo_light.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__btn_cab_done_pressed_holo_dark.9.png b/actionbarsherlock/res/drawable-xhdpi/abs__btn_cab_done_pressed_holo_dark.9.png
new file mode 100644
index 0000000..131d103
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__btn_cab_done_pressed_holo_dark.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__btn_cab_done_pressed_holo_light.9.png b/actionbarsherlock/res/drawable-xhdpi/abs__btn_cab_done_pressed_holo_light.9.png
new file mode 100644
index 0000000..3e7dcdf
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__btn_cab_done_pressed_holo_light.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__cab_background_bottom_holo_dark.9.png b/actionbarsherlock/res/drawable-xhdpi/abs__cab_background_bottom_holo_dark.9.png
new file mode 100644
index 0000000..0bd0980
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__cab_background_bottom_holo_dark.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__cab_background_bottom_holo_light.9.png b/actionbarsherlock/res/drawable-xhdpi/abs__cab_background_bottom_holo_light.9.png
new file mode 100644
index 0000000..43ed26d
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__cab_background_bottom_holo_light.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__cab_background_top_holo_dark.9.png b/actionbarsherlock/res/drawable-xhdpi/abs__cab_background_top_holo_dark.9.png
new file mode 100644
index 0000000..6b31579
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__cab_background_top_holo_dark.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__cab_background_top_holo_light.9.png b/actionbarsherlock/res/drawable-xhdpi/abs__cab_background_top_holo_light.9.png
new file mode 100644
index 0000000..df0121b
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__cab_background_top_holo_light.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__dialog_full_holo_dark.9.png b/actionbarsherlock/res/drawable-xhdpi/abs__dialog_full_holo_dark.9.png
new file mode 100644
index 0000000..f4970ad
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__dialog_full_holo_dark.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__dialog_full_holo_light.9.png b/actionbarsherlock/res/drawable-xhdpi/abs__dialog_full_holo_light.9.png
new file mode 100644
index 0000000..172fc3b
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__dialog_full_holo_light.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__ic_ab_back_holo_dark.png b/actionbarsherlock/res/drawable-xhdpi/abs__ic_ab_back_holo_dark.png
new file mode 100644
index 0000000..8ded62f
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__ic_ab_back_holo_dark.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__ic_ab_back_holo_light.png b/actionbarsherlock/res/drawable-xhdpi/abs__ic_ab_back_holo_light.png
new file mode 100644
index 0000000..517e9f7
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__ic_ab_back_holo_light.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__ic_cab_done_holo_dark.png b/actionbarsherlock/res/drawable-xhdpi/abs__ic_cab_done_holo_dark.png
new file mode 100644
index 0000000..2e06dd0
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__ic_cab_done_holo_dark.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__ic_cab_done_holo_light.png b/actionbarsherlock/res/drawable-xhdpi/abs__ic_cab_done_holo_light.png
new file mode 100644
index 0000000..bb19810
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__ic_cab_done_holo_light.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__ic_menu_moreoverflow_normal_holo_dark.png b/actionbarsherlock/res/drawable-xhdpi/abs__ic_menu_moreoverflow_normal_holo_dark.png
new file mode 100644
index 0000000..a92fb1d
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__ic_menu_moreoverflow_normal_holo_dark.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__ic_menu_moreoverflow_normal_holo_light.png b/actionbarsherlock/res/drawable-xhdpi/abs__ic_menu_moreoverflow_normal_holo_light.png
new file mode 100644
index 0000000..930ca8d
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__ic_menu_moreoverflow_normal_holo_light.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__ic_menu_share_holo_dark.png b/actionbarsherlock/res/drawable-xhdpi/abs__ic_menu_share_holo_dark.png
new file mode 100644
index 0000000..45a0f1d
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__ic_menu_share_holo_dark.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__ic_menu_share_holo_light.png b/actionbarsherlock/res/drawable-xhdpi/abs__ic_menu_share_holo_light.png
new file mode 100644
index 0000000..528e554
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__ic_menu_share_holo_light.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__list_activated_holo.9.png b/actionbarsherlock/res/drawable-xhdpi/abs__list_activated_holo.9.png
new file mode 100644
index 0000000..eda10e6
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__list_activated_holo.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__list_divider_holo_dark.9.png b/actionbarsherlock/res/drawable-xhdpi/abs__list_divider_holo_dark.9.png
new file mode 100644
index 0000000..e62f011
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__list_divider_holo_dark.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__list_divider_holo_light.9.png b/actionbarsherlock/res/drawable-xhdpi/abs__list_divider_holo_light.9.png
new file mode 100644
index 0000000..65061c0
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__list_divider_holo_light.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__list_focused_holo.9.png b/actionbarsherlock/res/drawable-xhdpi/abs__list_focused_holo.9.png
new file mode 100644
index 0000000..690cb1e
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__list_focused_holo.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__list_longpressed_holo.9.png b/actionbarsherlock/res/drawable-xhdpi/abs__list_longpressed_holo.9.png
new file mode 100644
index 0000000..eda10e6
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__list_longpressed_holo.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__list_pressed_holo_dark.9.png b/actionbarsherlock/res/drawable-xhdpi/abs__list_pressed_holo_dark.9.png
new file mode 100644
index 0000000..e4b3393
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__list_pressed_holo_dark.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__list_pressed_holo_light.9.png b/actionbarsherlock/res/drawable-xhdpi/abs__list_pressed_holo_light.9.png
new file mode 100644
index 0000000..e4b3393
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__list_pressed_holo_light.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__list_selector_disabled_holo_dark.9.png b/actionbarsherlock/res/drawable-xhdpi/abs__list_selector_disabled_holo_dark.9.png
new file mode 100644
index 0000000..88726b6
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__list_selector_disabled_holo_dark.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__list_selector_disabled_holo_light.9.png b/actionbarsherlock/res/drawable-xhdpi/abs__list_selector_disabled_holo_light.9.png
new file mode 100644
index 0000000..c6a7d4d
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__list_selector_disabled_holo_light.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__menu_dropdown_panel_holo_dark.9.png b/actionbarsherlock/res/drawable-xhdpi/abs__menu_dropdown_panel_holo_dark.9.png
new file mode 100644
index 0000000..e2aff72
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__menu_dropdown_panel_holo_dark.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__menu_dropdown_panel_holo_light.9.png b/actionbarsherlock/res/drawable-xhdpi/abs__menu_dropdown_panel_holo_light.9.png
new file mode 100644
index 0000000..93066c8
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__menu_dropdown_panel_holo_light.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__progress_bg_holo_dark.9.png b/actionbarsherlock/res/drawable-xhdpi/abs__progress_bg_holo_dark.9.png
new file mode 100644
index 0000000..345f5d3
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__progress_bg_holo_dark.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__progress_bg_holo_light.9.png b/actionbarsherlock/res/drawable-xhdpi/abs__progress_bg_holo_light.9.png
new file mode 100644
index 0000000..c843ef3
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__progress_bg_holo_light.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__progress_primary_holo_dark.9.png b/actionbarsherlock/res/drawable-xhdpi/abs__progress_primary_holo_dark.9.png
new file mode 100644
index 0000000..c6c3f1e
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__progress_primary_holo_dark.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__progress_primary_holo_light.9.png b/actionbarsherlock/res/drawable-xhdpi/abs__progress_primary_holo_light.9.png
new file mode 100644
index 0000000..c6c3f1e
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__progress_primary_holo_light.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__progress_secondary_holo_dark.9.png b/actionbarsherlock/res/drawable-xhdpi/abs__progress_secondary_holo_dark.9.png
new file mode 100644
index 0000000..205b66e
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__progress_secondary_holo_dark.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__progress_secondary_holo_light.9.png b/actionbarsherlock/res/drawable-xhdpi/abs__progress_secondary_holo_light.9.png
new file mode 100644
index 0000000..205b66e
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__progress_secondary_holo_light.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__spinner_48_inner_holo.png b/actionbarsherlock/res/drawable-xhdpi/abs__spinner_48_inner_holo.png
new file mode 100644
index 0000000..19517c4
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__spinner_48_inner_holo.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__spinner_48_outer_holo.png b/actionbarsherlock/res/drawable-xhdpi/abs__spinner_48_outer_holo.png
new file mode 100644
index 0000000..14143c5
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__spinner_48_outer_holo.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__spinner_ab_default_holo_dark.9.png b/actionbarsherlock/res/drawable-xhdpi/abs__spinner_ab_default_holo_dark.9.png
new file mode 100644
index 0000000..d8929fc
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__spinner_ab_default_holo_dark.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__spinner_ab_default_holo_light.9.png b/actionbarsherlock/res/drawable-xhdpi/abs__spinner_ab_default_holo_light.9.png
new file mode 100644
index 0000000..9174c4e
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__spinner_ab_default_holo_light.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__spinner_ab_disabled_holo_dark.9.png b/actionbarsherlock/res/drawable-xhdpi/abs__spinner_ab_disabled_holo_dark.9.png
new file mode 100644
index 0000000..3015d30
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__spinner_ab_disabled_holo_dark.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__spinner_ab_disabled_holo_light.9.png b/actionbarsherlock/res/drawable-xhdpi/abs__spinner_ab_disabled_holo_light.9.png
new file mode 100644
index 0000000..126637d
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__spinner_ab_disabled_holo_light.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__spinner_ab_focused_holo_dark.9.png b/actionbarsherlock/res/drawable-xhdpi/abs__spinner_ab_focused_holo_dark.9.png
new file mode 100644
index 0000000..d45c7a8
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__spinner_ab_focused_holo_dark.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__spinner_ab_focused_holo_light.9.png b/actionbarsherlock/res/drawable-xhdpi/abs__spinner_ab_focused_holo_light.9.png
new file mode 100644
index 0000000..29036b9
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__spinner_ab_focused_holo_light.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__spinner_ab_pressed_holo_dark.9.png b/actionbarsherlock/res/drawable-xhdpi/abs__spinner_ab_pressed_holo_dark.9.png
new file mode 100644
index 0000000..2cb34d7
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__spinner_ab_pressed_holo_dark.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__spinner_ab_pressed_holo_light.9.png b/actionbarsherlock/res/drawable-xhdpi/abs__spinner_ab_pressed_holo_light.9.png
new file mode 100644
index 0000000..82f752f
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__spinner_ab_pressed_holo_light.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__tab_selected_focused_holo.9.png b/actionbarsherlock/res/drawable-xhdpi/abs__tab_selected_focused_holo.9.png
new file mode 100644
index 0000000..03cfb09
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__tab_selected_focused_holo.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__tab_selected_holo.9.png b/actionbarsherlock/res/drawable-xhdpi/abs__tab_selected_holo.9.png
new file mode 100644
index 0000000..e4229f2
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__tab_selected_holo.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__tab_selected_pressed_holo.9.png b/actionbarsherlock/res/drawable-xhdpi/abs__tab_selected_pressed_holo.9.png
new file mode 100644
index 0000000..e862cb1
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__tab_selected_pressed_holo.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__tab_unselected_pressed_holo.9.png b/actionbarsherlock/res/drawable-xhdpi/abs__tab_unselected_pressed_holo.9.png
new file mode 100644
index 0000000..f1eb673
--- /dev/null
+++ b/actionbarsherlock/res/drawable-xhdpi/abs__tab_unselected_pressed_holo.9.png
Binary files differ
diff --git a/actionbarsherlock/res/drawable/abs__activated_background_holo_dark.xml b/actionbarsherlock/res/drawable/abs__activated_background_holo_dark.xml
new file mode 100644
index 0000000..85c2c02
--- /dev/null
+++ b/actionbarsherlock/res/drawable/abs__activated_background_holo_dark.xml
@@ -0,0 +1,20 @@
+<?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.
+-->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:state_activated="true" android:drawable="@drawable/abs__list_activated_holo" />
+    <item android:drawable="@android:color/transparent" />
+</selector>
diff --git a/actionbarsherlock/res/drawable/abs__activated_background_holo_light.xml b/actionbarsherlock/res/drawable/abs__activated_background_holo_light.xml
new file mode 100644
index 0000000..85c2c02
--- /dev/null
+++ b/actionbarsherlock/res/drawable/abs__activated_background_holo_light.xml
@@ -0,0 +1,20 @@
+<?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.
+-->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:state_activated="true" android:drawable="@drawable/abs__list_activated_holo" />
+    <item android:drawable="@android:color/transparent" />
+</selector>
diff --git a/actionbarsherlock/res/drawable/abs__btn_cab_done_holo_dark.xml b/actionbarsherlock/res/drawable/abs__btn_cab_done_holo_dark.xml
new file mode 100644
index 0000000..cab8962
--- /dev/null
+++ b/actionbarsherlock/res/drawable/abs__btn_cab_done_holo_dark.xml
@@ -0,0 +1,24 @@
+<?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.
+-->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:state_pressed="true"
+        android:drawable="@drawable/abs__btn_cab_done_pressed_holo_dark" />
+    <item android:state_focused="true" android:state_enabled="true"
+        android:drawable="@drawable/abs__btn_cab_done_focused_holo_dark" />
+    <item android:state_enabled="true"
+        android:drawable="@drawable/abs__btn_cab_done_default_holo_dark" />
+</selector>
diff --git a/actionbarsherlock/res/drawable/abs__btn_cab_done_holo_light.xml b/actionbarsherlock/res/drawable/abs__btn_cab_done_holo_light.xml
new file mode 100644
index 0000000..42ba8a0
--- /dev/null
+++ b/actionbarsherlock/res/drawable/abs__btn_cab_done_holo_light.xml
@@ -0,0 +1,24 @@
+<?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.
+-->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:state_pressed="true"
+        android:drawable="@drawable/abs__btn_cab_done_pressed_holo_light" />
+    <item android:state_focused="true" android:state_enabled="true"
+        android:drawable="@drawable/abs__btn_cab_done_focused_holo_light" />
+    <item android:state_enabled="true"
+        android:drawable="@drawable/abs__btn_cab_done_default_holo_light" />
+</selector>
diff --git a/actionbarsherlock/res/drawable/abs__ic_menu_moreoverflow_holo_dark.xml b/actionbarsherlock/res/drawable/abs__ic_menu_moreoverflow_holo_dark.xml
new file mode 100644
index 0000000..2588a49
--- /dev/null
+++ b/actionbarsherlock/res/drawable/abs__ic_menu_moreoverflow_holo_dark.xml
@@ -0,0 +1,18 @@
+<?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.
+-->
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:drawable="@drawable/abs__ic_menu_moreoverflow_normal_holo_dark" />
+</selector>
diff --git a/actionbarsherlock/res/drawable/abs__ic_menu_moreoverflow_holo_light.xml b/actionbarsherlock/res/drawable/abs__ic_menu_moreoverflow_holo_light.xml
new file mode 100644
index 0000000..e2078c9
--- /dev/null
+++ b/actionbarsherlock/res/drawable/abs__ic_menu_moreoverflow_holo_light.xml
@@ -0,0 +1,18 @@
+<?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.
+-->
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:drawable="@drawable/abs__ic_menu_moreoverflow_normal_holo_light" />
+</selector>
diff --git a/actionbarsherlock/res/drawable/abs__item_background_holo_dark.xml b/actionbarsherlock/res/drawable/abs__item_background_holo_dark.xml
new file mode 100644
index 0000000..d99b7a4
--- /dev/null
+++ b/actionbarsherlock/res/drawable/abs__item_background_holo_dark.xml
@@ -0,0 +1,26 @@
+<?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.
+-->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <!-- 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/abs__list_selector_disabled_holo_dark" />
+    <item android:state_focused="true"  android:state_enabled="false"                              android:drawable="@drawable/abs__list_selector_disabled_holo_dark" />
+    <item android:state_focused="true"                                android:state_pressed="true" android:drawable="@drawable/abs__list_selector_background_transition_holo_dark" />
+    <item android:state_focused="false"                               android:state_pressed="true" android:drawable="@drawable/abs__list_selector_background_transition_holo_dark" />
+    <item android:state_focused="true"                                                             android:drawable="@drawable/abs__list_focused_holo" />
+    <item                                                                                          android:drawable="@android:color/transparent" />
+</selector>
diff --git a/actionbarsherlock/res/drawable/abs__item_background_holo_light.xml b/actionbarsherlock/res/drawable/abs__item_background_holo_light.xml
new file mode 100644
index 0000000..da5fb2e
--- /dev/null
+++ b/actionbarsherlock/res/drawable/abs__item_background_holo_light.xml
@@ -0,0 +1,26 @@
+<?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.
+-->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <!-- 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/abs__list_selector_disabled_holo_light" />
+    <item android:state_focused="true"  android:state_enabled="false"                              android:drawable="@drawable/abs__list_selector_disabled_holo_light" />
+    <item android:state_focused="true"                                android:state_pressed="true" android:drawable="@drawable/abs__list_selector_background_transition_holo_light" />
+    <item android:state_focused="false"                               android:state_pressed="true" android:drawable="@drawable/abs__list_selector_background_transition_holo_light" />
+    <item android:state_focused="true"                                                             android:drawable="@drawable/abs__list_focused_holo" />
+    <item                                                                                          android:drawable="@android:color/transparent" />
+</selector>
diff --git a/actionbarsherlock/res/drawable/abs__list_selector_background_transition_holo_dark.xml b/actionbarsherlock/res/drawable/abs__list_selector_background_transition_holo_dark.xml
new file mode 100644
index 0000000..b2ce4f0
--- /dev/null
+++ b/actionbarsherlock/res/drawable/abs__list_selector_background_transition_holo_dark.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.
+-->
+
+<transition xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:drawable="@drawable/abs__list_pressed_holo_dark"  />
+    <item android:drawable="@drawable/abs__list_longpressed_holo"  />
+</transition>
diff --git a/actionbarsherlock/res/drawable/abs__list_selector_background_transition_holo_light.xml b/actionbarsherlock/res/drawable/abs__list_selector_background_transition_holo_light.xml
new file mode 100644
index 0000000..d7e31b1
--- /dev/null
+++ b/actionbarsherlock/res/drawable/abs__list_selector_background_transition_holo_light.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.
+-->
+
+<transition xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:drawable="@drawable/abs__list_pressed_holo_light"  />
+    <item android:drawable="@drawable/abs__list_longpressed_holo"  />
+</transition>
diff --git a/actionbarsherlock/res/drawable/abs__list_selector_holo_dark.xml b/actionbarsherlock/res/drawable/abs__list_selector_holo_dark.xml
new file mode 100644
index 0000000..08b8b12
--- /dev/null
+++ b/actionbarsherlock/res/drawable/abs__list_selector_holo_dark.xml
@@ -0,0 +1,27 @@
+<?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.
+-->
+
+<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/abs__list_selector_disabled_holo_dark" />
+    <item android:state_focused="true"  android:state_enabled="false"                              android:drawable="@drawable/abs__list_selector_disabled_holo_dark" />
+    <item android:state_focused="true"                                android:state_pressed="true" android:drawable="@drawable/abs__list_selector_background_transition_holo_dark" />
+    <item android:state_focused="false"                               android:state_pressed="true" android:drawable="@drawable/abs__list_selector_background_transition_holo_dark" />
+    <item android:state_focused="true"                                                             android:drawable="@drawable/abs__list_focused_holo" />
+</selector>
diff --git a/actionbarsherlock/res/drawable/abs__list_selector_holo_light.xml b/actionbarsherlock/res/drawable/abs__list_selector_holo_light.xml
new file mode 100644
index 0000000..ada490b
--- /dev/null
+++ b/actionbarsherlock/res/drawable/abs__list_selector_holo_light.xml
@@ -0,0 +1,28 @@
+<?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.
+-->
+
+<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/abs__list_selector_disabled_holo_light" />
+    <item android:state_focused="true"  android:state_enabled="false"                              android:drawable="@drawable/abs__list_selector_disabled_holo_light" />
+    <item android:state_focused="true"                                android:state_pressed="true" android:drawable="@drawable/abs__list_selector_background_transition_holo_light" />
+    <item android:state_focused="false"                               android:state_pressed="true" android:drawable="@drawable/abs__list_selector_background_transition_holo_light" />
+    <item android:state_focused="true"                                                             android:drawable="@drawable/abs__list_focused_holo" />
+
+</selector>
diff --git a/actionbarsherlock/res/drawable/abs__progress_horizontal_holo_dark.xml b/actionbarsherlock/res/drawable/abs__progress_horizontal_holo_dark.xml
new file mode 100644
index 0000000..bd19140
--- /dev/null
+++ b/actionbarsherlock/res/drawable/abs__progress_horizontal_holo_dark.xml
@@ -0,0 +1,32 @@
+<?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.
+-->
+
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <item android:id="@android:id/background"
+          android:drawable="@drawable/abs__progress_bg_holo_dark" />
+
+    <item android:id="@android:id/secondaryProgress">
+        <scale android:scaleWidth="100%"
+               android:drawable="@drawable/abs__progress_secondary_holo_dark" />
+    </item>
+
+    <item android:id="@android:id/progress">
+        <scale android:scaleWidth="100%"
+               android:drawable="@drawable/abs__progress_primary_holo_dark" />
+    </item>
+
+</layer-list>
diff --git a/actionbarsherlock/res/drawable/abs__progress_horizontal_holo_light.xml b/actionbarsherlock/res/drawable/abs__progress_horizontal_holo_light.xml
new file mode 100644
index 0000000..321f07c
--- /dev/null
+++ b/actionbarsherlock/res/drawable/abs__progress_horizontal_holo_light.xml
@@ -0,0 +1,32 @@
+<?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.
+-->
+
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <item android:id="@android:id/background"
+          android:drawable="@drawable/abs__progress_bg_holo_light" />
+
+    <item android:id="@android:id/secondaryProgress">
+        <scale android:scaleWidth="100%"
+               android:drawable="@drawable/abs__progress_secondary_holo_light" />
+    </item>
+
+    <item android:id="@android:id/progress">
+        <scale android:scaleWidth="100%"
+               android:drawable="@drawable/abs__progress_primary_holo_light" />
+    </item>
+
+</layer-list>
diff --git a/actionbarsherlock/res/drawable/abs__progress_medium_holo.xml b/actionbarsherlock/res/drawable/abs__progress_medium_holo.xml
new file mode 100644
index 0000000..6d4814f
--- /dev/null
+++ b/actionbarsherlock/res/drawable/abs__progress_medium_holo.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright 2010, The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
+    <item>
+        <rotate
+             android:drawable="@drawable/abs__spinner_48_outer_holo"
+             android:pivotX="50%"
+             android:pivotY="50%"
+             android:fromDegrees="0"
+             android:toDegrees="1080" />
+    </item>
+    <item>
+        <rotate
+             android:drawable="@drawable/abs__spinner_48_inner_holo"
+             android:pivotX="50%"
+             android:pivotY="50%"
+             android:fromDegrees="0"
+             android:toDegrees="720" />
+    </item>
+</layer-list>
diff --git a/actionbarsherlock/res/drawable/abs__spinner_ab_holo_dark.xml b/actionbarsherlock/res/drawable/abs__spinner_ab_holo_dark.xml
new file mode 100644
index 0000000..4af5e22
--- /dev/null
+++ b/actionbarsherlock/res/drawable/abs__spinner_ab_holo_dark.xml
@@ -0,0 +1,25 @@
+<?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.
+-->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:state_enabled="false"
+          android:drawable="@drawable/abs__spinner_ab_disabled_holo_dark" />
+    <item android:state_pressed="true"
+          android:drawable="@drawable/abs__spinner_ab_pressed_holo_dark" />
+    <item android:state_pressed="false" android:state_focused="true"
+          android:drawable="@drawable/abs__spinner_ab_focused_holo_dark" />
+    <item android:drawable="@drawable/abs__spinner_ab_default_holo_dark" />
+</selector>
diff --git a/actionbarsherlock/res/drawable/abs__spinner_ab_holo_light.xml b/actionbarsherlock/res/drawable/abs__spinner_ab_holo_light.xml
new file mode 100644
index 0000000..b785084
--- /dev/null
+++ b/actionbarsherlock/res/drawable/abs__spinner_ab_holo_light.xml
@@ -0,0 +1,25 @@
+<?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.
+-->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:state_enabled="false"
+          android:drawable="@drawable/abs__spinner_ab_disabled_holo_light" />
+    <item android:state_pressed="true"
+          android:drawable="@drawable/abs__spinner_ab_pressed_holo_light" />
+    <item android:state_pressed="false" android:state_focused="true"
+          android:drawable="@drawable/abs__spinner_ab_focused_holo_light" />
+    <item android:drawable="@drawable/abs__spinner_ab_default_holo_light" />
+</selector>
diff --git a/actionbarsherlock/res/drawable/abs__tab_indicator_ab_holo.xml b/actionbarsherlock/res/drawable/abs__tab_indicator_ab_holo.xml
new file mode 100644
index 0000000..d34e208
--- /dev/null
+++ b/actionbarsherlock/res/drawable/abs__tab_indicator_ab_holo.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.
+-->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <!-- Non focused states -->
+    <item android:state_focused="false" android:state_selected="false" android:state_pressed="false" android:drawable="@android:color/transparent" />
+    <item android:state_focused="false" android:state_selected="true"  android:state_pressed="false" android:drawable="@drawable/abs__tab_selected_holo" />
+
+    <!-- Focused states -->
+    <item android:state_focused="true" android:state_selected="false" android:state_pressed="false" android:drawable="@drawable/abs__list_focused_holo" />
+    <item android:state_focused="true" android:state_selected="true"  android:state_pressed="false" android:drawable="@drawable/abs__tab_selected_focused_holo" />
+
+    <!-- Pressed -->
+    <!--    Non focused states -->
+    <item android:state_focused="false" android:state_selected="false" android:state_pressed="true" android:drawable="@drawable/abs__list_pressed_holo_dark" />
+    <item android:state_focused="false" android:state_selected="true"  android:state_pressed="true" android:drawable="@drawable/abs__tab_selected_pressed_holo" />
+
+    <!--    Focused states -->
+    <item android:state_focused="true" android:state_selected="false" android:state_pressed="true" android:drawable="@drawable/abs__tab_unselected_pressed_holo" />
+    <item android:state_focused="true" android:state_selected="true"  android:state_pressed="true" android:drawable="@drawable/abs__tab_selected_pressed_holo" />
+</selector>
diff --git a/actionbarsherlock/res/layout-large/abs__action_mode_close_item.xml b/actionbarsherlock/res/layout-large/abs__action_mode_close_item.xml
new file mode 100644
index 0000000..8811dad
--- /dev/null
+++ b/actionbarsherlock/res/layout-large/abs__action_mode_close_item.xml
@@ -0,0 +1,40 @@
+<?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.
+-->
+
+<com.actionbarsherlock.internal.nineoldandroids.widget.NineLinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+        android:id="@+id/abs__action_mode_close_button"
+        android:focusable="true"
+        android:clickable="true"
+        android:paddingLeft="8dip"
+        style="?attr/actionModeCloseButtonStyle"
+        android:layout_width="wrap_content"
+        android:layout_height="match_parent"
+        android:layout_marginRight="16dip">
+    <ImageView android:layout_width="48dip"
+               android:layout_height="wrap_content"
+               android:layout_gravity="center"
+               android:scaleType="center"
+               android:src="?attr/actionModeCloseDrawable" />
+    <TextView android:layout_width="wrap_content"
+              android:layout_height="wrap_content"
+              android:layout_gravity="center"
+              android:layout_marginLeft="4dip"
+              android:layout_marginRight="16dip"
+              android:textAppearance="?android:attr/textAppearanceSmall"
+              android:textSize="12sp"
+              android:textAllCaps="true"
+              android:text="@string/abs__action_mode_done" />
+</com.actionbarsherlock.internal.nineoldandroids.widget.NineLinearLayout>
diff --git a/actionbarsherlock/res/layout-v14/sherlock_spinner_dropdown_item.xml b/actionbarsherlock/res/layout-v14/sherlock_spinner_dropdown_item.xml
new file mode 100644
index 0000000..6c183c0
--- /dev/null
+++ b/actionbarsherlock/res/layout-v14/sherlock_spinner_dropdown_item.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/* //device/apps/common/assets/res/any/layout/simple_spinner_item.xml
+**
+** 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.
+*/
+-->
+<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
+    android:id="@android:id/text1"
+    style="?android:attr/spinnerDropDownItemStyle"
+    android:singleLine="true"
+    android:layout_width="match_parent"
+    android:layout_height="?attr/dropdownListPreferredItemHeight"
+    android:ellipsize="marquee" />
diff --git a/actionbarsherlock/res/layout-v14/sherlock_spinner_item.xml b/actionbarsherlock/res/layout-v14/sherlock_spinner_item.xml
new file mode 100644
index 0000000..61dc025
--- /dev/null
+++ b/actionbarsherlock/res/layout-v14/sherlock_spinner_item.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/* //device/apps/common/assets/res/any/layout/simple_spinner_item.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.
+*/
+-->
+<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
+    android:id="@android:id/text1"
+    style="?android:attr/spinnerItemStyle"
+    android:singleLine="true"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:ellipsize="marquee" />
diff --git a/actionbarsherlock/res/layout-xlarge/abs__screen_action_bar.xml b/actionbarsherlock/res/layout-xlarge/abs__screen_action_bar.xml
new file mode 100644
index 0000000..040df44
--- /dev/null
+++ b/actionbarsherlock/res/layout-xlarge/abs__screen_action_bar.xml
@@ -0,0 +1,50 @@
+<?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.
+-->
+
+<!--
+This is an optimized layout for a screen with the Action Bar enabled.
+-->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:orientation="vertical"
+    android:fitsSystemWindows="true"
+    android:layout_width="fill_parent"
+    android:layout_height="fill_parent">
+    <com.actionbarsherlock.internal.widget.ActionBarContainer
+        android:id="@+id/abs__action_bar_container"
+        android:layout_width="fill_parent"
+        android:layout_height="wrap_content"
+        style="?attr/actionBarStyle">
+        <com.actionbarsherlock.internal.widget.ActionBarView
+            android:id="@+id/abs__action_bar"
+            android:layout_width="fill_parent"
+            android:layout_height="wrap_content"
+            style="?attr/actionBarStyle" />
+        <com.actionbarsherlock.internal.widget.ActionBarContextView
+            android:id="@+id/abs__action_context_bar"
+            android:layout_width="fill_parent"
+            android:layout_height="wrap_content"
+            android:visibility="gone"
+            style="?attr/actionModeStyle" />
+    </com.actionbarsherlock.internal.widget.ActionBarContainer>
+    <com.actionbarsherlock.internal.nineoldandroids.widget.NineFrameLayout
+        android:id="@+id/abs__content"
+        android:layout_width="fill_parent"
+        android:layout_height="0dip"
+        android:layout_weight="1"
+        android:foregroundGravity="fill_horizontal|top"
+        android:foreground="?attr/windowContentOverlay" />
+</LinearLayout>
diff --git a/actionbarsherlock/res/layout-xlarge/abs__screen_action_bar_overlay.xml b/actionbarsherlock/res/layout-xlarge/abs__screen_action_bar_overlay.xml
new file mode 100644
index 0000000..c64ef14
--- /dev/null
+++ b/actionbarsherlock/res/layout-xlarge/abs__screen_action_bar_overlay.xml
@@ -0,0 +1,49 @@
+<?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.
+-->
+
+<!--
+This is an optimized layout for a screen with
+the Action Bar enabled overlaying application content.
+-->
+
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:fitsSystemWindows="true">
+    <com.actionbarsherlock.internal.nineoldandroids.widget.NineFrameLayout android:id="@+id/abs__content"
+        android:layout_width="fill_parent"
+        android:layout_height="fill_parent" />
+    <com.actionbarsherlock.internal.widget.ActionBarContainer android:id="@+id/abs__action_bar_container"
+        android:layout_width="fill_parent"
+        android:layout_height="wrap_content"
+        style="?attr/actionBarStyle"
+        android:gravity="top">
+        <com.actionbarsherlock.internal.widget.ActionBarView
+            android:id="@+id/abs__action_bar"
+            android:layout_width="fill_parent"
+            android:layout_height="wrap_content"
+            style="?attr/actionBarStyle" />
+        <com.actionbarsherlock.internal.widget.ActionBarContextView
+            android:id="@+id/abs__action_context_bar"
+            android:layout_width="fill_parent"
+            android:layout_height="wrap_content"
+            android:visibility="gone"
+            style="?attr/actionModeStyle" />
+    </com.actionbarsherlock.internal.widget.ActionBarContainer>
+    <ImageView android:src="?attr/windowContentOverlay"
+               android:scaleType="fitXY"
+               android:layout_width="match_parent"
+               android:layout_height="wrap_content"
+               android:layout_below="@id/abs__action_bar_container" />
+</RelativeLayout>
diff --git a/actionbarsherlock/res/layout/abs__action_bar_home.xml b/actionbarsherlock/res/layout/abs__action_bar_home.xml
new file mode 100644
index 0000000..5c1e9ec
--- /dev/null
+++ b/actionbarsherlock/res/layout/abs__action_bar_home.xml
@@ -0,0 +1,38 @@
+<?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.
+-->
+
+<view xmlns:android="http://schemas.android.com/apk/res/android"
+      class="com.actionbarsherlock.internal.widget.ActionBarView$HomeView"
+      android:layout_width="wrap_content"
+      android:layout_height="fill_parent"
+      android:background="?attr/actionBarItemBackground">
+    <ImageView android:id="@id/abs__up"
+               android:src="?attr/homeAsUpIndicator"
+               android:layout_gravity="center_vertical|left"
+               android:visibility="gone"
+               android:layout_width="wrap_content"
+               android:layout_height="wrap_content"
+               android:layout_marginRight="-8dip" />
+    <ImageView android:id="@id/abs__home"
+               android:layout_width="wrap_content"
+               android:layout_height="wrap_content"
+               android:layout_marginRight="8dip"
+               android:layout_marginTop="@dimen/abs__action_bar_icon_vertical_padding"
+               android:layout_marginBottom="@dimen/abs__action_bar_icon_vertical_padding"
+               android:layout_gravity="center"
+               android:adjustViewBounds="true"
+               android:scaleType="fitCenter" />
+</view>
diff --git a/actionbarsherlock/res/layout/abs__action_bar_tab.xml b/actionbarsherlock/res/layout/abs__action_bar_tab.xml
new file mode 100644
index 0000000..f46f7a0
--- /dev/null
+++ b/actionbarsherlock/res/layout/abs__action_bar_tab.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<view
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    class="com.actionbarsherlock.internal.widget.ScrollingTabContainerView$TabView"
+    style="?attr/actionBarTabStyle"
+/>
\ No newline at end of file
diff --git a/actionbarsherlock/res/layout/abs__action_bar_tab_bar_view.xml b/actionbarsherlock/res/layout/abs__action_bar_tab_bar_view.xml
new file mode 100644
index 0000000..0d51220
--- /dev/null
+++ b/actionbarsherlock/res/layout/abs__action_bar_tab_bar_view.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<com.actionbarsherlock.internal.widget.IcsLinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    style="?attr/actionBarTabBarStyle"
+/>
\ No newline at end of file
diff --git a/actionbarsherlock/res/layout/abs__action_bar_title_item.xml b/actionbarsherlock/res/layout/abs__action_bar_title_item.xml
new file mode 100644
index 0000000..dd69aca
--- /dev/null
+++ b/actionbarsherlock/res/layout/abs__action_bar_title_item.xml
@@ -0,0 +1,50 @@
+<?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.
+-->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+              android:layout_width="wrap_content"
+              android:layout_height="wrap_content"
+              android:orientation="horizontal"
+              android:paddingRight="16dip"
+              android:background="?attr/actionBarItemBackground"
+              android:enabled="false">
+
+    <ImageView android:id="@id/abs__up"
+               android:src="?attr/homeAsUpIndicator"
+               android:layout_gravity="center_vertical|left"
+               android:visibility="gone"
+               android:layout_width="wrap_content"
+               android:layout_height="wrap_content" />
+
+    <LinearLayout android:layout_width="wrap_content"
+                  android:layout_height="wrap_content"
+                  android:layout_gravity="center_vertical|left"
+                  android:orientation="vertical">
+        <TextView android:id="@+id/abs__action_bar_title"
+                  android:layout_width="wrap_content"
+                  android:layout_height="wrap_content"
+                  android:singleLine="true"
+                  android:ellipsize="end" />
+        <TextView android:id="@+id/abs__action_bar_subtitle"
+                  android:layout_width="wrap_content"
+                  android:layout_height="wrap_content"
+                  android:layout_marginTop="@dimen/abs__action_bar_subtitle_top_margin"
+                  android:layout_marginBottom="@dimen/abs__action_bar_subtitle_bottom_margin"
+                  android:singleLine="true"
+                  android:ellipsize="end"
+                  android:visibility="gone" />
+    </LinearLayout>
+</LinearLayout>
diff --git a/actionbarsherlock/res/layout/abs__action_menu_item_layout.xml b/actionbarsherlock/res/layout/abs__action_menu_item_layout.xml
new file mode 100644
index 0000000..13149fd
--- /dev/null
+++ b/actionbarsherlock/res/layout/abs__action_menu_item_layout.xml
@@ -0,0 +1,56 @@
+<?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.
+-->
+
+<com.actionbarsherlock.internal.view.menu.ActionMenuItemView xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:layout_gravity="center"
+    android:addStatesFromChildren="true"
+    android:gravity="center"
+    android:focusable="true"
+    android:paddingLeft="4dip"
+    android:paddingRight="4dip"
+    style="?attr/actionButtonStyle">
+    <ImageButton android:id="@+id/abs__imageButton"
+                 android:layout_width="wrap_content"
+                 android:layout_height="wrap_content"
+                 android:layout_gravity="center"
+                 android:visibility="gone"
+                 android:layout_marginTop="4dip"
+                 android:layout_marginBottom="4dip"
+                 android:layout_marginLeft="4dip"
+                 android:layout_marginRight="4dip"
+                 android:scaleType="fitCenter"
+                 android:adjustViewBounds="true"
+                 android:background="@null"
+                 android:focusable="false" />
+    <com.actionbarsherlock.internal.widget.CapitalizingButton android:id="@+id/abs__textButton"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center"
+            android:visibility="gone"
+            android:textAppearance="?attr/actionMenuTextAppearance"
+            style="?attr/buttonStyleSmall"
+            android:textColor="?attr/actionMenuTextColor"
+            android:singleLine="true"
+            android:ellipsize="none"
+            android:background="@null"
+            android:paddingTop="4dip"
+            android:paddingBottom="4dip"
+            android:paddingLeft="4dip"
+            android:paddingRight="4dip"
+            android:focusable="false" />
+</com.actionbarsherlock.internal.view.menu.ActionMenuItemView>
diff --git a/actionbarsherlock/res/layout/abs__action_menu_layout.xml b/actionbarsherlock/res/layout/abs__action_menu_layout.xml
new file mode 100644
index 0000000..a6f8e53
--- /dev/null
+++ b/actionbarsherlock/res/layout/abs__action_menu_layout.xml
@@ -0,0 +1,23 @@
+<?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.
+-->
+
+<com.actionbarsherlock.internal.view.menu.ActionMenuView
+     xmlns:android="http://schemas.android.com/apk/res/android"
+     android:layout_width="wrap_content"
+     android:layout_height="wrap_content"
+     android:divider="?attr/actionBarDivider"
+     android:dividerPadding="12dip"
+     android:gravity="center_vertical" />
diff --git a/actionbarsherlock/res/layout/abs__action_mode_bar.xml b/actionbarsherlock/res/layout/abs__action_mode_bar.xml
new file mode 100644
index 0000000..7168dc7
--- /dev/null
+++ b/actionbarsherlock/res/layout/abs__action_mode_bar.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2010, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<com.actionbarsherlock.internal.widget.ActionBarContextView
+     xmlns:android="http://schemas.android.com/apk/res/android"
+     android:layout_width="fill_parent"
+     android:layout_height="wrap_content"
+     android:visibility="gone"
+     style="?attr/actionModeStyle" />
diff --git a/actionbarsherlock/res/layout/abs__action_mode_close_item.xml b/actionbarsherlock/res/layout/abs__action_mode_close_item.xml
new file mode 100644
index 0000000..875ec3e
--- /dev/null
+++ b/actionbarsherlock/res/layout/abs__action_mode_close_item.xml
@@ -0,0 +1,31 @@
+<?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.
+-->
+
+<com.actionbarsherlock.internal.nineoldandroids.widget.NineLinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+        android:id="@+id/abs__action_mode_close_button"
+        android:focusable="true"
+        android:clickable="true"
+        android:paddingLeft="8dip"
+        style="?attr/actionModeCloseButtonStyle"
+        android:layout_width="wrap_content"
+        android:layout_height="fill_parent"
+        android:layout_marginRight="16dip">
+    <ImageView android:layout_width="wrap_content"
+               android:layout_height="wrap_content"
+               android:layout_gravity="center"
+               android:scaleType="fitCenter"
+               android:src="?attr/actionModeCloseDrawable" />
+</com.actionbarsherlock.internal.nineoldandroids.widget.NineLinearLayout>
diff --git a/actionbarsherlock/res/layout/abs__activity_chooser_view.xml b/actionbarsherlock/res/layout/abs__activity_chooser_view.xml
new file mode 100644
index 0000000..019d14e
--- /dev/null
+++ b/actionbarsherlock/res/layout/abs__activity_chooser_view.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+**
+** Copyright 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.
+*/
+-->
+<com.actionbarsherlock.internal.widget.IcsLinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/abs__activity_chooser_view_content"
+    android:layout_width="wrap_content"
+    android:layout_height="fill_parent"
+    android:layout_gravity="center"
+    style="?attr/activityChooserViewStyle">
+
+    <FrameLayout
+        android:id="@+id/abs__expand_activities_button"
+        android:layout_width="wrap_content"
+        android:layout_height="fill_parent"
+        android:layout_gravity="center"
+        android:focusable="true"
+        android:addStatesFromChildren="true"
+        android:background="?attr/actionBarItemBackground">
+
+        <ImageView android:id="@+id/abs__image"
+            android:layout_width="56dip"
+            android:layout_height="36dip"
+            android:layout_gravity="center"
+            android:paddingTop="2dip"
+            android:paddingBottom="2dip"
+            android:paddingLeft="12dip"
+            android:paddingRight="12dip"
+            android:scaleType="fitCenter"
+            android:adjustViewBounds="true" />
+
+    </FrameLayout>
+
+    <FrameLayout
+        android:id="@+id/abs__default_activity_button"
+        android:layout_width="wrap_content"
+        android:layout_height="fill_parent"
+        android:layout_gravity="center"
+        android:focusable="true"
+        android:addStatesFromChildren="true"
+        android:background="?attr/actionBarItemBackground">
+
+        <ImageView android:id="@+id/abs__image"
+            android:layout_width="56dip"
+            android:layout_height="36dip"
+            android:layout_gravity="center"
+            android:paddingTop="2dip"
+            android:paddingBottom="2dip"
+            android:paddingLeft="12dip"
+            android:paddingRight="12dip"
+            android:scaleType="fitCenter"
+            android:adjustViewBounds="true" />
+
+    </FrameLayout>
+
+</com.actionbarsherlock.internal.widget.IcsLinearLayout>
diff --git a/actionbarsherlock/res/layout/abs__activity_chooser_view_list_item.xml b/actionbarsherlock/res/layout/abs__activity_chooser_view_list_item.xml
new file mode 100644
index 0000000..b430032
--- /dev/null
+++ b/actionbarsherlock/res/layout/abs__activity_chooser_view_list_item.xml
@@ -0,0 +1,53 @@
+<?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.
+-->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/abs__list_item"
+    android:layout_width="match_parent"
+    android:layout_height="?attr/dropdownListPreferredItemHeight"
+    android:paddingLeft="16dip"
+    android:paddingRight="16dip"
+    android:minWidth="196dip"
+    android:background="?attr/activatedBackgroundIndicator"
+    android:orientation="vertical" >
+
+    <LinearLayout
+        android:layout_width="wrap_content"
+        android:layout_height="match_parent"
+        android:duplicateParentState="true" >
+
+        <ImageView
+            android:id="@+id/abs__icon"
+            android:layout_width="32dip"
+            android:layout_height="32dip"
+            android:layout_gravity="center_vertical"
+            android:layout_marginRight="8dip"
+            android:duplicateParentState="true" />
+
+        <TextView
+            android:id="@+id/abs__title"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center_vertical"
+            android:textAppearance="?attr/textAppearanceLargePopupMenu"
+            android:duplicateParentState="true"
+            android:singleLine="true"
+            android:ellipsize="marquee"
+            android:fadingEdge="horizontal" />
+
+    </LinearLayout>
+
+</LinearLayout>
diff --git a/actionbarsherlock/res/layout/abs__dialog_title_holo.xml b/actionbarsherlock/res/layout/abs__dialog_title_holo.xml
new file mode 100644
index 0000000..6402f28
--- /dev/null
+++ b/actionbarsherlock/res/layout/abs__dialog_title_holo.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 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.
+*/
+
+This is an optimized layout for a screen, with the minimum set of features
+enabled.
+-->
+
+<com.actionbarsherlock.internal.widget.FakeDialogPhoneWindow xmlns:android="http://schemas.android.com/apk/res/android"
+    android:orientation="vertical"
+    android:fitsSystemWindows="true">
+    <TextView android:id="@android:id/title" style="?android:attr/windowTitleStyle"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:minHeight="@dimen/abs__alert_dialog_title_height"
+        android:paddingLeft="16dip"
+        android:paddingRight="16dip"
+        android:gravity="center_vertical|left" />
+    <View android:id="@+id/abs__titleDivider"
+            android:layout_width="fill_parent"
+            android:layout_height="2dip"
+            android:background="@color/abs__holo_blue_light" />
+    <FrameLayout
+        android:layout_width="wrap_content" android:layout_height="0dp"
+        android:layout_weight="1"
+        android:orientation="vertical"
+        android:foreground="?attr/windowContentOverlay">
+        <FrameLayout android:id="@+id/abs__content"
+            android:layout_width="fill_parent"
+            android:layout_height="fill_parent" />
+    </FrameLayout>
+</com.actionbarsherlock.internal.widget.FakeDialogPhoneWindow>
diff --git a/actionbarsherlock/res/layout/abs__list_menu_item_checkbox.xml b/actionbarsherlock/res/layout/abs__list_menu_item_checkbox.xml
new file mode 100644
index 0000000..39aca3a
--- /dev/null
+++ b/actionbarsherlock/res/layout/abs__list_menu_item_checkbox.xml
@@ -0,0 +1,26 @@
+<?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.
+-->
+
+<CheckBox xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/abs__checkbox"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:layout_gravity="center_vertical"
+    android:focusable="false"
+    android:clickable="false"
+    android:duplicateParentState="true" />
+
+
diff --git a/actionbarsherlock/res/layout/abs__list_menu_item_icon.xml b/actionbarsherlock/res/layout/abs__list_menu_item_icon.xml
new file mode 100644
index 0000000..55ab28a
--- /dev/null
+++ b/actionbarsherlock/res/layout/abs__list_menu_item_icon.xml
@@ -0,0 +1,28 @@
+<?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.
+-->
+
+<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/abs__icon"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:layout_gravity="center_vertical"
+    android:layout_marginLeft="8dip"
+    android:layout_marginRight="-8dip"
+    android:layout_marginTop="8dip"
+    android:layout_marginBottom="8dip"
+    android:scaleType="centerInside"
+    android:duplicateParentState="true" />
+
diff --git a/actionbarsherlock/res/layout/abs__list_menu_item_layout.xml b/actionbarsherlock/res/layout/abs__list_menu_item_layout.xml
new file mode 100644
index 0000000..147f36f
--- /dev/null
+++ b/actionbarsherlock/res/layout/abs__list_menu_item_layout.xml
@@ -0,0 +1,59 @@
+<?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.
+-->
+
+<com.actionbarsherlock.internal.view.menu.ListMenuItemView xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="fill_parent"
+    android:layout_height="?attr/listPreferredItemHeightSmall">
+    
+    <!-- Icon will be inserted here. -->
+    
+    <!-- The title and summary have some gap between them, and this 'group' should be centered vertically. -->
+    <RelativeLayout
+        android:layout_width="0dip"
+        android:layout_weight="1"
+        android:layout_height="wrap_content"
+        android:layout_gravity="center_vertical"
+        android:layout_marginLeft="?attr/listPreferredItemPaddingLeft"
+        android:layout_marginRight="?attr/listPreferredItemPaddingRight"
+        android:duplicateParentState="true">
+        
+        <TextView 
+            android:id="@+id/abs__title"
+            android:layout_width="fill_parent"
+            android:layout_height="wrap_content"
+            android:layout_alignParentTop="true"
+            android:layout_alignParentLeft="true"
+            android:textAppearance="?attr/textAppearanceListItemSmall"
+            android:singleLine="true"
+            android:duplicateParentState="true"
+            android:ellipsize="marquee"
+            android:fadingEdge="horizontal" />
+
+        <TextView
+            android:id="@+id/abs__shortcut"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_below="@id/abs__title"
+            android:layout_alignParentLeft="true"
+            android:textAppearance="?attr/textAppearanceSmall"
+            android:singleLine="true"
+            android:duplicateParentState="true" />
+
+    </RelativeLayout>
+
+    <!-- Checkbox, and/or radio button will be inserted here. -->
+    
+</com.actionbarsherlock.internal.view.menu.ListMenuItemView>
diff --git a/actionbarsherlock/res/layout/abs__list_menu_item_radio.xml b/actionbarsherlock/res/layout/abs__list_menu_item_radio.xml
new file mode 100644
index 0000000..ff54bbe
--- /dev/null
+++ b/actionbarsherlock/res/layout/abs__list_menu_item_radio.xml
@@ -0,0 +1,24 @@
+<?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.
+-->
+
+<RadioButton xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/abs__radio"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:layout_gravity="center_vertical"
+    android:focusable="false"
+    android:clickable="false"
+    android:duplicateParentState="true" />
diff --git a/actionbarsherlock/res/layout/abs__popup_menu_item_layout.xml b/actionbarsherlock/res/layout/abs__popup_menu_item_layout.xml
new file mode 100644
index 0000000..d42425a
--- /dev/null
+++ b/actionbarsherlock/res/layout/abs__popup_menu_item_layout.xml
@@ -0,0 +1,60 @@
+<?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.
+-->
+
+<com.actionbarsherlock.internal.view.menu.ListMenuItemView xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="fill_parent"
+    android:layout_height="?attr/dropdownListPreferredItemHeight"
+    android:minWidth="196dip"
+    android:paddingRight="16dip">
+    
+    <!-- Icon will be inserted here. -->
+    
+    <!-- The title and summary have some gap between them, and this 'group' should be centered vertically. -->
+    <RelativeLayout
+        android:layout_width="0dip"
+        android:layout_weight="1"
+        android:layout_height="wrap_content"
+        android:layout_gravity="center_vertical"
+        android:layout_marginLeft="16dip"
+        android:duplicateParentState="true">
+        
+        <TextView 
+            android:id="@+id/abs__title"
+            android:layout_width="fill_parent"
+            android:layout_height="wrap_content"
+            android:layout_alignParentTop="true"
+            android:layout_alignParentLeft="true"
+            android:textAppearance="?attr/textAppearanceLargePopupMenu"
+            android:singleLine="true"
+            android:duplicateParentState="true"
+            android:ellipsize="marquee"
+            android:fadingEdge="horizontal" />
+
+        <TextView
+            android:id="@+id/abs__shortcut"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_below="@id/abs__title"
+            android:layout_alignParentLeft="true"
+            android:textAppearance="?attr/textAppearanceSmallPopupMenu"
+            android:singleLine="true"
+            android:duplicateParentState="true" />
+
+    </RelativeLayout>
+
+    <!-- Checkbox, and/or radio button will be inserted here. -->
+    
+</com.actionbarsherlock.internal.view.menu.ListMenuItemView>
diff --git a/actionbarsherlock/res/layout/abs__screen_action_bar.xml b/actionbarsherlock/res/layout/abs__screen_action_bar.xml
new file mode 100644
index 0000000..1fb82fe
--- /dev/null
+++ b/actionbarsherlock/res/layout/abs__screen_action_bar.xml
@@ -0,0 +1,57 @@
+<?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.
+-->
+
+<!--
+This is an optimized layout for a screen with the Action Bar enabled.
+-->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical"
+    android:fitsSystemWindows="true">
+    <com.actionbarsherlock.internal.widget.ActionBarContainer
+        android:id="@+id/abs__action_bar_container"
+        android:layout_width="fill_parent"
+        android:layout_height="wrap_content"
+        style="?attr/actionBarStyle">
+        <com.actionbarsherlock.internal.widget.ActionBarView
+            android:id="@+id/abs__action_bar"
+            android:layout_width="fill_parent"
+            android:layout_height="wrap_content"
+            style="?attr/actionBarStyle" />
+        <com.actionbarsherlock.internal.widget.ActionBarContextView
+            android:id="@+id/abs__action_context_bar"
+            android:layout_width="fill_parent"
+            android:layout_height="wrap_content"
+            android:visibility="gone"
+            style="?attr/actionModeStyle" />
+    </com.actionbarsherlock.internal.widget.ActionBarContainer>
+    <com.actionbarsherlock.internal.nineoldandroids.widget.NineFrameLayout
+        android:id="@+id/abs__content"
+        android:layout_width="fill_parent"
+        android:layout_height="0dip"
+        android:layout_weight="1"
+        android:foregroundGravity="fill_horizontal|top"
+        android:foreground="?attr/windowContentOverlay" />
+    <com.actionbarsherlock.internal.widget.ActionBarContainer
+        android:id="@+id/abs__split_action_bar"
+        android:layout_width="fill_parent"
+        android:layout_height="wrap_content"
+        android:visibility="gone"
+        android:gravity="center"
+        style="?attr/actionBarSplitStyle" />
+</LinearLayout>
diff --git a/actionbarsherlock/res/layout/abs__screen_action_bar_overlay.xml b/actionbarsherlock/res/layout/abs__screen_action_bar_overlay.xml
new file mode 100644
index 0000000..0961ef5
--- /dev/null
+++ b/actionbarsherlock/res/layout/abs__screen_action_bar_overlay.xml
@@ -0,0 +1,59 @@
+<?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.
+-->
+
+<!--
+This is an optimized layout for a screen with
+the Action Bar enabled overlaying application content.
+-->
+
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:fitsSystemWindows="true">
+    <com.actionbarsherlock.internal.nineoldandroids.widget.NineFrameLayout android:id="@+id/abs__content"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent" />
+    <com.actionbarsherlock.internal.widget.ActionBarContainer android:id="@+id/abs__action_bar_container"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_alignParentTop="true"
+        style="?attr/actionBarStyle"
+        android:gravity="top">
+        <com.actionbarsherlock.internal.widget.ActionBarView
+            android:id="@+id/abs__action_bar"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            style="?attr/actionBarStyle" />
+        <com.actionbarsherlock.internal.widget.ActionBarContextView
+            android:id="@+id/abs__action_context_bar"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:visibility="gone"
+            style="?attr/actionModeStyle" />
+    </com.actionbarsherlock.internal.widget.ActionBarContainer>
+    <ImageView android:src="?attr/windowContentOverlay"
+               android:scaleType="fitXY"
+               android:layout_width="match_parent"
+               android:layout_height="wrap_content"
+               android:layout_below="@id/abs__action_bar_container" />
+    <com.actionbarsherlock.internal.widget.ActionBarContainer android:id="@+id/abs__split_action_bar"
+                  android:layout_width="match_parent"
+                  android:layout_height="wrap_content"
+                  android:layout_gravity="bottom"
+                  style="?attr/actionBarSplitStyle"
+                  android:visibility="gone"
+                  android:gravity="center"/>
+</FrameLayout>
diff --git a/actionbarsherlock/res/layout/abs__screen_simple.xml b/actionbarsherlock/res/layout/abs__screen_simple.xml
new file mode 100644
index 0000000..33e2dea
--- /dev/null
+++ b/actionbarsherlock/res/layout/abs__screen_simple.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/* //device/apps/common/assets/res/layout/screen_simple.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.
+*/
+
+This is an optimized layout for a screen, with the minimum set of features
+enabled.
+-->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:fitsSystemWindows="true"
+    android:orientation="vertical">
+    <ViewStub android:id="@+id/abs__action_mode_bar_stub"
+              android:inflatedId="@+id/abs__action_mode_bar"
+              android:layout="@layout/abs__action_mode_bar"
+              android:layout_width="fill_parent"
+              android:layout_height="wrap_content" />
+    <com.actionbarsherlock.internal.nineoldandroids.widget.NineFrameLayout
+         android:id="@+id/abs__content"
+         android:layout_width="fill_parent"
+         android:layout_height="fill_parent"
+         android:foregroundGravity="fill_horizontal|top"
+         android:foreground="?attr/windowContentOverlay" />
+</LinearLayout>
diff --git a/actionbarsherlock/res/layout/abs__screen_simple_overlay_action_mode.xml b/actionbarsherlock/res/layout/abs__screen_simple_overlay_action_mode.xml
new file mode 100644
index 0000000..f8b9fb1
--- /dev/null
+++ b/actionbarsherlock/res/layout/abs__screen_simple_overlay_action_mode.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 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.
+*/
+
+This is an optimized layout for a screen, with the minimum set of features
+enabled.
+-->
+
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:fitsSystemWindows="true">
+    <com.actionbarsherlock.internal.nineoldandroids.widget.NineFrameLayout
+         android:id="@+id/abs__content"
+         android:layout_width="fill_parent"
+         android:layout_height="fill_parent"
+         android:foregroundGravity="fill_horizontal|top"
+         android:foreground="?attr/windowContentOverlay" />
+    <ViewStub android:id="@+id/abs__action_mode_bar_stub"
+              android:inflatedId="@+id/abs__action_mode_bar"
+              android:layout="@layout/abs__action_mode_bar"
+              android:layout_width="fill_parent"
+              android:layout_height="wrap_content" />
+</FrameLayout>
diff --git a/actionbarsherlock/res/layout/sherlock_spinner_dropdown_item.xml b/actionbarsherlock/res/layout/sherlock_spinner_dropdown_item.xml
new file mode 100644
index 0000000..a6c6252
--- /dev/null
+++ b/actionbarsherlock/res/layout/sherlock_spinner_dropdown_item.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/* //device/apps/common/assets/res/any/layout/simple_spinner_item.xml
+**
+** 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.
+*/
+-->
+<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
+    android:id="@android:id/text1"
+    style="?attr/spinnerDropDownItemStyle"
+    android:singleLine="true"
+    android:layout_width="match_parent"
+    android:layout_height="?attr/dropdownListPreferredItemHeight"
+    android:ellipsize="marquee" />
diff --git a/actionbarsherlock/res/layout/sherlock_spinner_item.xml b/actionbarsherlock/res/layout/sherlock_spinner_item.xml
new file mode 100644
index 0000000..bea7401
--- /dev/null
+++ b/actionbarsherlock/res/layout/sherlock_spinner_item.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/* //device/apps/common/assets/res/any/layout/simple_spinner_item.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.
+*/
+-->
+<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
+    android:id="@android:id/text1"
+    style="?attr/spinnerItemStyle"
+    android:singleLine="true"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:ellipsize="marquee" />
diff --git a/actionbarsherlock/res/values-land/abs__dimens.xml b/actionbarsherlock/res/values-land/abs__dimens.xml
new file mode 100644
index 0000000..502cc16
--- /dev/null
+++ b/actionbarsherlock/res/values-land/abs__dimens.xml
@@ -0,0 +1,33 @@
+<?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>
+    <!-- Default height of an action bar. -->
+    <dimen name="abs__action_bar_default_height">40dip</dimen>
+    <!-- Vertical padding around action bar icons. -->
+    <dimen name="abs__action_bar_icon_vertical_padding">4dip</dimen>
+    <!-- Text size for action bar titles -->
+    <dimen name="abs__action_bar_title_text_size">16dp</dimen>
+    <!-- Text size for action bar subtitles -->
+    <dimen name="abs__action_bar_subtitle_text_size">12dp</dimen>
+    <!-- Top margin for action bar subtitles -->
+    <dimen name="abs__action_bar_subtitle_top_margin">-2dp</dimen>
+    <!-- Bottom margin for action bar subtitles -->
+    <dimen name="abs__action_bar_subtitle_bottom_margin">4dip</dimen>
+</resources>
diff --git a/actionbarsherlock/res/values-large-hdpi-1024x600/abs__dimens.xml b/actionbarsherlock/res/values-large-hdpi-1024x600/abs__dimens.xml
new file mode 100644
index 0000000..3312cfa
--- /dev/null
+++ b/actionbarsherlock/res/values-large-hdpi-1024x600/abs__dimens.xml
@@ -0,0 +1,33 @@
+<?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>
+    <!-- Default height of an action bar. -->
+    <dimen name="abs__action_bar_default_height">48dip</dimen>
+    <!-- Vertical padding around action bar icons. -->
+    <dimen name="abs__action_bar_icon_vertical_padding">8dip</dimen>
+    <!-- Text size for action bar titles -->
+    <dimen name="abs__action_bar_title_text_size">18dp</dimen>
+    <!-- Text size for action bar subtitles -->
+    <dimen name="abs__action_bar_subtitle_text_size">14dp</dimen>
+    <!-- Top margin for action bar subtitles -->
+    <dimen name="abs__action_bar_subtitle_top_margin">-3dp</dimen>
+    <!-- Bottom margin for action bar subtitles -->
+    <dimen name="abs__action_bar_subtitle_bottom_margin">5dip</dimen>
+</resources>
diff --git a/actionbarsherlock/res/values-large-land-hdpi-1024x600/abs__dimens.xml b/actionbarsherlock/res/values-large-land-hdpi-1024x600/abs__dimens.xml
new file mode 100644
index 0000000..502cc16
--- /dev/null
+++ b/actionbarsherlock/res/values-large-land-hdpi-1024x600/abs__dimens.xml
@@ -0,0 +1,33 @@
+<?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>
+    <!-- Default height of an action bar. -->
+    <dimen name="abs__action_bar_default_height">40dip</dimen>
+    <!-- Vertical padding around action bar icons. -->
+    <dimen name="abs__action_bar_icon_vertical_padding">4dip</dimen>
+    <!-- Text size for action bar titles -->
+    <dimen name="abs__action_bar_title_text_size">16dp</dimen>
+    <!-- Text size for action bar subtitles -->
+    <dimen name="abs__action_bar_subtitle_text_size">12dp</dimen>
+    <!-- Top margin for action bar subtitles -->
+    <dimen name="abs__action_bar_subtitle_top_margin">-2dp</dimen>
+    <!-- Bottom margin for action bar subtitles -->
+    <dimen name="abs__action_bar_subtitle_bottom_margin">4dip</dimen>
+</resources>
diff --git a/actionbarsherlock/res/values-large-land-mdpi-1024x600/abs__dimens.xml b/actionbarsherlock/res/values-large-land-mdpi-1024x600/abs__dimens.xml
new file mode 100644
index 0000000..3312cfa
--- /dev/null
+++ b/actionbarsherlock/res/values-large-land-mdpi-1024x600/abs__dimens.xml
@@ -0,0 +1,33 @@
+<?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>
+    <!-- Default height of an action bar. -->
+    <dimen name="abs__action_bar_default_height">48dip</dimen>
+    <!-- Vertical padding around action bar icons. -->
+    <dimen name="abs__action_bar_icon_vertical_padding">8dip</dimen>
+    <!-- Text size for action bar titles -->
+    <dimen name="abs__action_bar_title_text_size">18dp</dimen>
+    <!-- Text size for action bar subtitles -->
+    <dimen name="abs__action_bar_subtitle_text_size">14dp</dimen>
+    <!-- Top margin for action bar subtitles -->
+    <dimen name="abs__action_bar_subtitle_top_margin">-3dp</dimen>
+    <!-- Bottom margin for action bar subtitles -->
+    <dimen name="abs__action_bar_subtitle_bottom_margin">5dip</dimen>
+</resources>
diff --git a/actionbarsherlock/res/values-large-mdpi-1024x600/abs__dimens.xml b/actionbarsherlock/res/values-large-mdpi-1024x600/abs__dimens.xml
new file mode 100644
index 0000000..3591033
--- /dev/null
+++ b/actionbarsherlock/res/values-large-mdpi-1024x600/abs__dimens.xml
@@ -0,0 +1,36 @@
+<?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>
+    <!-- Default height of an action bar. -->
+    <dimen name="abs__action_bar_default_height">56dip</dimen>
+    <!-- Vertical padding around action bar icons. -->
+    <dimen name="abs__action_bar_icon_vertical_padding">4dip</dimen>
+    <!-- Text size for action bar titles -->
+    <dimen name="abs__action_bar_title_text_size">18dp</dimen>
+    <!-- Text size for action bar subtitles -->
+    <dimen name="abs__action_bar_subtitle_text_size">14dp</dimen>
+    <!-- Top margin for action bar subtitles -->
+    <dimen name="abs__action_bar_subtitle_top_margin">-3dp</dimen>
+    <!-- Bottom margin for action bar subtitles -->
+    <dimen name="abs__action_bar_subtitle_bottom_margin">9dip</dimen>
+
+    <!-- Minimum width for an action button in the menu area of an action bar -->
+    <dimen name="action_button_min_width">64dip</dimen>
+</resources>
diff --git a/actionbarsherlock/res/values-large/abs__dimens.xml b/actionbarsherlock/res/values-large/abs__dimens.xml
new file mode 100644
index 0000000..63b12f7
--- /dev/null
+++ b/actionbarsherlock/res/values-large/abs__dimens.xml
@@ -0,0 +1,29 @@
+<?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 platform's desired minimum size for a dialog's width when it
+         is along the major axis (that is the screen is landscape).  This may
+         be either a fraction or a dimension. -->
+    <item type="dimen" name="abs__dialog_min_width_major">55%</item>
+    <!-- The platform's desired minimum size for a dialog's width when it
+         is along the minor axis (that is the screen is portrait).  This may
+         be either a fraction or a dimension. -->
+    <item type="dimen" name="abs__dialog_min_width_minor">80%</item>
+</resources>
diff --git a/actionbarsherlock/res/values-sw600dp/abs__bools.xml b/actionbarsherlock/res/values-sw600dp/abs__bools.xml
new file mode 100644
index 0000000..7a48e15
--- /dev/null
+++ b/actionbarsherlock/res/values-sw600dp/abs__bools.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.
+-->
+
+<resources>
+    <bool name="abs__action_bar_expanded_action_views_exclusive">false</bool>
+</resources>
diff --git a/actionbarsherlock/res/values-sw600dp/abs__dimens.xml b/actionbarsherlock/res/values-sw600dp/abs__dimens.xml
new file mode 100644
index 0000000..f678538
--- /dev/null
+++ b/actionbarsherlock/res/values-sw600dp/abs__dimens.xml
@@ -0,0 +1,38 @@
+<?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>
+    <!-- Default height of an action bar. -->
+    <dimen name="abs__action_bar_default_height">56dip</dimen>
+    <!-- Vertical padding around action bar icons. -->
+    <dimen name="abs__action_bar_icon_vertical_padding">4dip</dimen>
+    <!-- Text size for action bar titles -->
+    <dimen name="abs__action_bar_title_text_size">18dp</dimen>
+    <!-- Text size for action bar subtitles -->
+    <dimen name="abs__action_bar_subtitle_text_size">14dp</dimen>
+    <!-- Top margin for action bar subtitles -->
+    <dimen name="abs__action_bar_subtitle_top_margin">-3dp</dimen>
+    <!-- Bottom margin for action bar subtitles -->
+    <dimen name="abs__action_bar_subtitle_bottom_margin">9dip</dimen>
+    
+    <integer name="abs__max_action_buttons">5</integer>
+
+    <!-- Minimum width for an action button in the menu area of an action bar -->
+    <dimen name="action_button_min_width">64dip</dimen>
+</resources>
diff --git a/actionbarsherlock/res/values-v11/abs__themes.xml b/actionbarsherlock/res/values-v11/abs__themes.xml
new file mode 100644
index 0000000..0347357
--- /dev/null
+++ b/actionbarsherlock/res/values-v11/abs__themes.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<resources>
+    <style name="Sherlock.__Theme" parent="android:Theme.Holo">
+        <item name="android:windowNoTitle">true</item>
+        <item name="android:windowActionBar">false</item>
+    </style>
+    <style name="Sherlock.__Theme.Light" parent="android:Theme.Holo.Light">
+        <item name="android:windowNoTitle">true</item>
+        <item name="android:windowActionBar">false</item>
+    </style>
+</resources>
diff --git a/actionbarsherlock/res/values-v14/abs__styles.xml b/actionbarsherlock/res/values-v14/abs__styles.xml
new file mode 100644
index 0000000..f2aa64d
--- /dev/null
+++ b/actionbarsherlock/res/values-v14/abs__styles.xml
@@ -0,0 +1,118 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<resources>
+    <style name="Widget.Sherlock.ActionBar" parent="android:Widget.Holo.ActionBar">
+    </style>
+    <style name="Widget.Sherlock.ActionBar.Solid" parent="android:Widget.Holo.ActionBar.Solid">
+    </style>
+    <style name="Widget.Sherlock.Light.ActionBar" parent="android:Widget.Holo.Light.ActionBar">
+    </style>
+    <style name="Widget.Sherlock.Light.ActionBar.Solid" parent="android:Widget.Holo.Light.ActionBar.Solid">
+    </style>
+    <style name="Widget.Sherlock.Light.ActionBar.Solid.Inverse" parent="android:Widget.Holo.Light.ActionBar.Solid.Inverse">
+    </style>
+
+    <style name="Widget.Sherlock.ActionBar.TabView" parent="android:Widget.Holo.ActionBar.TabView">
+    </style>
+    <style name="Widget.Sherlock.Light.ActionBar.TabView" parent="android:Widget.Holo.Light.ActionBar.TabView">
+    </style>
+    <style name="Widget.Sherlock.Light.ActionBar.TabView.Inverse" parent="android:Widget.Holo.Light.ActionBar.TabView.Inverse">
+    </style>
+
+    <style name="Widget.Sherlock.ActionBar.TabBar" parent="android:Widget.Holo.ActionBar.TabBar">
+    </style>
+    <style name="Widget.Sherlock.Light.ActionBar.TabBar" parent="android:Widget.Holo.Light.ActionBar.TabBar">
+    </style>
+    <style name="Widget.Sherlock.Light.ActionBar.TabBar.Inverse" parent="android:Widget.Holo.Light.ActionBar.TabBar.Inverse">
+    </style>
+
+    <style name="Widget.Sherlock.ActionBar.TabText" parent="android:Widget.Holo.ActionBar.TabText">
+    </style>
+    <style name="Widget.Sherlock.Light.ActionBar.TabText" parent="android:Widget.Holo.Light.ActionBar.TabText">
+    </style>
+    <style name="Widget.Sherlock.Light.ActionBar.TabText.Inverse" parent="android:Widget.Holo.Light.ActionBar.TabText.Inverse">
+    </style>
+
+    <style name="Widget.Sherlock.ActionButton" parent="android:Widget.Holo.ActionButton">
+    </style>
+    <style name="Widget.Sherlock.Light.ActionButton" parent="android:Widget.Holo.Light.ActionButton">
+    </style>
+
+    <style name="Widget.Sherlock.ActionButton.CloseMode" parent="android:Widget.Holo.ActionButton.CloseMode">
+    </style>
+    <style name="Widget.Sherlock.Light.ActionButton.CloseMode" parent="android:Widget.Holo.Light.ActionButton.CloseMode">
+    </style>
+
+    <style name="Widget.Sherlock.ActionButton.Overflow" parent="android:Widget.Holo.ActionButton.Overflow">
+    </style>
+    <style name="Widget.Sherlock.Light.ActionButton.Overflow" parent="android:Widget.Holo.Light.ActionButton.Overflow">
+    </style>
+
+    <style name="Widget.Sherlock.ActionMode" parent="android:Widget.Holo.ActionMode">
+    </style>
+    <style name="Widget.Sherlock.Light.ActionMode" parent="android:Widget.Holo.Light.ActionMode">
+    </style>
+    <style name="Widget.Sherlock.Light.ActionMode.Inverse" parent="android:Widget.Holo.Light.ActionMode.Inverse">
+    </style>
+
+    <style name="Widget.Sherlock.PopupMenu" parent="android:Widget.Holo.PopupMenu">
+    </style>
+    <style name="Widget.Sherlock.Light.PopupMenu" parent="android:Widget.Holo.Light.PopupMenu">
+    </style>
+
+    <style name="Widget.Sherlock.Spinner.DropDown.ActionBar" parent="android:Widget.Holo.Spinner">
+    </style>
+    <style name="Widget.Sherlock.Light.Spinner.DropDown.ActionBar" parent="android:Widget.Holo.Light.Spinner">
+    </style>
+
+    <style name="Widget.Sherlock.ListView.DropDown" parent="android:Widget.Holo.ListView.DropDown">
+    </style>
+    <style name="Widget.Sherlock.Light.ListView.DropDown" parent="android:Widget.Holo.Light.ListView.DropDown">
+    </style>
+
+    <style name="Widget.Sherlock.PopupWindow.ActionMode" parent="android:Widget.Holo.PopupWindow">
+    </style>
+    <style name="Widget.Sherlock.Light.PopupWindow.ActionMode" parent="android:Widget.Holo.Light.PopupWindow">
+    </style>
+
+    <style name="Widget.Sherlock.ProgressBar" parent="android:Widget.Holo.ProgressBar">
+    </style>
+    <style name="Widget.Sherlock.Light.ProgressBar" parent="android:Widget.Holo.Light.ProgressBar">
+    </style>
+
+    <style name="Widget.Sherlock.ProgressBar.Horizontal" parent="android:Widget.Holo.ProgressBar.Horizontal">
+    </style>
+    <style name="Widget.Sherlock.Light.ProgressBar.Horizontal" parent="android:Widget.Holo.Light.ProgressBar.Horizontal">
+    </style>
+
+    <style name="TextAppearance.Sherlock.Widget.ActionBar.Menu" parent="android:TextAppearance.Holo.Widget.ActionBar.Menu">
+    </style>
+
+    <style name="TextAppearance.Sherlock.Widget.ActionBar.Title" parent="android:TextAppearance.Holo.Widget.ActionBar.Title">
+    </style>
+    <style name="TextAppearance.Sherlock.Widget.ActionBar.Title.Inverse" parent="android:TextAppearance.Holo.Widget.ActionBar.Title.Inverse">
+    </style>
+    <style name="TextAppearance.Sherlock.Widget.ActionBar.Subtitle" parent="android:TextAppearance.Holo.Widget.ActionBar.Subtitle">
+    </style>
+    <style name="TextAppearance.Sherlock.Widget.ActionBar.Subtitle.Inverse" parent="android:TextAppearance.Holo.Widget.ActionBar.Subtitle.Inverse">
+    </style>
+    <style name="TextAppearance.Sherlock.Widget.ActionMode.Title" parent="android:TextAppearance.Holo.Widget.ActionMode.Title">
+    </style>
+    <style name="TextAppearance.Sherlock.Widget.ActionMode.Title.Inverse" parent="android:TextAppearance.Holo.Widget.ActionMode.Title.Inverse">
+    </style>
+    <style name="TextAppearance.Sherlock.Widget.ActionMode.Subtitle" parent="android:TextAppearance.Holo.Widget.ActionMode.Subtitle">
+    </style>
+    <style name="TextAppearance.Sherlock.Widget.ActionMode.Subtitle.Inverse" parent="android:TextAppearance.Holo.Widget.ActionMode.Subtitle.Inverse">
+    </style>
+
+    <style name="TextAppearance.Sherlock.Widget.PopupMenu" parent="android:TextAppearance.Holo.Widget.PopupMenu">
+    </style>
+    <style name="TextAppearance.Sherlock.Widget.PopupMenu.Large" parent="android:TextAppearance.Holo.Widget.PopupMenu.Large">
+    </style>
+    <style name="TextAppearance.Sherlock.Light.Widget.PopupMenu.Large" parent="android:TextAppearance.Holo.Widget.PopupMenu.Large">
+    </style>
+    <style name="TextAppearance.Sherlock.Widget.PopupMenu.Small" parent="android:TextAppearance.Holo.Widget.PopupMenu.Small">
+    </style>
+    <style name="TextAppearance.Sherlock.Light.Widget.PopupMenu.Small" parent="android:TextAppearance.Holo.Widget.PopupMenu.Small">
+    </style>
+</resources>
diff --git a/actionbarsherlock/res/values-v14/abs__themes.xml b/actionbarsherlock/res/values-v14/abs__themes.xml
new file mode 100644
index 0000000..ceb9607
--- /dev/null
+++ b/actionbarsherlock/res/values-v14/abs__themes.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<resources>
+    <style name="Sherlock.__Theme" parent="android:Theme.Holo">
+    </style>
+    <style name="Sherlock.__Theme.Light" parent="android:Theme.Holo.Light">
+    </style>
+    <style name="Sherlock.__Theme.DarkActionBar" parent="android:Theme.Holo.Light.DarkActionBar">
+        <!-- Useful for offsetting contents with an overlay action bar. -->
+        <item name="actionBarSize">?android:attr/actionBarSize</item>
+        <!-- Needed for our bug-fix dropdown list navigation layout. :( -->
+        <item name="dropdownListPreferredItemHeight">48dp</item>
+        <!-- Needed for our ShareActionProvider implementation. -->
+        <item name="android:actionBarWidgetTheme">@style/Theme.Sherlock</item>
+        <!-- For crazy people who use IcsSpinner. -->
+        <item name="dropDownListViewStyle">?android:attr/dropDownListViewStyle</item>
+    </style>
+
+    <style name="Theme.Sherlock.NoActionBar">
+      <item name="android:windowActionBar">false</item>
+      <item name="android:windowNoTitle">true</item>
+    </style>
+    <style name="Theme.Sherlock.Light.NoActionBar">
+      <item name="android:windowActionBar">false</item>
+      <item name="android:windowNoTitle">true</item>
+    </style>
+
+    <style name="Theme.Sherlock.Dialog" parent="android:Theme.Holo.Dialog">
+    </style>
+    <style name="Theme.Sherlock.Light.Dialog" parent="android:Theme.Holo.Light.Dialog">
+    </style>
+</resources>
diff --git a/actionbarsherlock/res/values-w360dp/abs__dimens.xml b/actionbarsherlock/res/values-w360dp/abs__dimens.xml
new file mode 100644
index 0000000..6f49d7e
--- /dev/null
+++ b/actionbarsherlock/res/values-w360dp/abs__dimens.xml
@@ -0,0 +1,22 @@
+<?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>
+    <integer name="abs__max_action_buttons">3</integer>
+</resources>
diff --git a/actionbarsherlock/res/values-w480dp/abs__bools.xml b/actionbarsherlock/res/values-w480dp/abs__bools.xml
new file mode 100644
index 0000000..3eaf4ae
--- /dev/null
+++ b/actionbarsherlock/res/values-w480dp/abs__bools.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 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.
+*/
+-->
+<resources>
+    <bool name="abs__action_bar_embed_tabs">true</bool>
+    <bool name="abs__split_action_bar_is_narrow">false</bool>
+</resources>
diff --git a/actionbarsherlock/res/values-w480dp/abs__config.xml b/actionbarsherlock/res/values-w480dp/abs__config.xml
new file mode 100644
index 0000000..88357b0
--- /dev/null
+++ b/actionbarsherlock/res/values-w480dp/abs__config.xml
@@ -0,0 +1,29 @@
+<?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.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+
+    <!-- Whether action menu items should obey the "withText" showAsAction
+         flag. This may be set to false for situations where space is
+         extremely limited. -->
+    <bool name="abs__config_allowActionMenuItemTextWithIcon">true</bool>
+
+</resources>
diff --git a/actionbarsherlock/res/values-w500dp/abs__dimens.xml b/actionbarsherlock/res/values-w500dp/abs__dimens.xml
new file mode 100644
index 0000000..2fd4dee
--- /dev/null
+++ b/actionbarsherlock/res/values-w500dp/abs__dimens.xml
@@ -0,0 +1,22 @@
+<?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>
+    <integer name="abs__max_action_buttons">4</integer>
+</resources>
diff --git a/actionbarsherlock/res/values-w600dp/abs__dimens.xml b/actionbarsherlock/res/values-w600dp/abs__dimens.xml
new file mode 100644
index 0000000..b085952
--- /dev/null
+++ b/actionbarsherlock/res/values-w600dp/abs__dimens.xml
@@ -0,0 +1,22 @@
+<?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>
+    <integer name="abs__max_action_buttons">5</integer>
+</resources>
diff --git a/actionbarsherlock/res/values-xlarge/abs__dimens.xml b/actionbarsherlock/res/values-xlarge/abs__dimens.xml
new file mode 100644
index 0000000..bfc535d
--- /dev/null
+++ b/actionbarsherlock/res/values-xlarge/abs__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>
+    <!-- Default height of an action bar. -->
+    <dimen name="abs__action_bar_default_height">56dip</dimen>
+    <!-- Vertical padding around action bar icons. -->
+    <dimen name="abs__action_bar_icon_vertical_padding">4dip</dimen>
+    <!-- Text size for action bar titles -->
+    <dimen name="abs__action_bar_title_text_size">18dp</dimen>
+    <!-- Text size for action bar subtitles -->
+    <dimen name="abs__action_bar_subtitle_text_size">14dp</dimen>
+    <!-- Top margin for action bar subtitles -->
+    <dimen name="abs__action_bar_subtitle_top_margin">-3dp</dimen>
+    <!-- Bottom margin for action bar subtitles -->
+    <dimen name="abs__action_bar_subtitle_bottom_margin">9dip</dimen>
+
+    <!-- Minimum width for an action button in the menu area of an action bar -->
+    <dimen name="abs__action_button_min_width">64dip</dimen>
+    
+    <!-- The platform's desired minimum size for a dialog's width when it
+         is along the major axis (that is the screen is landscape).  This may
+         be either a fraction or a dimension. -->
+    <item type="dimen" name="abs__dialog_min_width_major">45%</item>
+    <!-- The platform's desired minimum size for a dialog's width when it
+         is along the minor axis (that is the screen is portrait).  This may
+         be either a fraction or a dimension. -->
+    <item type="dimen" name="abs__dialog_min_width_minor">72%</item>
+</resources>
diff --git a/actionbarsherlock/res/values/abs__attrs.xml b/actionbarsherlock/res/values/abs__attrs.xml
new file mode 100644
index 0000000..bd5ee44
--- /dev/null
+++ b/actionbarsherlock/res/values/abs__attrs.xml
@@ -0,0 +1,380 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<resources>
+    <attr name="titleTextStyle" format="reference" />
+    <attr name="subtitleTextStyle" format="reference" />
+    <attr name="background" format="reference|color" />
+    <attr name="backgroundSplit" format="reference|color" />
+    <attr name="height" format="dimension" />
+    <attr name="divider" format="reference" />
+
+    <declare-styleable name="SherlockTheme">
+        <!-- =================== -->
+        <!-- Action bar styles   -->
+        <!-- =================== -->
+        <eat-comment />
+        <!-- Default style for tabs within an action bar -->
+        <attr name="actionBarTabStyle" format="reference" />
+        <attr name="actionBarTabBarStyle" format="reference" />
+        <attr name="actionBarTabTextStyle" format="reference" />
+        <attr name="actionOverflowButtonStyle" format="reference" />
+        <!-- Reference to a style for the Action Bar -->
+        <attr name="actionBarStyle" format="reference" />
+        <!-- Reference to a style for the split Action Bar. This style
+             controls the split component that holds the menu/action
+             buttons. actionBarStyle is still used for the primary
+             bar. -->
+        <attr name="actionBarSplitStyle" format="reference" />
+        <!-- Reference to a theme that should be used to inflate widgets
+             and layouts destined for the action bar. Most of the time
+             this will be a reference to the current theme, but when
+             the action bar has a significantly different contrast
+             profile than the rest of the activity the difference
+             can become important. If this is set to @null the current
+             theme will be used.-->
+        <attr name="actionBarWidgetTheme" format="reference" />
+        <!-- Size of the Action Bar, including the contextual
+             bar used to present Action Modes. -->
+        <attr name="actionBarSize" format="dimension" >
+            <enum name="wrap_content" value="0" />
+        </attr>
+        <!-- Custom divider drawable to use for elements in the action bar. -->
+        <attr name="actionBarDivider" format="reference" />
+        <!-- Custom item state list drawable background for action bar items. -->
+        <attr name="actionBarItemBackground" format="reference" />
+        <!-- TextAppearance style that will be applied to text that
+             appears within action menu items. -->
+        <attr name="actionMenuTextAppearance" format="reference" />
+        <!-- Color for text that appears within action menu items. -->
+        <attr name="actionMenuTextColor" format="color|reference" />
+
+        <!-- =================== -->
+        <!-- Action mode styles  -->
+        <!-- =================== -->
+        <eat-comment />
+        <attr name="actionModeStyle" format="reference" />
+        <attr name="actionModeCloseButtonStyle" format="reference" />
+        <!-- Background drawable to use for action mode UI -->
+        <attr name="actionModeBackground" format="reference" />
+        <!-- Background drawable to use for action mode UI in the lower split bar -->
+        <attr name="actionModeSplitBackground" format="reference" />
+        <!-- Drawable to use for the close action mode button -->
+        <attr name="actionModeCloseDrawable" format="reference" />
+        <!-- Drawable to use for the Share action button in WebView selection action modes -->
+        <attr name="actionModeShareDrawable" format="reference" />
+
+        <!-- PopupWindow style to use for action modes when showing as a window overlay. -->
+        <attr name="actionModePopupWindowStyle" format="reference" />
+
+        <!-- ============= -->
+        <!-- Button styles -->
+        <!-- ============= -->
+        <eat-comment />
+
+        <!-- Small Button style. -->
+        <attr name="buttonStyleSmall" format="reference" />
+
+
+
+        <!-- This Drawable is overlaid over the foreground of the Window's content area, usually
+             to place a shadow below the title.  -->
+        <attr name="windowContentOverlay" format="reference" />
+
+        <!-- Text color, typeface, size, and style for the text inside of a popup menu. -->
+        <attr name="textAppearanceLargePopupMenu" format="reference" />
+
+        <!-- Text color, typeface, size, and style for small text inside of a popup menu. -->
+        <attr name="textAppearanceSmallPopupMenu" format="reference" />
+
+
+        <!-- Text color, typeface, size, and style for "small" text. Defaults to secondary text color. -->
+        <attr name="textAppearanceSmall" format="reference" />
+
+        <attr name="textColorPrimary" format="color" />
+        <attr name="textColorPrimaryDisableOnly" format="color" />
+        <attr name="textColorPrimaryInverse" format="color" />
+
+        <attr name="spinnerItemStyle" format="reference" />
+        <attr name="spinnerDropDownItemStyle" format="reference" />
+
+        <!-- =========== -->
+        <!-- List styles -->
+        <!-- =========== -->
+        <eat-comment />
+
+        <!-- A smaller, sleeker list item height. -->
+        <attr name="listPreferredItemHeightSmall" />
+
+        <!-- The preferred padding along the left edge of list items. -->
+        <attr name="listPreferredItemPaddingLeft" format="dimension" />
+        <!-- The preferred padding along the right edge of list items. -->
+        <attr name="listPreferredItemPaddingRight" format="dimension" />
+
+        <!-- The preferred TextAppearance for the primary text of small list items. -->
+        <attr name="textAppearanceListItemSmall" format="reference" />
+
+
+        <attr name="windowMinWidthMajor" format="dimension" />
+        <attr name="windowMinWidthMinor" format="dimension" />
+
+
+
+        <!-- Drawable to use for generic vertical dividers. -->
+        <attr name="dividerVertical" format="reference" />
+
+        <attr name="actionDropDownStyle" format="reference" />
+        <attr name="actionButtonStyle" format="reference" />
+        <attr name="homeAsUpIndicator" format="reference" />
+        <attr name="dropDownListViewStyle" format="reference" />
+        <attr name="popupMenuStyle" format="reference" />
+        <attr name="dropdownListPreferredItemHeight" format="dimension" />
+        <attr name="actionSpinnerItemStyle" format="reference" />
+        <attr name="windowNoTitle" format="boolean"/>
+        <attr name="windowActionBar" format="boolean"/>
+        <attr name="windowActionBarOverlay" format="boolean"/>
+        <attr name="windowActionModeOverlay" format="boolean"/>
+        <attr name="windowSplitActionBar" format="boolean" />
+
+
+        <attr name="listPopupWindowStyle" format="reference" />
+
+
+        <!-- Default ActivityChooserView style. -->
+        <attr name="activityChooserViewStyle" format="reference" />
+        <!-- Drawable used as a background for activated items. -->
+        <attr name="activatedBackgroundIndicator" format="reference" />
+
+        <!-- Specified if we are forcing an action item overflow menu. -->
+        <attr name="absForceOverflow" format="boolean" />
+
+        <attr name="android:windowIsFloating" />
+    </declare-styleable>
+
+
+    <!-- Attributes used to style the Action Bar. -->
+    <declare-styleable name="SherlockActionBar">
+        <!-- The type of navigation to use. -->
+        <attr name="navigationMode">
+            <!-- Normal static title text -->
+            <enum name="normal" value="0" />
+            <!-- The action bar will use a selection list for navigation. -->
+            <enum name="listMode" value="1" />
+            <!-- The action bar will use a series of horizontal tabs for navigation. -->
+            <enum name="tabMode" value="2" />
+        </attr>
+        <!-- Options affecting how the action bar is displayed. -->
+        <attr name="displayOptions">
+            <flag name="useLogo" value="0x1" />
+            <flag name="showHome" value="0x2" />
+            <flag name="homeAsUp" value="0x4" />
+            <flag name="showTitle" value="0x8" />
+            <flag name="showCustom" value="0x10" />
+            <flag name="disableHome" value="0x20" />
+        </attr>
+        <!-- Specifies title text used for navigationMode="normal" -->
+        <attr name="title" />
+        <!-- Specifies subtitle text used for navigationMode="normal" -->
+        <attr name="subtitle" format="string" />
+        <!-- Specifies a style to use for title text. -->
+        <attr name="titleTextStyle" />
+        <!-- Specifies a style to use for subtitle text. -->
+        <attr name="subtitleTextStyle" />
+        <!-- Specifies the drawable used for the application icon. -->
+        <attr name="icon" format="reference" />
+        <!-- Specifies the drawable used for the application logo. -->
+        <attr name="logo" format="reference" />
+        <!-- Specifies the drawable used for item dividers. -->
+        <attr name="divider" />
+        <!-- Specifies a background drawable for the action bar. -->
+        <attr name="background" />
+        <!-- Specifies a background drawable for a second stacked row of the action bar. -->
+        <attr name="backgroundStacked" format="reference|color" />
+        <!-- Specifies a background drawable for the bottom component of a split action bar. -->
+        <attr name="backgroundSplit" />
+        <!-- Specifies a layout for custom navigation. Overrides navigationMode. -->
+        <attr name="customNavigationLayout" format="reference" />
+        <!-- Specifies a fixed height. -->
+        <attr name="height" />
+        <!-- Specifies a layout to use for the "home" section of the action bar. -->
+        <attr name="homeLayout" format="reference" />
+        <!-- Specifies a style resource to use for an embedded progress bar. -->
+        <attr name="progressBarStyle" format="reference" />
+        <!-- Specifies a style resource to use for an indeterminate progress spinner. -->
+        <attr name="indeterminateProgressStyle" format="reference" />
+        <!-- Specifies the horizontal padding on either end for an embedded progress bar. -->
+        <attr name="progressBarPadding" format="dimension" />
+        <!-- Specifies padding that should be applied to the left and right sides of
+             system-provided items in the bar. -->
+        <attr name="itemPadding" format="dimension" />
+    </declare-styleable>
+
+
+    <declare-styleable name="SherlockActionMode">
+        <!-- Specifies a style to use for title text. -->
+        <attr name="titleTextStyle" />
+        <!-- Specifies a style to use for subtitle text. -->
+        <attr name="subtitleTextStyle" />
+        <!-- Specifies a background for the action mode bar. -->
+        <attr name="background" />
+        <!-- Specifies a background for the split action mode bar. -->
+        <attr name="backgroundSplit" />
+        <!-- Specifies a fixed height for the action mode bar. -->
+        <attr name="height" />
+    </declare-styleable>
+
+    <declare-styleable name="SherlockMenuView">
+        <!-- Default appearance of menu item text. -->
+        <attr name="itemTextAppearance" format="reference" />
+        <!-- Default horizontal divider between rows of menu items. -->
+        <attr name="horizontalDivider" format="reference" />
+        <!-- Default vertical divider between menu items. -->
+        <attr name="verticalDivider" format="reference" />
+        <!-- Default background for the menu header. -->
+        <attr name="headerBackground" format="color|reference" />
+        <!-- Default background for each menu item. -->
+        <attr name="itemBackground" format="color|reference" />
+        <!-- Default animations for the menu. -->
+        <attr name="windowAnimationStyle" format="reference" />
+        <!-- Default disabled icon alpha for each menu item that shows an icon. -->
+        <attr name="itemIconDisabledAlpha" format="float" />
+        <!-- Whether space should be reserved in layout when an icon is missing. -->
+        <attr name="preserveIconSpacing" format="boolean" />
+    </declare-styleable>
+
+    <declare-styleable name="SherlockActionMenuItemView">
+        <attr name="android:minWidth" />
+    </declare-styleable>
+
+    <declare-styleable name="SherlockActivityChooserView">
+        <!-- The maximal number of items initially shown in the activity list. -->
+        <attr name="initialActivityCount" format="string" />
+        <!-- The drawable to show in the button for expanding the activities overflow popup.
+             <strong>Note:</strong> Clients would like to set this drawable
+             as a clue about the action the chosen activity will perform. For
+             example, if share activity is to be chosen the drawable should
+             give a clue that sharing is to be performed.
+         -->
+        <attr name="expandActivityOverflowButtonDrawable" format="reference" />
+
+        <attr name="android:background" />
+    </declare-styleable>
+
+    <!-- Base attributes that are available to all groups. -->
+    <declare-styleable name="SherlockMenuGroup">
+
+        <!-- The ID of the group. -->
+        <attr name="android:id" />
+
+        <!-- The category applied to all items within this group.
+             (This will be or'ed with the orderInCategory attribute.) -->
+        <attr name="android:menuCategory" />
+
+        <!-- The order within the category applied to all items within this group.
+             (This will be or'ed with the category attribute.) -->
+        <attr name="android:orderInCategory" />
+
+        <!-- Whether the items are capable of displaying a check mark. -->
+        <attr name="android:checkableBehavior" />
+
+        <!-- Whether the items are shown/visible. -->
+        <attr name="android:visible" />
+
+        <!-- Whether the items are enabled. -->
+        <attr name="android:enabled" />
+
+    </declare-styleable>
+
+    <!-- Base attributes that are available to all Item objects. -->
+    <declare-styleable name="SherlockMenuItem">
+
+        <!-- The ID of the item. -->
+        <attr name="android:id" />
+
+        <!-- The category applied to the item.
+             (This will be or'ed with the orderInCategory attribute.) -->
+        <attr name="android:menuCategory" />
+
+        <!-- The order within the category applied to the item.
+             (This will be or'ed with the category attribute.) -->
+        <attr name="android:orderInCategory" />
+
+        <!-- The title associated with the item. -->
+        <attr name="android:title" />
+
+        <!-- The condensed title associated with the item.  This is used in situations where the
+             normal title may be too long to be displayed. -->
+        <attr name="android:titleCondensed" />
+
+        <!-- The icon associated with this item.  This icon will not always be shown, so
+             the title should be sufficient in describing this item. -->
+        <attr name="android:icon" />
+
+        <!-- The alphabetic shortcut key.  This is the shortcut when using a keyboard
+             with alphabetic keys. -->
+        <attr name="android:alphabeticShortcut" />
+
+        <!-- The numeric shortcut key.  This is the shortcut when using a numeric (e.g., 12-key)
+             keyboard. -->
+        <attr name="android:numericShortcut" />
+
+        <!-- Whether the item is capable of displaying a check mark. -->
+        <attr name="android:checkable" />
+
+        <!-- Whether the item is checked.  Note that you must first have enabled checking with
+             the checkable attribute or else the check mark will not appear. -->
+        <attr name="android:checked" />
+
+        <!-- Whether the item is shown/visible. -->
+        <attr name="android:visible" />
+
+        <!-- Whether the item is enabled. -->
+        <attr name="android:enabled" />
+
+        <!-- Name of a method on the Context used to inflate the menu that will be
+             called when the item is clicked. -->
+        <attr name="android:onClick" />
+
+        <!-- How this item should display in the Action Bar, if present. -->
+        <attr name="android:showAsAction" />
+
+        <!-- An optional layout to be used as an action view.
+             See {@link android.view.MenuItem#setActionView(android.view.View)}
+             for more info. -->
+        <attr name="android:actionLayout" />
+
+        <!-- The name of an optional View class to instantiate and use as an
+             action view. See {@link android.view.MenuItem#setActionView(android.view.View)}
+             for more info. -->
+        <attr name="android:actionViewClass" />
+
+        <!-- The name of an optional ActionProvider class to instantiate an action view
+             and perform operations such as default action for that menu item.
+             See {@link android.view.MenuItem#setActionProvider(android.view.ActionProvider)}
+             for more info. -->
+        <attr name="android:actionProviderClass" />
+
+    </declare-styleable>
+
+    <declare-styleable name="SherlockSpinner">
+        <!-- The prompt to display when the spinner's dialog is shown. -->
+        <attr name="android:prompt" />
+        <!-- List selector to use for spinnerMode="dropdown" display. -->
+        <attr name="android:dropDownSelector" />
+        <!-- Background drawable to use for the dropdown in spinnerMode="dropdown". -->
+        <attr name="android:popupBackground" />
+        <!-- Vertical offset from the spinner widget for positioning the dropdown in
+             spinnerMode="dropdown". -->
+        <attr name="android:dropDownVerticalOffset" />
+        <!-- Horizontal offset from the spinner widget for positioning the dropdown
+             in spinnerMode="dropdown". -->
+        <attr name="android:dropDownHorizontalOffset" />
+        <!-- Width of the dropdown in spinnerMode="dropdown". -->
+        <attr name="android:dropDownWidth" />
+        <!-- Reference to a layout to use for displaying a prompt in the dropdown for
+             spinnerMode="dropdown". This layout must contain a TextView with the id
+             @android:id/text1 to be populated with the prompt text. -->
+        <attr name="android:popupPromptView" />
+        <!-- Gravity setting for positioning the currently selected item. -->
+        <attr name="android:gravity" />
+    </declare-styleable>
+</resources>
diff --git a/actionbarsherlock/res/values/abs__bools.xml b/actionbarsherlock/res/values/abs__bools.xml
new file mode 100644
index 0000000..0b43244
--- /dev/null
+++ b/actionbarsherlock/res/values/abs__bools.xml
@@ -0,0 +1,22 @@
+<?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.
+-->
+
+<resources>
+    <bool name="abs__action_bar_embed_tabs">false</bool>
+    <bool name="abs__split_action_bar_is_narrow">true</bool>
+    <bool name="abs__action_bar_expanded_action_views_exclusive">true</bool>
+    <!--bool name="target_honeycomb_needs_options_menu">true</bool-->
+</resources>
diff --git a/actionbarsherlock/res/values/abs__colors.xml b/actionbarsherlock/res/values/abs__colors.xml
new file mode 100644
index 0000000..625c632
--- /dev/null
+++ b/actionbarsherlock/res/values/abs__colors.xml
@@ -0,0 +1,27 @@
+<?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.
+-->
+
+<resources>
+    <color name="abs__background_holo_dark">#ff000000</color>
+    <color name="abs__background_holo_light">#fff3f3f3</color>
+    <color name="abs__bright_foreground_holo_dark">@color/abs__background_holo_light</color>
+    <color name="abs__bright_foreground_holo_light">@color/abs__background_holo_dark</color>
+    <color name="abs__bright_foreground_disabled_holo_dark">#ff4c4c4c</color>
+    <color name="abs__bright_foreground_disabled_holo_light">#ffb2b2b2</color>
+    <color name="abs__bright_foreground_inverse_holo_dark">@color/abs__bright_foreground_holo_light</color>
+    <color name="abs__bright_foreground_inverse_holo_light">@color/abs__bright_foreground_holo_dark</color>
+    <color name="abs__holo_blue_light">#ff33b5e5</color>
+</resources>
diff --git a/actionbarsherlock/res/values/abs__config.xml b/actionbarsherlock/res/values/abs__config.xml
new file mode 100644
index 0000000..4c7b5d4
--- /dev/null
+++ b/actionbarsherlock/res/values/abs__config.xml
@@ -0,0 +1,43 @@
+<?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.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+
+    <!-- The maximum width we would prefer dialogs to be.  0 if there is no
+         maximum (let them grow as large as the screen).  Actual values are
+         specified for -large and -xlarge configurations. -->
+    <dimen name="abs__config_prefDialogWidth">320dp</dimen>
+
+    <!-- Sets whether menu shortcuts should be displayed on panel menus when
+         a keyboard is present. -->
+    <bool name="abs__config_showMenuShortcutsWhenKeyboardPresent">false</bool>
+
+    <!-- Whether action menu items should be displayed in ALLCAPS or not.
+         Defaults to true. If this is not appropriate for specific locales
+         it should be disabled in that locale's resources. -->
+    <bool name="abs__config_actionMenuItemAllCaps">true</bool>
+
+    <!-- Whether action menu items should obey the "withText" showAsAction
+         flag. This may be set to false for situations where space is
+         extremely limited. -->
+    <bool name="abs__config_allowActionMenuItemTextWithIcon">false</bool>
+
+</resources>
diff --git a/actionbarsherlock/res/values/abs__dimens.xml b/actionbarsherlock/res/values/abs__dimens.xml
new file mode 100644
index 0000000..0a40975
--- /dev/null
+++ b/actionbarsherlock/res/values/abs__dimens.xml
@@ -0,0 +1,50 @@
+<?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>
+    <!-- Default height of an action bar. -->
+    <dimen name="abs__action_bar_default_height">48dip</dimen>
+    <!-- Vertical padding around action bar icons. -->
+    <dimen name="abs__action_bar_icon_vertical_padding">8dip</dimen>
+    <!-- Text size for action bar titles -->
+    <dimen name="abs__action_bar_title_text_size">18dp</dimen>
+    <!-- Text size for action bar subtitles -->
+    <dimen name="abs__action_bar_subtitle_text_size">14dp</dimen>
+    <!-- Top margin for action bar subtitles -->
+    <dimen name="abs__action_bar_subtitle_top_margin">-3dp</dimen>
+    <!-- Bottom margin for action bar subtitles -->
+    <dimen name="abs__action_bar_subtitle_bottom_margin">5dip</dimen>
+    
+    <integer name="abs__max_action_buttons">2</integer>
+
+    <!-- Minimum width for an action button in the menu area of an action bar -->
+    <dimen name="abs__action_button_min_width">56dip</dimen>
+    
+    <!-- Dialog title height -->
+    <dimen name="abs__alert_dialog_title_height">64dip</dimen>
+    
+    <!-- The platform's desired minimum size for a dialog's width when it
+         is along the major axis (that is the screen is landscape).  This may
+         be either a fraction or a dimension. -->
+    <item type="dimen" name="abs__dialog_min_width_major">65%</item>
+    <!-- The platform's desired minimum size for a dialog's width when it
+         is along the minor axis (that is the screen is portrait).  This may
+         be either a fraction or a dimension. -->
+    <item type="dimen" name="abs__dialog_min_width_minor">95%</item>
+</resources>
diff --git a/actionbarsherlock/res/values/abs__ids.xml b/actionbarsherlock/res/values/abs__ids.xml
new file mode 100644
index 0000000..f9f5604
--- /dev/null
+++ b/actionbarsherlock/res/values/abs__ids.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+**
+** Copyright 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>
+  <item type="id" name="abs__home" />
+  <item type="id" name="abs__up" />
+  <item type="id" name="abs__action_menu_divider" />
+  <item type="id" name="abs__action_menu_presenter" />
+  <item type="id" name="abs__progress_circular" />
+  <item type="id" name="abs__progress_horizontal" />
+</resources>
diff --git a/actionbarsherlock/res/values/abs__strings.xml b/actionbarsherlock/res/values/abs__strings.xml
new file mode 100644
index 0000000..1e1c702
--- /dev/null
+++ b/actionbarsherlock/res/values/abs__strings.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+**
+** Copyright 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 xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- Content description for the action bar "home" affordance. [CHAR LIMIT=NONE] -->
+    <string name="abs__action_bar_home_description">Navigate home</string>
+    <!-- Content description for the action bar "up" affordance. [CHAR LIMIT=NONE] -->
+    <string name="abs__action_bar_up_description">Navigate up</string>
+    <!-- Content description for the action menu overflow button. [CHAR LIMIT=NONE] -->
+    <string name="abs__action_menu_overflow_description">More options</string>
+
+    <!-- Label for the "Done" button on the far left of action mode toolbars. -->
+    <string name="abs__action_mode_done">Done</string>
+
+    <!-- Title for a button to expand the list of activities in ActivityChooserView [CHAR LIMIT=25] -->
+    <string name="abs__activity_chooser_view_see_all">See all...</string>
+    <!-- Title default for a dialog showing possible activities in ActivityChooserView [CHAR LIMIT=25] -->
+    <string name="abs__activity_chooser_view_dialog_title_default">Select activity</string>
+    <!-- Title for a dialog showing possible activities for sharing in ShareActionProvider [CHAR LIMIT=25] -->
+    <string name="abs__share_action_provider_share_with">Share with...</string>
+    <!-- Description of the shwoing of a popup window with activities to choose from. [CHAR LIMIT=NONE] -->
+    <string name="abs__activitychooserview_choose_application">Choose an application</string>
+    <!-- Description of the choose target button in a ShareActionProvider (share UI). [CHAR LIMIT=NONE] -->
+    <string name="abs__shareactionprovider_share_with">Share with</string>
+    <!-- Description of a share target (both in the list of such or the default share button) in a ShareActionProvider (share UI). [CHAR LIMIT=NONE] -->
+    <string name="abs__shareactionprovider_share_with_application">Share with <xliff:g id="application_name" example="Bluetooth">%s</xliff:g></string>
+</resources>
diff --git a/actionbarsherlock/res/values/abs__styles.xml b/actionbarsherlock/res/values/abs__styles.xml
new file mode 100644
index 0000000..8cbd364
--- /dev/null
+++ b/actionbarsherlock/res/values/abs__styles.xml
@@ -0,0 +1,384 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<resources>
+    <style name="Widget">
+    </style>
+
+    <style name="Sherlock.__Widget.ActionBar" parent="Widget">
+        <item name="displayOptions">useLogo|showHome|showTitle</item>
+        <item name="height">?attr/actionBarSize</item>
+        <item name="android:paddingLeft">0dip</item>
+        <item name="android:paddingTop">0dip</item>
+        <item name="android:paddingRight">0dip</item>
+        <item name="android:paddingBottom">0dip</item>
+        <item name="homeLayout">@layout/abs__action_bar_home</item>
+    </style>
+    <style name="Widget.Sherlock.ActionBar" parent="Sherlock.__Widget.ActionBar">
+        <item name="titleTextStyle">@style/TextAppearance.Sherlock.Widget.ActionBar.Title</item>
+        <item name="subtitleTextStyle">@style/TextAppearance.Sherlock.Widget.ActionBar.Subtitle</item>
+        <item name="background">@drawable/abs__ab_transparent_dark_holo</item>
+        <item name="backgroundStacked">@drawable/abs__ab_stacked_transparent_dark_holo</item>
+        <item name="backgroundSplit">@drawable/abs__ab_bottom_transparent_dark_holo</item>
+        <item name="divider">?attr/dividerVertical</item>
+        <item name="progressBarStyle">@style/Widget.Sherlock.ProgressBar.Horizontal</item>
+        <item name="indeterminateProgressStyle">@style/Widget.Sherlock.ProgressBar</item>
+        <item name="progressBarPadding">32dip</item>
+        <item name="itemPadding">8dip</item>
+    </style>
+    <style name="Widget.Sherlock.ActionBar.Solid" parent="Sherlock.__Widget.ActionBar">
+        <item name="titleTextStyle">@style/TextAppearance.Sherlock.Widget.ActionBar.Title</item>
+        <item name="subtitleTextStyle">@style/TextAppearance.Sherlock.Widget.ActionBar.Subtitle</item>
+        <item name="background">@drawable/abs__ab_solid_dark_holo</item>
+        <item name="backgroundStacked">@drawable/abs__ab_stacked_solid_dark_holo</item>
+        <item name="backgroundSplit">@drawable/abs__ab_bottom_solid_dark_holo</item>
+        <item name="divider">?attr/dividerVertical</item>
+        <item name="progressBarStyle">@style/Widget.Sherlock.ProgressBar.Horizontal</item>
+        <item name="indeterminateProgressStyle">@style/Widget.Sherlock.ProgressBar</item>
+        <item name="progressBarPadding">32dip</item>
+        <item name="itemPadding">8dip</item>
+    </style>
+    <style name="Widget.Sherlock.Light.ActionBar" parent="Widget.Sherlock.ActionBar">
+        <item name="titleTextStyle">@style/TextAppearance.Sherlock.Widget.ActionBar.Title</item>
+        <item name="subtitleTextStyle">@style/TextAppearance.Sherlock.Widget.ActionBar.Subtitle</item>
+        <item name="background">@drawable/abs__ab_transparent_light_holo</item>
+        <item name="backgroundStacked">@drawable/abs__ab_stacked_transparent_light_holo</item>
+        <item name="backgroundSplit">@drawable/abs__ab_bottom_transparent_light_holo</item>
+        <item name="homeAsUpIndicator">@drawable/abs__ic_ab_back_holo_light</item>
+        <item name="progressBarStyle">@style/Widget.Sherlock.Light.ProgressBar.Horizontal</item>
+        <item name="indeterminateProgressStyle">@style/Widget.Sherlock.Light.ProgressBar</item>
+    </style>
+    <style name="Widget.Sherlock.Light.ActionBar.Solid">
+        <item name="titleTextStyle">@style/TextAppearance.Sherlock.Widget.ActionBar.Title</item>
+        <item name="subtitleTextStyle">@style/TextAppearance.Sherlock.Widget.ActionBar.Subtitle</item>
+        <item name="background">@drawable/abs__ab_solid_light_holo</item>
+        <item name="backgroundStacked">@drawable/abs__ab_stacked_solid_light_holo</item>
+        <item name="backgroundSplit">@drawable/abs__ab_bottom_solid_light_holo</item>
+        <item name="divider">?attr/dividerVertical</item>
+        <item name="progressBarStyle">@style/Widget.Sherlock.Light.ProgressBar.Horizontal</item>
+        <item name="indeterminateProgressStyle">@style/Widget.Sherlock.Light.ProgressBar</item>
+        <item name="progressBarPadding">32dip</item>
+        <item name="itemPadding">8dip</item>
+    </style>
+    <style name="Widget.Sherlock.Light.ActionBar.Solid.Inverse">
+        <item name="titleTextStyle">@style/TextAppearance.Sherlock.Widget.ActionBar.Title.Inverse</item>
+        <item name="subtitleTextStyle">@style/TextAppearance.Sherlock.Widget.ActionBar.Subtitle.Inverse</item>
+        <item name="background">@drawable/abs__ab_solid_dark_holo</item>
+        <item name="backgroundStacked">@drawable/abs__ab_stacked_solid_dark_holo</item>
+        <item name="backgroundSplit">@drawable/abs__ab_bottom_solid_inverse_holo</item>
+        <item name="divider">@drawable/abs__list_divider_holo_dark</item>
+        <item name="progressBarStyle">@style/Widget.Sherlock.ProgressBar.Horizontal</item>
+        <item name="indeterminateProgressStyle">@style/Widget.Sherlock.ProgressBar</item>
+        <item name="progressBarPadding">32dip</item>
+        <item name="itemPadding">8dip</item>
+    </style>
+
+    <style name="Widget.Sherlock.ActionBar.TabView" parent="Widget">
+        <item name="android:gravity">center_horizontal</item>
+        <item name="android:background">@drawable/abs__tab_indicator_ab_holo</item>
+        <item name="android:paddingLeft">16dip</item>
+        <item name="android:paddingRight">16dip</item>
+    </style>
+    <style name="Widget.Sherlock.Light.ActionBar.TabView" parent="Widget.Sherlock.ActionBar.TabView">
+    </style>
+    <style name="Widget.Sherlock.Light.ActionBar.TabView.Inverse">
+    </style>
+
+    <style name="Widget.Sherlock.ActionBar.TabBar" parent="Widget">
+        <item name="android:divider">?attr/actionBarDivider</item>
+        <item name="android:showDividers">middle</item>
+        <item name="android:dividerPadding">12dip</item>
+    </style>
+    <style name="Widget.Sherlock.Light.ActionBar.TabBar" parent="Widget.Sherlock.ActionBar.TabBar">
+    </style>
+    <style name="Widget.Sherlock.Light.ActionBar.TabBar.Inverse">
+    </style>
+
+    <style name="Widget.Sherlock.ActionBar.TabText" parent="Widget">
+        <item name="android:textAppearance">@null</item>
+        <item name="android:textColor">?attr/textColorPrimary</item>
+        <item name="android:textSize">12sp</item>
+        <item name="android:textStyle">bold</item>
+        <item name="android:textAllCaps">true</item>
+        <item name="android:ellipsize">marquee</item>
+        <item name="android:maxLines">2</item>
+    </style>
+    <style name="Widget.Sherlock.Light.ActionBar.TabText" parent="Widget.Sherlock.ActionBar.TabText">
+    </style>
+    <style name="Widget.Sherlock.Light.ActionBar.TabText.Inverse">
+        <item name="android:textColor">?attr/textColorPrimaryInverse</item>
+    </style>
+
+    <style name="Widget.Sherlock.ActionButton" parent="Widget">
+        <item name="android:background">?attr/actionBarItemBackground</item>
+        <item name="android:minHeight">?attr/actionBarSize</item>
+
+        <item name="android:minWidth">@dimen/abs__action_button_min_width</item>
+        <item name="android:gravity">center</item>
+        <item name="android:paddingLeft">12dip</item>
+        <item name="android:paddingRight">12dip</item>
+        <item name="android:scaleType">center</item>
+    </style>
+    <style name="Widget.Sherlock.Light.ActionButton" parent="Widget.Sherlock.ActionButton">
+    </style>
+
+    <style name="Widget.Sherlock.ActionButton.CloseMode">
+        <item name="android:background">@drawable/abs__btn_cab_done_holo_dark</item>
+    </style>
+    <style name="Widget.Sherlock.Light.ActionButton.CloseMode">
+        <item name="android:background">@drawable/abs__btn_cab_done_holo_light</item>
+    </style>
+
+    <style name="Widget.Sherlock.ActionButton.Overflow">
+        <item name="android:src">@drawable/abs__ic_menu_moreoverflow_holo_dark</item>
+        <item name="android:background">?attr/actionBarItemBackground</item>
+        <item name="android:contentDescription">@string/abs__action_menu_overflow_description</item>
+    </style>
+    <style name="Widget.Sherlock.Light.ActionButton.Overflow">
+        <item name="android:src">@drawable/abs__ic_menu_moreoverflow_holo_light</item>
+    </style>
+
+    <style name="Sherlock.__Widget.ActionMode" parent="Widget">
+        <item name="background">?attr/actionModeBackground</item>
+        <item name="backgroundSplit">?attr/actionModeSplitBackground</item>
+        <item name="height">?attr/actionBarSize</item>
+    </style>
+    <style name="Widget.Sherlock.ActionMode" parent="Sherlock.__Widget.ActionMode">
+        <item name="titleTextStyle">@style/TextAppearance.Sherlock.Widget.ActionMode.Title</item>
+        <item name="subtitleTextStyle">@style/TextAppearance.Sherlock.Widget.ActionMode.Subtitle</item>
+    </style>
+    <style name="Widget.Sherlock.Light.ActionMode" parent="Widget.Sherlock.ActionMode">
+        <item name="titleTextStyle">@style/TextAppearance.Sherlock.Widget.ActionMode.Title</item>
+        <item name="subtitleTextStyle">@style/TextAppearance.Sherlock.Widget.ActionMode.Subtitle</item>
+    </style>
+    <style name="Widget.Sherlock.Light.ActionMode.Inverse" parent="Sherlock.__Widget.ActionMode">
+        <item name="titleTextStyle">@style/TextAppearance.Sherlock.Widget.ActionMode.Title.Inverse</item>
+        <item name="subtitleTextStyle">@style/TextAppearance.Sherlock.Widget.ActionMode.Subtitle.Inverse</item>
+    </style>
+
+
+    <style name="Widget.Sherlock.ListPopupWindow" parent="Widget">
+        <item name="android:dropDownSelector">@drawable/abs__list_selector_holo_dark</item>
+        <item name="android:popupBackground">@drawable/abs__menu_dropdown_panel_holo_dark</item>
+        <item name="android:dropDownVerticalOffset">0dip</item>
+        <item name="android:dropDownHorizontalOffset">0dip</item>
+        <item name="android:dropDownWidth">wrap_content</item>
+    </style>
+    <style name="Widget.Sherlock.Light.ListPopupWindow" parent="Widget">
+        <item name="android:dropDownSelector">@drawable/abs__list_selector_holo_light</item>
+        <item name="android:popupBackground">@drawable/abs__menu_dropdown_panel_holo_light</item>
+        <item name="android:dropDownVerticalOffset">0dip</item>
+        <item name="android:dropDownHorizontalOffset">0dip</item>
+        <item name="android:dropDownWidth">wrap_content</item>
+    </style>
+    <style name="Widget.Sherlock.PopupMenu" parent="Widget.Sherlock.ListPopupWindow">
+    </style>
+    <style name="Widget.Sherlock.Light.PopupMenu" parent="Widget.Sherlock.Light.ListPopupWindow">
+    </style>
+
+
+    <style name="Sherlock.__Widget.ActivityChooserView" parent="Widget">
+        <item name="android:gravity">center</item>
+        <item name="android:background">@drawable/abs__ab_share_pack_holo_dark</item>
+        <item name="android:divider">?attr/dividerVertical</item>
+        <item name="android:showDividers">middle</item>
+        <item name="android:dividerPadding">6dip</item>
+    </style>
+    <style name="Widget.Sherlock.ActivityChooserView" parent="Sherlock.__Widget.ActivityChooserView">
+    </style>
+    <style name="Widget.Sherlock.Light.ActivityChooserView" parent="Widget.Sherlock.ActivityChooserView">
+        <item name="android:background">@drawable/abs__ab_share_pack_holo_light</item>
+    </style>
+
+    <style name="Widget.Sherlock.Button.Small" parent="Widget">
+      <item name="android:textAppearance">?attr/textAppearanceSmall</item>
+      <item name="android:textColor">@color/abs__primary_text_holo_dark</item>
+      <item name="android:minHeight">48dip</item>
+      <item name="android:minWidth">48dip</item>
+    </style>
+    <style name="Widget.Sherlock.Light.Button.Small" parent="Widget">
+      <item name="android:textAppearance">?attr/textAppearanceSmall</item>
+      <item name="android:textColor">@color/abs__primary_text_holo_light</item>
+      <item name="android:minHeight">48dip</item>
+      <item name="android:minWidth">48dip</item>
+    </style>
+
+
+    <style name="Sherlock.__Widget.Holo.Spinner" parent="Widget">
+        <item name="android:dropDownSelector">@drawable/abs__list_selector_holo_dark</item>
+        <item name="android:popupBackground">@drawable/abs__menu_dropdown_panel_holo_dark</item>
+        <item name="android:dropDownVerticalOffset">0dip</item>
+        <item name="android:dropDownHorizontalOffset">0dip</item>
+        <item name="android:dropDownWidth">wrap_content</item>
+        <item name="android:gravity">left|center_vertical</item>
+        <item name="android:spinnerMode">dropdown</item>
+        <item name="android:clickable">true</item>
+    </style>
+    <style name="Widget.Sherlock.Spinner.DropDown.ActionBar" parent="Sherlock.__Widget.Holo.Spinner">
+        <item name="android:background">@drawable/abs__spinner_ab_holo_dark</item>
+    </style>
+    <style name="Widget.Sherlock.Light.Spinner.DropDown.ActionBar" parent="Sherlock.__Widget.Holo.Spinner">
+        <item name="android:background">@drawable/abs__spinner_ab_holo_light</item>
+        <item name="android:dropDownSelector">@drawable/abs__list_selector_holo_light</item>
+        <item name="android:popupBackground">@drawable/abs__menu_dropdown_panel_holo_light</item>
+    </style>
+
+    <style name="Sherlock.__Widget.Holo.ListView" parent="android:Widget.ListView">
+        <item name="android:divider">@drawable/abs__list_divider_holo_dark</item>
+        <item name="android:listSelector">@drawable/abs__list_selector_holo_dark</item>
+    </style>
+    <style name="Widget.Sherlock.ListView.DropDown" parent="Sherlock.__Widget.Holo.ListView">
+    </style>
+    <style name="Widget.Sherlock.Light.ListView.DropDown" parent="Sherlock.__Widget.Holo.ListView">
+        <item name="android:divider">@drawable/abs__list_divider_holo_light</item>
+        <item name="android:listSelector">@drawable/abs__list_selector_holo_light</item>
+    </style>
+
+    <style name="Sherlock.__Widget.Holo.DropDownItem" parent="Widget">
+        <item name="android:textAppearance">@style/TextAppearance.Sherlock.Widget.DropDownItem</item>
+        <item name="android:paddingLeft">8dp</item>
+        <item name="android:paddingRight">8dp</item>
+        <item name="android:gravity">center_vertical</item>
+    </style>
+    <style name="Widget.Sherlock.DropDownItem.Spinner" parent="Sherlock.__Widget.Holo.DropDownItem">
+    </style>
+    <style name="Widget.Sherlock.Light.DropDownItem.Spinner" parent="Sherlock.__Widget.Holo.DropDownItem">
+    </style>
+
+    <style name="Widget.Sherlock.PopupWindow.ActionMode" parent="Widget">
+    </style>
+    <style name="Widget.Sherlock.Light.PopupWindow.ActionMode" parent="Widget">
+        <item name="android:popupBackground">@android:color/white</item>
+    </style>
+
+
+
+    <style name="Widget.Sherlock.ProgressBar" parent="android:Widget.ProgressBar">
+        <item name="android:indeterminateDrawable">@drawable/abs__progress_medium_holo</item>
+        <item name="android:animationResolution">33</item>
+    </style>
+    <style name="Widget.Sherlock.Light.ProgressBar" parent="Widget.Sherlock.ProgressBar">
+    </style>
+
+    <style name="Widget.Sherlock.ProgressBar.Horizontal" parent="android:Widget.ProgressBar.Horizontal">
+        <item name="android:progressDrawable">@drawable/abs__progress_horizontal_holo_dark</item>
+        <!--item name="android:indeterminateDrawable">@drawable/abs__progress_indeterminate_horizontal_holo</item-->
+        <item name="android:minHeight">16dip</item>
+        <item name="android:maxHeight">16dip</item>
+    </style>
+    <style name="Widget.Sherlock.Light.ProgressBar.Horizontal" parent="Widget.Sherlock.ProgressBar.Horizontal">
+        <item name="android:progressDrawable">@drawable/abs__progress_horizontal_holo_light</item>
+    </style>
+
+
+
+    <style name="Widget.Sherlock.TextView.SpinnerItem" parent="Widget">
+        <item name="android:textAppearance">@style/TextAppearance.Sherlock.Widget.TextView.SpinnerItem</item>
+        <item name="android:paddingLeft">8dp</item>
+        <item name="android:paddingRight">8dp</item>
+    </style>
+
+
+
+    <style name="DialogWindowTitle.Sherlock" parent="Widget">
+        <item name="android:maxLines">1</item>
+        <item name="android:scrollHorizontally">true</item>
+        <item name="android:textAppearance">@style/TextAppearance.Sherlock.DialogWindowTitle</item>
+        <item name="android:minHeight">@dimen/abs__alert_dialog_title_height</item>
+        <item name="android:paddingLeft">16dip</item>
+        <item name="android:paddingRight">16dip</item>
+    </style>
+    <style name="DialogWindowTitle.Sherlock.Light" parent="Widget">
+        <item name="android:maxLines">1</item>
+        <item name="android:scrollHorizontally">true</item>
+        <item name="android:textAppearance">@style/TextAppearance.Sherlock.Light.DialogWindowTitle</item>
+        <item name="android:minHeight">@dimen/abs__alert_dialog_title_height</item>
+        <item name="android:paddingLeft">16dip</item>
+        <item name="android:paddingRight">16dip</item>
+    </style>
+
+
+
+    <style name="TextAppearance.Sherlock.Widget.ActionBar.Menu" parent="Widget">
+        <item name="android:textSize">12sp</item>
+        <item name="android:textStyle">bold</item>
+        <item name="android:textColor">?attr/actionMenuTextColor</item>
+        <item name="android:textAllCaps">@bool/abs__config_actionMenuItemAllCaps</item>
+    </style>
+
+    <style name="TextAppearance.Sherlock.Widget.ActionBar.Title" parent="Widget">
+        <item name="android:textSize">@dimen/abs__action_bar_title_text_size</item>
+        <item name="android:textColor">?android:attr/textColorPrimary</item>
+    </style>
+    <style name="TextAppearance.Sherlock.Widget.ActionBar.Title.Inverse" parent="Widget">
+        <item name="android:textSize">@dimen/abs__action_bar_title_text_size</item>
+        <item name="android:textColor">?android:attr/textColorPrimaryInverse</item>
+    </style>
+    <style name="TextAppearance.Sherlock.Widget.ActionBar.Subtitle" parent="Widget">
+        <item name="android:textSize">@dimen/abs__action_bar_subtitle_text_size</item>
+        <item name="android:textColor">?android:attr/textColorSecondary</item>
+    </style>
+    <style name="TextAppearance.Sherlock.Widget.ActionBar.Subtitle.Inverse" parent="Widget">
+        <item name="android:textSize">@dimen/abs__action_bar_subtitle_text_size</item>
+        <item name="android:textColor">?android:attr/textColorPrimaryInverse</item>
+    </style>
+    <style name="TextAppearance.Sherlock.Widget.ActionMode.Title" parent="Widget">
+        <item name="android:textSize">@dimen/abs__action_bar_title_text_size</item>
+        <item name="android:textColor">?android:attr/textColorPrimary</item>
+    </style>
+    <style name="TextAppearance.Sherlock.Widget.ActionMode.Title.Inverse" parent="Widget">
+        <item name="android:textSize">@dimen/abs__action_bar_title_text_size</item>
+        <item name="android:textColor">?android:attr/textColorPrimaryInverse</item>
+    </style>
+    <style name="TextAppearance.Sherlock.Widget.ActionMode.Subtitle" parent="Widget">
+        <item name="android:textSize">@dimen/abs__action_bar_subtitle_text_size</item>
+        <item name="android:textColor">?android:attr/textColorSecondary</item>
+    </style>
+    <style name="TextAppearance.Sherlock.Widget.ActionMode.Subtitle.Inverse" parent="Widget">
+        <item name="android:textSize">@dimen/abs__action_bar_subtitle_text_size</item>
+        <item name="android:textColor">?android:attr/textColorPrimaryInverse</item>
+    </style>
+
+    <style name="TextAppearance.Sherlock.Widget.PopupMenu" parent="Widget">
+        <item name="android:textColor">?attr/textColorPrimary</item>
+    </style>
+    <style name="TextAppearance.Sherlock.Widget.PopupMenu.Large">
+        <item name="android:textSize">18sp</item>
+    </style>
+    <style name="TextAppearance.Sherlock.Light.Widget.PopupMenu.Large" parent="TextAppearance.Sherlock.Widget.PopupMenu.Large">
+    </style>
+    <style name="TextAppearance.Sherlock.Widget.PopupMenu.Small">
+        <item name="android:textSize">14sp</item>
+    </style>
+    <style name="TextAppearance.Sherlock.Light.Widget.PopupMenu.Small" parent="TextAppearance.Sherlock.Widget.PopupMenu.Small">
+    </style>
+
+    <style name="TextAppearance.Sherlock.Widget.TextView.SpinnerItem" parent="Widget">
+        <item name="android:textColor">?textColorPrimary</item>
+        <item name="android:textSize">16sp</item>
+        <item name="android:textStyle">normal</item>
+    </style>
+
+    <style name="TextAppearance.Sherlock.Widget.DropDownItem" parent="Widget">
+        <item name="android:textColor">?textColorPrimaryDisableOnly</item>
+        <item name="android:textSize">16sp</item>
+        <item name="android:textStyle">normal</item>
+    </style>
+
+    <style name="TextAppearance.Sherlock.DialogWindowTitle" parent="Widget">
+        <item name="android:textSize">22sp</item>
+        <item name="android:textColor">@color/abs__holo_blue_light</item>
+    </style>
+    <style name="TextAppearance.Sherlock.Light.DialogWindowTitle" parent="Widget">
+        <item name="android:textSize">22sp</item>
+        <item name="android:textColor">@color/abs__holo_blue_light</item>
+    </style>
+
+    <style name="Sherlock.__TextAppearance.Small" parent="Widget">
+      <item name="android:textSize">14sp</item>
+      <item name="android:textColor">?android:attr/textColorSecondary</item>
+    </style>
+    <style name="TextAppearance.Sherlock.Small" parent="Sherlock.__TextAppearance.Small">
+    </style>
+    <style name="TextAppearance.Sherlock.Light.Small" parent="TextAppearance.Sherlock.Small">
+    </style>
+</resources>
diff --git a/actionbarsherlock/res/values/abs__themes.xml b/actionbarsherlock/res/values/abs__themes.xml
new file mode 100644
index 0000000..5300ded
--- /dev/null
+++ b/actionbarsherlock/res/values/abs__themes.xml
@@ -0,0 +1,226 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<resources>
+    <style name="Sherlock.__Theme" parent="android:Theme.NoTitleBar">
+        <item name="android:windowContentOverlay">@null</item>
+    </style>
+    <style name="Sherlock.__Theme.Light" parent="android:Theme.Light.NoTitleBar">
+        <item name="android:windowContentOverlay">@null</item>
+    </style>
+    <style name="Sherlock.__Theme.DarkActionBar" parent="Theme.Sherlock.Light">
+    </style>
+    <style name="Sherlock.__Theme.Dialog" parent="android:Theme.Dialog">
+    </style>
+    
+    <style name="Theme.Sherlock" parent="Sherlock.__Theme">
+        <!-- Action bar styles (from Theme.Holo) -->
+        <item name="actionDropDownStyle">@style/Widget.Sherlock.Spinner.DropDown.ActionBar</item>
+        <item name="actionButtonStyle">@style/Widget.Sherlock.ActionButton</item>
+        <item name="actionOverflowButtonStyle">@style/Widget.Sherlock.ActionButton.Overflow</item>
+        <item name="actionModeBackground">@drawable/abs__cab_background_top_holo_dark</item>
+        <item name="actionModeSplitBackground">@drawable/abs__cab_background_bottom_holo_dark</item>
+        <item name="actionModeCloseDrawable">@drawable/abs__ic_cab_done_holo_dark</item>
+        <item name="actionBarTabStyle">@style/Widget.Sherlock.ActionBar.TabView</item>
+        <item name="actionBarTabBarStyle">@style/Widget.Sherlock.ActionBar.TabBar</item>
+        <item name="actionBarTabTextStyle">@style/Widget.Sherlock.ActionBar.TabText</item>
+        <item name="actionModeStyle">@style/Widget.Sherlock.ActionMode</item>
+        <item name="actionModeCloseButtonStyle">@style/Widget.Sherlock.ActionButton.CloseMode</item>
+        <item name="actionBarStyle">@style/Widget.Sherlock.ActionBar</item>
+        <item name="actionBarSize">@dimen/abs__action_bar_default_height</item>
+        <!-- Internal --><item name="actionModePopupWindowStyle">@style/Widget.Sherlock.PopupWindow.ActionMode</item>
+        <item name="actionBarWidgetTheme">@null</item>
+        
+        <!-- Action bar styles (defaults from Theme) -->
+        <item name="actionBarSplitStyle">?attr/actionBarStyle</item>
+        <item name="actionMenuTextAppearance">@style/TextAppearance.Sherlock.Widget.ActionBar.Menu</item>
+        <item name="actionMenuTextColor">?attr/textColorPrimary</item>
+        <item name="actionBarDivider">?attr/dividerVertical</item>
+        <item name="actionBarItemBackground">@drawable/abs__item_background_holo_dark</item>
+
+        <item name="buttonStyleSmall">@style/Widget.Sherlock.Button.Small</item>
+        
+        <item name="activatedBackgroundIndicator">@drawable/abs__activated_background_holo_dark</item>
+        <item name="actionModeShareDrawable">@drawable/abs__ic_menu_share_holo_dark</item>
+        <item name="activityChooserViewStyle">@style/Widget.Sherlock.ActivityChooserView</item>
+        
+        <item name="homeAsUpIndicator">@drawable/abs__ic_ab_back_holo_dark</item>
+        
+        <item name="dividerVertical">@drawable/abs__list_divider_holo_dark</item>
+        
+        <item name="spinnerDropDownItemStyle">@style/Widget.Sherlock.DropDownItem.Spinner</item>
+        <item name="spinnerItemStyle">@style/Widget.Sherlock.TextView.SpinnerItem</item>
+        
+        <item name="textColorPrimary">@color/abs__primary_text_holo_dark</item>
+        <item name="textColorPrimaryDisableOnly">@color/abs__primary_text_disable_only_holo_dark</item>
+        <item name="textColorPrimaryInverse">@color/abs__primary_text_holo_light</item>
+        
+        <!-- Internal --><item name="dropdownListPreferredItemHeight">48dip</item>
+        <item name="dropDownListViewStyle">@style/Widget.Sherlock.ListView.DropDown</item>
+
+        <item name="textAppearanceSmall">@style/TextAppearance.Sherlock.Small</item>
+        <item name="textAppearanceLargePopupMenu">@style/TextAppearance.Sherlock.Widget.PopupMenu.Large</item>
+        <item name="textAppearanceSmallPopupMenu">@style/TextAppearance.Sherlock.Widget.PopupMenu.Small</item>
+        
+        <item name="popupMenuStyle">@style/Widget.Sherlock.PopupMenu</item>
+        <!-- Internal --><item name="listPopupWindowStyle">@style/Widget.Sherlock.ListPopupWindow</item>
+        
+        <item name="windowActionBar">true</item>
+        <item name="windowActionModeOverlay">false</item>
+        <item name="windowContentOverlay">@null</item>
+    </style>
+    <style name="Theme.Sherlock.Light" parent="Sherlock.__Theme.Light">
+        <!-- Action bar styles (from Theme.Holo) -->
+        <item name="actionDropDownStyle">@style/Widget.Sherlock.Light.Spinner.DropDown.ActionBar</item>
+        <item name="actionButtonStyle">@style/Widget.Sherlock.Light.ActionButton</item>
+        <item name="actionOverflowButtonStyle">@style/Widget.Sherlock.Light.ActionButton.Overflow</item>
+        <item name="actionModeBackground">@drawable/abs__cab_background_top_holo_light</item>
+        <item name="actionModeSplitBackground">@drawable/abs__cab_background_bottom_holo_light</item>
+        <item name="actionModeCloseDrawable">@drawable/abs__ic_cab_done_holo_light</item>
+        <item name="actionBarTabStyle">@style/Widget.Sherlock.Light.ActionBar.TabView</item>
+        <item name="actionBarTabBarStyle">@style/Widget.Sherlock.Light.ActionBar.TabBar</item>
+        <item name="actionBarTabTextStyle">@style/Widget.Sherlock.Light.ActionBar.TabText</item>
+        <item name="actionModeStyle">@style/Widget.Sherlock.Light.ActionMode</item>
+        <item name="actionModeCloseButtonStyle">@style/Widget.Sherlock.Light.ActionButton.CloseMode</item>
+        <item name="actionBarStyle">@style/Widget.Sherlock.Light.ActionBar.Solid</item>
+        <item name="actionBarSize">@dimen/abs__action_bar_default_height</item>
+        <!-- Internal --><item name="actionModePopupWindowStyle">@style/Widget.Sherlock.Light.PopupWindow.ActionMode</item>
+        <item name="actionBarWidgetTheme">@null</item>
+        
+        <!-- Action bar styles (defaults from Theme) -->
+        <item name="actionBarSplitStyle">?attr/actionBarStyle</item>
+        <item name="actionMenuTextAppearance">@style/TextAppearance.Sherlock.Widget.ActionBar.Menu</item>
+        <item name="actionMenuTextColor">?attr/textColorPrimary</item>
+        <item name="actionBarDivider">?attr/dividerVertical</item>
+        <item name="actionBarItemBackground">@drawable/abs__item_background_holo_light</item>
+
+        <item name="buttonStyleSmall">@style/Widget.Sherlock.Light.Button.Small</item>
+        
+        <item name="activatedBackgroundIndicator">@drawable/abs__activated_background_holo_light</item>
+        <item name="actionModeShareDrawable">@drawable/abs__ic_menu_share_holo_light</item>
+        <item name="activityChooserViewStyle">@style/Widget.Sherlock.Light.ActivityChooserView</item>
+        
+        <item name="homeAsUpIndicator">@drawable/abs__ic_ab_back_holo_light</item>
+        
+        <item name="dividerVertical">@drawable/abs__list_divider_holo_light</item>
+        
+        <item name="spinnerDropDownItemStyle">@style/Widget.Sherlock.Light.DropDownItem.Spinner</item>
+        <item name="spinnerItemStyle">@style/Widget.Sherlock.TextView.SpinnerItem</item>
+        
+        <item name="textColorPrimary">@color/abs__primary_text_holo_light</item>
+        <item name="textColorPrimaryDisableOnly">@color/abs__primary_text_disable_only_holo_light</item>
+        <item name="textColorPrimaryInverse">@color/abs__primary_text_holo_dark</item>
+        
+        <!-- Internal --><item name="dropdownListPreferredItemHeight">48dip</item>
+        <item name="dropDownListViewStyle">@style/Widget.Sherlock.Light.ListView.DropDown</item>
+
+        <item name="textAppearanceSmall">@style/TextAppearance.Sherlock.Light.Small</item>
+        <item name="textAppearanceLargePopupMenu">@style/TextAppearance.Sherlock.Light.Widget.PopupMenu.Large</item>
+        <item name="textAppearanceSmallPopupMenu">@style/TextAppearance.Sherlock.Light.Widget.PopupMenu.Small</item>
+        
+        <item name="popupMenuStyle">@style/Widget.Sherlock.Light.PopupMenu</item>
+        <!-- Internal --><item name="listPopupWindowStyle">@style/Widget.Sherlock.Light.ListPopupWindow</item>
+        
+        <item name="windowActionBar">true</item>
+        <item name="windowActionModeOverlay">false</item>
+        <item name="windowContentOverlay">@null</item>
+    </style>
+    <style name="Theme.Sherlock.Light.DarkActionBar" parent="Sherlock.__Theme.DarkActionBar">
+        <item name="windowContentOverlay">@drawable/abs__ab_solid_shadow_holo</item>
+        <item name="actionBarStyle">@style/Widget.Sherlock.Light.ActionBar.Solid.Inverse</item>
+        <item name="actionBarWidgetTheme">@style/Theme.Sherlock</item>
+
+        <item name="actionDropDownStyle">@style/Widget.Sherlock.Spinner.DropDown.ActionBar</item>
+        <item name="actionButtonStyle">@style/Widget.Sherlock.ActionButton</item>
+        <item name="actionOverflowButtonStyle">@style/Widget.Sherlock.ActionButton.Overflow</item>
+        <item name="actionModeBackground">@drawable/abs__cab_background_top_holo_dark</item>
+        <item name="actionModeSplitBackground">@drawable/abs__cab_background_bottom_holo_dark</item>
+        <item name="actionModeCloseDrawable">@drawable/abs__ic_cab_done_holo_dark</item>
+        <item name="homeAsUpIndicator">@drawable/abs__ic_ab_back_holo_dark</item>
+        <item name="actionBarTabStyle">@style/Widget.Sherlock.Light.ActionBar.TabView.Inverse</item>
+        <item name="actionBarTabBarStyle">@style/Widget.Sherlock.Light.ActionBar.TabBar.Inverse</item>
+        <item name="actionBarTabTextStyle">@style/Widget.Sherlock.Light.ActionBar.TabText.Inverse</item>
+        <item name="actionBarDivider">@drawable/abs__list_divider_holo_dark</item>
+        <item name="actionBarItemBackground">@drawable/abs__item_background_holo_dark</item>
+        <item name="actionMenuTextColor">?attr/textColorPrimaryInverse</item>
+        <item name="actionModeStyle">@style/Widget.Sherlock.Light.ActionMode.Inverse</item>
+        <item name="actionModeCloseButtonStyle">@style/Widget.Sherlock.ActionButton.CloseMode</item>
+        <item name="actionModePopupWindowStyle">@style/Widget.Sherlock.PopupWindow.ActionMode</item>
+        
+        <item name="actionModeShareDrawable">@drawable/abs__ic_menu_share_holo_dark</item>
+    </style>
+    
+    
+    <style name="Theme.Sherlock.NoActionBar">
+        <item name="windowActionBar">false</item>
+        <item name="windowNoTitle">true</item>
+    </style>
+    <style name="Theme.Sherlock.Light.NoActionBar">
+        <item name="windowActionBar">false</item>
+        <item name="windowNoTitle">true</item>
+    </style>
+    
+    
+    <style name="Theme.Sherlock.ForceOverflow">
+        <item name="absForceOverflow">true</item>
+    </style>
+    <style name="Theme.Sherlock.Light.ForceOverflow">
+        <item name="absForceOverflow">true</item>
+    </style>
+    <style name="Theme.Sherlock.Light.DarkActionBar.ForceOverflow">
+        <item name="absForceOverflow">true</item>
+    </style>
+    
+    
+    <style name="Theme.Sherlock.Dialog" parent="android:Theme">
+        <item name="android:windowFrame">@null</item>
+        <item name="android:windowTitleStyle">@style/DialogWindowTitle.Sherlock</item>
+        <item name="android:windowBackground">@drawable/abs__dialog_full_holo_dark</item>
+        <item name="android:windowIsFloating">true</item>
+        <item name="android:windowContentOverlay">@null</item>
+        <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
+        <item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item>
+        
+        <item name="android:windowActionBar">false</item>
+        <item name="android:windowActionModeOverlay">true</item>
+        <item name="android:windowCloseOnTouchOutside">true</item>
+        <item name="android:windowNoTitle">true</item>
+        <item name="android:backgroundDimAmount">0.6</item>
+        
+        <item name="android:colorBackgroundCacheHint">@null</item>
+        
+        <item name="android:textColorPrimary">@color/abs__primary_text_holo_dark</item>
+        <item name="android:textColorPrimaryInverse">@color/abs__primary_text_holo_light</item>
+        
+        <item name="windowMinWidthMajor">@dimen/abs__dialog_min_width_major</item>
+        <item name="windowMinWidthMinor">@dimen/abs__dialog_min_width_minor</item>
+        
+        <item name="windowActionBar">false</item>
+        <item name="windowContentOverlay">@null</item>
+    </style>
+    <style name="Theme.Sherlock.Light.Dialog" parent="android:Theme.Light">
+        <item name="android:windowFrame">@null</item>
+        <item name="android:windowTitleStyle">@style/DialogWindowTitle.Sherlock.Light</item>
+        <item name="android:windowBackground">@drawable/abs__dialog_full_holo_light</item>
+        <item name="android:windowIsFloating">true</item>
+        <item name="android:windowContentOverlay">@null</item>
+        <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
+        <item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item>
+        
+        <item name="android:windowActionBar">false</item>
+        <item name="android:windowActionModeOverlay">true</item>
+        <item name="android:windowCloseOnTouchOutside">true</item>
+        <item name="android:windowNoTitle">true</item>
+        <item name="android:backgroundDimAmount">0.6</item>
+        
+        <item name="android:colorBackgroundCacheHint">@null</item>
+        
+        <item name="android:textColorPrimary">@color/abs__primary_text_holo_light</item>
+        <item name="android:textColorPrimaryInverse">@color/abs__primary_text_holo_dark</item>
+        
+        <item name="windowMinWidthMajor">@dimen/abs__dialog_min_width_major</item>
+        <item name="windowMinWidthMinor">@dimen/abs__dialog_min_width_minor</item>
+        
+        <item name="windowActionBar">false</item>
+        <item name="windowContentOverlay">@null</item>
+    </style>
+</resources>
diff --git a/actionbarsherlock/src/com/actionbarsherlock/internal/view/menu/ActionMenuPresenter.java b/actionbarsherlock/src/com/actionbarsherlock/internal/view/menu/ActionMenuPresenter.java
new file mode 100644
index 0000000..6f568c6
--- /dev/null
+++ b/actionbarsherlock/src/com/actionbarsherlock/internal/view/menu/ActionMenuPresenter.java
@@ -0,0 +1,721 @@
+/*
+ * 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.
+ */
+
+package com.actionbarsherlock.internal.view.menu;
+
+import static com.actionbarsherlock.internal.ResourcesCompat.getResources_getInteger;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.Set;
+import android.content.Context;
+import android.content.res.Configuration;
+import android.content.res.Resources;
+import android.content.res.TypedArray;
+import android.os.Build;
+import android.os.Parcel;
+import android.os.Parcelable;
+import android.util.SparseBooleanArray;
+import android.view.SoundEffectConstants;
+import android.view.View;
+import android.view.View.MeasureSpec;
+import android.view.ViewConfiguration;
+import android.view.ViewGroup;
+import android.widget.ImageButton;
+import com.actionbarsherlock.R;
+import com.actionbarsherlock.internal.view.View_HasStateListenerSupport;
+import com.actionbarsherlock.internal.view.View_OnAttachStateChangeListener;
+import com.actionbarsherlock.internal.view.menu.ActionMenuView.ActionMenuChildView;
+import com.actionbarsherlock.view.ActionProvider;
+import com.actionbarsherlock.view.MenuItem;
+
+/**
+ * MenuPresenter for building action menus as seen in the action bar and action modes.
+ */
+public class ActionMenuPresenter extends BaseMenuPresenter
+        implements ActionProvider.SubUiVisibilityListener {
+    //UNUSED private static final String TAG = "ActionMenuPresenter";
+
+    private View mOverflowButton;
+    private boolean mReserveOverflow;
+    private boolean mReserveOverflowSet;
+    private int mWidthLimit;
+    private int mActionItemWidthLimit;
+    private int mMaxItems;
+    private boolean mMaxItemsSet;
+    private boolean mStrictWidthLimit;
+    private boolean mWidthLimitSet;
+    private boolean mExpandedActionViewsExclusive;
+
+    private int mMinCellSize;
+
+    // Group IDs that have been added as actions - used temporarily, allocated here for reuse.
+    private final SparseBooleanArray mActionButtonGroups = new SparseBooleanArray();
+
+    private View mScrapActionButtonView;
+
+    private OverflowPopup mOverflowPopup;
+    private ActionButtonSubmenu mActionButtonPopup;
+
+    private OpenOverflowRunnable mPostedOpenRunnable;
+
+    final PopupPresenterCallback mPopupPresenterCallback = new PopupPresenterCallback();
+    int mOpenSubMenuId;
+
+    public ActionMenuPresenter(Context context) {
+        super(context, R.layout.abs__action_menu_layout,
+                R.layout.abs__action_menu_item_layout);
+    }
+
+    @Override
+    public void initForMenu(Context context, MenuBuilder menu) {
+        super.initForMenu(context, menu);
+
+        final Resources res = context.getResources();
+
+        if (!mReserveOverflowSet) {
+            mReserveOverflow = reserveOverflow(mContext);
+        }
+
+        if (!mWidthLimitSet) {
+            mWidthLimit = res.getDisplayMetrics().widthPixels / 2;
+        }
+
+        // Measure for initial configuration
+        if (!mMaxItemsSet) {
+            mMaxItems = getResources_getInteger(context, R.integer.abs__max_action_buttons);
+        }
+
+        int width = mWidthLimit;
+        if (mReserveOverflow) {
+            if (mOverflowButton == null) {
+                mOverflowButton = new OverflowMenuButton(mSystemContext);
+                final int spec = MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED);
+                mOverflowButton.measure(spec, spec);
+            }
+            width -= mOverflowButton.getMeasuredWidth();
+        } else {
+            mOverflowButton = null;
+        }
+
+        mActionItemWidthLimit = width;
+
+        mMinCellSize = (int) (ActionMenuView.MIN_CELL_SIZE * res.getDisplayMetrics().density);
+
+        // Drop a scrap view as it may no longer reflect the proper context/config.
+        mScrapActionButtonView = null;
+    }
+
+    public static boolean reserveOverflow(Context context) {
+        //Check for theme-forced overflow action item
+        TypedArray a = context.getTheme().obtainStyledAttributes(R.styleable.SherlockTheme);
+        boolean result = a.getBoolean(R.styleable.SherlockTheme_absForceOverflow, false);
+        a.recycle();
+        if (result) {
+            return true;
+        }
+
+        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
+            return (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB);
+        } else {
+            return !HasPermanentMenuKey.get(context);
+        }
+    }
+
+    private static class HasPermanentMenuKey {
+        public static boolean get(Context context) {
+            return ViewConfiguration.get(context).hasPermanentMenuKey();
+        }
+    }
+
+    public void onConfigurationChanged(Configuration newConfig) {
+        if (!mMaxItemsSet) {
+            mMaxItems = getResources_getInteger(mContext,
+                    R.integer.abs__max_action_buttons);
+            if (mMenu != null) {
+                mMenu.onItemsChanged(true);
+            }
+        }
+    }
+
+    public void setWidthLimit(int width, boolean strict) {
+        mWidthLimit = width;
+        mStrictWidthLimit = strict;
+        mWidthLimitSet = true;
+    }
+
+    public void setReserveOverflow(boolean reserveOverflow) {
+        mReserveOverflow = reserveOverflow;
+        mReserveOverflowSet = true;
+    }
+
+    public void setItemLimit(int itemCount) {
+        mMaxItems = itemCount;
+        mMaxItemsSet = true;
+    }
+
+    public void setExpandedActionViewsExclusive(boolean isExclusive) {
+        mExpandedActionViewsExclusive = isExclusive;
+    }
+
+    @Override
+    public MenuView getMenuView(ViewGroup root) {
+        MenuView result = super.getMenuView(root);
+        ((ActionMenuView) result).setPresenter(this);
+        return result;
+    }
+
+    @Override
+    public View getItemView(MenuItemImpl item, View convertView, ViewGroup parent) {
+        View actionView = item.getActionView();
+        if (actionView == null || item.hasCollapsibleActionView()) {
+            if (!(convertView instanceof ActionMenuItemView)) {
+                convertView = null;
+            }
+            actionView = super.getItemView(item, convertView, parent);
+        }
+        actionView.setVisibility(item.isActionViewExpanded() ? View.GONE : View.VISIBLE);
+
+        final ActionMenuView menuParent = (ActionMenuView) parent;
+        final ViewGroup.LayoutParams lp = actionView.getLayoutParams();
+        if (!menuParent.checkLayoutParams(lp)) {
+            actionView.setLayoutParams(menuParent.generateLayoutParams(lp));
+        }
+        return actionView;
+    }
+
+    @Override
+    public void bindItemView(MenuItemImpl item, MenuView.ItemView itemView) {
+        itemView.initialize(item, 0);
+
+        final ActionMenuView menuView = (ActionMenuView) mMenuView;
+        ActionMenuItemView actionItemView = (ActionMenuItemView) itemView;
+        actionItemView.setItemInvoker(menuView);
+    }
+
+    @Override
+    public boolean shouldIncludeItem(int childIndex, MenuItemImpl item) {
+        return item.isActionButton();
+    }
+
+    @Override
+    public void updateMenuView(boolean cleared) {
+        super.updateMenuView(cleared);
+
+        if (mMenu != null) {
+            final ArrayList<MenuItemImpl> actionItems = mMenu.getActionItems();
+            final int count = actionItems.size();
+            for (int i = 0; i < count; i++) {
+                final ActionProvider provider = actionItems.get(i).getActionProvider();
+                if (provider != null) {
+                    provider.setSubUiVisibilityListener(this);
+                }
+            }
+        }
+
+        final ArrayList<MenuItemImpl> nonActionItems = mMenu != null ?
+                mMenu.getNonActionItems() : null;
+
+        boolean hasOverflow = false;
+        if (mReserveOverflow && nonActionItems != null) {
+            final int count = nonActionItems.size();
+            if (count == 1) {
+                hasOverflow = !nonActionItems.get(0).isActionViewExpanded();
+            } else {
+                hasOverflow = count > 0;
+            }
+        }
+
+        if (hasOverflow) {
+            if (mOverflowButton == null) {
+                mOverflowButton = new OverflowMenuButton(mSystemContext);
+            }
+            ViewGroup parent = (ViewGroup) mOverflowButton.getParent();
+            if (parent != mMenuView) {
+                if (parent != null) {
+                    parent.removeView(mOverflowButton);
+                }
+                ActionMenuView menuView = (ActionMenuView) mMenuView;
+                menuView.addView(mOverflowButton, menuView.generateOverflowButtonLayoutParams());
+            }
+        } else if (mOverflowButton != null && mOverflowButton.getParent() == mMenuView) {
+            ((ViewGroup) mMenuView).removeView(mOverflowButton);
+        }
+
+        ((ActionMenuView) mMenuView).setOverflowReserved(mReserveOverflow);
+    }
+
+    @Override
+    public boolean filterLeftoverView(ViewGroup parent, int childIndex) {
+        if (parent.getChildAt(childIndex) == mOverflowButton) return false;
+        return super.filterLeftoverView(parent, childIndex);
+    }
+
+    public boolean onSubMenuSelected(SubMenuBuilder subMenu) {
+        if (!subMenu.hasVisibleItems()) return false;
+
+        SubMenuBuilder topSubMenu = subMenu;
+        while (topSubMenu.getParentMenu() != mMenu) {
+            topSubMenu = (SubMenuBuilder) topSubMenu.getParentMenu();
+        }
+        View anchor = findViewForItem(topSubMenu.getItem());
+        if (anchor == null) {
+            if (mOverflowButton == null) return false;
+            anchor = mOverflowButton;
+        }
+
+        mOpenSubMenuId = subMenu.getItem().getItemId();
+        mActionButtonPopup = new ActionButtonSubmenu(mContext, subMenu);
+        mActionButtonPopup.setAnchorView(anchor);
+        mActionButtonPopup.show();
+        super.onSubMenuSelected(subMenu);
+        return true;
+    }
+
+    private View findViewForItem(MenuItem item) {
+        final ViewGroup parent = (ViewGroup) mMenuView;
+        if (parent == null) return null;
+
+        final int count = parent.getChildCount();
+        for (int i = 0; i < count; i++) {
+            final View child = parent.getChildAt(i);
+            if (child instanceof MenuView.ItemView &&
+                    ((MenuView.ItemView) child).getItemData() == item) {
+                return child;
+            }
+        }
+        return null;
+    }
+
+    /**
+     * Display the overflow menu if one is present.
+     * @return true if the overflow menu was shown, false otherwise.
+     */
+    public boolean showOverflowMenu() {
+        if (mReserveOverflow && !isOverflowMenuShowing() && mMenu != null && mMenuView != null &&
+                mPostedOpenRunnable == null && !mMenu.getNonActionItems().isEmpty()) {
+            OverflowPopup popup = new OverflowPopup(mContext, mMenu, mOverflowButton, true);
+            mPostedOpenRunnable = new OpenOverflowRunnable(popup);
+            // Post this for later; we might still need a layout for the anchor to be right.
+            ((View) mMenuView).post(mPostedOpenRunnable);
+
+            // ActionMenuPresenter uses null as a callback argument here
+            // to indicate overflow is opening.
+            super.onSubMenuSelected(null);
+
+            return true;
+        }
+        return false;
+    }
+
+    /**
+     * Hide the overflow menu if it is currently showing.
+     *
+     * @return true if the overflow menu was hidden, false otherwise.
+     */
+    public boolean hideOverflowMenu() {
+        if (mPostedOpenRunnable != null && mMenuView != null) {
+            ((View) mMenuView).removeCallbacks(mPostedOpenRunnable);
+            mPostedOpenRunnable = null;
+            return true;
+        }
+
+        MenuPopupHelper popup = mOverflowPopup;
+        if (popup != null) {
+            popup.dismiss();
+            return true;
+        }
+        return false;
+    }
+
+    /**
+     * Dismiss all popup menus - overflow and submenus.
+     * @return true if popups were dismissed, false otherwise. (This can be because none were open.)
+     */
+    public boolean dismissPopupMenus() {
+        boolean result = hideOverflowMenu();
+        result |= hideSubMenus();
+        return result;
+    }
+
+    /**
+     * Dismiss all submenu popups.
+     *
+     * @return true if popups were dismissed, false otherwise. (This can be because none were open.)
+     */
+    public boolean hideSubMenus() {
+        if (mActionButtonPopup != null) {
+            mActionButtonPopup.dismiss();
+            return true;
+        }
+        return false;
+    }
+
+    /**
+     * @return true if the overflow menu is currently showing
+     */
+    public boolean isOverflowMenuShowing() {
+        return mOverflowPopup != null && mOverflowPopup.isShowing();
+    }
+
+    /**
+     * @return true if space has been reserved in the action menu for an overflow item.
+     */
+    public boolean isOverflowReserved() {
+        return mReserveOverflow;
+    }
+
+    public boolean flagActionItems() {
+        final ArrayList<MenuItemImpl> visibleItems = mMenu.getVisibleItems();
+        final int itemsSize = visibleItems.size();
+        int maxActions = mMaxItems;
+        int widthLimit = mActionItemWidthLimit;
+        final int querySpec = MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED);
+        final ViewGroup parent = (ViewGroup) mMenuView;
+
+        int requiredItems = 0;
+        int requestedItems = 0;
+        int firstActionWidth = 0;
+        boolean hasOverflow = false;
+        for (int i = 0; i < itemsSize; i++) {
+            MenuItemImpl item = visibleItems.get(i);
+            if (item.requiresActionButton()) {
+                requiredItems++;
+            } else if (item.requestsActionButton()) {
+                requestedItems++;
+            } else {
+                hasOverflow = true;
+            }
+            if (mExpandedActionViewsExclusive && item.isActionViewExpanded()) {
+                // Overflow everything if we have an expanded action view and we're
+                // space constrained.
+                maxActions = 0;
+            }
+        }
+
+        // Reserve a spot for the overflow item if needed.
+        if (mReserveOverflow &&
+                (hasOverflow || requiredItems + requestedItems > maxActions)) {
+            maxActions--;
+        }
+        maxActions -= requiredItems;
+
+        final SparseBooleanArray seenGroups = mActionButtonGroups;
+        seenGroups.clear();
+
+        int cellSize = 0;
+        int cellsRemaining = 0;
+        if (mStrictWidthLimit) {
+            cellsRemaining = widthLimit / mMinCellSize;
+            final int cellSizeRemaining = widthLimit % mMinCellSize;
+            cellSize = mMinCellSize + cellSizeRemaining / cellsRemaining;
+        }
+
+        // Flag as many more requested items as will fit.
+        for (int i = 0; i < itemsSize; i++) {
+            MenuItemImpl item = visibleItems.get(i);
+
+            if (item.requiresActionButton()) {
+                View v = getItemView(item, mScrapActionButtonView, parent);
+                if (mScrapActionButtonView == null) {
+                    mScrapActionButtonView = v;
+                }
+                if (mStrictWidthLimit) {
+                    cellsRemaining -= ActionMenuView.measureChildForCells(v,
+                            cellSize, cellsRemaining, querySpec, 0);
+                } else {
+                    v.measure(querySpec, querySpec);
+                }
+                final int measuredWidth = v.getMeasuredWidth();
+                widthLimit -= measuredWidth;
+                if (firstActionWidth == 0) {
+                    firstActionWidth = measuredWidth;
+                }
+                final int groupId = item.getGroupId();
+                if (groupId != 0) {
+                    seenGroups.put(groupId, true);
+                }
+                item.setIsActionButton(true);
+            } else if (item.requestsActionButton()) {
+                // Items in a group with other items that already have an action slot
+                // can break the max actions rule, but not the width limit.
+                final int groupId = item.getGroupId();
+                final boolean inGroup = seenGroups.get(groupId);
+                boolean isAction = (maxActions > 0 || inGroup) && widthLimit > 0 &&
+                        (!mStrictWidthLimit || cellsRemaining > 0);
+
+                if (isAction) {
+                    View v = getItemView(item, mScrapActionButtonView, parent);
+                    if (mScrapActionButtonView == null) {
+                        mScrapActionButtonView = v;
+                    }
+                    if (mStrictWidthLimit) {
+                        final int cells = ActionMenuView.measureChildForCells(v,
+                                cellSize, cellsRemaining, querySpec, 0);
+                        cellsRemaining -= cells;
+                        if (cells == 0) {
+                            isAction = false;
+                        }
+                    } else {
+                        v.measure(querySpec, querySpec);
+                    }
+                    final int measuredWidth = v.getMeasuredWidth();
+                    widthLimit -= measuredWidth;
+                    if (firstActionWidth == 0) {
+                        firstActionWidth = measuredWidth;
+                    }
+
+                    if (mStrictWidthLimit) {
+                        isAction &= widthLimit >= 0;
+                    } else {
+                        // Did this push the entire first item past the limit?
+                        isAction &= widthLimit + firstActionWidth > 0;
+                    }
+                }
+
+                if (isAction && groupId != 0) {
+                    seenGroups.put(groupId, true);
+                } else if (inGroup) {
+                    // We broke the width limit. Demote the whole group, they all overflow now.
+                    seenGroups.put(groupId, false);
+                    for (int j = 0; j < i; j++) {
+                        MenuItemImpl areYouMyGroupie = visibleItems.get(j);
+                        if (areYouMyGroupie.getGroupId() == groupId) {
+                            // Give back the action slot
+                            if (areYouMyGroupie.isActionButton()) maxActions++;
+                            areYouMyGroupie.setIsActionButton(false);
+                        }
+                    }
+                }
+
+                if (isAction) maxActions--;
+
+                item.setIsActionButton(isAction);
+            }
+        }
+        return true;
+    }
+
+    @Override
+    public void onCloseMenu(MenuBuilder menu, boolean allMenusAreClosing) {
+        dismissPopupMenus();
+        super.onCloseMenu(menu, allMenusAreClosing);
+    }
+
+    @Override
+    public Parcelable onSaveInstanceState() {
+        SavedState state = new SavedState();
+        state.openSubMenuId = mOpenSubMenuId;
+        return state;
+    }
+
+    @Override
+    public void onRestoreInstanceState(Parcelable state) {
+        SavedState saved = (SavedState) state;
+        if (saved.openSubMenuId > 0) {
+            MenuItem item = mMenu.findItem(saved.openSubMenuId);
+            if (item != null) {
+                SubMenuBuilder subMenu = (SubMenuBuilder) item.getSubMenu();
+                onSubMenuSelected(subMenu);
+            }
+        }
+    }
+
+    @Override
+    public void onSubUiVisibilityChanged(boolean isVisible) {
+        if (isVisible) {
+            // Not a submenu, but treat it like one.
+            super.onSubMenuSelected(null);
+        } else {
+            mMenu.close(false);
+        }
+    }
+
+    private static class SavedState implements Parcelable {
+        public int openSubMenuId;
+
+        SavedState() {
+        }
+
+        SavedState(Parcel in) {
+            openSubMenuId = in.readInt();
+        }
+
+        @Override
+        public int describeContents() {
+            return 0;
+        }
+
+        @Override
+        public void writeToParcel(Parcel dest, int flags) {
+            dest.writeInt(openSubMenuId);
+        }
+
+        @SuppressWarnings("unused")
+        public static final Parcelable.Creator<SavedState> CREATOR
+                = new Parcelable.Creator<SavedState>() {
+            public SavedState createFromParcel(Parcel in) {
+                return new SavedState(in);
+            }
+
+            public SavedState[] newArray(int size) {
+                return new SavedState[size];
+            }
+        };
+    }
+
+    private class OverflowMenuButton extends ImageButton implements ActionMenuChildView, View_HasStateListenerSupport {
+        private final Set<View_OnAttachStateChangeListener> mListeners = new HashSet<View_OnAttachStateChangeListener>();
+
+        public OverflowMenuButton(Context context) {
+            super(context, null, R.attr.actionOverflowButtonStyle);
+
+            setClickable(true);
+            setFocusable(true);
+            setVisibility(VISIBLE);
+            setEnabled(true);
+        }
+
+        @Override
+        public boolean performClick() {
+            if (super.performClick()) {
+                return true;
+            }
+
+            playSoundEffect(SoundEffectConstants.CLICK);
+            showOverflowMenu();
+            return true;
+        }
+
+        public boolean needsDividerBefore() {
+            return false;
+        }
+
+        public boolean needsDividerAfter() {
+            return false;
+        }
+
+        @Override
+        protected void onAttachedToWindow() {
+            super.onAttachedToWindow();
+            for (View_OnAttachStateChangeListener listener : mListeners) {
+                listener.onViewAttachedToWindow(this);
+            }
+        }
+
+        @Override
+        protected void onDetachedFromWindow() {
+            super.onDetachedFromWindow();
+            for (View_OnAttachStateChangeListener listener : mListeners) {
+                listener.onViewDetachedFromWindow(this);
+            }
+        }
+
+        @Override
+        public void addOnAttachStateChangeListener(View_OnAttachStateChangeListener listener) {
+            mListeners.add(listener);
+        }
+
+        @Override
+        public void removeOnAttachStateChangeListener(View_OnAttachStateChangeListener listener) {
+            mListeners.remove(listener);
+        }
+    }
+
+    private class OverflowPopup extends MenuPopupHelper {
+        public OverflowPopup(Context context, MenuBuilder menu, View anchorView,
+                boolean overflowOnly) {
+            super(context, menu, anchorView, overflowOnly);
+            setCallback(mPopupPresenterCallback);
+        }
+
+        @Override
+        public void onDismiss() {
+            super.onDismiss();
+            mMenu.close();
+            mOverflowPopup = null;
+        }
+    }
+
+    private class ActionButtonSubmenu extends MenuPopupHelper {
+        //UNUSED private SubMenuBuilder mSubMenu;
+
+        public ActionButtonSubmenu(Context context, SubMenuBuilder subMenu) {
+            super(context, subMenu);
+            //UNUSED mSubMenu = subMenu;
+
+            MenuItemImpl item = (MenuItemImpl) subMenu.getItem();
+            if (!item.isActionButton()) {
+                // Give a reasonable anchor to nested submenus.
+                setAnchorView(mOverflowButton == null ? (View) mMenuView : mOverflowButton);
+            }
+
+            setCallback(mPopupPresenterCallback);
+
+            boolean preserveIconSpacing = false;
+            final int count = subMenu.size();
+            for (int i = 0; i < count; i++) {
+                MenuItem childItem = subMenu.getItem(i);
+                if (childItem.isVisible() && childItem.getIcon() != null) {
+                    preserveIconSpacing = true;
+                    break;
+                }
+            }
+            setForceShowIcon(preserveIconSpacing);
+        }
+
+        @Override
+        public void onDismiss() {
+            super.onDismiss();
+            mActionButtonPopup = null;
+            mOpenSubMenuId = 0;
+        }
+    }
+
+    private class PopupPresenterCallback implements MenuPresenter.Callback {
+
+        @Override
+        public boolean onOpenSubMenu(MenuBuilder subMenu) {
+            if (subMenu == null) return false;
+
+            mOpenSubMenuId = ((SubMenuBuilder) subMenu).getItem().getItemId();
+            return false;
+        }
+
+        @Override
+        public void onCloseMenu(MenuBuilder menu, boolean allMenusAreClosing) {
+            if (menu instanceof SubMenuBuilder) {
+                ((SubMenuBuilder) menu).getRootMenu().close(false);
+            }
+        }
+    }
+
+    private class OpenOverflowRunnable implements Runnable {
+        private OverflowPopup mPopup;
+
+        public OpenOverflowRunnable(OverflowPopup popup) {
+            mPopup = popup;
+        }
+
+        public void run() {
+            mMenu.changeMenuMode();
+            final View menuView = (View) mMenuView;
+            if (menuView != null && menuView.getWindowToken() != null && mPopup.tryShow()) {
+                mOverflowPopup = mPopup;
+            }
+            mPostedOpenRunnable = null;
+        }
+    }
+}
diff --git a/actionbarsherlock/src/com/actionbarsherlock/internal/view/menu/BaseMenuPresenter.java b/actionbarsherlock/src/com/actionbarsherlock/internal/view/menu/BaseMenuPresenter.java
new file mode 100644
index 0000000..6da26f2
--- /dev/null
+++ b/actionbarsherlock/src/com/actionbarsherlock/internal/view/menu/BaseMenuPresenter.java
@@ -0,0 +1,231 @@
+/*
+ * 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.
+ */
+
+package com.actionbarsherlock.internal.view.menu;
+
+import java.util.ArrayList;
+import android.content.Context;
+import android.os.Build;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+/**
+ * Base class for MenuPresenters that have a consistent container view and item
+ * views. Behaves similarly to an AdapterView in that existing item views will
+ * be reused if possible when items change.
+ */
+public abstract class BaseMenuPresenter implements MenuPresenter {
+    private static final boolean IS_HONEYCOMB = Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB;
+
+    protected Context mSystemContext;
+    protected Context mContext;
+    protected MenuBuilder mMenu;
+    protected LayoutInflater mSystemInflater;
+    protected LayoutInflater mInflater;
+    private Callback mCallback;
+
+    private int mMenuLayoutRes;
+    private int mItemLayoutRes;
+
+    protected MenuView mMenuView;
+
+    private int mId;
+
+    /**
+     * Construct a new BaseMenuPresenter.
+     *
+     * @param context Context for generating system-supplied views
+     * @param menuLayoutRes Layout resource ID for the menu container view
+     * @param itemLayoutRes Layout resource ID for a single item view
+     */
+    public BaseMenuPresenter(Context context, int menuLayoutRes, int itemLayoutRes) {
+        mSystemContext = context;
+        mSystemInflater = LayoutInflater.from(context);
+        mMenuLayoutRes = menuLayoutRes;
+        mItemLayoutRes = itemLayoutRes;
+    }
+
+    @Override
+    public void initForMenu(Context context, MenuBuilder menu) {
+        mContext = context;
+        mInflater = LayoutInflater.from(mContext);
+        mMenu = menu;
+    }
+
+    @Override
+    public MenuView getMenuView(ViewGroup root) {
+        if (mMenuView == null) {
+            mMenuView = (MenuView) mSystemInflater.inflate(mMenuLayoutRes, root, false);
+            mMenuView.initialize(mMenu);
+            updateMenuView(true);
+        }
+
+        return mMenuView;
+    }
+
+    /**
+     * Reuses item views when it can
+     */
+    public void updateMenuView(boolean cleared) {
+        final ViewGroup parent = (ViewGroup) mMenuView;
+        if (parent == null) return;
+
+        int childIndex = 0;
+        if (mMenu != null) {
+            mMenu.flagActionItems();
+            ArrayList<MenuItemImpl> visibleItems = mMenu.getVisibleItems();
+            final int itemCount = visibleItems.size();
+            for (int i = 0; i < itemCount; i++) {
+                MenuItemImpl item = visibleItems.get(i);
+                if (shouldIncludeItem(childIndex, item)) {
+                    final View convertView = parent.getChildAt(childIndex);
+                    final MenuItemImpl oldItem = convertView instanceof MenuView.ItemView ?
+                            ((MenuView.ItemView) convertView).getItemData() : null;
+                    final View itemView = getItemView(item, convertView, parent);
+                    if (item != oldItem) {
+                        // Don't let old states linger with new data.
+                        itemView.setPressed(false);
+                        if (IS_HONEYCOMB) itemView.jumpDrawablesToCurrentState();
+                    }
+                    if (itemView != convertView) {
+                        addItemView(itemView, childIndex);
+                    }
+                    childIndex++;
+                }
+            }
+        }
+
+        // Remove leftover views.
+        while (childIndex < parent.getChildCount()) {
+            if (!filterLeftoverView(parent, childIndex)) {
+                childIndex++;
+            }
+        }
+    }
+
+    /**
+     * Add an item view at the given index.
+     *
+     * @param itemView View to add
+     * @param childIndex Index within the parent to insert at
+     */
+    protected void addItemView(View itemView, int childIndex) {
+        final ViewGroup currentParent = (ViewGroup) itemView.getParent();
+        if (currentParent != null) {
+            currentParent.removeView(itemView);
+        }
+        ((ViewGroup) mMenuView).addView(itemView, childIndex);
+    }
+
+    /**
+     * Filter the child view at index and remove it if appropriate.
+     * @param parent Parent to filter from
+     * @param childIndex Index to filter
+     * @return true if the child view at index was removed
+     */
+    protected boolean filterLeftoverView(ViewGroup parent, int childIndex) {
+        parent.removeViewAt(childIndex);
+        return true;
+    }
+
+    public void setCallback(Callback cb) {
+        mCallback = cb;
+    }
+
+    /**
+     * Create a new item view that can be re-bound to other item data later.
+     *
+     * @return The new item view
+     */
+    public MenuView.ItemView createItemView(ViewGroup parent) {
+        return (MenuView.ItemView) mSystemInflater.inflate(mItemLayoutRes, parent, false);
+    }
+
+    /**
+     * Prepare an item view for use. See AdapterView for the basic idea at work here.
+     * This may require creating a new item view, but well-behaved implementations will
+     * re-use the view passed as convertView if present. The returned view will be populated
+     * with data from the item parameter.
+     *
+     * @param item Item to present
+     * @param convertView Existing view to reuse
+     * @param parent Intended parent view - use for inflation.
+     * @return View that presents the requested menu item
+     */
+    public View getItemView(MenuItemImpl item, View convertView, ViewGroup parent) {
+        MenuView.ItemView itemView;
+        if (convertView instanceof MenuView.ItemView) {
+            itemView = (MenuView.ItemView) convertView;
+        } else {
+            itemView = createItemView(parent);
+        }
+        bindItemView(item, itemView);
+        return (View) itemView;
+    }
+
+    /**
+     * Bind item data to an existing item view.
+     *
+     * @param item Item to bind
+     * @param itemView View to populate with item data
+     */
+    public abstract void bindItemView(MenuItemImpl item, MenuView.ItemView itemView);
+
+    /**
+     * Filter item by child index and item data.
+     *
+     * @param childIndex Indended presentation index of this item
+     * @param item Item to present
+     * @return true if this item should be included in this menu presentation; false otherwise
+     */
+    public boolean shouldIncludeItem(int childIndex, MenuItemImpl item) {
+        return true;
+    }
+
+    public void onCloseMenu(MenuBuilder menu, boolean allMenusAreClosing) {
+        if (mCallback != null) {
+            mCallback.onCloseMenu(menu, allMenusAreClosing);
+        }
+    }
+
+    public boolean onSubMenuSelected(SubMenuBuilder menu) {
+        if (mCallback != null) {
+            return mCallback.onOpenSubMenu(menu);
+        }
+        return false;
+    }
+
+    public boolean flagActionItems() {
+        return false;
+    }
+
+    public boolean expandItemActionView(MenuBuilder menu, MenuItemImpl item) {
+        return false;
+    }
+
+    public boolean collapseItemActionView(MenuBuilder menu, MenuItemImpl item) {
+        return false;
+    }
+
+    public int getId() {
+        return mId;
+    }
+
+    public void setId(int id) {
+        mId = id;
+    }
+}
diff --git a/actionbarsherlock/src/com/actionbarsherlock/internal/view/menu/MenuPresenter.java b/actionbarsherlock/src/com/actionbarsherlock/internal/view/menu/MenuPresenter.java
new file mode 100644
index 0000000..c3f3547
--- /dev/null
+++ b/actionbarsherlock/src/com/actionbarsherlock/internal/view/menu/MenuPresenter.java
@@ -0,0 +1,148 @@
+/*
+ * 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.
+ */
+
+package com.actionbarsherlock.internal.view.menu;
+
+import android.content.Context;
+import android.os.Parcelable;
+import android.view.ViewGroup;
+
+/**
+ * A MenuPresenter is responsible for building views for a Menu object.
+ * It takes over some responsibility from the old style monolithic MenuBuilder class.
+ */
+public interface MenuPresenter {
+    /**
+     * Called by menu implementation to notify another component of open/close events.
+     */
+    public interface Callback {
+        /**
+         * Called when a menu is closing.
+         * @param menu
+         * @param allMenusAreClosing
+         */
+        public void onCloseMenu(MenuBuilder menu, boolean allMenusAreClosing);
+
+        /**
+         * Called when a submenu opens. Useful for notifying the application
+         * of menu state so that it does not attempt to hide the action bar
+         * while a submenu is open or similar.
+         *
+         * @param subMenu Submenu currently being opened
+         * @return true if the Callback will handle presenting the submenu, false if
+         *         the presenter should attempt to do so.
+         */
+        public boolean onOpenSubMenu(MenuBuilder subMenu);
+    }
+
+    /**
+     * Initialize this presenter for the given context and menu.
+     * This method is called by MenuBuilder when a presenter is
+     * added. See {@link MenuBuilder#addMenuPresenter(MenuPresenter)}
+     *
+     * @param context Context for this presenter; used for view creation and resource management
+     * @param menu Menu to host
+     */
+    public void initForMenu(Context context, MenuBuilder menu);
+
+    /**
+     * Retrieve a MenuView to display the menu specified in
+     * {@link #initForMenu(Context, Menu)}.
+     *
+     * @param root Intended parent of the MenuView.
+     * @return A freshly created MenuView.
+     */
+    public MenuView getMenuView(ViewGroup root);
+
+    /**
+     * Update the menu UI in response to a change. Called by
+     * MenuBuilder during the normal course of operation.
+     *
+     * @param cleared true if the menu was entirely cleared
+     */
+    public void updateMenuView(boolean cleared);
+
+    /**
+     * Set a callback object that will be notified of menu events
+     * related to this specific presentation.
+     * @param cb Callback that will be notified of future events
+     */
+    public void setCallback(Callback cb);
+
+    /**
+     * Called by Menu implementations to indicate that a submenu item
+     * has been selected. An active Callback should be notified, and
+     * if applicable the presenter should present the submenu.
+     *
+     * @param subMenu SubMenu being opened
+     * @return true if the the event was handled, false otherwise.
+     */
+    public boolean onSubMenuSelected(SubMenuBuilder subMenu);
+
+    /**
+     * Called by Menu implementations to indicate that a menu or submenu is
+     * closing. Presenter implementations should close the representation
+     * of the menu indicated as necessary and notify a registered callback.
+     *
+     * @param menu Menu or submenu that is closing.
+     * @param allMenusAreClosing True if all associated menus are closing.
+     */
+    public void onCloseMenu(MenuBuilder menu, boolean allMenusAreClosing);
+
+    /**
+     * Called by Menu implementations to flag items that will be shown as actions.
+     * @return true if this presenter changed the action status of any items.
+     */
+    public boolean flagActionItems();
+
+    /**
+     * Called when a menu item with a collapsable action view should expand its action view.
+     *
+     * @param menu Menu containing the item to be expanded
+     * @param item Item to be expanded
+     * @return true if this presenter expanded the action view, false otherwise.
+     */
+    public boolean expandItemActionView(MenuBuilder menu, MenuItemImpl item);
+
+    /**
+     * Called when a menu item with a collapsable action view should collapse its action view.
+     *
+     * @param menu Menu containing the item to be collapsed
+     * @param item Item to be collapsed
+     * @return true if this presenter collapsed the action view, false otherwise.
+     */
+    public boolean collapseItemActionView(MenuBuilder menu, MenuItemImpl item);
+
+    /**
+     * Returns an ID for determining how to save/restore instance state.
+     * @return a valid ID value.
+     */
+    public int getId();
+
+    /**
+     * Returns a Parcelable describing the current state of the presenter.
+     * It will be passed to the {@link #onRestoreInstanceState(Parcelable)}
+     * method of the presenter sharing the same ID later.
+     * @return The saved instance state
+     */
+    public Parcelable onSaveInstanceState();
+
+    /**
+     * Supplies the previously saved instance state to be restored.
+     * @param state The previously saved instance state
+     */
+    public void onRestoreInstanceState(Parcelable state);
+}
diff --git a/actionbarsherlock/src/com/actionbarsherlock/internal/widget/IcsProgressBar.java b/actionbarsherlock/src/com/actionbarsherlock/internal/widget/IcsProgressBar.java
new file mode 100644
index 0000000..1c02d4a
--- /dev/null
+++ b/actionbarsherlock/src/com/actionbarsherlock/internal/widget/IcsProgressBar.java
@@ -0,0 +1,1193 @@
+/*
+ * 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.
+ */
+
+package com.actionbarsherlock.internal.widget;
+
+import android.content.Context;
+import android.content.res.TypedArray;
+import android.graphics.Bitmap;
+import android.graphics.BitmapShader;
+import android.graphics.Canvas;
+import android.graphics.Rect;
+import android.graphics.Shader;
+import android.graphics.drawable.Animatable;
+import android.graphics.drawable.AnimationDrawable;
+import android.graphics.drawable.BitmapDrawable;
+import android.graphics.drawable.ClipDrawable;
+import android.graphics.drawable.Drawable;
+import android.graphics.drawable.LayerDrawable;
+import android.graphics.drawable.ShapeDrawable;
+import android.graphics.drawable.shapes.RoundRectShape;
+import android.graphics.drawable.shapes.Shape;
+import android.os.Build;
+import android.os.Parcel;
+import android.os.Parcelable;
+import android.os.SystemClock;
+import android.util.AttributeSet;
+import android.view.Gravity;
+import android.view.View;
+import android.view.ViewDebug;
+import android.view.accessibility.AccessibilityEvent;
+import android.view.accessibility.AccessibilityManager;
+import android.view.animation.AlphaAnimation;
+import android.view.animation.Animation;
+import android.view.animation.AnimationUtils;
+import android.view.animation.Interpolator;
+import android.view.animation.LinearInterpolator;
+import android.view.animation.Transformation;
+import android.widget.RemoteViews.RemoteView;
+
+
+/**
+ * <p>
+ * Visual indicator of progress in some operation.  Displays a bar to the user
+ * representing how far the operation has progressed; the application can
+ * change the amount of progress (modifying the length of the bar) as it moves
+ * forward.  There is also a secondary progress displayable on a progress bar
+ * which is useful for displaying intermediate progress, such as the buffer
+ * level during a streaming playback progress bar.
+ * </p>
+ *
+ * <p>
+ * A progress bar can also be made indeterminate. In indeterminate mode, the
+ * progress bar shows a cyclic animation without an indication of progress. This mode is used by
+ * applications when the length of the task is unknown. The indeterminate progress bar can be either
+ * a spinning wheel or a horizontal bar.
+ * </p>
+ *
+ * <p>The following code example shows how a progress bar can be used from
+ * a worker thread to update the user interface to notify the user of progress:
+ * </p>
+ *
+ * <pre>
+ * public class MyActivity extends Activity {
+ *     private static final int PROGRESS = 0x1;
+ *
+ *     private ProgressBar mProgress;
+ *     private int mProgressStatus = 0;
+ *
+ *     private Handler mHandler = new Handler();
+ *
+ *     protected void onCreate(Bundle icicle) {
+ *         super.onCreate(icicle);
+ *
+ *         setContentView(R.layout.progressbar_activity);
+ *
+ *         mProgress = (ProgressBar) findViewById(R.id.progress_bar);
+ *
+ *         // Start lengthy operation in a background thread
+ *         new Thread(new Runnable() {
+ *             public void run() {
+ *                 while (mProgressStatus &lt; 100) {
+ *                     mProgressStatus = doWork();
+ *
+ *                     // Update the progress bar
+ *                     mHandler.post(new Runnable() {
+ *                         public void run() {
+ *                             mProgress.setProgress(mProgressStatus);
+ *                         }
+ *                     });
+ *                 }
+ *             }
+ *         }).start();
+ *     }
+ * }</pre>
+ *
+ * <p>To add a progress bar to a layout file, you can use the {@code &lt;ProgressBar&gt;} element.
+ * By default, the progress bar is a spinning wheel (an indeterminate indicator). To change to a
+ * horizontal progress bar, apply the {@link android.R.style#Widget_ProgressBar_Horizontal
+ * Widget.ProgressBar.Horizontal} style, like so:</p>
+ *
+ * <pre>
+ * &lt;ProgressBar
+ *     style="@android:style/Widget.ProgressBar.Horizontal"
+ *     ... /&gt;</pre>
+ *
+ * <p>If you will use the progress bar to show real progress, you must use the horizontal bar. You
+ * can then increment the  progress with {@link #incrementProgressBy incrementProgressBy()} or
+ * {@link #setProgress setProgress()}. By default, the progress bar is full when it reaches 100. If
+ * necessary, you can adjust the maximum value (the value for a full bar) using the {@link
+ * android.R.styleable#ProgressBar_max android:max} attribute. Other attributes available are listed
+ * below.</p>
+ *
+ * <p>Another common style to apply to the progress bar is {@link
+ * android.R.style#Widget_ProgressBar_Small Widget.ProgressBar.Small}, which shows a smaller
+ * version of the spinning wheel&mdash;useful when waiting for content to load.
+ * For example, you can insert this kind of progress bar into your default layout for
+ * a view that will be populated by some content fetched from the Internet&mdash;the spinning wheel
+ * appears immediately and when your application receives the content, it replaces the progress bar
+ * with the loaded content. For example:</p>
+ *
+ * <pre>
+ * &lt;LinearLayout
+ *     android:orientation="horizontal"
+ *     ... &gt;
+ *     &lt;ProgressBar
+ *         android:layout_width="wrap_content"
+ *         android:layout_height="wrap_content"
+ *         style="@android:style/Widget.ProgressBar.Small"
+ *         android:layout_marginRight="5dp" /&gt;
+ *     &lt;TextView
+ *         android:layout_width="wrap_content"
+ *         android:layout_height="wrap_content"
+ *         android:text="@string/loading" /&gt;
+ * &lt;/LinearLayout&gt;</pre>
+ *
+ * <p>Other progress bar styles provided by the system include:</p>
+ * <ul>
+ * <li>{@link android.R.style#Widget_ProgressBar_Horizontal Widget.ProgressBar.Horizontal}</li>
+ * <li>{@link android.R.style#Widget_ProgressBar_Small Widget.ProgressBar.Small}</li>
+ * <li>{@link android.R.style#Widget_ProgressBar_Large Widget.ProgressBar.Large}</li>
+ * <li>{@link android.R.style#Widget_ProgressBar_Inverse Widget.ProgressBar.Inverse}</li>
+ * <li>{@link android.R.style#Widget_ProgressBar_Small_Inverse
+ * Widget.ProgressBar.Small.Inverse}</li>
+ * <li>{@link android.R.style#Widget_ProgressBar_Large_Inverse
+ * Widget.ProgressBar.Large.Inverse}</li>
+ * </ul>
+ * <p>The "inverse" styles provide an inverse color scheme for the spinner, which may be necessary
+ * if your application uses a light colored theme (a white background).</p>
+ *
+ * <p><strong>XML attributes</b></strong>
+ * <p>
+ * See {@link android.R.styleable#ProgressBar ProgressBar Attributes},
+ * {@link android.R.styleable#View View Attributes}
+ * </p>
+ *
+ * @attr ref android.R.styleable#ProgressBar_animationResolution
+ * @attr ref android.R.styleable#ProgressBar_indeterminate
+ * @attr ref android.R.styleable#ProgressBar_indeterminateBehavior
+ * @attr ref android.R.styleable#ProgressBar_indeterminateDrawable
+ * @attr ref android.R.styleable#ProgressBar_indeterminateDuration
+ * @attr ref android.R.styleable#ProgressBar_indeterminateOnly
+ * @attr ref android.R.styleable#ProgressBar_interpolator
+ * @attr ref android.R.styleable#ProgressBar_max
+ * @attr ref android.R.styleable#ProgressBar_maxHeight
+ * @attr ref android.R.styleable#ProgressBar_maxWidth
+ * @attr ref android.R.styleable#ProgressBar_minHeight
+ * @attr ref android.R.styleable#ProgressBar_minWidth
+ * @attr ref android.R.styleable#ProgressBar_progress
+ * @attr ref android.R.styleable#ProgressBar_progressDrawable
+ * @attr ref android.R.styleable#ProgressBar_secondaryProgress
+ */
+@RemoteView
+public class IcsProgressBar extends View {
+    private static final boolean IS_HONEYCOMB = Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB;
+    private static final int MAX_LEVEL = 10000;
+    private static final int ANIMATION_RESOLUTION = 200;
+    private static final int TIMEOUT_SEND_ACCESSIBILITY_EVENT = 200;
+
+    private static final int[] ProgressBar = new int[] {
+        android.R.attr.maxWidth,
+        android.R.attr.maxHeight,
+        android.R.attr.max,
+        android.R.attr.progress,
+        android.R.attr.secondaryProgress,
+        android.R.attr.indeterminate,
+        android.R.attr.indeterminateOnly,
+        android.R.attr.indeterminateDrawable,
+        android.R.attr.progressDrawable,
+        android.R.attr.indeterminateDuration,
+        android.R.attr.indeterminateBehavior,
+        android.R.attr.minWidth,
+        android.R.attr.minHeight,
+        android.R.attr.interpolator,
+        android.R.attr.animationResolution,
+    };
+    private static final int ProgressBar_maxWidth = 0;
+    private static final int ProgressBar_maxHeight = 1;
+    private static final int ProgressBar_max = 2;
+    private static final int ProgressBar_progress = 3;
+    private static final int ProgressBar_secondaryProgress = 4;
+    private static final int ProgressBar_indeterminate = 5;
+    private static final int ProgressBar_indeterminateOnly = 6;
+    private static final int ProgressBar_indeterminateDrawable = 7;
+    private static final int ProgressBar_progressDrawable = 8;
+    private static final int ProgressBar_indeterminateDuration = 9;
+    private static final int ProgressBar_indeterminateBehavior = 10;
+    private static final int ProgressBar_minWidth = 11;
+    private static final int ProgressBar_minHeight = 12;
+    private static final int ProgressBar_interpolator = 13;
+    private static final int ProgressBar_animationResolution = 14;
+
+    int mMinWidth;
+    int mMaxWidth;
+    int mMinHeight;
+    int mMaxHeight;
+
+    private int mProgress;
+    private int mSecondaryProgress;
+    private int mMax;
+
+    private int mBehavior;
+    private int mDuration;
+    private boolean mIndeterminate;
+    private boolean mOnlyIndeterminate;
+    private Transformation mTransformation;
+    private AlphaAnimation mAnimation;
+    private Drawable mIndeterminateDrawable;
+    private int mIndeterminateRealLeft;
+    private int mIndeterminateRealTop;
+    private Drawable mProgressDrawable;
+    private Drawable mCurrentDrawable;
+    Bitmap mSampleTile;
+    private boolean mNoInvalidate;
+    private Interpolator mInterpolator;
+    private RefreshProgressRunnable mRefreshProgressRunnable;
+    private long mUiThreadId;
+    private boolean mShouldStartAnimationDrawable;
+    private long mLastDrawTime;
+
+    private boolean mInDrawing;
+
+    private int mAnimationResolution;
+
+    private AccessibilityManager mAccessibilityManager;
+    private AccessibilityEventSender mAccessibilityEventSender;
+
+    /**
+     * Create a new progress bar with range 0...100 and initial progress of 0.
+     * @param context the application environment
+     */
+    public IcsProgressBar(Context context) {
+        this(context, null);
+    }
+
+    public IcsProgressBar(Context context, AttributeSet attrs) {
+        this(context, attrs, android.R.attr.progressBarStyle);
+    }
+
+    public IcsProgressBar(Context context, AttributeSet attrs, int defStyle) {
+        this(context, attrs, defStyle, 0);
+    }
+
+    /**
+     * @hide
+     */
+    public IcsProgressBar(Context context, AttributeSet attrs, int defStyle, int styleRes) {
+        super(context, attrs, defStyle);
+        mUiThreadId = Thread.currentThread().getId();
+        initProgressBar();
+
+        TypedArray a =
+            context.obtainStyledAttributes(attrs, /*R.styleable.*/ProgressBar, defStyle, styleRes);
+
+        mNoInvalidate = true;
+
+        Drawable drawable = a.getDrawable(/*R.styleable.*/ProgressBar_progressDrawable);
+        if (drawable != null) {
+            drawable = tileify(drawable, false);
+            // Calling this method can set mMaxHeight, make sure the corresponding
+            // XML attribute for mMaxHeight is read after calling this method
+            setProgressDrawable(drawable);
+        }
+
+
+        mDuration = a.getInt(/*R.styleable.*/ProgressBar_indeterminateDuration, mDuration);
+
+        mMinWidth = a.getDimensionPixelSize(/*R.styleable.*/ProgressBar_minWidth, mMinWidth);
+        mMaxWidth = a.getDimensionPixelSize(/*R.styleable.*/ProgressBar_maxWidth, mMaxWidth);
+        mMinHeight = a.getDimensionPixelSize(/*R.styleable.*/ProgressBar_minHeight, mMinHeight);
+        mMaxHeight = a.getDimensionPixelSize(/*R.styleable.*/ProgressBar_maxHeight, mMaxHeight);
+
+        mBehavior = a.getInt(/*R.styleable.*/ProgressBar_indeterminateBehavior, mBehavior);
+
+        final int resID = a.getResourceId(
+                /*com.android.internal.R.styleable.*/ProgressBar_interpolator,
+                android.R.anim.linear_interpolator); // default to linear interpolator
+        if (resID > 0) {
+            setInterpolator(context, resID);
+        }
+
+        setMax(a.getInt(/*R.styleable.*/ProgressBar_max, mMax));
+
+        setProgress(a.getInt(/*R.styleable.*/ProgressBar_progress, mProgress));
+
+        setSecondaryProgress(
+                a.getInt(/*R.styleable.*/ProgressBar_secondaryProgress, mSecondaryProgress));
+
+        drawable = a.getDrawable(/*R.styleable.*/ProgressBar_indeterminateDrawable);
+        if (drawable != null) {
+            drawable = tileifyIndeterminate(drawable);
+            setIndeterminateDrawable(drawable);
+        }
+
+        mOnlyIndeterminate = a.getBoolean(
+                /*R.styleable.*/ProgressBar_indeterminateOnly, mOnlyIndeterminate);
+
+        mNoInvalidate = false;
+
+        setIndeterminate(mOnlyIndeterminate || a.getBoolean(
+                /*R.styleable.*/ProgressBar_indeterminate, mIndeterminate));
+
+        mAnimationResolution = a.getInteger(/*R.styleable.*/ProgressBar_animationResolution,
+                ANIMATION_RESOLUTION);
+
+        a.recycle();
+
+        mAccessibilityManager = (AccessibilityManager)context.getSystemService(Context.ACCESSIBILITY_SERVICE);
+    }
+
+    /**
+     * Converts a drawable to a tiled version of itself. It will recursively
+     * traverse layer and state list drawables.
+     */
+    private Drawable tileify(Drawable drawable, boolean clip) {
+
+        if (drawable instanceof LayerDrawable) {
+            LayerDrawable background = (LayerDrawable) drawable;
+            final int N = background.getNumberOfLayers();
+            Drawable[] outDrawables = new Drawable[N];
+
+            for (int i = 0; i < N; i++) {
+                int id = background.getId(i);
+                outDrawables[i] = tileify(background.getDrawable(i),
+                        (id == android.R.id.progress || id == android.R.id.secondaryProgress));
+            }
+
+            LayerDrawable newBg = new LayerDrawable(outDrawables);
+
+            for (int i = 0; i < N; i++) {
+                newBg.setId(i, background.getId(i));
+            }
+
+            return newBg;
+
+        }/* else if (drawable instanceof StateListDrawable) {
+            StateListDrawable in = (StateListDrawable) drawable;
+            StateListDrawable out = new StateListDrawable();
+            int numStates = in.getStateCount();
+            for (int i = 0; i < numStates; i++) {
+                out.addState(in.getStateSet(i), tileify(in.getStateDrawable(i), clip));
+            }
+            return out;
+
+        }*/ else if (drawable instanceof BitmapDrawable) {
+            final Bitmap tileBitmap = ((BitmapDrawable) drawable).getBitmap();
+            if (mSampleTile == null) {
+                mSampleTile = tileBitmap;
+            }
+
+            final ShapeDrawable shapeDrawable = new ShapeDrawable(getDrawableShape());
+
+            final BitmapShader bitmapShader = new BitmapShader(tileBitmap,
+                    Shader.TileMode.REPEAT, Shader.TileMode.CLAMP);
+            shapeDrawable.getPaint().setShader(bitmapShader);
+
+            return (clip) ? new ClipDrawable(shapeDrawable, Gravity.LEFT,
+                    ClipDrawable.HORIZONTAL) : shapeDrawable;
+        }
+
+        return drawable;
+    }
+
+    Shape getDrawableShape() {
+        final float[] roundedCorners = new float[] { 5, 5, 5, 5, 5, 5, 5, 5 };
+        return new RoundRectShape(roundedCorners, null, null);
+    }
+
+    /**
+     * Convert a AnimationDrawable for use as a barberpole animation.
+     * Each frame of the animation is wrapped in a ClipDrawable and
+     * given a tiling BitmapShader.
+     */
+    private Drawable tileifyIndeterminate(Drawable drawable) {
+        if (drawable instanceof AnimationDrawable) {
+            AnimationDrawable background = (AnimationDrawable) drawable;
+            final int N = background.getNumberOfFrames();
+            AnimationDrawable newBg = new AnimationDrawable();
+            newBg.setOneShot(background.isOneShot());
+
+            for (int i = 0; i < N; i++) {
+                Drawable frame = tileify(background.getFrame(i), true);
+                frame.setLevel(10000);
+                newBg.addFrame(frame, background.getDuration(i));
+            }
+            newBg.setLevel(10000);
+            drawable = newBg;
+        }
+        return drawable;
+    }
+
+    /**
+     * <p>
+     * Initialize the progress bar's default values:
+     * </p>
+     * <ul>
+     * <li>progress = 0</li>
+     * <li>max = 100</li>
+     * <li>animation duration = 4000 ms</li>
+     * <li>indeterminate = false</li>
+     * <li>behavior = repeat</li>
+     * </ul>
+     */
+    private void initProgressBar() {
+        mMax = 100;
+        mProgress = 0;
+        mSecondaryProgress = 0;
+        mIndeterminate = false;
+        mOnlyIndeterminate = false;
+        mDuration = 4000;
+        mBehavior = AlphaAnimation.RESTART;
+        mMinWidth = 24;
+        mMaxWidth = 48;
+        mMinHeight = 24;
+        mMaxHeight = 48;
+    }
+
+    /**
+     * <p>Indicate whether this progress bar is in indeterminate mode.</p>
+     *
+     * @return true if the progress bar is in indeterminate mode
+     */
+    @ViewDebug.ExportedProperty(category = "progress")
+    public synchronized boolean isIndeterminate() {
+        return mIndeterminate;
+    }
+
+    /**
+     * <p>Change the indeterminate mode for this progress bar. In indeterminate
+     * mode, the progress is ignored and the progress bar shows an infinite
+     * animation instead.</p>
+     *
+     * If this progress bar's style only supports indeterminate mode (such as the circular
+     * progress bars), then this will be ignored.
+     *
+     * @param indeterminate true to enable the indeterminate mode
+     */
+    public synchronized void setIndeterminate(boolean indeterminate) {
+        if ((!mOnlyIndeterminate || !mIndeterminate) && indeterminate != mIndeterminate) {
+            mIndeterminate = indeterminate;
+
+            if (indeterminate) {
+                // swap between indeterminate and regular backgrounds
+                mCurrentDrawable = mIndeterminateDrawable;
+                startAnimation();
+            } else {
+                mCurrentDrawable = mProgressDrawable;
+                stopAnimation();
+            }
+        }
+    }
+
+    /**
+     * <p>Get the drawable used to draw the progress bar in
+     * indeterminate mode.</p>
+     *
+     * @return a {@link android.graphics.drawable.Drawable} instance
+     *
+     * @see #setIndeterminateDrawable(android.graphics.drawable.Drawable)
+     * @see #setIndeterminate(boolean)
+     */
+    public Drawable getIndeterminateDrawable() {
+        return mIndeterminateDrawable;
+    }
+
+    /**
+     * <p>Define the drawable used to draw the progress bar in
+     * indeterminate mode.</p>
+     *
+     * @param d the new drawable
+     *
+     * @see #getIndeterminateDrawable()
+     * @see #setIndeterminate(boolean)
+     */
+    public void setIndeterminateDrawable(Drawable d) {
+        if (d != null) {
+            d.setCallback(this);
+        }
+        mIndeterminateDrawable = d;
+        if (mIndeterminate) {
+            mCurrentDrawable = d;
+            postInvalidate();
+        }
+    }
+
+    /**
+     * <p>Get the drawable used to draw the progress bar in
+     * progress mode.</p>
+     *
+     * @return a {@link android.graphics.drawable.Drawable} instance
+     *
+     * @see #setProgressDrawable(android.graphics.drawable.Drawable)
+     * @see #setIndeterminate(boolean)
+     */
+    public Drawable getProgressDrawable() {
+        return mProgressDrawable;
+    }
+
+    /**
+     * <p>Define the drawable used to draw the progress bar in
+     * progress mode.</p>
+     *
+     * @param d the new drawable
+     *
+     * @see #getProgressDrawable()
+     * @see #setIndeterminate(boolean)
+     */
+    public void setProgressDrawable(Drawable d) {
+        boolean needUpdate;
+        if (mProgressDrawable != null && d != mProgressDrawable) {
+            mProgressDrawable.setCallback(null);
+            needUpdate = true;
+        } else {
+            needUpdate = false;
+        }
+
+        if (d != null) {
+            d.setCallback(this);
+
+            // Make sure the ProgressBar is always tall enough
+            int drawableHeight = d.getMinimumHeight();
+            if (mMaxHeight < drawableHeight) {
+                mMaxHeight = drawableHeight;
+                requestLayout();
+            }
+        }
+        mProgressDrawable = d;
+        if (!mIndeterminate) {
+            mCurrentDrawable = d;
+            postInvalidate();
+        }
+
+        if (needUpdate) {
+            updateDrawableBounds(getWidth(), getHeight());
+            updateDrawableState();
+            doRefreshProgress(android.R.id.progress, mProgress, false, false);
+            doRefreshProgress(android.R.id.secondaryProgress, mSecondaryProgress, false, false);
+        }
+    }
+
+    /**
+     * @return The drawable currently used to draw the progress bar
+     */
+    Drawable getCurrentDrawable() {
+        return mCurrentDrawable;
+    }
+
+    @Override
+    protected boolean verifyDrawable(Drawable who) {
+        return who == mProgressDrawable || who == mIndeterminateDrawable
+                || super.verifyDrawable(who);
+    }
+
+    @Override
+    public void jumpDrawablesToCurrentState() {
+        super.jumpDrawablesToCurrentState();
+        if (mProgressDrawable != null) mProgressDrawable.jumpToCurrentState();
+        if (mIndeterminateDrawable != null) mIndeterminateDrawable.jumpToCurrentState();
+    }
+
+    @Override
+    public void postInvalidate() {
+        if (!mNoInvalidate) {
+            super.postInvalidate();
+        }
+    }
+
+    private class RefreshProgressRunnable implements Runnable {
+
+        private int mId;
+        private int mProgress;
+        private boolean mFromUser;
+
+        RefreshProgressRunnable(int id, int progress, boolean fromUser) {
+            mId = id;
+            mProgress = progress;
+            mFromUser = fromUser;
+        }
+
+        public void run() {
+            doRefreshProgress(mId, mProgress, mFromUser, true);
+            // Put ourselves back in the cache when we are done
+            mRefreshProgressRunnable = this;
+        }
+
+        public void setup(int id, int progress, boolean fromUser) {
+            mId = id;
+            mProgress = progress;
+            mFromUser = fromUser;
+        }
+
+    }
+
+    private synchronized void doRefreshProgress(int id, int progress, boolean fromUser,
+            boolean callBackToApp) {
+        float scale = mMax > 0 ? (float) progress / (float) mMax : 0;
+        final Drawable d = mCurrentDrawable;
+        if (d != null) {
+            Drawable progressDrawable = null;
+
+            if (d instanceof LayerDrawable) {
+                progressDrawable = ((LayerDrawable) d).findDrawableByLayerId(id);
+            }
+
+            final int level = (int) (scale * MAX_LEVEL);
+            (progressDrawable != null ? progressDrawable : d).setLevel(level);
+        } else {
+            invalidate();
+        }
+
+        if (callBackToApp && id == android.R.id.progress) {
+            onProgressRefresh(scale, fromUser);
+        }
+    }
+
+    void onProgressRefresh(float scale, boolean fromUser) {
+        if (mAccessibilityManager.isEnabled()) {
+            scheduleAccessibilityEventSender();
+        }
+    }
+
+    private synchronized void refreshProgress(int id, int progress, boolean fromUser) {
+        if (mUiThreadId == Thread.currentThread().getId()) {
+            doRefreshProgress(id, progress, fromUser, true);
+        } else {
+            RefreshProgressRunnable r;
+            if (mRefreshProgressRunnable != null) {
+                // Use cached RefreshProgressRunnable if available
+                r = mRefreshProgressRunnable;
+                // Uncache it
+                mRefreshProgressRunnable = null;
+                r.setup(id, progress, fromUser);
+            } else {
+                // Make a new one
+                r = new RefreshProgressRunnable(id, progress, fromUser);
+            }
+            post(r);
+        }
+    }
+
+    /**
+     * <p>Set the current progress to the specified value. Does not do anything
+     * if the progress bar is in indeterminate mode.</p>
+     *
+     * @param progress the new progress, between 0 and {@link #getMax()}
+     *
+     * @see #setIndeterminate(boolean)
+     * @see #isIndeterminate()
+     * @see #getProgress()
+     * @see #incrementProgressBy(int)
+     */
+    public synchronized void setProgress(int progress) {
+        setProgress(progress, false);
+    }
+
+    synchronized void setProgress(int progress, boolean fromUser) {
+        if (mIndeterminate) {
+            return;
+        }
+
+        if (progress < 0) {
+            progress = 0;
+        }
+
+        if (progress > mMax) {
+            progress = mMax;
+        }
+
+        if (progress != mProgress) {
+            mProgress = progress;
+            refreshProgress(android.R.id.progress, mProgress, fromUser);
+        }
+    }
+
+    /**
+     * <p>
+     * Set the current secondary progress to the specified value. Does not do
+     * anything if the progress bar is in indeterminate mode.
+     * </p>
+     *
+     * @param secondaryProgress the new secondary progress, between 0 and {@link #getMax()}
+     * @see #setIndeterminate(boolean)
+     * @see #isIndeterminate()
+     * @see #getSecondaryProgress()
+     * @see #incrementSecondaryProgressBy(int)
+     */
+    public synchronized void setSecondaryProgress(int secondaryProgress) {
+        if (mIndeterminate) {
+            return;
+        }
+
+        if (secondaryProgress < 0) {
+            secondaryProgress = 0;
+        }
+
+        if (secondaryProgress > mMax) {
+            secondaryProgress = mMax;
+        }
+
+        if (secondaryProgress != mSecondaryProgress) {
+            mSecondaryProgress = secondaryProgress;
+            refreshProgress(android.R.id.secondaryProgress, mSecondaryProgress, false);
+        }
+    }
+
+    /**
+     * <p>Get the progress bar's current level of progress. Return 0 when the
+     * progress bar is in indeterminate mode.</p>
+     *
+     * @return the current progress, between 0 and {@link #getMax()}
+     *
+     * @see #setIndeterminate(boolean)
+     * @see #isIndeterminate()
+     * @see #setProgress(int)
+     * @see #setMax(int)
+     * @see #getMax()
+     */
+    @ViewDebug.ExportedProperty(category = "progress")
+    public synchronized int getProgress() {
+        return mIndeterminate ? 0 : mProgress;
+    }
+
+    /**
+     * <p>Get the progress bar's current level of secondary progress. Return 0 when the
+     * progress bar is in indeterminate mode.</p>
+     *
+     * @return the current secondary progress, between 0 and {@link #getMax()}
+     *
+     * @see #setIndeterminate(boolean)
+     * @see #isIndeterminate()
+     * @see #setSecondaryProgress(int)
+     * @see #setMax(int)
+     * @see #getMax()
+     */
+    @ViewDebug.ExportedProperty(category = "progress")
+    public synchronized int getSecondaryProgress() {
+        return mIndeterminate ? 0 : mSecondaryProgress;
+    }
+
+    /**
+     * <p>Return the upper limit of this progress bar's range.</p>
+     *
+     * @return a positive integer
+     *
+     * @see #setMax(int)
+     * @see #getProgress()
+     * @see #getSecondaryProgress()
+     */
+    @ViewDebug.ExportedProperty(category = "progress")
+    public synchronized int getMax() {
+        return mMax;
+    }
+
+    /**
+     * <p>Set the range of the progress bar to 0...<tt>max</tt>.</p>
+     *
+     * @param max the upper range of this progress bar
+     *
+     * @see #getMax()
+     * @see #setProgress(int)
+     * @see #setSecondaryProgress(int)
+     */
+    public synchronized void setMax(int max) {
+        if (max < 0) {
+            max = 0;
+        }
+        if (max != mMax) {
+            mMax = max;
+            postInvalidate();
+
+            if (mProgress > max) {
+                mProgress = max;
+            }
+            refreshProgress(android.R.id.progress, mProgress, false);
+        }
+    }
+
+    /**
+     * <p>Increase the progress bar's progress by the specified amount.</p>
+     *
+     * @param diff the amount by which the progress must be increased
+     *
+     * @see #setProgress(int)
+     */
+    public synchronized final void incrementProgressBy(int diff) {
+        setProgress(mProgress + diff);
+    }
+
+    /**
+     * <p>Increase the progress bar's secondary progress by the specified amount.</p>
+     *
+     * @param diff the amount by which the secondary progress must be increased
+     *
+     * @see #setSecondaryProgress(int)
+     */
+    public synchronized final void incrementSecondaryProgressBy(int diff) {
+        setSecondaryProgress(mSecondaryProgress + diff);
+    }
+
+    /**
+     * <p>Start the indeterminate progress animation.</p>
+     */
+    void startAnimation() {
+        if (getVisibility() != VISIBLE) {
+            return;
+        }
+
+        if (mIndeterminateDrawable instanceof Animatable) {
+            mShouldStartAnimationDrawable = true;
+            mAnimation = null;
+        } else {
+            if (mInterpolator == null) {
+                mInterpolator = new LinearInterpolator();
+            }
+
+            mTransformation = new Transformation();
+            mAnimation = new AlphaAnimation(0.0f, 1.0f);
+            mAnimation.setRepeatMode(mBehavior);
+            mAnimation.setRepeatCount(Animation.INFINITE);
+            mAnimation.setDuration(mDuration);
+            mAnimation.setInterpolator(mInterpolator);
+            mAnimation.setStartTime(Animation.START_ON_FIRST_FRAME);
+        }
+        postInvalidate();
+    }
+
+    /**
+     * <p>Stop the indeterminate progress animation.</p>
+     */
+    void stopAnimation() {
+        mAnimation = null;
+        mTransformation = null;
+        if (mIndeterminateDrawable instanceof Animatable) {
+            ((Animatable) mIndeterminateDrawable).stop();
+            mShouldStartAnimationDrawable = false;
+        }
+        postInvalidate();
+    }
+
+    /**
+     * Sets the acceleration curve for the indeterminate animation.
+     * The interpolator is loaded as a resource from the specified context.
+     *
+     * @param context The application environment
+     * @param resID The resource identifier of the interpolator to load
+     */
+    public void setInterpolator(Context context, int resID) {
+        setInterpolator(AnimationUtils.loadInterpolator(context, resID));
+    }
+
+    /**
+     * Sets the acceleration curve for the indeterminate animation.
+     * Defaults to a linear interpolation.
+     *
+     * @param interpolator The interpolator which defines the acceleration curve
+     */
+    public void setInterpolator(Interpolator interpolator) {
+        mInterpolator = interpolator;
+    }
+
+    /**
+     * Gets the acceleration curve type for the indeterminate animation.
+     *
+     * @return the {@link Interpolator} associated to this animation
+     */
+    public Interpolator getInterpolator() {
+        return mInterpolator;
+    }
+
+    @Override
+    public void setVisibility(int v) {
+        if (getVisibility() != v) {
+            super.setVisibility(v);
+
+            if (mIndeterminate) {
+                // let's be nice with the UI thread
+                if (v == GONE || v == INVISIBLE) {
+                    stopAnimation();
+                } else {
+                    startAnimation();
+                }
+            }
+        }
+    }
+
+    @Override
+    protected void onVisibilityChanged(View changedView, int visibility) {
+        super.onVisibilityChanged(changedView, visibility);
+
+        if (mIndeterminate) {
+            // let's be nice with the UI thread
+            if (visibility == GONE || visibility == INVISIBLE) {
+                stopAnimation();
+            } else {
+                startAnimation();
+            }
+        }
+    }
+
+    @Override
+    public void invalidateDrawable(Drawable dr) {
+        if (!mInDrawing) {
+            if (verifyDrawable(dr)) {
+                final Rect dirty = dr.getBounds();
+                final int scrollX = getScrollX() + getPaddingLeft();
+                final int scrollY = getScrollY() + getPaddingTop();
+
+                invalidate(dirty.left + scrollX, dirty.top + scrollY,
+                        dirty.right + scrollX, dirty.bottom + scrollY);
+            } else {
+                super.invalidateDrawable(dr);
+            }
+        }
+    }
+
+    /**
+     * @hide
+     *
+    @Override
+    public int getResolvedLayoutDirection(Drawable who) {
+        return (who == mProgressDrawable || who == mIndeterminateDrawable) ?
+            getResolvedLayoutDirection() : super.getResolvedLayoutDirection(who);
+    }
+    */
+
+    @Override
+    protected void onSizeChanged(int w, int h, int oldw, int oldh) {
+        updateDrawableBounds(w, h);
+    }
+
+    private void updateDrawableBounds(int w, int h) {
+        // onDraw will translate the canvas so we draw starting at 0,0
+        int right = w - getPaddingRight() - getPaddingLeft();
+        int bottom = h - getPaddingBottom() - getPaddingTop();
+        int top = 0;
+        int left = 0;
+
+        if (mIndeterminateDrawable != null) {
+            // Aspect ratio logic does not apply to AnimationDrawables
+            if (mOnlyIndeterminate && !(mIndeterminateDrawable instanceof AnimationDrawable)) {
+                // Maintain aspect ratio. Certain kinds of animated drawables
+                // get very confused otherwise.
+                final int intrinsicWidth = mIndeterminateDrawable.getIntrinsicWidth();
+                final int intrinsicHeight = mIndeterminateDrawable.getIntrinsicHeight();
+                final float intrinsicAspect = (float) intrinsicWidth / intrinsicHeight;
+                final float boundAspect = (float) w / h;
+                if (intrinsicAspect != boundAspect) {
+                    if (boundAspect > intrinsicAspect) {
+                        // New width is larger. Make it smaller to match height.
+                        final int width = (int) (h * intrinsicAspect);
+                        left = (w - width) / 2;
+                        right = left + width;
+                    } else {
+                        // New height is larger. Make it smaller to match width.
+                        final int height = (int) (w * (1 / intrinsicAspect));
+                        top = (h - height) / 2;
+                        bottom = top + height;
+                    }
+                }
+            }
+            mIndeterminateDrawable.setBounds(0, 0, right - left, bottom - top);
+            mIndeterminateRealLeft = left;
+            mIndeterminateRealTop = top;
+        }
+
+        if (mProgressDrawable != null) {
+            mProgressDrawable.setBounds(0, 0, right, bottom);
+        }
+    }
+
+    @Override
+    protected synchronized void onDraw(Canvas canvas) {
+        super.onDraw(canvas);
+
+        Drawable d = mCurrentDrawable;
+        if (d != null) {
+            // Translate canvas so a indeterminate circular progress bar with padding
+            // rotates properly in its animation
+            canvas.save();
+            canvas.translate(getPaddingLeft() + mIndeterminateRealLeft, getPaddingTop() + mIndeterminateRealTop);
+            long time = getDrawingTime();
+            if (mAnimation != null) {
+                mAnimation.getTransformation(time, mTransformation);
+                float scale = mTransformation.getAlpha();
+                try {
+                    mInDrawing = true;
+                    d.setLevel((int) (scale * MAX_LEVEL));
+                } finally {
+                    mInDrawing = false;
+                }
+                if (SystemClock.uptimeMillis() - mLastDrawTime >= mAnimationResolution) {
+                    mLastDrawTime = SystemClock.uptimeMillis();
+                    postInvalidateDelayed(mAnimationResolution);
+                }
+            }
+            d.draw(canvas);
+            canvas.restore();
+            if (mShouldStartAnimationDrawable && d instanceof Animatable) {
+                ((Animatable) d).start();
+                mShouldStartAnimationDrawable = false;
+            }
+        }
+    }
+
+    @Override
+    protected synchronized void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
+        Drawable d = mCurrentDrawable;
+
+        int dw = 0;
+        int dh = 0;
+        if (d != null) {
+            dw = Math.max(mMinWidth, Math.min(mMaxWidth, d.getIntrinsicWidth()));
+            dh = Math.max(mMinHeight, Math.min(mMaxHeight, d.getIntrinsicHeight()));
+        }
+        updateDrawableState();
+        dw += getPaddingLeft() + getPaddingRight();
+        dh += getPaddingTop() + getPaddingBottom();
+
+        if (IS_HONEYCOMB) {
+            setMeasuredDimension(View.resolveSizeAndState(dw, widthMeasureSpec, 0),
+                    View.resolveSizeAndState(dh, heightMeasureSpec, 0));
+        } else {
+            setMeasuredDimension(View.resolveSize(dw, widthMeasureSpec),
+                    View.resolveSize(dh, heightMeasureSpec));
+        }
+    }
+
+    @Override
+    protected void drawableStateChanged() {
+        super.drawableStateChanged();
+        updateDrawableState();
+    }
+
+    private void updateDrawableState() {
+        int[] state = getDrawableState();
+
+        if (mProgressDrawable != null && mProgressDrawable.isStateful()) {
+            mProgressDrawable.setState(state);
+        }
+
+        if (mIndeterminateDrawable != null && mIndeterminateDrawable.isStateful()) {
+            mIndeterminateDrawable.setState(state);
+        }
+    }
+
+    static class SavedState extends BaseSavedState {
+        int progress;
+        int secondaryProgress;
+
+        /**
+         * Constructor called from {@link IcsProgressBar#onSaveInstanceState()}
+         */
+        SavedState(Parcelable superState) {
+            super(superState);
+        }
+
+        /**
+         * Constructor called from {@link #CREATOR}
+         */
+        private SavedState(Parcel in) {
+            super(in);
+            progress = in.readInt();
+            secondaryProgress = in.readInt();
+        }
+
+        @Override
+        public void writeToParcel(Parcel out, int flags) {
+            super.writeToParcel(out, flags);
+            out.writeInt(progress);
+            out.writeInt(secondaryProgress);
+        }
+
+        public static final Parcelable.Creator<SavedState> CREATOR
+                = new Parcelable.Creator<SavedState>() {
+            public SavedState createFromParcel(Parcel in) {
+                return new SavedState(in);
+            }
+
+            public SavedState[] newArray(int size) {
+                return new SavedState[size];
+            }
+        };
+    }
+
+    @Override
+    public Parcelable onSaveInstanceState() {
+        // Force our ancestor class to save its state
+        Parcelable superState = super.onSaveInstanceState();
+        SavedState ss = new SavedState(superState);
+
+        ss.progress = mProgress;
+        ss.secondaryProgress = mSecondaryProgress;
+
+        return ss;
+    }
+
+    @Override
+    public void onRestoreInstanceState(Parcelable state) {
+        SavedState ss = (SavedState) state;
+        super.onRestoreInstanceState(ss.getSuperState());
+
+        setProgress(ss.progress);
+        setSecondaryProgress(ss.secondaryProgress);
+    }
+
+    @Override
+    protected void onAttachedToWindow() {
+        super.onAttachedToWindow();
+        if (mIndeterminate) {
+            startAnimation();
+        }
+    }
+
+    @Override
+    protected void onDetachedFromWindow() {
+        if (mIndeterminate) {
+            stopAnimation();
+        }
+        if(mRefreshProgressRunnable != null) {
+            removeCallbacks(mRefreshProgressRunnable);
+        }
+        if (mAccessibilityEventSender != null) {
+            removeCallbacks(mAccessibilityEventSender);
+        }
+        // This should come after stopAnimation(), otherwise an invalidate message remains in the
+        // queue, which can prevent the entire view hierarchy from being GC'ed during a rotation
+        super.onDetachedFromWindow();
+    }
+
+    @Override
+    public void onInitializeAccessibilityEvent(AccessibilityEvent event) {
+        super.onInitializeAccessibilityEvent(event);
+        event.setItemCount(mMax);
+        event.setCurrentItemIndex(mProgress);
+    }
+
+    /**
+     * Schedule a command for sending an accessibility event.
+     * </br>
+     * Note: A command is used to ensure that accessibility events
+     *       are sent at most one in a given time frame to save
+     *       system resources while the progress changes quickly.
+     */
+    private void scheduleAccessibilityEventSender() {
+        if (mAccessibilityEventSender == null) {
+            mAccessibilityEventSender = new AccessibilityEventSender();
+        } else {
+            removeCallbacks(mAccessibilityEventSender);
+        }
+        postDelayed(mAccessibilityEventSender, TIMEOUT_SEND_ACCESSIBILITY_EVENT);
+    }
+
+    /**
+     * Command for sending an accessibility event.
+     */
+    private class AccessibilityEventSender implements Runnable {
+        public void run() {
+            sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_SELECTED);
+        }
+    }
+}
diff --git a/res/layout/action_bar_text.xml b/res/layout/action_bar_text.xml
index a332647..bff5f1f 100644
--- a/res/layout/action_bar_text.xml
+++ b/res/layout/action_bar_text.xml
@@ -16,7 +16,7 @@
 
 <TextView xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@android:id/text1"
-    android:background="?android:attr/activatedBackgroundIndicator"
+    android:background="?attr/activatedBackgroundIndicator"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:textAppearance="?android:attr/textAppearanceMedium"
diff --git a/res/layout/action_mode.xml b/res/layout/action_mode.xml
index 6c516e6..9650de6 100644
--- a/res/layout/action_mode.xml
+++ b/res/layout/action_mode.xml
@@ -29,10 +29,10 @@
                 android:layout_height="match_parent"
                 android:src="@drawable/dropdown_ic_arrow_normal_holo_dark" />
         <Button android:id="@+id/selection_menu"
-                style="?android:attr/actionButtonStyle"
+                style="?attr/actionButtonStyle"
                 android:divider="?android:attr/listDividerAlertDialog"
-                android:textAppearance="?android:attr/textAppearanceLargePopupMenu"
-                android:textColor="?android:attr/actionMenuTextColor"
+                android:textAppearance="?attr/textAppearanceLargePopupMenu"
+                android:textColor="?attr/actionMenuTextColor"
                 android:singleLine="true"
                 android:gravity="left|center_vertical"
                 android:paddingRight="25dip"
diff --git a/res/layout/popup_list_item.xml b/res/layout/popup_list_item.xml
index 5a87af7..a72f5b4 100644
--- a/res/layout/popup_list_item.xml
+++ b/res/layout/popup_list_item.xml
@@ -18,11 +18,11 @@
     android:id="@android:id/text1"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
-    android:textAppearance="?android:attr/textAppearanceLargePopupMenu"
+    android:textAppearance="?attr/textAppearanceLargePopupMenu"
     android:singleLine="true"
     android:gravity="center_vertical"
     android:paddingLeft="16dp"
     android:paddingRight="16dp"
-    android:minHeight="?android:attr/listPreferredItemHeight"
+    android:minHeight="?attr/dropdownListPreferredItemHeight"
     android:minWidth="196dp"
 />
diff --git a/res/menu/movie.xml b/res/menu/movie.xml
index fde235c..bc67c29 100644
--- a/res/menu/movie.xml
+++ b/res/menu/movie.xml
@@ -18,6 +18,6 @@
             android:icon="@drawable/ic_menu_share_holo_light"
             android:title="@string/share"
             android:enabled="true"
-            android:actionProviderClass="android.widget.ShareActionProvider"
+            android:actionProviderClass="com.actionbarsherlock.widget.ShareActionProvider"
             android:showAsAction="ifRoom" />
 </menu>
diff --git a/res/menu/operation.xml b/res/menu/operation.xml
index d1791e2..984a944 100644
--- a/res/menu/operation.xml
+++ b/res/menu/operation.xml
@@ -26,14 +26,14 @@
             android:icon="@drawable/ic_menu_share_holo_light"
             android:title="@string/share_panorama"
             android:visible="false"
-            android:actionProviderClass="android.widget.ShareActionProvider"
+            android:actionProviderClass="com.actionbarsherlock.widget.ShareActionProvider"
             android:showAsAction="ifRoom">
     </item>
     <item android:id="@+id/action_share"
             android:icon="@drawable/ic_menu_share_holo_light"
             android:title="@string/share"
             android:visible="false"
-            android:actionProviderClass="android.widget.ShareActionProvider"
+            android:actionProviderClass="com.actionbarsherlock.widget.ShareActionProvider"
             android:showAsAction="never">
     </item>
     <item android:id="@+id/action_delete"
diff --git a/res/menu/photo.xml b/res/menu/photo.xml
index 569272e..df3e4e8 100644
--- a/res/menu/photo.xml
+++ b/res/menu/photo.xml
@@ -26,13 +26,13 @@
             android:icon="@drawable/ic_menu_share_holo_light"
             android:title="@string/share_panorama"
             android:visible="false"
-            android:actionProviderClass="android.widget.ShareActionProvider"
+            android:actionProviderClass="com.actionbarsherlock.widget.ShareActionProvider"
             android:showAsAction="ifRoom" />
     <item android:id="@+id/action_share"
             android:icon="@drawable/ic_menu_share_holo_light"
             android:title="@string/share"
             android:visible="false"
-            android:actionProviderClass="android.widget.ShareActionProvider"
+            android:actionProviderClass="com.actionbarsherlock.widget.ShareActionProvider"
             android:showAsAction="never" />
     <item android:id="@+id/action_delete"
             android:icon="@drawable/ic_menu_trash_holo_light"
diff --git a/res/values-v14/styles.xml b/res/values-v14/styles.xml
index b6d6e43..db89b05 100644
--- a/res/values-v14/styles.xml
+++ b/res/values-v14/styles.xml
@@ -15,7 +15,7 @@
 -->
 
 <resources>
-    <style name="Theme.GalleryBase" parent="android:Theme.Holo">
+    <style name="Theme.GalleryBase" parent="Theme.Sherlock">
         <item name="listPreferredItemHeightSmall">?android:attr/listPreferredItemHeightSmall</item>
         <item name="switchStyle">@android:style/Widget.CompoundButton</item>
     </style>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index c534ad8..e9aebcd 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -15,11 +15,11 @@
 -->
 
 <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <style name="Theme.GalleryBase" parent="android:Theme.Holo">
+    <style name="Theme.GalleryBase" parent="Theme.Sherlock">
         <item name="listPreferredItemHeightSmall">48dp</item>
         <item name="switchStyle">@android:style/Widget.CompoundButton</item>
     </style>
-    <style name="Theme.Gallery.Dialog" parent="android:Theme.Holo.Dialog"/>
+    <style name="Theme.Gallery.Dialog" parent="Theme.Sherlock.Dialog"/>
     <style name="Theme.Gallery" parent="Theme.GalleryBase">
         <item name="android:displayOptions"></item>
         <item name="android:windowContentOverlay">@null</item>