diff options
author | John Reck <jreck@google.com> | 2012-10-30 17:34:20 -0700 |
---|---|---|
committer | John Reck <jreck@google.com> | 2012-10-31 15:01:13 -0700 |
commit | 50e6182c8d6b9e6eba61fa3906c0ff348764efd8 (patch) | |
tree | 3664da0c76170e0a7d2ec0f71fd59cf7aa34c954 /actionbarsherlock | |
parent | 7d4315674d8e661afd82b5ce8fcbcbcb1c0a218a (diff) | |
download | android_packages_apps_Snap-50e6182c8d6b9e6eba61fa3906c0ff348764efd8.tar.gz android_packages_apps_Snap-50e6182c8d6b9e6eba61fa3906c0ff348764efd8.tar.bz2 android_packages_apps_Snap-50e6182c8d6b9e6eba61fa3906c0ff348764efd8.zip |
Gingerbread support-ish
This reverts commit 1336062985c9824d7fd796b1cebd5eaa8e4163ca.
Change-Id: I718ec56315dc207a3e612abb4576bddab9afa2ee
Diffstat (limited to 'actionbarsherlock')
281 files changed, 5685 insertions, 0 deletions
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 000000000..ea7459aaf --- /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 000000000..0edb33b4b --- /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 000000000..2bcfd0b63 --- /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 000000000..198384fed --- /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 Binary files differnew file mode 100644 index 000000000..769463b36 --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__ab_bottom_solid_dark_holo.9.png 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 Binary files differnew file mode 100644 index 000000000..88f11dcb9 --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__ab_bottom_solid_inverse_holo.9.png 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 Binary files differnew file mode 100644 index 000000000..73050476e --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__ab_bottom_solid_light_holo.9.png 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 Binary files differnew file mode 100644 index 000000000..712a551ec --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__ab_bottom_transparent_dark_holo.9.png 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 Binary files differnew file mode 100644 index 000000000..bf3b9438b --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__ab_bottom_transparent_light_holo.9.png 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 Binary files differnew file mode 100644 index 000000000..6c1415772 --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__ab_share_pack_holo_dark.9.png 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 Binary files differnew file mode 100644 index 000000000..f4ff16be7 --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__ab_share_pack_holo_light.9.png 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 Binary files differnew file mode 100644 index 000000000..cbbaec588 --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__ab_solid_dark_holo.9.png 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 Binary files differnew file mode 100644 index 000000000..af917e5b6 --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__ab_solid_light_holo.9.png 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 Binary files differnew file mode 100644 index 000000000..2d59f354e --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__ab_solid_shadow_holo.9.png 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 Binary files differnew file mode 100644 index 000000000..0520e5a2f --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__ab_stacked_solid_dark_holo.9.png 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 Binary files differnew file mode 100644 index 000000000..e3e3f93b9 --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__ab_stacked_solid_light_holo.9.png 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 Binary files differnew file mode 100644 index 000000000..1e3957222 --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__ab_stacked_transparent_dark_holo.9.png 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 Binary files differnew file mode 100644 index 000000000..a16db853e --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__ab_stacked_transparent_light_holo.9.png 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 Binary files differnew file mode 100644 index 000000000..0eff695d8 --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__ab_transparent_dark_holo.9.png 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 Binary files differnew file mode 100644 index 000000000..219b170fa --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__ab_transparent_light_holo.9.png 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 Binary files differnew file mode 100644 index 000000000..b0dc31fb3 --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__btn_cab_done_default_holo_dark.9.png 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 Binary files differnew file mode 100644 index 000000000..4bc2683b1 --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__btn_cab_done_default_holo_light.9.png 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 Binary files differnew file mode 100644 index 000000000..4af38fb70 --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__btn_cab_done_focused_holo_dark.9.png 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 Binary files differnew file mode 100644 index 000000000..d32f74cf4 --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__btn_cab_done_focused_holo_light.9.png 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 Binary files differnew file mode 100644 index 000000000..66adffed6 --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__btn_cab_done_pressed_holo_dark.9.png 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 Binary files differnew file mode 100644 index 000000000..caeff9c33 --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__btn_cab_done_pressed_holo_light.9.png 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 Binary files differnew file mode 100644 index 000000000..1d836f65a --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__cab_background_bottom_holo_dark.9.png 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 Binary files differnew file mode 100644 index 000000000..5818666d4 --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__cab_background_bottom_holo_light.9.png 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 Binary files differnew file mode 100644 index 000000000..564fb34b4 --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__cab_background_top_holo_dark.9.png 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 Binary files differnew file mode 100644 index 000000000..ae21b760f --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__cab_background_top_holo_light.9.png 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 Binary files differnew file mode 100644 index 000000000..79e56f522 --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__dialog_full_holo_dark.9.png 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 Binary files differnew file mode 100644 index 000000000..e029f210b --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__dialog_full_holo_light.9.png 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 Binary files differnew file mode 100644 index 000000000..897a1c11a --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__ic_ab_back_holo_dark.png 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 Binary files differnew file mode 100644 index 000000000..0c89f7140 --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__ic_ab_back_holo_light.png 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 Binary files differnew file mode 100644 index 000000000..d8662e3f0 --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__ic_cab_done_holo_dark.png 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 Binary files differnew file mode 100644 index 000000000..ed03f620f --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__ic_cab_done_holo_light.png 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 Binary files differnew file mode 100644 index 000000000..2abc45809 --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__ic_menu_moreoverflow_normal_holo_dark.png 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 Binary files differnew file mode 100644 index 000000000..bb6aef1d0 --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__ic_menu_moreoverflow_normal_holo_light.png 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 Binary files differnew file mode 100644 index 000000000..6f747c8f0 --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__ic_menu_share_holo_dark.png 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 Binary files differnew file mode 100644 index 000000000..682b2fdec --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__ic_menu_share_holo_light.png diff --git a/actionbarsherlock/res/drawable-hdpi/abs__list_activated_holo.9.png b/actionbarsherlock/res/drawable-hdpi/abs__list_activated_holo.9.png Binary files differnew file mode 100644 index 000000000..4ea7afa00 --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__list_activated_holo.9.png 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 Binary files differnew file mode 100644 index 000000000..986ab0b97 --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__list_divider_holo_dark.9.png 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 Binary files differnew file mode 100644 index 000000000..0279e17a1 --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__list_divider_holo_light.9.png diff --git a/actionbarsherlock/res/drawable-hdpi/abs__list_focused_holo.9.png b/actionbarsherlock/res/drawable-hdpi/abs__list_focused_holo.9.png Binary files differnew file mode 100644 index 000000000..516f5c739 --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__list_focused_holo.9.png diff --git a/actionbarsherlock/res/drawable-hdpi/abs__list_longpressed_holo.9.png b/actionbarsherlock/res/drawable-hdpi/abs__list_longpressed_holo.9.png Binary files differnew file mode 100644 index 000000000..4ea7afa00 --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__list_longpressed_holo.9.png 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 Binary files differnew file mode 100644 index 000000000..5654cd694 --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__list_pressed_holo_dark.9.png 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 Binary files differnew file mode 100644 index 000000000..5654cd694 --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__list_pressed_holo_light.9.png 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 Binary files differnew file mode 100644 index 000000000..f6fd30dcd --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__list_selector_disabled_holo_dark.9.png 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 Binary files differnew file mode 100644 index 000000000..ca8e9a277 --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__list_selector_disabled_holo_light.9.png 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 Binary files differnew file mode 100644 index 000000000..4d3d20857 --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__menu_dropdown_panel_holo_dark.9.png 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 Binary files differnew file mode 100644 index 000000000..924a99d17 --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__menu_dropdown_panel_holo_light.9.png 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 Binary files differnew file mode 100644 index 000000000..310c368e7 --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__progress_bg_holo_dark.9.png 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 Binary files differnew file mode 100644 index 000000000..70cb7fc7e --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__progress_bg_holo_light.9.png 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 Binary files differnew file mode 100644 index 000000000..1c269205e --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__progress_primary_holo_dark.9.png 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 Binary files differnew file mode 100644 index 000000000..1c269205e --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__progress_primary_holo_light.9.png 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 Binary files differnew file mode 100644 index 000000000..40d0d1645 --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__progress_secondary_holo_dark.9.png 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 Binary files differnew file mode 100644 index 000000000..40d0d1645 --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__progress_secondary_holo_light.9.png diff --git a/actionbarsherlock/res/drawable-hdpi/abs__spinner_48_inner_holo.png b/actionbarsherlock/res/drawable-hdpi/abs__spinner_48_inner_holo.png Binary files differnew file mode 100644 index 000000000..c8358e9ce --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__spinner_48_inner_holo.png diff --git a/actionbarsherlock/res/drawable-hdpi/abs__spinner_48_outer_holo.png b/actionbarsherlock/res/drawable-hdpi/abs__spinner_48_outer_holo.png Binary files differnew file mode 100644 index 000000000..f62f74bb3 --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__spinner_48_outer_holo.png 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 Binary files differnew file mode 100644 index 000000000..eb28ff9a5 --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__spinner_ab_default_holo_dark.9.png 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 Binary files differnew file mode 100644 index 000000000..d281adb55 --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__spinner_ab_default_holo_light.9.png 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 Binary files differnew file mode 100644 index 000000000..b29858609 --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__spinner_ab_disabled_holo_dark.9.png 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 Binary files differnew file mode 100644 index 000000000..4215396dd --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__spinner_ab_disabled_holo_light.9.png 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 Binary files differnew file mode 100644 index 000000000..a280eabf5 --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__spinner_ab_focused_holo_dark.9.png 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 Binary files differnew file mode 100644 index 000000000..f8d619b4d --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__spinner_ab_focused_holo_light.9.png 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 Binary files differnew file mode 100644 index 000000000..955a2f340 --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__spinner_ab_pressed_holo_dark.9.png 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 Binary files differnew file mode 100644 index 000000000..6c22e223a --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__spinner_ab_pressed_holo_light.9.png 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 Binary files differnew file mode 100644 index 000000000..673e3bf10 --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__tab_selected_focused_holo.9.png diff --git a/actionbarsherlock/res/drawable-hdpi/abs__tab_selected_holo.9.png b/actionbarsherlock/res/drawable-hdpi/abs__tab_selected_holo.9.png Binary files differnew file mode 100644 index 000000000..d57df98b5 --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__tab_selected_holo.9.png 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 Binary files differnew file mode 100644 index 000000000..6278eef47 --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__tab_selected_pressed_holo.9.png 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 Binary files differnew file mode 100644 index 000000000..aadc6f87b --- /dev/null +++ b/actionbarsherlock/res/drawable-hdpi/abs__tab_unselected_pressed_holo.9.png 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 Binary files differnew file mode 100644 index 000000000..b2293670b --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__ab_bottom_solid_dark_holo.9.png 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 Binary files differnew file mode 100644 index 000000000..c65f443e3 --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__ab_bottom_solid_inverse_holo.9.png 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 Binary files differnew file mode 100644 index 000000000..0706c8af6 --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__ab_bottom_solid_light_holo.9.png 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 Binary files differnew file mode 100644 index 000000000..d814d02d3 --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__ab_bottom_transparent_dark_holo.9.png 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 Binary files differnew file mode 100644 index 000000000..b139c8e49 --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__ab_bottom_transparent_light_holo.9.png 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 Binary files differnew file mode 100644 index 000000000..ed4ba34ec --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__ab_share_pack_holo_dark.9.png 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 Binary files differnew file mode 100644 index 000000000..8f10bd522 --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__ab_share_pack_holo_light.9.png 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 Binary files differnew file mode 100644 index 000000000..743d00b6c --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__ab_solid_dark_holo.9.png 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 Binary files differnew file mode 100644 index 000000000..17c1fb921 --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__ab_solid_light_holo.9.png 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 Binary files differnew file mode 100644 index 000000000..ddfc8e3d5 --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__ab_solid_shadow_holo.9.png 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 Binary files differnew file mode 100644 index 000000000..007a4b239 --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__ab_stacked_solid_dark_holo.9.png 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 Binary files differnew file mode 100644 index 000000000..ad6e1a4d9 --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__ab_stacked_solid_light_holo.9.png 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 Binary files differnew file mode 100644 index 000000000..0ad6c888b --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__ab_stacked_transparent_dark_holo.9.png 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 Binary files differnew file mode 100644 index 000000000..19b50abcb --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__ab_stacked_transparent_light_holo.9.png 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 Binary files differnew file mode 100644 index 000000000..ad980b13f --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__ab_transparent_dark_holo.9.png 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 Binary files differnew file mode 100644 index 000000000..60e6c5278 --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__ab_transparent_light_holo.9.png 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 Binary files differnew file mode 100644 index 000000000..5461b9c00 --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__btn_cab_done_default_holo_dark.9.png 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 Binary files differnew file mode 100644 index 000000000..5dc6f804a --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__btn_cab_done_default_holo_light.9.png 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 Binary files differnew file mode 100644 index 000000000..a70b53c59 --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__btn_cab_done_focused_holo_dark.9.png 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 Binary files differnew file mode 100644 index 000000000..c7a9896b0 --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__btn_cab_done_focused_holo_light.9.png 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 Binary files differnew file mode 100644 index 000000000..85d7aadd4 --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__btn_cab_done_pressed_holo_dark.9.png 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 Binary files differnew file mode 100644 index 000000000..f7b01e012 --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__btn_cab_done_pressed_holo_light.9.png 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 Binary files differnew file mode 100644 index 000000000..d8f1c8bd5 --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__cab_background_bottom_holo_dark.9.png 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 Binary files differnew file mode 100644 index 000000000..31e49894a --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__cab_background_bottom_holo_light.9.png 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 Binary files differnew file mode 100644 index 000000000..7c2cbe535 --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__cab_background_top_holo_dark.9.png 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 Binary files differnew file mode 100644 index 000000000..30cbdc174 --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__cab_background_top_holo_light.9.png 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 Binary files differnew file mode 100644 index 000000000..fb3660eab --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__dialog_full_holo_dark.9.png 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 Binary files differnew file mode 100644 index 000000000..f18050ea5 --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__dialog_full_holo_light.9.png 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 Binary files differnew file mode 100644 index 000000000..df2d3d158 --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__ic_ab_back_holo_dark.png 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 Binary files differnew file mode 100644 index 000000000..b2aa9c265 --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__ic_ab_back_holo_light.png 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 Binary files differnew file mode 100644 index 000000000..a17b6a789 --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__ic_cab_done_holo_dark.png 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 Binary files differnew file mode 100644 index 000000000..b28b3b54f --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__ic_cab_done_holo_light.png 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 Binary files differnew file mode 100644 index 000000000..ba704b67e --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__ic_menu_moreoverflow_normal_holo_dark.png 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 Binary files differnew file mode 100644 index 000000000..01d681697 --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__ic_menu_moreoverflow_normal_holo_light.png 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 Binary files differnew file mode 100644 index 000000000..6bf21e307 --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__ic_menu_share_holo_dark.png 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 Binary files differnew file mode 100644 index 000000000..70fe31aa2 --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__ic_menu_share_holo_light.png diff --git a/actionbarsherlock/res/drawable-mdpi/abs__list_activated_holo.9.png b/actionbarsherlock/res/drawable-mdpi/abs__list_activated_holo.9.png Binary files differnew file mode 100644 index 000000000..3bf8e0362 --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__list_activated_holo.9.png 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 Binary files differnew file mode 100644 index 000000000..986ab0b97 --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__list_divider_holo_dark.9.png 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 Binary files differnew file mode 100644 index 000000000..0279e17a1 --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__list_divider_holo_light.9.png diff --git a/actionbarsherlock/res/drawable-mdpi/abs__list_focused_holo.9.png b/actionbarsherlock/res/drawable-mdpi/abs__list_focused_holo.9.png Binary files differnew file mode 100644 index 000000000..7c0599e3a --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__list_focused_holo.9.png diff --git a/actionbarsherlock/res/drawable-mdpi/abs__list_longpressed_holo.9.png b/actionbarsherlock/res/drawable-mdpi/abs__list_longpressed_holo.9.png Binary files differnew file mode 100644 index 000000000..3bf8e0362 --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__list_longpressed_holo.9.png 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 Binary files differnew file mode 100644 index 000000000..6e77525d2 --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__list_pressed_holo_dark.9.png 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 Binary files differnew file mode 100644 index 000000000..6e77525d2 --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__list_pressed_holo_light.9.png 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 Binary files differnew file mode 100644 index 000000000..92da2f0dd --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__list_selector_disabled_holo_dark.9.png 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 Binary files differnew file mode 100644 index 000000000..42cb6463e --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__list_selector_disabled_holo_light.9.png 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 Binary files differnew file mode 100644 index 000000000..460ec46eb --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__menu_dropdown_panel_holo_dark.9.png 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 Binary files differnew file mode 100644 index 000000000..e84adf2d4 --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__menu_dropdown_panel_holo_light.9.png 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 Binary files differnew file mode 100644 index 000000000..3d946e545 --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__progress_bg_holo_dark.9.png 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 Binary files differnew file mode 100644 index 000000000..4bb22f0e1 --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__progress_bg_holo_light.9.png 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 Binary files differnew file mode 100644 index 000000000..ab8ec6984 --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__progress_primary_holo_dark.9.png 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 Binary files differnew file mode 100644 index 000000000..ab8ec6984 --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__progress_primary_holo_light.9.png 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 Binary files differnew file mode 100644 index 000000000..7274274b1 --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__progress_secondary_holo_dark.9.png 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 Binary files differnew file mode 100644 index 000000000..7274274b1 --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__progress_secondary_holo_light.9.png diff --git a/actionbarsherlock/res/drawable-mdpi/abs__spinner_48_inner_holo.png b/actionbarsherlock/res/drawable-mdpi/abs__spinner_48_inner_holo.png Binary files differnew file mode 100644 index 000000000..9458668f0 --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__spinner_48_inner_holo.png diff --git a/actionbarsherlock/res/drawable-mdpi/abs__spinner_48_outer_holo.png b/actionbarsherlock/res/drawable-mdpi/abs__spinner_48_outer_holo.png Binary files differnew file mode 100644 index 000000000..4ce73edce --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__spinner_48_outer_holo.png 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 Binary files differnew file mode 100644 index 000000000..29aff4d43 --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__spinner_ab_default_holo_dark.9.png 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 Binary files differnew file mode 100644 index 000000000..4055f7053 --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__spinner_ab_default_holo_light.9.png 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 Binary files differnew file mode 100644 index 000000000..ea4ee042e --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__spinner_ab_disabled_holo_dark.9.png 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 Binary files differnew file mode 100644 index 000000000..f74c02b9e --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__spinner_ab_disabled_holo_light.9.png 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 Binary files differnew file mode 100644 index 000000000..09a2992cc --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__spinner_ab_focused_holo_dark.9.png 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 Binary files differnew file mode 100644 index 000000000..6536ee633 --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__spinner_ab_focused_holo_light.9.png 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 Binary files differnew file mode 100644 index 000000000..202b5b72e --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__spinner_ab_pressed_holo_dark.9.png 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 Binary files differnew file mode 100644 index 000000000..6de0ba884 --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__spinner_ab_pressed_holo_light.9.png 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 Binary files differnew file mode 100644 index 000000000..c9972e74b --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__tab_selected_focused_holo.9.png diff --git a/actionbarsherlock/res/drawable-mdpi/abs__tab_selected_holo.9.png b/actionbarsherlock/res/drawable-mdpi/abs__tab_selected_holo.9.png Binary files differnew file mode 100644 index 000000000..587337caf --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__tab_selected_holo.9.png 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 Binary files differnew file mode 100644 index 000000000..155c4fc75 --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__tab_selected_pressed_holo.9.png 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 Binary files differnew file mode 100644 index 000000000..b1223fe3c --- /dev/null +++ b/actionbarsherlock/res/drawable-mdpi/abs__tab_unselected_pressed_holo.9.png 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 000000000..6bcbdb83f --- /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 Binary files differnew file mode 100644 index 000000000..575334699 --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__ab_bottom_solid_dark_holo.9.png 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 Binary files differnew file mode 100644 index 000000000..7e6c047d6 --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__ab_bottom_solid_inverse_holo.9.png 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 Binary files differnew file mode 100644 index 000000000..8155fe840 --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__ab_bottom_solid_light_holo.9.png 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 Binary files differnew file mode 100644 index 000000000..6cee9a128 --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__ab_bottom_transparent_dark_holo.9.png 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 Binary files differnew file mode 100644 index 000000000..fa4d76af9 --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__ab_bottom_transparent_light_holo.9.png 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 Binary files differnew file mode 100644 index 000000000..55099d49d --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__ab_share_pack_holo_dark.9.png 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 Binary files differnew file mode 100644 index 000000000..3c4701fc2 --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__ab_share_pack_holo_light.9.png 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 Binary files differnew file mode 100644 index 000000000..6622cbad3 --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__ab_solid_dark_holo.9.png 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 Binary files differnew file mode 100644 index 000000000..c42729783 --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__ab_solid_light_holo.9.png 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 Binary files differnew file mode 100644 index 000000000..d0df29d8b --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__ab_solid_shadow_holo.9.png 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 Binary files differnew file mode 100644 index 000000000..a0d9c1b95 --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__ab_stacked_solid_dark_holo.9.png 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 Binary files differnew file mode 100644 index 000000000..d36f99fec --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__ab_stacked_solid_light_holo.9.png 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 Binary files differnew file mode 100644 index 000000000..5ad475dc3 --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__ab_stacked_transparent_dark_holo.9.png 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 Binary files differnew file mode 100644 index 000000000..6ade5eeb3 --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__ab_stacked_transparent_light_holo.9.png 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 Binary files differnew file mode 100644 index 000000000..719b9234d --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__ab_transparent_dark_holo.9.png 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 Binary files differnew file mode 100644 index 000000000..6da264db2 --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__ab_transparent_light_holo.9.png 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 Binary files differnew file mode 100644 index 000000000..7ef2db75e --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__btn_cab_done_default_holo_dark.9.png 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 Binary files differnew file mode 100644 index 000000000..2283b4c01 --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__btn_cab_done_default_holo_light.9.png 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 Binary files differnew file mode 100644 index 000000000..6d2039e28 --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__btn_cab_done_focused_holo_dark.9.png 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 Binary files differnew file mode 100644 index 000000000..3c909b513 --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__btn_cab_done_focused_holo_light.9.png 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 Binary files differnew file mode 100644 index 000000000..131d1030c --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__btn_cab_done_pressed_holo_dark.9.png 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 Binary files differnew file mode 100644 index 000000000..3e7dcdfdb --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__btn_cab_done_pressed_holo_light.9.png 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 Binary files differnew file mode 100644 index 000000000..0bd09806f --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__cab_background_bottom_holo_dark.9.png 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 Binary files differnew file mode 100644 index 000000000..43ed26d47 --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__cab_background_bottom_holo_light.9.png 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 Binary files differnew file mode 100644 index 000000000..6b3157985 --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__cab_background_top_holo_dark.9.png 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 Binary files differnew file mode 100644 index 000000000..df0121bb3 --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__cab_background_top_holo_light.9.png 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 Binary files differnew file mode 100644 index 000000000..f4970ad1c --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__dialog_full_holo_dark.9.png 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 Binary files differnew file mode 100644 index 000000000..172fc3b5e --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__dialog_full_holo_light.9.png 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 Binary files differnew file mode 100644 index 000000000..8ded62fb7 --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__ic_ab_back_holo_dark.png 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 Binary files differnew file mode 100644 index 000000000..517e9f72d --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__ic_ab_back_holo_light.png 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 Binary files differnew file mode 100644 index 000000000..2e06dd01b --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__ic_cab_done_holo_dark.png 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 Binary files differnew file mode 100644 index 000000000..bb19810bc --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__ic_cab_done_holo_light.png 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 Binary files differnew file mode 100644 index 000000000..a92fb1d4a --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__ic_menu_moreoverflow_normal_holo_dark.png 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 Binary files differnew file mode 100644 index 000000000..930ca8d95 --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__ic_menu_moreoverflow_normal_holo_light.png 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 Binary files differnew file mode 100644 index 000000000..45a0f1da0 --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__ic_menu_share_holo_dark.png 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 Binary files differnew file mode 100644 index 000000000..528e554ab --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__ic_menu_share_holo_light.png diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__list_activated_holo.9.png b/actionbarsherlock/res/drawable-xhdpi/abs__list_activated_holo.9.png Binary files differnew file mode 100644 index 000000000..eda10e612 --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__list_activated_holo.9.png 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 Binary files differnew file mode 100644 index 000000000..e62f011d4 --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__list_divider_holo_dark.9.png 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 Binary files differnew file mode 100644 index 000000000..65061c0f4 --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__list_divider_holo_light.9.png diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__list_focused_holo.9.png b/actionbarsherlock/res/drawable-xhdpi/abs__list_focused_holo.9.png Binary files differnew file mode 100644 index 000000000..690cb1eb6 --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__list_focused_holo.9.png diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__list_longpressed_holo.9.png b/actionbarsherlock/res/drawable-xhdpi/abs__list_longpressed_holo.9.png Binary files differnew file mode 100644 index 000000000..eda10e612 --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__list_longpressed_holo.9.png 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 Binary files differnew file mode 100644 index 000000000..e4b33935a --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__list_pressed_holo_dark.9.png 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 Binary files differnew file mode 100644 index 000000000..e4b33935a --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__list_pressed_holo_light.9.png 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 Binary files differnew file mode 100644 index 000000000..88726b691 --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__list_selector_disabled_holo_dark.9.png 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 Binary files differnew file mode 100644 index 000000000..c6a7d4d87 --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__list_selector_disabled_holo_light.9.png 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 Binary files differnew file mode 100644 index 000000000..e2aff72f4 --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__menu_dropdown_panel_holo_dark.9.png 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 Binary files differnew file mode 100644 index 000000000..93066c840 --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__menu_dropdown_panel_holo_light.9.png 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 Binary files differnew file mode 100644 index 000000000..345f5d306 --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__progress_bg_holo_dark.9.png 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 Binary files differnew file mode 100644 index 000000000..c843ef3af --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__progress_bg_holo_light.9.png 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 Binary files differnew file mode 100644 index 000000000..c6c3f1ec2 --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__progress_primary_holo_dark.9.png 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 Binary files differnew file mode 100644 index 000000000..c6c3f1ec2 --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__progress_primary_holo_light.9.png 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 Binary files differnew file mode 100644 index 000000000..205b66e2c --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__progress_secondary_holo_dark.9.png 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 Binary files differnew file mode 100644 index 000000000..205b66e2c --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__progress_secondary_holo_light.9.png diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__spinner_48_inner_holo.png b/actionbarsherlock/res/drawable-xhdpi/abs__spinner_48_inner_holo.png Binary files differnew file mode 100644 index 000000000..19517c4b0 --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__spinner_48_inner_holo.png diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__spinner_48_outer_holo.png b/actionbarsherlock/res/drawable-xhdpi/abs__spinner_48_outer_holo.png Binary files differnew file mode 100644 index 000000000..14143c51c --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__spinner_48_outer_holo.png 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 Binary files differnew file mode 100644 index 000000000..d8929fcd1 --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__spinner_ab_default_holo_dark.9.png 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 Binary files differnew file mode 100644 index 000000000..9174c4e4b --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__spinner_ab_default_holo_light.9.png 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 Binary files differnew file mode 100644 index 000000000..3015d3070 --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__spinner_ab_disabled_holo_dark.9.png 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 Binary files differnew file mode 100644 index 000000000..126637d11 --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__spinner_ab_disabled_holo_light.9.png 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 Binary files differnew file mode 100644 index 000000000..d45c7a864 --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__spinner_ab_focused_holo_dark.9.png 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 Binary files differnew file mode 100644 index 000000000..29036b907 --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__spinner_ab_focused_holo_light.9.png 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 Binary files differnew file mode 100644 index 000000000..2cb34d7f6 --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__spinner_ab_pressed_holo_dark.9.png 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 Binary files differnew file mode 100644 index 000000000..82f752fdc --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__spinner_ab_pressed_holo_light.9.png 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 Binary files differnew file mode 100644 index 000000000..03cfb0945 --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__tab_selected_focused_holo.9.png diff --git a/actionbarsherlock/res/drawable-xhdpi/abs__tab_selected_holo.9.png b/actionbarsherlock/res/drawable-xhdpi/abs__tab_selected_holo.9.png Binary files differnew file mode 100644 index 000000000..e4229f26b --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__tab_selected_holo.9.png 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 Binary files differnew file mode 100644 index 000000000..e862cb121 --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__tab_selected_pressed_holo.9.png 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 Binary files differnew file mode 100644 index 000000000..f1eb67323 --- /dev/null +++ b/actionbarsherlock/res/drawable-xhdpi/abs__tab_unselected_pressed_holo.9.png 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 000000000..85c2c0212 --- /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 000000000..85c2c0212 --- /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 000000000..cab896283 --- /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 000000000..42ba8a0df --- /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 000000000..2588a492d --- /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 000000000..e2078c967 --- /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 000000000..d99b7a426 --- /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 000000000..da5fb2e86 --- /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 000000000..b2ce4f0f7 --- /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 000000000..d7e31b1d1 --- /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 000000000..08b8b12f3 --- /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 000000000..ada490bf9 --- /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 000000000..bd19140ab --- /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 000000000..321f07c8b --- /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 000000000..6d4814f86 --- /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 000000000..4af5e22a9 --- /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 000000000..b78508478 --- /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 000000000..d34e20811 --- /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 000000000..8811dad8d --- /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 000000000..6c183c059 --- /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 000000000..61dc02527 --- /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 000000000..040df44ab --- /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 000000000..c64ef141b --- /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 000000000..5c1e9ec4b --- /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 000000000..f46f7a044 --- /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 000000000..0d51220c9 --- /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 000000000..dd69acada --- /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 000000000..13149fd63 --- /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 000000000..a6f8e53f8 --- /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 000000000..7168dc77f --- /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 000000000..875ec3e1b --- /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 000000000..019d14ef4 --- /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 000000000..b430032a1 --- /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 000000000..6402f28be --- /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 000000000..39aca3a8d --- /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 000000000..55ab28a24 --- /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 000000000..147f36fe8 --- /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 000000000..ff54bbecd --- /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 000000000..d42425ad3 --- /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 000000000..1fb82fe9a --- /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 000000000..0961ef561 --- /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 000000000..33e2dea0d --- /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 000000000..f8b9fb185 --- /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 000000000..a6c6252d2 --- /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 000000000..bea740178 --- /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 000000000..502cc16a3 --- /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 000000000..3312cfa7f --- /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 000000000..502cc16a3 --- /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 000000000..3312cfa7f --- /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 000000000..35910333b --- /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 000000000..63b12f7f3 --- /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 000000000..7a48e1542 --- /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 000000000..f67853817 --- /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 000000000..03473572c --- /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 000000000..f2aa64d2d --- /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 000000000..ceb960737 --- /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 000000000..6f49d7e47 --- /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 000000000..3eaf4aee9 --- /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 000000000..88357b0a7 --- /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 000000000..2fd4deea2 --- /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 000000000..b085952d3 --- /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 000000000..bfc535de1 --- /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 000000000..bd5ee4404 --- /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 000000000..0b432448d --- /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 000000000..625c632ff --- /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 000000000..4c7b5d459 --- /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 000000000..0a409756c --- /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 000000000..f9f56045b --- /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 000000000..1e1c7022c --- /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 000000000..8cbd36484 --- /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 000000000..5300dedd6 --- /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 000000000..6f568c698 --- /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 000000000..6da26f2ae --- /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 000000000..c3f35472c --- /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 000000000..1c02d4aca --- /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 < 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 <ProgressBar>} 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> + * <ProgressBar + * style="@android:style/Widget.ProgressBar.Horizontal" + * ... /></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—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—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> + * <LinearLayout + * android:orientation="horizontal" + * ... > + * <ProgressBar + * android:layout_width="wrap_content" + * android:layout_height="wrap_content" + * style="@android:style/Widget.ProgressBar.Small" + * android:layout_marginRight="5dp" /> + * <TextView + * android:layout_width="wrap_content" + * android:layout_height="wrap_content" + * android:text="@string/loading" /> + * </LinearLayout></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); + } + } +} |