From 8e4e434d0d714fc92158dc15ee9c223ceadb25e3 Mon Sep 17 00:00:00 2001 From: inosh-perera Date: Fri, 23 Jan 2015 22:46:43 +0530 Subject: [PATCH] added adroid code from old repository, oauth basic login fixed --- .../agents/android/client/AndroidManifest.xml | 183 ++ .../modules/agents/android/client/README.md | 18 + .../android/client/assets/config.properties | 1 + .../android/client/bin/AndroidManifest.xml | 183 ++ .../modules/agents/android/client/bin/R.txt | 911 ++++++++ .../agents/android/client/bin/cdm-agent.apk | Bin 0 -> 1231783 bytes .../agents/android/client/bin/classes.dex | Bin 0 -> 1104544 bytes .../agents/android/client/bin/jarlist.cache | 5 + .../res/crunch/drawable-hdpi/ic_bookmark.png | Bin 0 -> 3633 bytes .../crunch/drawable-hdpi/ic_check_default.png | Bin 0 -> 5210 bytes .../drawable-hdpi/ic_check_selected.png | Bin 0 -> 7372 bytes .../res/crunch/drawable-hdpi/ic_launcher.png | Bin 0 -> 3287 bytes .../bin/res/crunch/drawable-hdpi/ic_logo.png | Bin 0 -> 3800 bytes .../res/crunch/drawable-hdpi/ic_logo_dark.png | Bin 0 -> 3800 bytes .../res/crunch/drawable-hdpi/ic_stat_gcm.png | Bin 0 -> 1015 bytes .../res/crunch/drawable-hdpi/option_icon.png | Bin 0 -> 5304 bytes .../res/crunch/drawable-hdpi/repeat_bg.png | Bin 0 -> 7043 bytes .../bin/res/crunch/drawable-hdpi/top_bar.png | Bin 0 -> 33996 bytes .../res/crunch/drawable-mdpi/ic_bookmark.png | Bin 0 -> 2056 bytes .../crunch/drawable-mdpi/ic_check_default.png | Bin 0 -> 2903 bytes .../drawable-mdpi/ic_check_selected.png | Bin 0 -> 3874 bytes .../res/crunch/drawable-mdpi/ic_launcher.png | Bin 0 -> 1877 bytes .../bin/res/crunch/drawable-mdpi/ic_logo.png | Bin 0 -> 2199 bytes .../res/crunch/drawable-mdpi/ic_logo_dark.png | Bin 0 -> 2199 bytes .../res/crunch/drawable-mdpi/option_icon.png | Bin 0 -> 2854 bytes .../bin/res/crunch/drawable-mdpi/top_bar.png | Bin 0 -> 19781 bytes .../res/crunch/drawable-xhdpi/appinstall.png | Bin 0 -> 10014 bytes .../bin/res/crunch/drawable-xhdpi/applist.png | Bin 0 -> 11634 bytes .../crunch/drawable-xhdpi/appuninstall.png | Bin 0 -> 10038 bytes .../bin/res/crunch/drawable-xhdpi/camera.png | Bin 0 -> 17109 bytes .../crunch/drawable-xhdpi/changepassword.png | Bin 0 -> 12986 bytes .../bin/res/crunch/drawable-xhdpi/encrypt.png | Bin 0 -> 9142 bytes .../res/crunch/drawable-xhdpi/ic_bookmark.png | Bin 0 -> 5158 bytes .../drawable-xhdpi/ic_check_default.png | Bin 0 -> 7579 bytes .../drawable-xhdpi/ic_check_selected.png | Bin 0 -> 11052 bytes .../res/crunch/drawable-xhdpi/ic_launcher.png | Bin 0 -> 4528 bytes .../bin/res/crunch/drawable-xhdpi/ic_logo.png | Bin 0 -> 5569 bytes .../crunch/drawable-xhdpi/ic_logo_dark.png | Bin 0 -> 5569 bytes .../bin/res/crunch/drawable-xhdpi/info.png | Bin 0 -> 11465 bytes .../res/crunch/drawable-xhdpi/location.png | Bin 0 -> 13198 bytes .../bin/res/crunch/drawable-xhdpi/lock.png | Bin 0 -> 6628 bytes .../bin/res/crunch/drawable-xhdpi/mute.png | Bin 0 -> 18821 bytes .../crunch/drawable-xhdpi/notification.png | Bin 0 -> 9665 bytes .../res/crunch/drawable-xhdpi/repeat_bg.png | Bin 0 -> 16868 bytes .../bin/res/crunch/drawable-xhdpi/wifi.png | Bin 0 -> 8087 bytes .../bin/res/crunch/drawable-xhdpi/wipe.png | Bin 0 -> 13370 bytes .../crunch/drawable-xxhdpi/ic_bookmark.png | Bin 0 -> 8784 bytes .../drawable-xxhdpi/ic_check_default.png | Bin 0 -> 13474 bytes .../drawable-xxhdpi/ic_check_selected.png | Bin 0 -> 20172 bytes .../crunch/drawable-xxhdpi/ic_launcher.png | Bin 0 -> 8976 bytes .../res/crunch/drawable-xxhdpi/ic_logo.png | Bin 0 -> 9547 bytes .../crunch/drawable-xxhdpi/ic_logo_dark.png | Bin 0 -> 9547 bytes .../res/crunch/drawable-xxhdpi/repeat_bg.png | Bin 0 -> 18538 bytes .../client/bin/res/crunch/drawable/dot.png | Bin 0 -> 110 bytes .../agents/android/client/bin/resources.ap_ | Bin 0 -> 734724 bytes .../modules/agents/android/client/lint.xml | 3 + .../plugins/ActionBarSherlock/.gitignore | 34 + .../plugins/ActionBarSherlock/.travis.yml | 11 + .../plugins/ActionBarSherlock/CHANGELOG.md | 469 +++++ .../plugins/ActionBarSherlock/CONTRIBUTING.md | 11 + .../plugins/ActionBarSherlock/LICENSE.txt | 202 ++ .../plugins/ActionBarSherlock/README.md | 60 + .../plugins/ActionBarSherlock/checkstyle.xml | 121 ++ .../library/AndroidManifest.xml | 6 + .../ActionBarSherlock/library/README.md | 15 + .../ActionBarSherlock/library/build.gradle | 32 + .../plugins/ActionBarSherlock/library/pom.xml | 148 ++ .../library/project.properties | 12 + ...s__primary_text_disable_only_holo_dark.xml | 20 + ...__primary_text_disable_only_holo_light.xml | 21 + .../res/color/abs__primary_text_holo_dark.xml | 24 + .../color/abs__primary_text_holo_light.xml | 26 + .../abs__ab_bottom_solid_dark_holo.9.png | Bin 0 -> 144 bytes .../abs__ab_bottom_solid_inverse_holo.9.png | Bin 0 -> 138 bytes .../abs__ab_bottom_solid_light_holo.9.png | Bin 0 -> 144 bytes ...abs__ab_bottom_transparent_dark_holo.9.png | Bin 0 -> 135 bytes ...bs__ab_bottom_transparent_light_holo.9.png | Bin 0 -> 134 bytes .../abs__ab_share_pack_holo_dark.9.png | Bin 0 -> 2863 bytes .../abs__ab_share_pack_holo_light.9.png | Bin 0 -> 2859 bytes .../abs__ab_solid_dark_holo.9.png | Bin 0 -> 146 bytes .../abs__ab_solid_light_holo.9.png | Bin 0 -> 145 bytes .../abs__ab_solid_shadow_holo.9.png | Bin 0 -> 192 bytes .../abs__ab_stacked_solid_dark_holo.9.png | Bin 0 -> 146 bytes .../abs__ab_stacked_solid_light_holo.9.png | Bin 0 -> 146 bytes ...bs__ab_stacked_transparent_dark_holo.9.png | Bin 0 -> 139 bytes ...s__ab_stacked_transparent_light_holo.9.png | Bin 0 -> 133 bytes .../abs__ab_transparent_dark_holo.9.png | Bin 0 -> 155 bytes .../abs__ab_transparent_light_holo.9.png | Bin 0 -> 145 bytes .../abs__btn_cab_done_default_holo_dark.9.png | Bin 0 -> 104 bytes ...abs__btn_cab_done_default_holo_light.9.png | Bin 0 -> 102 bytes .../abs__btn_cab_done_focused_holo_dark.9.png | Bin 0 -> 112 bytes ...abs__btn_cab_done_focused_holo_light.9.png | Bin 0 -> 108 bytes .../abs__btn_cab_done_pressed_holo_dark.9.png | Bin 0 -> 110 bytes ...abs__btn_cab_done_pressed_holo_light.9.png | Bin 0 -> 108 bytes ...abs__cab_background_bottom_holo_dark.9.png | Bin 0 -> 149 bytes ...bs__cab_background_bottom_holo_light.9.png | Bin 0 -> 145 bytes .../abs__cab_background_top_holo_dark.9.png | Bin 0 -> 147 bytes .../abs__cab_background_top_holo_light.9.png | Bin 0 -> 147 bytes .../abs__dialog_full_holo_dark.9.png | Bin 0 -> 1414 bytes .../abs__dialog_full_holo_light.9.png | Bin 0 -> 1537 bytes .../abs__ic_ab_back_holo_dark.png | Bin 0 -> 602 bytes .../abs__ic_ab_back_holo_light.png | Bin 0 -> 546 bytes .../abs__ic_cab_done_holo_dark.png | Bin 0 -> 713 bytes .../abs__ic_cab_done_holo_light.png | Bin 0 -> 737 bytes .../drawable-hdpi/abs__ic_clear_disabled.png | Bin 0 -> 1774 bytes .../drawable-hdpi/abs__ic_clear_normal.png | Bin 0 -> 1945 bytes ...c_clear_search_api_disabled_holo_light.png | Bin 0 -> 1504 bytes .../abs__ic_clear_search_api_holo_light.png | Bin 0 -> 1540 bytes .../library/res/drawable-hdpi/abs__ic_go.png | Bin 0 -> 1415 bytes .../abs__ic_go_search_api_holo_light.png | Bin 0 -> 1252 bytes ..._ic_menu_moreoverflow_normal_holo_dark.png | Bin 0 -> 144 bytes ...ic_menu_moreoverflow_normal_holo_light.png | Bin 0 -> 148 bytes .../abs__ic_menu_share_holo_dark.png | Bin 0 -> 467 bytes .../abs__ic_menu_share_holo_light.png | Bin 0 -> 505 bytes .../res/drawable-hdpi/abs__ic_search.png | Bin 0 -> 2280 bytes .../abs__ic_search_api_holo_light.png | Bin 0 -> 2271 bytes .../drawable-hdpi/abs__ic_voice_search.png | Bin 0 -> 2070 bytes .../abs__ic_voice_search_api_holo_light.png | Bin 0 -> 1833 bytes .../abs__list_activated_holo.9.png | Bin 0 -> 154 bytes .../abs__list_divider_holo_dark.9.png | Bin 0 -> 78 bytes .../abs__list_divider_holo_light.9.png | Bin 0 -> 76 bytes .../abs__list_focused_holo.9.png | Bin 0 -> 159 bytes .../abs__list_longpressed_holo.9.png | Bin 0 -> 154 bytes .../abs__list_pressed_holo_dark.9.png | Bin 0 -> 159 bytes .../abs__list_pressed_holo_light.9.png | Bin 0 -> 159 bytes ...bs__list_selector_disabled_holo_dark.9.png | Bin 0 -> 189 bytes ...s__list_selector_disabled_holo_light.9.png | Bin 0 -> 189 bytes .../abs__menu_dropdown_panel_holo_dark.9.png | Bin 0 -> 922 bytes .../abs__menu_dropdown_panel_holo_light.9.png | Bin 0 -> 1061 bytes .../abs__progress_bg_holo_dark.9.png | Bin 0 -> 178 bytes .../abs__progress_bg_holo_light.9.png | Bin 0 -> 174 bytes .../abs__progress_primary_holo_dark.9.png | Bin 0 -> 917 bytes .../abs__progress_primary_holo_light.9.png | Bin 0 -> 917 bytes .../abs__progress_secondary_holo_dark.9.png | Bin 0 -> 188 bytes .../abs__progress_secondary_holo_light.9.png | Bin 0 -> 188 bytes .../abs__spinner_48_inner_holo.png | Bin 0 -> 2081 bytes .../abs__spinner_48_outer_holo.png | Bin 0 -> 1811 bytes .../abs__spinner_ab_default_holo_dark.9.png | Bin 0 -> 311 bytes .../abs__spinner_ab_default_holo_light.9.png | Bin 0 -> 312 bytes .../abs__spinner_ab_disabled_holo_dark.9.png | Bin 0 -> 306 bytes .../abs__spinner_ab_disabled_holo_light.9.png | Bin 0 -> 306 bytes .../abs__spinner_ab_focused_holo_dark.9.png | Bin 0 -> 524 bytes .../abs__spinner_ab_focused_holo_light.9.png | Bin 0 -> 523 bytes .../abs__spinner_ab_pressed_holo_dark.9.png | Bin 0 -> 464 bytes .../abs__spinner_ab_pressed_holo_light.9.png | Bin 0 -> 458 bytes .../abs__tab_selected_focused_holo.9.png | Bin 0 -> 147 bytes .../abs__tab_selected_holo.9.png | Bin 0 -> 148 bytes .../abs__tab_selected_pressed_holo.9.png | Bin 0 -> 147 bytes .../abs__tab_unselected_pressed_holo.9.png | Bin 0 -> 145 bytes ...__textfield_search_default_holo_dark.9.png | Bin 0 -> 110 bytes ..._textfield_search_default_holo_light.9.png | Bin 0 -> 105 bytes ...field_search_right_default_holo_dark.9.png | Bin 0 -> 108 bytes ...ield_search_right_default_holo_light.9.png | Bin 0 -> 103 bytes ...ield_search_right_selected_holo_dark.9.png | Bin 0 -> 114 bytes ...eld_search_right_selected_holo_light.9.png | Bin 0 -> 111 bytes ..._textfield_search_selected_holo_dark.9.png | Bin 0 -> 114 bytes ...textfield_search_selected_holo_light.9.png | Bin 0 -> 112 bytes .../abs__ab_bottom_solid_dark_holo.9.png | Bin 0 -> 134 bytes .../abs__ab_bottom_solid_inverse_holo.9.png | Bin 0 -> 129 bytes .../abs__ab_bottom_solid_light_holo.9.png | Bin 0 -> 134 bytes ...abs__ab_bottom_transparent_dark_holo.9.png | Bin 0 -> 123 bytes ...bs__ab_bottom_transparent_light_holo.9.png | Bin 0 -> 123 bytes .../abs__ab_share_pack_holo_dark.9.png | Bin 0 -> 2849 bytes .../abs__ab_share_pack_holo_light.9.png | Bin 0 -> 191 bytes .../abs__ab_solid_dark_holo.9.png | Bin 0 -> 133 bytes .../abs__ab_solid_light_holo.9.png | Bin 0 -> 133 bytes .../abs__ab_solid_shadow_holo.9.png | Bin 0 -> 168 bytes .../abs__ab_stacked_solid_dark_holo.9.png | Bin 0 -> 134 bytes .../abs__ab_stacked_solid_light_holo.9.png | Bin 0 -> 133 bytes ...bs__ab_stacked_transparent_dark_holo.9.png | Bin 0 -> 127 bytes ...s__ab_stacked_transparent_light_holo.9.png | Bin 0 -> 123 bytes .../abs__ab_transparent_dark_holo.9.png | Bin 0 -> 139 bytes .../abs__ab_transparent_light_holo.9.png | Bin 0 -> 133 bytes .../abs__btn_cab_done_default_holo_dark.9.png | Bin 0 -> 101 bytes ...abs__btn_cab_done_default_holo_light.9.png | Bin 0 -> 99 bytes .../abs__btn_cab_done_focused_holo_dark.9.png | Bin 0 -> 109 bytes ...abs__btn_cab_done_focused_holo_light.9.png | Bin 0 -> 105 bytes .../abs__btn_cab_done_pressed_holo_dark.9.png | Bin 0 -> 107 bytes ...abs__btn_cab_done_pressed_holo_light.9.png | Bin 0 -> 105 bytes ...abs__cab_background_bottom_holo_dark.9.png | Bin 0 -> 127 bytes ...bs__cab_background_bottom_holo_light.9.png | Bin 0 -> 124 bytes .../abs__cab_background_top_holo_dark.9.png | Bin 0 -> 130 bytes .../abs__cab_background_top_holo_light.9.png | Bin 0 -> 128 bytes .../abs__dialog_full_holo_dark.9.png | Bin 0 -> 882 bytes .../abs__dialog_full_holo_light.9.png | Bin 0 -> 1003 bytes .../abs__ic_ab_back_holo_dark.png | Bin 0 -> 466 bytes .../abs__ic_ab_back_holo_light.png | Bin 0 -> 438 bytes .../abs__ic_cab_done_holo_dark.png | Bin 0 -> 566 bytes .../abs__ic_cab_done_holo_light.png | Bin 0 -> 552 bytes .../drawable-mdpi/abs__ic_clear_disabled.png | Bin 0 -> 1775 bytes .../drawable-mdpi/abs__ic_clear_normal.png | Bin 0 -> 1869 bytes ...c_clear_search_api_disabled_holo_light.png | Bin 0 -> 740 bytes .../abs__ic_clear_search_api_holo_light.png | Bin 0 -> 743 bytes .../library/res/drawable-mdpi/abs__ic_go.png | Bin 0 -> 1538 bytes .../abs__ic_go_search_api_holo_light.png | Bin 0 -> 570 bytes ..._ic_menu_moreoverflow_normal_holo_dark.png | Bin 0 -> 122 bytes ...ic_menu_moreoverflow_normal_holo_light.png | Bin 0 -> 131 bytes .../abs__ic_menu_share_holo_dark.png | Bin 0 -> 332 bytes .../abs__ic_menu_share_holo_light.png | Bin 0 -> 355 bytes .../res/drawable-mdpi/abs__ic_search.png | Bin 0 -> 2280 bytes .../abs__ic_search_api_holo_light.png | Bin 0 -> 1541 bytes .../drawable-mdpi/abs__ic_voice_search.png | Bin 0 -> 1937 bytes .../abs__ic_voice_search_api_holo_light.png | Bin 0 -> 794 bytes .../abs__list_activated_holo.9.png | Bin 0 -> 151 bytes .../abs__list_divider_holo_dark.9.png | Bin 0 -> 78 bytes .../abs__list_divider_holo_light.9.png | Bin 0 -> 76 bytes .../abs__list_focused_holo.9.png | Bin 0 -> 158 bytes .../abs__list_longpressed_holo.9.png | Bin 0 -> 151 bytes .../abs__list_pressed_holo_dark.9.png | Bin 0 -> 158 bytes .../abs__list_pressed_holo_light.9.png | Bin 0 -> 158 bytes ...bs__list_selector_disabled_holo_dark.9.png | Bin 0 -> 172 bytes ...s__list_selector_disabled_holo_light.9.png | Bin 0 -> 171 bytes .../abs__menu_dropdown_panel_holo_dark.9.png | Bin 0 -> 651 bytes .../abs__menu_dropdown_panel_holo_light.9.png | Bin 0 -> 720 bytes .../abs__progress_bg_holo_dark.9.png | Bin 0 -> 165 bytes .../abs__progress_bg_holo_light.9.png | Bin 0 -> 159 bytes .../abs__progress_primary_holo_dark.9.png | Bin 0 -> 572 bytes .../abs__progress_primary_holo_light.9.png | Bin 0 -> 572 bytes .../abs__progress_secondary_holo_dark.9.png | Bin 0 -> 170 bytes .../abs__progress_secondary_holo_light.9.png | Bin 0 -> 170 bytes .../abs__spinner_48_inner_holo.png | Bin 0 -> 1336 bytes .../abs__spinner_48_outer_holo.png | Bin 0 -> 1165 bytes .../abs__spinner_ab_default_holo_dark.9.png | Bin 0 -> 254 bytes .../abs__spinner_ab_default_holo_light.9.png | Bin 0 -> 255 bytes .../abs__spinner_ab_disabled_holo_dark.9.png | Bin 0 -> 249 bytes .../abs__spinner_ab_disabled_holo_light.9.png | Bin 0 -> 249 bytes .../abs__spinner_ab_focused_holo_dark.9.png | Bin 0 -> 417 bytes .../abs__spinner_ab_focused_holo_light.9.png | Bin 0 -> 424 bytes .../abs__spinner_ab_pressed_holo_dark.9.png | Bin 0 -> 370 bytes .../abs__spinner_ab_pressed_holo_light.9.png | Bin 0 -> 370 bytes .../abs__tab_selected_focused_holo.9.png | Bin 0 -> 148 bytes .../abs__tab_selected_holo.9.png | Bin 0 -> 151 bytes .../abs__tab_selected_pressed_holo.9.png | Bin 0 -> 150 bytes .../abs__tab_unselected_pressed_holo.9.png | Bin 0 -> 155 bytes ...__textfield_search_default_holo_dark.9.png | Bin 0 -> 106 bytes ..._textfield_search_default_holo_light.9.png | Bin 0 -> 100 bytes ...field_search_right_default_holo_dark.9.png | Bin 0 -> 105 bytes ...ield_search_right_default_holo_light.9.png | Bin 0 -> 98 bytes ...ield_search_right_selected_holo_dark.9.png | Bin 0 -> 107 bytes ...eld_search_right_selected_holo_light.9.png | Bin 0 -> 107 bytes ..._textfield_search_selected_holo_dark.9.png | Bin 0 -> 109 bytes ...textfield_search_selected_holo_light.9.png | Bin 0 -> 109 bytes .../abs__progress_medium_holo.xml | 34 + .../abs__ab_bottom_solid_dark_holo.9.png | Bin 0 -> 165 bytes .../abs__ab_bottom_solid_inverse_holo.9.png | Bin 0 -> 157 bytes .../abs__ab_bottom_solid_light_holo.9.png | Bin 0 -> 166 bytes ...abs__ab_bottom_transparent_dark_holo.9.png | Bin 0 -> 153 bytes ...bs__ab_bottom_transparent_light_holo.9.png | Bin 0 -> 152 bytes .../abs__ab_share_pack_holo_dark.9.png | Bin 0 -> 2878 bytes .../abs__ab_share_pack_holo_light.9.png | Bin 0 -> 2873 bytes .../abs__ab_solid_dark_holo.9.png | Bin 0 -> 163 bytes .../abs__ab_solid_light_holo.9.png | Bin 0 -> 163 bytes .../abs__ab_solid_shadow_holo.9.png | Bin 0 -> 290 bytes .../abs__ab_stacked_solid_dark_holo.9.png | Bin 0 -> 163 bytes .../abs__ab_stacked_solid_light_holo.9.png | Bin 0 -> 163 bytes ...bs__ab_stacked_transparent_dark_holo.9.png | Bin 0 -> 158 bytes ...s__ab_stacked_transparent_light_holo.9.png | Bin 0 -> 152 bytes .../abs__ab_transparent_dark_holo.9.png | Bin 0 -> 171 bytes .../abs__ab_transparent_light_holo.9.png | Bin 0 -> 160 bytes .../abs__btn_cab_done_default_holo_dark.9.png | Bin 0 -> 109 bytes ...abs__btn_cab_done_default_holo_light.9.png | Bin 0 -> 108 bytes .../abs__btn_cab_done_focused_holo_dark.9.png | Bin 0 -> 112 bytes ...abs__btn_cab_done_focused_holo_light.9.png | Bin 0 -> 113 bytes .../abs__btn_cab_done_pressed_holo_dark.9.png | Bin 0 -> 115 bytes ...abs__btn_cab_done_pressed_holo_light.9.png | Bin 0 -> 113 bytes ...abs__cab_background_bottom_holo_dark.9.png | Bin 0 -> 166 bytes ...bs__cab_background_bottom_holo_light.9.png | Bin 0 -> 161 bytes .../abs__cab_background_top_holo_dark.9.png | Bin 0 -> 174 bytes .../abs__cab_background_top_holo_light.9.png | Bin 0 -> 161 bytes .../abs__dialog_full_holo_dark.9.png | Bin 0 -> 2159 bytes .../abs__dialog_full_holo_light.9.png | Bin 0 -> 2302 bytes .../abs__ic_ab_back_holo_dark.png | Bin 0 -> 741 bytes .../abs__ic_ab_back_holo_light.png | Bin 0 -> 661 bytes .../abs__ic_cab_done_holo_dark.png | Bin 0 -> 970 bytes .../abs__ic_cab_done_holo_light.png | Bin 0 -> 915 bytes .../drawable-xhdpi/abs__ic_clear_disabled.png | Bin 0 -> 2531 bytes ...c_clear_search_api_disabled_holo_light.png | Bin 0 -> 1315 bytes .../abs__ic_clear_search_api_holo_light.png | Bin 0 -> 1447 bytes .../library/res/drawable-xhdpi/abs__ic_go.png | Bin 0 -> 1983 bytes .../abs__ic_go_search_api_holo_light.png | Bin 0 -> 836 bytes ..._ic_menu_moreoverflow_normal_holo_dark.png | Bin 0 -> 167 bytes ...ic_menu_moreoverflow_normal_holo_light.png | Bin 0 -> 184 bytes .../abs__ic_menu_share_holo_dark.png | Bin 0 -> 699 bytes .../abs__ic_menu_share_holo_light.png | Bin 0 -> 935 bytes .../res/drawable-xhdpi/abs__ic_search.png | Bin 0 -> 3784 bytes .../abs__ic_search_api_holo_light.png | Bin 0 -> 3037 bytes .../drawable-xhdpi/abs__ic_voice_search.png | Bin 0 -> 3053 bytes .../abs__ic_voice_search_api_holo_light.png | Bin 0 -> 1414 bytes .../abs__list_activated_holo.9.png | Bin 0 -> 158 bytes .../abs__list_divider_holo_dark.9.png | Bin 0 -> 83 bytes .../abs__list_divider_holo_light.9.png | Bin 0 -> 83 bytes .../abs__list_focused_holo.9.png | Bin 0 -> 163 bytes .../abs__list_longpressed_holo.9.png | Bin 0 -> 158 bytes .../abs__list_pressed_holo_dark.9.png | Bin 0 -> 163 bytes .../abs__list_pressed_holo_light.9.png | Bin 0 -> 163 bytes ...bs__list_selector_disabled_holo_dark.9.png | Bin 0 -> 190 bytes ...s__list_selector_disabled_holo_light.9.png | Bin 0 -> 188 bytes .../abs__menu_dropdown_panel_holo_dark.9.png | Bin 0 -> 1362 bytes .../abs__menu_dropdown_panel_holo_light.9.png | Bin 0 -> 1551 bytes .../abs__progress_bg_holo_dark.9.png | Bin 0 -> 174 bytes .../abs__progress_bg_holo_light.9.png | Bin 0 -> 172 bytes .../abs__progress_primary_holo_dark.9.png | Bin 0 -> 1309 bytes .../abs__progress_primary_holo_light.9.png | Bin 0 -> 1309 bytes .../abs__progress_secondary_holo_dark.9.png | Bin 0 -> 184 bytes .../abs__progress_secondary_holo_light.9.png | Bin 0 -> 184 bytes .../abs__spinner_48_inner_holo.png | Bin 0 -> 2769 bytes .../abs__spinner_48_outer_holo.png | Bin 0 -> 2432 bytes .../abs__spinner_ab_default_holo_dark.9.png | Bin 0 -> 395 bytes .../abs__spinner_ab_default_holo_light.9.png | Bin 0 -> 394 bytes .../abs__spinner_ab_disabled_holo_dark.9.png | Bin 0 -> 381 bytes .../abs__spinner_ab_disabled_holo_light.9.png | Bin 0 -> 381 bytes .../abs__spinner_ab_focused_holo_dark.9.png | Bin 0 -> 680 bytes .../abs__spinner_ab_focused_holo_light.9.png | Bin 0 -> 671 bytes .../abs__spinner_ab_pressed_holo_dark.9.png | Bin 0 -> 609 bytes .../abs__spinner_ab_pressed_holo_light.9.png | Bin 0 -> 602 bytes .../abs__tab_selected_focused_holo.9.png | Bin 0 -> 147 bytes .../abs__tab_selected_holo.9.png | Bin 0 -> 153 bytes .../abs__tab_selected_pressed_holo.9.png | Bin 0 -> 147 bytes .../abs__tab_unselected_pressed_holo.9.png | Bin 0 -> 149 bytes ...__textfield_search_default_holo_dark.9.png | Bin 0 -> 126 bytes ..._textfield_search_default_holo_light.9.png | Bin 0 -> 126 bytes ...field_search_right_default_holo_dark.9.png | Bin 0 -> 125 bytes ...ield_search_right_default_holo_light.9.png | Bin 0 -> 127 bytes ...ield_search_right_selected_holo_dark.9.png | Bin 0 -> 128 bytes ...eld_search_right_selected_holo_light.9.png | Bin 0 -> 128 bytes ..._textfield_search_selected_holo_dark.9.png | Bin 0 -> 114 bytes ...textfield_search_selected_holo_light.9.png | Bin 0 -> 126 bytes .../abs__activated_background_holo_dark.xml | 20 + .../abs__activated_background_holo_light.xml | 20 + .../drawable/abs__btn_cab_done_holo_dark.xml | 24 + .../drawable/abs__btn_cab_done_holo_light.xml | 24 + .../library/res/drawable/abs__ic_clear.xml | 22 + .../res/drawable/abs__ic_clear_holo_light.xml | 22 + .../abs__ic_menu_moreoverflow_holo_dark.xml | 18 + .../abs__ic_menu_moreoverflow_holo_light.xml | 18 + .../abs__item_background_holo_dark.xml | 26 + .../abs__item_background_holo_light.xml | 26 + ...lector_background_transition_holo_dark.xml | 20 + ...ector_background_transition_holo_light.xml | 20 + .../drawable/abs__list_selector_holo_dark.xml | 27 + .../abs__list_selector_holo_light.xml | 28 + .../abs__progress_horizontal_holo_dark.xml | 32 + .../abs__progress_horizontal_holo_light.xml | 32 + .../drawable/abs__progress_medium_holo.xml | 34 + .../drawable/abs__search_dropdown_dark.xml | 22 + .../drawable/abs__search_dropdown_light.xml | 22 + .../drawable/abs__spinner_ab_holo_dark.xml | 25 + .../drawable/abs__spinner_ab_holo_light.xml | 25 + .../drawable/abs__tab_indicator_ab_holo.xml | 34 + .../abs__textfield_searchview_holo_dark.xml | 22 + .../abs__textfield_searchview_holo_light.xml | 22 + ...__textfield_searchview_right_holo_dark.xml | 22 + ..._textfield_searchview_right_holo_light.xml | 22 + .../abs__action_mode_close_item.xml | 40 + .../sherlock_spinner_dropdown_item.xml | 26 + .../res/layout-v14/sherlock_spinner_item.xml | 26 + .../layout-xlarge/abs__screen_action_bar.xml | 50 + .../abs__screen_action_bar_overlay.xml | 49 + .../res/layout/abs__action_bar_home.xml | 38 + .../res/layout/abs__action_bar_tab.xml | 7 + .../layout/abs__action_bar_tab_bar_view.xml | 6 + .../res/layout/abs__action_bar_title_item.xml | 50 + .../layout/abs__action_menu_item_layout.xml | 56 + .../res/layout/abs__action_menu_layout.xml | 23 + .../res/layout/abs__action_mode_bar.xml | 24 + .../layout/abs__action_mode_close_item.xml | 31 + .../res/layout/abs__activity_chooser_view.xml | 70 + .../abs__activity_chooser_view_list_item.xml | 53 + .../res/layout/abs__dialog_title_holo.xml | 46 + .../layout/abs__list_menu_item_checkbox.xml | 26 + .../res/layout/abs__list_menu_item_icon.xml | 28 + .../res/layout/abs__list_menu_item_layout.xml | 59 + .../res/layout/abs__list_menu_item_radio.xml | 24 + .../layout/abs__popup_menu_item_layout.xml | 60 + .../res/layout/abs__screen_action_bar.xml | 57 + .../layout/abs__screen_action_bar_overlay.xml | 59 + .../library/res/layout/abs__screen_simple.xml | 38 + ...abs__screen_simple_overlay_action_mode.xml | 38 + .../abs__search_dropdown_item_icons_2line.xml | 89 + .../library/res/layout/abs__search_view.xml | 159 ++ .../res/layout/abs__simple_dropdown_hint.xml | 29 + .../layout/sherlock_spinner_dropdown_item.xml | 26 + .../res/layout/sherlock_spinner_item.xml | 26 + .../library/res/values-land/abs__dimens.xml | 33 + .../abs__dimens.xml | 33 + .../abs__dimens.xml | 33 + .../abs__dimens.xml | 33 + .../abs__dimens.xml | 36 + .../library/res/values-large/abs__dimens.xml | 29 + .../library/res/values-sw600dp/abs__bools.xml | 19 + .../res/values-sw600dp/abs__dimens.xml | 38 + .../library/res/values-v11/abs__themes.xml | 12 + .../library/res/values-v14/abs__styles.xml | 123 ++ .../library/res/values-v14/abs__themes.xml | 34 + .../library/res/values-w360dp/abs__dimens.xml | 22 + .../library/res/values-w480dp/abs__bools.xml | 22 + .../library/res/values-w480dp/abs__config.xml | 29 + .../library/res/values-w500dp/abs__dimens.xml | 22 + .../library/res/values-w600dp/abs__dimens.xml | 22 + .../library/res/values-xlarge/abs__dimens.xml | 45 + .../library/res/values/abs__attrs.xml | 432 ++++ .../library/res/values/abs__bools.xml | 22 + .../library/res/values/abs__colors.xml | 27 + .../library/res/values/abs__config.xml | 43 + .../library/res/values/abs__dimens.xml | 67 + .../library/res/values/abs__ids.xml | 26 + .../library/res/values/abs__strings.xml | 53 + .../library/res/values/abs__styles.xml | 412 ++++ .../library/res/values/abs__themes.xml | 239 +++ .../src/android/support/v4/app/Watson.java | 144 ++ .../actionbarsherlock/ActionBarSherlock.java | 794 +++++++ .../com/actionbarsherlock/app/ActionBar.java | 956 +++++++++ .../app/SherlockActivity.java | 270 +++ .../app/SherlockDialogFragment.java | 68 + .../app/SherlockExpandableListActivity.java | 259 +++ .../app/SherlockFragment.java | 68 + .../app/SherlockFragmentActivity.java | 303 +++ .../app/SherlockListActivity.java | 270 +++ .../app/SherlockListFragment.java | 68 + .../app/SherlockPreferenceActivity.java | 270 +++ .../internal/ActionBarSherlockCompat.java | 1203 +++++++++++ .../internal/ActionBarSherlockNative.java | 336 +++ .../internal/ResourcesCompat.java | 95 + .../internal/app/ActionBarImpl.java | 1026 +++++++++ .../internal/app/ActionBarWrapper.java | 468 +++++ .../nineoldandroids/animation/Animator.java | 278 +++ .../animation/AnimatorListenerAdapter.java | 54 + .../animation/AnimatorSet.java | 1111 ++++++++++ .../animation/FloatEvaluator.java | 42 + .../animation/FloatKeyframeSet.java | 136 ++ .../animation/IntEvaluator.java | 42 + .../animation/IntKeyframeSet.java | 135 ++ .../nineoldandroids/animation/Keyframe.java | 361 ++++ .../animation/KeyframeSet.java | 227 ++ .../animation/ObjectAnimator.java | 491 +++++ .../animation/PropertyValuesHolder.java | 1012 +++++++++ .../animation/TypeEvaluator.java | 44 + .../animation/ValueAnimator.java | 1265 +++++++++++ .../nineoldandroids/view/NineViewGroup.java | 79 + .../view/animation/AnimatorProxy.java | 212 ++ .../widget/NineFrameLayout.java | 57 + .../widget/NineHorizontalScrollView.java | 41 + .../widget/NineLinearLayout.java | 57 + .../internal/view/ActionProviderWrapper.java | 40 + .../internal/view/StandaloneActionMode.java | 148 ++ .../view/View_HasStateListenerSupport.java | 6 + .../View_OnAttachStateChangeListener.java | 8 + .../internal/view/menu/ActionMenu.java | 264 +++ .../internal/view/menu/ActionMenuItem.java | 278 +++ .../view/menu/ActionMenuItemView.java | 295 +++ .../view/menu/ActionMenuPresenter.java | 714 +++++++ .../internal/view/menu/ActionMenuView.java | 575 +++++ .../internal/view/menu/BaseMenuPresenter.java | 231 ++ .../internal/view/menu/ListMenuItemView.java | 278 +++ .../internal/view/menu/MenuBuilder.java | 1335 ++++++++++++ .../internal/view/menu/MenuItemImpl.java | 647 ++++++ .../internal/view/menu/MenuItemWrapper.java | 310 +++ .../internal/view/menu/MenuPopupHelper.java | 376 ++++ .../internal/view/menu/MenuPresenter.java | 148 ++ .../internal/view/menu/MenuView.java | 120 ++ .../internal/view/menu/MenuWrapper.java | 185 ++ .../internal/view/menu/SubMenuBuilder.java | 134 ++ .../internal/view/menu/SubMenuWrapper.java | 72 + .../internal/widget/AbsActionBarView.java | 291 +++ .../internal/widget/ActionBarContainer.java | 258 +++ .../internal/widget/ActionBarContextView.java | 518 +++++ .../internal/widget/ActionBarView.java | 1548 ++++++++++++++ .../internal/widget/CapitalizingButton.java | 40 + .../internal/widget/CapitalizingTextView.java | 50 + .../widget/CollapsibleActionViewWrapper.java | 30 + .../widget/FakeDialogPhoneWindow.java | 64 + .../internal/widget/IcsAbsSpinner.java | 479 +++++ .../internal/widget/IcsAdapterView.java | 1160 ++++++++++ .../internal/widget/IcsColorDrawable.java | 41 + .../internal/widget/IcsLinearLayout.java | 410 ++++ .../internal/widget/IcsListPopupWindow.java | 644 ++++++ .../internal/widget/IcsProgressBar.java | 1193 +++++++++++ .../internal/widget/IcsSpinner.java | 703 +++++++ .../internal/widget/IcsView.java | 21 + .../widget/ScrollingTabContainerView.java | 546 +++++ .../actionbarsherlock/view/ActionMode.java | 224 ++ .../view/ActionProvider.java | 170 ++ .../view/CollapsibleActionView.java | 39 + .../src/com/actionbarsherlock/view/Menu.java | 447 ++++ .../actionbarsherlock/view/MenuInflater.java | 495 +++++ .../com/actionbarsherlock/view/MenuItem.java | 598 ++++++ .../com/actionbarsherlock/view/SubMenu.java | 110 + .../com/actionbarsherlock/view/Window.java | 65 + .../widget/ActivityChooserModel.java | 1104 ++++++++++ .../widget/ActivityChooserView.java | 827 ++++++++ .../actionbarsherlock/widget/SearchView.java | 1811 ++++++++++++++++ .../widget/ShareActionProvider.java | 316 +++ .../widget/SuggestionsAdapter.java | 733 +++++++ .../internal/ManifestParsingTest.java | 37 + .../client/plugins/ActionBarSherlock/pom.xml | 191 ++ .../android/client/proguard-project.txt | 20 + .../agents/android/client/project.properties | 15 + .../client/res/drawable-hdpi/ic_bookmark.png | Bin 0 -> 4960 bytes .../res/drawable-hdpi/ic_check_default.png | Bin 0 -> 5701 bytes .../res/drawable-hdpi/ic_check_selected.png | Bin 0 -> 8100 bytes .../client/res/drawable-hdpi/ic_launcher.png | Bin 0 -> 4327 bytes .../client/res/drawable-hdpi/ic_logo.png | Bin 0 -> 4699 bytes .../client/res/drawable-hdpi/ic_logo_dark.png | Bin 0 -> 4699 bytes .../client/res/drawable-hdpi/ic_stat_gcm.png | Bin 0 -> 1135 bytes .../client/res/drawable-hdpi/option_icon.png | Bin 0 -> 5344 bytes .../client/res/drawable-hdpi/repeat_bg.png | Bin 0 -> 7114 bytes .../client/res/drawable-hdpi/top_bar.png | Bin 0 -> 34395 bytes .../client/res/drawable-mdpi/ic_bookmark.png | Bin 0 -> 2919 bytes .../res/drawable-mdpi/ic_check_default.png | Bin 0 -> 3090 bytes .../res/drawable-mdpi/ic_check_selected.png | Bin 0 -> 4182 bytes .../client/res/drawable-mdpi/ic_launcher.png | Bin 0 -> 2425 bytes .../client/res/drawable-mdpi/ic_logo.png | Bin 0 -> 3104 bytes .../client/res/drawable-mdpi/ic_logo_dark.png | Bin 0 -> 3104 bytes .../client/res/drawable-mdpi/option_icon.png | Bin 0 -> 2894 bytes .../client/res/drawable-mdpi/top_bar.png | Bin 0 -> 20898 bytes .../client/res/drawable-xhdpi/appinstall.png | Bin 0 -> 11231 bytes .../client/res/drawable-xhdpi/applist.png | Bin 0 -> 11689 bytes .../res/drawable-xhdpi/appuninstall.png | Bin 0 -> 10092 bytes .../client/res/drawable-xhdpi/camera.png | Bin 0 -> 15565 bytes .../res/drawable-xhdpi/changepassword.png | Bin 0 -> 15692 bytes .../client/res/drawable-xhdpi/encrypt.png | Bin 0 -> 9196 bytes .../client/res/drawable-xhdpi/ic_bookmark.png | Bin 0 -> 7078 bytes .../res/drawable-xhdpi/ic_check_default.png | Bin 0 -> 8569 bytes .../res/drawable-xhdpi/ic_check_selected.png | Bin 0 -> 12609 bytes .../client/res/drawable-xhdpi/ic_launcher.png | Bin 0 -> 5994 bytes .../client/res/drawable-xhdpi/ic_logo.png | Bin 0 -> 6475 bytes .../res/drawable-xhdpi/ic_logo_dark.png | Bin 0 -> 6475 bytes .../client/res/drawable-xhdpi/info.png | Bin 0 -> 12733 bytes .../client/res/drawable-xhdpi/location.png | Bin 0 -> 13926 bytes .../client/res/drawable-xhdpi/lock.png | Bin 0 -> 7210 bytes .../client/res/drawable-xhdpi/mute.png | Bin 0 -> 18880 bytes .../res/drawable-xhdpi/notification.png | Bin 0 -> 10763 bytes .../client/res/drawable-xhdpi/repeat_bg.png | Bin 0 -> 16939 bytes .../client/res/drawable-xhdpi/wifi.png | Bin 0 -> 8153 bytes .../client/res/drawable-xhdpi/wipe.png | Bin 0 -> 14301 bytes .../res/drawable-xxhdpi/ic_bookmark.png | Bin 0 -> 11958 bytes .../res/drawable-xxhdpi/ic_check_default.png | Bin 0 -> 15668 bytes .../res/drawable-xxhdpi/ic_check_selected.png | Bin 0 -> 23206 bytes .../res/drawable-xxhdpi/ic_launcher.png | Bin 0 -> 9581 bytes .../client/res/drawable-xxhdpi/ic_logo.png | Bin 0 -> 10459 bytes .../res/drawable-xxhdpi/ic_logo_dark.png | Bin 0 -> 10459 bytes .../client/res/drawable-xxhdpi/repeat_bg.png | Bin 0 -> 18591 bytes .../android/client/res/drawable/btn_grey.xml | 37 + .../client/res/drawable/btn_orange.xml | 37 + .../client/res/drawable/custom_checkbox.xml | 5 + .../android/client/res/drawable/dot.png | Bin 0 -> 85 bytes .../android/client/res/drawable/mdm_logo.xml | 10 + .../res/layout/activity_agent_settings.xml | 26 + .../client/res/layout/activity_alert.xml | 35 + .../layout/activity_already_registered.xml | 96 + .../res/layout/activity_authentication.xml | 123 ++ .../layout/activity_authentication_error.xml | 91 + .../layout/activity_available_operations.xml | 25 + .../layout/activity_display_device_info.xml | 110 + .../client/res/layout/activity_entry.xml | 55 + .../client/res/layout/activity_log.xml | 37 + .../client/res/layout/activity_main.xml | 130 ++ .../res/layout/activity_notification.xml | 30 + .../client/res/layout/activity_pin_code.xml | 123 ++ .../layout/activity_register_successful.xml | 100 + .../client/res/layout/activity_settings.xml | 111 + .../client/res/layout/custom_sherlock_bar.xml | 14 + .../client/res/layout/custom_terms_popup.xml | 55 + .../client/res/layout/footer_repeat.xml | 4 + .../client/res/layout/header_gradient.xml | 9 + .../android/client/res/layout/login.xml | 77 + .../agents/android/client/res/layout/main.xml | 12 + .../android/client/res/layout/notify.xml | 93 + .../client/res/layout/row_with_icon.xml | 26 + .../android/client/res/layout/simplerow.xml | 8 + .../client/res/menu/agent_settings.xml | 9 + .../agents/android/client/res/menu/alert.xml | 9 + .../client/res/menu/all_ready_registered.xml | 9 + .../client/res/menu/auth_sherlock_menu.xml | 15 + .../client/res/menu/authentication.xml | 9 + .../client/res/menu/authentication_error.xml | 9 + .../client/res/menu/available_operations.xml | 9 + .../client/res/menu/display_device_info.xml | 9 + .../agents/android/client/res/menu/entry.xml | 9 + .../agents/android/client/res/menu/log.xml | 9 + .../agents/android/client/res/menu/main.xml | 9 + .../android/client/res/menu/notification.xml | 9 + .../agents/android/client/res/menu/notify.xml | 9 + .../android/client/res/menu/options_menu.xml | 5 + .../android/client/res/menu/pin_code.xml | 9 + .../client/res/menu/register_successful.xml | 9 + .../android/client/res/menu/settings.xml | 9 + .../android/client/res/menu/sherlock_menu.xml | 19 + .../client/res/menu/sherlock_menu_debug.xml | 28 + .../android/client/res/raw/emm_truststore.bks | Bin 0 -> 29 bytes .../client/res/values-sw600dp/dimens.xml | 8 + .../client/res/values-sw720dp-land/dimens.xml | 9 + .../android/client/res/values-v11/styles.xml | 11 + .../android/client/res/values-v14/styles.xml | 12 + .../android/client/res/values/colors.xml | 7 + .../android/client/res/values/dimens.xml | 7 + .../agents/android/client/res/values/ids.xml | 65 + .../android/client/res/values/strings.xml | 185 ++ .../android/client/res/values/styles.xml | 64 + .../client/res/xml/wso2_device_admin.xml | 12 + .../src/org/wso2/cdm/agent/AlertActivity.java | 64 + .../cdm/agent/AlreadyRegisteredActivity.java | 549 +++++ .../cdm/agent/AuthenticationActivity.java | 697 +++++++ .../agent/AuthenticationErrorActivity.java | 130 ++ .../cdm/agent/DisplayDeviceInfoActivity.java | 138 ++ .../org/wso2/cdm/agent/GCMIntentService.java | 146 ++ .../src/org/wso2/cdm/agent/LogActivity.java | 76 + .../org/wso2/cdm/agent/NotifyActivity.java | 69 + .../org/wso2/cdm/agent/PinCodeActivity.java | 323 +++ .../wso2/cdm/agent/RegistrationActivity.java | 241 +++ .../src/org/wso2/cdm/agent/ServerDetails.java | 188 ++ .../cdm/agent/api/ApplicationManager.java | 243 +++ .../src/org/wso2/cdm/agent/api/Battery.java | 59 + .../org/wso2/cdm/agent/api/DeviceInfo.java | 348 +++ .../src/org/wso2/cdm/agent/api/ExecShell.java | 74 + .../org/wso2/cdm/agent/api/GPSTracker.java | 213 ++ .../wso2/cdm/agent/api/LocationServices.java | 44 + .../org/wso2/cdm/agent/api/PhoneState.java | 252 +++ .../src/org/wso2/cdm/agent/api/Root.java | 80 + .../org/wso2/cdm/agent/api/TrackCallSMS.java | 138 ++ .../org/wso2/cdm/agent/api/TrafficRecord.java | 36 + .../wso2/cdm/agent/api/TrafficSnapshot.java | 43 + .../org/wso2/cdm/agent/api/WiFiConfig.java | 798 +++++++ .../src/org/wso2/cdm/agent/models/PInfo.java | 30 + .../wso2/cdm/agent/parser/PayloadParser.java | 74 + .../cdm/agent/proxy/APIAccessCallBack.java | 12 + .../wso2/cdm/agent/proxy/APIController.java | 108 + .../cdm/agent/proxy/APIResultCallBack.java | 8 + .../wso2/cdm/agent/proxy/APIUtilities.java | 51 + .../cdm/agent/proxy/AccessTokenHandler.java | 136 ++ .../org/wso2/cdm/agent/proxy/CallBack.java | 26 + .../wso2/cdm/agent/proxy/IdentityProxy.java | 148 ++ .../cdm/agent/proxy/RefreshTokenHandler.java | 137 ++ .../wso2/cdm/agent/proxy/ServerApiAccess.java | 330 +++ .../wso2/cdm/agent/proxy/ServerUtilities.java | 235 +++ .../src/org/wso2/cdm/agent/proxy/Token.java | 94 + .../wso2/cdm/agent/proxy/TokenCallBack.java | 6 + .../agent/security/APIResultCallBackImpl.java | 100 + .../cdm/agent/services/AlarmReceiver.java | 41 + .../org/wso2/cdm/agent/services/Config.java | 22 + .../services/DeviceStartupIntentReceiver.java | 74 + .../cdm/agent/services/LocalNotification.java | 43 + .../cdm/agent/services/MessageProcessor.java | 114 + .../wso2/cdm/agent/services/Operation.java | 1857 +++++++++++++++++ .../wso2/cdm/agent/services/PolicyTester.java | 740 +++++++ .../wso2/cdm/agent/services/SMSReceiver.java | 66 + .../services/WSO2DeviceAdminReceiver.java | 143 ++ .../cdm/agent/utils/CommonDialogUtils.java | 208 ++ .../wso2/cdm/agent/utils/CommonUtilities.java | 196 ++ .../org/wso2/cdm/agent/utils/Constant.java | 3 + .../cdm/agent/utils/HTTPConnectorUtils.java | 248 +++ .../wso2/cdm/agent/utils/LoggerCustom.java | 62 + .../org/wso2/cdm/agent/utils/Preference.java | 47 + .../org/wso2/cdm/agent/utils/Responce.java | 45 + .../org/wso2/cdm/agent/utils/ServerUtils.java | 120 ++ .../cdm/agent/utils/WSO2SSLSocketFactory.java | 64 + 656 files changed, 52600 insertions(+) create mode 100644 product/modules/agents/android/client/AndroidManifest.xml create mode 100644 product/modules/agents/android/client/README.md create mode 100644 product/modules/agents/android/client/assets/config.properties create mode 100644 product/modules/agents/android/client/bin/AndroidManifest.xml create mode 100644 product/modules/agents/android/client/bin/R.txt create mode 100644 product/modules/agents/android/client/bin/cdm-agent.apk create mode 100644 product/modules/agents/android/client/bin/classes.dex create mode 100644 product/modules/agents/android/client/bin/jarlist.cache create mode 100644 product/modules/agents/android/client/bin/res/crunch/drawable-hdpi/ic_bookmark.png create mode 100644 product/modules/agents/android/client/bin/res/crunch/drawable-hdpi/ic_check_default.png create mode 100644 product/modules/agents/android/client/bin/res/crunch/drawable-hdpi/ic_check_selected.png create mode 100644 product/modules/agents/android/client/bin/res/crunch/drawable-hdpi/ic_launcher.png create mode 100644 product/modules/agents/android/client/bin/res/crunch/drawable-hdpi/ic_logo.png create mode 100644 product/modules/agents/android/client/bin/res/crunch/drawable-hdpi/ic_logo_dark.png create mode 100644 product/modules/agents/android/client/bin/res/crunch/drawable-hdpi/ic_stat_gcm.png create mode 100644 product/modules/agents/android/client/bin/res/crunch/drawable-hdpi/option_icon.png create mode 100644 product/modules/agents/android/client/bin/res/crunch/drawable-hdpi/repeat_bg.png create mode 100644 product/modules/agents/android/client/bin/res/crunch/drawable-hdpi/top_bar.png create mode 100644 product/modules/agents/android/client/bin/res/crunch/drawable-mdpi/ic_bookmark.png create mode 100644 product/modules/agents/android/client/bin/res/crunch/drawable-mdpi/ic_check_default.png create mode 100644 product/modules/agents/android/client/bin/res/crunch/drawable-mdpi/ic_check_selected.png create mode 100644 product/modules/agents/android/client/bin/res/crunch/drawable-mdpi/ic_launcher.png create mode 100644 product/modules/agents/android/client/bin/res/crunch/drawable-mdpi/ic_logo.png create mode 100644 product/modules/agents/android/client/bin/res/crunch/drawable-mdpi/ic_logo_dark.png create mode 100644 product/modules/agents/android/client/bin/res/crunch/drawable-mdpi/option_icon.png create mode 100644 product/modules/agents/android/client/bin/res/crunch/drawable-mdpi/top_bar.png create mode 100644 product/modules/agents/android/client/bin/res/crunch/drawable-xhdpi/appinstall.png create mode 100644 product/modules/agents/android/client/bin/res/crunch/drawable-xhdpi/applist.png create mode 100644 product/modules/agents/android/client/bin/res/crunch/drawable-xhdpi/appuninstall.png create mode 100644 product/modules/agents/android/client/bin/res/crunch/drawable-xhdpi/camera.png create mode 100644 product/modules/agents/android/client/bin/res/crunch/drawable-xhdpi/changepassword.png create mode 100644 product/modules/agents/android/client/bin/res/crunch/drawable-xhdpi/encrypt.png create mode 100644 product/modules/agents/android/client/bin/res/crunch/drawable-xhdpi/ic_bookmark.png create mode 100644 product/modules/agents/android/client/bin/res/crunch/drawable-xhdpi/ic_check_default.png create mode 100644 product/modules/agents/android/client/bin/res/crunch/drawable-xhdpi/ic_check_selected.png create mode 100644 product/modules/agents/android/client/bin/res/crunch/drawable-xhdpi/ic_launcher.png create mode 100644 product/modules/agents/android/client/bin/res/crunch/drawable-xhdpi/ic_logo.png create mode 100644 product/modules/agents/android/client/bin/res/crunch/drawable-xhdpi/ic_logo_dark.png create mode 100644 product/modules/agents/android/client/bin/res/crunch/drawable-xhdpi/info.png create mode 100644 product/modules/agents/android/client/bin/res/crunch/drawable-xhdpi/location.png create mode 100644 product/modules/agents/android/client/bin/res/crunch/drawable-xhdpi/lock.png create mode 100644 product/modules/agents/android/client/bin/res/crunch/drawable-xhdpi/mute.png create mode 100644 product/modules/agents/android/client/bin/res/crunch/drawable-xhdpi/notification.png create mode 100644 product/modules/agents/android/client/bin/res/crunch/drawable-xhdpi/repeat_bg.png create mode 100644 product/modules/agents/android/client/bin/res/crunch/drawable-xhdpi/wifi.png create mode 100644 product/modules/agents/android/client/bin/res/crunch/drawable-xhdpi/wipe.png create mode 100644 product/modules/agents/android/client/bin/res/crunch/drawable-xxhdpi/ic_bookmark.png create mode 100644 product/modules/agents/android/client/bin/res/crunch/drawable-xxhdpi/ic_check_default.png create mode 100644 product/modules/agents/android/client/bin/res/crunch/drawable-xxhdpi/ic_check_selected.png create mode 100644 product/modules/agents/android/client/bin/res/crunch/drawable-xxhdpi/ic_launcher.png create mode 100644 product/modules/agents/android/client/bin/res/crunch/drawable-xxhdpi/ic_logo.png create mode 100644 product/modules/agents/android/client/bin/res/crunch/drawable-xxhdpi/ic_logo_dark.png create mode 100644 product/modules/agents/android/client/bin/res/crunch/drawable-xxhdpi/repeat_bg.png create mode 100644 product/modules/agents/android/client/bin/res/crunch/drawable/dot.png create mode 100644 product/modules/agents/android/client/bin/resources.ap_ create mode 100644 product/modules/agents/android/client/lint.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/.gitignore create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/.travis.yml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/CHANGELOG.md create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/CONTRIBUTING.md create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/LICENSE.txt create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/README.md create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/checkstyle.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/AndroidManifest.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/README.md create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/build.gradle create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/pom.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/project.properties create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/color/abs__primary_text_disable_only_holo_dark.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/color/abs__primary_text_disable_only_holo_light.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/color/abs__primary_text_holo_dark.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/color/abs__primary_text_holo_light.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ab_bottom_solid_dark_holo.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ab_bottom_solid_inverse_holo.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ab_bottom_solid_light_holo.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ab_bottom_transparent_dark_holo.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ab_bottom_transparent_light_holo.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ab_share_pack_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ab_share_pack_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ab_solid_dark_holo.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ab_solid_light_holo.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ab_solid_shadow_holo.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ab_stacked_solid_dark_holo.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ab_stacked_solid_light_holo.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ab_stacked_transparent_dark_holo.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ab_stacked_transparent_light_holo.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ab_transparent_dark_holo.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ab_transparent_light_holo.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__btn_cab_done_default_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__btn_cab_done_default_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__btn_cab_done_focused_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__btn_cab_done_focused_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__btn_cab_done_pressed_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__btn_cab_done_pressed_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__cab_background_bottom_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__cab_background_bottom_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__cab_background_top_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__cab_background_top_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__dialog_full_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__dialog_full_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ic_ab_back_holo_dark.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ic_ab_back_holo_light.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ic_cab_done_holo_dark.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ic_cab_done_holo_light.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ic_clear_disabled.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ic_clear_normal.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ic_clear_search_api_disabled_holo_light.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ic_clear_search_api_holo_light.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ic_go.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ic_go_search_api_holo_light.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ic_menu_moreoverflow_normal_holo_dark.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ic_menu_moreoverflow_normal_holo_light.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ic_menu_share_holo_dark.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ic_menu_share_holo_light.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ic_search.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ic_search_api_holo_light.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ic_voice_search.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ic_voice_search_api_holo_light.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__list_activated_holo.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__list_divider_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__list_divider_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__list_focused_holo.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__list_longpressed_holo.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__list_pressed_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__list_pressed_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__list_selector_disabled_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__list_selector_disabled_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__menu_dropdown_panel_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__menu_dropdown_panel_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__progress_bg_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__progress_bg_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__progress_primary_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__progress_primary_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__progress_secondary_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__progress_secondary_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__spinner_48_inner_holo.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__spinner_48_outer_holo.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__spinner_ab_default_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__spinner_ab_default_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__spinner_ab_disabled_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__spinner_ab_disabled_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__spinner_ab_focused_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__spinner_ab_focused_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__spinner_ab_pressed_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__spinner_ab_pressed_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__tab_selected_focused_holo.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__tab_selected_holo.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__tab_selected_pressed_holo.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__tab_unselected_pressed_holo.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__textfield_search_default_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__textfield_search_default_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__textfield_search_right_default_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__textfield_search_right_default_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__textfield_search_right_selected_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__textfield_search_right_selected_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__textfield_search_selected_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__textfield_search_selected_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ab_bottom_solid_dark_holo.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ab_bottom_solid_inverse_holo.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ab_bottom_solid_light_holo.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ab_bottom_transparent_dark_holo.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ab_bottom_transparent_light_holo.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ab_share_pack_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ab_share_pack_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ab_solid_dark_holo.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ab_solid_light_holo.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ab_solid_shadow_holo.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ab_stacked_solid_dark_holo.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ab_stacked_solid_light_holo.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ab_stacked_transparent_dark_holo.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ab_stacked_transparent_light_holo.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ab_transparent_dark_holo.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ab_transparent_light_holo.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__btn_cab_done_default_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__btn_cab_done_default_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__btn_cab_done_focused_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__btn_cab_done_focused_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__btn_cab_done_pressed_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__btn_cab_done_pressed_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__cab_background_bottom_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__cab_background_bottom_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__cab_background_top_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__cab_background_top_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__dialog_full_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__dialog_full_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ic_ab_back_holo_dark.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ic_ab_back_holo_light.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ic_cab_done_holo_dark.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ic_cab_done_holo_light.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ic_clear_disabled.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ic_clear_normal.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ic_clear_search_api_disabled_holo_light.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ic_clear_search_api_holo_light.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ic_go.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ic_go_search_api_holo_light.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ic_menu_moreoverflow_normal_holo_dark.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ic_menu_moreoverflow_normal_holo_light.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ic_menu_share_holo_dark.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ic_menu_share_holo_light.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ic_search.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ic_search_api_holo_light.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ic_voice_search.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ic_voice_search_api_holo_light.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__list_activated_holo.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__list_divider_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__list_divider_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__list_focused_holo.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__list_longpressed_holo.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__list_pressed_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__list_pressed_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__list_selector_disabled_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__list_selector_disabled_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__menu_dropdown_panel_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__menu_dropdown_panel_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__progress_bg_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__progress_bg_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__progress_primary_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__progress_primary_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__progress_secondary_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__progress_secondary_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__spinner_48_inner_holo.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__spinner_48_outer_holo.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__spinner_ab_default_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__spinner_ab_default_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__spinner_ab_disabled_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__spinner_ab_disabled_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__spinner_ab_focused_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__spinner_ab_focused_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__spinner_ab_pressed_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__spinner_ab_pressed_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__tab_selected_focused_holo.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__tab_selected_holo.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__tab_selected_pressed_holo.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__tab_unselected_pressed_holo.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__textfield_search_default_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__textfield_search_default_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__textfield_search_right_default_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__textfield_search_right_default_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__textfield_search_right_selected_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__textfield_search_right_selected_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__textfield_search_selected_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__textfield_search_selected_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-v11/abs__progress_medium_holo.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ab_bottom_solid_dark_holo.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ab_bottom_solid_inverse_holo.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ab_bottom_solid_light_holo.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ab_bottom_transparent_dark_holo.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ab_bottom_transparent_light_holo.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ab_share_pack_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ab_share_pack_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ab_solid_dark_holo.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ab_solid_light_holo.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ab_solid_shadow_holo.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ab_stacked_solid_dark_holo.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ab_stacked_solid_light_holo.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ab_stacked_transparent_dark_holo.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ab_stacked_transparent_light_holo.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ab_transparent_dark_holo.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ab_transparent_light_holo.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__btn_cab_done_default_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__btn_cab_done_default_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__btn_cab_done_focused_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__btn_cab_done_focused_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__btn_cab_done_pressed_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__btn_cab_done_pressed_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__cab_background_bottom_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__cab_background_bottom_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__cab_background_top_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__cab_background_top_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__dialog_full_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__dialog_full_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ic_ab_back_holo_dark.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ic_ab_back_holo_light.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ic_cab_done_holo_dark.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ic_cab_done_holo_light.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ic_clear_disabled.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ic_clear_search_api_disabled_holo_light.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ic_clear_search_api_holo_light.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ic_go.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ic_go_search_api_holo_light.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ic_menu_moreoverflow_normal_holo_dark.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ic_menu_moreoverflow_normal_holo_light.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ic_menu_share_holo_dark.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ic_menu_share_holo_light.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ic_search.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ic_search_api_holo_light.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ic_voice_search.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ic_voice_search_api_holo_light.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__list_activated_holo.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__list_divider_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__list_divider_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__list_focused_holo.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__list_longpressed_holo.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__list_pressed_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__list_pressed_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__list_selector_disabled_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__list_selector_disabled_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__menu_dropdown_panel_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__menu_dropdown_panel_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__progress_bg_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__progress_bg_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__progress_primary_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__progress_primary_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__progress_secondary_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__progress_secondary_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__spinner_48_inner_holo.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__spinner_48_outer_holo.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__spinner_ab_default_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__spinner_ab_default_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__spinner_ab_disabled_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__spinner_ab_disabled_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__spinner_ab_focused_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__spinner_ab_focused_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__spinner_ab_pressed_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__spinner_ab_pressed_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__tab_selected_focused_holo.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__tab_selected_holo.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__tab_selected_pressed_holo.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__tab_unselected_pressed_holo.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__textfield_search_default_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__textfield_search_default_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__textfield_search_right_default_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__textfield_search_right_default_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__textfield_search_right_selected_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__textfield_search_right_selected_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__textfield_search_selected_holo_dark.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__textfield_search_selected_holo_light.9.png create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__activated_background_holo_dark.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__activated_background_holo_light.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__btn_cab_done_holo_dark.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__btn_cab_done_holo_light.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__ic_clear.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__ic_clear_holo_light.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__ic_menu_moreoverflow_holo_dark.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__ic_menu_moreoverflow_holo_light.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__item_background_holo_dark.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__item_background_holo_light.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__list_selector_background_transition_holo_dark.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__list_selector_background_transition_holo_light.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__list_selector_holo_dark.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__list_selector_holo_light.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__progress_horizontal_holo_dark.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__progress_horizontal_holo_light.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__progress_medium_holo.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__search_dropdown_dark.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__search_dropdown_light.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__spinner_ab_holo_dark.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__spinner_ab_holo_light.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__tab_indicator_ab_holo.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__textfield_searchview_holo_dark.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__textfield_searchview_holo_light.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__textfield_searchview_right_holo_dark.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__textfield_searchview_right_holo_light.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout-large/abs__action_mode_close_item.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout-v14/sherlock_spinner_dropdown_item.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout-v14/sherlock_spinner_item.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout-xlarge/abs__screen_action_bar.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout-xlarge/abs__screen_action_bar_overlay.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__action_bar_home.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__action_bar_tab.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__action_bar_tab_bar_view.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__action_bar_title_item.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__action_menu_item_layout.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__action_menu_layout.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__action_mode_bar.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__action_mode_close_item.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__activity_chooser_view.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__activity_chooser_view_list_item.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__dialog_title_holo.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__list_menu_item_checkbox.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__list_menu_item_icon.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__list_menu_item_layout.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__list_menu_item_radio.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__popup_menu_item_layout.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__screen_action_bar.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__screen_action_bar_overlay.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__screen_simple.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__screen_simple_overlay_action_mode.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__search_dropdown_item_icons_2line.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__search_view.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__simple_dropdown_hint.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/sherlock_spinner_dropdown_item.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/sherlock_spinner_item.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-land/abs__dimens.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-large-hdpi-1024x600/abs__dimens.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-large-land-hdpi-1024x600/abs__dimens.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-large-land-mdpi-1024x600/abs__dimens.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-large-mdpi-1024x600/abs__dimens.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-large/abs__dimens.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-sw600dp/abs__bools.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-sw600dp/abs__dimens.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-v11/abs__themes.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-v14/abs__styles.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-v14/abs__themes.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-w360dp/abs__dimens.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-w480dp/abs__bools.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-w480dp/abs__config.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-w500dp/abs__dimens.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-w600dp/abs__dimens.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-xlarge/abs__dimens.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values/abs__attrs.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values/abs__bools.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values/abs__colors.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values/abs__config.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values/abs__dimens.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values/abs__ids.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values/abs__strings.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values/abs__styles.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values/abs__themes.xml create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/android/support/v4/app/Watson.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/ActionBarSherlock.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/app/ActionBar.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/app/SherlockActivity.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/app/SherlockDialogFragment.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/app/SherlockExpandableListActivity.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/app/SherlockFragment.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/app/SherlockFragmentActivity.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/app/SherlockListActivity.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/app/SherlockListFragment.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/app/SherlockPreferenceActivity.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/ActionBarSherlockCompat.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/ActionBarSherlockNative.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/ResourcesCompat.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/app/ActionBarImpl.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/app/ActionBarWrapper.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/animation/Animator.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/animation/AnimatorListenerAdapter.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/animation/AnimatorSet.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/animation/FloatEvaluator.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/animation/FloatKeyframeSet.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/animation/IntEvaluator.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/animation/IntKeyframeSet.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/animation/Keyframe.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/animation/KeyframeSet.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/animation/ObjectAnimator.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/animation/TypeEvaluator.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/animation/ValueAnimator.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/view/NineViewGroup.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/view/animation/AnimatorProxy.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/widget/NineFrameLayout.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/widget/NineHorizontalScrollView.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/widget/NineLinearLayout.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/ActionProviderWrapper.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/StandaloneActionMode.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/View_HasStateListenerSupport.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/View_OnAttachStateChangeListener.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/menu/ActionMenu.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/menu/ActionMenuItem.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/menu/ActionMenuItemView.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/menu/ActionMenuPresenter.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/menu/ActionMenuView.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/menu/BaseMenuPresenter.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/menu/ListMenuItemView.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/menu/MenuBuilder.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/menu/MenuItemImpl.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/menu/MenuItemWrapper.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/menu/MenuPopupHelper.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/menu/MenuPresenter.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/menu/MenuView.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/menu/MenuWrapper.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/menu/SubMenuBuilder.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/menu/SubMenuWrapper.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/AbsActionBarView.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/ActionBarContainer.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/ActionBarContextView.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/ActionBarView.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/CapitalizingButton.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/CapitalizingTextView.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/CollapsibleActionViewWrapper.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/FakeDialogPhoneWindow.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/IcsAbsSpinner.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/IcsAdapterView.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/IcsColorDrawable.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/IcsLinearLayout.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/IcsListPopupWindow.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/IcsProgressBar.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/IcsSpinner.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/IcsView.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/ScrollingTabContainerView.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/view/ActionMode.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/view/ActionProvider.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/view/CollapsibleActionView.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/view/Menu.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/view/MenuInflater.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/view/MenuItem.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/view/SubMenu.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/view/Window.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/widget/ActivityChooserModel.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/widget/ActivityChooserView.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/widget/SearchView.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/widget/ShareActionProvider.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/widget/SuggestionsAdapter.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/library/test/com/actionbarsherlock/internal/ManifestParsingTest.java create mode 100644 product/modules/agents/android/client/plugins/ActionBarSherlock/pom.xml create mode 100644 product/modules/agents/android/client/proguard-project.txt create mode 100644 product/modules/agents/android/client/project.properties create mode 100644 product/modules/agents/android/client/res/drawable-hdpi/ic_bookmark.png create mode 100644 product/modules/agents/android/client/res/drawable-hdpi/ic_check_default.png create mode 100644 product/modules/agents/android/client/res/drawable-hdpi/ic_check_selected.png create mode 100644 product/modules/agents/android/client/res/drawable-hdpi/ic_launcher.png create mode 100644 product/modules/agents/android/client/res/drawable-hdpi/ic_logo.png create mode 100644 product/modules/agents/android/client/res/drawable-hdpi/ic_logo_dark.png create mode 100644 product/modules/agents/android/client/res/drawable-hdpi/ic_stat_gcm.png create mode 100644 product/modules/agents/android/client/res/drawable-hdpi/option_icon.png create mode 100644 product/modules/agents/android/client/res/drawable-hdpi/repeat_bg.png create mode 100644 product/modules/agents/android/client/res/drawable-hdpi/top_bar.png create mode 100644 product/modules/agents/android/client/res/drawable-mdpi/ic_bookmark.png create mode 100644 product/modules/agents/android/client/res/drawable-mdpi/ic_check_default.png create mode 100644 product/modules/agents/android/client/res/drawable-mdpi/ic_check_selected.png create mode 100644 product/modules/agents/android/client/res/drawable-mdpi/ic_launcher.png create mode 100644 product/modules/agents/android/client/res/drawable-mdpi/ic_logo.png create mode 100644 product/modules/agents/android/client/res/drawable-mdpi/ic_logo_dark.png create mode 100644 product/modules/agents/android/client/res/drawable-mdpi/option_icon.png create mode 100644 product/modules/agents/android/client/res/drawable-mdpi/top_bar.png create mode 100644 product/modules/agents/android/client/res/drawable-xhdpi/appinstall.png create mode 100644 product/modules/agents/android/client/res/drawable-xhdpi/applist.png create mode 100644 product/modules/agents/android/client/res/drawable-xhdpi/appuninstall.png create mode 100644 product/modules/agents/android/client/res/drawable-xhdpi/camera.png create mode 100644 product/modules/agents/android/client/res/drawable-xhdpi/changepassword.png create mode 100644 product/modules/agents/android/client/res/drawable-xhdpi/encrypt.png create mode 100644 product/modules/agents/android/client/res/drawable-xhdpi/ic_bookmark.png create mode 100644 product/modules/agents/android/client/res/drawable-xhdpi/ic_check_default.png create mode 100644 product/modules/agents/android/client/res/drawable-xhdpi/ic_check_selected.png create mode 100644 product/modules/agents/android/client/res/drawable-xhdpi/ic_launcher.png create mode 100644 product/modules/agents/android/client/res/drawable-xhdpi/ic_logo.png create mode 100644 product/modules/agents/android/client/res/drawable-xhdpi/ic_logo_dark.png create mode 100644 product/modules/agents/android/client/res/drawable-xhdpi/info.png create mode 100644 product/modules/agents/android/client/res/drawable-xhdpi/location.png create mode 100644 product/modules/agents/android/client/res/drawable-xhdpi/lock.png create mode 100644 product/modules/agents/android/client/res/drawable-xhdpi/mute.png create mode 100644 product/modules/agents/android/client/res/drawable-xhdpi/notification.png create mode 100644 product/modules/agents/android/client/res/drawable-xhdpi/repeat_bg.png create mode 100644 product/modules/agents/android/client/res/drawable-xhdpi/wifi.png create mode 100644 product/modules/agents/android/client/res/drawable-xhdpi/wipe.png create mode 100644 product/modules/agents/android/client/res/drawable-xxhdpi/ic_bookmark.png create mode 100644 product/modules/agents/android/client/res/drawable-xxhdpi/ic_check_default.png create mode 100644 product/modules/agents/android/client/res/drawable-xxhdpi/ic_check_selected.png create mode 100644 product/modules/agents/android/client/res/drawable-xxhdpi/ic_launcher.png create mode 100644 product/modules/agents/android/client/res/drawable-xxhdpi/ic_logo.png create mode 100644 product/modules/agents/android/client/res/drawable-xxhdpi/ic_logo_dark.png create mode 100644 product/modules/agents/android/client/res/drawable-xxhdpi/repeat_bg.png create mode 100644 product/modules/agents/android/client/res/drawable/btn_grey.xml create mode 100644 product/modules/agents/android/client/res/drawable/btn_orange.xml create mode 100644 product/modules/agents/android/client/res/drawable/custom_checkbox.xml create mode 100644 product/modules/agents/android/client/res/drawable/dot.png create mode 100644 product/modules/agents/android/client/res/drawable/mdm_logo.xml create mode 100644 product/modules/agents/android/client/res/layout/activity_agent_settings.xml create mode 100644 product/modules/agents/android/client/res/layout/activity_alert.xml create mode 100644 product/modules/agents/android/client/res/layout/activity_already_registered.xml create mode 100644 product/modules/agents/android/client/res/layout/activity_authentication.xml create mode 100644 product/modules/agents/android/client/res/layout/activity_authentication_error.xml create mode 100644 product/modules/agents/android/client/res/layout/activity_available_operations.xml create mode 100644 product/modules/agents/android/client/res/layout/activity_display_device_info.xml create mode 100644 product/modules/agents/android/client/res/layout/activity_entry.xml create mode 100644 product/modules/agents/android/client/res/layout/activity_log.xml create mode 100644 product/modules/agents/android/client/res/layout/activity_main.xml create mode 100644 product/modules/agents/android/client/res/layout/activity_notification.xml create mode 100644 product/modules/agents/android/client/res/layout/activity_pin_code.xml create mode 100644 product/modules/agents/android/client/res/layout/activity_register_successful.xml create mode 100644 product/modules/agents/android/client/res/layout/activity_settings.xml create mode 100644 product/modules/agents/android/client/res/layout/custom_sherlock_bar.xml create mode 100644 product/modules/agents/android/client/res/layout/custom_terms_popup.xml create mode 100644 product/modules/agents/android/client/res/layout/footer_repeat.xml create mode 100644 product/modules/agents/android/client/res/layout/header_gradient.xml create mode 100644 product/modules/agents/android/client/res/layout/login.xml create mode 100644 product/modules/agents/android/client/res/layout/main.xml create mode 100644 product/modules/agents/android/client/res/layout/notify.xml create mode 100644 product/modules/agents/android/client/res/layout/row_with_icon.xml create mode 100644 product/modules/agents/android/client/res/layout/simplerow.xml create mode 100644 product/modules/agents/android/client/res/menu/agent_settings.xml create mode 100644 product/modules/agents/android/client/res/menu/alert.xml create mode 100644 product/modules/agents/android/client/res/menu/all_ready_registered.xml create mode 100644 product/modules/agents/android/client/res/menu/auth_sherlock_menu.xml create mode 100644 product/modules/agents/android/client/res/menu/authentication.xml create mode 100644 product/modules/agents/android/client/res/menu/authentication_error.xml create mode 100644 product/modules/agents/android/client/res/menu/available_operations.xml create mode 100644 product/modules/agents/android/client/res/menu/display_device_info.xml create mode 100644 product/modules/agents/android/client/res/menu/entry.xml create mode 100644 product/modules/agents/android/client/res/menu/log.xml create mode 100644 product/modules/agents/android/client/res/menu/main.xml create mode 100644 product/modules/agents/android/client/res/menu/notification.xml create mode 100644 product/modules/agents/android/client/res/menu/notify.xml create mode 100644 product/modules/agents/android/client/res/menu/options_menu.xml create mode 100644 product/modules/agents/android/client/res/menu/pin_code.xml create mode 100644 product/modules/agents/android/client/res/menu/register_successful.xml create mode 100644 product/modules/agents/android/client/res/menu/settings.xml create mode 100644 product/modules/agents/android/client/res/menu/sherlock_menu.xml create mode 100644 product/modules/agents/android/client/res/menu/sherlock_menu_debug.xml create mode 100644 product/modules/agents/android/client/res/raw/emm_truststore.bks create mode 100644 product/modules/agents/android/client/res/values-sw600dp/dimens.xml create mode 100644 product/modules/agents/android/client/res/values-sw720dp-land/dimens.xml create mode 100644 product/modules/agents/android/client/res/values-v11/styles.xml create mode 100644 product/modules/agents/android/client/res/values-v14/styles.xml create mode 100644 product/modules/agents/android/client/res/values/colors.xml create mode 100644 product/modules/agents/android/client/res/values/dimens.xml create mode 100644 product/modules/agents/android/client/res/values/ids.xml create mode 100644 product/modules/agents/android/client/res/values/strings.xml create mode 100644 product/modules/agents/android/client/res/values/styles.xml create mode 100644 product/modules/agents/android/client/res/xml/wso2_device_admin.xml create mode 100644 product/modules/agents/android/client/src/org/wso2/cdm/agent/AlertActivity.java create mode 100644 product/modules/agents/android/client/src/org/wso2/cdm/agent/AlreadyRegisteredActivity.java create mode 100644 product/modules/agents/android/client/src/org/wso2/cdm/agent/AuthenticationActivity.java create mode 100644 product/modules/agents/android/client/src/org/wso2/cdm/agent/AuthenticationErrorActivity.java create mode 100644 product/modules/agents/android/client/src/org/wso2/cdm/agent/DisplayDeviceInfoActivity.java create mode 100644 product/modules/agents/android/client/src/org/wso2/cdm/agent/GCMIntentService.java create mode 100644 product/modules/agents/android/client/src/org/wso2/cdm/agent/LogActivity.java create mode 100644 product/modules/agents/android/client/src/org/wso2/cdm/agent/NotifyActivity.java create mode 100644 product/modules/agents/android/client/src/org/wso2/cdm/agent/PinCodeActivity.java create mode 100644 product/modules/agents/android/client/src/org/wso2/cdm/agent/RegistrationActivity.java create mode 100644 product/modules/agents/android/client/src/org/wso2/cdm/agent/ServerDetails.java create mode 100644 product/modules/agents/android/client/src/org/wso2/cdm/agent/api/ApplicationManager.java create mode 100644 product/modules/agents/android/client/src/org/wso2/cdm/agent/api/Battery.java create mode 100644 product/modules/agents/android/client/src/org/wso2/cdm/agent/api/DeviceInfo.java create mode 100644 product/modules/agents/android/client/src/org/wso2/cdm/agent/api/ExecShell.java create mode 100644 product/modules/agents/android/client/src/org/wso2/cdm/agent/api/GPSTracker.java create mode 100644 product/modules/agents/android/client/src/org/wso2/cdm/agent/api/LocationServices.java create mode 100644 product/modules/agents/android/client/src/org/wso2/cdm/agent/api/PhoneState.java create mode 100644 product/modules/agents/android/client/src/org/wso2/cdm/agent/api/Root.java create mode 100644 product/modules/agents/android/client/src/org/wso2/cdm/agent/api/TrackCallSMS.java create mode 100644 product/modules/agents/android/client/src/org/wso2/cdm/agent/api/TrafficRecord.java create mode 100644 product/modules/agents/android/client/src/org/wso2/cdm/agent/api/TrafficSnapshot.java create mode 100644 product/modules/agents/android/client/src/org/wso2/cdm/agent/api/WiFiConfig.java create mode 100644 product/modules/agents/android/client/src/org/wso2/cdm/agent/models/PInfo.java create mode 100644 product/modules/agents/android/client/src/org/wso2/cdm/agent/parser/PayloadParser.java create mode 100644 product/modules/agents/android/client/src/org/wso2/cdm/agent/proxy/APIAccessCallBack.java create mode 100644 product/modules/agents/android/client/src/org/wso2/cdm/agent/proxy/APIController.java create mode 100644 product/modules/agents/android/client/src/org/wso2/cdm/agent/proxy/APIResultCallBack.java create mode 100644 product/modules/agents/android/client/src/org/wso2/cdm/agent/proxy/APIUtilities.java create mode 100644 product/modules/agents/android/client/src/org/wso2/cdm/agent/proxy/AccessTokenHandler.java create mode 100644 product/modules/agents/android/client/src/org/wso2/cdm/agent/proxy/CallBack.java create mode 100644 product/modules/agents/android/client/src/org/wso2/cdm/agent/proxy/IdentityProxy.java create mode 100644 product/modules/agents/android/client/src/org/wso2/cdm/agent/proxy/RefreshTokenHandler.java create mode 100644 product/modules/agents/android/client/src/org/wso2/cdm/agent/proxy/ServerApiAccess.java create mode 100644 product/modules/agents/android/client/src/org/wso2/cdm/agent/proxy/ServerUtilities.java create mode 100644 product/modules/agents/android/client/src/org/wso2/cdm/agent/proxy/Token.java create mode 100644 product/modules/agents/android/client/src/org/wso2/cdm/agent/proxy/TokenCallBack.java create mode 100644 product/modules/agents/android/client/src/org/wso2/cdm/agent/security/APIResultCallBackImpl.java create mode 100644 product/modules/agents/android/client/src/org/wso2/cdm/agent/services/AlarmReceiver.java create mode 100644 product/modules/agents/android/client/src/org/wso2/cdm/agent/services/Config.java create mode 100644 product/modules/agents/android/client/src/org/wso2/cdm/agent/services/DeviceStartupIntentReceiver.java create mode 100644 product/modules/agents/android/client/src/org/wso2/cdm/agent/services/LocalNotification.java create mode 100644 product/modules/agents/android/client/src/org/wso2/cdm/agent/services/MessageProcessor.java create mode 100644 product/modules/agents/android/client/src/org/wso2/cdm/agent/services/Operation.java create mode 100644 product/modules/agents/android/client/src/org/wso2/cdm/agent/services/PolicyTester.java create mode 100644 product/modules/agents/android/client/src/org/wso2/cdm/agent/services/SMSReceiver.java create mode 100644 product/modules/agents/android/client/src/org/wso2/cdm/agent/services/WSO2DeviceAdminReceiver.java create mode 100644 product/modules/agents/android/client/src/org/wso2/cdm/agent/utils/CommonDialogUtils.java create mode 100644 product/modules/agents/android/client/src/org/wso2/cdm/agent/utils/CommonUtilities.java create mode 100644 product/modules/agents/android/client/src/org/wso2/cdm/agent/utils/HTTPConnectorUtils.java create mode 100644 product/modules/agents/android/client/src/org/wso2/cdm/agent/utils/LoggerCustom.java create mode 100644 product/modules/agents/android/client/src/org/wso2/cdm/agent/utils/Preference.java create mode 100644 product/modules/agents/android/client/src/org/wso2/cdm/agent/utils/Responce.java create mode 100644 product/modules/agents/android/client/src/org/wso2/cdm/agent/utils/ServerUtils.java create mode 100644 product/modules/agents/android/client/src/org/wso2/cdm/agent/utils/WSO2SSLSocketFactory.java diff --git a/product/modules/agents/android/client/AndroidManifest.xml b/product/modules/agents/android/client/AndroidManifest.xml new file mode 100644 index 000000000..5b7a6fdd9 --- /dev/null +++ b/product/modules/agents/android/client/AndroidManifest.xml @@ -0,0 +1,183 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/product/modules/agents/android/client/README.md b/product/modules/agents/android/client/README.md new file mode 100644 index 000000000..b66bd049b --- /dev/null +++ b/product/modules/agents/android/client/README.md @@ -0,0 +1,18 @@ +WSO2 EMM Agent +================= + +Configure and build the Android client application +---------------------- +Follow the instructions below to configure and build the Android client application: + +1. Get a Git clone of the project. +2. Download Android ADT plugin and configure it in your Eclipse. +3. Open the project in your Eclipse IDE. +4. Import the project as an Android project using "File-->Import-->Existing Android Code Into Workspace" +5. Two projects will show, a library and the agent. Clean the Library first and build it. +6. Open the file properties of the Agent project. +7. Under "Android" scroll down (past the Build targets). +8. The library project will show with a red "X" next to it. Remove it. +9. Add the library project you just built in step 3 +10. Ensure the Library is also on your "Java Build Path" under Libraries. +11. Clean and build. diff --git a/product/modules/agents/android/client/assets/config.properties b/product/modules/agents/android/client/assets/config.properties new file mode 100644 index 000000000..7d9009c35 --- /dev/null +++ b/product/modules/agents/android/client/assets/config.properties @@ -0,0 +1 @@ +SHOP_URL="" \ No newline at end of file diff --git a/product/modules/agents/android/client/bin/AndroidManifest.xml b/product/modules/agents/android/client/bin/AndroidManifest.xml new file mode 100644 index 000000000..5b7a6fdd9 --- /dev/null +++ b/product/modules/agents/android/client/bin/AndroidManifest.xml @@ -0,0 +1,183 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/product/modules/agents/android/client/bin/R.txt b/product/modules/agents/android/client/bin/R.txt new file mode 100644 index 000000000..3f5cf9fc6 --- /dev/null +++ b/product/modules/agents/android/client/bin/R.txt @@ -0,0 +1,911 @@ +int attr actionBarDivider 0x7f01000e +int attr actionBarItemBackground 0x7f01000f +int attr actionBarSize 0x7f01000d +int attr actionBarSplitStyle 0x7f01000b +int attr actionBarStyle 0x7f01000a +int attr actionBarTabBarStyle 0x7f010007 +int attr actionBarTabStyle 0x7f010006 +int attr actionBarTabTextStyle 0x7f010008 +int attr actionBarWidgetTheme 0x7f01000c +int attr actionButtonStyle 0x7f01003a +int attr actionDropDownStyle 0x7f010039 +int attr actionMenuTextAppearance 0x7f010010 +int attr actionMenuTextColor 0x7f010011 +int attr actionModeBackground 0x7f010014 +int attr actionModeCloseButtonStyle 0x7f010013 +int attr actionModeCloseDrawable 0x7f010016 +int attr actionModePopupWindowStyle 0x7f010018 +int attr actionModeShareDrawable 0x7f010017 +int attr actionModeSplitBackground 0x7f010015 +int attr actionModeStyle 0x7f010012 +int attr actionOverflowButtonStyle 0x7f010009 +int attr actionSpinnerItemStyle 0x7f01003f +int attr activatedBackgroundIndicator 0x7f010047 +int attr activityChooserViewStyle 0x7f010046 +int attr background 0x7f010002 +int attr backgroundSplit 0x7f010003 +int attr backgroundStacked 0x7f01004e +int attr buttonStyleSmall 0x7f010019 +int attr customNavigationLayout 0x7f01004f +int attr displayOptions 0x7f010049 +int attr divider 0x7f010005 +int attr dividerVertical 0x7f010038 +int attr dropDownListViewStyle 0x7f01003c +int attr dropdownListPreferredItemHeight 0x7f01003e +int attr expandActivityOverflowButtonDrawable 0x7f01005e +int attr headerBackground 0x7f010058 +int attr height 0x7f010004 +int attr homeAsUpIndicator 0x7f01003b +int attr homeLayout 0x7f010050 +int attr horizontalDivider 0x7f010056 +int attr icon 0x7f01004c +int attr iconifiedByDefault 0x7f01005f +int attr indeterminateProgressStyle 0x7f010052 +int attr initialActivityCount 0x7f01005d +int attr itemBackground 0x7f010059 +int attr itemIconDisabledAlpha 0x7f01005b +int attr itemPadding 0x7f010054 +int attr itemTextAppearance 0x7f010055 +int attr listPopupWindowStyle 0x7f010045 +int attr listPreferredItemHeightSmall 0x7f010032 +int attr listPreferredItemPaddingLeft 0x7f010033 +int attr listPreferredItemPaddingRight 0x7f010034 +int attr logo 0x7f01004d +int attr navigationMode 0x7f010048 +int attr popupMenuStyle 0x7f01003d +int attr preserveIconSpacing 0x7f01005c +int attr progressBarPadding 0x7f010053 +int attr progressBarStyle 0x7f010051 +int attr queryHint 0x7f010060 +int attr searchAutoCompleteTextView 0x7f010024 +int attr searchDropdownBackground 0x7f010025 +int attr searchResultListItemHeight 0x7f01002f +int attr searchViewCloseIcon 0x7f010026 +int attr searchViewEditQuery 0x7f01002a +int attr searchViewEditQueryBackground 0x7f01002b +int attr searchViewGoIcon 0x7f010027 +int attr searchViewSearchIcon 0x7f010028 +int attr searchViewTextField 0x7f01002c +int attr searchViewTextFieldRight 0x7f01002d +int attr searchViewVoiceIcon 0x7f010029 +int attr selectableItemBackground 0x7f01001a +int attr spinnerDropDownItemStyle 0x7f010023 +int attr spinnerItemStyle 0x7f010022 +int attr subtitle 0x7f01004b +int attr subtitleTextStyle 0x7f010001 +int attr textAppearanceLargePopupMenu 0x7f01001c +int attr textAppearanceListItemSmall 0x7f010035 +int attr textAppearanceSearchResultSubtitle 0x7f010031 +int attr textAppearanceSearchResultTitle 0x7f010030 +int attr textAppearanceSmall 0x7f01001e +int attr textAppearanceSmallPopupMenu 0x7f01001d +int attr textColorPrimary 0x7f01001f +int attr textColorPrimaryDisableOnly 0x7f010020 +int attr textColorPrimaryInverse 0x7f010021 +int attr textColorSearchUrl 0x7f01002e +int attr title 0x7f01004a +int attr titleTextStyle 0x7f010000 +int attr verticalDivider 0x7f010057 +int attr windowActionBar 0x7f010041 +int attr windowActionBarOverlay 0x7f010042 +int attr windowActionModeOverlay 0x7f010043 +int attr windowAnimationStyle 0x7f01005a +int attr windowContentOverlay 0x7f01001b +int attr windowMinWidthMajor 0x7f010036 +int attr windowMinWidthMinor 0x7f010037 +int attr windowNoTitle 0x7f010040 +int attr windowSplitActionBar 0x7f010044 +int bool abs__action_bar_embed_tabs 0x7f070000 +int bool abs__action_bar_expanded_action_views_exclusive 0x7f070002 +int bool abs__config_actionMenuItemAllCaps 0x7f070004 +int bool abs__config_allowActionMenuItemTextWithIcon 0x7f070005 +int bool abs__config_showMenuShortcutsWhenKeyboardPresent 0x7f070003 +int bool abs__split_action_bar_is_narrow 0x7f070001 +int color abs__background_holo_dark 0x7f080000 +int color abs__background_holo_light 0x7f080001 +int color abs__bright_foreground_disabled_holo_dark 0x7f080004 +int color abs__bright_foreground_disabled_holo_light 0x7f080005 +int color abs__bright_foreground_holo_dark 0x7f080002 +int color abs__bright_foreground_holo_light 0x7f080003 +int color abs__bright_foreground_inverse_holo_dark 0x7f080006 +int color abs__bright_foreground_inverse_holo_light 0x7f080007 +int color abs__holo_blue_light 0x7f080008 +int color abs__primary_text_disable_only_holo_dark 0x7f08000c +int color abs__primary_text_disable_only_holo_light 0x7f08000d +int color abs__primary_text_holo_dark 0x7f08000e +int color abs__primary_text_holo_light 0x7f08000f +int color black 0x7f08000b +int color light_grey 0x7f080009 +int color white 0x7f08000a +int dimen abs__action_bar_default_height 0x7f090001 +int dimen abs__action_bar_icon_vertical_padding 0x7f090002 +int dimen abs__action_bar_subtitle_bottom_margin 0x7f090006 +int dimen abs__action_bar_subtitle_text_size 0x7f090004 +int dimen abs__action_bar_subtitle_top_margin 0x7f090005 +int dimen abs__action_bar_title_text_size 0x7f090003 +int dimen abs__action_button_min_width 0x7f090007 +int dimen abs__alert_dialog_title_height 0x7f090008 +int dimen abs__config_prefDialogWidth 0x7f090000 +int dimen abs__dialog_min_width_major 0x7f090009 +int dimen abs__dialog_min_width_minor 0x7f09000a +int dimen abs__dropdownitem_icon_width 0x7f09000d +int dimen abs__dropdownitem_text_padding_left 0x7f09000b +int dimen abs__dropdownitem_text_padding_right 0x7f09000c +int dimen abs__search_view_preferred_width 0x7f09000f +int dimen abs__search_view_text_min_width 0x7f09000e +int dimen action_button_min_width 0x7f090010 +int dimen activity_horizontal_margin 0x7f090011 +int dimen activity_vertical_margin 0x7f090012 +int dimen top_bar_height 0x7f090013 +int drawable abs__ab_bottom_solid_dark_holo 0x7f020000 +int drawable abs__ab_bottom_solid_inverse_holo 0x7f020001 +int drawable abs__ab_bottom_solid_light_holo 0x7f020002 +int drawable abs__ab_bottom_transparent_dark_holo 0x7f020003 +int drawable abs__ab_bottom_transparent_light_holo 0x7f020004 +int drawable abs__ab_share_pack_holo_dark 0x7f020005 +int drawable abs__ab_share_pack_holo_light 0x7f020006 +int drawable abs__ab_solid_dark_holo 0x7f020007 +int drawable abs__ab_solid_light_holo 0x7f020008 +int drawable abs__ab_solid_shadow_holo 0x7f020009 +int drawable abs__ab_stacked_solid_dark_holo 0x7f02000a +int drawable abs__ab_stacked_solid_light_holo 0x7f02000b +int drawable abs__ab_stacked_transparent_dark_holo 0x7f02000c +int drawable abs__ab_stacked_transparent_light_holo 0x7f02000d +int drawable abs__ab_transparent_dark_holo 0x7f02000e +int drawable abs__ab_transparent_light_holo 0x7f02000f +int drawable abs__activated_background_holo_dark 0x7f020010 +int drawable abs__activated_background_holo_light 0x7f020011 +int drawable abs__btn_cab_done_default_holo_dark 0x7f020012 +int drawable abs__btn_cab_done_default_holo_light 0x7f020013 +int drawable abs__btn_cab_done_focused_holo_dark 0x7f020014 +int drawable abs__btn_cab_done_focused_holo_light 0x7f020015 +int drawable abs__btn_cab_done_holo_dark 0x7f020016 +int drawable abs__btn_cab_done_holo_light 0x7f020017 +int drawable abs__btn_cab_done_pressed_holo_dark 0x7f020018 +int drawable abs__btn_cab_done_pressed_holo_light 0x7f020019 +int drawable abs__cab_background_bottom_holo_dark 0x7f02001a +int drawable abs__cab_background_bottom_holo_light 0x7f02001b +int drawable abs__cab_background_top_holo_dark 0x7f02001c +int drawable abs__cab_background_top_holo_light 0x7f02001d +int drawable abs__dialog_full_holo_dark 0x7f02001e +int drawable abs__dialog_full_holo_light 0x7f02001f +int drawable abs__ic_ab_back_holo_dark 0x7f020020 +int drawable abs__ic_ab_back_holo_light 0x7f020021 +int drawable abs__ic_cab_done_holo_dark 0x7f020022 +int drawable abs__ic_cab_done_holo_light 0x7f020023 +int drawable abs__ic_clear 0x7f020024 +int drawable abs__ic_clear_disabled 0x7f020025 +int drawable abs__ic_clear_holo_light 0x7f020026 +int drawable abs__ic_clear_normal 0x7f020027 +int drawable abs__ic_clear_search_api_disabled_holo_light 0x7f020028 +int drawable abs__ic_clear_search_api_holo_light 0x7f020029 +int drawable abs__ic_go 0x7f02002a +int drawable abs__ic_go_search_api_holo_light 0x7f02002b +int drawable abs__ic_menu_moreoverflow_holo_dark 0x7f02002c +int drawable abs__ic_menu_moreoverflow_holo_light 0x7f02002d +int drawable abs__ic_menu_moreoverflow_normal_holo_dark 0x7f02002e +int drawable abs__ic_menu_moreoverflow_normal_holo_light 0x7f02002f +int drawable abs__ic_menu_share_holo_dark 0x7f020030 +int drawable abs__ic_menu_share_holo_light 0x7f020031 +int drawable abs__ic_search 0x7f020032 +int drawable abs__ic_search_api_holo_light 0x7f020033 +int drawable abs__ic_voice_search 0x7f020034 +int drawable abs__ic_voice_search_api_holo_light 0x7f020035 +int drawable abs__item_background_holo_dark 0x7f020036 +int drawable abs__item_background_holo_light 0x7f020037 +int drawable abs__list_activated_holo 0x7f020038 +int drawable abs__list_divider_holo_dark 0x7f020039 +int drawable abs__list_divider_holo_light 0x7f02003a +int drawable abs__list_focused_holo 0x7f02003b +int drawable abs__list_longpressed_holo 0x7f02003c +int drawable abs__list_pressed_holo_dark 0x7f02003d +int drawable abs__list_pressed_holo_light 0x7f02003e +int drawable abs__list_selector_background_transition_holo_dark 0x7f02003f +int drawable abs__list_selector_background_transition_holo_light 0x7f020040 +int drawable abs__list_selector_disabled_holo_dark 0x7f020041 +int drawable abs__list_selector_disabled_holo_light 0x7f020042 +int drawable abs__list_selector_holo_dark 0x7f020043 +int drawable abs__list_selector_holo_light 0x7f020044 +int drawable abs__menu_dropdown_panel_holo_dark 0x7f020045 +int drawable abs__menu_dropdown_panel_holo_light 0x7f020046 +int drawable abs__progress_bg_holo_dark 0x7f020047 +int drawable abs__progress_bg_holo_light 0x7f020048 +int drawable abs__progress_horizontal_holo_dark 0x7f020049 +int drawable abs__progress_horizontal_holo_light 0x7f02004a +int drawable abs__progress_medium_holo 0x7f02004b +int drawable abs__progress_primary_holo_dark 0x7f02004c +int drawable abs__progress_primary_holo_light 0x7f02004d +int drawable abs__progress_secondary_holo_dark 0x7f02004e +int drawable abs__progress_secondary_holo_light 0x7f02004f +int drawable abs__search_dropdown_dark 0x7f020050 +int drawable abs__search_dropdown_light 0x7f020051 +int drawable abs__spinner_48_inner_holo 0x7f020052 +int drawable abs__spinner_48_outer_holo 0x7f020053 +int drawable abs__spinner_ab_default_holo_dark 0x7f020054 +int drawable abs__spinner_ab_default_holo_light 0x7f020055 +int drawable abs__spinner_ab_disabled_holo_dark 0x7f020056 +int drawable abs__spinner_ab_disabled_holo_light 0x7f020057 +int drawable abs__spinner_ab_focused_holo_dark 0x7f020058 +int drawable abs__spinner_ab_focused_holo_light 0x7f020059 +int drawable abs__spinner_ab_holo_dark 0x7f02005a +int drawable abs__spinner_ab_holo_light 0x7f02005b +int drawable abs__spinner_ab_pressed_holo_dark 0x7f02005c +int drawable abs__spinner_ab_pressed_holo_light 0x7f02005d +int drawable abs__tab_indicator_ab_holo 0x7f02005e +int drawable abs__tab_selected_focused_holo 0x7f02005f +int drawable abs__tab_selected_holo 0x7f020060 +int drawable abs__tab_selected_pressed_holo 0x7f020061 +int drawable abs__tab_unselected_pressed_holo 0x7f020062 +int drawable abs__textfield_search_default_holo_dark 0x7f020063 +int drawable abs__textfield_search_default_holo_light 0x7f020064 +int drawable abs__textfield_search_right_default_holo_dark 0x7f020065 +int drawable abs__textfield_search_right_default_holo_light 0x7f020066 +int drawable abs__textfield_search_right_selected_holo_dark 0x7f020067 +int drawable abs__textfield_search_right_selected_holo_light 0x7f020068 +int drawable abs__textfield_search_selected_holo_dark 0x7f020069 +int drawable abs__textfield_search_selected_holo_light 0x7f02006a +int drawable abs__textfield_searchview_holo_dark 0x7f02006b +int drawable abs__textfield_searchview_holo_light 0x7f02006c +int drawable abs__textfield_searchview_right_holo_dark 0x7f02006d +int drawable abs__textfield_searchview_right_holo_light 0x7f02006e +int drawable appinstall 0x7f02006f +int drawable applist 0x7f020070 +int drawable appuninstall 0x7f020071 +int drawable btn_grey 0x7f020072 +int drawable btn_orange 0x7f020073 +int drawable camera 0x7f020074 +int drawable changepassword 0x7f020075 +int drawable custom_checkbox 0x7f020076 +int drawable dot 0x7f020077 +int drawable encrypt 0x7f020078 +int drawable ic_bookmark 0x7f020079 +int drawable ic_check_default 0x7f02007a +int drawable ic_check_selected 0x7f02007b +int drawable ic_launcher 0x7f02007c +int drawable ic_logo 0x7f02007d +int drawable ic_logo_dark 0x7f02007e +int drawable ic_stat_gcm 0x7f02007f +int drawable info 0x7f020080 +int drawable location 0x7f020081 +int drawable lock 0x7f020082 +int drawable mdm_logo 0x7f020083 +int drawable mute 0x7f020084 +int drawable notification 0x7f020085 +int drawable option_icon 0x7f020086 +int drawable repeat_bg 0x7f020087 +int drawable top_bar 0x7f020088 +int drawable wifi 0x7f020089 +int drawable wipe 0x7f02008a +int id TextView01 0x7f060091 +int id abs__action_bar 0x7f06004e +int id abs__action_bar_container 0x7f06004d +int id abs__action_bar_subtitle 0x7f06003d +int id abs__action_bar_title 0x7f06003c +int id abs__action_context_bar 0x7f06004f +int id abs__action_menu_divider 0x7f06000c +int id abs__action_menu_presenter 0x7f06000d +int id abs__action_mode_bar 0x7f060052 +int id abs__action_mode_bar_stub 0x7f060051 +int id abs__action_mode_close_button 0x7f060040 +int id abs__activity_chooser_view_content 0x7f060041 +int id abs__checkbox 0x7f06004a +int id abs__content 0x7f060049 +int id abs__default_activity_button 0x7f060044 +int id abs__expand_activities_button 0x7f060042 +int id abs__home 0x7f06000a +int id abs__icon 0x7f060046 +int id abs__image 0x7f060043 +int id abs__imageButton 0x7f06003e +int id abs__list_item 0x7f060045 +int id abs__progress_circular 0x7f06000e +int id abs__progress_horizontal 0x7f06000f +int id abs__radio 0x7f06004c +int id abs__search_badge 0x7f060055 +int id abs__search_bar 0x7f060054 +int id abs__search_button 0x7f060056 +int id abs__search_close_btn 0x7f06005b +int id abs__search_edit_frame 0x7f060057 +int id abs__search_go_btn 0x7f06005d +int id abs__search_mag_icon 0x7f060058 +int id abs__search_plate 0x7f060059 +int id abs__search_src_text 0x7f06005a +int id abs__search_voice_btn 0x7f06005e +int id abs__shortcut 0x7f06004b +int id abs__split_action_bar 0x7f060050 +int id abs__submit_area 0x7f06005c +int id abs__textButton 0x7f06003f +int id abs__title 0x7f060047 +int id abs__titleDivider 0x7f060048 +int id abs__up 0x7f06000b +int id action_settings 0x7f060095 +int id background_container 0x7f06001f +int id blocks_now 0x7f06001e +int id blocks_ruler 0x7f06001d +int id btnEnroll 0x7f060082 +int id btnLogin 0x7f060090 +int id btnOK 0x7f060064 +int id btnRefresh 0x7f06007d +int id btnRegister 0x7f060070 +int id btnReset 0x7f06007e +int id btnSetPin 0x7f060087 +int id btnStartRegistration 0x7f06008b +int id btnTryAgain 0x7f060073 +int id btnUnreg 0x7f060065 +int id btnUnregister 0x7f060088 +int id button_layout 0x7f06008d +int id debug_log 0x7f06009b +int id dialogButtonCancel 0x7f06008f +int id dialogButtonOK 0x7f06008e +int id dialog_discard_confirm 0x7f06001a +int id dialog_moderator 0x7f06001b +int id dialog_wave 0x7f06001c +int id disableHome 0x7f060009 +int id edit_query 0x7f060053 +int id enrollPanel 0x7f060081 +int id error 0x7f060072 +int id etDomain 0x7f06006a +int id etPassword 0x7f06006c +int id etUsername 0x7f06006b +int id evServerIP 0x7f06008a +int id footer 0x7f060071 +int id footerlogo 0x7f060068 +int id fragment_container 0x7f060034 +int id gridview 0x7f060014 +int id homeAsUp 0x7f060006 +int id incompatibleError 0x7f060074 +int id info 0x7f060098 +int id info_setting 0x7f060099 +int id ip_setting 0x7f060097 +int id layout_topbar 0x7f060067 +int id lblPin 0x7f060084 +int id linInner 0x7f060062 +int id linearLayout1 0x7f060069 +int id linearLayoutText 0x7f060080 +int id listMode 0x7f060002 +int id listview 0x7f060060 +int id logo 0x7f06005f +int id more 0x7f060096 +int id normal 0x7f060001 +int id notify 0x7f060092 +int id option_button 0x7f06007c +int id pin_setting 0x7f06009a +int id preference_brand_view 0x7f06002d +int id preference_empty_view 0x7f06002c +int id radioBYOD 0x7f06006e +int id radioCOPE 0x7f06006f +int id radioGroupType 0x7f06006d +int id rowImage 0x7f060093 +int id rowTextView 0x7f060094 +int id scroller 0x7f060061 +int id setting_invite_email_button 0x7f060030 +int id setting_invite_email_edittext 0x7f06002f +int id setting_invite_email_imageview 0x7f060031 +int id setting_invite_email_layout 0x7f06002e +int id setting_invite_email_textview 0x7f060032 +int id sg_button1 0x7f060039 +int id sg_button2 0x7f06003a +int id sg_button3 0x7f06003b +int id sg_category_popup 0x7f060035 +int id sg_city 0x7f060038 +int id sg_tag_command 0x7f060036 +int id sg_tag_payload 0x7f060037 +int id showCustom 0x7f060008 +int id showHome 0x7f060005 +int id showTitle 0x7f060007 +int id sp_edittext_city 0x7f060025 +int id sp_edittext_email 0x7f060023 +int id sp_edittext_location 0x7f060022 +int id sp_edittext_name 0x7f060021 +int id sp_edittext_other 0x7f06002a +int id sp_edittext_phone 0x7f060029 +int id sp_edittext_state 0x7f060026 +int id sp_edittext_street 0x7f060024 +int id sp_edittext_zipcode 0x7f060027 +int id sp_textview_country 0x7f060028 +int id sp_textview_gpspick 0x7f06002b +int id startRegistration 0x7f060083 +int id swipeable 0x7f060013 +int id swipeable_bottom 0x7f060010 +int id swipeable_container 0x7f060012 +int id swipeable_top 0x7f060011 +int id tabMode 0x7f060003 +int id text 0x7f06008c +int id title_bar_layout 0x7f060020 +int id title_container 0x7f060016 +int id title_logo 0x7f060017 +int id title_option 0x7f060019 +int id title_text 0x7f060018 +int id tvSeverAddress 0x7f060089 +int id txtDevice 0x7f060076 +int id txtId 0x7f060075 +int id txtLog 0x7f06007f +int id txtMessage 0x7f060063 +int id txtModel 0x7f060077 +int id txtOS 0x7f06007a +int id txtOldPinCode 0x7f060085 +int id txtOperator 0x7f060078 +int id txtPinCode 0x7f060086 +int id txtRegText 0x7f060066 +int id txtRoot 0x7f06007b +int id txtSDK 0x7f060079 +int id useLogo 0x7f060004 +int id user_edit_location 0x7f060033 +int id webview 0x7f060015 +int id wrap_content 0x7f060000 +int integer abs__max_action_buttons 0x7f0a0000 +int layout abs__action_bar_home 0x7f030000 +int layout abs__action_bar_tab 0x7f030001 +int layout abs__action_bar_tab_bar_view 0x7f030002 +int layout abs__action_bar_title_item 0x7f030003 +int layout abs__action_menu_item_layout 0x7f030004 +int layout abs__action_menu_layout 0x7f030005 +int layout abs__action_mode_bar 0x7f030006 +int layout abs__action_mode_close_item 0x7f030007 +int layout abs__activity_chooser_view 0x7f030008 +int layout abs__activity_chooser_view_list_item 0x7f030009 +int layout abs__dialog_title_holo 0x7f03000a +int layout abs__list_menu_item_checkbox 0x7f03000b +int layout abs__list_menu_item_icon 0x7f03000c +int layout abs__list_menu_item_layout 0x7f03000d +int layout abs__list_menu_item_radio 0x7f03000e +int layout abs__popup_menu_item_layout 0x7f03000f +int layout abs__screen_action_bar 0x7f030010 +int layout abs__screen_action_bar_overlay 0x7f030011 +int layout abs__screen_simple 0x7f030012 +int layout abs__screen_simple_overlay_action_mode 0x7f030013 +int layout abs__search_dropdown_item_icons_2line 0x7f030014 +int layout abs__search_view 0x7f030015 +int layout abs__simple_dropdown_hint 0x7f030016 +int layout activity_agent_settings 0x7f030017 +int layout activity_alert 0x7f030018 +int layout activity_already_registered 0x7f030019 +int layout activity_authentication 0x7f03001a +int layout activity_authentication_error 0x7f03001b +int layout activity_available_operations 0x7f03001c +int layout activity_display_device_info 0x7f03001d +int layout activity_entry 0x7f03001e +int layout activity_log 0x7f03001f +int layout activity_main 0x7f030020 +int layout activity_notification 0x7f030021 +int layout activity_pin_code 0x7f030022 +int layout activity_register_successful 0x7f030023 +int layout activity_settings 0x7f030024 +int layout custom_sherlock_bar 0x7f030025 +int layout custom_terms_popup 0x7f030026 +int layout footer_repeat 0x7f030027 +int layout header_gradient 0x7f030028 +int layout login 0x7f030029 +int layout main 0x7f03002a +int layout notify 0x7f03002b +int layout row_with_icon 0x7f03002c +int layout sherlock_spinner_dropdown_item 0x7f03002d +int layout sherlock_spinner_item 0x7f03002e +int layout simplerow 0x7f03002f +int menu agent_settings 0x7f0d0000 +int menu alert 0x7f0d0001 +int menu all_ready_registered 0x7f0d0002 +int menu auth_sherlock_menu 0x7f0d0003 +int menu authentication 0x7f0d0004 +int menu authentication_error 0x7f0d0005 +int menu available_operations 0x7f0d0006 +int menu display_device_info 0x7f0d0007 +int menu entry 0x7f0d0008 +int menu log 0x7f0d0009 +int menu main 0x7f0d000a +int menu notification 0x7f0d000b +int menu notify 0x7f0d000c +int menu options_menu 0x7f0d000d +int menu pin_code 0x7f0d000e +int menu register_successful 0x7f0d000f +int menu settings 0x7f0d0010 +int menu sherlock_menu 0x7f0d0011 +int menu sherlock_menu_debug 0x7f0d0012 +int raw emm_truststore 0x7f050000 +int string abs__action_bar_home_description 0x7f0b0000 +int string abs__action_bar_up_description 0x7f0b0001 +int string abs__action_menu_overflow_description 0x7f0b0002 +int string abs__action_mode_done 0x7f0b0003 +int string abs__activity_chooser_view_dialog_title_default 0x7f0b0005 +int string abs__activity_chooser_view_see_all 0x7f0b0004 +int string abs__activitychooserview_choose_application 0x7f0b0007 +int string abs__searchview_description_clear 0x7f0b000c +int string abs__searchview_description_query 0x7f0b000b +int string abs__searchview_description_search 0x7f0b000a +int string abs__searchview_description_submit 0x7f0b000d +int string abs__searchview_description_voice 0x7f0b000e +int string abs__share_action_provider_share_with 0x7f0b0006 +int string abs__shareactionprovider_share_with 0x7f0b0008 +int string abs__shareactionprovider_share_with_application 0x7f0b0009 +int string action_settings 0x7f0b0025 +int string already_registered 0x7f0b0012 +int string app_name 0x7f0b0023 +int string application_mgr_download_file_name 0x7f0b0097 +int string application_mgr_download_location 0x7f0b0096 +int string application_mgr_mime 0x7f0b0098 +int string application_package_launcher_action 0x7f0b009a +int string application_package_prefix 0x7f0b0099 +int string button_cancel 0x7f0b0095 +int string button_ok 0x7f0b0094 +int string client_id 0x7f0b000f +int string client_secreat 0x7f0b0010 +int string device_admin_disabled 0x7f0b0030 +int string device_admin_enable_alert 0x7f0b003f +int string device_admin_enabled 0x7f0b002f +int string device_compatible 0x7f0b0033 +int string device_enroll_type_byod 0x7f0b0040 +int string device_enroll_type_cope 0x7f0b0041 +int string device_not_compatible_error 0x7f0b0031 +int string device_not_compatible_error_os 0x7f0b0032 +int string device_not_compatible_error_root 0x7f0b0034 +int string dialog_authenticate 0x7f0b0075 +int string dialog_checking_reg 0x7f0b0077 +int string dialog_enrolling 0x7f0b007a +int string dialog_init_confirmation 0x7f0b007d +int string dialog_init_device_type 0x7f0b007f +int string dialog_init_end 0x7f0b0080 +int string dialog_init_end_general 0x7f0b0081 +int string dialog_init_middle 0x7f0b007e +int string dialog_license_agreement 0x7f0b0079 +int string dialog_message_please_wait 0x7f0b0089 +int string dialog_message_unregistering 0x7f0b0088 +int string dialog_pin_confirmation 0x7f0b007b +int string dialog_pin_confirmation_end 0x7f0b007c +int string dialog_please_wait 0x7f0b0076 +int string dialog_sender_id 0x7f0b0078 +int string dialog_unregister 0x7f0b0082 +int string empty_app_title 0x7f0b0024 +int string error_auth_failed_detail 0x7f0b006c +int string error_authentication_failed 0x7f0b006d +int string error_authorization_failed 0x7f0b0069 +int string error_config 0x7f0b0011 +int string error_connect_to_server 0x7f0b0065 +int string error_enrollment_failed 0x7f0b006a +int string error_enrollment_failed_detail 0x7f0b006b +int string error_for_all_unknown_authentication_failures 0x7f0b0070 +int string error_for_all_unknown_notification_failures 0x7f0b0072 +int string error_for_all_unknown_registration_failures 0x7f0b006f +int string error_for_all_unknown_unregister_failures 0x7f0b0071 +int string error_heading_connection 0x7f0b0066 +int string error_internal_server 0x7f0b0073 +int string error_invalid_server_address 0x7f0b0074 +int string error_network_unavailable 0x7f0b006e +int string error_registration_failed 0x7f0b0067 +int string error_unregistration_failed 0x7f0b0068 +int string gcm_deleted 0x7f0b0018 +int string gcm_error 0x7f0b0016 +int string gcm_message 0x7f0b0015 +int string gcm_recoverable_error 0x7f0b0017 +int string gcm_registered 0x7f0b0013 +int string gcm_unregistered 0x7f0b0014 +int string hello_world 0x7f0b0026 +int string hint_new_pin 0x7f0b0045 +int string info_label_device 0x7f0b008b +int string info_label_imei 0x7f0b008a +int string info_label_imsi 0x7f0b008f +int string info_label_model 0x7f0b008c +int string info_label_no_sim 0x7f0b008d +int string info_label_operator 0x7f0b008e +int string info_label_os 0x7f0b0090 +int string info_label_rooted 0x7f0b0091 +int string intent_extra_fresh_reg_flag 0x7f0b004f +int string intent_extra_from_activity 0x7f0b004b +int string intent_extra_main_activity 0x7f0b004d +int string intent_extra_message 0x7f0b004e +int string intent_extra_notification 0x7f0b0051 +int string intent_extra_regid 0x7f0b004c +int string intent_extra_username 0x7f0b0050 +int string menu_item_change_ip 0x7f0b0087 +int string menu_item_change_pin 0x7f0b0086 +int string menu_item_ip 0x7f0b003c +int string menu_item_log 0x7f0b003d +int string menu_item_operations 0x7f0b003a +int string menu_item_phone_info 0x7f0b0085 +int string menu_item_pin 0x7f0b003b +int string no 0x7f0b0093 +int string options_clear 0x7f0b0021 +int string options_exit 0x7f0b0022 +int string options_register 0x7f0b001e +int string options_unregister 0x7f0b001f +int string register_button_text 0x7f0b0083 +int string register_text_view_text_unregister 0x7f0b0084 +int string registration_heading 0x7f0b009e +int string server_register_error 0x7f0b001c +int string server_registered 0x7f0b001a +int string server_registering 0x7f0b0019 +int string server_unregister_error 0x7f0b001d +int string server_unregistered 0x7f0b001b +int string server_util_req_type_get 0x7f0b009c +int string server_util_req_type_post 0x7f0b009b +int string shared_pref_client_id 0x7f0b0063 +int string shared_pref_client_secret 0x7f0b0064 +int string shared_pref_device_active 0x7f0b0062 +int string shared_pref_eula 0x7f0b0057 +int string shared_pref_interval 0x7f0b0060 +int string shared_pref_ip 0x7f0b0056 +int string shared_pref_isagreed 0x7f0b0054 +int string shared_pref_message_mode 0x7f0b005f +int string shared_pref_package 0x7f0b0052 +int string shared_pref_pin 0x7f0b005a +int string shared_pref_policy 0x7f0b0053 +int string shared_pref_regId 0x7f0b0058 +int string shared_pref_reg_fail 0x7f0b005c +int string shared_pref_reg_success 0x7f0b005b +int string shared_pref_reg_type 0x7f0b005d +int string shared_pref_registered 0x7f0b0055 +int string shared_pref_sender_id 0x7f0b005e +int string shared_pref_username 0x7f0b0059 +int string string_content 0x7f0b0020 +int string title_activity_agent_settings 0x7f0b0038 +int string title_activity_alert 0x7f0b003e +int string title_activity_authentication_error 0x7f0b0035 +int string title_activity_available_operations 0x7f0b0039 +int string title_activity_display_device_info 0x7f0b0027 +int string title_activity_entry 0x7f0b002a +int string title_activity_log 0x7f0b009d +int string title_activity_notification 0x7f0b0036 +int string title_activity_notify 0x7f0b0037 +int string title_activity_register_successful 0x7f0b0029 +int string title_head_authentication_error 0x7f0b002b +int string title_head_confirm_pin 0x7f0b0044 +int string title_head_connection_error 0x7f0b002d +int string title_head_init_error 0x7f0b0043 +int string title_head_notification_error 0x7f0b002e +int string title_head_registration_error 0x7f0b002c +int string title_init_msg_error 0x7f0b0042 +int string toast_error_password 0x7f0b004a +int string toast_error_username 0x7f0b0049 +int string toast_message_enter_server_address 0x7f0b0048 +int string toast_message_pin_change_failed 0x7f0b0047 +int string toast_message_pin_change_success 0x7f0b0046 +int string url 0x7f0b0028 +int string username 0x7f0b0061 +int string validation_pin_confirm 0x7f0b009f +int string yes 0x7f0b0092 +int style AppBaseTheme 0x7f0c0059 +int style AppTheme 0x7f0c005a +int style ButtonText 0x7f0c005f +int style DialogWindowTitle_Sherlock 0x7f0c0036 +int style DialogWindowTitle_Sherlock_Light 0x7f0c0037 +int style Sherlock___TextAppearance_Small 0x7f0c004a +int style Sherlock___Theme 0x7f0c004e +int style Sherlock___Theme_DarkActionBar 0x7f0c0050 +int style Sherlock___Theme_Dialog 0x7f0c0051 +int style Sherlock___Theme_Light 0x7f0c004f +int style Sherlock___Widget_ActionBar 0x7f0c0001 +int style Sherlock___Widget_ActionMode 0x7f0c0016 +int style Sherlock___Widget_ActivityChooserView 0x7f0c001e +int style Sherlock___Widget_Holo_DropDownItem 0x7f0c0029 +int style Sherlock___Widget_Holo_ListView 0x7f0c0026 +int style Sherlock___Widget_Holo_Spinner 0x7f0c0023 +int style Sherlock___Widget_SearchAutoCompleteTextView 0x7f0c0033 +int style TextAppearance_Sherlock_DialogWindowTitle 0x7f0c0048 +int style TextAppearance_Sherlock_Light_DialogWindowTitle 0x7f0c0049 +int style TextAppearance_Sherlock_Light_Small 0x7f0c004c +int style TextAppearance_Sherlock_Light_Widget_PopupMenu_Large 0x7f0c0043 +int style TextAppearance_Sherlock_Light_Widget_PopupMenu_Small 0x7f0c0045 +int style TextAppearance_Sherlock_Small 0x7f0c004b +int style TextAppearance_Sherlock_Widget_ActionBar_Menu 0x7f0c0038 +int style TextAppearance_Sherlock_Widget_ActionBar_Subtitle 0x7f0c003b +int style TextAppearance_Sherlock_Widget_ActionBar_Subtitle_Inverse 0x7f0c003c +int style TextAppearance_Sherlock_Widget_ActionBar_Title 0x7f0c0039 +int style TextAppearance_Sherlock_Widget_ActionBar_Title_Inverse 0x7f0c003a +int style TextAppearance_Sherlock_Widget_ActionMode_Subtitle 0x7f0c003f +int style TextAppearance_Sherlock_Widget_ActionMode_Subtitle_Inverse 0x7f0c0040 +int style TextAppearance_Sherlock_Widget_ActionMode_Title 0x7f0c003d +int style TextAppearance_Sherlock_Widget_ActionMode_Title_Inverse 0x7f0c003e +int style TextAppearance_Sherlock_Widget_DropDownHint 0x7f0c004d +int style TextAppearance_Sherlock_Widget_DropDownItem 0x7f0c0047 +int style TextAppearance_Sherlock_Widget_PopupMenu 0x7f0c0041 +int style TextAppearance_Sherlock_Widget_PopupMenu_Large 0x7f0c0042 +int style TextAppearance_Sherlock_Widget_PopupMenu_Small 0x7f0c0044 +int style TextAppearance_Sherlock_Widget_TextView_SpinnerItem 0x7f0c0046 +int style Theme_Sherlock 0x7f0c0052 +int style Theme_Sherlock_Dialog 0x7f0c0057 +int style Theme_Sherlock_Light 0x7f0c0053 +int style Theme_Sherlock_Light_DarkActionBar 0x7f0c0054 +int style Theme_Sherlock_Light_Dialog 0x7f0c0058 +int style Theme_Sherlock_Light_NoActionBar 0x7f0c0056 +int style Theme_Sherlock_NoActionBar 0x7f0c0055 +int style TitleBar 0x7f0c005c +int style TitleBarLogo 0x7f0c005d +int style TitleBarOption 0x7f0c005e +int style TopBarTheme 0x7f0c005b +int style Widget 0x7f0c0000 +int style Widget_Sherlock_ActionBar 0x7f0c0002 +int style Widget_Sherlock_ActionBar_Solid 0x7f0c0003 +int style Widget_Sherlock_ActionBar_TabBar 0x7f0c000a +int style Widget_Sherlock_ActionBar_TabText 0x7f0c000d +int style Widget_Sherlock_ActionBar_TabView 0x7f0c0007 +int style Widget_Sherlock_ActionButton 0x7f0c0010 +int style Widget_Sherlock_ActionButton_CloseMode 0x7f0c0012 +int style Widget_Sherlock_ActionButton_Overflow 0x7f0c0014 +int style Widget_Sherlock_ActionMode 0x7f0c0017 +int style Widget_Sherlock_ActivityChooserView 0x7f0c001f +int style Widget_Sherlock_Button_Small 0x7f0c0021 +int style Widget_Sherlock_DropDownItem_Spinner 0x7f0c002a +int style Widget_Sherlock_Light_ActionBar 0x7f0c0004 +int style Widget_Sherlock_Light_ActionBar_Solid 0x7f0c0005 +int style Widget_Sherlock_Light_ActionBar_Solid_Inverse 0x7f0c0006 +int style Widget_Sherlock_Light_ActionBar_TabBar 0x7f0c000b +int style Widget_Sherlock_Light_ActionBar_TabBar_Inverse 0x7f0c000c +int style Widget_Sherlock_Light_ActionBar_TabText 0x7f0c000e +int style Widget_Sherlock_Light_ActionBar_TabText_Inverse 0x7f0c000f +int style Widget_Sherlock_Light_ActionBar_TabView 0x7f0c0008 +int style Widget_Sherlock_Light_ActionBar_TabView_Inverse 0x7f0c0009 +int style Widget_Sherlock_Light_ActionButton 0x7f0c0011 +int style Widget_Sherlock_Light_ActionButton_CloseMode 0x7f0c0013 +int style Widget_Sherlock_Light_ActionButton_Overflow 0x7f0c0015 +int style Widget_Sherlock_Light_ActionMode 0x7f0c0018 +int style Widget_Sherlock_Light_ActionMode_Inverse 0x7f0c0019 +int style Widget_Sherlock_Light_ActivityChooserView 0x7f0c0020 +int style Widget_Sherlock_Light_Button_Small 0x7f0c0022 +int style Widget_Sherlock_Light_DropDownItem_Spinner 0x7f0c002b +int style Widget_Sherlock_Light_ListPopupWindow 0x7f0c001b +int style Widget_Sherlock_Light_ListView_DropDown 0x7f0c0028 +int style Widget_Sherlock_Light_PopupMenu 0x7f0c001d +int style Widget_Sherlock_Light_PopupWindow_ActionMode 0x7f0c002d +int style Widget_Sherlock_Light_ProgressBar 0x7f0c002f +int style Widget_Sherlock_Light_ProgressBar_Horizontal 0x7f0c0031 +int style Widget_Sherlock_Light_SearchAutoCompleteTextView 0x7f0c0035 +int style Widget_Sherlock_Light_Spinner_DropDown_ActionBar 0x7f0c0025 +int style Widget_Sherlock_ListPopupWindow 0x7f0c001a +int style Widget_Sherlock_ListView_DropDown 0x7f0c0027 +int style Widget_Sherlock_PopupMenu 0x7f0c001c +int style Widget_Sherlock_PopupWindow_ActionMode 0x7f0c002c +int style Widget_Sherlock_ProgressBar 0x7f0c002e +int style Widget_Sherlock_ProgressBar_Horizontal 0x7f0c0030 +int style Widget_Sherlock_SearchAutoCompleteTextView 0x7f0c0034 +int style Widget_Sherlock_Spinner_DropDown_ActionBar 0x7f0c0024 +int style Widget_Sherlock_TextView_SpinnerItem 0x7f0c0032 +int[] styleable SherlockActionBar { 0x7f010000, 0x7f010001, 0x7f010002, 0x7f010003, 0x7f010004, 0x7f010005, 0x7f010048, 0x7f010049, 0x7f01004a, 0x7f01004b, 0x7f01004c, 0x7f01004d, 0x7f01004e, 0x7f01004f, 0x7f010050, 0x7f010051, 0x7f010052, 0x7f010053, 0x7f010054 } +int styleable SherlockActionBar_background 2 +int styleable SherlockActionBar_backgroundSplit 3 +int styleable SherlockActionBar_backgroundStacked 12 +int styleable SherlockActionBar_customNavigationLayout 13 +int styleable SherlockActionBar_displayOptions 7 +int styleable SherlockActionBar_divider 5 +int styleable SherlockActionBar_height 4 +int styleable SherlockActionBar_homeLayout 14 +int styleable SherlockActionBar_icon 10 +int styleable SherlockActionBar_indeterminateProgressStyle 16 +int styleable SherlockActionBar_itemPadding 18 +int styleable SherlockActionBar_logo 11 +int styleable SherlockActionBar_navigationMode 6 +int styleable SherlockActionBar_progressBarPadding 17 +int styleable SherlockActionBar_progressBarStyle 15 +int styleable SherlockActionBar_subtitle 9 +int styleable SherlockActionBar_subtitleTextStyle 1 +int styleable SherlockActionBar_title 8 +int styleable SherlockActionBar_titleTextStyle 0 +int[] styleable SherlockActionMenuItemView { 0x0101013f } +int styleable SherlockActionMenuItemView_android_minWidth 0 +int[] styleable SherlockActionMode { 0x7f010000, 0x7f010001, 0x7f010002, 0x7f010003, 0x7f010004 } +int styleable SherlockActionMode_background 2 +int styleable SherlockActionMode_backgroundSplit 3 +int styleable SherlockActionMode_height 4 +int styleable SherlockActionMode_subtitleTextStyle 1 +int styleable SherlockActionMode_titleTextStyle 0 +int[] styleable SherlockActivityChooserView { 0x010100d4, 0x7f01005d, 0x7f01005e } +int styleable SherlockActivityChooserView_android_background 0 +int styleable SherlockActivityChooserView_expandActivityOverflowButtonDrawable 2 +int styleable SherlockActivityChooserView_initialActivityCount 1 +int[] styleable SherlockMenuGroup { 0x0101000e, 0x010100d0, 0x01010194, 0x010101de, 0x010101df, 0x010101e0 } +int styleable SherlockMenuGroup_android_checkableBehavior 5 +int styleable SherlockMenuGroup_android_enabled 0 +int styleable SherlockMenuGroup_android_id 1 +int styleable SherlockMenuGroup_android_menuCategory 3 +int styleable SherlockMenuGroup_android_orderInCategory 4 +int styleable SherlockMenuGroup_android_visible 2 +int[] styleable SherlockMenuItem { 0x01010002, 0x0101000e, 0x010100d0, 0x01010106, 0x01010194, 0x010101de, 0x010101df, 0x010101e1, 0x010101e2, 0x010101e3, 0x010101e4, 0x010101e5, 0x0101026f, 0x010102d9, 0x010102fb, 0x010102fc, 0x01010389 } +int styleable SherlockMenuItem_android_actionLayout 14 +int styleable SherlockMenuItem_android_actionProviderClass 16 +int styleable SherlockMenuItem_android_actionViewClass 15 +int styleable SherlockMenuItem_android_alphabeticShortcut 9 +int styleable SherlockMenuItem_android_checkable 11 +int styleable SherlockMenuItem_android_checked 3 +int styleable SherlockMenuItem_android_enabled 1 +int styleable SherlockMenuItem_android_icon 0 +int styleable SherlockMenuItem_android_id 2 +int styleable SherlockMenuItem_android_menuCategory 5 +int styleable SherlockMenuItem_android_numericShortcut 10 +int styleable SherlockMenuItem_android_onClick 12 +int styleable SherlockMenuItem_android_orderInCategory 6 +int styleable SherlockMenuItem_android_showAsAction 13 +int styleable SherlockMenuItem_android_title 7 +int styleable SherlockMenuItem_android_titleCondensed 8 +int styleable SherlockMenuItem_android_visible 4 +int[] styleable SherlockMenuView { 0x7f010055, 0x7f010056, 0x7f010057, 0x7f010058, 0x7f010059, 0x7f01005a, 0x7f01005b, 0x7f01005c } +int styleable SherlockMenuView_headerBackground 3 +int styleable SherlockMenuView_horizontalDivider 1 +int styleable SherlockMenuView_itemBackground 4 +int styleable SherlockMenuView_itemIconDisabledAlpha 6 +int styleable SherlockMenuView_itemTextAppearance 0 +int styleable SherlockMenuView_preserveIconSpacing 7 +int styleable SherlockMenuView_verticalDivider 2 +int styleable SherlockMenuView_windowAnimationStyle 5 +int[] styleable SherlockSearchView { 0x0101011f, 0x01010220, 0x01010264, 0x7f01005f, 0x7f010060 } +int styleable SherlockSearchView_android_imeOptions 2 +int styleable SherlockSearchView_android_inputType 1 +int styleable SherlockSearchView_android_maxWidth 0 +int styleable SherlockSearchView_iconifiedByDefault 3 +int styleable SherlockSearchView_queryHint 4 +int[] styleable SherlockSpinner { 0x010100af, 0x01010175, 0x01010176, 0x0101017b, 0x01010262, 0x010102ac, 0x010102ad, 0x0101043a } +int styleable SherlockSpinner_android_dropDownHorizontalOffset 5 +int styleable SherlockSpinner_android_dropDownSelector 1 +int styleable SherlockSpinner_android_dropDownVerticalOffset 6 +int styleable SherlockSpinner_android_dropDownWidth 4 +int styleable SherlockSpinner_android_gravity 0 +int styleable SherlockSpinner_android_popupBackground 2 +int styleable SherlockSpinner_android_popupPromptView 7 +int styleable SherlockSpinner_android_prompt 3 +int[] styleable SherlockTheme { 0x01010057, 0x7f010006, 0x7f010007, 0x7f010008, 0x7f010009, 0x7f01000a, 0x7f01000b, 0x7f01000c, 0x7f01000d, 0x7f01000e, 0x7f01000f, 0x7f010010, 0x7f010011, 0x7f010012, 0x7f010013, 0x7f010014, 0x7f010015, 0x7f010016, 0x7f010017, 0x7f010018, 0x7f010019, 0x7f01001a, 0x7f01001b, 0x7f01001c, 0x7f01001d, 0x7f01001e, 0x7f01001f, 0x7f010020, 0x7f010021, 0x7f010022, 0x7f010023, 0x7f010024, 0x7f010025, 0x7f010026, 0x7f010027, 0x7f010028, 0x7f010029, 0x7f01002a, 0x7f01002b, 0x7f01002c, 0x7f01002d, 0x7f01002e, 0x7f01002f, 0x7f010030, 0x7f010031, 0x7f010032, 0x7f010033, 0x7f010034, 0x7f010035, 0x7f010036, 0x7f010037, 0x7f010038, 0x7f010039, 0x7f01003a, 0x7f01003b, 0x7f01003c, 0x7f01003d, 0x7f01003e, 0x7f01003f, 0x7f010040, 0x7f010041, 0x7f010042, 0x7f010043, 0x7f010044, 0x7f010045, 0x7f010046, 0x7f010047 } +int styleable SherlockTheme_actionBarDivider 9 +int styleable SherlockTheme_actionBarItemBackground 10 +int styleable SherlockTheme_actionBarSize 8 +int styleable SherlockTheme_actionBarSplitStyle 6 +int styleable SherlockTheme_actionBarStyle 5 +int styleable SherlockTheme_actionBarTabBarStyle 2 +int styleable SherlockTheme_actionBarTabStyle 1 +int styleable SherlockTheme_actionBarTabTextStyle 3 +int styleable SherlockTheme_actionBarWidgetTheme 7 +int styleable SherlockTheme_actionButtonStyle 53 +int styleable SherlockTheme_actionDropDownStyle 52 +int styleable SherlockTheme_actionMenuTextAppearance 11 +int styleable SherlockTheme_actionMenuTextColor 12 +int styleable SherlockTheme_actionModeBackground 15 +int styleable SherlockTheme_actionModeCloseButtonStyle 14 +int styleable SherlockTheme_actionModeCloseDrawable 17 +int styleable SherlockTheme_actionModePopupWindowStyle 19 +int styleable SherlockTheme_actionModeShareDrawable 18 +int styleable SherlockTheme_actionModeSplitBackground 16 +int styleable SherlockTheme_actionModeStyle 13 +int styleable SherlockTheme_actionOverflowButtonStyle 4 +int styleable SherlockTheme_actionSpinnerItemStyle 58 +int styleable SherlockTheme_activatedBackgroundIndicator 66 +int styleable SherlockTheme_activityChooserViewStyle 65 +int styleable SherlockTheme_android_windowIsFloating 0 +int styleable SherlockTheme_buttonStyleSmall 20 +int styleable SherlockTheme_dividerVertical 51 +int styleable SherlockTheme_dropDownListViewStyle 55 +int styleable SherlockTheme_dropdownListPreferredItemHeight 57 +int styleable SherlockTheme_homeAsUpIndicator 54 +int styleable SherlockTheme_listPopupWindowStyle 64 +int styleable SherlockTheme_listPreferredItemHeightSmall 45 +int styleable SherlockTheme_listPreferredItemPaddingLeft 46 +int styleable SherlockTheme_listPreferredItemPaddingRight 47 +int styleable SherlockTheme_popupMenuStyle 56 +int styleable SherlockTheme_searchAutoCompleteTextView 31 +int styleable SherlockTheme_searchDropdownBackground 32 +int styleable SherlockTheme_searchResultListItemHeight 42 +int styleable SherlockTheme_searchViewCloseIcon 33 +int styleable SherlockTheme_searchViewEditQuery 37 +int styleable SherlockTheme_searchViewEditQueryBackground 38 +int styleable SherlockTheme_searchViewGoIcon 34 +int styleable SherlockTheme_searchViewSearchIcon 35 +int styleable SherlockTheme_searchViewTextField 39 +int styleable SherlockTheme_searchViewTextFieldRight 40 +int styleable SherlockTheme_searchViewVoiceIcon 36 +int styleable SherlockTheme_selectableItemBackground 21 +int styleable SherlockTheme_spinnerDropDownItemStyle 30 +int styleable SherlockTheme_spinnerItemStyle 29 +int styleable SherlockTheme_textAppearanceLargePopupMenu 23 +int styleable SherlockTheme_textAppearanceListItemSmall 48 +int styleable SherlockTheme_textAppearanceSearchResultSubtitle 44 +int styleable SherlockTheme_textAppearanceSearchResultTitle 43 +int styleable SherlockTheme_textAppearanceSmall 25 +int styleable SherlockTheme_textAppearanceSmallPopupMenu 24 +int styleable SherlockTheme_textColorPrimary 26 +int styleable SherlockTheme_textColorPrimaryDisableOnly 27 +int styleable SherlockTheme_textColorPrimaryInverse 28 +int styleable SherlockTheme_textColorSearchUrl 41 +int styleable SherlockTheme_windowActionBar 60 +int styleable SherlockTheme_windowActionBarOverlay 61 +int styleable SherlockTheme_windowActionModeOverlay 62 +int styleable SherlockTheme_windowContentOverlay 22 +int styleable SherlockTheme_windowMinWidthMajor 49 +int styleable SherlockTheme_windowMinWidthMinor 50 +int styleable SherlockTheme_windowNoTitle 59 +int styleable SherlockTheme_windowSplitActionBar 63 +int[] styleable SherlockView { 0x010100da } +int styleable SherlockView_android_focusable 0 +int xml wso2_device_admin 0x7f040000 diff --git a/product/modules/agents/android/client/bin/cdm-agent.apk b/product/modules/agents/android/client/bin/cdm-agent.apk new file mode 100644 index 0000000000000000000000000000000000000000..7813e3aa98c9daade4e1ab42d85d8e9ae6fb28c2 GIT binary patch literal 1231783 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%0D=}b;?$cjxh=hGz1SD& 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%0A&Kfu3)H8D%uq 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�A7R{aeYX(Boep7c}KXBa5eO*oq} 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

    w_|K# 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

    V01? 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⋙bTC{^r8>{ttJK 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⩔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

  1. 8ZykYM6?@DkXHq8WgATUSV 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�Ecg{S^kEg#7oX7v<#~Z6J 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

    %L7SN26Ev;Ab7?BAt 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⪻pvt0mXjQsEcTlUClr= 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 Q4LZ@Qq2%1QKK$$d0A*xMQ2+n{ literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/bin/classes.dex b/product/modules/agents/android/client/bin/classes.dex new file mode 100644 index 0000000000000000000000000000000000000000..51faaee6de9b54321ea72981ccbce964563e09f3 GIT binary patch literal 1104544 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 z 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

    fcdTBbHzc%|7k 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 literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/bin/jarlist.cache b/product/modules/agents/android/client/bin/jarlist.cache new file mode 100644 index 000000000..0b3d02d69 --- /dev/null +++ b/product/modules/agents/android/client/bin/jarlist.cache @@ -0,0 +1,5 @@ +# cache for current jar dependency. DO NOT EDIT. +# format is +# Encoding is UTF-8 +1421928865000 484258 bd6479f5dd592790607e0504e66e0f31c2b4d308 /home/inoshp/Documents/work/EMM 2.0/Source/CDM/product-mdm/product/modules/agents/android/client/libs/android-support-v4.jar +1421928865000 484258 bd6479f5dd592790607e0504e66e0f31c2b4d308 /home/inoshp/Documents/work/EMM 2.0/Source/CDM/product-mdm/product/modules/agents/android/client/plugins/ActionBarSherlock/library/libs/android-support-v4.jar diff --git a/product/modules/agents/android/client/bin/res/crunch/drawable-hdpi/ic_bookmark.png b/product/modules/agents/android/client/bin/res/crunch/drawable-hdpi/ic_bookmark.png new file mode 100644 index 0000000000000000000000000000000000000000..e39a023452827e5797f2c7baca04675b3643dd91 GIT binary patch literal 3633 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 D{htu@ literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/bin/res/crunch/drawable-hdpi/ic_check_default.png b/product/modules/agents/android/client/bin/res/crunch/drawable-hdpi/ic_check_default.png new file mode 100644 index 0000000000000000000000000000000000000000..74c9a0d459418937739a80416077a34c443ada55 GIT binary patch literal 5210 zcmV-g6s7BlP)-@s04sKi@t0`4fr7lRwPZp_#kTEP&iNk8vRo5(n`up#{ zpWMzqZ1js$b7z3pZv@tMRLz~<_ zHX;|L>GzD$%%akJY868(0uTbrazF?jab2YpY}?*9K0f{p%d++eA^znjKl#bO15lrY z1<@B@eDSG0d-gm#IXU??&iMgKX~`H<+)L}sT2zvOlk$yH3P~c7NChbklm-9_LKrCJ zV9d%c4$3$PWdNZthQJu4U>XBLP=IBOhRIx)Qnq<-4(GgSS=Q7OPdwrL{O3PEeXE>w zO8`Cp{PWhc&p!L-)6>&`GdVf=gyT4$H^x}T7_vdU3R+8Otzfi*F&auMNTs2qfiVEd zz!1WQZ98xr7p_}^>$-3p7q;WTwjBsz!?FYz&p@LLl+ePrQnyUGE#LRBb|QpO##q&| zteOy_{M1uV1&v1I%B{HDwgEE6kdr4*{>gy@2fj5iG4VCmbsrk#8o+1`nM4~d1p_G+ zl0-o%140-a$3>}BMzvZ+tyV*|T1B;5MWs?Hu5!7IQmIs2uIs{eT?k==aSH%N`j)2P zp)?36P|8N!G}BL2A;cJCY_DZmXCHj!;xuNSSqC;r9>RZh@uE# z7$OV<1ilBQ5`d({o+Kd{6<~~mFg7eQ$E(%q;n~^QZv(Ia{CYcDX}cE0zWL2>9^JQZ z-``fN)kBQ2G9iTIAgPRR01ZNbB$1F(gHQ&?DWO)Yp)YIj1`SXMjR(xQsktE>|-)KaUgk{;NRH|q+8fZ3~h1HZwB?uwFIWGVj z7KAr^O4;w_pfbirtc`OEAQUo5(#U2sw9%QM9CckvX-R7>r>3TU^YyQP-9LW(xVbHW zo_XdOapcI6!xIw|&yA0d{{^Mg8VTh|3_?=3l2Rj#Bpj!NdcBTjvx#Q2SpZ|(HaO=a zJhL5Owv)JW&cQiPfnru6Dq%FVQXrHS5`Yi_#+YM_p|x7go}Zup{mGLj{o8RdGCn@u za9#I_QmHg;jM*qn=u~^;x=Tt0Z2;GGQLCj~Q>)cbsZ?OwHW*`IjO_?8`QN8{h!pqD zzo(R@3`7Wgub;{Ql|TZim8E~r%jNQPxm^BoqtW;ofVJxpHoKAa95`^`q1oBlZ`JGd z`-Bjcd}CTkXe~1hVjz_P=N78f8pg)PP_NffsZ`)N4lK(Waixz7&SsYzcD?*TP|9G8 zMjWSnq>Tmv8L^_wICvb#mk%F4yz=IoZ}x7*g2>Fw%v7ybd!$mS{FxA9B7bT*G3$&3 zlSF|s3$9zf#&U9(x=~SVr`G0&ptV9AMd)_hFfz%KVqK&qj4{V`-Kj>S@m0_Bt^l~Q zRVs2_fSS$b1C2)GFNF{lI;7#1QmN)3$mBnPYdeMDE0@a!5$}|>+$vC(Wua23LMe?P z@G~u?kR%a=aEkEHIk&6T>I0nf0|4k&09~)h!W_rBr&6hW!Llr8BdnV=q-VL0QW`?o zD3{CEM5�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 VK)}}8ry2kN002ovPDHLkV1iliZC(HX literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/bin/res/crunch/drawable-hdpi/ic_logo.png b/product/modules/agents/android/client/bin/res/crunch/drawable-hdpi/ic_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..731d461bd446935bfa7f73de52528954c8afebba GIT binary patch literal 3800 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 literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/bin/res/crunch/drawable-hdpi/repeat_bg.png b/product/modules/agents/android/client/bin/res/crunch/drawable-hdpi/repeat_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..70274e215fc25bfc74b09d10d73271fd50e5975d GIT binary patch literal 7043 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�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 Ba^?U4 literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/bin/res/crunch/drawable-mdpi/ic_check_selected.png b/product/modules/agents/android/client/bin/res/crunch/drawable-mdpi/ic_check_selected.png new file mode 100644 index 0000000000000000000000000000000000000000..51cc587f23df4b264db8a9602e6127fb9f78b8b8 GIT binary patch literal 3874 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 P00000NkvXXu0mjfBF2^1 literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/bin/res/crunch/drawable-mdpi/ic_logo.png b/product/modules/agents/android/client/bin/res/crunch/drawable-mdpi/ic_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..846d41318a8a03c68e99a07550c7cf85948e609b GIT binary patch literal 2199 zcmV;I2x#|-P)4hOZgf#s z%Y(3L64ywGM8PX$6;Tlo4`T2DjU37hbG-NMA3m+&GON2*Of6m2HPgSVyTAE$_t!lF zNz|7YFJe6e^#Ilb_**WLeS9HKInpuXwF0P-HjL z@@|i;-+Z#Cx}kjGi@6mu-N;*6Z&%k@c8xn{-Z}PyHD&pJ(_dbH#L`=#BprD-r@wjg zTR-wa!5bv8dvD?glBDH~u8u62(Snu_eQEiyCG)2>XIzk;ItM2nK9U^&oRjb&*^i|7 z>jOx_c6`HMO-njkXfu1-$#v$0;dvF4BwD|imt4iC{B9THd|xV8)25iW$7EU$&i$rZ zOed1Kaibty@9fT%z1_$qezeYMOzZylY1t7&d7c-!xHac@ccxpD7M9}Td+ncN68reL zyz!F3(vqA=(%W8M;}FrjK6Dd}rCR149r09HlozGkJo}n9a$2VC;#W~Hl?FcD&(0=J z6dJf&1;5|@UDG1?yzSiQQ7p_HY8TQ70BbgFnbyJK0cJ$F!)&y{s&|9n)eeGp2UIE| zER_ltM0&tr{7JiY`>y!^a0hAzpc8;30MqNRX$nB6eiv%dxz^$53c$mz?E+vWfB^eA zHBVvZ#^^bY z^oXCM2^x5`a^rwR>%K|HQIyyBNk7NZ(nE)~(*ueLaz!aLe%&GGq=4mjq45fY&1{0! z(Gi0>y5QSm$HQ;mz7uri%9RKJ4W0pD41ntZW&n5tfNwQ$QUH7jAQ`}M0FzanKY&zK zcLKm-JCKqAY*atb09dN(7N~fv0?^@^G)4*^vsS)-rZq}#hC#75v1K0UqYaJO4y{wR z6g>El?aYob07PCpF^FY%9Ho%q8y-9Ai?oA3?d1@cG>Q-JH8HK}`L*)x@|~dK`KY|i zp?TXNpiLyC4*j6<35I;*dnmUqLTuI%Qk(8T#00eH*bNU$9~f4xUbQ7QcJzVB$ex!A z3JSt%8KwYWB!C?N3ISvRh_llt04N0z31A8UKL9?eUlM?S0SE!mAHY}u;{ce{AHog5 zU;v{4{1HG~0LuZC16Ty$$}<5JT817JJzAB^ng4i~IVs~w8Dgj3CjfvH8na$0&UeGz z>|wTy-QzX>J#yjJ{B#xnR$)7J;}bjTM{S#GIks*jGPW&t_x8D6P-+7t3DD?a%RB(c z7ASWvLu}Fpns$AFw6(bULn<11c-~vKbZPJO^t6DUJ$oikcyHofMWIu*VTP)J`~;w# znqgzqIe7qx0I)=z^d$fp0BmZOwo^fm0ni;lK7jFRhLx!qc^kkF0Pd;TT&VgN+S4+r z_LU)&OJT9wt;g5L3wjrm)Ok<}92!1Gy|I6)#xEk@ynohO-oI|p58F6N<%|MAcR(mn z+cq(v*E%U|OfTdgjd-(PpX0kenjAdG|2Ciy3M4?%0ag>_{4_|i8ODc3?9a7fetf?p zf*_Pil7xBl=FUDC`sF*t#YL^Xyu2>i4RVy4F{{*xD*(LIjLTLt&7N0k0LXTGUWgsn zJqsWQfFl3`a8Tt>_D)5`N~n%moi`Cp=RsRwHB0i{To-NFs10^1s}weRtDKu^5E^=y z2>w0x0RZk_i!!h2m58%i&AGVawB`z?|@ur-UGLfTr$;x95I&YKVB`10r3 zK0Gnjll^?bCQW@z=d&&huM3OsIA`Z2mxg?uC;lCv3kn~gA16BK{;}m}3Jp%A@Z zU;F~M)PDll58!VA4C+A<3*f7lb{BqC>ZZ+`SM=)L_ZrDY|3#c3BrlUZMe>rmr2psF zJ>eC5k(Lq?wk;YrZtUF2Q>LD1-mKY0tJSI#L=h9-ja%X2;gR#4@f=m!QU>78OMlM# zwTszo_N=I=Ff3lOWV6*`b$Iybp&Lnvf(S)XG%pa+1R(cij#;SxPo(}ux*ouK0RNB6 ZzX8A&fvB-vo<9Hp002ovPDHLkV1fn4hOZgf#s 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 Ef_cWFtN;K2 literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/bin/res/crunch/drawable-mdpi/top_bar.png b/product/modules/agents/android/client/bin/res/crunch/drawable-mdpi/top_bar.png new file mode 100644 index 0000000000000000000000000000000000000000..1a10ae8e0bfc4d90cf06a029b85ef57de41c4200 GIT binary patch literal 19781 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 oE;F)a8Z`ZZ> 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 Th0uUmY7|9THJN%T^RWK_F0lHa literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/bin/res/crunch/drawable-xhdpi/appuninstall.png b/product/modules/agents/android/client/bin/res/crunch/drawable-xhdpi/appuninstall.png new file mode 100644 index 0000000000000000000000000000000000000000..8f6ffef13e413edcb17cc7d0979845ae31133f24 GIT binary patch literal 10038 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 M07*qoM6N<$f&rLWmH+?% literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/bin/res/crunch/drawable-xhdpi/camera.png b/product/modules/agents/android/client/bin/res/crunch/drawable-xhdpi/camera.png new file mode 100644 index 0000000000000000000000000000000000000000..a4900b929266063e42c112d17dc13f9e4a254f3c GIT binary patch literal 17109 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

  2. xXP+fvpY3#)Jwr=mmvWIWPfF%m>_o zOC5HYRfl%tW$Jtq-C7?*j^_ruarKrAjL-@*y zzV9kS?gVP(i~So%I-eg%lj@V*IWGo8`S6UZ{>j9D#Kf`772HyklM|eA|F3Kng__2q z=J)Nx$9TcNgW*u=o3HyVqA6yRv$I5)W?(YJ&_m;*Il7ZOQ(kVW7bXwp8;9QRW<4pk zCngJ|rkL2+Cy?n5Vx3F8hhS3m2pLp6#(B4W{0BS3EasqC7#J zK|TpcaX@g+BOjVv!`E-hRw1}}xudNWx9m8=cPFUU^$P>;z*Bb2+deVls@4&%4r%5u z2%L;HwF@TE6yE(lIw}HyDbQihz0lUZBDpG`#o`I6!4jkZ|Bf^uf*FlxH)71uxmKWV zE}{{~0y=?Z`tAJ0m24xNfXKsEzygQ$i3@%oyO6oA zO%au@u2h}=!P5xwQqY``+&ptqBh17o83dm@Y{U3Yn~fV%=aiUvmC};5rDBK03&_#Az_K(yz}A2@`1wU^bLh_r2?>K|D}344Pq)v!E{>M>I{^oJiNLV10)MPruhEZ{*Fwkw z`t!j|C|4Lr{nU1wkrdWb;7mO{JRGs5l!EXVs+r&8-|)7jt#`L459Lfzd?#{m)%bVC zn%PX&ARLu{a(^6<`^4#wur~gfocx~J@sAD|SSrBe&$W86uU_@@HXYQAc#i0-bT50X zj)6wG=Y-En52zgCiTa3@L1HBUa!)Sgn+7OQ3t{-QHBNoI>V94AYJe=04c(6y)Wuc{ zePC&tp2Uf;ECN8{k&IOiHj)`AKbfQ@6A1SN;51rAJ4vnA{T&u%?4e~3=805VW6Jsj zP&JSN@qT^ggBk+m$-=_&WJAGb1=0`j=CE%SAY=uR5`_P!mC~0$E9v?BOSppI&F_N8 zdOd?TR2BXP?*IODB2v>BP}$+^YcDS@-Zn(DwfrszaZ090r6jKyN*MhdE{y=u|8e3K zV&sO4!gR+)-dtHm2|30);>D4bf#ScY5XEF8IH+h+NI1vHCBq*_in^i&^~$#i;PQaS z%lY#(GQ68&_6}{d;kxu=*y&?~+RSkNp^Od-8Ne3D4)H_Va>S+WR{&kx{6`_zcgJGaW=8m^?nE4X?mnym z&TeMyc~N%3LdVOh&w-95aYa^7`R(6tWpMZ42^v2>+=I9Te2_etjd(QhnZ2BXK|&`q z_xLj=-7z*THVwHX-fu*ICyuSmxJn%oUTbCVNdKHhEr|c&gPf!5d$I0kMvx@#{h6B9 zm6n^XcjqepXvBlYZPK;xY?qxCCpNH?eD=0K)J1wsQ%f4}Rb_5z{9PnGEMl z2JcuJY5&7~*C`x~i8FO6`2IwY{TE&W^tEcEL=f3xLr+I<8wAoXq)9Vv%hLmS`11$O z#mjpcMY6dDQ+G?U8T2a1EN6d>FxYEc?E}p51kfQ#)z#GkAm$)Za`j{6inMwD8QJ7r z)s9#39z}q|gNv*Nj7jb=YnY)#X$_LcVs;YxdZe*IfB2`ZU$Tq@Ti2tHjErpOZVSpH zARv8u`n>>seSKCFXCSy_S;Z)DpdG)F-r;_Y@ca1as3UXCoa#@@gUIap2LprLFpe-x zG$Tg%Fz%SymrFz3*HJWsHJEUCm^Ss@wRDGJNb#?>(`!{Ms`J@>H!#oK(AWrM(E2@K zY;6!Yh;>^}Q0p5M-k?nkim87ON0CA9s$v;2iOPp?rjG)Kpa%{&2YjYXA{3wy=$g;Q zML(8K-^|Frbp~2`(0XCZ9Qy#m z?eowb!%(u>d5xr;qmctq*q(CvXGg#a4OxGJpz7fU%e9|QTYnnl}#t literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/bin/res/crunch/drawable-xhdpi/changepassword.png b/product/modules/agents/android/client/bin/res/crunch/drawable-xhdpi/changepassword.png new file mode 100644 index 0000000000000000000000000000000000000000..e1bde62f55ac4780c2a11c5972b36809eb2ac11e GIT binary patch literal 12986 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 literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/bin/res/crunch/drawable-xhdpi/encrypt.png b/product/modules/agents/android/client/bin/res/crunch/drawable-xhdpi/encrypt.png new file mode 100644 index 0000000000000000000000000000000000000000..21c3c0ef86b2217699c59d519aa6d22143a03f2e GIT binary patch literal 9142 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�PfS=I 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 literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/bin/res/crunch/drawable-xhdpi/ic_launcher.png b/product/modules/agents/android/client/bin/res/crunch/drawable-xhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..39b9a8f217747f786477ada59fc6df5deeeea6b7 GIT binary patch literal 4528 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ƴWha!C?LNu1O*IgY}06JUf8_+dz^*{0j| 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 Dpg|Q` literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/bin/res/crunch/drawable-xhdpi/repeat_bg.png b/product/modules/agents/android/client/bin/res/crunch/drawable-xhdpi/repeat_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..5984849fbe094d20735aa14d0ac1cb959185f655 GIT binary patch literal 16868 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 literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/bin/res/crunch/drawable-xxhdpi/ic_check_selected.png b/product/modules/agents/android/client/bin/res/crunch/drawable-xxhdpi/ic_check_selected.png new file mode 100644 index 0000000000000000000000000000000000000000..6a07c92553088bd3d0df8af1fab9e657280a3712 GIT binary patch literal 20172 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

    K6>grj6N?g`#g587BwZn zA(~>o2|8BxXcbw0M!i=Ir~CLd^434CCW#Z%p>JlbAdPQfH^k2r zp*9aSMN`So+0oP!FJ%E8VyMsWGup8<9+qJCF@{qS=Ftx>Coh*voiX)=+^OZ>UXi)V z{d?U+lizN<_d+rw2zKw|3nRPs%8G^+&F={acla3ht+nD?d}wTKX`d)J4}O7dU%kBZ zGg4vL)5zGnd!~AH<5jMP`MP4iX+

    dfgD;{zLXtJ3ylO1@r**`wsx~f4w~a+o#CP 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

      WjEr@d^INQQd<<^9O69E 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 z%0D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
      f9&qr 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 hS;3jfbod@77}%` + + \ No newline at end of file diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/.gitignore b/product/modules/agents/android/client/plugins/ActionBarSherlock/.gitignore new file mode 100644 index 000000000..6d0dc1c16 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/.gitignore @@ -0,0 +1,34 @@ +#Android generated +bin +gen +lint.xml + +#Eclipse +.project +.classpath +.settings +.checkstyle + +#IntelliJ IDEA +.idea +*.iml +*.ipr +*.iws +classes +gen-external-apklibs + +#Maven +target +release.properties +pom.xml.* + +#Ant +build.xml +ant.properties +local.properties +proguard.cfg +proguard-project.txt + +#Other +.DS_Store +tmp diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/.travis.yml b/product/modules/agents/android/client/plugins/ActionBarSherlock/.travis.yml new file mode 100644 index 000000000..e9a32d4fa --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/.travis.yml @@ -0,0 +1,11 @@ +language: java + +notifications: + email: false + +before_install: + - wget http://dl.google.com/android/android-sdk_r20.0.3-linux.tgz + - tar -zxf android-sdk_r20.0.3-linux.tgz + - export ANDROID_HOME=~/builds/JakeWharton/ActionBarSherlock/android-sdk-linux + - export PATH=${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/platform-tools + - android update sdk --filter 1,5 --no-ui --force diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/CHANGELOG.md b/product/modules/agents/android/client/plugins/ActionBarSherlock/CHANGELOG.md new file mode 100644 index 000000000..432230bf0 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/CHANGELOG.md @@ -0,0 +1,469 @@ +Change Log +=============================================================================== + +Version 4.2.0 *(2012-10-07)* +---------------------------- + +**Maven `artifactId` is now to 'actionbarsherlock'.** + +Note: The `.Dialog` themes are now deprecated. These will be removed in a future +version of the library. + + * Add `SearchView` widget for standard search interaction (API 8+ only) + * Fix: `ShareActionProvider` in the split action bar no longer fills the entire + screen. + * Fix: `ShareActionProvider` now does file I/O on a background thread. + * Fix: Automatically correct `ColorDrawable` not respecting bounds when used as + a stacked background. + * Fix: Ensure fragments collection is present before dispatching events. + * Fix: XML-defined `onClick` searches the correct context for the declared + method. + * Fix: Ensure action mode start/finish callbacks are invoked on the activity + for the native action bar. + * Fix: Allow tab callbacks to have a fragment transaction instance for any + `FragmentActivity`. + * Fix: Ensure `CollapsibleActionView` callbacks are dispatched in both native + and compatbility action bars. + * Fix: Remove `.ForceOverflow` themes. These never should have been included. + + +Version 4.1.0 *(2012-05-17)* +---------------------------- + + * Fix: Altered technique used for menu event dispatching through the fragment + manager for greater control. + * Fix: Do not dispatch menu creation event if the activity has been destroyed. + * Fix: Correct potential `NullPointerException` when expanding an action item. + * Fix: Correct potential `NullPointerException` when the hardware menu key was + pressed in an activity that is forcing the overflow menu. + * Fix: Do not set a listener on the native action bar tab wrapper unless a + compatibility listener has been set. + * Fix: Ensure the compatibility animation framework is always available on + views even if they were previously detached from the view hierarchy. + + +Version 4.0.2 *(2012-04-15)* +---------------------------- + + * Upgrade to r7 support library. + * Fix: Do not trigger menu creation after `onCreate` if activity is finishing. + * Fix: Prevent overflow from displaying if there are no overflow action items. + * Fix: Long-pressing menu key no longer triggers overflow. + * Fix: Use proper tab state-list drawable to mimic ICS. + * Fix: Ensure dispatching menu creation and preparation to fragments can + properly return `false` when appropriate to avoid rendering artifacts. + * Fix: Properly save and fetch action mode tag on ICS. + * Fix: Add missing density-specific resources for certain asssets and remove + unused assets. + + +Version 4.0.1 *(2012-03-25)* +---------------------------- + + * Add `ShareActionProvider` widget for use as action items. + * Re-add 'Styled' sample to provide a more comprehensive theming example. + * Fix: Do not dispatch options item selection to fragments if the activity + handles the callback. + * Fix: Prevent menu key from opening the overflow menu when an action mode is + currently displayed. + * Fix: Ensure fragment transaction instance is not `null` on initial tab + selection callback. + * Fix: Displaying an action mode while using stacked tab navigation no longer + throws an exception. + * Fix: Using expandable action item callbacks no longer results in a possible + exception on older devices. + + +Version 4.0.0 *(2012-03-07)* +---------------------------- + +Complete rewrite of the library to backport the Android 4.0 action bar. + + * The minimum supported version of Android is now 2.1 (API 7). + * New base activities are provided (e.g., `SherlockActivity` and + `SherlockFragmentActivity`) which extend from the native activities. + * The support library sources are no longer included in the library. You must + include `android-support-v4.jar` in your project separately. + * Theming now mirrors that of the native action bar through the use of multiple + styles rather than through `ab`- and `am`-prefixed attributes in the theme. + * The action bar can be statically attached to an activity view without the + requirement of using one of the provided base activities. + + +Version 3.5.1 *(2012-01-03)* +---------------------------- + + * Fix: `NullPointerException` in `FragmentManager` can no longer occur when an + attempt is being made to save to a `Bundle` that has not yet been created. + * Fix: Pre-3.0 action item submenu dialogs now properly dismiss themselves when + an item of theirs is selected. + + +Version 3.5.0 *(2011-12-18)* +---------------------------- + + * Library now uses the `r6` version of the compatibility library for its base. + Ice Cream Sandwich-specific implementations are currently disabled, however, + but will be added in a future version of the library. + + `MenuCompat`, `MenuItemCompat`, and `ActivityCompat` have be added back in + to ease transition to this library but all their methods and the classes + themselves have been deprecated. + * Rewritten menu and action item support from Ice Cream Sandwich. + + * Removed the need for the custom `Window.FEATURE_ACTION_ITEM_TEXT` flag. + You should now use the `showAsAction` attribute and/or the + `setShowAsAction(int)` method on each `MenuItem` to control whether or + not text is shown + * Action item dividers are now added automatically only when necessary + to distinguish possible confusion between action items. + * Fix: Action views now properly size themselves within the bounded space + of the menu. + + * Fix: List navigation no longer becomes unusable on certain device + configurations. + * Fix: `SubMenu`'s `findItem(int)` method now properly returns the support + version of `MenuItem`. + * Fix: Invisible sub-menu items are no longer shown on the pre-3.0 popup list. + + +Version 3.4.2 *(2001-11-09)* +---------------------------- + + * Fix: Stacked action bar now properly sets the tab bar background based on + the theme. + + +Version 3.4.1 *(2011-11-09)* +---------------------------- + + * The `makeFragmentName` method in `FragmentPagerAdapter` has been changed to + `public` scope to allow for easier access to your fragments that it is + managing. + * Action bar will now animate when calling `show()` or `hide()`. + * `SherlockPreferenceActivity` now provides full fragment and loader support. + * Examples for the plugins are now in their own sample application. + * Fix: Home icon no longer erroneously clipped when it exceeds the size of the + action bar. + * Fix: Tabs will now scroll horizontally to mimic the native action bar + behavior. + * Fix: Plugins now properly DO NOT inline their `R.java` integer constants. + * Fix: Tabs below the action bar are now styled with a default background so + that they do not incorrectly inherit an applied background unless explicity + declared. + + +Version 3.4.0 *(2011-10-30)* +---------------------------- + + * Library now uses the `r4` version of the compatibility library for its base. + Ice Cream Sandwich-specific implementations are currently disabled, however, + but will be added in a future version of the library. + * Context menu callbacks now use the support version of `MenuItem` to maintain + consistency. + * Added preference plugin which provides an action bar enhanced preference + screen. + * Fix: `abHomeLayout` theme attribute is now honored. + * Fix: `onPrepareOptionsMenu` is now properly dispatched upon menu + invalidation. + + +Version 3.3.1 *(2011-10-20)* +---------------------------- + +ADT 14 is now required. Maven 3 is required if building from the command line. + + * XML-defined `onClick` attributes will now check for an `onClick` method that + takes an `android.support.v4.view.MenuItem` instance. + * Tabs on medium screens in landscape now display inline rather than below the + action bar to mirror how Android 4.0 behaves with the same configuration. + * Fix: Menu inflater properly checks activity context for `onClick` method + declared in the XML. + * Fix: Dialog fragment properly saves its `showDialog` state when not being + used as a popup. + * Fix: Return `-1` when in tab navigation but no tab is selected. This brings + the library in line with the post-3.0 behavior. + * Fix: Removing a menu group no longer throws an `IndexOutOfBoundsException`. + * Fix: `getSelectedTab` and `getTabAt` no longer throw `NullPointerException`s + on post-3.0 when no tab was selected or no tab existed at the specified + position, respectively. + * Fix: `findFragmentById` now properly returns fragments attached to + `android.R.id.content` when run on pre-3.0 devices. + + +Version 3.3.0 *(2011-10-11)* +---------------------------- + + * Tabs are now displayed below the action bar on all medium-screen devices and + portrait large-screen devices. + * Fix: Dialog fragments no longer throw an `IllegalStateException` when being + used as a regular fragment (i.e., not as a popup). See + [StackOverflow](http://stackoverflow.com/questions/5637894/dialogfragments-with-devices-api-level-11/7560686#7560686) + for more information. + * Fix: Popping a fragment off of the back stack now properly assigns its parent + activity. + * Fix: An activity result no longer causes a `NullPointerException` when the + target fragment no longer exists. + * Fix: Action item dividers are now properly initially hidden when their + associated action items are as well. + + +Version 3.2.3 *(2011-09-16)* +---------------------------- + + * Fix: Fragments in a `ViewPager` that contributed items to the options menu + were caught in a race condition causing inconsistent results when a new page + was selected. This regression was introduced in version 3.2.2. + + +Version 3.2.2 *(2011-09-15)* +---------------------------- + + * Fix: Side-effects related to using `FragmentMapActivity` due to how it was + referencing resources from the main library. + * Fix: Fragments adjacent to the currently selected fragment in a `ViewPager` + no longer receive context menu events. + * Fix: Eliminate exception when inflating context menus on 3.0+ when using + `getMenuInflater()`. + * Fix: `ViewPager` now determines whether or not an activity menu invalidation + is required independently of whether or not fragments were created or + destroyed. This should fix an edge case where an activity with a `ViewPager` + containing only two fragments would not get its menu properly invalidated. + + +Version 3.2.1 *(2011-09-12)* +---------------------------- + + * Fix: Action mode API incorrectly using the native `Menu` and `MenuItem` + classes causing an easy pitfall for `ClassCastExceptions`. + * Fix: Large action bar backgrounds increasing the size beyond that alloted in + the theme. + + +Version 3.2.0 *(2011-09-05)* +---------------------------- + + * Added support for `MapView` and the Google APIs through the use of + `FragmentMapActivity`. If you are using a map within a fragment you must + ensure it is always attached to an activity which extends from this new base + class. + + Since supporting maps requires compiling against the Google APIs, this + functionality is implemented in the form of a plugin which is to be used + alongside the normal library. You can choose to add it as an additional + library project or by including it as a `.jar`. Maven users may simply + include the additional dependency (artifactId: `plugin-maps`). + * Fix: Fragments adjacent to the currently selected fragment in a `ViewPager` + no longer contribute to the activity menu. + * `ActionBar.Tab` has been changed from an interface to an abstract class to + mirror its native counterpart. + + +Version 3.1.3 *(2011-08-14)* +---------------------------- + + * Renamed all resources to be prefixed with `abs__` to avoid conflicts when + including in your project. + * Fix: Action bar background being set on two views causing artifacts to remain + on screen when the action bar was hidden. + * Fix: Incorrect sub-menu item being selected by default when the sub-menu was + triggered from the native options menu on pre-3.0. + * Fix: `MenuItem.setVisible` now properly updates the associated action item and + native menu item visible state. + * Fix: Adding items to a menu now honors its ordering and category. + * Fix: Fragment options item selected callback now uses the proper version of + `MenuItem`. + + +Version 3.1.2 *(2011-08-07)* +---------------------------- + + * Fix: `MenuItem.getMenuInfo()` was throwing runtime exception. Will now just + return `null`. + * Fix: Dragging over a `WebView` contained in a `ViewPager` would not register. + * Fix: Inflation of context menu incorrectly being handled by the custom menu + inflater for the library. + + +Version 3.1.1 *(2011-07-31)* +---------------------------- + + * Fix: `MenuItem.getSubMenu` now returns a support instance rather than a + native instance. + * Fix: Fragment methods `onAttach` and `onInflate` incorrectly regressed to use + `Activity` instead of a `FragmentActivity` in their method signatures. + * Fix: Retained fragments not being re-attached on pre-3.0 when attached to + `android.R.id.content` upon activity recreation. + * Fix: `onPrepareOptionsMenu` not dispatched to fragments. This still will only + occur if the activity method returns true (which is the default). + * Fix: `Menu.findItem` not returning `null` when the item was not found on + Android 3.0+. + + +Version 3.1.0 *(2011-07-22)* +---------------------------- + +Due to shortcomings in the Android theming system, a small change must be made +in how this library handles themes. If you were using a custom style for +`actionBarStyle` you must now specify its attributes in the root of the theme +and prefix them with 'ab'. + +You can see an example of this in the `SherlockCustom` theme in +`samples/demos/res/values/styles.xml`. + + * Library now uses the `r3` version of the compatibility library for its base. + * `actionBarStyle` is no longer a valid theme attribute (see note above). + * Added the demo project included with the new compatibility library under + `samples/demos/` and merged in the old 'featuredemo'. + * Dividers are now shown on pre-3.0 devices between all action items. + * `Window.FEATURE_ACTION_BAR_OVERLAY` is now honored on pre-3.0 devices. + * Inflation of XML menu resources will now honor `android:actionLayout` and + `android:actionViewClass` attributes. + * Buttons for displaying the determinate and indeterminate progress bars have + been added to the feature toggle demo. + * Added support for indeterminate progress bar. Due to the `final` modifier on + the native type, you must use `setIndeterminateProgressBarVisibility(Boolean)` + and pass `Boolean.TRUE` or `Boolean.FALSE`. + * Fix: `MenuBuilder#removeItem(int)` and `MenuBuilder#findItem(int)` throwing + `IndexOutOfBoundsException`s when the item was not found. + * Fix: Theme attributes for home item data (e.g., icon, logo) will not be + overwritten by the special `MenuItem` instance for home. + * Fix: Native strings can now be specified for an XML menu `` in + `android:title` and `android:titleCondensed`. + * `Window.FEATURE_ENABLE_ACTION_BAR_WATSON_TEXT` is now + `Window.FEATURE_ACTION_BAR_ITEM_TEXT`. + * `Widget.Sherlock.Spinner.DropDown.ActionBar` and + `Widget.Sherlock.Light.Spinner.DropDown.ActionBar` styles are now + `Widget.Sherlock.Spinner` and `Widget.Sherlock.Light.Spinner`, respectively. + * `Widget.Sherlock.ActionBarView_TabXXX` styles are now + `Widget.Sherlock.ActionBar.TabXXX`. + + +Version 3.0.3 *(2011-07-17)* +---------------------------- + +This version is a hotfix for incompatibilities introduced with the SDKs for +3.1 r2 and 3.2 r1. Due to unavoidable changes in the underlying SDK, the library +must now be compiled against API level 13. + + * `actionModeStyle` and `actionModePopupWindowStyle` are no longer valid theme + attributes. + + +Version 3.0.2 *(2011-06-23)* +---------------------------- + + * Sub-menus for action items are now shown in a list dialog. + * Moved certain classes to the `com.actionbarsherlock.internal` package which + were not meant for public consumption. Despite being given `public` scope in + this new package, these classes should **NOT** be used under any circumstances + as their API can be considered highly volatile and is subject to change often + and without warning. + + +Version 3.0.1 *(2011-06-08)* +---------------------------- + + * Fix: `onOptionsItemSelected()` not being called in fragments if the activity + version returns `false`. + * Fix: `onCreateOptionsMenu()` not being called in fragments on Android 3.0+. + * New: Enable action item text display on pre-Android 3.0 by calling + `requestWindowFeature` with `Window.FEATURE_ENABLE_ACTION_BAR_WATSON_TEXT`. + * Fix: `setCustomView()` no longer automatically enables the custom view on + pre-3.0. You must call `setDisplayShowCustomEnabled()` in order to display + the view. + + +Version 3.0.0 *(2011-06-05)* +---------------------------- + +The API has been rewritten to mimic that of the native action bar. As a result, +usage now only requires changing a few imports to use the support versions +of classes and calling `getSupportActionBar()`. See the README for more info. + +The rewrite necessitated tight interaction with the +[compatibility library](http://android-developers.blogspot.com/2011/03/fragments-for-all.html) +to the point where its sources are now included. You are no longer required to +have the standalone `.jar` file. + +Also included is a default custom action bar for use by default on pre-3.0 +devices. This custom implementation is based off of Johan Nilsson's +[Android-ActionBar](https://github.com/johannilsson/android-actionbar) and the +[work that I have done](https://github.com/johannilsson/android-actionbar/pull/25) +on it. + +More details are available at http://actionbarsherlock.com + + +Version 2.1.1 *(2011-03-21)* +---------------------------- + +**No changes to library code.** + + * Moved library to the root of the repository. + * Added `samples/dependencies.py` script to automatically download the needed + dependencies for the sample projects. + + +Version 2.1.0 *(2011-03-21)* +---------------------------- + +**WARNING**: The +[Android Compatibility Library (v4)](http://android-developers.blogspot.com/2011/03/fragments-for-all.html) +is now required. + + * Added `ActionBarSherlock.Activity`, `ActionBarSherlock.FragmentActivity`, + and `ActionBarSherlock.ListActivity` for extension by implementing + activities, the latter of which is deprecated. This affords a much tighter + integration and allows for the use of other new features listed below. + * New API method: `layout(Fragment)` will use the fragment argument as the + content to the activity. + * New API method: `menu(int)` allows for the inflation of menu XMLs from a + resource. For the non-native implementation, the XML can be inflated to a + custom Menu which can then be applied appropriately to the third-party + action bar. Sub-menus are also supported. Third-party action bar handlers + should implement `ActionBarSherlock.HasMenu` for this functionality. *This + feature requires that activities extend from one of the provided activity + base classes.* + * New API method: `homeAsUp(boolean)`. This mimics the native method + `setDisplayHomeAsUpEnalbed` on the native action bar. Third-party action bar + handlers should implement `ActionBarSherlock.HasHomeAsUp` for this + functionality. + * New API method: `useLogo(boolean)` will trigger the action bar to hide the + application icon/home button and title and show a larger logo representing + the application. Third-party action bar handlers should implement + `ActionBarSherlock.HasLogo` for this functionality. + * New API method: `listNavigation(SpinnerAdapter, OnNavigationListener)`. Tells + the action bar to use drop-down style navigation with the specified list of + items and callback listener. Third-party action bar handlers should + implement `ActionBarSherlock.HasListNavigation` for this functionality. + * Javadocs are now available at + [jakewharton.github.com/ActionBarSherlock](http://jakewharton.github.com/ActionBarSherlock/). + * A standalone JAR is now available via the + [GitHub downloads page](https://github.com/JakeWharton/ActionBarSherlock/downloads) + or in my + [personal maven repository](http://r.jakewharton.com/maven/) + as `com.jakewharton:android-actionbarsherlock:2.1.0`. + + +Version 2.0.1 *(2011-03-11)* +---------------------------- + + * Use `Class.forName()` for detection of native action bar. This provides + compatability all the way back to Android 1.5. + + +Version 2.0.0 *(2011-03-09)* +---------------------------- +Complete rewrite! + + * New and better API. + * More sane logic and attachment to activity. + * Extensible via generics. Implement any ActionBar or roll your own with + minimal effort. + * Now a library project for easy inclusion in applications. + + +Version 1.0.0 *(2011-03-07)* +---------------------------- +Initial release. diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/CONTRIBUTING.md b/product/modules/agents/android/client/plugins/ActionBarSherlock/CONTRIBUTING.md new file mode 100644 index 000000000..30d383364 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/CONTRIBUTING.md @@ -0,0 +1,11 @@ +Contributing +============ + +If you would like to contribute code to ActionBarSherlock you can do so through +GitHub by forking the repository and sending a pull request. + +When submitting code, please make every effort to follow existing conventions +and style in order to keep the code as readable as possible. Please also make +sure your code compiles by running `mvn clean verify`. Checkstyle failures +during compilation indicate errors in your style and can be viewed in the +`checkstyle-result.xml` file. diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/LICENSE.txt b/product/modules/agents/android/client/plugins/ActionBarSherlock/LICENSE.txt new file mode 100644 index 000000000..d64569567 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + 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. diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/README.md b/product/modules/agents/android/client/plugins/ActionBarSherlock/README.md new file mode 100644 index 000000000..6506c361d --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/README.md @@ -0,0 +1,60 @@ +ActionBarSherlock +================= + +ActionBarSherlock is an standalone library designed to facilitate the use of +the action bar design pattern across all versions of Android through a single +API. + +The library will automatically use the [native ActionBar][2] implementation on +Android 4.0 or later. For previous versions which do not include ActionBar, a +custom action bar implementation based on the sources of Ice Cream Sandwich +will automatically be wrapped around the layout. This allows you to easily +develop an application with an action bar for every version of Android from 2.x +and up. + +**See http://actionbarsherlock.com for more information.** + +![Example Image][3] + +Try out the sample applications on the Android Market: [Feature Demos][4], +[Fragments][5], and [RoboGuice][6]. + +Continuous integration is provided by [Travis CI][7]. + + + +Developed By +============ + +* Jake Wharton - + + + +License +======= + + Copyright 2012 Jake Wharton + + 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. + + + + + + [1]: http://android-developers.blogspot.com/2011/03/fragments-for-all.html + [2]: http://developer.android.com/guide/topics/ui/actionbar.html + [3]: http://actionbarsherlock.com/static/feature.png + [4]: https://play.google.com/store/apps/details?id=com.actionbarsherlock.sample.demos + [5]: https://play.google.com/store/apps/details?id=com.actionbarsherlock.sample.fragments + [6]: https://play.google.com/store/apps/details?id=com.actionbarsherlock.sample.roboguice + [7]: https://travis-ci.org/JakeWharton/ActionBarSherlock diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/checkstyle.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/checkstyle.xml new file mode 100644 index 000000000..cfde0eaf7 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/checkstyle.xml @@ -0,0 +1,121 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/AndroidManifest.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/AndroidManifest.xml new file mode 100644 index 000000000..7b8a84824 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/AndroidManifest.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/README.md b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/README.md new file mode 100644 index 000000000..e8a2c080e --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/README.md @@ -0,0 +1,15 @@ +ActionBarSherlock Library +========================= + +This folder contains the main library which should be linked against as an +Android library project in your application. + +For more information see the "Including In Your Project" section of the +[usage page][1]. + + + + + + + [1]: http://actionbarsherlock.com/usage.html diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/build.gradle b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/build.gradle new file mode 100644 index 000000000..88ae49ebf --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/build.gradle @@ -0,0 +1,32 @@ +buildscript { + repositories { + mavenCentral() + } + dependencies { + classpath 'com.android.tools.build:gradle:0.4' + } +} +apply plugin: 'android-library' + +dependencies { + compile fileTree(dir: 'libs', include: '*.jar') +} + +android { + compileSdkVersion 15 + buildToolsVersion "18.0.1" + + sourceSets { + main { + manifest.srcFile 'AndroidManifest.xml' + java.srcDirs = ['src'] + resources.srcDirs = ['src'] + aidl.srcDirs = ['src'] + renderscript.srcDirs = ['src'] + res.srcDirs = ['res'] + assets.srcDirs = ['assets'] + } + + instrumentTest.setRoot('tests') + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/pom.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/pom.xml new file mode 100644 index 000000000..3b6ce40ce --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/pom.xml @@ -0,0 +1,148 @@ + + + + 4.0.0 + + actionbarsherlock + ActionBarSherlock + apklib + + + com.actionbarsherlock + parent + 4.2.0 + ../pom.xml + + + + + com.google.android + android + provided + + + com.google.android + support-v4 + + + + junit + junit + test + + + + + src + test + + + + com.jayway.maven.plugins.android.generation2 + android-maven-plugin + true + + ignored + + + + + org.apache.maven.plugins + maven-javadoc-plugin + + true + + + + + com.google.code.maven-replacer-plugin + maven-replacer-plugin + 1.4.0 + + + process-sources + + replace + + + + + false + target/generated-sources/r/com/actionbarsherlock/R.java + target/generated-sources/r/com/actionbarsherlock/R.java + false + static final int + static int + + + + + org.apache.maven.plugins + maven-checkstyle-plugin + + ../checkstyle.xml + + + + verify + + checkstyle + + + + + + + org.codehaus.mojo + build-helper-maven-plugin + 1.7 + + + package + + attach-artifact + + + + + jar + ${project.build.directory}/${project.build.finalName}.jar + + + + + + + + + + + + + org.eclipse.m2e + lifecycle-mapping + 1.0.0 + + + + + + com.google.code.maven-replacer-plugin + maven-replacer-plugin + [1.4.0,) + + replace + + + + + + + + + + + + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/project.properties b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/project.properties new file mode 100644 index 000000000..f28bc833e --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/project.properties @@ -0,0 +1,12 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system use, +# "ant.properties", and override values to adapt the script to your +# project structure. + +android.library=true +# Project target. +target=android-15 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/color/abs__primary_text_disable_only_holo_dark.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/color/abs__primary_text_disable_only_holo_dark.xml new file mode 100644 index 000000000..ea7459aaf --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/color/abs__primary_text_disable_only_holo_dark.xml @@ -0,0 +1,20 @@ + + + + + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/color/abs__primary_text_disable_only_holo_light.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/color/abs__primary_text_disable_only_holo_light.xml new file mode 100644 index 000000000..0edb33b4b --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/color/abs__primary_text_disable_only_holo_light.xml @@ -0,0 +1,21 @@ + + + + + + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/color/abs__primary_text_holo_dark.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/color/abs__primary_text_holo_dark.xml new file mode 100644 index 000000000..2bcfd0b63 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/color/abs__primary_text_holo_dark.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/color/abs__primary_text_holo_light.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/color/abs__primary_text_holo_light.xml new file mode 100644 index 000000000..198384fed --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/color/abs__primary_text_holo_light.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ab_bottom_solid_dark_holo.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ab_bottom_solid_dark_holo.9.png new file mode 100644 index 0000000000000000000000000000000000000000..769463b369a5185ba2d2fdf26abf058086ebcd08 GIT binary patch literal 144 zcmeAS@N?(olHy`uVBq!ia0vp^Y9P$P1|(P5zFY^S!aZFaLn02py|Iz^fCC51!MDwC ze!c%VXGhEQ)_dJsezHtpNMD|7Dac@a*_ZJyulFV2w{5C|YCbaz5)ZX-3ak0tIJ#lm tp_aeGY*)k&iW*FhzahTiJD1r}=BlLiI{(TJ=>e@^@O1TaS?83{1OUpzopr0A6)2vH$=8 literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ab_bottom_solid_light_holo.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ab_bottom_solid_light_holo.9.png new file mode 100644 index 0000000000000000000000000000000000000000..73050476e77aa798919b829a5566973e231f9d49 GIT binary patch literal 144 zcmeAS@N?(olHy`uVBq!ia0vp^Y9P$P1|(P5zFY^S!aZFaLn02py|Iz^fCC51!MFRR zxpqaJ>-4UOe6iPKwm$=BLD{Wo!i)yScSSDT-Jo*!N?wFe;-MB!VKtu_20%tEPqwzt q4f{lgTEQ5`;-9UxjMeKCf^DQ_uhd?;-Btm#g2B_(&t;ucLK6V6dokDm literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ab_bottom_transparent_dark_holo.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ab_bottom_transparent_dark_holo.9.png new file mode 100644 index 0000000000000000000000000000000000000000..712a551ece87b2544433ac982382a087e7f1731d GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^Y9P$P1|(P5zFY^S{5)M8Ln02py}Xf^L4oIp!}}xu zHrx6hVG;aws8xB@i!KMDZA_cCWy>wsRQS4KRST!En$HY_#6vK~{lt8cLjun}a%VT6 c)z9eScC>M27UGHi05qAw)78&qol`;+0QSr+Bme*a literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ab_bottom_transparent_light_holo.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ab_bottom_transparent_light_holo.9.png new file mode 100644 index 0000000000000000000000000000000000000000..bf3b9438b16543294498ba27e51d4e878c8ead5a GIT binary patch literal 134 zcmeAS@N?(olHy`uVBq!ia0vp^Y9P$P1|(P5zFY^Sd_7$pLn02py}Xh4fCCS+;oB*H z(}QQZt5vXQMa=PTZk@YrXXvE3+ofW5$)(cU#3WF_jrSY!c@8l>`*HAE!gKCvr?`99 W=bm|#aNiDSFoUP7pUXO@geCw#94y)Z literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ab_share_pack_holo_dark.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ab_share_pack_holo_dark.9.png new file mode 100644 index 0000000000000000000000000000000000000000..81b87b86c959a98c478177270c979763831ebf66 GIT binary patch literal 2863 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 N002ovPDHLkV1kHdRS^IH literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ab_share_pack_holo_light.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ab_share_pack_holo_light.9.png new file mode 100644 index 0000000000000000000000000000000000000000..8fc83e22efde5509c563c97a836d869d05ff5dc6 GIT binary patch literal 2859 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 JPDHLkV1neRPs;!R literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ab_solid_dark_holo.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ab_solid_dark_holo.9.png new file mode 100644 index 0000000000000000000000000000000000000000..cbbaec588ec98bbc8a518a9ab5a9c469482341ba GIT binary patch literal 146 zcmeAS@N?(olHy`uVBq!ia0vp^Y9P$P1|(P5zFY^SB0XIkLn02py}Xe3KmgB?fcJu8 z^Zp*+-L#E6MBZg;W9F9wttxZ4PHc?!oG~+pYe(tbxxSpjYCbaz5)ZY&8G8*Bq7ylO npZ&2~Yqrog$!|3Wm+fFU5UE)t_U_Fapd}2Ru6{1-oD!M-^V;Vpy{TG>rs2jRbt|WpWjh#Ji#?9Gi^wblTEgJz>gTe~DWM4fZg4bX literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ab_stacked_transparent_dark_holo.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ab_stacked_transparent_dark_holo.9.png new file mode 100644 index 0000000000000000000000000000000000000000..1e39572224b24a81ed4d73923280ba2724dbaf6e GIT binary patch literal 139 zcmeAS@N?(olHy`uVBq!ia0vp^Y9P$P1|(P5zFY^Sf;?RuLn02py|Iy(L4oIp!})_Q zZ}wlfoYKNk`|wbZR*CB+2cd0Do4#G+S+1#YsD)El&1Z%|BAjt`!_S2)TNKYc{m-!5 f_v_(jT(cfAPEEXE)c4^Y$T|j3S3j3^P6 literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ab_stacked_transparent_light_holo.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ab_stacked_transparent_light_holo.9.png new file mode 100644 index 0000000000000000000000000000000000000000..a16db853e94af78c0739d9b89b578e2a8021c856 GIT binary patch literal 133 zcmeAS@N?(olHy`uVBq!ia0vp^Y9P$P1|(P5zFY^Sd^}woLn02py|j?`fP(zopr08IHUH2?qr literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ab_transparent_dark_holo.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ab_transparent_dark_holo.9.png new file mode 100644 index 0000000000000000000000000000000000000000..0eff695d82911a73874d871f3a7b23b71dd8ab44 GIT binary patch literal 155 zcmeAS@N?(olHy`uVBq!ia0vp^Y9P$P1|(P5zFY^Sl001;Ln02py?l}LfC5j;!{`N< zEvnsL$t-6rWU%$psDGg1|4DLDj`q~RzPqNgR|nl=*Rt6dx_ol~p-I||JQ4;82O1ce y*`SQyBHQ|!3>bf({j~je;Zla%ZD->HG+$+yO5M3zoXrBXjlt8^&t;ucLK6T4R5w)s literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ab_transparent_light_holo.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ab_transparent_light_holo.9.png new file mode 100644 index 0000000000000000000000000000000000000000..219b170fa67aa2ef8e0b11ebff90c1629ba7e97a GIT binary patch literal 145 zcmeAS@N?(olHy`uVBq!ia0vp^Y9P$P1|(P5zFY^SB0OCjLn02py?l|AL4l*?;q8?- zrB_<6lUu~-<@8GYocm9fskyGHQx2!G9uAwU_k&&MlS%_4GaHYDLBatTBRp}nY76HL mkjg^D5fnx&0glSHJj>3%>1Jqp^q#PeS;bnL@oAJ;NJ=s*Cb_P#ZKbLh* G2~7YBfgFPX literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__btn_cab_done_pressed_holo_dark.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__btn_cab_done_pressed_holo_dark.9.png new file mode 100644 index 0000000000000000000000000000000000000000..66adffed632f0f6267afe6dc2f518adb6a83ca4a GIT binary patch literal 110 zcmeAS@N?(olHy`uVBq!ia0vp^EI_Qo!3HFq_#{<Lb literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__cab_background_bottom_holo_dark.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__cab_background_bottom_holo_dark.9.png new file mode 100644 index 0000000000000000000000000000000000000000..1d836f65a1fffea301e9cf36770b21b48b3b8132 GIT binary patch literal 149 zcmeAS@N?(olHy`uVBq!ia0vp^Y9P$P1|(P5zFY^SVmw_OLn02py|R(B!9jra;>r_8 z?%b*io|Yn;UGT9};ZTu}!9}%xc^%IgtXD4oJ@0X-F7B%4f|j+c$=0hv54CU#tNF|@ sNQ5wMgi8eI0r?xYZ}@0_Yf6jsMX$B_pXOhT0oudh>FVdQ&MBb@0DzD;x&QzG literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__cab_background_bottom_holo_light.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__cab_background_bottom_holo_light.9.png new file mode 100644 index 0000000000000000000000000000000000000000..5818666d4e64b93da73bc3d6dc2764bcb500359c GIT binary patch literal 145 zcmeAS@N?(olHy`uVBq!ia0vp^Y9P$P1|(P5zFY^SB0OCjLn02py|R(>fCCT9!M7)Q zv literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__cab_background_top_holo_dark.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__cab_background_top_holo_dark.9.png new file mode 100644 index 0000000000000000000000000000000000000000..564fb34b4308750b6922f320e9e114b080ecd538 GIT binary patch literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^Y9P$P1|(P5zFY^SqC8z3Ln02py}XdO!9jra;!2L@ z<=I|~`ucZlc5hPnsi>TGwM)Is^N?0TPy5{UQpwgqqAoKG5)ZX-3ak0R7;B{1mWZ}( p*lxaUe)ue*Z}vC-G%ee~_}P|!&DqTD7lF1gc)I$ztaD0e0st(KG%NrB literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__cab_background_top_holo_light.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__cab_background_top_holo_light.9.png new file mode 100644 index 0000000000000000000000000000000000000000..ae21b760fb1ebecac3389164251b0fa14f580f5a GIT binary patch literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^Y9P$P1|(P5zFY^SqC8z3Ln02py>gKAfB^?4dC zy{Qwe+I<(;Zrk3}qFy7o$Hqotreyxi(D>i`gF-*@tj&^T;Xws!Omj@dZ?l#4Y_?*} ivA^-x{8q}NM@;fbHo20HF^oW47(8A5T-G@yGywny6)bE3 literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__dialog_full_holo_dark.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__dialog_full_holo_dark.9.png new file mode 100644 index 0000000000000000000000000000000000000000..79e56f522b2837bd9f579b28f037ad5eafaaee8e GIT binary patch literal 1414 zcmV;11$p|3P)cSnqT^=WQ7*OFqW%ysfqGq3fLYCng$eebY1E zq0h)!qMt>^T{!1KLrdv5=!(bMwnfb7mMF4BgVA@!3k##^X|etG%o8VLfn)&kp1$5* zAHx|3EF9@?)w)=}!OothSF(h}LSVs2n}u~V8rR2gA&m?6GFm9LT5i!5ovh2$`aOLf zDMwpCv(UIN+s(qhT71rU;E=VYR%2(wIy9)U9BqNMU?EvKj~0!zxmxOREjkZzh+iq_n}2*GaEP(@ILD!5 zWBguqUH^M`clY;tz5a@wsI&tR0g7j89WEv$&WS`s3jmAj>+65+@9$R+4-crSDsl+t zoXD~ai^by4tE;Qe>-G9CHN@f2j4rXz#$jzQA^^+B$H$Mix3`1-5a+ZsO@p#5Q53}= z0G4QnFC7vyL_!;@%<@Jv>_k)mSUx>Hz18n=PE3d}%kYsC@*I)N0NNv^lI%s;wg9j! z%knLLgEIoQ+bysY63^&#(^_eOc(NT6QxTdoZI(#S<~ro`ne!tS(gH7T&zUX-UZRk7 zy|5!F77`FowzZg?X(M)KAw}<4SRP51e8qZ>m)V;$Z3?tS#CiaZ^hhEi?U_=yRh(%c zcGk9kwMUBGYjYt@pHyCSltyExNUHHFevMy@-l#r~QEjQ;(4?Q~r4samHh{FF{bU7StYxgeBAZQ`6E7N`VLYGS_ z;oj>aHT`D+d1$*FJhVBd!G+`uf(ywR1Q(Js2reXN5G)~C&xiARXWFDHmGF81Z6U>K z;#g%)oXa8RP+ENtZO$MZBP0)Pm&4Jv?h_KbHF>VdnKo?a-t;CVB(9^gh389`0#_~3 z>r7%ovdX{d8amFjk%uF>Vp~*9sp-GKg_vAO(?{&AZLdjA|Mdo3?oA8H>)1>mc|==# zB~EQxV&cD40$n%8&w#s-rjOWJ+ddiIQXYxR!^y#)tE&3)24CJ80l~J_MCXPu>Ml3AI+9BHcJ4%0r(Kw z@2dYHj4#nGKH!fqjRVUuh**Aw_CvMrs{b>Lm!YwzO4di>6N@*}Phg5Tw&B1fy2S@v zNaMh=r`Sx3>1SxA8q+hl==5I;NtblfC(XkF^KkH7ZKuDGcq0~@mC!ryi=K7WXgde? zOwz>rq{P&!A!(hIr~D!&pe-W#G7`?LQYh|`P7hzs(O!weT#2|xih3m$l64(P7wFd8 z$(YnkvI-Blh{l8EAha{kf+|%%mTX6hk;YCcRo{6`6g>|oKBz>Tb24JLyVyI4p!izS z!8wv9b%$RIiIZ@y?B&nGjRPyvaF~-xlb-U|=!P~^8?n&FNw@wIvQA!p;xDy1AK0dR zu~CaAl^btMM>A?9->NQ&|AnVmzdt!!WF>xutSl`;$84s2a_=ari#ecl- zo|KSyJXTD=1$2JI1Ql!6el7Y8-dCZ-i%gs^mMBu<;eLzP8a;YIXA&Hxi>7JtAFa#2 UvCQ(L;{X5v07*qoM6N<$g1g$KMgRZ+ literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__dialog_full_holo_light.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__dialog_full_holo_light.9.png new file mode 100644 index 0000000000000000000000000000000000000000..e029f210b9a81ed4765d31e90b6e49dc8aa37bed GIT binary patch literal 1537 zcmV+c2LAbpP)P*hY@RCILOyI+)4*Y%ioMH6eaT8-v42qXrI z0|4iGEk=d4Xm52^#H?WUz%bBygG}I|;L!cJM*+u%I9T*&&%x@0sx#0Qk0mTmeRX1h$MIxNMY&% zsz{Hz01C^N@8p~dFgXbIRub%{CUOKKzAQ3rfl0r3M&j^DZL~BnC0R+zNTfH*0>l>% z6xe!^4oO*vg0sbY%(i4Znw@-;nUbs&1zN~PIe02zy)Qcz&8uA?+OU=`?e2Zs5}uJN0M*6C#a{)YX?>^k&iO8v%U{pV&i+9YXUL@sAe1fQs10%V6ikBo z^7Qod_s{$xhgN}Tci-i5`3pX{;N4;1Au(Bm7x@)z#1I9LmdL~RrF4uC5rsHs>tE+w zbjvJ)LKv+{MYbuBrU=TBLj=6Xm=@t7;baF+QjNr0K02$09MPPz_Q^dZ5CLh8#Oov4 z0!TsP8|Jz<^->fRi@r;w5OrSCkw6L?N(J|#V;?nA78HxV{Q97DD=gWeOHxKs4U)p3 zSoD>;waz;geHn?ahed6Tq%7rduPgn zV$nDE$&ajtWS5-`4=n>hvFJNE&bxxNGnt2!k)T-g9UO0!_0BFb6cm%bLuC>qYeBK* zyN@VHxuTkNE#cFa@PaJz!! z*)p0eo;YjAyoc}Lcn`@)ql2XA#Le!l%y)3C`#|D`qk*LC#Leoh&{v9irz@IDt(4j|E-ey3YJCdAoj z17Q35`nvale)TKB+I=4%AAxk%w!OMGAf++t+Mb@Cemp-vW4j&J%V|A%#TR&cd&9%S z1Mctdf1tZ-6W>Id5JKwGXhvG!+}wOSKR^Gos;Zyq!S}5X*>+05G4|7V9G{hQ?!VjH z+iw8YkTX)YMrymYx~{`?w$U_yh$q-O1#m*zu<(hQDx}lJ70s)V5Io{ZN7v2rMwVC7 zhTm_2@1*&pTK&uP8_~o&lye*5+om^+1{h zqafFH?O0X{OUO1M^YAPb=F`bd6<0LB=s!LE=ilN39Gach?DYt$CL6UhXTc;$2zpT2dqqQrIZWT*_yH->_|IcgE|Y&S_AJ4lX{3 zlIkT6RWeyS^JtZ1q^3@yK=Cm?J&*-y*C;dpYgTSF&bztX%>V7a(kL+ra#JUT-|=or zs-McUNbE?uO3e#!@v#wf-Fu%ryG^`~69lNs`%MmnTRbrM$471B$+eE{K4hK$mCQ9h-Z$E`tJc<=E)8`p?U8s&`700000NkvXXu0mjfb2aWW literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ic_ab_back_holo_dark.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ic_ab_back_holo_dark.png new file mode 100644 index 0000000000000000000000000000000000000000..897a1c11a06923f0ee630a3ec44b40118c1fa4d3 GIT binary patch literal 602 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM0wlfaz7_*1rX+877l!}s{b%+Ad7K3vkswhI zFm^kcZ3hx8D{xE)(qO#|6+TOsF)%PDdAc};Se)*?;+-wxD8l++z18QgepiI9o*=R4AA9|r|3}>uTm;M6YILUxmVi!uBjgaN)~;(wEWpmNk!cW z(d%Z<{E>P~YK!lT=8FgRsYuTJwQ$0$u+I~@?rdLb^6_f+5jpHV#tRQqPS1ijb30F2_W#pYUFO#_XV=?h zOHP?#2^DqDa literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ic_ab_back_holo_light.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ic_ab_back_holo_light.png new file mode 100644 index 0000000000000000000000000000000000000000..0c89f71407e8d51f92ff6a10b1ae40ec902aa04e GIT binary patch literal 546 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM0wlfaz7_*1rX+877l!}s{b%+Ad7K3vkswhI zFm^kcZ3hx8D{xE)(qO#|6+TOsF)%P{dAc};Se%}E<)W9gqsXz3_j5LNPFu1pO1DK} z+N#=yeg8w_ofMzAMJao1SUGXl-8U7Joy@GYEX@zknfd?wSxaLcYqyHhr&soQ-EO{p zw!~UfNcQJK)l+|B(yvWaZRmKvsC8=g<+E=!6%t;!XnxPxBUZuOVKlwt*0FipR-Y02 zmCh$xWIQ?dubRMH%k4r1TjlOEFztJ(`Lu4f+1J+&0<|T}CPeP?x_?Pcpm5>hNwa5M zzkQR1sjpY$)<2WmGuJ)*zvffcmaNUK`~10Vr~dw8eVc_z%*|+OqxE^sCGQ0OTrOO6 z<>J@Zf0Ym33CMeTp!xW+<7NU=B(%1ExnpuV-^$?oQTEn-hjMN&=46?A$U{|X$JUzr zjr;q)=$3Bvc`c`@@Ze;4?7{TSRWGgUnXHd<-`o)9JVUa&78r!8C9V-ADTyViR>?)F zK#IZ0z|c_Fz+BhBFvQT<%Fw{d$P~!6GB7Z{-*6d4LvDUbW?Cg~4NgrK`9KYlARB`7 r(@M${i&7aJQ}UBi6+Ckj(^G>|6H_V+Po~-c6)||a`njxgN@xNAF&x-_ literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ic_cab_done_holo_dark.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ic_cab_done_holo_dark.png new file mode 100644 index 0000000000000000000000000000000000000000..d8662e3f0fdae62cdee68c184a30fa9e421dc338 GIT binary patch literal 713 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA0wn)(8}a}trX+877l!}s{b%+Ad7K3vk;OpT z1B~5HX4`=T%L*LRfizez!?|}o;S3Cn7d>4ZLn02pop#z!+EApeUwz>goe2TrwSq2J zirU3kvaXhOUTIG}?do{Paly7dd_m%&JI?q_-onB2%KO8{j^-Q>wzNlYp6R5&dH;Rm z|KbvtPbZZ7*R_9QUBqkhp({MdL+G`PeiKVkcC&4Y!{nAd6Z!S-oqj3U!mzMkIqyf? zf)_G(nEp@p{`aZ-I!9g5h7aq1927O&FPT&GvG@NuQA5$TGve!iOqW^IxiY{>!{pzO z!{3V<)Sk6$zkBfg;!caFvF0E2Z#WAV9{aHQL)vPusEmizHw=GVH2J}B^#kKc_ZNxM zzDF#RGe0;TaIo&I-m~b0*sP8To$2@Yde+QKc8kg_`XHU5q@;HFk@ug+O{X5aZ~nk~ zjknIKwfM~0Z^b864VUMM@zwGAdYt)v<(Nz4IlImB@8#qJ%zn(A@Z29bd}4MpKn$sTM506307QmPCTFYr(@#O zpZ-(V%YE!?30QE(DXivDMdI0PFM+AKOT1>hnX-6tX;O6(d#2d)iSBZ_kN7m7WzTRr zzEA`h)2bz|5hW>!C8<`)MX5lF!N|bSP}jgh*T6i)(9Fuf$jaCl$hI;t2>JhQGm3`X z{FKbJN)!#IR;K1a1kqq?mJtlpAPKS|I6tkVJh3R1!7(L2DOJHUH!(dmC^a#qvhZZ8 Q4Nwt-r>mdKI;Vst0K3d3fB*mh literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ic_cab_done_holo_light.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ic_cab_done_holo_light.png new file mode 100644 index 0000000000000000000000000000000000000000..ed03f620f8ef9e969d0471ab76329038e25c9f0d GIT binary patch literal 737 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA0wn)(8}a}trX+877l!}s{b%+Ad7K3vk;OpT z1B~5HX4`=T%L*LRfizez!?|}o;S3CnFFjoxLn02py%z6(IY8q0$M=`{k_{&Q=;t<2 zt8!*r>&D`|W2$+>pS=eAb}M##+^cbdA4dCLPr0$oL~Mm8Bn#4$+9@L$(#*Pp%fW0&@t4F~+Q4$6OeIrG`|nG22@uVa-C zJ=H0n)NABBE9V2ZrDh$}Ob?>#U7^{{%b z^;_|*S@)*|RLscvyw85$_Y2}8p?L-UY)vO;|NFUQJ(sNEA?BESpVrme#d7mboB7l} z-Tl+e|M{(6F|!lpnSU$jtXi?CXvKcs<;$n_y<4FKOaZDTt`Q|Ei6yC4$wjF^iowXh z&`{UFLf61N#L&#jz{twj7|6CVFbMhoZ8M67-29Zxv`Q2WrdForKm^fXYnBlV)F276 tAviy+q&%@GmBBG3KPgqgGdD3kH7GSPrLyp3str&PgQu&X%Q~loCIB{EJ2wCT literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ic_clear_disabled.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ic_clear_disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..d97c342d53690e6d286efbe5f37562747a49b96d GIT binary patch literal 1774 zcmVU8P*7-ZbZ>KLZ*U+lnSp_Ufq@}0xwybFAi#%#fq@|}KQEO56)-X|e7nZL z$iTqBa9P*U#mSX{G{Bl%P*lRez;J+pfx##xwK$o9f#C}S14DXwNkIt%17i#W1A|CX zc0maP17iUL1A|C*NRTrF17iyV0~1e4YDEbH0|SF|enDkXW_m`6f}y3QrGjHhep0GJ zaAk2xYHqQDXI^rCQ9*uDVo7QW0|Nup4h9AW240u^5(W3f%sd4n162kpgNVo|1qcff zJ_s=cNG>fZg9jx8g8+j9g8_pBLjXe}Lp{R+hNBE`7{wV~7)u#fFy3PlV+vxLz;uCG zm^qSpA@ds+OO_6nTdaDlt*rOhEZL^9ePa)2-_4=K(Z%tFGm-NGmm}8}ZcXk5JW@PU zd4+f<@d@)yL(o<5icqT158+-B6_LH7;i6x}CW#w~Uy-Pgl#@Irl`kzV zeL|*8R$ca%T%Wv){2zs_iiJvgN^h0dsuZZ2sQy$tsNSU!s;Q*;LF<6_B%M@UD?LHI zSNcZ`78uqV#TeU~$eS{ozBIdFzSClfs*^S+dw;4dus<{M;#|MXC)T}S9v!D zcV!QCPhBq)ZyO(X-(bH4|NMaZz==UigLj2o41F2S6d@OB6%`R(5i>J(Puzn9wnW{e zu;hl6HK{k#IWjCVGqdJqU(99Cv(K+6*i`tgSi2;vbXD1#3jNBGs$DgVwO(~o>mN4i zHPtkqZIx>)Y(Ls5-Br|mx>vQYvH$Kwn@O`L|D75??eGkZnfg$5<;Xeg_o%+-I&+-3%01W^SH2RkDT>t<8AY({UO#lFTB>(_`g8%^e z{{R4h=>PzAFaQARU;qF*m;eA5Z<1fdMgRZyw(kRs!-6#o(LP%Wr3O<1=S3ZFo9z$bj(u70=3}tI#6DWj&F;Ob99q4>t z7t_JEGi|0s7bcyiT{LI@zd7fguOSTo_Tn%A3;+W_$om&@e+U59{C2xK>{t*000Isi zc-XLE_dt-QB?k*OY(G1$>uu7@#B2;ALf{;yd>Fer3 zxz>Q~gZLw#9*+Wwy1biLp*!&n>VXAqU0c|%HDJZ1jZ6!oDKES7+VWmrg9gjr1HUt9 z$&h=(yP22-u6mx^E9uZ+0pKCX;bJ-&1r%+uT+pDpXT$;nS`cq%Mnv${vs}4kKnFnO zP;ojL1*vOGZSwsAS`q0H5q$MLS1wr~GAT|cBOrBcX}?{*UqB~HsT)hjem%$S zQCYe=d4(eMUA?{!rJtE>6>2uC>s{nMUVQiovq!7(tSuZUVsBCpu612n+{HyeG&{C3 zg%Qx;Ym2+tg`4}D-D9)knmeH3*ac5hx88#8rcKL0fWiC005AajcYxmm08)I=nXx}} QjQ{`u07*qoM6N<$g6k0wDF6Tf literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ic_clear_normal.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ic_clear_normal.png new file mode 100644 index 0000000000000000000000000000000000000000..33ad8d4b891b14d934e470b2222571ea859c77a6 GIT binary patch literal 1945 zcmV;K2WI$*P)U8P*7-ZbZ>KLZ*U+lnSp_Ufq@}0xwybFAi#%#fq@|}KQEO56)-X|e7nZL z$iTqBa9P*U#mSX{G{Bl%P*lRez;J+pfx##xwK$o9f#C}S14DXwNkIt%17i#W1A|CX zc0maP17iUL1A|C*NRTrF17iyV0~1e4YDEbH0|SF|enDkXW_m`6f}y3QrGjHhep0GJ zaAk2xYHqQDXI^rCQ9*uDVo7QW0|Nup4h9AW240u^5(W3f%sd4n162kpgNVo|1qcff zJ_s=cNG>fZg9jx8g8+j9g8_pBLjXe}Lp{R+hNBE`7{wV~7)u#fFy3PlV+vxLz;uCG zm^qSpA@ds+OO_6nTdaDlt*rOhEZL^9ePa)2-_4=K(Z%tFGm-NGmm}8}ZcXk5JW@PU zd4+f<@d@)yL(o<5icqT158+-B6_LH7;i6x}CW#w~Uy-Pgl#@Irl`kzV zeL|*8R$ca%T%Wv){2zs_iiJvgN^h0dsuZZ2sQy$tsNSU!s;Q*;LF<6_B%M@UD?LHI zSNcZ`78uqV#TeU~$eS{ozBIdFzSClfs*^S+dw;4dus<{M;#|MXC)T}S9v!D zcV!QCPhBq)ZyO(X-(bH4|NMaZz==UigLj2o41F2S6d@OB6%`R(5i>J(Puzn9wnW{e zu;hl6HK{k#IWjCVGqdJqU(99Cv(K+6*i`tgSi2;vbXD1#3jNBGs$DgVwO(~o>mN4i zHPtkqZIx>)Y(Ls5-Br|mx>vQYvH$Kwn@O`L|D75??eGkZnfg$5<;Xeg_o%+-I&+-3%01W^SH2RkDT>t<8AY({UO#lFTB>(_`g8%^e z{{R4h=>PzAFaQARU;qF*m;eA5Z<1fdMgRZ<`$>NYxmjX{xd; z@m&{rFo*<6ia-&%?9S}Yj1NoMU6_?!qi=gB^D?>lzI)G{bI*)0`G1E*K~NAB1j^1w z0>tKJZeH2PwwY!w0t6BY3JN+p33SuQLYI(HkdcX#K*!j*7|BwgVB_Kabv%L#JBpC9 z;EQnJ<+1&B?8Szh`#X@?^XlV2b_Y-K5FTsACcc7-srF!J%cFRa5f;nX88so}^!n$z zoaNXjzHYk7GONT$qz7ti^`5C0{0Fct&sMz04AGszwAz7*v3&RHh^`S091pfpv3(b5 z_*4F8KwG3jHT04 zL)Y{;8%;+;M^cIuK77Jo4_dVE!}GH&5hG!l3Z``(DA*|D!7J6TwaW^Q$!{BPvBY1f zfE_QM@bQ{@gcj@j`1~x3tfQh^)q%AjL($PLWE_*Djkj1Kg2074d~6f{Nje^K7u;94 zsJv3$@rsafhDHP55kG-dHIPmFAA9=;s{MWcddV( zJFI2mtpvLr*Csj|Q8r$mAN(8x6+<_AKkZ*4LX3DO{@?b4Jsi2Lc%zUffeHejlb9+rq0PNT9OD z;u|vq-{=}^jSayj%5h_}ZkgGdzKgPOi{A&T+VkZWUN=qCxUcB??b4_oXFbpmY{r8l zAAy7`+*;!URqf8e1DIx-VoXo49%u+2!egDT);TPBON$juHQN2v;6f%oLvg2T=HjTH zV68;SR?~`g%UoVKaQk-bqv^ppmWX8HlM0b+kmj2@1ok$Lvua%nR#_xaD8_}Gdqhyt zw&OGA*(k-%DiJgiJLg#o1Tr!L6T|w0FfHFCBm_osWr=J^mg5%t6~${t-Jw00000NkvXXu0mjfxs7-r literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ic_clear_search_api_disabled_holo_light.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ic_clear_search_api_disabled_holo_light.png new file mode 100644 index 0000000000000000000000000000000000000000..3edbd740858acce452a65675b594d87cd85c4cde GIT binary patch literal 1504 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%xRe+5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8nflaTYtD^x(vzwcwbv89=@ zo12R>knQRQ)9aa6T#}fVoC>oy6KF3~uNhvwR?bDKi6!|(A^G_^uoMuGkzbNuoRMFk z;2dnK;G3A7nFr#7q6gwzm(-%nveXo}qWoM1aQIqfVzJ-F(A>z`+0Dqw5#euVHw$9} zR|{85phuLTdQ->=Gku_A^g)RODY3wWfGH5fgeQF<2cCIS^ME;~2$(fE*e!Y)7?=b+ zT^vIyZoLURops1T#P^YM)`G6?uC=+kf7_B4{*@J9^x)duU6<$Tu^imLQtVB+#DuWI zKp&sr#e2ikRF+h_7hGg6C3|* z?e*8ufgcND|MEKid{9C;-~RZ9Bc^sP~EP3ND_zG5Dxwk6j&$wE~4;Qc*`ssan{ zzn`9=dZ&RsirvSfCP;`whUHEmQ}f9$MSB`#rfaa*Eq?H{s4_-JY+eJUGP9%1oq zJCJw4f2WB2si`MZ$~H#$*nP`3S@opI(pSE?i0N0@>$2Vb7oL|#u)gB_!dQ1$La5q` zDeOVQ4#QJ|EiB?JGJhRxA5Ld^&RpYp@TAicHpRs4(vR3C88QC9{5(weR))#4lPN-s z1=7=NbKU$Nr0Hgbao(RTxaH2IZ#(aDrMoH3_0umA{h;I6BI6;^&o0#XM(`ImzsjuT zTnrQ3)U=jJbp=fS?83{ F1OTcH9Pt1E literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ic_clear_search_api_holo_light.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ic_clear_search_api_holo_light.png new file mode 100644 index 0000000000000000000000000000000000000000..90db01b5bcf1246d6a94e83930cac63c93a6cf83 GIT binary patch literal 1540 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 literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ic_menu_moreoverflow_normal_holo_dark.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ic_menu_moreoverflow_normal_holo_dark.png new file mode 100644 index 0000000000000000000000000000000000000000..2abc45809c62513224e9d695542cb8dd8e8087b9 GIT binary patch literal 144 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezt=sPZ!6KjC*gdALL|E;9+*q=6m<7 zlueVX_4IZHnJ0qE#_rG0T(kiyWMEjjhCTn?qu5pu`=4q}27?c$C=-xvpo(CHaDZeV Zn6Yoz!5==w*?y}vd$@?2>|OKBsl;8 literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ic_menu_moreoverflow_normal_holo_light.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ic_menu_moreoverflow_normal_holo_light.png new file mode 100644 index 0000000000000000000000000000000000000000..bb6aef1d069a14a7fc1cea9780c919c61679e4fa GIT binary patch literal 148 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpUtXipc%kc@k8uWjUIP~c#3xZ62X z=G4p^oaPsfxfS0Jish)R3f(&WG9yqa14Evg(y_dGGlfCy2iXqR3?>_SEs{VyhV?DH iJ0OaDc|iOR772{!kNsXaOPT8&i0|p@=d#Wzp$Py$I4IEo literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ic_menu_share_holo_dark.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ic_menu_share_holo_dark.png new file mode 100644 index 0000000000000000000000000000000000000000..6f747c8f065940a8844587c682fb3c9443ad1ca2 GIT binary patch literal 467 zcmV;^0WAKBP)SO)@i{}u0qYYqHziBfu2L*;{L?D;GxhmUqDjP ziMkTn=nm+BxmDP>FsP2fGnnz3AAnfGAiD%ptMDlguG*u-2|uL;kN%Xenfoz6Wm9neQuJ_f08buH`WL4SA>8mzG9{4uwy+$BT^9a|eO3@D0j4;gS>^u3i8D002ov JPDHLkV1mHE(I@}_ literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ic_menu_share_holo_light.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ic_menu_share_holo_light.png new file mode 100644 index 0000000000000000000000000000000000000000..682b2fdec4cdcffe042a0eaba5574fcb553c6fab GIT binary patch literal 505 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 AsQ>@~ literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ic_voice_search_api_holo_light.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__ic_voice_search_api_holo_light.png new file mode 100644 index 0000000000000000000000000000000000000000..3481c982862cd524654e200187445a774446567f GIT binary patch literal 1833 zcmbVNX;2eq7~YUb1P`!K89?kB6p2E1Hz5g$1PR%s1`Ngo6*2bY*3mT(eCwGjDt30z@ADk&)ul!ycbSpXq2nas~26ecnniH=emg*g*#j@Uj16nB_N zi=DC%Hqg(A)tr+Y(ebG%LzlQPJO*&###LsqLlu9w;l%7DLh{2@p8E^+tOq!T_lW zAkrjQDugA;2orvi3RR;rF{(mPu~6K{@h+@VEmI|-Ny!?GN`oM%Mu|v7GKol|K~;>b z*7RYuHV1{-On9GN3uBkTDuptM`n_1Wio`LBAhQXgsILR`g#<-73JE)?GKxVRX0q7) zdw+ReMT_F3WiD>kkc1U{nP0i(9rjT~DpaX7!gS@^xK)~D5v)#TJVPYB*I4ua$r;2r z1NocdKh4s2#B`uveAD{O=FRZnHfCZ-W;Dvr_J%MMH(iS=vz?dnp7r*Q|0OM8=!_4l zs;ZL3zhAiUWdL6Q-YyURf{oFuq)uPWZD82qEi67Cysi1BvmZvMgw)Irq>e&MQ~pM`Lu=nbBxwasjL&Tsbadl%z!58�PUR2s z;--Gn6L-Y44d%`7eX(hACTrQSaf!p)CX^44OWKiL4CvZ6umi8K5;zZ2#*ykw_khy5-2;-x4w&2R z09{9x#xx})BvjJ}TI2cLeM%Juon}o2C0ni%oPP$#W_j{v7Fn&)Y4-+12-XAz2ixMp zdk-dG3-j7Z^7|(bZX9v*jq7?`Wn~?YeZGM=J3B9(I(X1G#M{BXSmw#wPX}s^Mx$a& zd* zptYy_ughebWX6!_=*!|<*LPvVhwlqoZlfEYtjvv>6wjfX3p_g?JMFdJ!co__^o#We zw=b#O^i`T}%SWdnY zptrVi4hONM1>8N+Q_^*Hw7fWo0bv~uaDGTec^ju?7ft7iw};GWFmT;t zmqkFIFYh$^o^;LBh6ZkJNGZ)@ubCQlP9ArdMLX{p^!g2)d{G45wZD$82#Akx7wY?a zz21Agb)mdb(PM7iyy?!^d2(dCvbWL2&n$1d$2oqkM7b5PX3wkWY%R=ajlH#S8mQ3! ge6yDA3jkPwzzE(HQ|OAY)&8HCR-J`5r{^yG7imhbuK)l5 literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__list_activated_holo.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__list_activated_holo.9.png new file mode 100644 index 0000000000000000000000000000000000000000..4ea7afa00e2bfe057472ed5a196080fc80ad7383 GIT binary patch literal 154 zcmeAS@N?(olHy`uVBq!ia0vp^+#t-s1|(OmDOUqhEX7WqAsj$Z!;#Vf2?p zbb>IW`N`93fr2)kE{-7*QBRJJkl{&7FVVepxUS$Rt1LT2VAvn7lLLt0oo!v4%( tpjG6n=4tr&fORvYRP%q%M>EqU82;Q9of*be(FHVz!PC{xWt~$(699PnDoy|Z literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__list_divider_holo_dark.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__list_divider_holo_dark.9.png new file mode 100644 index 0000000000000000000000000000000000000000..986ab0b9746301f2dd9401829da09e00995621b3 GIT binary patch literal 78 zcmeAS@N?(olHy`uVBq!ia0vp^%plCc1|-8Yw(bW~qMj~}Asp9}6B-)+^BAxRtXRm= az`@Yw&#rLZUbzUUfWgz%&t;ucLK6T(%Mo}0 literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__list_divider_holo_light.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__list_divider_holo_light.9.png new file mode 100644 index 0000000000000000000000000000000000000000..0279e17a123f8cbb3c7e3a9ce5c5af8e693b6977 GIT binary patch literal 76 zcmeAS@N?(olHy`uVBq!ia0vp^%plCc1|-8Yw(bW~!k#XUAsp9}6B-)+^LX%RmN2q0 Ycy4A9FVZ~13zTN?boFyt=akR{01+Y(GXMYp literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__list_focused_holo.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__list_focused_holo.9.png new file mode 100644 index 0000000000000000000000000000000000000000..516f5c7399c853d112a31d1e17c8c7f17180f9bd GIT binary patch literal 159 zcmeAS@N?(olHy`uVBq!ia0vp^+#t-s1|(OmDOUqhEX7WqAsj$Z!;#Vf2?p zbb>IW`N`93fr5^nE{-7*QpO1)z4*}Q$iB}R!lH3 literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__list_longpressed_holo.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__list_longpressed_holo.9.png new file mode 100644 index 0000000000000000000000000000000000000000..4ea7afa00e2bfe057472ed5a196080fc80ad7383 GIT binary patch literal 154 zcmeAS@N?(olHy`uVBq!ia0vp^+#t-s1|(OmDOUqhEX7WqAsj$Z!;#Vf2?p zbb>IW`N`93fr2)kE{-7*QBRJJkl{&7FVVepxUS$Rt1LT2VAvn7lLLt0oo!v4%( tpjG6n=4tr&fORvYRP%q%M>EqU82;Q9of*be(FHVz!PC{xWt~$(699PnDoy|Z literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__list_pressed_holo_dark.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__list_pressed_holo_dark.9.png new file mode 100644 index 0000000000000000000000000000000000000000..5654cd69429fd0a3502a05b5f827bffab89cc7e0 GIT binary patch literal 159 zcmeAS@N?(olHy`uVBq!ia0vp^+#t-s1|(OmDOUqhEX7WqAsj$Z!;#Vf2?p zbb>IW`N`93fr5^nE{-7*QD_LZ%D`aoRl?HIGCc%n7=x#)pUXO@geCyJM=ZAh literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__list_pressed_holo_light.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__list_pressed_holo_light.9.png new file mode 100644 index 0000000000000000000000000000000000000000..5654cd69429fd0a3502a05b5f827bffab89cc7e0 GIT binary patch literal 159 zcmeAS@N?(olHy`uVBq!ia0vp^+#t-s1|(OmDOUqhEX7WqAsj$Z!;#Vf2?p zbb>IW`N`93fr5^nE{-7*QD_LZ%D`aoRl?HIGCc%n7=x#)pUXO@geCyJM=ZAh literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__list_selector_disabled_holo_dark.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__list_selector_disabled_holo_dark.9.png new file mode 100644 index 0000000000000000000000000000000000000000..f6fd30dcdc9c39c836e509486854f9da03486892 GIT binary patch literal 189 zcmeAS@N?(olHy`uVBq!ia0vp^;y~=k!3HF){@Qy1DVAa<&kznEsNqQI0P;BtJR*x3 z7`Qt@n9=;?>9s(?cuyC{kcif|*A4j^95`Gq9-KV8B6o6ra`I!Z80pW;7d5zZGhRBg zm{FnhT6Xzih3ZMUGkfBc^kAT_eS7{3zPQ8d#DAm9s(?cuyC{kcif|*Eb3_81S$-+V)J@yPBVWyvqG&GeYz~KYxJdw0eeyIoHJnOEfn# R{sUUY;OXk;vd$@?2>|r{LWckV literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__menu_dropdown_panel_holo_dark.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__menu_dropdown_panel_holo_dark.9.png new file mode 100644 index 0000000000000000000000000000000000000000..4d3d208578c61662986fdc16bd15c69759b48d6a GIT binary patch literal 922 zcmV;L17-Y)P)!ytdud6iMT7O&4bD*mP3eKws)UN7D2k#e z%DbYt@4NEYnkjlINEK7=*RV3zwml#Px9r!q%}Y$QM*NqHEZ-wscn^ zf4p9=Kg#ZZAKY%YZvc!aCbL}F6eGxtBSzy=smEUmc6C{?q1YCQrid~5o$!73+BeU$Ee{DI^Yo4#-o87 zao*xiE9Z<+s}ttlWw19HGlEA1nW09+*~|#}a;CkeJh%bU1g9CP5h0^O2}4Hs%y=Lc z5q!OY8j*^uk~rBBK?ljmh#jL84Ev;rDo>_H#K|6e%Mo=CgLzw$rI$Y4Z-kUy6U47Z zMI2w^tmuV~pH%tJq!^(yWY-hbFl2;G2g)+VPqud2Sicc+jL>MvBTKK;HbN#jlrS<8 zl+;FqdPULzJ~Kh_!?j8>!xs^*nQAm$#290~ue;BBnY1w&wMw4#m(pwEDZd_oY1{Ux z>$>N)H(eWD*FCpw`-IsDKF28-6~1bz!JGs-W6Z&R1n>#KR{&q8us99Q}8ID#(NJr3oa@N-D4Rc$qhA--bT2} z_Wpf@Z`4749}#V+fwWJz^oyZKO1~J&exY-1*Kg?D$hu!fixvAiNfpmG;mo&f5BSEA wlE;@gYed_N;JFm#Y)Zw{1W}kQU9GkF3xsHEK4Myn7XSbN07*qoM6N<$g18=|djJ3c literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__menu_dropdown_panel_holo_light.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__menu_dropdown_panel_holo_light.9.png new file mode 100644 index 0000000000000000000000000000000000000000..924a99d173082ba58ca7527822359f228bb14dec GIT binary patch literal 1061 zcmV+=1ls$FP)#d)-&;4-At916hopygyW1WQa|lkCWZ4-q&QLYwjy>%Jd>?UvK6*fy zdt!`Ep~K-gOUxeEG;B7TCA&L&Y`5FR`f3tF5S^VH!lJsKJqkfK0&PN7nPcRS?`4Ev z7V~vPKouy~L@5%v*=&-(hy0cgM*ETwjWz&8F3NVhH7#V4$3+kVgi2lPw-adOTXm|2 z;f`P0rx+seIw-H@dwPaOx@-q(hY$i2BS4u1XM~+%LI5%mN(D;0XOsl63U@~43e6EU z5mrW96C~;L2O}H%p$jmGc5)7LM&^oyAacV=14{s_wp`K^YIpyDFEM02mXk3OSEw-p zdORS~SGTvf|Cjl{`o#71_3u-2KzcK(ZU7La5JAil5&>9olp#5yVJhG_L?OnQ2x7(v zIfg2+Q2z$cZ7gkJK~)>%8)`3CJSNBlBGKwWz;6QnLDPCN+(q9 zAJ*09wM4d_hZLYxWa z2;mvCbu@F-B1H21)loz{?U-+?@nqk8kw`Vm31QkJFg_V%{OMfZr8mlq(-<|uJGVoHpVClAlh&-bsduQ(hI zi(GsU`1tt1hf_X{d`3<68b|S{tXYwd2YXzXl8Izg4y^21 zp<@H92ON{kB3P1HizBE$;EP~xzks74y{^`3Ur7(FmPO0@t2+WXW`VN|Gc9|AJ43ds z=_5ZJGT6$YN8bIa6HYZ^jFIn`&>W#9La9l$?6@3`ET&WsUkjFK0@?|yO)(6`*1l_s~_L1z$~& z@jZM)qqe)$B+Pe}79nG2sji9uR0#8Z){~%#a(p4yPG;@1CipK8G=YCTO^$u*mj`Me f=rGa5Ym5<}3Pv>t$oVA_00000NkvXXu0mjf+qu}} literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__progress_bg_holo_dark.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__progress_bg_holo_dark.9.png new file mode 100644 index 0000000000000000000000000000000000000000..310c368e7a68479307866c479d1e4eefcf5db311 GIT binary patch literal 178 zcmeAS@N?(olHy`uVBq!ia0vp^96&6^!3HF|1ZAax6icy_X9x!n)NrJ90QsB+9+AZi z4BVX{%xHe{^je@`h^LEVh{nXLlN`Ak3Qu?vqkba5WyT9CKZ;N%wBhP~?hKK2LK3q{Q@b8ror6q0>Kp=4vJYD@<);T3K0RYm>I5PkM literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__progress_bg_holo_light.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__progress_bg_holo_light.9.png new file mode 100644 index 0000000000000000000000000000000000000000..70cb7fc7e0bcfb850d4b365f1bccb5b743913e21 GIT binary patch literal 174 zcmeAS@N?(olHy`uVBq!ia0vp^96&6^!3HF|1ZAax6icy_X9x!n)NrJ90QsB+9+AZi z4BVX{%xHe{^je@`fTxRNh{nXLlN`Ak40u@7AASF0zb~yy)74d)-}Q|XM+&=H%L1l~ z70X`DZ5Q8J;=>T6aJiv_zhUdQx9rw$B!4Wi^!v;8!uD-LM?h!CZ3$B@rZO?tz^Iy& QK(iSCDOJO>Ym5d24oA2hD9A9kkZ#C-ocYxQulY$%dG^s1`jD zWrBMf{hI5z?Ps6d&cAMwxpu9tAQSLC;sV+l?CI!atlqGv_K~X}S&7D6#irA$G%zcr zGa^}SvXODrvrsWB#ZkB-c}-Y}>Q0!#L#9IQCX$ZI#7DnF9fJ8(R=8iR{NJvIR3GfdBS0fGXvSYugM@B@Fy~s_l`Jy)|ccqHxmVzApHz{x4N{y z#Xj0V$LH=@zsWY)$4Z)6--edG^VYGh&b$}$F3XeLt5=Uu0`p37@FaypB&t$KuAm9R zq*|yt7WOdr(m%g{dU1bs0-qy(nh~3JDc<<|K^(;cR4G!8UrKd|p;N zi5zZftW#Kk#vM}fdS+hLQ#;Dq?H?_`8P1nhqmR=j>Au${MMR)hh&5HCA z?cjx6pHV1ZFFx`ra1m|YMALE$u3RAxZp(6Eus@DJwzn!G7Cw2Mm%K&AN5Ia`DuuPd r`dvHM#yxB2nYDo;0!e2cs)*3P7gB8$K+RT%00000NkvXXu0mjfr&_ZI literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__progress_primary_holo_light.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__progress_primary_holo_light.9.png new file mode 100644 index 0000000000000000000000000000000000000000..1c269205e874bc6addc308efe5be4fb7c5da0edc GIT binary patch literal 917 zcmV;G18V$CDOJO>Ym5d24oA2hD9A9kkZ#C-ocYxQulY$%dG^s1`jD zWrBMf{hI5z?Ps6d&cAMwxpu9tAQSLC;sV+l?CI!atlqGv_K~X}S&7D6#irA$G%zcr zGa^}SvXODrvrsWB#ZkB-c}-Y}>Q0!#L#9IQCX$ZI#7DnF9fJ8(R=8iR{NJvIR3GfdBS0fGXvSYugM@B@Fy~s_l`Jy)|ccqHxmVzApHz{x4N{y z#Xj0V$LH=@zsWY)$4Z)6--edG^VYGh&b$}$F3XeLt5=Uu0`p37@FaypB&t$KuAm9R zq*|yt7WOdr(m%g{dU1bs0-qy(nh~3JDc<<|K^(;cR4G!8UrKd|p;N zi5zZftW#Kk#vM}fdS+hLQ#;Dq?H?_`8P1nhqmR=j>Au${MMR)hh&5HCA z?cjx6pHV1ZFFx`ra1m|YMALE$u3RAxZp(6Eus@DJwzn!G7Cw2Mm%K&AN5Ia`DuuPd r`dvHM#yxB2nYDo;0!e2cs)*3P7gB8$K+RT%00000NkvXXu0mjfr&_ZI literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__progress_secondary_holo_dark.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__progress_secondary_holo_dark.9.png new file mode 100644 index 0000000000000000000000000000000000000000..40d0d1645cbf05e30bf092ace45403281da7f318 GIT binary patch literal 188 zcmeAS@N?(olHy`uVBq!ia0vp^96&6^!3HF|1ZAax6icy_X9x!n)NrJ90QsB+9+AZi z4BVX{%xHe{^je@`oTrOph{nXLlMZq=7znVWA2oV&$ZSjW?F|h7ziq5jS#e}ezd(V) z{M(JTeF@SBrcbxn{QE=WZYK^04VRD=846z*9&b9ovtVvpnl(eT%D#{N!SzC3^S3#* f<|u1MCr7h0-;i__`(soEw28sf)z4*}Q$iB}%FaDT literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__progress_secondary_holo_light.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__progress_secondary_holo_light.9.png new file mode 100644 index 0000000000000000000000000000000000000000..40d0d1645cbf05e30bf092ace45403281da7f318 GIT binary patch literal 188 zcmeAS@N?(olHy`uVBq!ia0vp^96&6^!3HF|1ZAax6icy_X9x!n)NrJ90QsB+9+AZi z4BVX{%xHe{^je@`oTrOph{nXLlMZq=7znVWA2oV&$ZSjW?F|h7ziq5jS#e}ezd(V) z{M(JTeF@SBrcbxn{QE=WZYK^04VRD=846z*9&b9ovtVvpnl(eT%D#{N!SzC3^S3#* f<|u1MCr7h0-;i__`(soEw28sf)z4*}Q$iB}%FaDT literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__spinner_48_inner_holo.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__spinner_48_inner_holo.png new file mode 100644 index 0000000000000000000000000000000000000000..c8358e9cefce502030416e05dc8faff139b886b2 GIT binary patch literal 2081 zcmV++2;TRJP)YIdx5%v}IY-E={))x>B}kD^;1aO=v<01PBB|;(|LQ1lm?k zLWq;Nn-CY=ae0(~!^>I`t6s zs-B%JpquWw-vVT&b%#DKYKZiAR|9AYVtSC>+D1~E4^t2*_YE}4C7t2scS_b&i9ji7 zBYSvMwdlT0Go+O!I1;=rq$n|BisnJx=53v0;@hqm(7l)*=4rJMo!clNrP~Z@m{E-} z^JZ{ZNHx@{flX?mQSo``X|C|5u79fpM_&?X60Kt|A5rbxJ7+XZpRQ<_6xsZ!_#wo! zj#h1_U5!M-Io2>ob>UEYg+LRijsxnVI$Sub8=TigMynU~iXTIjns`*ZXjCM8l?je< z^3e1OfW}cB&*(9#LY#4(p+|S(CFYo)RH;RK=~N=zD5YZ@e|b@)#etF>)Z-yez@UzD zxn@bF&zGN~8oIPk4dfy-rEX5Ww8$EZ0F70%U;9F1W%-Z($&Ga-Maup1vncKQ7_DKl zn9!@7d$FjFqs1PKM)U|Dr6$Db)oTnV%fNxx{Okxr+DM%Qs^$R=K0p5VBBLXP|Go*uWAqrP!s#9EjG3Y5H)_%&0w$xIP8)2<gS?toB)4w_5VP~5v52jeNf?a@l%z&Ft# z7nB8|dUgD~fFBhAa+9}!Fnz66uJJUZMq$&Z-=x+YQJfJpw%hO;S zbE}u#&MHNeP>Upl#AP)>l0hdeKfNO4(#tQm-Akeu&02@RbFR7XY>6_k1%f(YAT(#fsAW zCKBlg4QBOIpq?mn>zJh1X=9x9hp4F}kQ(@481j?!sz3o)0BA?xOCB;{@vwLHR_qA* zZA`n>5_V~?==zrnj46C`9p$WNjB&zGc+-W7;QUT(*KSn_p>ds2!NyfVppL*7{NFHR zx3J%}=U0sLd(^D`)P?PxcXaJb1;-WXet3d^dmIcA@AOk%p(p(THF8j!=km|#V)bYd zpicX$PljfTc@O)})|@FD=Z~mC2i2imPj;N6y7k2(V~h2N*p=p#-z6}HxcB*hYkSJV z`IFSdb9yY-P}dA6b@>ZL?=z9&3we?^d^OD4aqs1Mx13&f#Qiy{cDn?wohTPSPjL-WpW1m}O&Ju5YPHyotYlm=9`GcY zrwYvY8;-f&ZSM33oCpsge2-Ip%afm3V!sl6q6gM{kN3J3%|Xrhwg)`uVUIiGY!FzE zIO3Qa-0aQX;)a}NjB&uQ|K;9KmvHqg(MeCoc*sw<&DEj$2|GyBp7MmJgBi=!jyvfZ z$6Ymtf^mwAKHp@Hd-~&L-Nsi~>l_hPjymE9wjDU*%(E+7 za!uA`P2O+vKSpg~;?JJlUH||9C3HntbYx+4WjbSWWnpw>05UK!F)c7SEiyAyF*Z6g zGdeOeEigAaFfi_TCsF_a03~!qSaf7zbY(hiZ)9m^c>ppnF)=MLI4v?WR53O>Gc!6e zGc7PTIxsMwC7)_* literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__spinner_48_outer_holo.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__spinner_48_outer_holo.png new file mode 100644 index 0000000000000000000000000000000000000000..f62f74bb38e8818fd970b7ec1f7862e543cc9d07 GIT binary patch literal 1811 zcmV+u2kiKXP)Q(x@RlU0R z*6*F+o^#JDHf2*b#j2Gf_PMBSbuGRn) zDJUkGcinCw!4`)d@_D~EMJnC5dvGXBz z^GjW6Gg4BPB{MBwxqQWN<0fP#?6J=Sj@WNJ!AH@8Kl`>9L$xnJF(@mqT0WPnt1qF1 z=Fx+;deGw@bGK5OQ+L*P{Upq+6DX1yGQbK>T~%EkI?XGa@}$o>ppa%>^8?Sie*2l7 zfHK3%D>%7|N++0Avr7*8vd@}G^Jo0fcfyUHfnsLZ&jU?a6Rn7I58e-AIzUHA66jy!AvGyBgcAIA_8&ya%2-o5w@+x^Frq z7x5uqjDu?ciVPZ-34&-=b^T>U$i3owu8N|PCmm@W9a)>Z@0e@OLVt>;Q1iTBsK`Y- zJ#Dm0pva)1q@Sv}wFUZZ<(6Yki*muoJ=kjDtmVDYq#tH=k$<|@5vTpkf+%-~CzQJb zDj5=FGBxvks&SW*YJTnCqA2*7ySf013>jGQpITpe;Jn|eigLRhZQhTXHIx~a$pm$C z{nZbIsz13R7nL1tHd-@KF*$Um(og?cC1;!x<)VYeI|B_UB@HdgHw5UWlj@?}cDp+O zMal|-j9w2i9i`?Cb8^v;J)JZZ3@FG_LfsGv{MVdZZorO4w{8Y134%<%0TH$=m)%OW z_@u(SziK>nET6ihG`KOcU?%zJh~m2+ycN)r5;qQq+h%%Xy;f)Ejn0a3UnsuS^+vZqWP#0th z#x}@k!|oI0qU+rNRV>J4GUFR$v|a9z%jMoM-5IE6CMAy{ll?bZ%p5f-7cDwzt|L%b z^86*Y-fp1pM3X+OAj(~JqWJ*PYCpbZCY5MgZSAj)V(>vz$zUg(ZywPKsOqx1Or~s4 ztCPVxWShrQgx&N<^IZW2u9-7hOofKj5BzxpoW= zdO}GqH|+&2+j}j6LUh@cv}2FCzaLvtWZ?^TwHb8;v&L-C`+P^-e$fT!yBz5Da{oL7hj@h;h3%R$P7X_J;dmT2? z8&V8*_<~22M7c%3b3D}BjlNwczv7fZds1ebGU8;svesTmESU0X4=BlHYF_eOt8iaY zL0I~yq8N;M$m4dU73%)xM=srNe&@#dxWo1;CZw8+{^f0pouFbc zV#*`lZz%0)HGlQf<_c&{Ktx7;z}?CzodgvZopY&OUp7)Q;eaFVO?})iuy4L9j zyLs2K^qSz1EvYP7>Ws{|~_-QddT;IiL%she&}m+lY?b~t3u zik_CPT+O0+6?K`iA!CLOr{nnY$OW(ay)*42s|TRe$lC9I+YPJ$b-IG8H~q!myML>= zroa>ruDyrb zV`&jHgSNQCgmI$=lu=hRYuXKOo3_xM&-4jsmA;l<3@^Ph&(-?zXM#=Hludb0$^QZH zs3&Vcm*{c;001R)MObuXVRU6WV{&C-bY%cCFflPLFgPtTGgL7)Ix{mmGBYhOH##sd z?sz9s0000bbVXQnWMOn=I&E)cX=Zr$HaasiIx;gYFgH3dFrOu# z?f?J)8FWQhbW?9;ba!ELWdK2BZ(?O2No`?gWm08fWO;GPWjp`?002ovPDHLkV1l}_ BPJaLZ literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__spinner_ab_default_holo_dark.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__spinner_ab_default_holo_dark.9.png new file mode 100644 index 0000000000000000000000000000000000000000..eb28ff9a5516c15667fa8fafbc22d608d1f77a06 GIT binary patch literal 311 zcmeAS@N?(olHy`uVBq!ia0vp^%0O(y!3HF+1t+BgDVAa<&kznEsNqQI0P;BtJR*x3 z7`Qt@n9=;?>9s(?o1QL?ArY-_Z*Jr|WFXM+FkX}IYI~tj_}8!bFJ^a4j((ibs-&WN zGIsXEx)Wtn`lnsEAmpSFI79ccn9RKAsn<`<tk;t}o>yjV{qp%WbL{dki&M)*dw`x~@O1TaS?83{1OTcY Bcf0@q literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__spinner_ab_default_holo_light.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__spinner_ab_default_holo_light.9.png new file mode 100644 index 0000000000000000000000000000000000000000..d281adb553af892f758407b846bf31810b9d776b GIT binary patch literal 312 zcmeAS@N?(olHy`uVBq!ia0vp^%0O(y!3HF+1t+BgDVAa<&kznEsNqQI0P;BtJR*x3 z7`Qt@n9=;?>9s(?Tb?eCArY-_Z*Jr|WFXM+FkX}IYP%rckLbO*zpbz{y7bYSIrPClD)2Hc3qcaC*%7oYhKR%+5DyWbJ~oU4#{OKNlluqE0VJm zR?Ud&kaA;Q)O4{aB-unUR3g{I@EB82%f_aZWF5r`AFqi`v@HN~5*v&Qo>cRA$gv99 zHaapFv&*%1#4~?bwda`9)~}vNKHF@K`t|cGZ}Xb{RR4x!PC{xWt~$(69DLj BcXj{( literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__spinner_ab_disabled_holo_dark.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__spinner_ab_disabled_holo_dark.9.png new file mode 100644 index 0000000000000000000000000000000000000000..b2985860907ac324b509b76731e8ef9e01bcef39 GIT binary patch literal 306 zcmeAS@N?(olHy`uVBq!ia0vp^%0O(y!3HF+1t+BgDVAa<&kznEsNqQI0P;BtJR*x3 z7`Qt@n9=;?>9s(?E1oWnArY-_Z#r@{8;G<#%>2r*^uo7)-)HXL@_O1Ny%Iq#{YfeF z(mvLmIJH1t&`=}DOJmBWhqv04yB582t6X;JXNKdwfEg3JZl{PztUeIIdQ8h8YDr!LqoiBzejNy&kDcJs%rP689)vmGI{X_;^jtl6gm^<0^v)GdFRa+YOJx z7F>vKtz@b&Rr+MtRJ_Cdn)*bIu9V&{pI@`*?C`z(Yf|Vzp#K;=UHx3vIVCg!08ssU A5dZ)H literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__spinner_ab_disabled_holo_light.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__spinner_ab_disabled_holo_light.9.png new file mode 100644 index 0000000000000000000000000000000000000000..4215396dd4e51fea9239323d313b72fde0ba86d6 GIT binary patch literal 306 zcmeAS@N?(olHy`uVBq!ia0vp^%0O(y!3HF+1t+BgDVAa<&kznEsNqQI0P;BtJR*x3 z7`Qt@n9=;?>9s(?E1oWnArY-_Z#r@{8;G<#%>2r*^ujlV;{V25Ur(E)S0c!zKPhEi z+Q+&RrxwTy8fpZ2X-wJl@K&30*P>T$mCG*u%y7IHFk@oZ?G!PI)dwP2k7*f%?N0KT z=P~Pe`QZt37-AUDv?qm~sFi(Y>bsQr3FCw4S+92))lbOG-Y30G>`_~0 literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__spinner_ab_focused_holo_dark.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__spinner_ab_focused_holo_dark.9.png new file mode 100644 index 0000000000000000000000000000000000000000..a280eabf59b5eb69fa2a84280402b63d5e1bb8f0 GIT binary patch literal 524 zcmeAS@N?(olHy`uVBq!ia0vp^%0O(y!3HF+1t+BgDVAa<&kznEsNqQI0P;BtJR*x3 z7`Qt@n9=;?>9q_DjO#pI977^n-`=$MKI|ZI{A2#4tV=npb9cQAXy4X!_bwM}{Q4K( z1sl8bnxc=22fURRmTQmkS`l-5N%{4LzmAq3{WkJ?oSyR(lyW*m>cW(jDj1r7drC_% z+Ahf4U7%?EfVHA#U$%eE)HUhV{* zGqMRv58QeS1t+_UJh{!Nwtjop`q`x&KXzE!mvvsrOU)9V|3+xFYu0w7ttSN+pN66C zV4oMA@AG&3wK%+`$wcPZ<#Ux2T-c9-*heq_yZUm|{V%D1UlxhJm0zYfUETgVr;hpA zt-Fj|Jsx=O$lYh^6WL+vBibSA6WURD#!g`Ij9SHG25Jg!2FnzxlYN}N9h%V=a_mM! z$e|leQ;yweap>IrEpmd};fhV2Zrn5uN|m^)*v*dyQIi{G2ej@g`j zy#1roz10ezmNeBYwbLI^0W9{MT&2dcxOa)`zb@?O?Gu2 z*S413TzCHUdV}>`f)DaiKP_4HkL&Y-WAl>F%y}d1AGY65et#XKh5dqWo7Y|}14bu< Mr>mdKI;Vst0N8Ej(f|Me literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__spinner_ab_focused_holo_light.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__spinner_ab_focused_holo_light.9.png new file mode 100644 index 0000000000000000000000000000000000000000..f8d619b4d47ab5b104d6b1042c27fb16a3beca47 GIT binary patch literal 523 zcmV+m0`&cfP)C3<00004b3#c}2nYxW zdK`GU$CA-E+tg1FUj3CV1Ez}l7r{NB_YWZ zgb+-Kh;2qAgunr)owSNT9jE|#(}iQ{0=K~F)j_f4%AIwfW*LI4SCjSena$3zhl@?`-N)f>fC&00iU>|7tSL}YGdG832Z z7Ry93w=$W@5~IozqskJa$`YfBUCf~8@-tLEe(Yg7ZJ&$d5^vAJVlkbz&)H#>=1rCU z=lI*@D9QucAy4<)W_$YF0~q6}sI5vC!>ie*fX@E1>5KTAKqegRE>ywO`Fw(I}^ N002ovPDHLkV1grX;W+>R literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__spinner_ab_pressed_holo_dark.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__spinner_ab_pressed_holo_dark.9.png new file mode 100644 index 0000000000000000000000000000000000000000..955a2f34061ae8ac853050da355f89409fa0a784 GIT binary patch literal 464 zcmV;>0WbcEP)C3<00004b3#c}2nYxW zd0`Pl=$b2!s#>@tS z$Y#JV#)+K6SU+tW#+_RkXYzpRi_e9eTN!5>F{(z4su81V#Hi{OLkTB`etUYuM1<4( zFh4)_STHCiBAh-(+2ze7j|0M$*V@)G5^^0JhFHh^fzV_7Tf?-4Si|T*tYCB@#xY$W zMloF>#xN!zMlhxzoiQdMoiL^$+87%UEsQNlYm7|@05m?}iO1-}bYl(D3Ue3c7gw}A zD?zp;CtICi-;5NDtN#ybjCs$)&yQmArGt<$4!&l7(HXO5p7J23`oDJvMC3<00004b3#c}2nYxW zdPRE!~6H3V|7LaeL+kwzxO}{DvWjdA^uWhB*Ox4MVbeVt$Spwgkx< z!VkuXjKgSuY)h6Hw=%|LL;AyKLdLC(F?ASO9Y$7%k=0>jHH%rr7Kwb5&>UvDaCo}j z=j+357qeVAJX{{~a_138(!I8ROa__X7ee%7enXtUzOE0mAw(ah0z?m{B1Ao=21G5U zCPW=Z0YnW(5u`pwA*3EgF{C<11Ed;86J&FYMhHOp8-||_vny?o%`ne52fWVraQiWC zKdv-wupMF9(yd;3%<<_PN8|TOh%C!a80|#$F{54SO;q)d{~Z)(nS?QFWpYf|szS`q zFpt2hCCEz5&mZk`@i_(t4MLWruXxh=CcXUn1{k8P{&E{)e*gdg07*qoM6N<$f@(ay AcmMzZ literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__tab_selected_focused_holo.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__tab_selected_focused_holo.9.png new file mode 100644 index 0000000000000000000000000000000000000000..673e3bf10d60cc54b6dfef2fcda24575073adf61 GIT binary patch literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1i!3HFsuehcLq*#ibJVQ8upoSx*1IXtr@Q5sC zVBqcqVMgJWBc+iXw=G=Ra=)z4*}Q$iB}l;b6k literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__tab_selected_holo.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__tab_selected_holo.9.png new file mode 100644 index 0000000000000000000000000000000000000000..d57df98b501944b4ba63623766c396b5bccc29ee GIT binary patch literal 148 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1i!3HFsuehcLq*#ibJVQ8upoSx*1IXtr@Q5sC zVBqcqVMg}h~fd(*my85}Sb4q9e0H>EG$N&HU literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__tab_unselected_pressed_holo.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__tab_unselected_pressed_holo.9.png new file mode 100644 index 0000000000000000000000000000000000000000..aadc6f87b21d7d5139f3bfe860f4c289f75d241f GIT binary patch literal 145 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1c!3HD^Kbl$tDVAa<&kznEsNqQI0P;BtJR*x3 z7`Qt@n9=;?>9s&XV^0^y5RRG22KRnVX>4qKXwM^^Uwi5RN2-aD!@msM(PItf+&Xuw+O+F;e0P1D%boFyt=akR{ E0I7Z;-v9sr literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__textfield_search_right_default_holo_dark.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__textfield_search_right_default_holo_dark.9.png new file mode 100644 index 0000000000000000000000000000000000000000..4be4af5fab3a09cce65144c747f24c6ade600359 GIT binary patch literal 108 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~k!3HF)wbmE`DPvC;#}JM4$v^)8w`Z37Am6po z+v)2g(?$k`c>N1yj{}(xupO|Bb9m#eWaid)`oBujjyMLj^RWk-B)8T8wKI6S`njxg HN@xNA1NtG- literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__textfield_search_right_default_holo_light.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__textfield_search_right_default_holo_light.9.png new file mode 100644 index 0000000000000000000000000000000000000000..e72193f5921ec091dcbdb7a6da540c6ae62a0abf GIT binary patch literal 103 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~k!3HF)wbmE`DLqdY#}JM4$v^)8w`Z37Am6po z+v)2g(?*5`F8a+MS1=|pKR7U*C#OeuU+2*R28QEj<(b@LKCA=kWbkzLb6Mw<&;$Tx C%ODE? literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__textfield_search_right_selected_holo_dark.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__textfield_search_right_selected_holo_dark.9.png new file mode 100644 index 0000000000000000000000000000000000000000..8f20b9d2673d84e22fe4f92da5c6fba5524bd7c9 GIT binary patch literal 114 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~k!3HF)wbmE`DN9cm#}JM4$v^)8w`Z37Am6po z+v)2g(?$k`;P+>Y&mX9;kTm#w#$Mr{KU16J0f(K87k2#dS899B%AjFfa`@;vsXm|~ N44$rjF6*2UngAGyC2#-$ literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__textfield_search_right_selected_holo_light.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__textfield_search_right_selected_holo_light.9.png new file mode 100644 index 0000000000000000000000000000000000000000..04f657e1db10e9694c00a2d0240c4dd96a062c37 GIT binary patch literal 111 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~k!3HF)wbmE`DKk$O#}JM4$q6$m+Zg$O@E^Uw z81lZJ?Gxk7s`Po4Y{w3tY?zt;Z*oT>n?b-q29KD3>Vk*AGBMnIke8aaIU*2f0)wZk KpUXO@geCxD+9O{8 literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__textfield_search_selected_holo_dark.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__textfield_search_selected_holo_dark.9.png new file mode 100644 index 0000000000000000000000000000000000000000..99309ef6d3e32a2d3303400aa061e0508a70f758 GIT binary patch literal 114 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~k!3HF)wbmE`DN9cm#}JM4$v^)8w`Z37Am6po z+v)2g(?*7dS92?$NlFNF3%qKd&uD!9kGjy}NRLj&jF%7WCrYdnXQ&Wp*=?oVF$ZV} NgQu&X%Q~loCII6IBdP!Z literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__textfield_search_selected_holo_light.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-hdpi/abs__textfield_search_selected_holo_light.9.png new file mode 100644 index 0000000000000000000000000000000000000000..9bde7fbdce15a1c2873eb0779ffc0617fd9b15c4 GIT binary patch literal 112 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~k!3HF)wbmE`DRWO3#}JM4$q6$m+Zg$O@E^Uw z81lZJ?bE^f8J_14%!p_Ru>Zp|qw<;kM2WLbT|5rH?EgED6zpZtm|hnx*$^-bXas|& LtDnm{r-UW|n`=evwJLPDoBk{4*AEnmdKI;Vst0H2gA*Z=?k literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ab_bottom_solid_light_holo.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ab_bottom_solid_light_holo.9.png new file mode 100644 index 0000000000000000000000000000000000000000..0706c8af658bde9602634950dfe3d5fa5886163f GIT binary patch literal 134 zcmeAS@N?(olHy`uVBq!ia0vp^QXtI11|(N{`J4k%zMd|QAs)xyUfsxfz<`JK;_Z5A z-Y@ApO*&r-OgQM+#9X>wkYiu(tId138dhyGKCm}H$eLN@qysZ=3D*)nlM7YC@0xyy hn}nCMmBhQI$CPR`ipOiMnG7_T!PC{xWt~$(698&aE5rZ* literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ab_bottom_transparent_dark_holo.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ab_bottom_transparent_dark_holo.9.png new file mode 100644 index 0000000000000000000000000000000000000000..d814d02d31183b8f00f475a05c124004983d9eff GIT binary patch literal 123 zcmeAS@N?(olHy`uVBq!ia0vp^QXtI11|(N{`J4k%PM$7~As)w*fBgS%&%9EC|%_%783w8jlt8^&t;ucLK6TeKPwmj literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ab_bottom_transparent_light_holo.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ab_bottom_transparent_light_holo.9.png new file mode 100644 index 0000000000000000000000000000000000000000..b139c8e49168e4404df0a46b30a4b30e90c1ccff GIT binary patch literal 123 zcmeAS@N?(olHy`uVBq!ia0vp^QXtI11|(N{`J4k%PM$7~As)w*fBgS%&%9ECY>s_{MVWOZ(=mjBT1_sGr W&p6(H%v1uJ#^CAd=d#Wzp$P!PC@9VV literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ab_share_pack_holo_dark.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ab_share_pack_holo_dark.9.png new file mode 100644 index 0000000000000000000000000000000000000000..738cb38d072137cb68723c576a801e3f3471bd3e GIT binary patch literal 2849 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 literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ab_share_pack_holo_light.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ab_share_pack_holo_light.9.png new file mode 100644 index 0000000000000000000000000000000000000000..2ed75a767a87ac573cb7306686035f2100459fb5 GIT binary patch literal 191 zcmeAS@N?(olHy`uVBq!ia0vp^Qa~)n!3HFaZu8v$Qfx`y?k)`fL2$v|<&%LToCO|{ z#S9GG!XV7ZFl&wkP>{XE)7O>#4jVIz7XKNB(EC6kA5Ry@5Rc=@2?~6F)PwUxdYTwn zdMu8}YM6Xys1i$1bTr(^uv&TM3(=CrV!crU$Q6V-%Qg7n#gTe~DWM4fl0G)# literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ab_solid_dark_holo.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ab_solid_dark_holo.9.png new file mode 100644 index 0000000000000000000000000000000000000000..743d00b6cd7e446c7badca9dd11d1579404569cc GIT binary patch literal 133 zcmeAS@N?(olHy`uVBq!ia0vp^QXtI11|(N{`J4k%KAtX)As)xyUQ!e~V8Fq8aW6aH z`M>?!MSK0VJ5DH+1)MRKpSquM-S5BdOIN+&sn~jE%jQNlsf-1UY_}X6mMgq#dKVMx ha^q%Y#@a>3az|3`-r6;1y%^A322WQ%mvv4FO#tkfF|q&v literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ab_solid_light_holo.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ab_solid_light_holo.9.png new file mode 100644 index 0000000000000000000000000000000000000000..17c1fb921f9b7b46aaeefe7afb8302874fb0abd1 GIT binary patch literal 133 zcmeAS@N?(olHy`uVBq!ia0vp^QXtI11|(N{`J4k%KAtX)As)xyURua|z<`JK;_Z5y z;?s*`91mY+Vs~LvSAIRQ|I~ek>wo_(4hk(}+Y^;`>!t%UugL`m=C=w5f(6PQ%h%~C hy?JA^CG4Uk|5eN5b2qlEYyz6g;OXk;vd$@?2>`YpFM0p~ literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ab_solid_shadow_holo.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ab_solid_shadow_holo.9.png new file mode 100644 index 0000000000000000000000000000000000000000..ddfc8e3d5c4131f2460254f183938477fc5a0679 GIT binary patch literal 168 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rhed`}n05R21qr&#kfCPg`@kT=WR_nY-)l@u)2m z9YjR(TNrC5J8zlf@MOx-MX#^q?zd~tP;1Ok`WbQLQ#YGy{=Yfu7pEGW;JmVaai5Cr S@!LSF89ZJ6T-G@yGywoUXh2*5 literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ab_stacked_solid_dark_holo.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ab_stacked_solid_dark_holo.9.png new file mode 100644 index 0000000000000000000000000000000000000000..007a4b239244212339b817f8de9474a4dc34fde0 GIT binary patch literal 134 zcmeAS@N?(olHy`uVBq!ia0vp^QXtI11|(N{`J4k%zMd|QAs)xyURua|z<`JK;_L&H z*gyPBj&nSGnTg$nOT)YjBQU;+O3-o%)BNS9GKrK90(RDcPwA0 ir}XBH&6co>lKfV`a~Jh`>I4G~X7F_Nb6Mw<&;$VSc`p(G literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ab_stacked_solid_light_holo.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ab_stacked_solid_light_holo.9.png new file mode 100644 index 0000000000000000000000000000000000000000..ad6e1a4d9f3c81e20676f979a53cea2084ce903d GIT binary patch literal 133 zcmeAS@N?(olHy`uVBq!ia0vp^QXtI11|(N{`J4k%KAtX)As)xyUQ!e~V8Fq8aqs`F z7bNtyi1zwxcbrft3piseKXpIjy5E1@m#%ulQ?d2Tmd%Z9QW*;x*={*DELV8f^e!gW h<;Km*jJ1o5{)rFFF7K literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ab_stacked_transparent_dark_holo.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ab_stacked_transparent_dark_holo.9.png new file mode 100644 index 0000000000000000000000000000000000000000..0ad6c888b4c7e436e7d7c78432dbfdaecc95a7ac GIT binary patch literal 127 zcmeAS@N?(olHy`uVBq!ia0vp^QXtI11|(N{`J4k%Zk{fVAs)w*fBgS%&%9ECxB?U?=uVx Y$^4u51wHGE0Gi0)>FVdQ&MBb@0N@ZURR910 literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ab_stacked_transparent_light_holo.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ab_stacked_transparent_light_holo.9.png new file mode 100644 index 0000000000000000000000000000000000000000..19b50abcb536602cf2cd36d5a19805464988bd20 GIT binary patch literal 123 zcmeAS@N?(olHy`uVBq!ia0vp^QXtI11|(N{`J4k%PM$7~As)w*fBgS%&%9ECmdKI;Vst03^XH%m4rY literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__btn_cab_done_default_holo_dark.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__btn_cab_done_default_holo_dark.9.png new file mode 100644 index 0000000000000000000000000000000000000000..5461b9c00fd3fc513aa4465682e70e87cca36a6d GIT binary patch literal 101 zcmeAS@N?(olHy`uVBq!ia0vp^EI_Ql!3HEv&)kdyQaYY4jv*T7lQS|h5*V8PD@dJb zGfWV2j%0YY@&Et-(u-Ft=sZxsVYp-gbGr;f^5z}?TUWk$0o2Ff>FVdQ&MBb@07WJt A3jhEB literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__btn_cab_done_default_holo_light.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__btn_cab_done_default_holo_light.9.png new file mode 100644 index 0000000000000000000000000000000000000000..5dc6f804aea8ca344275ac6eb497b6bfe0f117f3 GIT binary patch literal 99 zcmeAS@N?(olHy`uVBq!ia0vp^EI_Ql!3HEv&)kdyQd*uajv*T7lQS|h5*V8PD@dJb xGfWV2j%0Xds4&4P&{4SYp+J&{BRiiZ!)425)ejdW>;mdy@O1TaS?83{1ORBM8sz{0 literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__btn_cab_done_focused_holo_dark.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__btn_cab_done_focused_holo_dark.9.png new file mode 100644 index 0000000000000000000000000000000000000000..a70b53c59af769e3c98973ad9718670ce27259ff GIT binary patch literal 109 zcmeAS@N?(olHy`uVBq!ia0vp^EI_Ql!3HEv&)kdyQYM}*jv*T7lYjjGZ_h07hy7xL zS%<;BUsuG{45zRSgeB^>bP0l+XkK D`1l&; literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__btn_cab_done_pressed_holo_dark.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__btn_cab_done_pressed_holo_dark.9.png new file mode 100644 index 0000000000000000000000000000000000000000..85d7aadd4dfb619883f68f1cc63e629698b5dab5 GIT binary patch literal 107 zcmeAS@N?(olHy`uVBq!ia0vp^EI_Ql!3HEv&)kdyQbwLGjv*T7lQS|h5*V8PD@dJT z6Fe3@|6GeFPb#ATqtK84|Mweqan0i3X%}$jvMQLwz#trO`SaWQ^{znO44$rjF6*2U FngE5o9^U`} literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__btn_cab_done_pressed_holo_light.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__btn_cab_done_pressed_holo_light.9.png new file mode 100644 index 0000000000000000000000000000000000000000..f7b01e012f895bfe2c4241e1d48771fc372b35cb GIT binary patch literal 105 zcmeAS@N?(olHy`uVBq!ia0vp^EI_Ql!3HEv&)kdyQU;zbjv*T7lQS|h5*V8PD@dJT z6Fe3@|6GeFPb#ATqY%TTAPubyB?B2J9?cgAJee4pt{u!zH{AaisF%Uh)z4*}Q$iB} D0X-aq literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__cab_background_bottom_holo_dark.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__cab_background_bottom_holo_dark.9.png new file mode 100644 index 0000000000000000000000000000000000000000..d8f1c8bd54f4f091e79389603095c99cf825cb6c GIT binary patch literal 127 zcmeAS@N?(olHy`uVBq!ia0vp^QXtI11|(N{`J4k%Zk{fVAs)w*Gcqy~4zxBtu(zuW zGMHg-@7EW5UBeRx4_{GYv)%pQnG{Mujhr&UNqv-pZ`Il{xB Xs2c0@Tz2whppguou6{1-oD!Md5lfPH{+~ zs&ZK!$GJ#`+OXn)bEl7O^s7vMLr%~_eO6@BP#xDsWzJIxbKZ~=QHwoEqiCN;6|k~9&?6VGu8wVeg}kjlqBUkXd|o%rApJ7Xx?SmelE6^*`N?mP%?P7H@yM z@176Te{31>^aeVqCP$2D`iM8b&G*loT1#z02OAN3)TGUD#xbYXQgqexFre>@9yw_< zoN>t9>xRrEIA?_IE1YrUo=P<2hNadJXB=4rbb%a&IXb5^sO2P4AoU2`8OJ_N3+RuU z?3bPMlGWJT{|mv5xDeck3qc!^Tkv+yM^@uWqQKxnw{tZ6G_7EN(=@mR#5tHjEptZL zT?o!N^e&F18P*7EfGlP>S;He0o_$19Sz!q7up>N&hdzT z+KgUQr1}UkLQL4KR;yolWSqh_YPX?lMz7!1&pz~~fd%z~_Z{#V_yT+aKE`}mgO%s( z*Zy2en({y`_&;C`{0061zkwyNiuqzpAev$qeWYoU3d{J#NzC8IACaX$H=;%xu?3!~ z#a`2j|4di>P9KpnLiZ0Fl^vDJdHW{hJgNDYHbk!VsHwq51hhtobGl;RmY>GHkg{)E zesWUhFRGl6)Eh$fMU__)%@X*lTj%8LuWk+fh;ux9b*`$4|A#h$uKO0E`Tzg`07*qo IM6N<$f=1Pyg8%>k literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__dialog_full_holo_light.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__dialog_full_holo_light.9.png new file mode 100644 index 0000000000000000000000000000000000000000..f18050ea589eaa31233bc08e4f8a4e361747bc94 GIT binary patch literal 1003 zcmV%vbFc60S)hq5aquQtN zO>~Q-PMt}eDy?tfo9G5^U3x~HVu{=o-l^#5`3AXbFq#7CZ= zx~R)Z%-PngELWXE=jG+4wH{HY%RHtL$z+_dj#xsD@Y&isDVlJd1j7%A; z{S3ob2!NCVl}{yrl8B^V**9f-6IC==^T()w$-W%VAY54pg(^F>UjitZxrB-eCn8Lf zB*stQ-rl}17K`6RG#lbS(&{_eIc1V`#=6_}di{5~T>e4x!ZPZXM|a{QRmt`XV*pbC z)5T)(D?{j2cRHWXf1>hHw<=z1GC@s9Ro2lk0Wc$?r`}K3Qx5<^GzKt(+iwt@SwZ#Y z1K3Z>bSEt!roEr8rydA`NJoVD>nPSV+2(05UE>4T005_GAOuI89vS#iG4B18N9tN{ z^Z@tNBTj+gCOB47*w+ z+2Hb~>!f2H1$Hq!D=_Sb+i%D|qnZ-1^bbIwX<}v&QHjdz0&e>kOOQ$(hHgzP5DjJz z0f>y6M3En>w55Wi4nf3bKUf4p>o0~xvY>6}4YBjHqH^B)8ba{Lja`ks{5OurR;$m< ZjQ=n8%sUGgc=rGR002ovPDHLkV1nUn!$<%C literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ic_ab_back_holo_dark.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ic_ab_back_holo_dark.png new file mode 100644 index 0000000000000000000000000000000000000000..df2d3d158e201f4b5bc8f478bfe194c819c762d1 GIT binary patch literal 466 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6n3BBRT^Rni_n+Ah2>S z4={E+nQaFWEGuwK2hw1@3^B*n9tLu5dAc};Xq+#-xYx_sQH13|{`71Pj-*6Uoi`#n zE(U8IKgsQz<^Rb4R70ym$22iPZttV^?_#_6n&0#=x|;ZH&dfx!jETDzs(0U>)g_uQmUhGGNWo+VotE}_5b3Zj`hnf_E}Q2 zkoV^c&!VIWreR+T-g@7!2<2C~cxLXYh02~hOPyXw&7V2OC7#SEE>Kd5q8W@Hc8e16}SQ(iDxmE@S#`ha8qiD#@ zPsvQH#I3=p$s!-9K@wy`aDG}zd16s2gJVj5QmTSyZen_BP-2>S z4={E+nQaFWEGuwK2hw1@3^B*n9tLvudAc};Xq?Zzc+iX4P{i%w`)y*!lC}nMxxP5m z`ipDd|3l#c1q-`17wzs7jap-@cWTC&8}(D4%&X3GaM#!SkY4?Tswdc+PM~^5?gXjDEJr|A(9^w&s1cyzt=Kg=58+)D;SHpB%sRSHFHUToUy>RV`*x3 zp=*`d7Z@F1xvAFw#q#fW_g_%cHx(CZDFFIJwZt`|BqgyV)hf9t6-Y4{85kPs8kp-E z7={=cTNxTy8JPmPRt5&f_Zu#wXvob^$xN%nt--0uA|I$h5@bVgep*R+Vo@rCV@iHf fs)A>3VtQ&&YGO)d;mK4RpdtoOS3j3^P6 literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ic_cab_done_holo_dark.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ic_cab_done_holo_dark.png new file mode 100644 index 0000000000000000000000000000000000000000..a17b6a78920848c37a67246a76749b4cc1425a15 GIT binary patch literal 566 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE0wix1Z>k4UOiAAEE)4(M`_JqL@;D1TB8!2v z2N=7Z%(epwmK8Xr18D^?ZvQoBE&~Ijou`Xqh{y4_R~-EgIfxwlm><>K$vu5h!wc4! z9iP>XtrZVs65@3e-rKIN%Hh(x{ewWxt1j(s|L*kJ zSoUnickXv5=i7?TNH`^EJfpg4#&4;Y0qR0+drTg2JXGfUq3}Rr;{P9f_n*&gD7KkW z&D4IqLivGGRq&kmAH6(eA0`F~7S8rex88HAVS=03cY~80?cpzkFa4S5A6;t}xJ7Q# z9-saRVPfVT##U33AAO3A+Ypl|_94?@cK)tT4*8AF;-^j1iVm!a-M-<=iX&Itr@TnW zJpXO;4EOj9!Ar}#BHVL6_dHGGELXBQqN>Q8)gj~`k@s=>rw|ur?|x;upO5s^{asBY zKb@S=&SWDRsQzHyR;N3i0@8Cfnf~0l`P3PA4VeH(Ut{H!I{}l<<aB zB5gMTgH*M|HKHUXu_VC#5QQ<|d}62BjvZR2H60 RwE-$(@O1TaS?83{1OW6u*u?+< literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ic_cab_done_holo_light.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ic_cab_done_holo_light.png new file mode 100644 index 0000000000000000000000000000000000000000..b28b3b54f4c81d482f797f31936cbd4013c093b5 GIT binary patch literal 552 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE0wix1Z>k4UOiAAEE)4(M`_JqL@;D1TB8!2v z2N=7Z%(epwmK8Xr18D^?ZvQoBE&~Ijfv1aOh{y4_S9ba-JBqkHTrZXEaifjpNYW7o zp-Ubd&IgJo2<&v8$G35^;Tskk#t2~^NlC?&yDV(Ca&uB1b9CBkO)cqrw|D8TKToRF zI(8j)Hm_*m)V}Gu(AmZ?>+lr!|Ew$fc6F-Mb^2PC^>5kCb?-yw@xD*CTf6%^rv51n zu|M&RMY8TuK!x`HjjgjxbG!Ig&nSGQ(EnVUqiU&qoaH15q1mNr`vuRlFlL+adKX`+ zs(G(GZ+*gGNpURMpV)N-wqLW)~-JKU!1N^uTZarp(au zRVr*pp2gnEY&GXI)J=?c?L+7E14!w(i?Kf2&j6te3n$Zi&Cq1Pnyg64!{5l*E!$ ztK_0oAjM#0U}&goV4-VZ9%5)_Wng4wYz$;u85o58|F#)LLvDUbW?ChR22(3jb0C6f zur23lHS+Qahb^>*U+$WtdYxHa+^y-k$aPsd4;5MiO5jLLT<~O z!w%X=DYs7Ucbc7(4Y4zF8STvZ@BQQbem>9ldA`r*dH(!nVKEM}(#p~R0LY?INLLZ7 zA3#b%v?pVmZUF#Dig4iqmVn0tK++UGAfRkviN)^KU^1~-H&?bA8v^|SN@bGDQgc#^ zQxE1eg5JtRs53JTH2ggLk=O|XLxY=b@0jnIOlGv#_@}oY9;F&FOMJ0zT_WRlYHFu8 ztofX%{rLz8bb)vSZ36~@@G>A!8p<`{A1!vE6HpJ&ihNN<;UYTRPLu(q#gc47TtbQV zS>&fwDwT|PB)Pt@jSjhv4!`!29Of58a! z{%dqZ416J%Rotu7ZJu@Uag;JcMi?Y^GW8_6f$aGo*L0H9*4^sNl@qc``~NaV&!G11 zBGW5N*@&8(1Oi9FFr+V3XDkaGo-8`McjK1I<egf4hdk}Uk;BP#>jXpx9hNjminTfOVLra)tO6o9~Zw& zW~ph=U|h{~m`PCqKTf6u3Qno^ zn{Mz?0t9bS2jg9CmZ-V2(#X%(5BE1C!gyT9a_qIKnctGDzL)*AuOP=)%eI^p>hjay z_oX%R=X)7#>rXlPoG+gKN;l<%XV#ZT%ExZq7YaduEFfnzv6pCc@E~}Ut1|!)VE}MD z4FGn8BIW=(kDuOrIG9rEthn&npa_-01}*(WliGG{fS2Ytqo z@+#}(_)oHST*a&hp%vnHo=JJ1wkrH4S3RN#PB`RYB_W^r%-H>QPU_doj&0bN!Kk1r z7oDl1&J*BHj7Imwd|ce%jk2vzrg9dag_RjFYnNU(-mj$tKU8Q}Ak9=ZerYAA#SV!X zd$j`Xtc3+663Q+7oEh*NTz-+$+K0BeZEXvk?AI8d|q4B<|?#MrvgbJGvTqo+Sj zYr>V==^NquW61f2BKD&5k70Pat#U3^fJjDI2uD6%dy_uwE1?|P`Fd7Buv#x1OMm#s zAh^JDa#6m`tPXCpy!M^KdfaLL$ghUWJLS~9JClDUEKTNN!S5{i@%TUe_I=OK75F6Z z=Fld!X8cQF#+705v?p$%c=|h-8qXTEADrUoK-5x*SoS}^_a?=X=VCn3ye;UTT_>%T zpRgQInr(Y1F75hi+cSH2kGT4CsQzfl5I+0Oww?KptEJQGG8OmGoh*NyE5EpVS=Qye z4cu#|91DSW-IuU-ZE}%k6ufG1h`J~L(eA7`?`R99UPa$|!RyP>D0?TX2T3@o!QB?{ zN!-)0D$c42#W;yy^XKV$`0)mI^J|YC^)$~|8xzJZgV4eVUB^%hwKm>wieG1W+Sb=& z2EsBiDz|Ya^gdlIA}NYmvgqCBrw+L%v$=4qe4I1J7C_qxpq`f$Su4;tX#2Qp-=cSi z2Xj86C)n3ETX@y4wl<#+ZMOl1nW?C*16Ua1CT(1Wa7MZ=EE>pP@* zb1emm>}!@OCu`QUV)T?PSu7b_P&JtoW8GA^@TAmZtq}h`Q#Zl*eXK1_X~;hmyt_go zY{}i7g*?Nr1W^G%+hLFmwgKe70m_6oQUCw| literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ic_clear_normal.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ic_clear_normal.png new file mode 100644 index 0000000000000000000000000000000000000000..86944a879b986d941e6567d78fbac16c87ae9244 GIT binary patch literal 1869 zcmbVNc~H}M6fTFTAW9JhxeNgj51OPWje@pKfI5QEBA|d$+W@sTscjVKdVuS?9w2h9 zu!^p(ipSu+I*za)qKMZh4tTpGiYF)@D~E`is<``y;~$%us6_Qf>3EP7d8-+ zSuC3rZA?5JA2A(OQ+kfdV#CSM8yGZ;HF-*gL8aCaG%$}y)sn&B%ahe0pw$F}ae@dq z!XP8kwBcqWp)^OvsLeXHSOZQ80VZdl41u1YRX~P*0ck=rg27L`C^NTgLm=?Ugw_Rv zpPh=2hyrAkkpKi7I8Y4>VL*s*5FTG75={iSFakp`7ecs!hzR9zQ5XikJRqZH)TE#a zEcA;OvkC^&Xxe~6PXctnG=pit3hET2u2VQ z9~N<8VGzQE&zE61CKg~a1QT!t{T$!IN?{zwL_!$n$z%wEg-T!nU&6;R9*)6ME??M> zm6Ik~MXHH@T`i;g87m0=E*6y;2^CElV<>7te+5LPQ8Z;rqYQvdDF7l=YAtD5TdwDG zv>0L3E+#agMoJHS$}g(@hCVJsqzKOFTO4KL4hj`=LnW957mEdaK`0OWg4O(=oI#8; zkfk{OQ!M>kOa)q|UrV1^d~F_rWID#kv<4`i7|nFtQaL7x$+*=PcRNxkacMnTzT(!p zfRg6DJ1Y_~Z$G;tw~$ix*L@nh0_gy+q{K6=O-)U1ZBL7fiw9T#wcP7iz?I7*wg8n!aY@L* z%F1466IZ9xDGw&8Ca%%8-9N%k=5}B-gNg) zDs^~|+ru7gAfdUoeO*+YE(gj=-VB=VaaeB5#xy?WU;B+3~rnji3!zw~u|NB5xDgMA*Ab}CoKR1b4{ zl>=_SIAEWB^HRqqsb8t5;#}&X_CmjxL@oZX6x`u-Nm{2|`y?pbN5T8(*$@T`ZH%+J z9q+wi#oajjm>l)vpmE_mr&lY%70+^a$7TKT;qFtqhuwA!$jh%>ho3F4%BgGKv%2K0 z$HF4;&SJ>7KIHm~u<^wO_8Z;3y_c~N@r~v)LwjwHt(kkY;`G=_K|x(kncTb+Ti2eM z7yH!X-5fzxm)r79(!ZaTJ+c?A_7b`^xjVa7S5;ayZg6q=sKBA)LhBfI?7p4HG-EdX zGM##G-t1BC0PE-nz1YH|+GW>beOJO<&x4C?Y3_ohAr4Hb&I{K{y07O> zYq)siMdY38b0^FH-T7Vnp?+Dwy~?6uy>H4FYTQ}9{^zjW>fFu1k;Wnu$QYKv+~3MD zkL9@kLKD%Thtmq5^yY3(U$KE}2<_4f7b{3i<6pkgb<{dv;FI&fmd#{QXNuR<0GE-t|?<-_xFWf6rQD zvp1?(m;K#mK7kAc23PhCb9_I|Uwpe=_~P7`{<9hKeqT15)CmrGep&{}lJt6uiX0l6LDtGM?vvS&HSN)*I> zeOGt*EnBDP@;N{6y`LG()$~n&=KfpyvX&R-FPte;1xy60C9V-ADTyViR>?)FK#IZ0 zz|c_Fz)aW3GQ`l_%D~9V#8}q=$S`=EA9fW*LvDUbW?Cg~4U>%CWdb!wf@}!RPb(=; nEJ|f?Ovz75Rq)JBOiv9;O-!jQJeg_(RK(!v>gTe~DWM4f-EB1! literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ic_clear_search_api_holo_light.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ic_clear_search_api_holo_light.png new file mode 100644 index 0000000000000000000000000000000000000000..15b86cbb21eb3bfb82d36aa9ce750906297a9225 GIT binary patch literal 743 zcmeAS@N?(olHy`uVBq!ia0vp^q9Dw{0wkH`a%F)OQ-Tee`#-|*CiUbcIg;ND=p zYvDSd^|6iLOdqf$Xmz|*HxtvIt|l!1HU7>O^~bA&&;Fj*b;Hx}3d6&UEnVN=_&rrS zyUca-tl4jMo@$nFEpTFXzIjD+{<)ibKgss#-rp9f6_EGh??g@(2S&3=!i$ftp1=NR ze5Ls1tv8DvCnWJd(z*Zhh{1dQ0Dw1}N=Vgur< zo}V(7G@F#*B=UQaz!7tS(%x&E*VO)~n0V|`)7|K^f!Elpcvl1$gq+H{_D)QEMqY%8 z_vf1aTF*LU_FtRc+)-?b!3?Ao)T}9E5o1c=IR*74~B%^nkKn;>08-nxG qO3D+9QW+dm@{>{(JaZG%Q-e|yQz{EjrrH1%F?hQAxvXq8M>Z zk&z^%c%@bRQ#)+nOe){kHaX!!Ue%|-vcG@vo7s2MJqBDZfk5<_)|-ZFZPj9NlZ$EDG$w6h z^v#+%T(e!=j16si)bzU4HWV6_^stND&E;|5`nfYv$?gux?t!>a1t>hEvKg8)f3B--`qJ5Vc+(!(3AIVr zEf|cmkv%DM(IHdcJ}Sgr>#(5~Tn4TISAy%nrQvE?Laps69ZLLT!~WS0QV)l|q?Zr( z+%hOrq1e~am)EDre9b1+$FL^?hsoiT)~9EmS!B=eNVF1PP(kFFm`ljix)2F8;hG8d=#8;jP)h%8u`(ez=ZN9^bNjAY1@m$qMwqc*3 zT<9Z^7q-4S8p!6dM-010M=(>rk1eytHi>R-cR}tW4SUbF89%`nk>dMSnMgg-f@tvLl z8zJ1Aj<77hi)&@}=LO_3nTIUJfhLK?)MTgjijKG^e1tcvx@U?wd-4zBd{w~Rm8u&) z61IEoor<-v>QlY};sLy%=GMYsYZW#7TiibW&xJ?UJ`JsgWSk4`n=4tN;yWe=Mb9;n zrw!^kvCo<)%-&D;l)PgTvU~Z|j|VKn#)IlF_j=`rkH?YbC)&niUyM-$#5;BRtd~Vt zvDwmlW4up^P2AqKxmr=aNvNMq0%A$n_A&Ybf8s&n?eE2(zp1N=^sXKmlORRu-MwkG zqSrlb4;RY>`GT2~ewsriQ0>5-Cr@@n4LZ4_+db%Z)RR$pECx zV&kKm<~rTWsF|5CovUxbAuX%rMqUY#bK_3MXl`zRlnnCM)JOk#@Q|`yZle2b!xrs+ z?}@SMBoaxAn*F`n4c~I!tWN%NL;nce-(Ln9T2XV@wz0+fUe{x3EWBVphWolE&ZMpy zk=t+u)*ULX*vshr>?xS>+y1VFi$&0ZQQaET*YU40s&SgZh;!v@8ZAA*DJJ>D=a=0< zFKXQ=k&~NZZGoK2o`n~+R8w?*R>uuBc#s$EF{m0(={u8TU3kQEm9SfChYCn7J#=g4 z(PaFJU1FFZJS#?cN?VCdd62LmX1(Q&iCokv9@0&`0c7bz75vdTSAVg)Dte++U_U8a z)M|^@vmd{xiq;M1c-`XC1_k!;*hJ-2+0wh;$&M)lJC}axPr((&K~D-GVw^}ZK>;xo z8*&r{B7jDjnH@k`96(zW%`9zDXdCl`2T+hey^ru3{!bx1A}HkS<^L~SLob9t1%PwH KV``51)Bgpr>#?r@ literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ic_go_search_api_holo_light.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ic_go_search_api_holo_light.png new file mode 100644 index 0000000000000000000000000000000000000000..8518498eb6c93e3d4f9f5c806362bf3117b17852 GIT binary patch literal 570 zcmeAS@N?(olHy`uVBq!ia0vp^q9Dw{0wkH`a%F)OQf4-y`wRCHWT>4=v6Z~W)^Ex~}&Cks#3Ph?YL zYs=^PA1JbT)~OR;KkxqfX5VYCuTH8yF+BVMK5jv$P8>M!p?~7X|K_(-ZNE?1#j0+Y zX}rfdsOO!o8=KoP`};Z1zsHB36rFKS#YJJm49Wj>o1-q)hN%bb=nB|jWMKUFU(#;% zzNwwTK`8{^tVraaWCe_M$vxef5w0QpFdP-veDuD zxhegZ|L;vckoBsbjg4*D|NoLZ`&-4e?`K!s|My<3S%8^2?NH;i6Q(?qt2KRNl&_PX0wV*1 z5qGtn%`^R9z@Swvag8WRNi0dVN-jzTQVd20hK9NZX1Yd}A%^Bw21ZsU#<~VThQZ_f zu&XEx;QVw%w1wevX{81fiqT9$oZHH(4a215zM2{s3I28IOo7eJ#J d>KPlRN5&o6d@ywr|9haR44$rjF6*2UngC}HDAND{ literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ic_menu_share_holo_dark.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ic_menu_share_holo_dark.png new file mode 100644 index 0000000000000000000000000000000000000000..6bf21e307ed392bf00fe80b162a6ce9115e62c84 GIT binary patch literal 332 zcmV-S0ki&zP)h$s=>Sb2o({EW84x$2Sq@4Qvb1mj$j~;VIQBr2GX>%-APxay9!he7 z8W7h*gD?q**@0LXh%12j6cFzN;xHg)rA0Yl3bh0|IM)O5QD`2|BGz~0I$#-|1SL$5 zlJGbV2jtPKD8?58g7k0zp)`;V#9XwljI@z*K`Om-0V(CcdbDyt4~XM{*o)XuqGd@4 zDx{8=fp<=lEG6&%R0000-rS^s>8d@5ni2hppU0iV;YH8gwNa0%) z{Cz&}Jx|SbT`f+uL?986Pnf0|l@f5k0jz*^zeXXD13Pe$Xi*7R9^s5FmB7$P;6x!% z=kMH0V6IZ20v0@I38qpwTN6bU0_>(U;T<=GYX-1E8)QG}f-;!!681nE=wJ-aU=KPV z^-i_I3K%>@EawIsd5_!T)2R?x1}rE&N|%HcIQa;SqE5+gRv=Fy@M;YVKt`niqbhVk zpSlae%z=$G2Wp@TnqrmWnuKgf72^IDIDhdq{E7X5-;T%%62M`q*b}mOv3|8DyoG;R z;O#l^2#-VHDcnmy=|6xRPAT9SP9@+QP9YE&4z7Z?SGPkvc&h*a002ovPDHLkV1j;z BjTis` literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ic_search.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__ic_search.png new file mode 100644 index 0000000000000000000000000000000000000000..4be72f108ba1a4f36da5c3a59b1ed08ddcf7cb8b GIT binary patch literal 2280 zcmZ`(X*kq<8~rm`vz0VsNwyK$W{_oMAB>8aXULj{?8IYV8q3&)vLrKUM8>{H5i+*H zkR-|$|R2*FfgciX9yK?;QuX#eqD|IovDbqdkR3e&?h;^O1G<)AHE%=VX) zAdqoXq`4s%2;{~C0wti(VgG8DV;zQipvLr>8Nuu3J|@fzC?Pn;(B0Z2$}|mMOeT}@ zZdYQ^RYrmCf1CTQ8D_yu^_6vr)v1{}ol;VM{icMDCQ&815)%T3JBf@H=ocUsx%n zJFIZgJID218z>DQRd%G!e*f!UHHr#G~u4^{*?KBR1a9(UgdwUCY z0N?ya!P21!5iYyGR=<_2?Bjxnf^O2gR)g=%%)N>(KO+75BgnrceouFrp}3VaIGj+w zwLt4?-zZ+mUHN{)1$>vEA-}OYQS>1;i@^W^ya2!Y)M2>#@dI%~p)CL)3JL&m2>`Iq zVDbt8gu(!TehUB)1pojJ$Z_d6WoB7jubLqNM#}w>F6PA*h_Vj`fRlp9U;&7QkYh6} z(9n~~68|FQci|HNI5BCCG{m3=$a#)_7@IT644iWCw-2KsQ3;kRYGgG`rBEI#nXS+A z-nc+%B1SM0R-#u?0hP&FPT;>NX_%P?hgg_gv`QC2%boBtHY&DNEv1Z{inN+o7UU&6~i6<@dDg@JfyZA zYYx+`gmaQz`KhmCK>`p*=#ih%ugw-Hso)F*NW>=M4c^v*LZjsr<%=hVT#flNo|-X@}#9er^0l84-{G`HDNMNzVWRl8caxci}W? zc0!?Gy@R{maX7Ejy=Wq@(@!~8(Psga1{<5D z(FKaex5510aojhOAqv&ccU0G`r}SP}xP6Mh|JfV%jcV*O-x8{S&;`%E-#%tx6}nZR z1c741ezikraQ!+eJJ^1Aeccm$-6B!t4f|nM%v7bMlWS!LpHJrZ6dm59q0S?ZF2y8=Q^-~&?1fzm&QwFJU6ATw$c`QT*f}qMc??#hST5e zxQkPhjP#qGiaKgzP|%tu=%>BCK5z-H-a(-N>e+VwJjD5gsQS*YAIrKo18uKi>CXsU zeAhr@2VZr~d^+{qL#Dp0azS&`-=zTTtOZv;dZ$~|%FEgLT!~MIsl%29Hp60Z+HY^7 zfgybsr8wt-*S<*>3Nmk=Hv%NUi5Hv+Je`(&hxE38qm@=h}CxYHB<_YKzwV*m;-gtIoI8pfRa+PV;bk|F;MAR5rU6MKLY;P6SK^ zz#4=epgT#wlNB;NZ)KQk&RpNA?XxC=IHlR)lJ=q^ZCLVD?9`ziSOwcFN_IajdC5?9?I!CqtLRha!P2$C-xcN_9o*P*U< z>ywK~yb{}ck`qS@bR2r(`2)}ccr??M(3_M=b8keT5ZSrdM3k>jXVBu6l+)-bCy%9L zOC!{#CvW7&b_6@Z+)50}d|4X``|?#6m&CLq^x$=(qc8fyU`qD!UMO&i%mY#l*4}je zUY*?ZjEBc&Wnfh-_S(?(-I1VFGpLuAnwkrWfB&u_7Eh-aA(LSbJS!^W!IYtsKzvnI z$O$r8AvKH7Zj?Q&ttHP{QT0h&4Itjl)T^om$6zqteEQ^VJAX-X>FMZBZwdsB&N9pC z&duEhzJ?EsUX2h5#=Dn9qOX(g&4sg}OPZZa}zHLP2EULVk3U%ri_nw6cMX{jf401yDMAwDEDv}|H}kQ!Hi zd6Zq>&@icXeV0kh{3rR3=9Pfw>KYoZiO&lIf`Ud5wud&~b5Kb)*ApHe8n)a3pwxh{ z$*%Q@uGRAQFhHV!SuhFXhEmJJ80 z#@5t?CG=2`p=bBgC|ivL%d-sutsh?4N)w>m>4-G|$T)jIZUG?nVeVx2HSX2slwO72 z?tfqI%rz)}0aMxE4glP1kt_`m08blB;JbCDXz|Vz7rB&3B!)8!3pk9r1N`tGhCG;) zv#l@NV!NfyPkmL`lq7YhRknd&E70EYthe7x3QD|N=UH*os_XK2gzahS*~Wuk+A^Om zUWFF&@#H?$j=xhhvg{BKeCYJ*w@lo~Q1$MWsGu2Tzn^=$H#-w?`IAO_z zJUWYU-^n>8UD1ty0E97-6T84fRf$ADUuGZlm2ZJhuLR0Qe#{1&>xs(Oc1?$GEei<= zsT^LIA3tVlYirh2F;ltF*;(F~#QbPJTh!MkretL{o|hTkm20(EH$s4%&!0a_-Zezt z8F@f+U@rQvF;DfgS&okNI7>?vJuS8A*Tv*l{c_E`jtQctXW8YByuLdQ4lg)%h&iLK zwVJ5AqekF+nnw*!vRqwheZ9SW3>I6n-pcdcUB?=2&1S67&W~KAhJ}?A!LEvto5)Q| zi+<+g9M9p{4sKLwx(NcFAd|nHs*I=*@XH1VEvYnh2lr@)Z#$*YoN_ES7AlPBo>PWwY4ShV_Tdn@F-`?hBDdB z7pW#_D=Qt!>xT8zaV%CFURWpJn$zK9Y8;eLhAQP7kXq8odoi|NLawOn(9GW*tOnNU@c~5bp`8}WK`SZCygwz3X~AcxF3qRnDDi}dn7gzv{{*Ttmg*cth)|J*$JG^N=l}c0cKPpv+!ONqp>EsX z5)n9@<3W4RqR-f(z4i&=&N?TIbdWIQFGx627b%C_t|QXXLhDj4J~DbP9Pk`r)4u4H zBhMqoU=6C=0d5&rl|IYz>`Y=!2TcS=Q+gkVKD8`a+Lduk5~GePH7zw`TxMvqb-VA! zMJAZdmCe&fj0bHlpR0=9*$0;fL3ZcvrnS>N@?7$%O5ckci$3m9)85=?NtniO6yx%5 zGX$8X%<%9;`8sIyD(L*OTn8b!Gsc71g|z2%{Mz5N7k^$s7qYFa`fqMm7ZEB@1P z@wUi&QCZac$}Wh-VeyQH-|%oV6_YFVlk(ykt+R&>Jtw>t_=A%Q{BFLF4bnz*tm(LM zw-I}!=OEiSqcKC2PQN&{#+E2ZP-_c{r!)I>uU2& zZz;>Uqp4v%s>RnQQ1a4gvHjNaSZ{My$!4k{|F>$}^-tq#;e}xrxF4CTSxy7fW8!Dp zhy4sX*~w44DD=@!ZE&yT^pa72)&~=-sHu?7v{Co+=&4lCrRlz@nFQ`o|7&xoJdzbvo*csP98!41fAT#+{$FUpF;1#Clh3C#8qQ`A@lx5|D&i;x6(!#6UKG{z>4)2u+fU4#eAfTFo+%i+* zuwgRR{~Lur7&WrpQ3*J#EBboU&C6>q4&?OX;#|=par?c8|DbSk`saxIBF`I|#R7mvD!_8EH}%bEg}miw6L4rj8Yl1i zGo28t*kK9)jI;^}bnTj_5rh*>20pB{BG!&8cOVd+yhN_Q%OT2S#uAO#RSZY&5{w^x zf)H+uy${n!(YBuouq317x1CEVWp2*tU#okNqi*jw-{irZ@;WfzMnuEm@wK(HlXl2b zhoo^uBiUm2{#qWM$TQ+H z-IfNUo(=~V?3Jt9TT?t#19>)?F!&bM)sHSsJlW@e29^BfIh=rwT#?~Xq?d37P=6h9fTS5b?a>@zW(i46kj(s;S|93%(K1`Vm#oa`~*L4G@(AuMJikd+kjU0|5u1B2$w*?sN5ZY|0 zJ^OE+@%xB3$9*o`zIT83obq#wx10s)9qxpb%vewyD(EWkhG7B&Ymr2c)$Ucb_LrKM zRxAwrb5Dj_QLsf#tg!02|K8op+!xR9zrS~bP;7hq{}|B?v;LGlc_{o=D|yP?{WTvC z98Y0Y%H`FnF>UOSC27e1EM*YkzWnD%emHPr(*=1IgWDDZGx^a@qB+f$vm znc+Y|e%$vjra|6rfs#|>as@5fibRCqG{_kRkA7!HcIqzHT?( z^Udi2~aKKwZ&`uCqoEMIZMMFroNUrsH$|M|tG<(bR=>IiR2 zT^oJ$@OO2wl*w=NN-rBRxh^~_!DEu_Q*os%BJH^rOON8}%SR*b=G_pqzj~>+Bg+s&b1MTQD-&Z~10ciTaemlU6b-rgDVb@NxHU{NdY1{*APKS|I6tkV oJh3R1!7(L2DOJHUH!(dmC^a#qvhZZ84Nwt-r>mdKI;Vst0G?(%xBvhE literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__list_activated_holo.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__list_activated_holo.9.png new file mode 100644 index 0000000000000000000000000000000000000000..3bf8e03623c94b68d31963ffe7e59c72c3dcc059 GIT binary patch literal 151 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ zaCd?*qxs3xYk`86o-U3d5>t~CW>mH@a{g&g;s7!l1y4Byva-KaJLVIiI)OpBYodjS ofJx&-C1HsL_x|*Yp0_#7zz}{&aC*>dO_0?Lp00i_>zopr00f~Zw*UYD literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__list_divider_holo_dark.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__list_divider_holo_dark.9.png new file mode 100644 index 0000000000000000000000000000000000000000..986ab0b9746301f2dd9401829da09e00995621b3 GIT binary patch literal 78 zcmeAS@N?(olHy`uVBq!ia0vp^%plCc1|-8Yw(bW~qMj~}Asp9}6B-)+^BAxRtXRm= az`@Yw&#rLZUbzUUfWgz%&t;ucLK6T(%Mo}0 literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__list_divider_holo_light.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__list_divider_holo_light.9.png new file mode 100644 index 0000000000000000000000000000000000000000..0279e17a123f8cbb3c7e3a9ce5c5af8e693b6977 GIT binary patch literal 76 zcmeAS@N?(olHy`uVBq!ia0vp^%plCc1|-8Yw(bW~!k#XUAsp9}6B-)+^LX%RmN2q0 Ycy4A9FVZ~13zTN?boFyt=akR{01+Y(GXMYp literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__list_focused_holo.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__list_focused_holo.9.png new file mode 100644 index 0000000000000000000000000000000000000000..7c0599e3a6fcce1d9b22e47bfdb63afb1d3d9c02 GIT binary patch literal 158 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ zaCd?*qxs3xYk`6eo-U3d5>t~6?){p=$oZ!|i46oEul1LdSjZF4rt@IU_AhE`IYK8I wIB$ByaB<8!;4zVtCm{dd@wVRWcBu>u-xEd5&snyt0Gh?%>FVdQ&MBb@09FhvcK`qY literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__list_longpressed_holo.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__list_longpressed_holo.9.png new file mode 100644 index 0000000000000000000000000000000000000000..3bf8e03623c94b68d31963ffe7e59c72c3dcc059 GIT binary patch literal 151 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ zaCd?*qxs3xYk`86o-U3d5>t~CW>mH@a{g&g;s7!l1y4Byva-KaJLVIiI)OpBYodjS ofJx&-C1HsL_x|*Yp0_#7zz}{&aC*>dO_0?Lp00i_>zopr00f~Zw*UYD literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__list_pressed_holo_dark.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__list_pressed_holo_dark.9.png new file mode 100644 index 0000000000000000000000000000000000000000..6e77525d2dbbc1673145d60d775602c85264330d GIT binary patch literal 158 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ zaCd?*qxs3xYk`6eo-U3d5>t~6?){p=$oZ!|i46oEul1LdSlBa@C*nY4{!0_J9HA2p woHspUxHx7V@R-QS6OjM!cw6swyHo~-e~lvMp^1B@1I=RaboFyt=akR{0Ay(_r~m)} literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__list_pressed_holo_light.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__list_pressed_holo_light.9.png new file mode 100644 index 0000000000000000000000000000000000000000..6e77525d2dbbc1673145d60d775602c85264330d GIT binary patch literal 158 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ zaCd?*qxs3xYk`6eo-U3d5>t~6?){p=$oZ!|i46oEul1LdSlBa@C*nY4{!0_J9HA2p woHspUxHx7V@R-QS6OjM!cw6swyHo~-e~lvMp^1B@1I=RaboFyt=akR{0Ay(_r~m)} literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__list_selector_disabled_holo_dark.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__list_selector_disabled_holo_dark.9.png new file mode 100644 index 0000000000000000000000000000000000000000..92da2f0dd3711a2ceb843768cafd6b91a2807b43 GIT binary patch literal 172 zcmeAS@N?(olHy`uVBq!ia0vp^{6MVD!3HFkzrK_Oq*#ibJVQ8upoSx*1IXtr@Q5sC zVBqcqVMg#;uvX%d>fBtxy+SfFGJhTv9Z9>9n%%Tr7{oI+Q@DMao9hQt@O?p#8;eZd15IY| MboFyt=akR{068-?^#A|> literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__list_selector_disabled_holo_light.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__list_selector_disabled_holo_light.9.png new file mode 100644 index 0000000000000000000000000000000000000000..42cb6463e4c28c6aeffa315c4fc869867dbb6b7c GIT binary patch literal 171 zcmeAS@N?(olHy`uVBq!ia0vp^{6MVD!3HFkzrK_Oq*#ibJVQ8upoSx*1IXtr@Q5sC zVBqcqVMg@oJyIHz9Y|%SiynA|kd)58s-{92FmHki*;@KxND!%;H%=F4ZU(n;yg$GVRgBd(s L{an^LB{Ts54)-;@ literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__menu_dropdown_panel_holo_dark.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__menu_dropdown_panel_holo_dark.9.png new file mode 100644 index 0000000000000000000000000000000000000000..460ec46eb0786706610e21ac9097de489cedfc33 GIT binary patch literal 651 zcmV;60(AX}P)!1&^00004b3#c}2nYxW zdZ_-Wf*5)VugS&t+23J}V*z%DOHb#W|`Z#l>;cJ*L_P;jGoKD8nX4Z`xH*Q>s zTvTl`b;%gqS1znaOc|u@tz3t7=|UK<9Hr>BJ|D1%4AOYzE>c>YASL1(e+Y^`_iG?7 z1UL~EK(|`0e*W#*UXt~C{TfUweyI5sSBLVgO?u)p&e9+4(C=i^T1GuQJ|j^LdEE0 zfZFjzm@Nd117_`XxKDqSoJXh_wG-}tW_yHE!!B|TSvyio<6k9eTgoG9O0aTdZJ81x zmbul8Z%fpkT#Wc{ND1L@No&VX#iPVF7hx`c0JdkE;3e2%ZBQYi%Oe#dj=&z+_I>|? zOJi$dCv)FoZJG3n&>Qp|;vSo*JOkf=A5uR{`;uV-QwsX>Ho!a31HXV*se5TxFFA=4 zo=3!%#5;D2+DO|6R;c8b^-B2j{s4XhZw!t1m&l3O!HmBwHn=!)kb6yF?kI1MVX*Vu z<6hz)DH{^YBPWDzO$|0isCW3@P>L98oO;C$E5=4jGEPjLS?XZ=13IvJLaC?O;nLn? z=e?6_T^b`&$N3sK+o1N3^-DyB&=+_N>geY)_rHdJwBJ%s{^4(_WBZ5MLQM53U4RfX laXn(LVYMe-Njr@(d;;;gyUim^Wn%yU002ovPDHLkV1m`SB-{W1 literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__menu_dropdown_panel_holo_light.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__menu_dropdown_panel_holo_light.9.png new file mode 100644 index 0000000000000000000000000000000000000000..e84adf2d41604323cdad8b15e7034b6137e02425 GIT binary patch literal 720 zcmV;>0x$iEP)!1&^00004b3#c}2nYxW zd09!jyup9SJyH%;E_KZI5Ed^B*iNJmRSj zBG=jNc2B+cMg+dzb=~X>SwfDye{PH^oqQ4$1^~*55|NVv2=ckIR8XoEqC|oOgc2g; zEPA&fNb-^8#Mr1#v(VQn5UdVR@QAWs>EP1 zTHM9Zaim5tPqqk+y4R~ii**RWgPIHWkr2Q-rv~$oD_;OFg!*vQOJ?oR%RhjSvm}}N zU}~@)A@q_TOphE%y@J$^Y;2GXG*T-_?U?-%UNYKi5n>WcgjmBq)+~pV5UB*Fc4!_E zr<_OV^tE=(@|l_%K9#lBPBbeU!!Q72CYl{ozqWE(s>}kg*Xy-fB`%jskbX;(+jyxw zA`k(lb8|^3?6_RfL_?Is~gyeh`O%xX?U(f4nJ zaCd?*qxs3xYk`99o-U3d5>wYsbmTgqz{8?`Dg4L(`abqnuZs;wTVv8ZBg|GX^f4xE z5ck=nld$UVv7H|oR+P30etdkz&;0SSW2^3}yn7y4rozh{Dy3k((DE(NNCr<=KbLh* G2~7afj5MhL literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__progress_bg_holo_light.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__progress_bg_holo_light.9.png new file mode 100644 index 0000000000000000000000000000000000000000..4bb22f0e10e621ef31f16100b3f682a09565c65d GIT binary patch literal 159 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 RY6Dcn;OXk;vd$@?2>^cl_{IPL literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__spinner_ab_default_holo_dark.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__spinner_ab_default_holo_dark.9.png new file mode 100644 index 0000000000000000000000000000000000000000..29aff4d43f71a025f464587ead52aff2ecae6a58 GIT binary patch literal 254 zcmeAS@N?(olHy`uVBq!ia0vp^59s(?1)eUBAs(G?r*GssWFX)$e`(35Y8e@;SI4XCdOETn3puLX+U@Np z`{}{9$F@!!Tb4}GnD8m&^|D{1rP|_tuSV&+Z=MCoD&l+{? zpGeMToA<;$LF?@fW~rUl3#RU765DB+Fm*PQ+)k?pQ&%&Ye!A+gR)$OeeXHaR#_cxq xcQACD7BHRDw&oXmu9s(?g`O^sAs(G?r*GssWFX)$e`(35d_EZ~i&w|H<&_`ZD(+MedV5zj zu-#_I+lqbxCf!wDY`(!qq|2YPZ`s2sD|KqW({JG~4*WL+Cpx;A`7$XPF&b}JE9dda zdDh0P2cC5-%kKDDBus2)4y)97FmX3?+)izQiL;plcWMSG#q&-%rTF<%+zn>y2h*Mj yizj?!^E*(P`ureMOz-ZiFXWg1cX%y7!FpSm=AYI1UI{?QGI+ZBxvX9s(?*`6+rAs(G?r#o^TG7xZ`zf?Wo$i4qI|8=SuS_>z)W_YPj?%Q>u zIp@ANM{x}Zqe@#*i-Jc_;!9;KcT)!P=e8Z65pgErb%iKSkCNb@A?yTt$n@r z2c`IHF%KKu<@hR|E_CSLV|hUMOZy3b87rAYm)KaVUb9s(?*`6+rAs(G?r#o^TG7xZ`zf?Wo$i2t+|9e$2v=&Zo&G1s6+_&pQ zbIyHljz-QjH&*S{-J;(gu&3N>@$LMyenNedpai4+B)&;SOq0|eu$bkReVyxuhm-Z9>GFCF_99MaBsxVXw=u8GrS3j3^P6KmrqN>Fc^oQq;b>Mt0(a$ z!tgX@A7RK4{kGy^A3#w21maN-UfpV|U0)B)Mu)Zk(%$xiP)OBD#retJ&sicWsshEL!WHUI0Z}S=i2Rqw=-{<_oUlU4$I1(Vt^KG}@Sd2k4!kUV zp9d;G14UN$xn@Z2Tv!X1WCiPlZi?T5Wo`s>dMMw4?2=HB&MqLoAdzh3Gg0e200000 LNkvXXu0mjf#CNP@ literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__spinner_ab_focused_holo_light.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__spinner_ab_focused_holo_light.9.png new file mode 100644 index 0000000000000000000000000000000000000000..6536ee63329bb47bec2bf2384aa494923cc2773a GIT binary patch literal 424 zcmV;Z0ayNsP)Km%mHHKmbPH_0G1~QE(|Z z3L*$mIy*=P@!u2&!BHHFf;fuc0uio1*2@YRBct9{0AyU2}iGVkcWw7UUPW(q{Hz&m;6;CQrhm;h30w)z2(`W_Vv zws(S3@Pah`KM=_o2%_3&n+}O86bq(Ag>`_N^4m7drC>+{^&N;72|01L0Qm!AONf3s S@;8qF0000Km%VDkFce0=d)+vOWKIG} zhpvGvb*AhYN}o4m@H1o!d4o*tRBGZMkUCTWmkL{wB~SUlAntIEgw4Gc(!&*+NcHqe zdbonr;tjwaz@#r!B?pk5-j_#K1)p#z)*b-3QShBfQxGf+4==MNa*z{HXhG0C1P_4~ zh;-k(7eP#tUz1`!Wij$Dh)MD;xve&Fv5GXEp_kweUysY@i1cm8S?~wm($ky-rf?^L z4cuB_3%3%uz>Nj2a3et6#z@uGqTe`wK1>2-pyo{<@B~f=x)vOqS_S8F z{BbGcPm`Srko*>0TM51dS0?bbgq{a9*ucpHu=A!M^DM~~^Y@aViMI>L4{MrZFUa%^ Q4*&oF07*qoM6N<$f+pdR_W%F@ literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__spinner_ab_pressed_holo_light.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__spinner_ab_pressed_holo_light.9.png new file mode 100644 index 0000000000000000000000000000000000000000..6de0ba8841d25f20f12e14002ecc4c9ec6a7b2f8 GIT binary patch literal 370 zcmV-&0ge8NP)Kmp@CxKpa3{epU;uAYD{w zoy1-2XXsG+d5c4J(@pInLg`pK=_I6J(k2d`5V?BE{Yj@j2pl)OcgK;0qd#7akgCKEJ@PeExDlrpx^Tf8?8gJ#K-Da<_nm z+&*9_w+lGPs|OtA)dC)JfQDKAb-?t#>nbk~ygr<>n4NOeOiNA8R)UE3F)|0PZr-`P z{wS3Lh~%_Rw1t=h$DO2-+|>0Ilo0LghZEP}j*Edw;7F{TKbM3p1iOHI0}cLp61dt? QIsgCw07*qoM6N<$f;wQ9<^TWy literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__tab_selected_focused_holo.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__tab_selected_focused_holo.9.png new file mode 100644 index 0000000000000000000000000000000000000000..c9972e74bb4fc7416960e238afd47b1ac363e316 GIT binary patch literal 148 zcmeAS@N?(olHy`uVBq!ia0vp^EI`b~!3HEJ|NhSh5-4`^4B-HR8jh3>AfL0qBeIx* zfx8og8O=|gUJDd7^K@|x;h4Gh+(zC520Y9MizoD2>~^~(JZa^V pUoEkkaeSh9w)TUlKa6vZ+qJ0**((%Vy8umK@O1TaS?83{1OR&wE2RJc literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__tab_selected_holo.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__tab_selected_holo.9.png new file mode 100644 index 0000000000000000000000000000000000000000..587337caf74f9ba3d32ba1c7cc8fb8b0b5ba245b GIT binary patch literal 151 zcmeAS@N?(olHy`uVBq!ia0vp^EI`b~!3HEJ|NhSh5-4`^4B-HR8jh3>AfL0qBeIx* zfx8og8O=|gUJDeo^mK6y;h4Gh+(zC53JlB#xw8$}k`45e4cLk;e3y7!_%!uv(Z^d6 t0#9x~Qa^f(Id{#0H&;LIP<)f9-+fKc+F|3Yl|VxnJYD@<);T3K0RZ_tFJ}M% literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__tab_selected_pressed_holo.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__tab_selected_pressed_holo.9.png new file mode 100644 index 0000000000000000000000000000000000000000..155c4fc753ed43185b31df3bea2af1ea5b3e7482 GIT binary patch literal 150 zcmeAS@N?(olHy`uVBq!ia0vp^EI`b~!3HEJ|NhSh5-4`^4B-HR8jh3>AfL0qBeIx* zfx8og8O=|gUJDeo@N{tu;h33haPQZY#>U2n_RP$O>mRT6my}r88lS< uMnfl1c4A|rBX^f%!~&s(1*$LFm>5oL2|PB@cz*+E5QC?ypUXO@geCw>u`ROz literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__textfield_search_default_holo_dark.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__textfield_search_default_holo_dark.9.png new file mode 100644 index 0000000000000000000000000000000000000000..081657ee7b828a74287d65d2f4644af9c7b55816 GIT binary patch literal 106 zcmeAS@N?(olHy`uVBq!ia0vp^JV4CO!3HF4Hmy+sQih%`jv*44lYjjGZ_jMS*7QH1 z$Cu9~IqOiSz?8?{Eo||(vKg$oJDqvb4v1Q5NJR27d@z6V;avVV1E6LGPgg&ebxsLQ E0ED?8Qvd(} literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__textfield_search_default_holo_light.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__textfield_search_default_holo_light.9.png new file mode 100644 index 0000000000000000000000000000000000000000..3f312b465189caa47a7f8e4bc53c3222521e0bb1 GIT binary patch literal 100 zcmeAS@N?(olHy`uVBq!ia0vp^JV4CO!3HF4Hmy+sQrey_jv*44lYjjGZ_jMS*7QH1 y$CppZQKez^S5>Et`mrVp3OWu(*tYT>W@HfhtG!C@Uj!>q8-u5-pUXO@geCyVL>!s` literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__textfield_search_right_default_holo_dark.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__textfield_search_right_default_holo_dark.9.png new file mode 100644 index 0000000000000000000000000000000000000000..b086fae8738227fc0b4f05171ded25ec1503e49d GIT binary patch literal 105 zcmeAS@N?(olHy`uVBq!ia0vp^JV4CO!3HF4Hmy+sQU;zbjv*44lYjjGZ_jMS*7QH1 z$Cu9~IqOiSz{ak|8`Hl@9XRLoNT6Brf-|eO+cr*y`8p4HWnZ4T3DnEr>FVdQ&MBb@ E0JhyB4*&oF literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__textfield_search_right_default_holo_light.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__textfield_search_right_default_holo_light.9.png new file mode 100644 index 0000000000000000000000000000000000000000..73c336a77a9c908532b5b39098c22a878e0e87bf GIT binary patch literal 98 zcmeAS@N?(olHy`uVBq!ia0vp^JV4CO!3HF4Hmy+sQktGFjv*44lYjjGZ_jMS*7QH1 w$CppZQANR3w^={dWI;j4L5+C_+aEG8Z2O~g(C$e@C{PoFr>mdKI;Vst0EP1$iU0rr literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__textfield_search_right_selected_holo_dark.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__textfield_search_right_selected_holo_dark.9.png new file mode 100644 index 0000000000000000000000000000000000000000..726e0ff427cd175c9c3607e25352bd696a3152c1 GIT binary patch literal 107 zcmeAS@N?(olHy`uVBq!ia0vp^JV4CO!3HF4Hmy+sQbwLGjv*44lYjjGZ_jMS*7QH1 z$CppT@G}o{phONwVb}j=LshAN!kv;Qt~79nzL7Xt$zT{YC1>l7eH(zf89ZJ6T-G@y GGywpjU?4sK literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__textfield_search_right_selected_holo_light.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__textfield_search_right_selected_holo_light.9.png new file mode 100644 index 0000000000000000000000000000000000000000..726e0ff427cd175c9c3607e25352bd696a3152c1 GIT binary patch literal 107 zcmeAS@N?(olHy`uVBq!ia0vp^JV4CO!3HF4Hmy+sQbwLGjv*44lYjjGZ_jMS*7QH1 z$CppT@G}o{phONwVb}j=LshAN!kv;Qt~79nzL7Xt$zT{YC1>l7eH(zf89ZJ6T-G@y GGywpjU?4sK literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__textfield_search_selected_holo_dark.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__textfield_search_selected_holo_dark.9.png new file mode 100644 index 0000000000000000000000000000000000000000..1767c169eef03f3370b0f8e40f531dd481a9b82d GIT binary patch literal 109 zcmeAS@N?(olHy`uVBq!ia0vp^JV4CO!3HF4Hmy+sQYM}*jv*44lYjjGZ_jMS*7QH1 z$CppT@G}o{phONw%V+tnLd~`l!OqNzXB@V%srV-z^vGhE?K{(iZ(fQrP(OpGtDnm{ Hr-UW|vZo$& literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__textfield_search_selected_holo_light.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-mdpi/abs__textfield_search_selected_holo_light.9.png new file mode 100644 index 0000000000000000000000000000000000000000..1767c169eef03f3370b0f8e40f531dd481a9b82d GIT binary patch literal 109 zcmeAS@N?(olHy`uVBq!ia0vp^JV4CO!3HF4Hmy+sQYM}*jv*44lYjjGZ_jMS*7QH1 z$CppT@G}o{phONw%V+tnLd~`l!OqNzXB@V%srV-z^vGhE?K{(iZ(fQrP(OpGtDnm{ Hr-UW|vZo$& literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-v11/abs__progress_medium_holo.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-v11/abs__progress_medium_holo.xml new file mode 100644 index 000000000..6bcbdb83f --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-v11/abs__progress_medium_holo.xml @@ -0,0 +1,34 @@ + + + + + + + + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ab_bottom_solid_dark_holo.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ab_bottom_solid_dark_holo.9.png new file mode 100644 index 0000000000000000000000000000000000000000..575334699663b221b5a2b3251572a7c7a23ddb4a GIT binary patch literal 165 zcmeAS@N?(olHy`uVBq!ia0vp^Mj*_=1|;R|J2nET98VX=kc@k8Z|>$jV8FrZ@U7ta z-*T0WQ@><>I%v71J%hiqt0P@2{q!E)%~9Ermd_VC*s;IdoBnhS>rHk6>|lcSgpVF9 tjEp}SQ%vGx1w)$%c)I$ztaD0e0sua~Gttc^?peW`&R>iA3bc>G)78&qol`;+04`QPF8}}l literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ab_bottom_solid_light_holo.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ab_bottom_solid_light_holo.9.png new file mode 100644 index 0000000000000000000000000000000000000000..8155fe840532e1d0fc25450729892ea73c4e007a GIT binary patch literal 166 zcmeAS@N?(olHy`uVBq!ia0vp^Mj*_=1|;R|J2nETTu&Frkc@k8Z|>$jV8FrZ@J;?q zbcL8uwC8*^`8m#29p5Ib=%`p$wC&7oqt#odO)b{rdQv>$UUk^Hs0pFVdQ&MBb@0G6aYR{#J2 literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ab_bottom_transparent_light_holo.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ab_bottom_transparent_light_holo.9.png new file mode 100644 index 0000000000000000000000000000000000000000..fa4d76af93de31de153c6a7d41c05496bb14d2c0 GIT binary patch literal 152 zcmeAS@N?(olHy`uVBq!ia0vp^Mj*_=1|;R|J2nETcuyC{kc@k8Z*AmdP~c#3C@cDZ z^MXtGfey<_%m2nWx~HUtq@RtOD!V+x#J|ag^QD{sZZM%<(R`m!o+Hzd-iC%RO>bP0l+XkKAqp+G literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ab_share_pack_holo_dark.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ab_share_pack_holo_dark.9.png new file mode 100644 index 0000000000000000000000000000000000000000..9a70a5d1e3ad43f632287aff78d86289259099db GIT binary patch literal 2878 zcmV-E3&He>P)Oz@Z0f2-7z;ux~O9+4z06=<WDR*FRcSTFz- zW=q650N5=6FiBTtNC2?60Km==3$g$R3;-}uh=nNt1bYBr$Ri_o0EC$U6h`t_Jn<{8 z5a%iY0C<_QJh>z}MS)ugEpZ1|S1ukX&Pf+56gFW3VVXcL!g-k)GJ!M?;PcD?0HBc- z5#WRK{dmp}uFlRjj{U%*%WZ25jX z{P*?XzTzZ-GF^d31o+^>%=Ap99M6&ogks$0k4OBs3;+Bb(;~!4V!2o<6ys46agIcq zjPo+3B8fthDa9qy|77CdEc*jK-!%ZRYCZvbku9iQV*~a}ClFY4z~c7+0P?$U!PF=S z1Au6Q;m>#f??3%Vpd|o+W=WE9003S@Bra6Svp>fO002awfhw>;8}z{#EWidF!3EsG z3;bXU&9EIRU@z1_9W=mEXoiz;4lcq~xDGvV5BgyU zp1~-*fe8db$Osc*A=-!mVv1NJjtCc-h4>-CNCXm#Bp}I%6j35eku^v$Qi@a{RY)E3 zJ#qp$hg?Rwkvqr$GJ^buyhkyVfwECO)C{#lxu`c9ghrwZ&}4KmnvWKso6vH!8a<3Q zq36)6Xb;+tK10Vaz~~qUGsJ8#F2=(`u{bOVlVi)VBCHIn#u~6ztOL7=^<&SmcLWlF zMZgI*1b0FpVIDz9SWH+>*hr`#93(Um+6gxa1B6k+CnA%mOSC4s5&6UzVlpv@SV$}* z))J2sFA#f(L&P^E5{W}HC%KRUNwK6<(h|}}(r!{C=`5+6G)NjFlgZj-YqAG9lq?`C z$c5yc>d>VnA`E_*3F2Qp##d8RZb=H01_mm@+|Cqnc9PsG(F5HIG_C zt)aG3uTh7n6Et<2In9F>NlT@zqLtGcXcuVrX|L#Xx)I%#9!{6gSJKPrN9dR61N3(c z4Tcqi$B1Vr8Jidf7-t!G7_XR2rWwr)$3XQ?}=hpK0&Z&W{| zep&sA23f;Q!%st`QJ}G3cbou<7-yIK2z4nfCCCtN2-XOGSWo##{8Q{ATurxr~;I`ytDs%xbip}RzP zziy}Qn4Z2~fSycmr`~zJ=lUFdFa1>gZThG6M+{g7vkW8#+YHVaJjFF}Z#*3@$J_By zLtVo_L#1JrVVB{Ak-5=4qt!-@Mh}c>#$4kh<88)m#-k<%CLtzEP3leVno>={htGUuD;o7bD)w_sX$S}eAxwzy?UvgBH(S?;#HZiQMoS*2K2 zT3xe7t(~nU*1N5{rxB;QPLocnp4Ml>u<^FZwyC!nu;thW+pe~4wtZn|Vi#w(#jeBd zlf9FDx_yoPJqHbk*$%56S{;6Kv~mM9!g3B(KJ}#RZ#@)!hR|78Dq|Iq-afF%KE1Brn_fm;Im z_u$xr8UFki1L{Ox>G0o)(&RAZ;=|I=wN2l97;cLaHH6leTB-XXa*h%dBOEvi`+x zi?=Txl?TadvyiL>SuF~-LZ;|cS}4~l2eM~nS7yJ>iOM;atDY;(?aZ^v+mJV$@1Ote z62cPUlD4IWOIIx&SmwQ~YB{nzae3Pc;}r!fhE@iwJh+OsDs9zItL;~pu715HdQEGA zUct(O!LkCy1<%NCg+}G`0PgpNm-?d@-hMgNe6^V+j6x$b<6@S<$+<4_1hi}Ti zncS4LsjI}fWY1>OX6feMEuLErma3QLmkw?X+1j)X-&VBk_4Y;EFPF_I+q;9dL%E~B zJh;4Nr^(LEJ3myURP{Rblsw%57T)g973R8o)DE9*xN#~;4_o$q%o z4K@u`jhx2fBXC4{U8Qn{*%*B$Ge=nny$HAYq{=vy|sI0 z_vss+H_qMky?OB#|JK!>IX&II^LlUh#rO5!7TtbwC;iULyV-Xq?ybB}ykGP{?LpZ? z-G|jbTmIbG@7#ZCz;~eY(cDM(28Dyq{*m>M4?_iynUBkc4TkHUI6gT!;y-fz>HMcd z&t%Ugo)`Y2{>!cx7B7DI)$7;J(U{Spm-3gBzioV_{p!H$8L!*M!p0uH$#^p{Ui4P` z?ZJ24cOCDe-w#jZd?0@)|7iKK^;6KN`;!@ylm7$*nDhK&GcDTy000JJOGiWi{{a60 z|De66lK=n!32;bRa{vGf6951U69E94oEQKA00(qQO+^RX1_J~vGQu*xNB{r;a7jc# zRA}Dq+0hBWAPhi3Q@Ty}AEooe5gKSkvG)d$ocJNy+WT^mH6%%rG^i-u=rXUVLq^Oz@Z0f2-7z;ux~O9+4z06=<WDR*FRcSTFz- zW=q650N5=6FiBTtNC2?60Km==3$g$R3;-}uh=nNt1bYBr$Ri_o0EC$U6h`t_Jn<{8 z5a%iY0C<_QJh>z}MS)ugEpZ1|S1ukX&Pf+56gFW3VVXcL!g-k)GJ!M?;PcD?0HBc- z5#WRK{dmp}uFlRjj{U%*%WZ25jX z{P*?XzTzZ-GF^d31o+^>%=Ap99M6&ogks$0k4OBs3;+Bb(;~!4V!2o<6ys46agIcq zjPo+3B8fthDa9qy|77CdEc*jK-!%ZRYCZvbku9iQV*~a}ClFY4z~c7+0P?$U!PF=S z1Au6Q;m>#f??3%Vpd|o+W=WE9003S@Bra6Svp>fO002awfhw>;8}z{#EWidF!3EsG z3;bXU&9EIRU@z1_9W=mEXoiz;4lcq~xDGvV5BgyU zp1~-*fe8db$Osc*A=-!mVv1NJjtCc-h4>-CNCXm#Bp}I%6j35eku^v$Qi@a{RY)E3 zJ#qp$hg?Rwkvqr$GJ^buyhkyVfwECO)C{#lxu`c9ghrwZ&}4KmnvWKso6vH!8a<3Q zq36)6Xb;+tK10Vaz~~qUGsJ8#F2=(`u{bOVlVi)VBCHIn#u~6ztOL7=^<&SmcLWlF zMZgI*1b0FpVIDz9SWH+>*hr`#93(Um+6gxa1B6k+CnA%mOSC4s5&6UzVlpv@SV$}* z))J2sFA#f(L&P^E5{W}HC%KRUNwK6<(h|}}(r!{C=`5+6G)NjFlgZj-YqAG9lq?`C z$c5yc>d>VnA`E_*3F2Qp##d8RZb=H01_mm@+|Cqnc9PsG(F5HIG_C zt)aG3uTh7n6Et<2In9F>NlT@zqLtGcXcuVrX|L#Xx)I%#9!{6gSJKPrN9dR61N3(c z4Tcqi$B1Vr8Jidf7-t!G7_XR2rWwr)$3XQ?}=hpK0&Z&W{| zep&sA23f;Q!%st`QJ}G3cbou<7-yIK2z4nfCCCtN2-XOGSWo##{8Q{ATurxr~;I`ytDs%xbip}RzP zziy}Qn4Z2~fSycmr`~zJ=lUFdFa1>gZThG6M+{g7vkW8#+YHVaJjFF}Z#*3@$J_By zLtVo_L#1JrVVB{Ak-5=4qt!-@Mh}c>#$4kh<88)m#-k<%CLtzEP3leVno>={htGUuD;o7bD)w_sX$S}eAxwzy?UvgBH(S?;#HZiQMoS*2K2 zT3xe7t(~nU*1N5{rxB;QPLocnp4Ml>u<^FZwyC!nu;thW+pe~4wtZn|Vi#w(#jeBd zlf9FDx_yoPJqHbk*$%56S{;6Kv~mM9!g3B(KJ}#RZ#@)!hR|78Dq|Iq-afF%KE1Brn_fm;Im z_u$xr8UFki1L{Ox>G0o)(&RAZ;=|I=wN2l97;cLaHH6leTB-XXa*h%dBOEvi`+x zi?=Txl?TadvyiL>SuF~-LZ;|cS}4~l2eM~nS7yJ>iOM;atDY;(?aZ^v+mJV$@1Ote z62cPUlD4IWOIIx&SmwQ~YB{nzae3Pc;}r!fhE@iwJh+OsDs9zItL;~pu715HdQEGA zUct(O!LkCy1<%NCg+}G`0PgpNm-?d@-hMgNe6^V+j6x$b<6@S<$+<4_1hi}Ti zncS4LsjI}fWY1>OX6feMEuLErma3QLmkw?X+1j)X-&VBk_4Y;EFPF_I+q;9dL%E~B zJh;4Nr^(LEJ3myURP{Rblsw%57T)g973R8o)DE9*xN#~;4_o$q%o z4K@u`jhx2fBXC4{U8Qn{*%*B$Ge=nny$HAYq{=vy|sI0 z_vss+H_qMky?OB#|JK!>IX&II^LlUh#rO5!7TtbwC;iULyV-Xq?ybB}ykGP{?LpZ? z-G|jbTmIbG@7#ZCz;~eY(cDM(28Dyq{*m>M4?_iynUBkc4TkHUI6gT!;y-fz>HMcd z&t%Ugo)`Y2{>!cx7B7DI)$7;J(U{Spm-3gBzioV_{p!H$8L!*M!p0uH$#^p{Ui4P` z?ZJ24cOCDe-w#jZd?0@)|7iKK^;6KN`;!@ylm7$*nDhK&GcDTy000JJOGiWi{{a60 z|De66lK=n!32;bRa{vGf6951U69E94oEQKA00(qQO+^RX1_J~w7UwE!*Z=?kYe_^w zRA}Dq*ij0AAP_)7jSl9~yV-h#HcAqm_bsv`eu$;KFDBVTk|arks>yZj=Q*#tN9XzB zW}`|S;<3ur0s#R50RaI40Rc%tViibrwLm~XKtMo1KtQ&DJo$}pMUo^*TbBJUjoIhy Xx&sG-cNbs*00000NkvXXu0mjfHD**$ literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ab_solid_dark_holo.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ab_solid_dark_holo.9.png new file mode 100644 index 0000000000000000000000000000000000000000..6622cbad34409b2e09f69e305455482ee107baa6 GIT binary patch literal 163 zcmeAS@N?(olHy`uVBq!ia0vp^Mj*_=1|;R|J2nETEKe85kc@k8FK-lVFc4sN{QB_B z&fog}EEk$2&*T)$|Ch61%h`96?xa8O-xitu^~t0=vn)PNZ(|U lO#br3!H&B!tiEU`L+e4N?emv^?*rP(;OXk;vd$@?2>`X4Gjad` literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ab_solid_light_holo.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ab_solid_light_holo.9.png new file mode 100644 index 0000000000000000000000000000000000000000..c4272978338a232aa445ed5190abab61afcedb16 GIT binary patch literal 163 zcmeAS@N?(olHy`uVBq!ia0vp^Mj*_=1|;R|J2nETEKe85kc@k8FK^^+Fc4rl_yt@$W?82D^ReIqPjo#d{bLmpkiN+x lnf&F6gB^EeSbfn>hW*nwPPt#_849$O!PC{xWt~$(697sdG9dr} literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ab_solid_shadow_holo.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ab_solid_shadow_holo.9.png new file mode 100644 index 0000000000000000000000000000000000000000..d0df29d8b3fef9f71cda9b7a0975c68dcfb05685 GIT binary patch literal 290 zcmV+-0p0$IP)(^RAa&-b-qmfdL= zKY^DZ_=R_1v^+>Y{!mW=MF!v|2#Q>Q>z_&4i6T94j-Y4q`P>I~g?cE`S~^QhBCU5$ z-8a`dJ38hrt)qwm8XJx0+%VAuW=z7Jg@`1pBAUrf#Ef=wZl|UqH7RO)u1OwK(@xK~ zuV&5*5lN0GQV~igR!o15*n1TfDTP6ilQ72>QBJOyK^2jQYHlAzlrUMuFCtAA$s$=K oi)4{qME3aCu~lSF#Q4a(0o}otDK%H_Q2+n{07*qoM6N<$f*T@rc>n+a literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ab_stacked_solid_dark_holo.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ab_stacked_solid_dark_holo.9.png new file mode 100644 index 0000000000000000000000000000000000000000..a0d9c1b957ea4a6ce62abd120668610d0cb2bd96 GIT binary patch literal 163 zcmeAS@N?(olHy`uVBq!ia0vp^Mj*_=1|;R|J2nETEKe85kc@k8FK^^+Fc4rlxca~( z?t=fRa*SINS}wBuewp3mefy2x$=b4i8MC*B`RkorJG1!P69>HDUX#kpcm>9d6MZKb ky7}`x**qcrtNL{AY0h>p*ZiBQ0JN3C)78&qol`;+0O3wK)&Kwi literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ab_stacked_solid_light_holo.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ab_stacked_solid_light_holo.9.png new file mode 100644 index 0000000000000000000000000000000000000000..d36f99fecf223779432fb843b823c04d739f05cb GIT binary patch literal 163 zcmeAS@N?(olHy`uVBq!ia0vp^Mj*_=1|;R|J2nETEKe85kc@k8FK-lVFc4sN{Ca;{ zvU;8e%Y`P%GdTtG|K%*$a`xS%JL%8+w?$@ueKP6JEX#C%J{El7iLS?_f2=|R(l=Qo klfOK1u;Z=_t1sHgP`H~Vw5GX>6KE@gr>mdKI;Vst03NU~l>h($ literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ab_stacked_transparent_dark_holo.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ab_stacked_transparent_dark_holo.9.png new file mode 100644 index 0000000000000000000000000000000000000000..5ad475dc3f478734be31bc5763ff494e5f120914 GIT binary patch literal 158 zcmeAS@N?(olHy`uVBq!ia0vp^Mj*_=1|;R|J2nETR8JSjkc@k8Z!P3yFyvu&IDfHo z*MFzV3!h#&I<8{wJG6*7%`^0A*`zgvpO3}4Jy+2bzzZhGPxw0F1DlG16;n~mnRAu= eo1*Vq{$#i=98+;OAz%&ALIzJ)KbLh*2~7aXVK40f literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ab_stacked_transparent_light_holo.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ab_stacked_transparent_light_holo.9.png new file mode 100644 index 0000000000000000000000000000000000000000..6ade5eeb37d8388813cee512f8adaad0f6c15397 GIT binary patch literal 152 zcmeAS@N?(olHy`uVBq!ia0vp^Mj*_=1|;R|J2nETcuyC{kc@k8FE8XhU?9M9Fk3-& z>Hkf73eN%?4n{M7dy#!$d2ZSCCv)eTUt5@6!ODmi{A7$QW>Hb7V|gN6#Q)yLqkTHN Y-hRf#&+ODnfL1Yhy85}Sb4q9e0PNo==Kufz literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ab_transparent_dark_holo.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ab_transparent_dark_holo.9.png new file mode 100644 index 0000000000000000000000000000000000000000..719b9234df6fefc32c628a212141681df3414d85 GIT binary patch literal 171 zcmeAS@N?(olHy`uVBq!ia0vp^Mj*_=1|;R|J2nETB2O2`kc@k8Z(Za)puoZEAojv! z?q20mzFS+?F-&~oGw)ovvN+_p>pJvXn6S<7W@Fox#)9&t;ucLK6T;ku_WZ literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ab_transparent_light_holo.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ab_transparent_light_holo.9.png new file mode 100644 index 0000000000000000000000000000000000000000..6da264db26b5debc433e570e454f7ad596d3609c GIT binary patch literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^Mj*_=1|;R|J2nETbWaz@kc@k8Z*Aml2;gwNxP9_w z>q*543$-17oYd6QwPclDxvFIP6Y06uZ3-`2R5T~}Ha6e^YubHkRDB$o9=Xj@xc>Lb i$;LIUf5PjFDj6>?G+3v-_OK(+N(N6?KbLh*2~7a3Fg*4E literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__btn_cab_done_default_holo_dark.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__btn_cab_done_default_holo_dark.9.png new file mode 100644 index 0000000000000000000000000000000000000000..7ef2db75e273c3a4fa34a867d43714d47b67dfd9 GIT binary patch literal 109 zcmeAS@N?(olHy`uVBq!ia0vp^tUzqR!3HEvyN#v+DHBf@#}JFt$r%|L2@FmD6{OlE zCs-P=E^ay;FECBu-~a#X*$!!Fy;QT1l2!H>nDyu1;UEQuS2t(=%(&d{0o2dn>FVdQ I&MBb@0Ph$gIRF3v literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__btn_cab_done_default_holo_light.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__btn_cab_done_default_holo_light.9.png new file mode 100644 index 0000000000000000000000000000000000000000..2283b4c01f31c24c241101989a028a28e662ff2d GIT binary patch literal 108 zcmeAS@N?(olHy`uVBq!ia0vp^tUzqR!3HEvyN#v+DPvC;#}JFt$r%|L2@FmD6{OlE zCs-P=E^ay;FECA@!GWvmzw+t@{SPuqdTbmsKKbP0l+XkKVJ9JJ literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__btn_cab_done_focused_holo_light.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__btn_cab_done_focused_holo_light.9.png new file mode 100644 index 0000000000000000000000000000000000000000..3c909b51306d684dc9fc4deb674ab1e1feb7004e GIT binary patch literal 113 zcmeAS@N?(olHy`uVBq!ia0vp^tUzqR!3HEvyN#xSIG!$!Ar_~TGcqy~7@GboNVOeo z`FL&lz5>PtO@Rj=>T@VLG&w|ZbqQ*{RI`whRrVK{_2=K=E+vL!&S{*=@1z8QW-xfV L`njxgN@xNAaNr>U literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__btn_cab_done_pressed_holo_dark.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__btn_cab_done_pressed_holo_dark.9.png new file mode 100644 index 0000000000000000000000000000000000000000..131d1030c9d5b447ef62fc8e336d9d3950ff7519 GIT binary patch literal 115 zcmeAS@N?(olHy`uVBq!ia0vp^tUzqR!3HEvyN#v+DJxGG#}JFt$r%|L2@FmD6{Ok@ zwtT#{-1s4r1MA|Z!|?(x4J`lv|6k8`NJHzTnuV0CvcJHrKmQJQDKT8Re5&^Sxg#LM O7(8A5T-G@yGywoD=q9NE literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__btn_cab_done_pressed_holo_light.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__btn_cab_done_pressed_holo_light.9.png new file mode 100644 index 0000000000000000000000000000000000000000..3e7dcdfdbaf66d51a90633e6f601bfe71b0c5069 GIT binary patch literal 113 zcmeAS@N?(olHy`uVBq!ia0vp^tUzqR!3HEvyN#xSIG!$!Ar_~TGcqy~7@GboNVOeo z`FL%)@k1sD*2PVS;{{wASQ@v8h$x3#@+~m2a+{}M^7C)Is4GMKie-X3Pa7xz&0z3! L^>bP0l+XkKapWP} literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__cab_background_bottom_holo_dark.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__cab_background_bottom_holo_dark.9.png new file mode 100644 index 0000000000000000000000000000000000000000..0bd09806f5c85ad3a33ec80c2a526e9dba34d1f3 GIT binary patch literal 166 zcmeAS@N?(olHy`uVBq!ia0vp^Mj*_=1|;R|J2nETTu&Frkc@k8uN>rTFyLXm;P>R{ z?#-o|?nQl9Ua&YVWQl+9{Kh9CkJo#*NAA>4+xPwD`<&mEu1}vZI664|W68WNxRjX* q7uY2C$wZnF2qKv(-xu6mlE@I5@4DcHNa}B(#SEUVelF{r5}E+w(lnv~ literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__cab_background_bottom_holo_light.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__cab_background_bottom_holo_light.9.png new file mode 100644 index 0000000000000000000000000000000000000000..43ed26d4784aa508b93551bdb0359b959bd2c91b GIT binary patch literal 161 zcmeAS@N?(olHy`uVBq!ia0vp^Mj*_=1|;R|J2nET3{Mxwkc@k8uUzCjV8Fq8;LR1* z*j37dP53cYgnN@8iE~W|ez(m3TTj;06C0 vR9@;$usQD^o~Q2-Eg&#Ke!|DE+S9qyz8u@<_Da1C=l}*!S3j3^P6YLYC-!V(AVEFG+v!>way|q9)89ZJ6T-G@yGywpFG&bP? literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__dialog_full_holo_dark.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__dialog_full_holo_dark.9.png new file mode 100644 index 0000000000000000000000000000000000000000..f4970ad1c3278235157ac72f71fc98f159fdc439 GIT binary patch literal 2159 zcmV-#2$1)QP)7pj*K04R=GS>IExgb+dqA%qY@2qDDdSi?}MdX75WMJ|ri_~yampZf~b zyDwJPzURp0aERFLx!K0Z6`{S(+b^7Rq0fZm(kDLm@P!|`&m~8kF)y`OQ+*6SLgj(n*c6WFZ`T<6tC6A%w8 z+L+Kg_>sWYRhaz=AtQLA^@LuUvKr4zS(=h&ATdHMd1uOv+V9M9YYe+zz%fKlM3B!~ zyq*EP{ZyC9dltDoQc<8ZrM^eE_Hte#g^dKR2>{;+o?xX#_XJ<6fcSW3 z(2+n3e1qrFpfvl1x~?#Fy4|E$M6lRgKuT?d8dD>b&VB465lv_ms575+OWy%#u@k+N zI%?Q+K~hGrT_7#|a=gF%@ZrOc@87@w`1bAFU(2$bW3Gd+|4`xmgT=9~$+>Rd`_AEe z?tAPdzh~^4zVA1WkB@)c-QE59<;$19v5OvFA}vv41E1cCHa5&@4N;9-`R?7jpWeKA z^Yg>QL%m+FvDt*4cRX_bt0?zBkB(K>DX%%#=N+5R(_-8y- zVb>j!?$Wbc5y%%}IfCs9*+@_USOKV3tJQDczI|KW-rgqvI6{s^UDwxjUH<~$ckEhw z$wzfwA%@V6dv=Zxn=8;sa(#b)ziOIh-@k{Dz1VCvD9chBW?(0HZ$3-*gQG?|lNRhy zsce!AuP~V46@dEg?(QVrAwo2L-=l3?V9=qSyONQk&Kv_~&Lf1nMm8E$0BV|mEX9~d zNP}Lf5}1xu21h4T$+9&-HQuut%PRmY8i6duXoOerBY}OxLGlJ5BU$zc%^yh8OvsW{ z7(^}+!OmYLNsSuWi7|-^5)oDyq5>gHA{u-eOKk`#f#=$OmM4_(@m{kC%_W5DAmmhR z=d>`52C;YCwuB;r{%j}Ebe_P7K+b^`h8A8*tydWpwYtuV2y(IKDEl%UBLZ0(i3V1m zfUn~Tp;05RlF3Ax+6Y;a8pF(Tjoo`iqE#Ca+!sAl5kbmO&cKL3&H*nkK%{gluy`-t zg(lV{G7z#PI)C*NX293=me{C~cPz9KvLxQ9W=NZ^Ugspsp|?>vp+=TQM}wGdXLXG{ zVi`Ci0$G}v=(F^hV}w+)Oe2t`iJ2g)`#yKX$5zN3ft&-L4rl3d-=WWF22RL{IarUJ z10V#?jlh->hk8-+(B={{f_KC0$_Y6UbF}H| z)iXk95=}<}9Szz&zBnPrq{TEU=*R&0y55rN8c7*TmhI~1gq#|$ON79_OO5CMyD7gV z9}@irgLxzpwBV#1S)NvH5*4HjnIZdKqfiE}-PZx=`o6zC@DCwmFGlT6G>P~~(uABG zK}Q3f7d(yIx@nqEUDtg*;O`-1HeJ_!ZJOp2fHih{)cJyq3PN^{5b9^?iHmLcxw*Od zt7)3gecv~S{b_{c(f57RG|lImo14Ed?FxBAs6Zqt*x!B;W5{pK*JF7#9(y&G-;L+K zAIl#wtZ4Xp+<&dElXaOZRbPeOuW5VVgIpFOP7$z(T3Yv~vHW)|AI5VJTZ64^6BEBSg#y zGM}I)%~}j17KiFDEnOcuUt#E@>0HCEcF3*~0j6Ce`xZm1O5Ih`IeuTN+ty1RWW4eh`~TOU@&BM)3MkQgMM@bdYm8B8c#1 z#@ViWE78D40!D<(#Tx`hXJ-KSDrqoae31hLi8 z$z>DjeP}^jBk1AK*j$2rhW(rzJ{2JYJMmiAitr^tE-^SXloO=ZTOgN*_a2ZHvyBd7 z1l@JghOv{s(P7lwc?A9CfSo}^z#H{B))n$biD&`>gkS9e;$0Z5~J8tXRDNuF002ovPDHLkV1mNB_TK;i literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__dialog_full_holo_light.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__dialog_full_holo_light.9.png new file mode 100644 index 0000000000000000000000000000000000000000..172fc3b5e3caf3357e706be2a1f0d91f357c8e5f GIT binary patch literal 2302 zcmV2ok^m97efLZMJ76bgmHN3TVPgynL1iZF^o zv0AMLkI|bD5@Z+S7;_RWD$X2Q#-Gi>; z=tN2`078B~PH0>efZ`B@1i||(&~g>qMGRTwTrQXXbnj39hPAQB*)bIg_=HbA_WGzO zR;yL=j9HSDjSEl*;KYv!A@o|O_=;IUA}l9+ObGitX|Dzg#M7mV*iktr2nZlVbl%^^ zH53Ym36TIhGR!|u7{3PC~!L=Y2z z32ZT8B;zY)i(nCqF!62X25hwu6@!!-aVKznAwf{$S4ay%(<6lhDJ|l}=KVE%xD;tO zjxokGV%Vil6ww-?fi&aiwtz1TI;KLw!36;9iSC?$w}w5ZTIo^H5hBZ^Apum+pFjWp*|TRqUSD7TX^iIhX;RaeQQ zE(9uq^MWzvYwRam(2Co38gn;jAmP?U& z&MGvUhjxmcRMYbSg3kR zZt4g}LPgLEq&hYm(J$si0u;4;IwvxY6?fp6l#|X8fH;pmq-q5ISi1H|(Ge;Lg>w@fkyi)P5d7;2~0$MDQ@!DE$`cg61AQt41xJiqTo9Dlsio7bTA}sD9BZvH#!%wZ zmJ%ND@1^DnZ%X(Ld?$$A6k0J~NE59ixD&!XX{j@~=b>7mwKZvxCyp*B)cAo?C*Y0% z?1kZeY?X^e-9W)XxdpU^5OahW`IAUpYa}@W?W5#&t4q8l2swcYLBS!VH7P;dBP@_? zQAk2?GdMjs_n0oBI`TV#(4X2ifxe2hDg*@upKxQ&K(mtAk|`HJPz)_1HaAZ&&GHf7 zsz6IO?f{EsSe^=LZJ-DtRGZRNi3)(P24xANDG)6Gj(#dNGOP_9D0K*+?F8HR`Nj#&1(CYoj<+oYNw{1t4Y0L^ri-RBp`1VD6hPVuR0IkNiMUb`EeV02O|F6c zauGd$;Lv5&C{!~b&}Udb7lOKhLPE$D=wt2>b>Q`^nt&r(EH@_=La)06a5Fwnfw+Sp z&{C)%=8X_pC077s0o1}imRwSiS1dcYq8ac~BtElCsZ+`Ul=zAmLOFfPAwvBY@Kn$$ zk{zOiq+$R>LAX{rQ>;#)$VHAb@IJ99w*HlMq6mNtA~I*7`@~Y7+@e^8prDZQ`Pk}@ zSYXq1DD{)3Sw!SFBRAo~AvKngUU3Lg#cu0$<^+@bU0;P_H1st~XDv}F6a(QX9$Rbi YKbh+rFQXz7g8%>k07*qoM6N<$g2q=E^8f$< literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ic_ab_back_holo_dark.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ic_ab_back_holo_dark.png new file mode 100644 index 0000000000000000000000000000000000000000..8ded62fb7b6a27a86f7b532c9a2b5a4ae999d34c GIT binary patch literal 741 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE0wix1Z>k4UOiAAEE)4(M`_JqL@;D1TB8!2v z2N=7Z%(epwmK8Xr18D^?ZvQoBE&~JOTTd6q5Rc^#N8xy%NgI}`eR{7o3SVw~oLF?DlhO#(rS&-V`^Q!s%)gPgzJD$(6 zlPX(2b^RHIj&o60rR$>g!|G>TRxtl*e|^4a{T&6ax|r;1#_KA};b_owfAXfrk8RFR$o&QDy{Vn>#x#sulW#~7Jq)- z)TH!~FS$Xsf0AE4joN$h`JQ|K8Rwjx@86b-rgDVb@NxHUL6S>yvXNP=t#&QB{TPb^Ah ka7@WhN>%X8O-xS>N=;0uEIgTN160J|>FVdQ&MBb@0GkggF#rGn literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ic_ab_back_holo_light.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ic_ab_back_holo_light.png new file mode 100644 index 0000000000000000000000000000000000000000..517e9f72d0c8d28a22360ad5d73476c25fd4db33 GIT binary patch literal 661 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE0wix1Z>k4UOiAAEE)4(M`_JqL@;D1TB8!2v z2N=7Z%(epwmK8Xr18D^?ZvQoBE&~JOTu&Fr5Rcj%_$5Ae=jmr`i z3DvOQxBn=~BCIDR#iS^(^w0Zu6&JUPm!vIx7~`u}yzledo5s8M7#uS86ZssvI8sdD z&xg3?2M7HpA7}46mr}+fqP5gidGgVwQ1_}WN$aob&9(OVStj}6Xj_!ShugM~J~IZM zU$@KD($sJ1b4JGMs?Xp43SH*aH+p$-+40a@k*+<>G~DD-|-{tS&vG^x*%GGq=j0Y+3zJN#Vil?OA~@ zukBM`R53;FYi;h*X6Nv`Uq9z3iuI~5j`7&H`BAcUqjcZh^7x-d8^2$_pe40Fq;EPa z%hqE7x*0h;3a++#0KFc4?e_Zv*^k$mEo1DpzWsL9`(v*67M^+IpR-MVa>nHwC6*2c zw&pTkoOQ_aoMO7bofkh1@}JI}ZKA~9;BBq7`S!))DS4@K0yY}FSDK>kZ?)HK*JGG& z7n!~MQ}4z!!HZux9M^8s)pB{g?A$cwGrvCg`RlIwI(LVEXW4OK`|IMz?e(5Emfz@% z$^^!kYKdz^NlIc#s#S7PDv)9@GB7mMH89sTFbpv?wlXxZGBO2ntqcr|?>AgV(U6;; zl9^VCTZ2=RMLtl2B*=!~{Irtt#G+IN$CUh}R0Yr6#Prml)Wnp^!jq{sKt&9mu6{1- HoD!MOjfK$EgnR$;T z=N`Kp(hSrM@CU%evd=bf=-4w^bQmnuhmUH-jd<6WZ; zHl4_>Rk2U@t}L_t|AiwlQ891B3C|YS1B^O3M@oxo5*z)LB91b?+QOQX_r0yH)YX2= zvK_aW4}ZVF|MIp0)1X?{@CS{e_APBtKk;H~nV$PVB{N8HV+L1tOj6 z``KDz%d4l`HAyHPxAByb%b6xG^S8m<-YfXS7v>b+zlZNGcwheZcvv-P0dQ7=MviH9v^t)=yc559VF`j43j z_pMt2oAX|`goy_Fm~UMa9d%t_^^2qU)cXl;U0e%IRZSM> z>7Ksk_VioOmKv*1mN|c~ELg&~mMikt+LpAdYoES)QG3#uo404uV`0ytJ&!XS^rKz< zU6j9{ob*(;{k73gyQmwdmG2d+82l2_J(5-Z=Epp_^THpe+eb5HIvzUo?fW(va5{7P zd0GD0trC|9zjsRjleub%YeY#(Vo9o1a#1RfVlXl=G}JY)&^0g*F*LI>FtRc>2C}UT z3_|{Y+l-q7HAsSN2+mI{DNig)WpGT%PfAtr%uP&B Z4N6T+sVqF1Y6Dcn;OXk;vd$@?2>?&0tquSH literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ic_cab_done_holo_light.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ic_cab_done_holo_light.png new file mode 100644 index 0000000000000000000000000000000000000000..bb19810bc2062509e4e4968099a359ad73818728 GIT binary patch literal 915 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;rX+877l!}s{b%+Ad7K3vk;OpT z1B~5HX4`=T%L*LRfwTh{zxw0jNgl<&3j(^ zeD(x}!be9sh1LD$__>xwFX-mty1-MRJ?GVgBPRYo&#phmts!D?ltV3&FI%+a$=z1Z zV;YHl1iMSDgJ+|>#46F---v^ z=n46F|IdfFb=)S0I4Coo@!g}n4Nex)S*)#RZPN@k9D49tzo1o|L;8h-cSg(aGrNAg7qQ^lmAJNnY2BwD zmg$yB$_Kc(9`bFT@$ln4rdg7D8~IZ-f3I60`0mq%qw5167@Xn!BqR{_Lfuy~aYE2x zQ4_Q6{SU<2c z;lT8&TH+c}l9E`GYL#4+3Zxi}3=9o*4J>pG%tH*#tPG5-jE#Y8D+7a&|KB#FXvob^ z$xN$6(O_z2Y7RsY4Yp<(!9Wd?ARB`7(@M${i&7aJQ}UBi6+Ckj(^G>|6H_V+Po~-c P6)||a`njxgN@xNAiwS~- literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ic_clear_disabled.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ic_clear_disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..e35c5f05efdaecd358f87fbaae543f8e5d5d0331 GIT binary patch literal 2531 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 WVgEmns=9(>1^{ytE8}V-6#hTCp0D=+ literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ic_clear_search_api_disabled_holo_light.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ic_clear_search_api_disabled_holo_light.png new file mode 100644 index 0000000000000000000000000000000000000000..7fd7aeb2a63980f5c7459b96ae175b875f27add3 GIT binary patch literal 1315 zcmeAS@N?(olHy`uVBq!ia0vp^+91rq0wlddc6tLTrX+877l!}s{b%+Ad7K3vk;OpT z1B~5HX4`=T%L*LRfizez1K-K5QyCaov^`xMLp+YZo#ve{ohs5cKmXZmZ>G$w-JO@O z_$Dncy|l#DX=;KaYmSzf&V&g+I5)gx(wb5qs1h)7!mfsR25uDCBNMaEYi!b%Lx%#0Z>6%}_Ke;bM=$-hufo^&&725YD$vGBuUKV?<1 zW5r*8XXtLO5$#WZeo|;mb85TEyq_Keb3$U;>HYFK{YX}hy1N)ld|`iZ8c+f zaW}0jS<%V*aZgCBwd%4 z`mTTDHix9d^392b?Js?F`)aOklAwYhQ$?F@yb$ytH>J_Jb{Z~vrG;$w0s zy7gpFZTnjBVEMK z?u*UK{&)=cU7rs=ddas!yNA5%MN;fAeO3GpiZ3y(^OR`LtKE&RYG` z%T6M0Q((r64h>88-;=&fKXORn&)Y9<7j0ADM4op#Evb9DEVE3OxuAOMwTp8T79Bpj z^46Bw7ia(6t$e=h^6Gq+^)tU-Y>!_fu&_#YcJ0QCjvJ3m`|4emd(8LrvxuLIduy^w zKRn;Ob&-9_RrP6hYo5j|+EK9n+eN__H(s3nbj~C7+}RUuX{m{weGosZ*S#`Yezasg(E; z?-{fhY+_DS&eu;5`_fikR9#fupz-tEU2!F+6F=1F&8oh6DP7e>i}j<0lm5=$VtqvCS7PaJ&waLQ0xVeA<2r9FV_>h2sIGsVSbJsf1ID=TJ5=|I z&X8~@c`+{`NhyHi(Rj}}j=t-itc?USbMMp?m=EB?(?e-29Zxv`X9>CKeyCDB6UQN6rr@v)_sLiS3~Qp ztEzq2)O|!<>xiRNElR1gi&m6P`)xn$hne5Zy#N2rd-GvpEU{+CMPx+)0Kjn+5^l}o zg&!d#$jfNkdNdFGu4pqj;P63GZxgQ*_CY#Oc|`sUQ?}=CKZgE3#v~qpdI6&Bx^w_Q zunGk?wncWWW;l7-UI#@tQM0)~HL81;)HPu;pVQ0pgJQPrfpMpp=aU0}M<~a{2nw%n zU`-fLR8Od%K$J#9U{=UTI40i8@}fD@+Oa6N|E1RI6sbQ)pL!RfOePt0E*?-w>vc`F zFLoR~H8O{D0Fhbf&d=`-+1DWWi~EgA3{w%CBurf@x&z#)AS%CTjBJ;NXfEz(-q*!r&D zRZs9Vt%N#~h`fZ2dF&WAUxzdNEE zLcQ7z)<&U)d{TxG*7ZfZU%dui_e8AOG#Zu1*(e!@&OEmtgjVAmsh>Px!}hna+U*4u z-(P@*kBOd~_&ckM8!+$m47a*D-IZ(wJ}aDF{e;O>YW!u636JA2%GNI#9Kc(nk+Ttf zZ5oR_VO!WXDMZ#m`6;XjkCv`_D6eahzuUOoqFaafSiYTac<;TmC>LuaHD30rCoEXh zD5R1Oih#JsO2+Mq%9NFu7{5RCprvtcFS~~}?Jc*n#%9=R+B~=%4@*03!EPJP0MrnJ8N%7FfRW&1jKLlO`E6 z2Nzeo&ri0;XG#nsf-QzGDH@1K!SO+oQz;nwgfHIg%HhTbyKTOO$NB{~co(lFCB3>E zA&~-M`}RVuy48f;Y-C?8l|c;|{QHGA&~=s7pAt2h>u zaS=yuntEie>)yAC_-npL!3zTFzOgLKZ}$=3sW+~_Ul7!!J>-L1jXDCh?L;zNtpzrIp_ZRL}JEMXYA5@jiafE19#aIkmj zpOVnI=5TB*VZwzSHn(G2*x&nZOKW`I9?Av!cNOvbi#$Fwg7v#&)Ar=Xmc9st_ZL_3 z{@58B!k$KOp%D%6encJsnot-_4XUH2sc#F@HGpawXltoKc?EQiVmJC91DQf_cccHm zAysqDoo4|5*kD6(qXoG55dp>oiYrkGMRp+(t%)uKx-Xk($P)oj2rRtP1Q-4<4m6z) literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ic_go.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ic_go.png new file mode 100644 index 0000000000000000000000000000000000000000..1e2dcfa02057f16f9f89e31fada93991c4eb9ab6 GIT binary patch literal 1983 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 literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ic_menu_moreoverflow_normal_holo_dark.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ic_menu_moreoverflow_normal_holo_dark.png new file mode 100644 index 0000000000000000000000000000000000000000..a92fb1d4af622cfad770d7c494121719a7896e61 GIT binary patch literal 167 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=d7dtgAr-gYUQ-leFyLX@@b&p` z%gbN)&SLHDYV<0q^J4_6fq?|&@*V6j4#NRakTDF}Z~@#RP$drMna{J{ZM0wU(H|t@ M>FVdQ&MBb@0L8N*<^TWy literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ic_menu_moreoverflow_normal_holo_light.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ic_menu_moreoverflow_normal_holo_light.png new file mode 100644 index 0000000000000000000000000000000000000000..930ca8d95e8bee5a1240fba645d9dab919abd734 GIT binary patch literal 184 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=^`0({Ar-gYUf;;epuoZ6aJO@& z%&D0-IKvGL&8p&qV;O7KuliPO1yl(K>(rHwor_8Hg9|Y9Gj8!^hz0Vk4~QZ}ABcvv nF)(akj$uTI?LshtEWgbR4Rf6*RPme*0Ev6L`njxgN@xNAEX^ml literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ic_menu_share_holo_dark.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ic_menu_share_holo_dark.png new file mode 100644 index 0000000000000000000000000000000000000000..45a0f1da0d01b7c0ba53830285c67d629bd0774a GIT binary patch literal 699 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7T#lEU~2MoaSW-r^>)^McjrWjeSoS8SCOEBs|%|?VJ7D=T9Yz_dLJ8 zJ9zK=&-=vhubx}{vF6<8-!m`2Et8%6G=f2_fi-~)r;kY>>MAgRkm@i7CT&PKJ^T(I*&Av>d6O5U0r~;hkX|;LrY6t%e!5sze0;lgN zzhmA1v9d1mdTWRDgJXqP4j5dhQr@DSSRpJN-*(9Bjp4$N@%tt%vt{r<#9TCmVT&q5 zPY_dpf5x8W&TrHi1EzgwuzL61gP~v}`*h7_ev9YX^%66WzmeOz)Rwd1sPzfWyZX+; ziqW^(w(Z~haJj|{8OsISSA~|G@%CQ8Y_d#7=yl$KAFm&t%#H|W$kcQ2;yBguIO76W zkG?He)AQ@KipLqRU6Nb%FPk$;xS@jW=|$x{C80dl?QT)`*~FQi^@N=fie6YGbN2D| z=`W4NG-chmgqp9bsxquQQuyVroI59@gwb7QnV5NMi~&p85J-Uv+l!N+#T%5W;<7yr4}f9Ow$JGA?da_{7}kE@t}@ET5LG{B2CIDTQC8`Twj U_qmZcFi|piy85}Sb4q9e0Mf@O?f?J) literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ic_menu_share_holo_light.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ic_menu_share_holo_light.png new file mode 100644 index 0000000000000000000000000000000000000000..528e554abe239137182dd9069d1fa4ba02a109a1 GIT binary patch literal 935 zcmV;Y16cftP)=+L@6RIMT%_@p^A^X5UDRjLANf13Pq%);A`Pd+=!;23pXx; zAif`nPef)@LW&ftmV!!=U?`shr5Kn0)zPywg_Q~)Xf6@UsrA5Be7{a=6EByPs``206cpncnr4<@!q@mA~gUzaA3%HTX+%kDFHYT5Qf!vm`Me|1djAs_x*GR z&!z%kGhWI$<|3X<1;9qUl5@-=4yFR&S{y_@$C%@oE<1op+>aXzjC~!)$_ii$_F+%K z@y9V;#ya3q+!Mu4ce-D|$M^yJarJ;X=I|E&DieT9a7UE58@rw_;mfG%mg3n4+>X7G zDINV8W$>{wd4UPs8tHyn<_K%Vx4t-F{HB0#CbHyT8aIH=*w&T4zhI%?@Yvw4$UHw9 zfiH|AwZ;Wt3m(R<9MXfe~y?7+&yyx)=z7N}~%m5B!YmPaWaH#7@Q+5E; zIqP##(=Vn1;7AlEd2}e2K@tF-TcIq?su`V~Rw@AYX?JP!=ya5wR`qE`V>4fQR+^F$GWKC7sT4IxUFgD9>&BxJs0#D$E0dq8B&$(De03B_O{zBGgT!>|}k{a55 z!O~xj?u?9>EHL(EoJ!?lWDg$AX}pf&%~Sx?@v3~6qvvqAx*Saezy`dwo-+WR!8JMF zpTip|0k{c|kLwhu)oQ!f;y+34?@=W6(zkfKXdO_i)poDN4CtH&58$o=8{em4rdmY+ zbb?>20J>f0o#8w;#fEn(4AdV*y+C*HYaPJI-C#EObp@bT@IwJeLH&YX7XStYpFDt- zf=?R2Fu^AaVA$Z31du2AoO(cqH+@Lz(5e*i5O+3-*HCUO7(002ov JPDHLkV1h8vxv&5L literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ic_search.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ic_search.png new file mode 100644 index 0000000000000000000000000000000000000000..998f91be9c4dff50a3ac354a3810a2afe39fe32b GIT binary patch literal 3784 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 Z$DPpsU&xgE;c;3340Mc9_1aGO{{Rgi%2xmY literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ic_search_api_holo_light.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__ic_search_api_holo_light.png new file mode 100644 index 0000000000000000000000000000000000000000..a4cdf1c7927896d70e6b9f6af2eaa64b1bb41707 GIT binary patch literal 3037 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 S!l#~*4goMWSah`&G3sAAl9aOm literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__list_activated_holo.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__list_activated_holo.9.png new file mode 100644 index 0000000000000000000000000000000000000000..eda10e6123e1e1383c4617228ec0c96680d60dc7 GIT binary patch literal 158 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8wRq zxI00Z(fs7;wLn1!PZ!4!jfu$#Gb-B{xqtMx1s*(O%+nLV7IxRdaaX6Iu&3070|zpW ye6d-ZyJWwc+pgOl@x443T>9p%`1p8cx&%YrImy|zOvgZGF?hQAxvX30u5yFboFyt=akR{ E00Z(eO#lD@ literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__list_longpressed_holo.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__list_longpressed_holo.9.png new file mode 100644 index 0000000000000000000000000000000000000000..eda10e6123e1e1383c4617228ec0c96680d60dc7 GIT binary patch literal 158 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8wRq zxI00Z(fs7;wLn1!PZ!4!jfu$#Gb-B{xqtMx1s*(O%+nLV7IxRdaaX6Iu&3070|zpW ye6d-ZyJWwc+pgOl@x443T>9p%`1p8cx&%YrImy|zOvgZGF?hQAxvX literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__list_pressed_holo_light.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__list_pressed_holo_light.9.png new file mode 100644 index 0000000000000000000000000000000000000000..e4b33935a3aa4f1af3fa9e9e199b5c47d43f4b74 GIT binary patch literal 163 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8wRq zxI00Z(fs7;wLn2vPZ!4!jfu$y_kK-b literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__list_selector_disabled_holo_dark.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__list_selector_disabled_holo_dark.9.png new file mode 100644 index 0000000000000000000000000000000000000000..88726b69160589c8545759440e8d4e69dc984c67 GIT binary patch literal 190 zcmeAS@N?(olHy`uVBq!ia0vp^azGr$!3HF6SgS1tQk(@Ik;M!Q+?^oIXnykaTA*No zr;B4qM&sKXhJ1$tcw7#es=J@sd2yMiyW@jyg@u(=2qh%>1r1WJE1Ls*cJ{|veUO|(2?8OR-p?Vt(<)KXNk*dJ1<_`!jRpab6RMK;Rk47fDU#NEX#7yk4(~&Fr}L7DZp)K} zK)DDZgb+dqA%qY@2q7)3S*px^wsY!a9l?~jW2$HoDfOAoDc4?$q=mJH$Q@HesW|pH zEqI5t5pt#=^`ykNb$bDA+g_!6r>E#0Ebxb)V~E)@66{HSu%o+0#^7QK=<56_<*0g z4?VWXMFRkJB8s~XX6q}?LEeWW=Ef--P!X+fp` zQ#hbt=1@CWv@?Vrj0n$wG-wfB>s2&!$QdDJ0ulZgw-cuRiR{Y>^Hj3K6cvDZyr8vA z8lxp5*y$r9!v6G_XAF7`2PhmT)XW;J_(x39;8bKfgMu`e! zU+jWXwIOOF0-q>8C*JQsY~7_bBCuA z|Ap1-2&vJi9g(t&*dI@qVtrbEm_q)8uxlUymW^N&DQrSTF2REQdw9B(B*Fk-L?96w zfdFVX0=tCgq*<4>5rKwy4p!?>V+1b~mqyqhPm^M8N}pNlWK7Aa(;L|rtB1{dT%;u; z=)dm(?jeLfE6zhUB!2hW01y9MdY)1v=ujhBx3b+Xm&>Pd9KV)clx)K|j$bdA%O^}( zPFj=H`w_B~E-2}`eIdjBd_I2}hT(GvVW{|jkQIawhG7^!pU>wnc#H_%SRreOrJP6k z#f!~#`~_1^!^gPqw^)9R`+vop3DslHn(o!PiI0dTt@|45Za=)m1`%IwEW{fV$LVaF zE9RVsAMaWMjZlg;f(R_4iy{7r`=s=`3SdP<&^M)TPHqgUw5?z25;3$902*NlyMU*S zpa+j$RH$BIEX`7~H`b|A%pl=Pj|o!QHv-L&MvImjnCmfv9y@5Gq|A_|G$L4MNvqdg zg%(@J38}FG4N!(%uhEggMhM*%9HY#I^l zO-Wr$p$z~$ref=30GgqO)XJdORd}!BEq>NeB8p9{v^kJo2|NxCQwf^HCpGf6X;Wp4 zg!hgmb$FtdtQ>ASMriqL^@|$FBEhNWjw@zMktp~+Gzo9nO1w>OhBUKE#}ER(1L)vD UI+1b(O8@`>07*qoM6N<$f~tseq5uE@ literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__menu_dropdown_panel_holo_light.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__menu_dropdown_panel_holo_light.9.png new file mode 100644 index 0000000000000000000000000000000000000000..93066c8403ddaac9b19571152ef499620bcc0e02 GIT binary patch literal 1551 zcmV+q2JrcbP)ZMyJc+a5x+ehm5NR9U3;9%`Hyz-(tJnPJWK72_ZxFO$7HJ!wl=MA(TM` z5z;&LLlB#EA&f^$3`&>pe6X)LdJ&`vfROKm-xd+jMbSqLMZ|438|}{L$EEgM9M^%w zHa{i`W4qmEM~t#0eOdu-0W1NOh@<%YUknyuBI#0I?3#!O*zRI&T@|+kOaOda%IhNv zM;99T5trXGZJ+ZJPec%b)$c$hhFbzf1btKUoQ@WxJHBtqt%Djjh@==IkkXLZmr_R= zETUs(|D2YHL30h7B}jQ1@s(0WN*y++$>%9Px0_7;Q^61da}ymGVa5oGC6I`(Se|An zXj@SBzbdSFK)Um(Fw#d8Mr2~>phE(63xW_TA*G~C`G7107k~`S4FDISDe;mJcscGO zI_^QW2+SjBmZ1U=9v>gytZ(L+77q^(-%!w_2qCD0PZix`L1IaO$h(b>d0@F@G3Eaa zi55W^GL}q#AgNiNjxa=>FZdR(r+ zxE>NCSff^sd0^fBMHn)m#E-cU=7+{dF-K!9f{S1|kOWYSoDj6e26s~&lfViRc^MJj z^>Y9iF9eSfmVwbcxJ7UPa3MH8F;)otZ%)TN7|p{_AvpQV#UO5SLMWM?>!O$+C0vaD z8(N!X1GsBg3ar^sKmkXku0dO*!9}nfXnYiL)Hg=pYKs73(^zvc9aG}t;{#B5>C;Y2 z2$?l`wfXukgc)%>9s%7AsDyH^rRNDOAHyeHMgYzG`@1jfJOi4h!RzZQK)65|cOA0& z28%R3H(uBEzOL&YU%_z=>~=fscDp^gsmfTk*1@j+TejVzGC zpG{n`bp4r^(iKT*Io^&x%OHc_WZd_EkhCG`k)*sFZ|A&V23>!#)HToxrIRJ-1q1Q~ z3qHxB_z~+bgihSWK3otqlC9O%9BoMC(eAot5j0oOB3|pwbjUE4*ONZd@_Kxq z*B8(0XhE_FfV`ZZwcn~gXn8&5;sQ&h03_lPHzc@QD2L`A0DB!p$qE$r97Hn6cmgfM z$;^GEI@&qEx+o;VEJ0ZAK#dKOL6F|xU|IwgE6|`&x_D{{k^myy5)6fQcS{yR>LIlD zb0eL(UISu`k;Dp-=L_3_9uII4xG36?ZZ5uUxd1Up2yq&z=dNHjN&oIh<{D_CLJUbUG4w?002ovPDHLkV1n`$ Bwt@fv literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__progress_bg_holo_dark.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__progress_bg_holo_dark.9.png new file mode 100644 index 0000000000000000000000000000000000000000..345f5d3067c1b5a2b13f7234238468e8083e75e8 GIT binary patch literal 174 zcmeAS@N?(olHy`uVBq!ia0vp^Ahr?*8<0#p>+uXou@pObhHwBu4M$1`kk47*5n0T@ zz}*SLjOHg#uLTMQc)B=-SoFS~;>gutz{8S$H2ll||1$b2>+ab^8r zChoU9-sVBr1cr+EHAcpdxgPN?*fw!WN@w!F_di=AUe22-xp-2_jNr43yl#?i1$i|o QK(iS+uXou@pObhHwBu4M$1`kk47*5n0T@ zz}*SLjOHg#uLTPFdAc};SoFS~;>gutz{8S$^!?BO&wHlFT~V_1=)TZ8!I{mdT_A)Z zztl5%UbEjFE&+!7%~#Kq{9)d)y{;#I@4EEH*bSem)2!T7Pp)1*OL*gdvC7^*b6)~Y OX7F_Nb6Mw<&;$Uil{z^9 literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__progress_primary_holo_dark.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__progress_primary_holo_dark.9.png new file mode 100644 index 0000000000000000000000000000000000000000..c6c3f1ec248835c16ee8a8f9d253769ea4196468 GIT binary patch literal 1309 zcmV+&1>*XNP)>2T29Hys?P&Vm zZA9*OOSNlf`Pu!y*8AUEO|D+e=9Pi3BR)agfw#}SukU>S5_JQH{fFX7qt#y26-7>F z^lg#%AL~){ay($Vl%dNK|ns=8F95J5u4IuT)_iO}FO5AO!x2YA-ev{((MiCMb95Z27y1N{d~<$0ZOiAzT-4$^Y~d8=D&GctVLiOE-HZCX=>916 zaB}eD93BUF6!cN|FY@&i`W7!}IIL?H*U-;b(9ZeC>T4fo-D~%;%Al$SM;o1{CK^c@ zLsL?U%;F5uW`mKV6p@jG8Wm~81rvcAg~E0r38^#=q@={j6{7*N{-mRal zZyi757l1u@+(UUVUpKQfbx4*^AEZ`NBGTk&djR!;W=;+8vR!2ZvkZUiF_Uw;@^@UHY_tFNo|bZ|HqK}~Z_0kB z>1@!nFOf~^{KOi&lvG5Os4i`3m5LaZ>S{(}C2cS_3u25qx+GSC0x^F*mC<6C%zjX} z`(@Gi@=yT|C0D;bu>bAn+W30Hh5ZfH4VVpRc=$wP71`a_ciV~TTQkNXRQHQat7toU zZx*3Z?Q~QYQO|ZUR_Tl#qXtzIiPWWo(#}&aV(i6KuEST$lYVRUVscgaEz?@VCh+@z zYdAdahv=OS&fP(?9$16?`l0%F3gfnP`B71?hw4@2e4pjZouU=>X|R*`N-YD-DJj}uU$#5 zV>X}RzD~bXHhFf?KK=4JTCWrMiS*`U`G2n9l*Y@cp7B$uQwuKJNIF$*XNP)>2T29Hys?P&Vm zZA9*OOSNlf`Pu!y*8AUEO|D+e=9Pi3BR)agfw#}SukU>S5_JQH{fFX7qt#y26-7>F z^lg#%AL~){ay($Vl%dNK|ns=8F95J5u4IuT)_iO}FO5AO!x2YA-ev{((MiCMb95Z27y1N{d~<$0ZOiAzT-4$^Y~d8=D&GctVLiOE-HZCX=>916 zaB}eD93BUF6!cN|FY@&i`W7!}IIL?H*U-;b(9ZeC>T4fo-D~%;%Al$SM;o1{CK^c@ zLsL?U%;F5uW`mKV6p@jG8Wm~81rvcAg~E0r38^#=q@={j6{7*N{-mRal zZyi757l1u@+(UUVUpKQfbx4*^AEZ`NBGTk&djR!;W=;+8vR!2ZvkZUiF_Uw;@^@UHY_tFNo|bZ|HqK}~Z_0kB z>1@!nFOf~^{KOi&lvG5Os4i`3m5LaZ>S{(}C2cS_3u25qx+GSC0x^F*mC<6C%zjX} z`(@Gi@=yT|C0D;bu>bAn+W30Hh5ZfH4VVpRc=$wP71`a_ciV~TTQkNXRQHQat7toU zZx*3Z?Q~QYQO|ZUR_Tl#qXtzIiPWWo(#}&aV(i6KuEST$lYVRUVscgaEz?@VCh+@z zYdAdahv=OS&fP(?9$16?`l0%F3gfnP`B71?hw4@2e4pjZouU=>X|R*`N-YD-DJj}uU$#5 zV>X}RzD~bXHhFf?KK=4JTCWrMiS*`U`G2n9l*Y@cp7B$uQwuKJNIF$+uXou@pObhHwBu4M$1`kk47*5n0T@ zz}*SLjOHg#uLTN5dAc};So9|U`2XLYnVI=;y-5$#f-D2o4GsT&Tr`prfMCHsr=)`p zy9zZlQWAk&gL|Kjh|gcN+0MxMkn!S`=@A+#%ic(Om>d23|9^ht#EF9It^fc3f1ZP3 Y!dJ=4-o~HPfwnMsy85}Sb4q9e06h#o+yDRo literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__progress_secondary_holo_light.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__progress_secondary_holo_light.9.png new file mode 100644 index 0000000000000000000000000000000000000000..205b66e2cdef686c5ed6369b14e64b38d0182984 GIT binary patch literal 184 zcmeAS@N?(olHy`uVBq!ia0vp^Ahr?*8<0#p>+uXou@pObhHwBu4M$1`kk47*5n0T@ zz}*SLjOHg#uLTN5dAc};So9|U`2XLYnVI=;y-5$#f-D2o4GsT&Tr`prfMCHsr=)`p zy9zZlQWAk&gL|Kjh|gcN+0MxMkn!S`=@A+#%ic(Om>d23|9^ht#EF9It^fc3f1ZP3 Y!dJ=4-o~HPfwnMsy85}Sb4q9e06h#o+yDRo literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__spinner_48_inner_holo.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__spinner_48_inner_holo.png new file mode 100644 index 0000000000000000000000000000000000000000..19517c4b0aee1010c7041a76089fdfdbfa495e80 GIT binary patch literal 2769 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 literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__spinner_ab_default_holo_dark.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__spinner_ab_default_holo_dark.9.png new file mode 100644 index 0000000000000000000000000000000000000000..d8929fcd1864e92c78f24d34bb07ac0304bf5ebe GIT binary patch literal 395 zcmV;60d)R}P)%)khMb;v@5Yo)-?A$vWI3J{&4Tqm)VM&;#i3-!rXQ;}}A|kSK_xLoQ9!D=| zrQuRX_jo!D&!*woG(4MzXVdU(8lG)+!_Dl;%pOYTRyEwrUVwMtwRCnh!_9059DxJy zTsprAUsT~zdJlX8e>K+(FMd_}2<&RF8#?@^bn(8vHtbfpl-_eLJ!>=!D!!z&OE12( zv`a1CqqIva-mA1rDc-ZR3oqWgvUXO(tc zif5K~i;HKMc8iLSDD9eyk1Fk&iksP%L8V=5@ekmQ^NVfO%k2z5z^Qbob@&(X-FR)u p3HS~A?&0(Ut%!)oJooy?_kZokYAURbJh}h?002ovPDHLkV1n7-uz&yn literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__spinner_ab_default_holo_light.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__spinner_ab_default_holo_light.9.png new file mode 100644 index 0000000000000000000000000000000000000000..9174c4e4bc984a89e1ed643bc66b1569466ef52b GIT binary patch literal 394 zcmV;50d@X~P)pS_@$ zhD#gW|+S$zvH?tjZ06u}I z+WCj@MGelS_rM46*K*DD;uob4z^?VWsl%^ISMTdf({7b>={={?i$=qw;%iE~^x|tv zyVT+%O1re;qe{D!;v-AD@ZzIOyU^khrCnI@sM0Q^cw}ieym)kJH?(+0X*aBRR%th+ zcxGw0x_EYJx2pJz(yqJstkSNlxS72&skG}Y{tg(Y7u%+n+Xa4rW9?Ay@Gs!I^V*st o@Ei2q)9D9V5fPDPZuO7v|4Ms3SH1lZVgLXD07*qoM6N<$f(F>P&Hw-a literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__spinner_ab_disabled_holo_dark.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__spinner_ab_disabled_holo_dark.9.png new file mode 100644 index 0000000000000000000000000000000000000000..3015d307088f12d52a9e99ff4575fd2153127e5b GIT binary patch literal 381 zcmV-@0fPRCP)hG*08Y#N?T!?S64w!;lKvy+*1?>p3RGdlx#190x$dzj&7b^-9QUftoB@I?dG z(l;!l|3;oEFaA*ajtwD8hd-6>9*;+5M`bO2!%}+FXrQS0p3;u)|QJUO}XO$+G;+dssck%4fw5xbU zX__uxRhp)XSC*#P;_m>iSbo@k`^^CW{9xcU{p|2h0AG{O_A~&$L7!btFK9(XM7DX= bKfeD1Etg?&Fp}qT00000NkvXXu0mjfW#pxI literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__spinner_ab_disabled_holo_light.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__spinner_ab_disabled_holo_light.9.png new file mode 100644 index 0000000000000000000000000000000000000000..126637d1194f1d6609787774fb140818eaa4ba1f GIT binary patch literal 381 zcmV-@0fPRCP)hG*08Y#N?T!?S64w!;lKvy+*1?>p3RGdlx#190x$dzj&7b^-9QUftoB@I?dG z(l;!l|3;oEFaA*ajtwD8hd-6>9*;+5M`bO2!%}+FXrQS0p3;u)|QJUO}XO$+G;+dssck%4fw5xbU zX__uxRhp)XSC*#P;_m>iSbo@k`^^CW{9xcU{p|2h0AG{O_A~&$L7!btFK9(XM7DX= bKfeD1iaRu(IeFS@00000NkvXXu0mjfR7Ip< literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__spinner_ab_focused_holo_dark.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__spinner_ab_focused_holo_dark.9.png new file mode 100644 index 0000000000000000000000000000000000000000..d45c7a864d9b36fc5d06ef7650bd22c228e3533e GIT binary patch literal 680 zcmV;Z0$2TsP)JMg@Fn128fNR{httc z2n-9ae~A~-WYQOAyjJ3`v+tFS>H?h>cjZI44!YCDJ4vU-UH-NFC!H?dNqTY9^x~%J z#ZA+To2C~xO)qX5=ft;__PrJUYC9#q>!rbyQFMFHPb=3hoe|&n)9~p|baWUbMthlMtLL6k^E5&wx9H zfkWKo4DxGy27JSv%4KLW#~I|sPnXY+fCHfNj(}ks%-+uyBgtHbMG(R)| O00009q_DOpcx|jv*P1Z)f>u3p>g<+)ulGcHZsoOUd0`v$ideb3Xs*rv6J! zg}R0?Ejbavstni13%M+(h~#=Y?=G{+sY|c-R?LyC;M~J_EGz53I-4BR z+cU4@A4T%4{LQ{7{nooe_R?;9Ufq56+wp;!Z_W|LdHU^V zuiix!E)rt*mg%eid+||lw)K3kxzR2XQeoHKTo0e>Tz_Z7KF;I+KDl^G6{a%9AKj}v z@Aq1v55LRoZXbD)<16^lF!*Li$^7}+)mu{zFEMCaSs}k;w&aatvA+!FKCV6>P_Fen z(L?roLe!sxPkWei7+T9&rtD<0W7^%ZdcE}hdZyQpKhHVIBAEwFVGN$GelF{r5}E)^ Cjyh@p literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__spinner_ab_pressed_holo_dark.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__spinner_ab_pressed_holo_dark.9.png new file mode 100644 index 0000000000000000000000000000000000000000..2cb34d7f60401a563454c03e266cc5181d9de996 GIT binary patch literal 609 zcmV-n0-pVeP)%5ec8;(Nh#y0Zthco9&fD+Scz(J_kqCSd>@N)Jrb#iJx@ z@geV)|0U|;Q8J4AW)%0$DDIn4+&81RZ$@$73{E^#CTa6Odr;zqGLyGk)zfLB)26Y5 z5#LU9dOW?JALQjc$4r{WH?GVFg))<)qMW_Ts@W~*Hgkd(m(u%LwVNxGwVfAK{BG$~ zHD4Zg33jP$CptYU%GrKa?RJ%hK*cvHEqE`!X=%Z0aT}!tZ^dnu7Q7Uk{&1!u)wl@^>7cUfAnUfgwQ!D?|Ir3GuneU%oh6!%$L*todw(!xf?LzEVJ7Y|ih z=v92GOd6`R(5v{nqI~u|T|T)5eQi`_Q>fI*QllCl)AthpQf>YCTIE0c%xyxW%x|6C zG>z*e{-?!>T@(EFL|;a6&!||%qb(l4cp2298zt1@mjOk(atXEgIq-{NzY%9xIi5qk vb6%{!-vcjz*7vDBaRYn@J|M2KzWDwRiVUw(_ikNA00000NkvXXu0mjfOP&sp literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__spinner_ab_pressed_holo_light.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__spinner_ab_pressed_holo_light.9.png new file mode 100644 index 0000000000000000000000000000000000000000..82f752fdc28390f1dae188e66886f9fee783b4f7 GIT binary patch literal 602 zcmV-g0;TXoV&|>P?2N3a|H=XkIpb%g2C{mUcD8z%K5!WW71`A3B@}P?c zNzmeTUM-&`=;A@rh-=e`Ytx8p(}-)+h-=e`Yg0e*Nfwct-zMuNo?gfN+FNCOm6(Rs zNBrh8;rK_F^Mfu~8k>e2?@WdCI_7lHVR+IZj_>A~;=j0*zBpPVOJB@8&9C^w(v!^i zcs#`4qjGbZa60I4akN%e8hjOBptPW0e8JL!ZgC5x1-;^yN((y0EtVGC7q?tma9i9# zX~A7_N2LWf#T}Lw>=$=jTCiJOp|oJHxKe4sPI1N3!s5l1OACt?_fT4>Uffe@p<40r zRpP6(P_6jSy?2bx-x9}n#O>6o(Q^BiC^BxWR1^RB?JvEr|0>Nj5k)!eSD9&8HSzXK z2sbij-vth4?P;pL%~0mos(Tg<|DAn;kcS obzts&Y9%t@53qx{hWg?AJqc6disFjI`v3p{07*qoM6N<$f`4nJ zaCd?*qxs3xYk`8Mo-U3d5>t~6?){q5*x2~c-pCBZ5@_=ERFyG literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__tab_selected_holo.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__tab_selected_holo.9.png new file mode 100644 index 0000000000000000000000000000000000000000..e4229f26b2771d884934b80d0056b8dd66d10edd GIT binary patch literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^Y(Ol;0U|59*B=E^EX7WqAsj$Z!;#Vf4nJ zaCd?*qxs3xYk`8+o-U3d5>t~6?){q5*x2~c-l(n1@K5>ymj5$1a2Oc?!34d7Ck`Aq skg(^gW|wXH-lZoEvTk@AJm}J3sQWAGentL}KF}BjPgg&ebxsLQ0KFYBT>t<8 literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__tab_selected_pressed_holo.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__tab_selected_pressed_holo.9.png new file mode 100644 index 0000000000000000000000000000000000000000..e862cb12154541c150fb2d9bb98872bcff506317 GIT binary patch literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^Y(Ol;0U|59*B=E^EX7WqAsj$Z!;#Vf4nJ zaCd?*qxs3xYk`8Mo-U3d5>t~6?){q5*x2~c-pCBZ5m8aUV+M1MLNsm8aUV+8udAXlQhooEaFu)>JVsC;_i|1;&qn1z`CMwWxmD@8>XG@5j{z4 Z4Ch(42+t_Fa};PGgQu&X%Q~loCICWDCD8x? literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__textfield_search_right_default_holo_dark.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__textfield_search_right_default_holo_dark.9.png new file mode 100644 index 0000000000000000000000000000000000000000..98f4871bb52aa7c60414b62dc102a63025d14b86 GIT binary patch literal 125 zcmeAS@N?(olHy`uVBq!ia0vp^qCm{e!3HEJoIX|yq+C2*978nDC;#~W-=0~Khvol7 z1H)I2CW)>m8aUVm(v1b%el;0fY!m7fYzsPhAkg_?o6!P}0Ord_0t$qVOiDg+P{Wat YL8LkPQkkjERiJqcp00i_>zopr0H|OnC;$Ke literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__textfield_search_right_default_holo_light.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__textfield_search_right_default_holo_light.9.png new file mode 100644 index 0000000000000000000000000000000000000000..733373ed38d92906a3f639124b60d39cfe3ea469 GIT binary patch literal 127 zcmeAS@N?(olHy`uVBq!ia0vp^qCm{e!3HEJoIX|yq})7R978nDC;#~W-=0~Khvol7 z1H)I2CW)>m8aUVm(v20J8xM$gbsA4Oq2MIp#mnr@>uNTIF}6W!#;>-fvxg@opE#)D b$jGop@Lc3+&hjll6B#^R{an^LB{Ts5lN~2O literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__textfield_search_right_selected_holo_dark.9.png b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable-xhdpi/abs__textfield_search_right_selected_holo_dark.9.png new file mode 100644 index 0000000000000000000000000000000000000000..0c6bb036dbff7c452df0032fac9daaaf3ed36cff GIT binary patch literal 128 zcmeAS@N?(olHy`uVBq!ia0vp^qCm{e!3HEJoIX|yq})AS978nDC;#~W-=0~Khvol7 z1H)I2CW)>m8aUVm(v9t$CDZ2p!k(eA~|x?WSsfj bIFlKwHfSC=yJ^W9ppguou6{1-oD!Mm8aUVm(v9t$CDZ2p!k(eA~|x?WSsfj bIFlKwHfSC=yJ^W9ppguou6{1-oD!Mm8aUV)4xTaopEyItdE!^$Tn)$h3#7aBEDrH5l{lPKbU~WStl#0CqS)dY aj0`i|)DAxoJGT#LAcLo?pUXO@geCyp{V3}I literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__activated_background_holo_dark.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__activated_background_holo_dark.xml new file mode 100644 index 000000000..85c2c0212 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__activated_background_holo_dark.xml @@ -0,0 +1,20 @@ + + + + + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__activated_background_holo_light.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__activated_background_holo_light.xml new file mode 100644 index 000000000..85c2c0212 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__activated_background_holo_light.xml @@ -0,0 +1,20 @@ + + + + + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__btn_cab_done_holo_dark.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__btn_cab_done_holo_dark.xml new file mode 100644 index 000000000..cab896283 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__btn_cab_done_holo_dark.xml @@ -0,0 +1,24 @@ + + + + + + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__btn_cab_done_holo_light.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__btn_cab_done_holo_light.xml new file mode 100644 index 000000000..42ba8a0df --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__btn_cab_done_holo_light.xml @@ -0,0 +1,24 @@ + + + + + + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__ic_clear.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__ic_clear.xml new file mode 100644 index 000000000..a16f4b22e --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__ic_clear.xml @@ -0,0 +1,22 @@ + + + + + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__ic_clear_holo_light.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__ic_clear_holo_light.xml new file mode 100644 index 000000000..256de80fb --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__ic_clear_holo_light.xml @@ -0,0 +1,22 @@ + + + + + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__ic_menu_moreoverflow_holo_dark.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__ic_menu_moreoverflow_holo_dark.xml new file mode 100644 index 000000000..2588a492d --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__ic_menu_moreoverflow_holo_dark.xml @@ -0,0 +1,18 @@ + + + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__ic_menu_moreoverflow_holo_light.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__ic_menu_moreoverflow_holo_light.xml new file mode 100644 index 000000000..e2078c967 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__ic_menu_moreoverflow_holo_light.xml @@ -0,0 +1,18 @@ + + + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__item_background_holo_dark.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__item_background_holo_dark.xml new file mode 100644 index 000000000..d99b7a426 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__item_background_holo_dark.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__item_background_holo_light.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__item_background_holo_light.xml new file mode 100644 index 000000000..da5fb2e86 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__item_background_holo_light.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__list_selector_background_transition_holo_dark.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__list_selector_background_transition_holo_dark.xml new file mode 100644 index 000000000..b2ce4f0f7 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__list_selector_background_transition_holo_dark.xml @@ -0,0 +1,20 @@ + + + + + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__list_selector_background_transition_holo_light.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__list_selector_background_transition_holo_light.xml new file mode 100644 index 000000000..d7e31b1d1 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__list_selector_background_transition_holo_light.xml @@ -0,0 +1,20 @@ + + + + + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__list_selector_holo_dark.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__list_selector_holo_dark.xml new file mode 100644 index 000000000..08b8b12f3 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__list_selector_holo_dark.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__list_selector_holo_light.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__list_selector_holo_light.xml new file mode 100644 index 000000000..ada490bf9 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__list_selector_holo_light.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__progress_horizontal_holo_dark.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__progress_horizontal_holo_dark.xml new file mode 100644 index 000000000..bd19140ab --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__progress_horizontal_holo_dark.xml @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__progress_horizontal_holo_light.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__progress_horizontal_holo_light.xml new file mode 100644 index 000000000..321f07c8b --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__progress_horizontal_holo_light.xml @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__progress_medium_holo.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__progress_medium_holo.xml new file mode 100644 index 000000000..6d4814f86 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__progress_medium_holo.xml @@ -0,0 +1,34 @@ + + + + + + + + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__search_dropdown_dark.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__search_dropdown_dark.xml new file mode 100644 index 000000000..26284187a --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__search_dropdown_dark.xml @@ -0,0 +1,22 @@ + + + + + + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__search_dropdown_light.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__search_dropdown_light.xml new file mode 100644 index 000000000..0d00c5878 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__search_dropdown_light.xml @@ -0,0 +1,22 @@ + + + + + + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__spinner_ab_holo_dark.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__spinner_ab_holo_dark.xml new file mode 100644 index 000000000..4af5e22a9 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__spinner_ab_holo_dark.xml @@ -0,0 +1,25 @@ + + + + + + + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__spinner_ab_holo_light.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__spinner_ab_holo_light.xml new file mode 100644 index 000000000..b78508478 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__spinner_ab_holo_light.xml @@ -0,0 +1,25 @@ + + + + + + + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__tab_indicator_ab_holo.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__tab_indicator_ab_holo.xml new file mode 100644 index 000000000..d34e20811 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__tab_indicator_ab_holo.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__textfield_searchview_holo_dark.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__textfield_searchview_holo_dark.xml new file mode 100644 index 000000000..b6d58c040 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__textfield_searchview_holo_dark.xml @@ -0,0 +1,22 @@ + + + + + + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__textfield_searchview_holo_light.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__textfield_searchview_holo_light.xml new file mode 100644 index 000000000..3d6acf808 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__textfield_searchview_holo_light.xml @@ -0,0 +1,22 @@ + + + + + + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__textfield_searchview_right_holo_dark.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__textfield_searchview_right_holo_dark.xml new file mode 100644 index 000000000..05ff4eda5 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__textfield_searchview_right_holo_dark.xml @@ -0,0 +1,22 @@ + + + + + + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__textfield_searchview_right_holo_light.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__textfield_searchview_right_holo_light.xml new file mode 100644 index 000000000..f6d61e57a --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/drawable/abs__textfield_searchview_right_holo_light.xml @@ -0,0 +1,22 @@ + + + + + + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout-large/abs__action_mode_close_item.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout-large/abs__action_mode_close_item.xml new file mode 100644 index 000000000..8811dad8d --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout-large/abs__action_mode_close_item.xml @@ -0,0 +1,40 @@ + + + + + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout-v14/sherlock_spinner_dropdown_item.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout-v14/sherlock_spinner_dropdown_item.xml new file mode 100644 index 000000000..6c183c059 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout-v14/sherlock_spinner_dropdown_item.xml @@ -0,0 +1,26 @@ + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout-v14/sherlock_spinner_item.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout-v14/sherlock_spinner_item.xml new file mode 100644 index 000000000..61dc02527 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout-v14/sherlock_spinner_item.xml @@ -0,0 +1,26 @@ + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout-xlarge/abs__screen_action_bar.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout-xlarge/abs__screen_action_bar.xml new file mode 100644 index 000000000..040df44ab --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout-xlarge/abs__screen_action_bar.xml @@ -0,0 +1,50 @@ + + + + + + + + + + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout-xlarge/abs__screen_action_bar_overlay.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout-xlarge/abs__screen_action_bar_overlay.xml new file mode 100644 index 000000000..c64ef141b --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout-xlarge/abs__screen_action_bar_overlay.xml @@ -0,0 +1,49 @@ + + + + + + + + + + + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__action_bar_home.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__action_bar_home.xml new file mode 100644 index 000000000..5c1e9ec4b --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__action_bar_home.xml @@ -0,0 +1,38 @@ + + + + + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__action_bar_tab.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__action_bar_tab.xml new file mode 100644 index 000000000..f46f7a044 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__action_bar_tab.xml @@ -0,0 +1,7 @@ + + + \ No newline at end of file diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__action_bar_tab_bar_view.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__action_bar_tab_bar_view.xml new file mode 100644 index 000000000..0d51220c9 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__action_bar_tab_bar_view.xml @@ -0,0 +1,6 @@ + + + \ No newline at end of file diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__action_bar_title_item.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__action_bar_title_item.xml new file mode 100644 index 000000000..dd69acada --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__action_bar_title_item.xml @@ -0,0 +1,50 @@ + + + + + + + + + + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__action_menu_item_layout.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__action_menu_item_layout.xml new file mode 100644 index 000000000..13149fd63 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__action_menu_item_layout.xml @@ -0,0 +1,56 @@ + + + + + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__action_menu_layout.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__action_menu_layout.xml new file mode 100644 index 000000000..a6f8e53f8 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__action_menu_layout.xml @@ -0,0 +1,23 @@ + + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__action_mode_bar.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__action_mode_bar.xml new file mode 100644 index 000000000..7168dc77f --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__action_mode_bar.xml @@ -0,0 +1,24 @@ + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__action_mode_close_item.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__action_mode_close_item.xml new file mode 100644 index 000000000..875ec3e1b --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__action_mode_close_item.xml @@ -0,0 +1,31 @@ + + + + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__activity_chooser_view.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__activity_chooser_view.xml new file mode 100644 index 000000000..6a0ac9ece --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__activity_chooser_view.xml @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__activity_chooser_view_list_item.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__activity_chooser_view_list_item.xml new file mode 100644 index 000000000..b430032a1 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__activity_chooser_view_list_item.xml @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__dialog_title_holo.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__dialog_title_holo.xml new file mode 100644 index 000000000..ab2b0ee6c --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__dialog_title_holo.xml @@ -0,0 +1,46 @@ + + + + + + + + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__list_menu_item_checkbox.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__list_menu_item_checkbox.xml new file mode 100644 index 000000000..39aca3a8d --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__list_menu_item_checkbox.xml @@ -0,0 +1,26 @@ + + + + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__list_menu_item_icon.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__list_menu_item_icon.xml new file mode 100644 index 000000000..55ab28a24 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__list_menu_item_icon.xml @@ -0,0 +1,28 @@ + + + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__list_menu_item_layout.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__list_menu_item_layout.xml new file mode 100644 index 000000000..147f36fe8 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__list_menu_item_layout.xml @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__list_menu_item_radio.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__list_menu_item_radio.xml new file mode 100644 index 000000000..ff54bbecd --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__list_menu_item_radio.xml @@ -0,0 +1,24 @@ + + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__popup_menu_item_layout.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__popup_menu_item_layout.xml new file mode 100644 index 000000000..d42425ad3 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__popup_menu_item_layout.xml @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__screen_action_bar.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__screen_action_bar.xml new file mode 100644 index 000000000..1fb82fe9a --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__screen_action_bar.xml @@ -0,0 +1,57 @@ + + + + + + + + + + + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__screen_action_bar_overlay.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__screen_action_bar_overlay.xml new file mode 100644 index 000000000..0961ef561 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__screen_action_bar_overlay.xml @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__screen_simple.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__screen_simple.xml new file mode 100644 index 000000000..33e2dea0d --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__screen_simple.xml @@ -0,0 +1,38 @@ + + + + + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__screen_simple_overlay_action_mode.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__screen_simple_overlay_action_mode.xml new file mode 100644 index 000000000..f8b9fb185 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__screen_simple_overlay_action_mode.xml @@ -0,0 +1,38 @@ + + + + + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__search_dropdown_item_icons_2line.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__search_dropdown_item_icons_2line.xml new file mode 100644 index 000000000..e1d3dc49c --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__search_dropdown_item_icons_2line.xml @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__search_view.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__search_view.xml new file mode 100644 index 000000000..6ba319121 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__search_view.xml @@ -0,0 +1,159 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__simple_dropdown_hint.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__simple_dropdown_hint.xml new file mode 100644 index 000000000..8fc0eb12c --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/abs__simple_dropdown_hint.xml @@ -0,0 +1,29 @@ + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/sherlock_spinner_dropdown_item.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/sherlock_spinner_dropdown_item.xml new file mode 100644 index 000000000..a6c6252d2 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/sherlock_spinner_dropdown_item.xml @@ -0,0 +1,26 @@ + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/sherlock_spinner_item.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/sherlock_spinner_item.xml new file mode 100644 index 000000000..bea740178 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/layout/sherlock_spinner_item.xml @@ -0,0 +1,26 @@ + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-land/abs__dimens.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-land/abs__dimens.xml new file mode 100644 index 000000000..502cc16a3 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-land/abs__dimens.xml @@ -0,0 +1,33 @@ + + + + + 40dip + + 4dip + + 16dp + + 12dp + + -2dp + + 4dip + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-large-hdpi-1024x600/abs__dimens.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-large-hdpi-1024x600/abs__dimens.xml new file mode 100644 index 000000000..3312cfa7f --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-large-hdpi-1024x600/abs__dimens.xml @@ -0,0 +1,33 @@ + + + + + 48dip + + 8dip + + 18dp + + 14dp + + -3dp + + 5dip + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-large-land-hdpi-1024x600/abs__dimens.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-large-land-hdpi-1024x600/abs__dimens.xml new file mode 100644 index 000000000..502cc16a3 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-large-land-hdpi-1024x600/abs__dimens.xml @@ -0,0 +1,33 @@ + + + + + 40dip + + 4dip + + 16dp + + 12dp + + -2dp + + 4dip + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-large-land-mdpi-1024x600/abs__dimens.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-large-land-mdpi-1024x600/abs__dimens.xml new file mode 100644 index 000000000..3312cfa7f --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-large-land-mdpi-1024x600/abs__dimens.xml @@ -0,0 +1,33 @@ + + + + + 48dip + + 8dip + + 18dp + + 14dp + + -3dp + + 5dip + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-large-mdpi-1024x600/abs__dimens.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-large-mdpi-1024x600/abs__dimens.xml new file mode 100644 index 000000000..35910333b --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-large-mdpi-1024x600/abs__dimens.xml @@ -0,0 +1,36 @@ + + + + + 56dip + + 4dip + + 18dp + + 14dp + + -3dp + + 9dip + + + 64dip + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-large/abs__dimens.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-large/abs__dimens.xml new file mode 100644 index 000000000..63b12f7f3 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-large/abs__dimens.xml @@ -0,0 +1,29 @@ + + + + + 55% + + 80% + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-sw600dp/abs__bools.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-sw600dp/abs__bools.xml new file mode 100644 index 000000000..7a48e1542 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-sw600dp/abs__bools.xml @@ -0,0 +1,19 @@ + + + + + false + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-sw600dp/abs__dimens.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-sw600dp/abs__dimens.xml new file mode 100644 index 000000000..f67853817 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-sw600dp/abs__dimens.xml @@ -0,0 +1,38 @@ + + + + + 56dip + + 4dip + + 18dp + + 14dp + + -3dp + + 9dip + + 5 + + + 64dip + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-v11/abs__themes.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-v11/abs__themes.xml new file mode 100644 index 000000000..03473572c --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-v11/abs__themes.xml @@ -0,0 +1,12 @@ + + + + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-v14/abs__styles.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-v14/abs__styles.xml new file mode 100644 index 000000000..88a60dd92 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-v14/abs__styles.xml @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-v14/abs__themes.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-v14/abs__themes.xml new file mode 100644 index 000000000..5fac1ab58 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-v14/abs__themes.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-w360dp/abs__dimens.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-w360dp/abs__dimens.xml new file mode 100644 index 000000000..6f49d7e47 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-w360dp/abs__dimens.xml @@ -0,0 +1,22 @@ + + + + 3 + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-w480dp/abs__bools.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-w480dp/abs__bools.xml new file mode 100644 index 000000000..3eaf4aee9 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-w480dp/abs__bools.xml @@ -0,0 +1,22 @@ + + + + true + false + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-w480dp/abs__config.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-w480dp/abs__config.xml new file mode 100644 index 000000000..88357b0a7 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-w480dp/abs__config.xml @@ -0,0 +1,29 @@ + + + + + + + + true + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-w500dp/abs__dimens.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-w500dp/abs__dimens.xml new file mode 100644 index 000000000..2fd4deea2 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-w500dp/abs__dimens.xml @@ -0,0 +1,22 @@ + + + + 4 + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-w600dp/abs__dimens.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-w600dp/abs__dimens.xml new file mode 100644 index 000000000..b085952d3 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-w600dp/abs__dimens.xml @@ -0,0 +1,22 @@ + + + + 5 + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-xlarge/abs__dimens.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-xlarge/abs__dimens.xml new file mode 100644 index 000000000..bfc535de1 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values-xlarge/abs__dimens.xml @@ -0,0 +1,45 @@ + + + + + 56dip + + 4dip + + 18dp + + 14dp + + -3dp + + 9dip + + + 64dip + + + 45% + + 72% + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values/abs__attrs.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values/abs__attrs.xml new file mode 100644 index 000000000..32631ca8d --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values/abs__attrs.xml @@ -0,0 +1,432 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values/abs__bools.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values/abs__bools.xml new file mode 100644 index 000000000..0b432448d --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values/abs__bools.xml @@ -0,0 +1,22 @@ + + + + + false + true + true + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values/abs__colors.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values/abs__colors.xml new file mode 100644 index 000000000..625c632ff --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values/abs__colors.xml @@ -0,0 +1,27 @@ + + + + + #ff000000 + #fff3f3f3 + @color/abs__background_holo_light + @color/abs__background_holo_dark + #ff4c4c4c + #ffb2b2b2 + @color/abs__bright_foreground_holo_light + @color/abs__bright_foreground_holo_dark + #ff33b5e5 + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values/abs__config.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values/abs__config.xml new file mode 100644 index 000000000..4c7b5d459 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values/abs__config.xml @@ -0,0 +1,43 @@ + + + + + + + + 320dp + + + false + + + true + + + false + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values/abs__dimens.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values/abs__dimens.xml new file mode 100644 index 000000000..831289e07 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values/abs__dimens.xml @@ -0,0 +1,67 @@ + + + + + 48dip + + 8dip + + 18dp + + 14dp + + -3dp + + 5dip + + 2 + + + 56dip + + + 64dip + + + 65% + + 95% + + + + 8dip + + + 8dip + + + 32dip + + + + 160dip + + + 320dip + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values/abs__ids.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values/abs__ids.xml new file mode 100644 index 000000000..f9f56045b --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values/abs__ids.xml @@ -0,0 +1,26 @@ + + + + + + + + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values/abs__strings.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values/abs__strings.xml new file mode 100644 index 000000000..06a2a2af4 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values/abs__strings.xml @@ -0,0 +1,53 @@ + + + + + Navigate home + + Navigate up + + More options + + + Done + + + See all... + + Select activity + + Share with... + + Choose an application + + Share with + + Share with %s + + + Search + + Search query + + Clear query + + Submit query + + Voice search + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values/abs__styles.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values/abs__styles.xml new file mode 100644 index 000000000..45a18c183 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values/abs__styles.xml @@ -0,0 +1,412 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values/abs__themes.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values/abs__themes.xml new file mode 100644 index 000000000..634fa798b --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/res/values/abs__themes.xml @@ -0,0 +1,239 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/android/support/v4/app/Watson.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/android/support/v4/app/Watson.java new file mode 100644 index 000000000..d93de4c6a --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/android/support/v4/app/Watson.java @@ -0,0 +1,144 @@ +package android.support.v4.app; + +import android.util.Log; +import android.view.View; +import android.view.Window; +import com.actionbarsherlock.ActionBarSherlock.OnCreatePanelMenuListener; +import com.actionbarsherlock.ActionBarSherlock.OnMenuItemSelectedListener; +import com.actionbarsherlock.ActionBarSherlock.OnPreparePanelListener; +import com.actionbarsherlock.view.Menu; +import com.actionbarsherlock.view.MenuInflater; +import com.actionbarsherlock.view.MenuItem; + +import java.util.ArrayList; + +/** I'm in ur package. Stealing ur variables. */ +public abstract class Watson extends FragmentActivity implements OnCreatePanelMenuListener, OnPreparePanelListener, OnMenuItemSelectedListener { + private static final boolean DEBUG = false; + private static final String TAG = "Watson"; + + /** Fragment interface for menu creation callback. */ + public interface OnCreateOptionsMenuListener { + public void onCreateOptionsMenu(Menu menu, MenuInflater inflater); + } + /** Fragment interface for menu preparation callback. */ + public interface OnPrepareOptionsMenuListener { + public void onPrepareOptionsMenu(Menu menu); + } + /** Fragment interface for menu item selection callback. */ + public interface OnOptionsItemSelectedListener { + public boolean onOptionsItemSelected(MenuItem item); + } + + private ArrayList mCreatedMenus; + + + /////////////////////////////////////////////////////////////////////////// + // Sherlock menu handling + /////////////////////////////////////////////////////////////////////////// + + @Override + public boolean onCreatePanelMenu(int featureId, Menu menu) { + if (DEBUG) Log.d(TAG, "[onCreatePanelMenu] featureId: " + featureId + ", menu: " + menu); + + if (featureId == Window.FEATURE_OPTIONS_PANEL) { + boolean result = onCreateOptionsMenu(menu); + if (DEBUG) Log.d(TAG, "[onCreatePanelMenu] activity create result: " + result); + + MenuInflater inflater = getSupportMenuInflater(); + boolean show = false; + ArrayList newMenus = null; + if (mFragments.mAdded != null) { + for (int i = 0; i < mFragments.mAdded.size(); i++) { + Fragment f = mFragments.mAdded.get(i); + if (f != null && !f.mHidden && f.mHasMenu && f.mMenuVisible && f instanceof OnCreateOptionsMenuListener) { + show = true; + ((OnCreateOptionsMenuListener)f).onCreateOptionsMenu(menu, inflater); + if (newMenus == null) { + newMenus = new ArrayList(); + } + newMenus.add(f); + } + } + } + + if (mCreatedMenus != null) { + for (int i = 0; i < mCreatedMenus.size(); i++) { + Fragment f = mCreatedMenus.get(i); + if (newMenus == null || !newMenus.contains(f)) { + f.onDestroyOptionsMenu(); + } + } + } + + mCreatedMenus = newMenus; + + if (DEBUG) Log.d(TAG, "[onCreatePanelMenu] fragments create result: " + show); + result |= show; + + if (DEBUG) Log.d(TAG, "[onCreatePanelMenu] returning " + result); + return result; + } + return false; + } + + @Override + public boolean onPreparePanel(int featureId, View view, Menu menu) { + if (DEBUG) Log.d(TAG, "[onPreparePanel] featureId: " + featureId + ", view: " + view + " menu: " + menu); + + if (featureId == Window.FEATURE_OPTIONS_PANEL) { + boolean result = onPrepareOptionsMenu(menu); + if (DEBUG) Log.d(TAG, "[onPreparePanel] activity prepare result: " + result); + + boolean show = false; + if (mFragments.mAdded != null) { + for (int i = 0; i < mFragments.mAdded.size(); i++) { + Fragment f = mFragments.mAdded.get(i); + if (f != null && !f.mHidden && f.mHasMenu && f.mMenuVisible && f instanceof OnPrepareOptionsMenuListener) { + show = true; + ((OnPrepareOptionsMenuListener)f).onPrepareOptionsMenu(menu); + } + } + } + + if (DEBUG) Log.d(TAG, "[onPreparePanel] fragments prepare result: " + show); + result |= show; + + result &= menu.hasVisibleItems(); + if (DEBUG) Log.d(TAG, "[onPreparePanel] returning " + result); + return result; + } + return false; + } + + @Override + public boolean onMenuItemSelected(int featureId, MenuItem item) { + if (DEBUG) Log.d(TAG, "[onMenuItemSelected] featureId: " + featureId + ", item: " + item); + + if (featureId == Window.FEATURE_OPTIONS_PANEL) { + if (onOptionsItemSelected(item)) { + return true; + } + + if (mFragments.mAdded != null) { + for (int i = 0; i < mFragments.mAdded.size(); i++) { + Fragment f = mFragments.mAdded.get(i); + if (f != null && !f.mHidden && f.mHasMenu && f.mMenuVisible && f instanceof OnOptionsItemSelectedListener) { + if (((OnOptionsItemSelectedListener)f).onOptionsItemSelected(item)) { + return true; + } + } + } + } + } + return false; + } + + public abstract boolean onCreateOptionsMenu(Menu menu); + + public abstract boolean onPrepareOptionsMenu(Menu menu); + + public abstract boolean onOptionsItemSelected(MenuItem item); + + public abstract MenuInflater getSupportMenuInflater(); +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/ActionBarSherlock.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/ActionBarSherlock.java new file mode 100644 index 000000000..ab160f836 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/ActionBarSherlock.java @@ -0,0 +1,794 @@ +package com.actionbarsherlock; + +import static android.view.ViewGroup.LayoutParams.MATCH_PARENT; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; +import java.lang.reflect.Constructor; +import java.lang.reflect.InvocationTargetException; +import java.util.HashMap; +import java.util.Iterator; +import android.app.Activity; +import android.content.Context; +import android.content.res.Configuration; +import android.os.Build; +import android.os.Bundle; +import android.util.DisplayMetrics; +import android.util.Log; +import android.view.KeyEvent; +import android.view.View; +import android.view.ViewGroup; +import android.view.Window; +import com.actionbarsherlock.app.ActionBar; +import com.actionbarsherlock.internal.ActionBarSherlockCompat; +import com.actionbarsherlock.internal.ActionBarSherlockNative; +import com.actionbarsherlock.view.ActionMode; +import com.actionbarsherlock.view.Menu; +import com.actionbarsherlock.view.MenuInflater; +import com.actionbarsherlock.view.MenuItem; + +/** + *

      Helper for implementing the action bar design pattern across all versions + * of Android.

      + * + *

      This class will manage interaction with a custom action bar based on the + * Android 4.0 source code. The exposed API mirrors that of its native + * counterpart and you should refer to its documentation for instruction.

      + * + * @author Jake Wharton + */ +public abstract class ActionBarSherlock { + protected static final String TAG = "ActionBarSherlock"; + protected static final boolean DEBUG = false; + + private static final Class[] CONSTRUCTOR_ARGS = new Class[] { Activity.class, int.class }; + private static final HashMap> IMPLEMENTATIONS = + new HashMap>(); + + static { + //Register our two built-in implementations + registerImplementation(ActionBarSherlockCompat.class); + registerImplementation(ActionBarSherlockNative.class); + } + + + /** + *

      Denotes an implementation of ActionBarSherlock which provides an + * action bar-enhanced experience.

      + */ + @Target(ElementType.TYPE) + @Retention(RetentionPolicy.RUNTIME) + public @interface Implementation { + static final int DEFAULT_API = -1; + static final int DEFAULT_DPI = -1; + + int api() default DEFAULT_API; + int dpi() default DEFAULT_DPI; + } + + + /** Activity interface for menu creation callback. */ + public interface OnCreatePanelMenuListener { + public boolean onCreatePanelMenu(int featureId, Menu menu); + } + /** Activity interface for menu creation callback. */ + public interface OnCreateOptionsMenuListener { + public boolean onCreateOptionsMenu(Menu menu); + } + /** Activity interface for menu item selection callback. */ + public interface OnMenuItemSelectedListener { + public boolean onMenuItemSelected(int featureId, MenuItem item); + } + /** Activity interface for menu item selection callback. */ + public interface OnOptionsItemSelectedListener { + public boolean onOptionsItemSelected(MenuItem item); + } + /** Activity interface for menu preparation callback. */ + public interface OnPreparePanelListener { + public boolean onPreparePanel(int featureId, View view, Menu menu); + } + /** Activity interface for menu preparation callback. */ + public interface OnPrepareOptionsMenuListener { + public boolean onPrepareOptionsMenu(Menu menu); + } + /** Activity interface for action mode finished callback. */ + public interface OnActionModeFinishedListener { + public void onActionModeFinished(ActionMode mode); + } + /** Activity interface for action mode started callback. */ + public interface OnActionModeStartedListener { + public void onActionModeStarted(ActionMode mode); + } + + + /** + * If set, the logic in these classes will assume that an {@link Activity} + * is dispatching all of the required events to the class. This flag should + * only be used internally or if you are creating your own base activity + * modeled after one of the included types (e.g., {@code SherlockActivity}). + */ + public static final int FLAG_DELEGATE = 1; + + + /** + * Register an ActionBarSherlock implementation. + * + * @param implementationClass Target implementation class which extends + * {@link ActionBarSherlock}. This class must also be annotated with + * {@link Implementation}. + */ + public static void registerImplementation(Class implementationClass) { + if (!implementationClass.isAnnotationPresent(Implementation.class)) { + throw new IllegalArgumentException("Class " + implementationClass.getSimpleName() + " is not annotated with @Implementation"); + } else if (IMPLEMENTATIONS.containsValue(implementationClass)) { + if (DEBUG) Log.w(TAG, "Class " + implementationClass.getSimpleName() + " already registered"); + return; + } + + Implementation impl = implementationClass.getAnnotation(Implementation.class); + if (DEBUG) Log.i(TAG, "Registering " + implementationClass.getSimpleName() + " with qualifier " + impl); + IMPLEMENTATIONS.put(impl, implementationClass); + } + + /** + * Unregister an ActionBarSherlock implementation. This should be + * considered very volatile and you should only use it if you know what + * you are doing. You have been warned. + * + * @param implementationClass Target implementation class. + * @return Boolean indicating whether the class was removed. + */ + public static boolean unregisterImplementation(Class implementationClass) { + return IMPLEMENTATIONS.values().remove(implementationClass); + } + + /** + * Wrap an activity with an action bar abstraction which will enable the + * use of a custom implementation on platforms where a native version does + * not exist. + * + * @param activity Activity to wrap. + * @return Instance to interact with the action bar. + */ + public static ActionBarSherlock wrap(Activity activity) { + return wrap(activity, 0); + } + + /** + * Wrap an activity with an action bar abstraction which will enable the + * use of a custom implementation on platforms where a native version does + * not exist. + * + * @param activity Owning activity. + * @param flags Option flags to control behavior. + * @return Instance to interact with the action bar. + */ + public static ActionBarSherlock wrap(Activity activity, int flags) { + //Create a local implementation map we can modify + HashMap> impls = + new HashMap>(IMPLEMENTATIONS); + boolean hasQualfier; + + /* DPI FILTERING */ + hasQualfier = false; + for (Implementation key : impls.keySet()) { + //Only honor TVDPI as a specific qualifier + if (key.dpi() == DisplayMetrics.DENSITY_TV) { + hasQualfier = true; + break; + } + } + if (hasQualfier) { + final boolean isTvDpi = activity.getResources().getDisplayMetrics().densityDpi == DisplayMetrics.DENSITY_TV; + for (Iterator keys = impls.keySet().iterator(); keys.hasNext(); ) { + int keyDpi = keys.next().dpi(); + if ((isTvDpi && keyDpi != DisplayMetrics.DENSITY_TV) + || (!isTvDpi && keyDpi == DisplayMetrics.DENSITY_TV)) { + keys.remove(); + } + } + } + + /* API FILTERING */ + hasQualfier = false; + for (Implementation key : impls.keySet()) { + if (key.api() != Implementation.DEFAULT_API) { + hasQualfier = true; + break; + } + } + if (hasQualfier) { + final int runtimeApi = Build.VERSION.SDK_INT; + int bestApi = 0; + for (Iterator keys = impls.keySet().iterator(); keys.hasNext(); ) { + int keyApi = keys.next().api(); + if (keyApi > runtimeApi) { + keys.remove(); + } else if (keyApi > bestApi) { + bestApi = keyApi; + } + } + for (Iterator keys = impls.keySet().iterator(); keys.hasNext(); ) { + if (keys.next().api() != bestApi) { + keys.remove(); + } + } + } + + if (impls.size() > 1) { + throw new IllegalStateException("More than one implementation matches configuration."); + } + if (impls.isEmpty()) { + throw new IllegalStateException("No implementations match configuration."); + } + Class impl = impls.values().iterator().next(); + if (DEBUG) Log.i(TAG, "Using implementation: " + impl.getSimpleName()); + + try { + Constructor ctor = impl.getConstructor(CONSTRUCTOR_ARGS); + return ctor.newInstance(activity, flags); + } catch (NoSuchMethodException e) { + throw new RuntimeException(e); + } catch (IllegalArgumentException e) { + throw new RuntimeException(e); + } catch (InstantiationException e) { + throw new RuntimeException(e); + } catch (IllegalAccessException e) { + throw new RuntimeException(e); + } catch (InvocationTargetException e) { + throw new RuntimeException(e); + } + } + + + /** Activity which is displaying the action bar. Also used for context. */ + protected final Activity mActivity; + /** Whether delegating actions for the activity or managing ourselves. */ + protected final boolean mIsDelegate; + + /** Reference to our custom menu inflater which supports action items. */ + protected MenuInflater mMenuInflater; + + + + protected ActionBarSherlock(Activity activity, int flags) { + if (DEBUG) Log.d(TAG, "[] activity: " + activity + ", flags: " + flags); + + mActivity = activity; + mIsDelegate = (flags & FLAG_DELEGATE) != 0; + } + + + /** + * Get the current action bar instance. + * + * @return Action bar instance. + */ + public abstract ActionBar getActionBar(); + + + /////////////////////////////////////////////////////////////////////////// + // Lifecycle and interaction callbacks when delegating + /////////////////////////////////////////////////////////////////////////// + + /** + * Notify action bar of a configuration change event. Should be dispatched + * after the call to the superclass implementation. + * + *
      +     * @Override
      +     * public void onConfigurationChanged(Configuration newConfig) {
      +     *     super.onConfigurationChanged(newConfig);
      +     *     mSherlock.dispatchConfigurationChanged(newConfig);
      +     * }
      +     * 
      + * + * @param newConfig The new device configuration. + */ + public void dispatchConfigurationChanged(Configuration newConfig) {} + + /** + * Notify the action bar that the activity has finished its resuming. This + * should be dispatched after the call to the superclass implementation. + * + *
      +     * @Override
      +     * protected void onPostResume() {
      +     *     super.onPostResume();
      +     *     mSherlock.dispatchPostResume();
      +     * }
      +     * 
      + */ + public void dispatchPostResume() {} + + /** + * Notify the action bar that the activity is pausing. This should be + * dispatched before the call to the superclass implementation. + * + *
      +     * @Override
      +     * protected void onPause() {
      +     *     mSherlock.dispatchPause();
      +     *     super.onPause();
      +     * }
      +     * 
      + */ + public void dispatchPause() {} + + /** + * Notify the action bar that the activity is stopping. This should be + * called before the superclass implementation. + * + *

      + * @Override + * protected void onStop() { + * mSherlock.dispatchStop(); + * super.onStop(); + * } + *

      + */ + public void dispatchStop() {} + + /** + * Indicate that the menu should be recreated by calling + * {@link OnCreateOptionsMenuListener#onCreateOptionsMenu(com.actionbarsherlock.view.Menu)}. + */ + public abstract void dispatchInvalidateOptionsMenu(); + + /** + * Notify the action bar that it should display its overflow menu if it is + * appropriate for the device. The implementation should conditionally + * call the superclass method only if this method returns {@code false}. + * + *

      + * @Override + * public void openOptionsMenu() { + * if (!mSherlock.dispatchOpenOptionsMenu()) { + * super.openOptionsMenu(); + * } + * } + *

      + * + * @return {@code true} if the opening of the menu was handled internally. + */ + public boolean dispatchOpenOptionsMenu() { + return false; + } + + /** + * Notify the action bar that it should close its overflow menu if it is + * appropriate for the device. This implementation should conditionally + * call the superclass method only if this method returns {@code false}. + * + *
      +     * @Override
      +     * public void closeOptionsMenu() {
      +     *     if (!mSherlock.dispatchCloseOptionsMenu()) {
      +     *         super.closeOptionsMenu();
      +     *     }
      +     * }
      +     * 
      + * + * @return {@code true} if the closing of the menu was handled internally. + */ + public boolean dispatchCloseOptionsMenu() { + return false; + } + + /** + * Notify the class that the activity has finished its creation. This + * should be called after the superclass implementation. + * + *
      +     * @Override
      +     * protected void onPostCreate(Bundle savedInstanceState) {
      +     *     mSherlock.dispatchPostCreate(savedInstanceState);
      +     *     super.onPostCreate(savedInstanceState);
      +     * }
      +     * 
      + * + * @param savedInstanceState If the activity is being re-initialized after + * previously being shut down then this Bundle + * contains the data it most recently supplied in + * {@link Activity#}onSaveInstanceState(Bundle)}. + * Note: Otherwise it is null. + */ + public void dispatchPostCreate(Bundle savedInstanceState) {} + + /** + * Notify the action bar that the title has changed and the action bar + * should be updated to reflect the change. This should be called before + * the superclass implementation. + * + *
      +     *  @Override
      +     *  protected void onTitleChanged(CharSequence title, int color) {
      +     *      mSherlock.dispatchTitleChanged(title, color);
      +     *      super.onTitleChanged(title, color);
      +     *  }
      +     * 
      + * + * @param title New activity title. + * @param color New activity color. + */ + public void dispatchTitleChanged(CharSequence title, int color) {} + + /** + * Notify the action bar the user has created a key event. This is used to + * toggle the display of the overflow action item with the menu key and to + * close the action mode or expanded action item with the back key. + * + *
      +     * @Override
      +     * public boolean dispatchKeyEvent(KeyEvent event) {
      +     *     if (mSherlock.dispatchKeyEvent(event)) {
      +     *         return true;
      +     *     }
      +     *     return super.dispatchKeyEvent(event);
      +     * }
      +     * 
      + * + * @param event Description of the key event. + * @return {@code true} if the event was handled. + */ + public boolean dispatchKeyEvent(KeyEvent event) { + return false; + } + + /** + * Notify the action bar that the Activity has triggered a menu creation + * which should happen on the conclusion of {@link Activity#onCreate}. This + * will be used to gain a reference to the native menu for native and + * overflow binding as well as to indicate when compatibility create should + * occur for the first time. + * + * @param menu Activity native menu. + * @return {@code true} since we always want to say that we have a native + */ + public abstract boolean dispatchCreateOptionsMenu(android.view.Menu menu); + + /** + * Notify the action bar that the Activity has triggered a menu preparation + * which usually means that the user has requested the overflow menu via a + * hardware menu key. You should return the result of this method call and + * not call the superclass implementation. + * + *

      + * @Override + * public final boolean onPrepareOptionsMenu(android.view.Menu menu) { + * return mSherlock.dispatchPrepareOptionsMenu(menu); + * } + *

      + * + * @param menu Activity native menu. + * @return {@code true} if menu display should proceed. + */ + public abstract boolean dispatchPrepareOptionsMenu(android.view.Menu menu); + + /** + * Notify the action bar that a native options menu item has been selected. + * The implementation should return the result of this method call. + * + *

      + * @Override + * public final boolean onOptionsItemSelected(android.view.MenuItem item) { + * return mSherlock.dispatchOptionsItemSelected(item); + * } + *

      + * + * @param item Options menu item. + * @return @{code true} if the selection was handled. + */ + public abstract boolean dispatchOptionsItemSelected(android.view.MenuItem item); + + /** + * Notify the action bar that the overflow menu has been opened. The + * implementation should conditionally return {@code true} if this method + * returns {@code true}, otherwise return the result of the superclass + * method. + * + *

      + * @Override + * public final boolean onMenuOpened(int featureId, android.view.Menu menu) { + * if (mSherlock.dispatchMenuOpened(featureId, menu)) { + * return true; + * } + * return super.onMenuOpened(featureId, menu); + * } + *

      + * + * @param featureId Window feature which triggered the event. + * @param menu Activity native menu. + * @return {@code true} if the event was handled by this method. + */ + public boolean dispatchMenuOpened(int featureId, android.view.Menu menu) { + return false; + } + + /** + * Notify the action bar that the overflow menu has been closed. This + * method should be called before the superclass implementation. + * + *

      + * @Override + * public void onPanelClosed(int featureId, android.view.Menu menu) { + * mSherlock.dispatchPanelClosed(featureId, menu); + * super.onPanelClosed(featureId, menu); + * } + *

      + * + * @param featureId + * @param menu + */ + public void dispatchPanelClosed(int featureId, android.view.Menu menu) {} + + /** + * Notify the action bar that the activity has been destroyed. This method + * should be called before the superclass implementation. + * + *

      + * @Override + * public void onDestroy() { + * mSherlock.dispatchDestroy(); + * super.onDestroy(); + * } + *

      + */ + public void dispatchDestroy() {} + + public void dispatchSaveInstanceState(Bundle outState) {} + + public void dispatchRestoreInstanceState(Bundle savedInstanceState) {} + + /////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////// + + + /** + * Internal method to trigger the menu creation process. + * + * @return {@code true} if menu creation should proceed. + */ + protected final boolean callbackCreateOptionsMenu(Menu menu) { + if (DEBUG) Log.d(TAG, "[callbackCreateOptionsMenu] menu: " + menu); + + boolean result = true; + if (mActivity instanceof OnCreatePanelMenuListener) { + OnCreatePanelMenuListener listener = (OnCreatePanelMenuListener)mActivity; + result = listener.onCreatePanelMenu(Window.FEATURE_OPTIONS_PANEL, menu); + } else if (mActivity instanceof OnCreateOptionsMenuListener) { + OnCreateOptionsMenuListener listener = (OnCreateOptionsMenuListener)mActivity; + result = listener.onCreateOptionsMenu(menu); + } + + if (DEBUG) Log.d(TAG, "[callbackCreateOptionsMenu] returning " + result); + return result; + } + + /** + * Internal method to trigger the menu preparation process. + * + * @return {@code true} if menu preparation should proceed. + */ + protected final boolean callbackPrepareOptionsMenu(Menu menu) { + if (DEBUG) Log.d(TAG, "[callbackPrepareOptionsMenu] menu: " + menu); + + boolean result = true; + if (mActivity instanceof OnPreparePanelListener) { + OnPreparePanelListener listener = (OnPreparePanelListener)mActivity; + result = listener.onPreparePanel(Window.FEATURE_OPTIONS_PANEL, null, menu); + } else if (mActivity instanceof OnPrepareOptionsMenuListener) { + OnPrepareOptionsMenuListener listener = (OnPrepareOptionsMenuListener)mActivity; + result = listener.onPrepareOptionsMenu(menu); + } + + if (DEBUG) Log.d(TAG, "[callbackPrepareOptionsMenu] returning " + result); + return result; + } + + /** + * Internal method for dispatching options menu selection to the owning + * activity callback. + * + * @param item Selected options menu item. + * @return {@code true} if the item selection was handled in the callback. + */ + protected final boolean callbackOptionsItemSelected(MenuItem item) { + if (DEBUG) Log.d(TAG, "[callbackOptionsItemSelected] item: " + item.getTitleCondensed()); + + boolean result = false; + if (mActivity instanceof OnMenuItemSelectedListener) { + OnMenuItemSelectedListener listener = (OnMenuItemSelectedListener)mActivity; + result = listener.onMenuItemSelected(Window.FEATURE_OPTIONS_PANEL, item); + } else if (mActivity instanceof OnOptionsItemSelectedListener) { + OnOptionsItemSelectedListener listener = (OnOptionsItemSelectedListener)mActivity; + result = listener.onOptionsItemSelected(item); + } + + if (DEBUG) Log.d(TAG, "[callbackOptionsItemSelected] returning " + result); + return result; + } + + + /////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////// + + + /** + * Query for the availability of a certain feature. + * + * @param featureId The feature ID to check. + * @return {@code true} if feature is enabled, {@code false} otherwise. + */ + public abstract boolean hasFeature(int featureId); + + /** + * Enable extended screen features. This must be called before + * {@code setContentView()}. May be called as many times as desired as long + * as it is before {@code setContentView()}. If not called, no extended + * features will be available. You can not turn off a feature once it is + * requested. + * + * @param featureId The desired features, defined as constants by Window. + * @return Returns true if the requested feature is supported and now + * enabled. + */ + public abstract boolean requestFeature(int featureId); + + /** + * Set extra options that will influence the UI for this window. + * + * @param uiOptions Flags specifying extra options for this window. + */ + public abstract void setUiOptions(int uiOptions); + + /** + * Set extra options that will influence the UI for this window. Only the + * bits filtered by mask will be modified. + * + * @param uiOptions Flags specifying extra options for this window. + * @param mask Flags specifying which options should be modified. Others + * will remain unchanged. + */ + public abstract void setUiOptions(int uiOptions, int mask); + + /** + * Set the content of the activity inside the action bar. + * + * @param layoutResId Layout resource ID. + */ + public abstract void setContentView(int layoutResId); + + /** + * Set the content of the activity inside the action bar. + * + * @param view The desired content to display. + */ + public void setContentView(View view) { + if (DEBUG) Log.d(TAG, "[setContentView] view: " + view); + + setContentView(view, new ViewGroup.LayoutParams(MATCH_PARENT, MATCH_PARENT)); + } + + /** + * Set the content of the activity inside the action bar. + * + * @param view The desired content to display. + * @param params Layout parameters to apply to the view. + */ + public abstract void setContentView(View view, ViewGroup.LayoutParams params); + + /** + * Variation on {@link #setContentView(android.view.View, android.view.ViewGroup.LayoutParams)} + * to add an additional content view to the screen. Added after any + * existing ones on the screen -- existing views are NOT removed. + * + * @param view The desired content to display. + * @param params Layout parameters for the view. + */ + public abstract void addContentView(View view, ViewGroup.LayoutParams params); + + /** + * Change the title associated with this activity. + */ + public abstract void setTitle(CharSequence title); + + /** + * Change the title associated with this activity. + */ + public void setTitle(int resId) { + if (DEBUG) Log.d(TAG, "[setTitle] resId: " + resId); + + setTitle(mActivity.getString(resId)); + } + + /** + * Sets the visibility of the progress bar in the title. + *

      + * In order for the progress bar to be shown, the feature must be requested + * via {@link #requestWindowFeature(int)}. + * + * @param visible Whether to show the progress bars in the title. + */ + public abstract void setProgressBarVisibility(boolean visible); + + /** + * Sets the visibility of the indeterminate progress bar in the title. + *

      + * In order for the progress bar to be shown, the feature must be requested + * via {@link #requestWindowFeature(int)}. + * + * @param visible Whether to show the progress bars in the title. + */ + public abstract void setProgressBarIndeterminateVisibility(boolean visible); + + /** + * Sets whether the horizontal progress bar in the title should be indeterminate (the circular + * is always indeterminate). + *

      + * In order for the progress bar to be shown, the feature must be requested + * via {@link #requestWindowFeature(int)}. + * + * @param indeterminate Whether the horizontal progress bar should be indeterminate. + */ + public abstract void setProgressBarIndeterminate(boolean indeterminate); + + /** + * Sets the progress for the progress bars in the title. + *

      + * In order for the progress bar to be shown, the feature must be requested + * via {@link #requestWindowFeature(int)}. + * + * @param progress The progress for the progress bar. Valid ranges are from + * 0 to 10000 (both inclusive). If 10000 is given, the progress + * bar will be completely filled and will fade out. + */ + public abstract void setProgress(int progress); + + /** + * Sets the secondary progress for the progress bar in the title. This + * progress is drawn between the primary progress (set via + * {@link #setProgress(int)} and the background. It can be ideal for media + * scenarios such as showing the buffering progress while the default + * progress shows the play progress. + *

      + * In order for the progress bar to be shown, the feature must be requested + * via {@link #requestWindowFeature(int)}. + * + * @param secondaryProgress The secondary progress for the progress bar. Valid ranges are from + * 0 to 10000 (both inclusive). + */ + public abstract void setSecondaryProgress(int secondaryProgress); + + /** + * Get a menu inflater instance which supports the newer menu attributes. + * + * @return Menu inflater instance. + */ + public MenuInflater getMenuInflater() { + if (DEBUG) Log.d(TAG, "[getMenuInflater]"); + + // Make sure that action views can get an appropriate theme. + if (mMenuInflater == null) { + if (getActionBar() != null) { + mMenuInflater = new MenuInflater(getThemedContext(), mActivity); + } else { + mMenuInflater = new MenuInflater(mActivity); + } + } + return mMenuInflater; + } + + protected abstract Context getThemedContext(); + + /** + * Start an action mode. + * + * @param callback Callback that will manage lifecycle events for this + * context mode. + * @return The ContextMode that was started, or null if it was canceled. + * @see ActionMode + */ + public abstract ActionMode startActionMode(ActionMode.Callback callback); +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/app/ActionBar.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/app/ActionBar.java new file mode 100644 index 000000000..03755be2b --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/app/ActionBar.java @@ -0,0 +1,956 @@ +/* + * 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. + */ + +package com.actionbarsherlock.app; + +import android.content.Context; +import android.content.res.TypedArray; +import android.graphics.drawable.Drawable; +import android.support.v4.app.FragmentTransaction; +import android.util.AttributeSet; +import android.view.Gravity; +import android.view.View; +import android.view.ViewDebug; +import android.view.ViewGroup; +import android.view.ViewGroup.MarginLayoutParams; +import android.widget.SpinnerAdapter; + +/** + * A window feature at the top of the activity that may display the activity title, navigation + * modes, and other interactive items. + *

      Beginning with Android 3.0 (API level 11), the action bar appears at the top of an + * activity's window when the activity uses the system's {@link + * android.R.style#Theme_Holo Holo} theme (or one of its descendant themes), which is the default. + * You may otherwise add the action bar by calling {@link + * android.view.Window#requestFeature requestFeature(FEATURE_ACTION_BAR)} or by declaring it in a + * custom theme with the {@link android.R.styleable#Theme_windowActionBar windowActionBar} property. + *

      By default, the action bar shows the application icon on + * the left, followed by the activity title. If your activity has an options menu, you can make + * select items accessible directly from the action bar as "action items". You can also + * modify various characteristics of the action bar or remove it completely.

      + *

      From your activity, you can retrieve an instance of {@link ActionBar} by calling {@link + * android.app.Activity#getActionBar getActionBar()}.

      + *

      In some cases, the action bar may be overlayed by another bar that enables contextual actions, + * using an {@link android.view.ActionMode}. For example, when the user selects one or more items in + * your activity, you can enable an action mode that offers actions specific to the selected + * items, with a UI that temporarily replaces the action bar. Although the UI may occupy the + * same space, the {@link android.view.ActionMode} APIs are distinct and independent from those for + * {@link ActionBar}. + *

      + */ +public abstract class ActionBar { + /** + * Standard navigation mode. Consists of either a logo or icon + * and title text with an optional subtitle. Clicking any of these elements + * will dispatch onOptionsItemSelected to the host Activity with + * a MenuItem with item ID android.R.id.home. + */ + public static final int NAVIGATION_MODE_STANDARD = android.app.ActionBar.NAVIGATION_MODE_STANDARD; + + /** + * List navigation mode. Instead of static title text this mode + * presents a list menu for navigation within the activity. + * e.g. this might be presented to the user as a dropdown list. + */ + public static final int NAVIGATION_MODE_LIST = android.app.ActionBar.NAVIGATION_MODE_LIST; + + /** + * Tab navigation mode. Instead of static title text this mode + * presents a series of tabs for navigation within the activity. + */ + public static final int NAVIGATION_MODE_TABS = android.app.ActionBar.NAVIGATION_MODE_TABS; + + /** + * Use logo instead of icon if available. This flag will cause appropriate + * navigation modes to use a wider logo in place of the standard icon. + * + * @see #setDisplayOptions(int) + * @see #setDisplayOptions(int, int) + */ + public static final int DISPLAY_USE_LOGO = android.app.ActionBar.DISPLAY_USE_LOGO; + + /** + * Show 'home' elements in this action bar, leaving more space for other + * navigation elements. This includes logo and icon. + * + * @see #setDisplayOptions(int) + * @see #setDisplayOptions(int, int) + */ + public static final int DISPLAY_SHOW_HOME = android.app.ActionBar.DISPLAY_SHOW_HOME; + + /** + * Display the 'home' element such that it appears as an 'up' affordance. + * e.g. show an arrow to the left indicating the action that will be taken. + * + * Set this flag if selecting the 'home' button in the action bar to return + * up by a single level in your UI rather than back to the top level or front page. + * + *

      Setting this option will implicitly enable interaction with the home/up + * button. See {@link #setHomeButtonEnabled(boolean)}. + * + * @see #setDisplayOptions(int) + * @see #setDisplayOptions(int, int) + */ + public static final int DISPLAY_HOME_AS_UP = android.app.ActionBar.DISPLAY_HOME_AS_UP; + + /** + * Show the activity title and subtitle, if present. + * + * @see #setTitle(CharSequence) + * @see #setTitle(int) + * @see #setSubtitle(CharSequence) + * @see #setSubtitle(int) + * @see #setDisplayOptions(int) + * @see #setDisplayOptions(int, int) + */ + public static final int DISPLAY_SHOW_TITLE = android.app.ActionBar.DISPLAY_SHOW_TITLE; + + /** + * Show the custom view if one has been set. + * @see #setCustomView(View) + * @see #setDisplayOptions(int) + * @see #setDisplayOptions(int, int) + */ + public static final int DISPLAY_SHOW_CUSTOM = android.app.ActionBar.DISPLAY_SHOW_CUSTOM; + + /** + * Set the action bar into custom navigation mode, supplying a view + * for custom navigation. + * + * Custom navigation views appear between the application icon and + * any action buttons and may use any space available there. Common + * use cases for custom navigation views might include an auto-suggesting + * address bar for a browser or other navigation mechanisms that do not + * translate well to provided navigation modes. + * + * @param view Custom navigation view to place in the ActionBar. + */ + public abstract void setCustomView(View view); + + /** + * Set the action bar into custom navigation mode, supplying a view + * for custom navigation. + * + *

      Custom navigation views appear between the application icon and + * any action buttons and may use any space available there. Common + * use cases for custom navigation views might include an auto-suggesting + * address bar for a browser or other navigation mechanisms that do not + * translate well to provided navigation modes.

      + * + *

      The display option {@link #DISPLAY_SHOW_CUSTOM} must be set for + * the custom view to be displayed.

      + * + * @param view Custom navigation view to place in the ActionBar. + * @param layoutParams How this custom view should layout in the bar. + * + * @see #setDisplayOptions(int, int) + */ + public abstract void setCustomView(View view, LayoutParams layoutParams); + + /** + * Set the action bar into custom navigation mode, supplying a view + * for custom navigation. + * + *

      Custom navigation views appear between the application icon and + * any action buttons and may use any space available there. Common + * use cases for custom navigation views might include an auto-suggesting + * address bar for a browser or other navigation mechanisms that do not + * translate well to provided navigation modes.

      + * + *

      The display option {@link #DISPLAY_SHOW_CUSTOM} must be set for + * the custom view to be displayed.

      + * + * @param resId Resource ID of a layout to inflate into the ActionBar. + * + * @see #setDisplayOptions(int, int) + */ + public abstract void setCustomView(int resId); + + /** + * Set the icon to display in the 'home' section of the action bar. + * The action bar will use an icon specified by its style or the + * activity icon by default. + * + * Whether the home section shows an icon or logo is controlled + * by the display option {@link #DISPLAY_USE_LOGO}. + * + * @param resId Resource ID of a drawable to show as an icon. + * + * @see #setDisplayUseLogoEnabled(boolean) + * @see #setDisplayShowHomeEnabled(boolean) + */ + public abstract void setIcon(int resId); + + /** + * Set the icon to display in the 'home' section of the action bar. + * The action bar will use an icon specified by its style or the + * activity icon by default. + * + * Whether the home section shows an icon or logo is controlled + * by the display option {@link #DISPLAY_USE_LOGO}. + * + * @param icon Drawable to show as an icon. + * + * @see #setDisplayUseLogoEnabled(boolean) + * @see #setDisplayShowHomeEnabled(boolean) + */ + public abstract void setIcon(Drawable icon); + + /** + * Set the logo to display in the 'home' section of the action bar. + * The action bar will use a logo specified by its style or the + * activity logo by default. + * + * Whether the home section shows an icon or logo is controlled + * by the display option {@link #DISPLAY_USE_LOGO}. + * + * @param resId Resource ID of a drawable to show as a logo. + * + * @see #setDisplayUseLogoEnabled(boolean) + * @see #setDisplayShowHomeEnabled(boolean) + */ + public abstract void setLogo(int resId); + + /** + * Set the logo to display in the 'home' section of the action bar. + * The action bar will use a logo specified by its style or the + * activity logo by default. + * + * Whether the home section shows an icon or logo is controlled + * by the display option {@link #DISPLAY_USE_LOGO}. + * + * @param logo Drawable to show as a logo. + * + * @see #setDisplayUseLogoEnabled(boolean) + * @see #setDisplayShowHomeEnabled(boolean) + */ + public abstract void setLogo(Drawable logo); + + /** + * Set the adapter and navigation callback for list navigation mode. + * + * The supplied adapter will provide views for the expanded list as well as + * the currently selected item. (These may be displayed differently.) + * + * The supplied OnNavigationListener will alert the application when the user + * changes the current list selection. + * + * @param adapter An adapter that will provide views both to display + * the current navigation selection and populate views + * within the dropdown navigation menu. + * @param callback An OnNavigationListener that will receive events when the user + * selects a navigation item. + */ + public abstract void setListNavigationCallbacks(SpinnerAdapter adapter, + OnNavigationListener callback); + + /** + * Set the selected navigation item in list or tabbed navigation modes. + * + * @param position Position of the item to select. + */ + public abstract void setSelectedNavigationItem(int position); + + /** + * Get the position of the selected navigation item in list or tabbed navigation modes. + * + * @return Position of the selected item. + */ + public abstract int getSelectedNavigationIndex(); + + /** + * Get the number of navigation items present in the current navigation mode. + * + * @return Number of navigation items. + */ + public abstract int getNavigationItemCount(); + + /** + * Set the action bar's title. This will only be displayed if + * {@link #DISPLAY_SHOW_TITLE} is set. + * + * @param title Title to set + * + * @see #setTitle(int) + * @see #setDisplayOptions(int, int) + */ + public abstract void setTitle(CharSequence title); + + /** + * Set the action bar's title. This will only be displayed if + * {@link #DISPLAY_SHOW_TITLE} is set. + * + * @param resId Resource ID of title string to set + * + * @see #setTitle(CharSequence) + * @see #setDisplayOptions(int, int) + */ + public abstract void setTitle(int resId); + + /** + * Set the action bar's subtitle. This will only be displayed if + * {@link #DISPLAY_SHOW_TITLE} is set. Set to null to disable the + * subtitle entirely. + * + * @param subtitle Subtitle to set + * + * @see #setSubtitle(int) + * @see #setDisplayOptions(int, int) + */ + public abstract void setSubtitle(CharSequence subtitle); + + /** + * Set the action bar's subtitle. This will only be displayed if + * {@link #DISPLAY_SHOW_TITLE} is set. + * + * @param resId Resource ID of subtitle string to set + * + * @see #setSubtitle(CharSequence) + * @see #setDisplayOptions(int, int) + */ + public abstract void setSubtitle(int resId); + + /** + * Set display options. This changes all display option bits at once. To change + * a limited subset of display options, see {@link #setDisplayOptions(int, int)}. + * + * @param options A combination of the bits defined by the DISPLAY_ constants + * defined in ActionBar. + */ + public abstract void setDisplayOptions(int options); + + /** + * Set selected display options. Only the options specified by mask will be changed. + * To change all display option bits at once, see {@link #setDisplayOptions(int)}. + * + *

      Example: setDisplayOptions(0, DISPLAY_SHOW_HOME) will disable the + * {@link #DISPLAY_SHOW_HOME} option. + * setDisplayOptions(DISPLAY_SHOW_HOME, DISPLAY_SHOW_HOME | DISPLAY_USE_LOGO) + * will enable {@link #DISPLAY_SHOW_HOME} and disable {@link #DISPLAY_USE_LOGO}. + * + * @param options A combination of the bits defined by the DISPLAY_ constants + * defined in ActionBar. + * @param mask A bit mask declaring which display options should be changed. + */ + public abstract void setDisplayOptions(int options, int mask); + + /** + * Set whether to display the activity logo rather than the activity icon. + * A logo is often a wider, more detailed image. + * + *

      To set several display options at once, see the setDisplayOptions methods. + * + * @param useLogo true to use the activity logo, false to use the activity icon. + * + * @see #setDisplayOptions(int) + * @see #setDisplayOptions(int, int) + */ + public abstract void setDisplayUseLogoEnabled(boolean useLogo); + + /** + * Set whether to include the application home affordance in the action bar. + * Home is presented as either an activity icon or logo. + * + *

      To set several display options at once, see the setDisplayOptions methods. + * + * @param showHome true to show home, false otherwise. + * + * @see #setDisplayOptions(int) + * @see #setDisplayOptions(int, int) + */ + public abstract void setDisplayShowHomeEnabled(boolean showHome); + + /** + * Set whether home should be displayed as an "up" affordance. + * Set this to true if selecting "home" returns up by a single level in your UI + * rather than back to the top level or front page. + * + *

      To set several display options at once, see the setDisplayOptions methods. + * + * @param showHomeAsUp true to show the user that selecting home will return one + * level up rather than to the top level of the app. + * + * @see #setDisplayOptions(int) + * @see #setDisplayOptions(int, int) + */ + public abstract void setDisplayHomeAsUpEnabled(boolean showHomeAsUp); + + /** + * Set whether an activity title/subtitle should be displayed. + * + *

      To set several display options at once, see the setDisplayOptions methods. + * + * @param showTitle true to display a title/subtitle if present. + * + * @see #setDisplayOptions(int) + * @see #setDisplayOptions(int, int) + */ + public abstract void setDisplayShowTitleEnabled(boolean showTitle); + + /** + * Set whether a custom view should be displayed, if set. + * + *

      To set several display options at once, see the setDisplayOptions methods. + * + * @param showCustom true if the currently set custom view should be displayed, false otherwise. + * + * @see #setDisplayOptions(int) + * @see #setDisplayOptions(int, int) + */ + public abstract void setDisplayShowCustomEnabled(boolean showCustom); + + /** + * Set the ActionBar's background. This will be used for the primary + * action bar. + * + * @param d Background drawable + * @see #setStackedBackgroundDrawable(Drawable) + * @see #setSplitBackgroundDrawable(Drawable) + */ + public abstract void setBackgroundDrawable(Drawable d); + + /** + * Set the ActionBar's stacked background. This will appear + * in the second row/stacked bar on some devices and configurations. + * + * @param d Background drawable for the stacked row + */ + public void setStackedBackgroundDrawable(Drawable d) { } + + /** + * Set the ActionBar's split background. This will appear in + * the split action bar containing menu-provided action buttons + * on some devices and configurations. + *

      You can enable split action bar with {@link android.R.attr#uiOptions} + * + * @param d Background drawable for the split bar + */ + public void setSplitBackgroundDrawable(Drawable d) { } + + /** + * @return The current custom view. + */ + public abstract View getCustomView(); + + /** + * Returns the current ActionBar title in standard mode. + * Returns null if {@link #getNavigationMode()} would not return + * {@link #NAVIGATION_MODE_STANDARD}. + * + * @return The current ActionBar title or null. + */ + public abstract CharSequence getTitle(); + + /** + * Returns the current ActionBar subtitle in standard mode. + * Returns null if {@link #getNavigationMode()} would not return + * {@link #NAVIGATION_MODE_STANDARD}. + * + * @return The current ActionBar subtitle or null. + */ + public abstract CharSequence getSubtitle(); + + /** + * Returns the current navigation mode. The result will be one of: + *

        + *
      • {@link #NAVIGATION_MODE_STANDARD}
      • + *
      • {@link #NAVIGATION_MODE_LIST}
      • + *
      • {@link #NAVIGATION_MODE_TABS}
      • + *
      + * + * @return The current navigation mode. + */ + public abstract int getNavigationMode(); + + /** + * Set the current navigation mode. + * + * @param mode The new mode to set. + * @see #NAVIGATION_MODE_STANDARD + * @see #NAVIGATION_MODE_LIST + * @see #NAVIGATION_MODE_TABS + */ + public abstract void setNavigationMode(int mode); + + /** + * @return The current set of display options. + */ + public abstract int getDisplayOptions(); + + /** + * Create and return a new {@link Tab}. + * This tab will not be included in the action bar until it is added. + * + *

      Very often tabs will be used to switch between {@link Fragment} + * objects. Here is a typical implementation of such tabs:

      + * + * {@sample development/samples/ApiDemos/src/com/example/android/apis/app/FragmentTabs.java + * complete} + * + * @return A new Tab + * + * @see #addTab(Tab) + */ + public abstract Tab newTab(); + + /** + * Add a tab for use in tabbed navigation mode. The tab will be added at the end of the list. + * If this is the first tab to be added it will become the selected tab. + * + * @param tab Tab to add + */ + public abstract void addTab(Tab tab); + + /** + * Add a tab for use in tabbed navigation mode. The tab will be added at the end of the list. + * + * @param tab Tab to add + * @param setSelected True if the added tab should become the selected tab. + */ + public abstract void addTab(Tab tab, boolean setSelected); + + /** + * Add a tab for use in tabbed navigation mode. The tab will be inserted at + * position. If this is the first tab to be added it will become + * the selected tab. + * + * @param tab The tab to add + * @param position The new position of the tab + */ + public abstract void addTab(Tab tab, int position); + + /** + * Add a tab for use in tabbed navigation mode. The tab will be insterted at + * position. + * + * @param tab The tab to add + * @param position The new position of the tab + * @param setSelected True if the added tab should become the selected tab. + */ + public abstract void addTab(Tab tab, int position, boolean setSelected); + + /** + * Remove a tab from the action bar. If the removed tab was selected it will be deselected + * and another tab will be selected if present. + * + * @param tab The tab to remove + */ + public abstract void removeTab(Tab tab); + + /** + * Remove a tab from the action bar. If the removed tab was selected it will be deselected + * and another tab will be selected if present. + * + * @param position Position of the tab to remove + */ + public abstract void removeTabAt(int position); + + /** + * Remove all tabs from the action bar and deselect the current tab. + */ + public abstract void removeAllTabs(); + + /** + * Select the specified tab. If it is not a child of this action bar it will be added. + * + *

      Note: If you want to select by index, use {@link #setSelectedNavigationItem(int)}.

      + * + * @param tab Tab to select + */ + public abstract void selectTab(Tab tab); + + /** + * Returns the currently selected tab if in tabbed navigation mode and there is at least + * one tab present. + * + * @return The currently selected tab or null + */ + public abstract Tab getSelectedTab(); + + /** + * Returns the tab at the specified index. + * + * @param index Index value in the range 0-get + * @return + */ + public abstract Tab getTabAt(int index); + + /** + * Returns the number of tabs currently registered with the action bar. + * @return Tab count + */ + public abstract int getTabCount(); + + /** + * Retrieve the current height of the ActionBar. + * + * @return The ActionBar's height + */ + public abstract int getHeight(); + + /** + * Show the ActionBar if it is not currently showing. + * If the window hosting the ActionBar does not have the feature + * {@link Window#FEATURE_ACTION_BAR_OVERLAY} it will resize application + * content to fit the new space available. + */ + public abstract void show(); + + /** + * Hide the ActionBar if it is currently showing. + * If the window hosting the ActionBar does not have the feature + * {@link Window#FEATURE_ACTION_BAR_OVERLAY} it will resize application + * content to fit the new space available. + */ + public abstract void hide(); + + /** + * @return true if the ActionBar is showing, false otherwise. + */ + public abstract boolean isShowing(); + + /** + * Add a listener that will respond to menu visibility change events. + * + * @param listener The new listener to add + */ + public abstract void addOnMenuVisibilityListener(OnMenuVisibilityListener listener); + + /** + * Remove a menu visibility listener. This listener will no longer receive menu + * visibility change events. + * + * @param listener A listener to remove that was previously added + */ + public abstract void removeOnMenuVisibilityListener(OnMenuVisibilityListener listener); + + /** + * Enable or disable the "home" button in the corner of the action bar. (Note that this + * is the application home/up affordance on the action bar, not the systemwide home + * button.) + * + *

      This defaults to true for packages targeting < API 14. For packages targeting + * API 14 or greater, the application should call this method to enable interaction + * with the home/up affordance. + * + *

      Setting the {@link #DISPLAY_HOME_AS_UP} display option will automatically enable + * the home button. + * + * @param enabled true to enable the home button, false to disable the home button. + */ + public void setHomeButtonEnabled(boolean enabled) { } + + /** + * Returns a {@link Context} with an appropriate theme for creating views that + * will appear in the action bar. If you are inflating or instantiating custom views + * that will appear in an action bar, you should use the Context returned by this method. + * (This includes adapters used for list navigation mode.) + * This will ensure that views contrast properly against the action bar. + * + * @return A themed Context for creating views + */ + public Context getThemedContext() { return null; } + + /** + * Listener interface for ActionBar navigation events. + */ + public interface OnNavigationListener { + /** + * This method is called whenever a navigation item in your action bar + * is selected. + * + * @param itemPosition Position of the item clicked. + * @param itemId ID of the item clicked. + * @return True if the event was handled, false otherwise. + */ + public boolean onNavigationItemSelected(int itemPosition, long itemId); + } + + /** + * Listener for receiving events when action bar menus are shown or hidden. + */ + public interface OnMenuVisibilityListener { + /** + * Called when an action bar menu is shown or hidden. Applications may want to use + * this to tune auto-hiding behavior for the action bar or pause/resume video playback, + * gameplay, or other activity within the main content area. + * + * @param isVisible True if an action bar menu is now visible, false if no action bar + * menus are visible. + */ + public void onMenuVisibilityChanged(boolean isVisible); + } + + /** + * A tab in the action bar. + * + *

      Tabs manage the hiding and showing of {@link Fragment}s. + */ + public static abstract class Tab { + /** + * An invalid position for a tab. + * + * @see #getPosition() + */ + public static final int INVALID_POSITION = -1; + + /** + * Return the current position of this tab in the action bar. + * + * @return Current position, or {@link #INVALID_POSITION} if this tab is not currently in + * the action bar. + */ + public abstract int getPosition(); + + /** + * Return the icon associated with this tab. + * + * @return The tab's icon + */ + public abstract Drawable getIcon(); + + /** + * Return the text of this tab. + * + * @return The tab's text + */ + public abstract CharSequence getText(); + + /** + * Set the icon displayed on this tab. + * + * @param icon The drawable to use as an icon + * @return The current instance for call chaining + */ + public abstract Tab setIcon(Drawable icon); + + /** + * Set the icon displayed on this tab. + * + * @param resId Resource ID referring to the drawable to use as an icon + * @return The current instance for call chaining + */ + public abstract Tab setIcon(int resId); + + /** + * Set the text displayed on this tab. Text may be truncated if there is not + * room to display the entire string. + * + * @param text The text to display + * @return The current instance for call chaining + */ + public abstract Tab setText(CharSequence text); + + /** + * Set the text displayed on this tab. Text may be truncated if there is not + * room to display the entire string. + * + * @param resId A resource ID referring to the text that should be displayed + * @return The current instance for call chaining + */ + public abstract Tab setText(int resId); + + /** + * Set a custom view to be used for this tab. This overrides values set by + * {@link #setText(CharSequence)} and {@link #setIcon(Drawable)}. + * + * @param view Custom view to be used as a tab. + * @return The current instance for call chaining + */ + public abstract Tab setCustomView(View view); + + /** + * Set a custom view to be used for this tab. This overrides values set by + * {@link #setText(CharSequence)} and {@link #setIcon(Drawable)}. + * + * @param layoutResId A layout resource to inflate and use as a custom tab view + * @return The current instance for call chaining + */ + public abstract Tab setCustomView(int layoutResId); + + /** + * Retrieve a previously set custom view for this tab. + * + * @return The custom view set by {@link #setCustomView(View)}. + */ + public abstract View getCustomView(); + + /** + * Give this Tab an arbitrary object to hold for later use. + * + * @param obj Object to store + * @return The current instance for call chaining + */ + public abstract Tab setTag(Object obj); + + /** + * @return This Tab's tag object. + */ + public abstract Object getTag(); + + /** + * Set the {@link TabListener} that will handle switching to and from this tab. + * All tabs must have a TabListener set before being added to the ActionBar. + * + * @param listener Listener to handle tab selection events + * @return The current instance for call chaining + */ + public abstract Tab setTabListener(TabListener listener); + + /** + * Select this tab. Only valid if the tab has been added to the action bar. + */ + public abstract void select(); + + /** + * Set a description of this tab's content for use in accessibility support. + * If no content description is provided the title will be used. + * + * @param resId A resource ID referring to the description text + * @return The current instance for call chaining + * @see #setContentDescription(CharSequence) + * @see #getContentDescription() + */ + public abstract Tab setContentDescription(int resId); + + /** + * Set a description of this tab's content for use in accessibility support. + * If no content description is provided the title will be used. + * + * @param contentDesc Description of this tab's content + * @return The current instance for call chaining + * @see #setContentDescription(int) + * @see #getContentDescription() + */ + public abstract Tab setContentDescription(CharSequence contentDesc); + + /** + * Gets a brief description of this tab's content for use in accessibility support. + * + * @return Description of this tab's content + * @see #setContentDescription(CharSequence) + * @see #setContentDescription(int) + */ + public abstract CharSequence getContentDescription(); + } + + /** + * Callback interface invoked when a tab is focused, unfocused, added, or removed. + */ + public interface TabListener { + /** + * Called when a tab enters the selected state. + * + * @param tab The tab that was selected + * @param ft A {@link FragmentTransaction} for queuing fragment operations to execute + * during a tab switch. The previous tab's unselect and this tab's select will be + * executed in a single transaction. This FragmentTransaction does not support + * being added to the back stack. + */ + public void onTabSelected(Tab tab, FragmentTransaction ft); + + /** + * Called when a tab exits the selected state. + * + * @param tab The tab that was unselected + * @param ft A {@link FragmentTransaction} for queuing fragment operations to execute + * during a tab switch. This tab's unselect and the newly selected tab's select + * will be executed in a single transaction. This FragmentTransaction does not + * support being added to the back stack. + */ + public void onTabUnselected(Tab tab, FragmentTransaction ft); + + /** + * Called when a tab that is already selected is chosen again by the user. + * Some applications may use this action to return to the top level of a category. + * + * @param tab The tab that was reselected. + * @param ft A {@link FragmentTransaction} for queuing fragment operations to execute + * once this method returns. This FragmentTransaction does not support + * being added to the back stack. + */ + public void onTabReselected(Tab tab, FragmentTransaction ft); + } + + /** + * Per-child layout information associated with action bar custom views. + * + * @attr ref android.R.styleable#ActionBar_LayoutParams_layout_gravity + */ + public static class LayoutParams extends MarginLayoutParams { + private static final int[] ATTRS = new int[] { + android.R.attr.layout_gravity + }; + + /** + * Gravity for the view associated with these LayoutParams. + * + * @see android.view.Gravity + */ + @ViewDebug.ExportedProperty(mapping = { + @ViewDebug.IntToString(from = -1, to = "NONE"), + @ViewDebug.IntToString(from = Gravity.NO_GRAVITY, to = "NONE"), + @ViewDebug.IntToString(from = Gravity.TOP, to = "TOP"), + @ViewDebug.IntToString(from = Gravity.BOTTOM, to = "BOTTOM"), + @ViewDebug.IntToString(from = Gravity.LEFT, to = "LEFT"), + @ViewDebug.IntToString(from = Gravity.RIGHT, to = "RIGHT"), + @ViewDebug.IntToString(from = Gravity.CENTER_VERTICAL, to = "CENTER_VERTICAL"), + @ViewDebug.IntToString(from = Gravity.FILL_VERTICAL, to = "FILL_VERTICAL"), + @ViewDebug.IntToString(from = Gravity.CENTER_HORIZONTAL, to = "CENTER_HORIZONTAL"), + @ViewDebug.IntToString(from = Gravity.FILL_HORIZONTAL, to = "FILL_HORIZONTAL"), + @ViewDebug.IntToString(from = Gravity.CENTER, to = "CENTER"), + @ViewDebug.IntToString(from = Gravity.FILL, to = "FILL") + }) + public int gravity = -1; + + public LayoutParams(Context c, AttributeSet attrs) { + super(c, attrs); + + TypedArray a = c.obtainStyledAttributes(attrs, ATTRS); + gravity = a.getInt(0, -1); + a.recycle(); + } + + public LayoutParams(int width, int height) { + super(width, height); + this.gravity = Gravity.CENTER_VERTICAL | Gravity.LEFT; + } + + public LayoutParams(int width, int height, int gravity) { + super(width, height); + this.gravity = gravity; + } + + public LayoutParams(int gravity) { + this(WRAP_CONTENT, FILL_PARENT, gravity); + } + + public LayoutParams(LayoutParams source) { + super(source); + + this.gravity = source.gravity; + } + + public LayoutParams(ViewGroup.LayoutParams source) { + super(source); + } + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/app/SherlockActivity.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/app/SherlockActivity.java new file mode 100644 index 000000000..7b4543640 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/app/SherlockActivity.java @@ -0,0 +1,270 @@ +package com.actionbarsherlock.app; + +import android.app.Activity; +import android.content.res.Configuration; +import android.os.Bundle; +import android.view.KeyEvent; +import android.view.View; +import android.view.Window; +import android.view.ViewGroup.LayoutParams; +import com.actionbarsherlock.ActionBarSherlock; +import com.actionbarsherlock.ActionBarSherlock.OnActionModeFinishedListener; +import com.actionbarsherlock.ActionBarSherlock.OnActionModeStartedListener; +import com.actionbarsherlock.ActionBarSherlock.OnCreatePanelMenuListener; +import com.actionbarsherlock.ActionBarSherlock.OnMenuItemSelectedListener; +import com.actionbarsherlock.ActionBarSherlock.OnPreparePanelListener; +import com.actionbarsherlock.view.ActionMode; +import com.actionbarsherlock.view.Menu; +import com.actionbarsherlock.view.MenuInflater; +import com.actionbarsherlock.view.MenuItem; + +public abstract class SherlockActivity extends Activity implements OnCreatePanelMenuListener, OnPreparePanelListener, OnMenuItemSelectedListener, OnActionModeStartedListener, OnActionModeFinishedListener { + private ActionBarSherlock mSherlock; + + protected final ActionBarSherlock getSherlock() { + if (mSherlock == null) { + mSherlock = ActionBarSherlock.wrap(this, ActionBarSherlock.FLAG_DELEGATE); + } + return mSherlock; + } + + + /////////////////////////////////////////////////////////////////////////// + // Action bar and mode + /////////////////////////////////////////////////////////////////////////// + + public ActionBar getSupportActionBar() { + return getSherlock().getActionBar(); + } + + public ActionMode startActionMode(ActionMode.Callback callback) { + return getSherlock().startActionMode(callback); + } + + @Override + public void onActionModeStarted(ActionMode mode) {} + + @Override + public void onActionModeFinished(ActionMode mode) {} + + + /////////////////////////////////////////////////////////////////////////// + // General lifecycle/callback dispatching + /////////////////////////////////////////////////////////////////////////// + + @Override + public void onConfigurationChanged(Configuration newConfig) { + super.onConfigurationChanged(newConfig); + getSherlock().dispatchConfigurationChanged(newConfig); + } + + @Override + protected void onPostResume() { + super.onPostResume(); + getSherlock().dispatchPostResume(); + } + + @Override + protected void onPause() { + getSherlock().dispatchPause(); + super.onPause(); + } + + @Override + protected void onStop() { + getSherlock().dispatchStop(); + super.onStop(); + } + + @Override + protected void onDestroy() { + getSherlock().dispatchDestroy(); + super.onDestroy(); + } + + @Override + protected void onPostCreate(Bundle savedInstanceState) { + getSherlock().dispatchPostCreate(savedInstanceState); + super.onPostCreate(savedInstanceState); + } + + @Override + protected void onTitleChanged(CharSequence title, int color) { + getSherlock().dispatchTitleChanged(title, color); + super.onTitleChanged(title, color); + } + + @Override + public final boolean onMenuOpened(int featureId, android.view.Menu menu) { + if (getSherlock().dispatchMenuOpened(featureId, menu)) { + return true; + } + return super.onMenuOpened(featureId, menu); + } + + @Override + public void onPanelClosed(int featureId, android.view.Menu menu) { + getSherlock().dispatchPanelClosed(featureId, menu); + super.onPanelClosed(featureId, menu); + } + + @Override + public boolean dispatchKeyEvent(KeyEvent event) { + if (getSherlock().dispatchKeyEvent(event)) { + return true; + } + return super.dispatchKeyEvent(event); + } + + @Override + protected void onSaveInstanceState(Bundle outState) { + super.onSaveInstanceState(outState); + getSherlock().dispatchSaveInstanceState(outState); + } + + @Override + protected void onRestoreInstanceState(Bundle savedInstanceState) { + super.onRestoreInstanceState(savedInstanceState); + getSherlock().dispatchRestoreInstanceState(savedInstanceState); + } + + /////////////////////////////////////////////////////////////////////////// + // Native menu handling + /////////////////////////////////////////////////////////////////////////// + + public MenuInflater getSupportMenuInflater() { + return getSherlock().getMenuInflater(); + } + + public void invalidateOptionsMenu() { + getSherlock().dispatchInvalidateOptionsMenu(); + } + + public void supportInvalidateOptionsMenu() { + invalidateOptionsMenu(); + } + + @Override + public final boolean onCreateOptionsMenu(android.view.Menu menu) { + return getSherlock().dispatchCreateOptionsMenu(menu); + } + + @Override + public final boolean onPrepareOptionsMenu(android.view.Menu menu) { + return getSherlock().dispatchPrepareOptionsMenu(menu); + } + + @Override + public final boolean onOptionsItemSelected(android.view.MenuItem item) { + return getSherlock().dispatchOptionsItemSelected(item); + } + + @Override + public void openOptionsMenu() { + if (!getSherlock().dispatchOpenOptionsMenu()) { + super.openOptionsMenu(); + } + } + + @Override + public void closeOptionsMenu() { + if (!getSherlock().dispatchCloseOptionsMenu()) { + super.closeOptionsMenu(); + } + } + + + /////////////////////////////////////////////////////////////////////////// + // Sherlock menu handling + /////////////////////////////////////////////////////////////////////////// + + @Override + public boolean onCreatePanelMenu(int featureId, Menu menu) { + if (featureId == Window.FEATURE_OPTIONS_PANEL) { + return onCreateOptionsMenu(menu); + } + return false; + } + + public boolean onCreateOptionsMenu(Menu menu) { + return true; + } + + @Override + public boolean onPreparePanel(int featureId, View view, Menu menu) { + if (featureId == Window.FEATURE_OPTIONS_PANEL) { + return onPrepareOptionsMenu(menu); + } + return false; + } + + public boolean onPrepareOptionsMenu(Menu menu) { + return true; + } + + @Override + public boolean onMenuItemSelected(int featureId, MenuItem item) { + if (featureId == Window.FEATURE_OPTIONS_PANEL) { + return onOptionsItemSelected(item); + } + return false; + } + + public boolean onOptionsItemSelected(MenuItem item) { + return false; + } + + + /////////////////////////////////////////////////////////////////////////// + // Content + /////////////////////////////////////////////////////////////////////////// + + @Override + public void addContentView(View view, LayoutParams params) { + getSherlock().addContentView(view, params); + } + + @Override + public void setContentView(int layoutResId) { + getSherlock().setContentView(layoutResId); + } + + @Override + public void setContentView(View view, LayoutParams params) { + getSherlock().setContentView(view, params); + } + + @Override + public void setContentView(View view) { + getSherlock().setContentView(view); + } + + public void requestWindowFeature(long featureId) { + getSherlock().requestFeature((int)featureId); + } + + + /////////////////////////////////////////////////////////////////////////// + // Progress Indication + /////////////////////////////////////////////////////////////////////////// + + public void setSupportProgress(int progress) { + getSherlock().setProgress(progress); + } + + public void setSupportProgressBarIndeterminate(boolean indeterminate) { + getSherlock().setProgressBarIndeterminate(indeterminate); + } + + public void setSupportProgressBarIndeterminateVisibility(boolean visible) { + getSherlock().setProgressBarIndeterminateVisibility(visible); + } + + public void setSupportProgressBarVisibility(boolean visible) { + getSherlock().setProgressBarVisibility(visible); + } + + public void setSupportSecondaryProgress(int secondaryProgress) { + getSherlock().setSecondaryProgress(secondaryProgress); + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/app/SherlockDialogFragment.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/app/SherlockDialogFragment.java new file mode 100644 index 000000000..a7c856bf0 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/app/SherlockDialogFragment.java @@ -0,0 +1,68 @@ +package com.actionbarsherlock.app; + +import android.app.Activity; +import android.support.v4.app.DialogFragment; +import com.actionbarsherlock.internal.view.menu.MenuItemWrapper; +import com.actionbarsherlock.internal.view.menu.MenuWrapper; +import com.actionbarsherlock.view.Menu; +import com.actionbarsherlock.view.MenuInflater; +import com.actionbarsherlock.view.MenuItem; + +import static com.actionbarsherlock.app.SherlockFragmentActivity.OnCreateOptionsMenuListener; +import static com.actionbarsherlock.app.SherlockFragmentActivity.OnOptionsItemSelectedListener; +import static com.actionbarsherlock.app.SherlockFragmentActivity.OnPrepareOptionsMenuListener; + +public class SherlockDialogFragment extends DialogFragment implements OnCreateOptionsMenuListener, OnPrepareOptionsMenuListener, OnOptionsItemSelectedListener { + private SherlockFragmentActivity mActivity; + + public SherlockFragmentActivity getSherlockActivity() { + return mActivity; + } + + @Override + public void onAttach(Activity activity) { + if (!(activity instanceof SherlockFragmentActivity)) { + throw new IllegalStateException(getClass().getSimpleName() + " must be attached to a SherlockFragmentActivity."); + } + mActivity = (SherlockFragmentActivity)activity; + + super.onAttach(activity); + } + + @Override + public void onDetach() { + mActivity = null; + super.onDetach(); + } + + @Override + public final void onCreateOptionsMenu(android.view.Menu menu, android.view.MenuInflater inflater) { + onCreateOptionsMenu(new MenuWrapper(menu), mActivity.getSupportMenuInflater()); + } + + @Override + public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { + //Nothing to see here. + } + + @Override + public final void onPrepareOptionsMenu(android.view.Menu menu) { + onPrepareOptionsMenu(new MenuWrapper(menu)); + } + + @Override + public void onPrepareOptionsMenu(Menu menu) { + //Nothing to see here. + } + + @Override + public final boolean onOptionsItemSelected(android.view.MenuItem item) { + return onOptionsItemSelected(new MenuItemWrapper(item)); + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + //Nothing to see here. + return false; + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/app/SherlockExpandableListActivity.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/app/SherlockExpandableListActivity.java new file mode 100644 index 000000000..078f9b0ca --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/app/SherlockExpandableListActivity.java @@ -0,0 +1,259 @@ +package com.actionbarsherlock.app; + +import android.app.ExpandableListActivity; +import android.content.res.Configuration; +import android.os.Bundle; +import android.view.KeyEvent; +import android.view.View; +import android.view.ViewGroup.LayoutParams; +import android.view.Window; +import com.actionbarsherlock.ActionBarSherlock; +import com.actionbarsherlock.ActionBarSherlock.OnActionModeFinishedListener; +import com.actionbarsherlock.ActionBarSherlock.OnActionModeStartedListener; +import com.actionbarsherlock.ActionBarSherlock.OnCreatePanelMenuListener; +import com.actionbarsherlock.ActionBarSherlock.OnMenuItemSelectedListener; +import com.actionbarsherlock.ActionBarSherlock.OnPreparePanelListener; +import com.actionbarsherlock.view.ActionMode; +import com.actionbarsherlock.view.Menu; +import com.actionbarsherlock.view.MenuInflater; +import com.actionbarsherlock.view.MenuItem; + +public abstract class SherlockExpandableListActivity extends ExpandableListActivity implements OnCreatePanelMenuListener, OnPreparePanelListener, OnMenuItemSelectedListener, OnActionModeStartedListener, OnActionModeFinishedListener { + private ActionBarSherlock mSherlock; + + protected final ActionBarSherlock getSherlock() { + if (mSherlock == null) { + mSherlock = ActionBarSherlock.wrap(this, ActionBarSherlock.FLAG_DELEGATE); + } + return mSherlock; + } + + + /////////////////////////////////////////////////////////////////////////// + // Action bar and mode + /////////////////////////////////////////////////////////////////////////// + + public ActionBar getSupportActionBar() { + return getSherlock().getActionBar(); + } + + public ActionMode startActionMode(ActionMode.Callback callback) { + return getSherlock().startActionMode(callback); + } + + @Override + public void onActionModeStarted(ActionMode mode) {} + + @Override + public void onActionModeFinished(ActionMode mode) {} + + + /////////////////////////////////////////////////////////////////////////// + // General lifecycle/callback dispatching + /////////////////////////////////////////////////////////////////////////// + + @Override + public void onConfigurationChanged(Configuration newConfig) { + super.onConfigurationChanged(newConfig); + getSherlock().dispatchConfigurationChanged(newConfig); + } + + @Override + protected void onPostResume() { + super.onPostResume(); + getSherlock().dispatchPostResume(); + } + + @Override + protected void onPause() { + getSherlock().dispatchPause(); + super.onPause(); + } + + @Override + protected void onStop() { + getSherlock().dispatchStop(); + super.onStop(); + } + + @Override + protected void onDestroy() { + getSherlock().dispatchDestroy(); + super.onDestroy(); + } + + @Override + protected void onPostCreate(Bundle savedInstanceState) { + getSherlock().dispatchPostCreate(savedInstanceState); + super.onPostCreate(savedInstanceState); + } + + @Override + protected void onTitleChanged(CharSequence title, int color) { + getSherlock().dispatchTitleChanged(title, color); + super.onTitleChanged(title, color); + } + + @Override + public final boolean onMenuOpened(int featureId, android.view.Menu menu) { + if (getSherlock().dispatchMenuOpened(featureId, menu)) { + return true; + } + return super.onMenuOpened(featureId, menu); + } + + @Override + public void onPanelClosed(int featureId, android.view.Menu menu) { + getSherlock().dispatchPanelClosed(featureId, menu); + super.onPanelClosed(featureId, menu); + } + + @Override + public boolean dispatchKeyEvent(KeyEvent event) { + if (getSherlock().dispatchKeyEvent(event)) { + return true; + } + return super.dispatchKeyEvent(event); + } + + + /////////////////////////////////////////////////////////////////////////// + // Native menu handling + /////////////////////////////////////////////////////////////////////////// + + public MenuInflater getSupportMenuInflater() { + return getSherlock().getMenuInflater(); + } + + public void invalidateOptionsMenu() { + getSherlock().dispatchInvalidateOptionsMenu(); + } + + public void supportInvalidateOptionsMenu() { + invalidateOptionsMenu(); + } + + @Override + public final boolean onCreateOptionsMenu(android.view.Menu menu) { + return getSherlock().dispatchCreateOptionsMenu(menu); + } + + @Override + public final boolean onPrepareOptionsMenu(android.view.Menu menu) { + return getSherlock().dispatchPrepareOptionsMenu(menu); + } + + @Override + public final boolean onOptionsItemSelected(android.view.MenuItem item) { + return getSherlock().dispatchOptionsItemSelected(item); + } + + @Override + public void openOptionsMenu() { + if (!getSherlock().dispatchOpenOptionsMenu()) { + super.openOptionsMenu(); + } + } + + @Override + public void closeOptionsMenu() { + if (!getSherlock().dispatchCloseOptionsMenu()) { + super.closeOptionsMenu(); + } + } + + + /////////////////////////////////////////////////////////////////////////// + // Sherlock menu handling + /////////////////////////////////////////////////////////////////////////// + + @Override + public boolean onCreatePanelMenu(int featureId, Menu menu) { + if (featureId == Window.FEATURE_OPTIONS_PANEL) { + return onCreateOptionsMenu(menu); + } + return false; + } + + public boolean onCreateOptionsMenu(Menu menu) { + return true; + } + + @Override + public boolean onPreparePanel(int featureId, View view, Menu menu) { + if (featureId == Window.FEATURE_OPTIONS_PANEL) { + return onPrepareOptionsMenu(menu); + } + return false; + } + + public boolean onPrepareOptionsMenu(Menu menu) { + return true; + } + + @Override + public boolean onMenuItemSelected(int featureId, MenuItem item) { + if (featureId == Window.FEATURE_OPTIONS_PANEL) { + return onOptionsItemSelected(item); + } + return false; + } + + public boolean onOptionsItemSelected(MenuItem item) { + return false; + } + + + /////////////////////////////////////////////////////////////////////////// + // Content + /////////////////////////////////////////////////////////////////////////// + + @Override + public void addContentView(View view, LayoutParams params) { + getSherlock().addContentView(view, params); + } + + @Override + public void setContentView(int layoutResId) { + getSherlock().setContentView(layoutResId); + } + + @Override + public void setContentView(View view, LayoutParams params) { + getSherlock().setContentView(view, params); + } + + @Override + public void setContentView(View view) { + getSherlock().setContentView(view); + } + + public void requestWindowFeature(long featureId) { + getSherlock().requestFeature((int)featureId); + } + + + /////////////////////////////////////////////////////////////////////////// + // Progress Indication + /////////////////////////////////////////////////////////////////////////// + + public void setSupportProgress(int progress) { + getSherlock().setProgress(progress); + } + + public void setSupportProgressBarIndeterminate(boolean indeterminate) { + getSherlock().setProgressBarIndeterminate(indeterminate); + } + + public void setSupportProgressBarIndeterminateVisibility(boolean visible) { + getSherlock().setProgressBarIndeterminateVisibility(visible); + } + + public void setSupportProgressBarVisibility(boolean visible) { + getSherlock().setProgressBarVisibility(visible); + } + + public void setSupportSecondaryProgress(int secondaryProgress) { + getSherlock().setSecondaryProgress(secondaryProgress); + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/app/SherlockFragment.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/app/SherlockFragment.java new file mode 100644 index 000000000..0f24e9c85 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/app/SherlockFragment.java @@ -0,0 +1,68 @@ +package com.actionbarsherlock.app; + +import android.app.Activity; +import android.support.v4.app.Fragment; +import com.actionbarsherlock.internal.view.menu.MenuItemWrapper; +import com.actionbarsherlock.internal.view.menu.MenuWrapper; +import com.actionbarsherlock.view.Menu; +import com.actionbarsherlock.view.MenuInflater; +import com.actionbarsherlock.view.MenuItem; + +import static com.actionbarsherlock.app.SherlockFragmentActivity.OnCreateOptionsMenuListener; +import static com.actionbarsherlock.app.SherlockFragmentActivity.OnOptionsItemSelectedListener; +import static com.actionbarsherlock.app.SherlockFragmentActivity.OnPrepareOptionsMenuListener; + +public class SherlockFragment extends Fragment implements OnCreateOptionsMenuListener, OnPrepareOptionsMenuListener, OnOptionsItemSelectedListener { + private SherlockFragmentActivity mActivity; + + public SherlockFragmentActivity getSherlockActivity() { + return mActivity; + } + + @Override + public void onAttach(Activity activity) { + if (!(activity instanceof SherlockFragmentActivity)) { + throw new IllegalStateException(getClass().getSimpleName() + " must be attached to a SherlockFragmentActivity."); + } + mActivity = (SherlockFragmentActivity)activity; + + super.onAttach(activity); + } + + @Override + public void onDetach() { + mActivity = null; + super.onDetach(); + } + + @Override + public final void onCreateOptionsMenu(android.view.Menu menu, android.view.MenuInflater inflater) { + onCreateOptionsMenu(new MenuWrapper(menu), mActivity.getSupportMenuInflater()); + } + + @Override + public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { + //Nothing to see here. + } + + @Override + public final void onPrepareOptionsMenu(android.view.Menu menu) { + onPrepareOptionsMenu(new MenuWrapper(menu)); + } + + @Override + public void onPrepareOptionsMenu(Menu menu) { + //Nothing to see here. + } + + @Override + public final boolean onOptionsItemSelected(android.view.MenuItem item) { + return onOptionsItemSelected(new MenuItemWrapper(item)); + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + //Nothing to see here. + return false; + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/app/SherlockFragmentActivity.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/app/SherlockFragmentActivity.java new file mode 100644 index 000000000..3d092f033 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/app/SherlockFragmentActivity.java @@ -0,0 +1,303 @@ +package com.actionbarsherlock.app; + +import android.content.res.Configuration; +import android.os.Bundle; +import android.support.v4.app.Watson; +import android.util.Log; +import android.view.KeyEvent; +import android.view.View; +import android.view.ViewGroup.LayoutParams; +import android.view.Window; +import com.actionbarsherlock.ActionBarSherlock; +import com.actionbarsherlock.view.ActionMode; +import com.actionbarsherlock.view.Menu; +import com.actionbarsherlock.view.MenuInflater; +import com.actionbarsherlock.view.MenuItem; + +import static com.actionbarsherlock.ActionBarSherlock.OnActionModeFinishedListener; +import static com.actionbarsherlock.ActionBarSherlock.OnActionModeStartedListener; + +/** @see {@link android.support.v4.app.Watson} */ +public class SherlockFragmentActivity extends Watson implements OnActionModeStartedListener, OnActionModeFinishedListener { + private static final boolean DEBUG = false; + private static final String TAG = "SherlockFragmentActivity"; + + private ActionBarSherlock mSherlock; + private boolean mIgnoreNativeCreate = false; + private boolean mIgnoreNativePrepare = false; + private boolean mIgnoreNativeSelected = false; + + protected final ActionBarSherlock getSherlock() { + if (mSherlock == null) { + mSherlock = ActionBarSherlock.wrap(this, ActionBarSherlock.FLAG_DELEGATE); + } + return mSherlock; + } + + + /////////////////////////////////////////////////////////////////////////// + // Action bar and mode + /////////////////////////////////////////////////////////////////////////// + + public ActionBar getSupportActionBar() { + return getSherlock().getActionBar(); + } + + public ActionMode startActionMode(ActionMode.Callback callback) { + return getSherlock().startActionMode(callback); + } + + @Override + public void onActionModeStarted(ActionMode mode) {} + + @Override + public void onActionModeFinished(ActionMode mode) {} + + + /////////////////////////////////////////////////////////////////////////// + // General lifecycle/callback dispatching + /////////////////////////////////////////////////////////////////////////// + + @Override + public void onConfigurationChanged(Configuration newConfig) { + super.onConfigurationChanged(newConfig); + getSherlock().dispatchConfigurationChanged(newConfig); + } + + @Override + protected void onPostResume() { + super.onPostResume(); + getSherlock().dispatchPostResume(); + } + + @Override + protected void onPause() { + getSherlock().dispatchPause(); + super.onPause(); + } + + @Override + protected void onStop() { + getSherlock().dispatchStop(); + super.onStop(); + } + + @Override + protected void onDestroy() { + getSherlock().dispatchDestroy(); + super.onDestroy(); + } + + @Override + protected void onPostCreate(Bundle savedInstanceState) { + getSherlock().dispatchPostCreate(savedInstanceState); + super.onPostCreate(savedInstanceState); + } + + @Override + protected void onTitleChanged(CharSequence title, int color) { + getSherlock().dispatchTitleChanged(title, color); + super.onTitleChanged(title, color); + } + + @Override + public final boolean onMenuOpened(int featureId, android.view.Menu menu) { + if (getSherlock().dispatchMenuOpened(featureId, menu)) { + return true; + } + return super.onMenuOpened(featureId, menu); + } + + @Override + public void onPanelClosed(int featureId, android.view.Menu menu) { + getSherlock().dispatchPanelClosed(featureId, menu); + super.onPanelClosed(featureId, menu); + } + + @Override + public boolean dispatchKeyEvent(KeyEvent event) { + if (getSherlock().dispatchKeyEvent(event)) { + return true; + } + return super.dispatchKeyEvent(event); + } + + @Override + protected void onSaveInstanceState(Bundle outState) { + super.onSaveInstanceState(outState); + getSherlock().dispatchSaveInstanceState(outState); + } + + @Override + protected void onRestoreInstanceState(Bundle savedInstanceState) { + super.onRestoreInstanceState(savedInstanceState); + getSherlock().dispatchRestoreInstanceState(savedInstanceState); + } + + /////////////////////////////////////////////////////////////////////////// + // Native menu handling + /////////////////////////////////////////////////////////////////////////// + + public MenuInflater getSupportMenuInflater() { + if (DEBUG) Log.d(TAG, "[getSupportMenuInflater]"); + + return getSherlock().getMenuInflater(); + } + + public void invalidateOptionsMenu() { + if (DEBUG) Log.d(TAG, "[invalidateOptionsMenu]"); + + getSherlock().dispatchInvalidateOptionsMenu(); + } + + public void supportInvalidateOptionsMenu() { + if (DEBUG) Log.d(TAG, "[supportInvalidateOptionsMenu]"); + + invalidateOptionsMenu(); + } + + @Override + public final boolean onCreatePanelMenu(int featureId, android.view.Menu menu) { + if (DEBUG) Log.d(TAG, "[onCreatePanelMenu] featureId: " + featureId + ", menu: " + menu); + + if (featureId == Window.FEATURE_OPTIONS_PANEL && !mIgnoreNativeCreate) { + mIgnoreNativeCreate = true; + boolean result = getSherlock().dispatchCreateOptionsMenu(menu); + mIgnoreNativeCreate = false; + + if (DEBUG) Log.d(TAG, "[onCreatePanelMenu] returning " + result); + return result; + } + return super.onCreatePanelMenu(featureId, menu); + } + + @Override + public final boolean onCreateOptionsMenu(android.view.Menu menu) { + return true; + } + + @Override + public final boolean onPreparePanel(int featureId, View view, android.view.Menu menu) { + if (DEBUG) Log.d(TAG, "[onPreparePanel] featureId: " + featureId + ", view: " + view + ", menu: " + menu); + + if (featureId == Window.FEATURE_OPTIONS_PANEL && !mIgnoreNativePrepare) { + mIgnoreNativePrepare = true; + boolean result = getSherlock().dispatchPrepareOptionsMenu(menu); + mIgnoreNativePrepare = false; + + if (DEBUG) Log.d(TAG, "[onPreparePanel] returning " + result); + return result; + } + return super.onPreparePanel(featureId, view, menu); + } + + @Override + public final boolean onPrepareOptionsMenu(android.view.Menu menu) { + return true; + } + + @Override + public final boolean onMenuItemSelected(int featureId, android.view.MenuItem item) { + if (DEBUG) Log.d(TAG, "[onMenuItemSelected] featureId: " + featureId + ", item: " + item); + + if (featureId == Window.FEATURE_OPTIONS_PANEL && !mIgnoreNativeSelected) { + mIgnoreNativeSelected = true; + boolean result = getSherlock().dispatchOptionsItemSelected(item); + mIgnoreNativeSelected = false; + + if (DEBUG) Log.d(TAG, "[onMenuItemSelected] returning " + result); + return result; + } + return super.onMenuItemSelected(featureId, item); + } + + @Override + public final boolean onOptionsItemSelected(android.view.MenuItem item) { + return false; + } + + @Override + public void openOptionsMenu() { + if (!getSherlock().dispatchOpenOptionsMenu()) { + super.openOptionsMenu(); + } + } + + @Override + public void closeOptionsMenu() { + if (!getSherlock().dispatchCloseOptionsMenu()) { + super.closeOptionsMenu(); + } + } + + + /////////////////////////////////////////////////////////////////////////// + // Sherlock menu handling + /////////////////////////////////////////////////////////////////////////// + + public boolean onCreateOptionsMenu(Menu menu) { + return true; + } + + public boolean onPrepareOptionsMenu(Menu menu) { + return true; + } + + public boolean onOptionsItemSelected(MenuItem item) { + return false; + } + + + /////////////////////////////////////////////////////////////////////////// + // Content + /////////////////////////////////////////////////////////////////////////// + + @Override + public void addContentView(View view, LayoutParams params) { + getSherlock().addContentView(view, params); + } + + @Override + public void setContentView(int layoutResId) { + getSherlock().setContentView(layoutResId); + } + + @Override + public void setContentView(View view, LayoutParams params) { + getSherlock().setContentView(view, params); + } + + @Override + public void setContentView(View view) { + getSherlock().setContentView(view); + } + + public void requestWindowFeature(long featureId) { + getSherlock().requestFeature((int)featureId); + } + + + /////////////////////////////////////////////////////////////////////////// + // Progress Indication + /////////////////////////////////////////////////////////////////////////// + + public void setSupportProgress(int progress) { + getSherlock().setProgress(progress); + } + + public void setSupportProgressBarIndeterminate(boolean indeterminate) { + getSherlock().setProgressBarIndeterminate(indeterminate); + } + + public void setSupportProgressBarIndeterminateVisibility(boolean visible) { + getSherlock().setProgressBarIndeterminateVisibility(visible); + } + + public void setSupportProgressBarVisibility(boolean visible) { + getSherlock().setProgressBarVisibility(visible); + } + + public void setSupportSecondaryProgress(int secondaryProgress) { + getSherlock().setSecondaryProgress(secondaryProgress); + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/app/SherlockListActivity.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/app/SherlockListActivity.java new file mode 100644 index 000000000..aba6d85e8 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/app/SherlockListActivity.java @@ -0,0 +1,270 @@ +package com.actionbarsherlock.app; + +import android.app.ListActivity; +import android.content.res.Configuration; +import android.os.Bundle; +import android.view.KeyEvent; +import android.view.View; +import android.view.Window; +import android.view.ViewGroup.LayoutParams; +import com.actionbarsherlock.ActionBarSherlock; +import com.actionbarsherlock.ActionBarSherlock.OnActionModeFinishedListener; +import com.actionbarsherlock.ActionBarSherlock.OnActionModeStartedListener; +import com.actionbarsherlock.ActionBarSherlock.OnCreatePanelMenuListener; +import com.actionbarsherlock.ActionBarSherlock.OnMenuItemSelectedListener; +import com.actionbarsherlock.ActionBarSherlock.OnPreparePanelListener; +import com.actionbarsherlock.view.ActionMode; +import com.actionbarsherlock.view.Menu; +import com.actionbarsherlock.view.MenuInflater; +import com.actionbarsherlock.view.MenuItem; + +public abstract class SherlockListActivity extends ListActivity implements OnCreatePanelMenuListener, OnPreparePanelListener, OnMenuItemSelectedListener, OnActionModeStartedListener, OnActionModeFinishedListener { + private ActionBarSherlock mSherlock; + + protected final ActionBarSherlock getSherlock() { + if (mSherlock == null) { + mSherlock = ActionBarSherlock.wrap(this, ActionBarSherlock.FLAG_DELEGATE); + } + return mSherlock; + } + + + /////////////////////////////////////////////////////////////////////////// + // Action bar and mode + /////////////////////////////////////////////////////////////////////////// + + public ActionBar getSupportActionBar() { + return getSherlock().getActionBar(); + } + + public ActionMode startActionMode(ActionMode.Callback callback) { + return getSherlock().startActionMode(callback); + } + + @Override + public void onActionModeStarted(ActionMode mode) {} + + @Override + public void onActionModeFinished(ActionMode mode) {} + + + /////////////////////////////////////////////////////////////////////////// + // General lifecycle/callback dispatching + /////////////////////////////////////////////////////////////////////////// + + @Override + public void onConfigurationChanged(Configuration newConfig) { + super.onConfigurationChanged(newConfig); + getSherlock().dispatchConfigurationChanged(newConfig); + } + + @Override + protected void onPostResume() { + super.onPostResume(); + getSherlock().dispatchPostResume(); + } + + @Override + protected void onPause() { + getSherlock().dispatchPause(); + super.onPause(); + } + + @Override + protected void onStop() { + getSherlock().dispatchStop(); + super.onStop(); + } + + @Override + protected void onDestroy() { + getSherlock().dispatchDestroy(); + super.onDestroy(); + } + + @Override + protected void onPostCreate(Bundle savedInstanceState) { + getSherlock().dispatchPostCreate(savedInstanceState); + super.onPostCreate(savedInstanceState); + } + + @Override + protected void onTitleChanged(CharSequence title, int color) { + getSherlock().dispatchTitleChanged(title, color); + super.onTitleChanged(title, color); + } + + @Override + public final boolean onMenuOpened(int featureId, android.view.Menu menu) { + if (getSherlock().dispatchMenuOpened(featureId, menu)) { + return true; + } + return super.onMenuOpened(featureId, menu); + } + + @Override + public void onPanelClosed(int featureId, android.view.Menu menu) { + getSherlock().dispatchPanelClosed(featureId, menu); + super.onPanelClosed(featureId, menu); + } + + @Override + public boolean dispatchKeyEvent(KeyEvent event) { + if (getSherlock().dispatchKeyEvent(event)) { + return true; + } + return super.dispatchKeyEvent(event); + } + + @Override + protected void onSaveInstanceState(Bundle outState) { + super.onSaveInstanceState(outState); + getSherlock().dispatchSaveInstanceState(outState); + } + + @Override + protected void onRestoreInstanceState(Bundle savedInstanceState) { + super.onRestoreInstanceState(savedInstanceState); + getSherlock().dispatchRestoreInstanceState(savedInstanceState); + } + + /////////////////////////////////////////////////////////////////////////// + // Native menu handling + /////////////////////////////////////////////////////////////////////////// + + public MenuInflater getSupportMenuInflater() { + return getSherlock().getMenuInflater(); + } + + public void invalidateOptionsMenu() { + getSherlock().dispatchInvalidateOptionsMenu(); + } + + public void supportInvalidateOptionsMenu() { + invalidateOptionsMenu(); + } + + @Override + public final boolean onCreateOptionsMenu(android.view.Menu menu) { + return getSherlock().dispatchCreateOptionsMenu(menu); + } + + @Override + public final boolean onPrepareOptionsMenu(android.view.Menu menu) { + return getSherlock().dispatchPrepareOptionsMenu(menu); + } + + @Override + public final boolean onOptionsItemSelected(android.view.MenuItem item) { + return getSherlock().dispatchOptionsItemSelected(item); + } + + @Override + public void openOptionsMenu() { + if (!getSherlock().dispatchOpenOptionsMenu()) { + super.openOptionsMenu(); + } + } + + @Override + public void closeOptionsMenu() { + if (!getSherlock().dispatchCloseOptionsMenu()) { + super.closeOptionsMenu(); + } + } + + + /////////////////////////////////////////////////////////////////////////// + // Sherlock menu handling + /////////////////////////////////////////////////////////////////////////// + + @Override + public boolean onCreatePanelMenu(int featureId, Menu menu) { + if (featureId == Window.FEATURE_OPTIONS_PANEL) { + return onCreateOptionsMenu(menu); + } + return false; + } + + public boolean onCreateOptionsMenu(Menu menu) { + return true; + } + + @Override + public boolean onPreparePanel(int featureId, View view, Menu menu) { + if (featureId == Window.FEATURE_OPTIONS_PANEL) { + return onPrepareOptionsMenu(menu); + } + return false; + } + + public boolean onPrepareOptionsMenu(Menu menu) { + return true; + } + + @Override + public boolean onMenuItemSelected(int featureId, MenuItem item) { + if (featureId == Window.FEATURE_OPTIONS_PANEL) { + return onOptionsItemSelected(item); + } + return false; + } + + public boolean onOptionsItemSelected(MenuItem item) { + return false; + } + + + /////////////////////////////////////////////////////////////////////////// + // Content + /////////////////////////////////////////////////////////////////////////// + + @Override + public void addContentView(View view, LayoutParams params) { + getSherlock().addContentView(view, params); + } + + @Override + public void setContentView(int layoutResId) { + getSherlock().setContentView(layoutResId); + } + + @Override + public void setContentView(View view, LayoutParams params) { + getSherlock().setContentView(view, params); + } + + @Override + public void setContentView(View view) { + getSherlock().setContentView(view); + } + + public void requestWindowFeature(long featureId) { + getSherlock().requestFeature((int)featureId); + } + + + /////////////////////////////////////////////////////////////////////////// + // Progress Indication + /////////////////////////////////////////////////////////////////////////// + + public void setSupportProgress(int progress) { + getSherlock().setProgress(progress); + } + + public void setSupportProgressBarIndeterminate(boolean indeterminate) { + getSherlock().setProgressBarIndeterminate(indeterminate); + } + + public void setSupportProgressBarIndeterminateVisibility(boolean visible) { + getSherlock().setProgressBarIndeterminateVisibility(visible); + } + + public void setSupportProgressBarVisibility(boolean visible) { + getSherlock().setProgressBarVisibility(visible); + } + + public void setSupportSecondaryProgress(int secondaryProgress) { + getSherlock().setSecondaryProgress(secondaryProgress); + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/app/SherlockListFragment.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/app/SherlockListFragment.java new file mode 100644 index 000000000..13ca3c49f --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/app/SherlockListFragment.java @@ -0,0 +1,68 @@ +package com.actionbarsherlock.app; + +import android.app.Activity; +import android.support.v4.app.ListFragment; +import com.actionbarsherlock.internal.view.menu.MenuItemWrapper; +import com.actionbarsherlock.internal.view.menu.MenuWrapper; +import com.actionbarsherlock.view.Menu; +import com.actionbarsherlock.view.MenuInflater; +import com.actionbarsherlock.view.MenuItem; + +import static com.actionbarsherlock.app.SherlockFragmentActivity.OnCreateOptionsMenuListener; +import static com.actionbarsherlock.app.SherlockFragmentActivity.OnOptionsItemSelectedListener; +import static com.actionbarsherlock.app.SherlockFragmentActivity.OnPrepareOptionsMenuListener; + +public class SherlockListFragment extends ListFragment implements OnCreateOptionsMenuListener, OnPrepareOptionsMenuListener, OnOptionsItemSelectedListener { + private SherlockFragmentActivity mActivity; + + public SherlockFragmentActivity getSherlockActivity() { + return mActivity; + } + + @Override + public void onAttach(Activity activity) { + if (!(activity instanceof SherlockFragmentActivity)) { + throw new IllegalStateException(getClass().getSimpleName() + " must be attached to a SherlockFragmentActivity."); + } + mActivity = (SherlockFragmentActivity)activity; + + super.onAttach(activity); + } + + @Override + public void onDetach() { + mActivity = null; + super.onDetach(); + } + + @Override + public final void onCreateOptionsMenu(android.view.Menu menu, android.view.MenuInflater inflater) { + onCreateOptionsMenu(new MenuWrapper(menu), mActivity.getSupportMenuInflater()); + } + + @Override + public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { + //Nothing to see here. + } + + @Override + public final void onPrepareOptionsMenu(android.view.Menu menu) { + onPrepareOptionsMenu(new MenuWrapper(menu)); + } + + @Override + public void onPrepareOptionsMenu(Menu menu) { + //Nothing to see here. + } + + @Override + public final boolean onOptionsItemSelected(android.view.MenuItem item) { + return onOptionsItemSelected(new MenuItemWrapper(item)); + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + //Nothing to see here. + return false; + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/app/SherlockPreferenceActivity.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/app/SherlockPreferenceActivity.java new file mode 100644 index 000000000..bee72cb25 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/app/SherlockPreferenceActivity.java @@ -0,0 +1,270 @@ +package com.actionbarsherlock.app; + +import android.content.res.Configuration; +import android.os.Bundle; +import android.preference.PreferenceActivity; +import android.view.KeyEvent; +import android.view.View; +import android.view.ViewGroup.LayoutParams; +import android.view.Window; +import com.actionbarsherlock.ActionBarSherlock; +import com.actionbarsherlock.ActionBarSherlock.OnActionModeFinishedListener; +import com.actionbarsherlock.ActionBarSherlock.OnActionModeStartedListener; +import com.actionbarsherlock.ActionBarSherlock.OnCreatePanelMenuListener; +import com.actionbarsherlock.ActionBarSherlock.OnMenuItemSelectedListener; +import com.actionbarsherlock.ActionBarSherlock.OnPreparePanelListener; +import com.actionbarsherlock.view.ActionMode; +import com.actionbarsherlock.view.Menu; +import com.actionbarsherlock.view.MenuInflater; +import com.actionbarsherlock.view.MenuItem; + +public abstract class SherlockPreferenceActivity extends PreferenceActivity implements OnCreatePanelMenuListener, OnPreparePanelListener, OnMenuItemSelectedListener, OnActionModeStartedListener, OnActionModeFinishedListener { + private ActionBarSherlock mSherlock; + + protected final ActionBarSherlock getSherlock() { + if (mSherlock == null) { + mSherlock = ActionBarSherlock.wrap(this, ActionBarSherlock.FLAG_DELEGATE); + } + return mSherlock; + } + + + /////////////////////////////////////////////////////////////////////////// + // Action bar and mode + /////////////////////////////////////////////////////////////////////////// + + public ActionBar getSupportActionBar() { + return getSherlock().getActionBar(); + } + + public ActionMode startActionMode(ActionMode.Callback callback) { + return getSherlock().startActionMode(callback); + } + + @Override + public void onActionModeStarted(ActionMode mode) {} + + @Override + public void onActionModeFinished(ActionMode mode) {} + + + /////////////////////////////////////////////////////////////////////////// + // General lifecycle/callback dispatching + /////////////////////////////////////////////////////////////////////////// + + @Override + public void onConfigurationChanged(Configuration newConfig) { + super.onConfigurationChanged(newConfig); + getSherlock().dispatchConfigurationChanged(newConfig); + } + + @Override + protected void onPostResume() { + super.onPostResume(); + getSherlock().dispatchPostResume(); + } + + @Override + protected void onPause() { + getSherlock().dispatchPause(); + super.onPause(); + } + + @Override + protected void onStop() { + getSherlock().dispatchStop(); + super.onStop(); + } + + @Override + protected void onDestroy() { + getSherlock().dispatchDestroy(); + super.onDestroy(); + } + + @Override + protected void onPostCreate(Bundle savedInstanceState) { + getSherlock().dispatchPostCreate(savedInstanceState); + super.onPostCreate(savedInstanceState); + } + + @Override + protected void onTitleChanged(CharSequence title, int color) { + getSherlock().dispatchTitleChanged(title, color); + super.onTitleChanged(title, color); + } + + @Override + public final boolean onMenuOpened(int featureId, android.view.Menu menu) { + if (getSherlock().dispatchMenuOpened(featureId, menu)) { + return true; + } + return super.onMenuOpened(featureId, menu); + } + + @Override + public void onPanelClosed(int featureId, android.view.Menu menu) { + getSherlock().dispatchPanelClosed(featureId, menu); + super.onPanelClosed(featureId, menu); + } + + @Override + public boolean dispatchKeyEvent(KeyEvent event) { + if (getSherlock().dispatchKeyEvent(event)) { + return true; + } + return super.dispatchKeyEvent(event); + } + + @Override + protected void onSaveInstanceState(Bundle outState) { + super.onSaveInstanceState(outState); + getSherlock().dispatchSaveInstanceState(outState); + } + + @Override + protected void onRestoreInstanceState(Bundle savedInstanceState) { + super.onRestoreInstanceState(savedInstanceState); + getSherlock().dispatchRestoreInstanceState(savedInstanceState); + } + + /////////////////////////////////////////////////////////////////////////// + // Native menu handling + /////////////////////////////////////////////////////////////////////////// + + public MenuInflater getSupportMenuInflater() { + return getSherlock().getMenuInflater(); + } + + public void invalidateOptionsMenu() { + getSherlock().dispatchInvalidateOptionsMenu(); + } + + public void supportInvalidateOptionsMenu() { + invalidateOptionsMenu(); + } + + @Override + public final boolean onCreateOptionsMenu(android.view.Menu menu) { + return getSherlock().dispatchCreateOptionsMenu(menu); + } + + @Override + public final boolean onPrepareOptionsMenu(android.view.Menu menu) { + return getSherlock().dispatchPrepareOptionsMenu(menu); + } + + @Override + public final boolean onOptionsItemSelected(android.view.MenuItem item) { + return getSherlock().dispatchOptionsItemSelected(item); + } + + @Override + public void openOptionsMenu() { + if (!getSherlock().dispatchOpenOptionsMenu()) { + super.openOptionsMenu(); + } + } + + @Override + public void closeOptionsMenu() { + if (!getSherlock().dispatchCloseOptionsMenu()) { + super.closeOptionsMenu(); + } + } + + + /////////////////////////////////////////////////////////////////////////// + // Sherlock menu handling + /////////////////////////////////////////////////////////////////////////// + + @Override + public boolean onCreatePanelMenu(int featureId, Menu menu) { + if (featureId == Window.FEATURE_OPTIONS_PANEL) { + return onCreateOptionsMenu(menu); + } + return false; + } + + public boolean onCreateOptionsMenu(Menu menu) { + return true; + } + + @Override + public boolean onPreparePanel(int featureId, View view, Menu menu) { + if (featureId == Window.FEATURE_OPTIONS_PANEL) { + return onPrepareOptionsMenu(menu); + } + return false; + } + + public boolean onPrepareOptionsMenu(Menu menu) { + return true; + } + + @Override + public boolean onMenuItemSelected(int featureId, MenuItem item) { + if (featureId == Window.FEATURE_OPTIONS_PANEL) { + return onOptionsItemSelected(item); + } + return false; + } + + public boolean onOptionsItemSelected(MenuItem item) { + return false; + } + + + /////////////////////////////////////////////////////////////////////////// + // Content + /////////////////////////////////////////////////////////////////////////// + + @Override + public void addContentView(View view, LayoutParams params) { + getSherlock().addContentView(view, params); + } + + @Override + public void setContentView(int layoutResId) { + getSherlock().setContentView(layoutResId); + } + + @Override + public void setContentView(View view, LayoutParams params) { + getSherlock().setContentView(view, params); + } + + @Override + public void setContentView(View view) { + getSherlock().setContentView(view); + } + + public void requestWindowFeature(long featureId) { + getSherlock().requestFeature((int)featureId); + } + + + /////////////////////////////////////////////////////////////////////////// + // Progress Indication + /////////////////////////////////////////////////////////////////////////// + + public void setSupportProgress(int progress) { + getSherlock().setProgress(progress); + } + + public void setSupportProgressBarIndeterminate(boolean indeterminate) { + getSherlock().setProgressBarIndeterminate(indeterminate); + } + + public void setSupportProgressBarIndeterminateVisibility(boolean visible) { + getSherlock().setProgressBarIndeterminateVisibility(visible); + } + + public void setSupportProgressBarVisibility(boolean visible) { + getSherlock().setProgressBarVisibility(visible); + } + + public void setSupportSecondaryProgress(int secondaryProgress) { + getSherlock().setSecondaryProgress(secondaryProgress); + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/ActionBarSherlockCompat.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/ActionBarSherlockCompat.java new file mode 100644 index 000000000..5e69275c7 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/ActionBarSherlockCompat.java @@ -0,0 +1,1203 @@ +package com.actionbarsherlock.internal; + +import static android.view.ViewGroup.LayoutParams.MATCH_PARENT; +import static com.actionbarsherlock.internal.ResourcesCompat.getResources_getBoolean; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import org.xmlpull.v1.XmlPullParser; +import android.app.Activity; +import android.content.Context; +import android.content.pm.ActivityInfo; +import android.content.res.AssetManager; +import android.content.res.Configuration; +import android.content.res.Resources; +import android.content.res.TypedArray; +import android.content.res.XmlResourceParser; +import android.os.Bundle; +import android.util.AndroidRuntimeException; +import android.util.Log; +import android.util.TypedValue; +import android.view.ContextThemeWrapper; +import android.view.KeyCharacterMap; +import android.view.KeyEvent; +import android.view.View; +import android.view.ViewGroup; +import android.view.ViewStub; +import android.view.Window; +import android.view.accessibility.AccessibilityEvent; +import android.view.animation.Animation; +import android.view.animation.AnimationUtils; +import android.widget.FrameLayout; +import android.widget.TextView; +import com.actionbarsherlock.ActionBarSherlock; +import com.actionbarsherlock.R; +import com.actionbarsherlock.app.ActionBar; +import com.actionbarsherlock.internal.app.ActionBarImpl; +import com.actionbarsherlock.internal.view.StandaloneActionMode; +import com.actionbarsherlock.internal.view.menu.ActionMenuPresenter; +import com.actionbarsherlock.internal.view.menu.MenuBuilder; +import com.actionbarsherlock.internal.view.menu.MenuItemImpl; +import com.actionbarsherlock.internal.view.menu.MenuPresenter; +import com.actionbarsherlock.internal.widget.ActionBarContainer; +import com.actionbarsherlock.internal.widget.ActionBarContextView; +import com.actionbarsherlock.internal.widget.ActionBarView; +import com.actionbarsherlock.internal.widget.IcsProgressBar; +import com.actionbarsherlock.view.ActionMode; +import com.actionbarsherlock.view.Menu; +import com.actionbarsherlock.view.MenuItem; + +@ActionBarSherlock.Implementation(api = 7) +public class ActionBarSherlockCompat extends ActionBarSherlock implements MenuBuilder.Callback, com.actionbarsherlock.view.Window.Callback, MenuPresenter.Callback, android.view.MenuItem.OnMenuItemClickListener { + /** Window features which are enabled by default. */ + protected static final int DEFAULT_FEATURES = 0; + + static private final String PANELS_TAG = "sherlock:Panels"; + + public ActionBarSherlockCompat(Activity activity, int flags) { + super(activity, flags); + } + + + /////////////////////////////////////////////////////////////////////////// + // Properties + /////////////////////////////////////////////////////////////////////////// + + /** Whether or not the device has a dedicated menu key button. */ + private boolean mReserveOverflow; + /** Lazy-load indicator for {@link #mReserveOverflow}. */ + private boolean mReserveOverflowSet = false; + + /** Current menu instance for managing action items. */ + private MenuBuilder mMenu; + /** Map between native options items and sherlock items. */ + protected HashMap mNativeItemMap; + + /** Parent view of the window decoration (action bar, mode, etc.). */ + private ViewGroup mDecor; + /** Parent view of the activity content. */ + private ViewGroup mContentParent; + + /** Whether or not the title is stable and can be displayed. */ + private boolean mIsTitleReady = false; + /** Whether or not the parent activity has been destroyed. */ + private boolean mIsDestroyed = false; + + /* Emulate PanelFeatureState */ + private boolean mClosingActionMenu; + private boolean mMenuIsPrepared; + private boolean mMenuRefreshContent; + private Bundle mMenuFrozenActionViewState; + + /** Implementation which backs the action bar interface API. */ + private ActionBarImpl aActionBar; + /** Main action bar view which displays the core content. */ + private ActionBarView wActionBar; + /** Relevant window and action bar features flags. */ + private int mFeatures = DEFAULT_FEATURES; + /** Relevant user interface option flags. */ + private int mUiOptions = 0; + + /** Decor indeterminate progress indicator. */ + private IcsProgressBar mCircularProgressBar; + /** Decor progress indicator. */ + private IcsProgressBar mHorizontalProgressBar; + + /** Current displayed context action bar, if any. */ + private ActionMode mActionMode; + /** Parent view in which the context action bar is displayed. */ + private ActionBarContextView mActionModeView; + + /** Title view used with dialogs. */ + private TextView mTitleView; + /** Current activity title. */ + private CharSequence mTitle = null; + /** Whether or not this "activity" is floating (i.e., a dialog) */ + private boolean mIsFloating; + + + + /////////////////////////////////////////////////////////////////////////// + // Instance methods + /////////////////////////////////////////////////////////////////////////// + + @Override + public ActionBar getActionBar() { + if (DEBUG) Log.d(TAG, "[getActionBar]"); + + initActionBar(); + return aActionBar; + } + + private void initActionBar() { + if (DEBUG) Log.d(TAG, "[initActionBar]"); + + // Initializing the window decor can change window feature flags. + // Make sure that we have the correct set before performing the test below. + if (mDecor == null) { + installDecor(); + } + + if ((aActionBar != null) || !hasFeature(Window.FEATURE_ACTION_BAR) || hasFeature(Window.FEATURE_NO_TITLE) || mActivity.isChild()) { + return; + } + + aActionBar = new ActionBarImpl(mActivity, mFeatures); + + if (!mIsDelegate) { + //We may never get another chance to set the title + wActionBar.setWindowTitle(mActivity.getTitle()); + } + } + + @Override + protected Context getThemedContext() { + return aActionBar.getThemedContext(); + } + + @Override + public void setTitle(CharSequence title) { + if (DEBUG) Log.d(TAG, "[setTitle] title: " + title); + + dispatchTitleChanged(title, 0); + } + + @Override + public ActionMode startActionMode(ActionMode.Callback callback) { + if (DEBUG) Log.d(TAG, "[startActionMode] callback: " + callback); + + if (mActionMode != null) { + mActionMode.finish(); + } + + final ActionMode.Callback wrappedCallback = new ActionModeCallbackWrapper(callback); + ActionMode mode = null; + + //Emulate Activity's onWindowStartingActionMode: + initActionBar(); + if (aActionBar != null) { + mode = aActionBar.startActionMode(wrappedCallback); + } + + if (mode != null) { + mActionMode = mode; + } else { + if (mActionModeView == null) { + ViewStub stub = (ViewStub)mDecor.findViewById(R.id.abs__action_mode_bar_stub); + if (stub != null) { + mActionModeView = (ActionBarContextView)stub.inflate(); + } + } + if (mActionModeView != null) { + mActionModeView.killMode(); + mode = new StandaloneActionMode(mActivity, mActionModeView, wrappedCallback, true); + if (callback.onCreateActionMode(mode, mode.getMenu())) { + mode.invalidate(); + mActionModeView.initForMode(mode); + mActionModeView.setVisibility(View.VISIBLE); + mActionMode = mode; + mActionModeView.sendAccessibilityEvent(AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED); + } else { + mActionMode = null; + } + } + } + if (mActionMode != null && mActivity instanceof OnActionModeStartedListener) { + ((OnActionModeStartedListener)mActivity).onActionModeStarted(mActionMode); + } + return mActionMode; + } + + + /////////////////////////////////////////////////////////////////////////// + // Lifecycle and interaction callbacks for delegation + /////////////////////////////////////////////////////////////////////////// + + @Override + public void dispatchConfigurationChanged(Configuration newConfig) { + if (DEBUG) Log.d(TAG, "[dispatchConfigurationChanged] newConfig: " + newConfig); + + if (aActionBar != null) { + aActionBar.onConfigurationChanged(newConfig); + } + } + + @Override + public void dispatchPostResume() { + if (DEBUG) Log.d(TAG, "[dispatchPostResume]"); + + if (aActionBar != null) { + aActionBar.setShowHideAnimationEnabled(true); + } + } + + @Override + public void dispatchPause() { + if (DEBUG) Log.d(TAG, "[dispatchPause]"); + + if (wActionBar != null && wActionBar.isOverflowMenuShowing()) { + wActionBar.hideOverflowMenu(); + } + } + + @Override + public void dispatchStop() { + if (DEBUG) Log.d(TAG, "[dispatchStop]"); + + if (aActionBar != null) { + aActionBar.setShowHideAnimationEnabled(false); + } + } + + @Override + public void dispatchInvalidateOptionsMenu() { + if (DEBUG) Log.d(TAG, "[dispatchInvalidateOptionsMenu]"); + + Bundle savedActionViewStates = null; + if (mMenu != null) { + savedActionViewStates = new Bundle(); + mMenu.saveActionViewStates(savedActionViewStates); + if (savedActionViewStates.size() > 0) { + mMenuFrozenActionViewState = savedActionViewStates; + } + // This will be started again when the panel is prepared. + mMenu.stopDispatchingItemsChanged(); + mMenu.clear(); + } + mMenuRefreshContent = true; + + // Prepare the options panel if we have an action bar + if (wActionBar != null) { + mMenuIsPrepared = false; + preparePanel(); + } + } + + @Override + public boolean dispatchOpenOptionsMenu() { + if (DEBUG) Log.d(TAG, "[dispatchOpenOptionsMenu]"); + + if (!isReservingOverflow()) { + return false; + } + + return wActionBar.showOverflowMenu(); + } + + @Override + public boolean dispatchCloseOptionsMenu() { + if (DEBUG) Log.d(TAG, "[dispatchCloseOptionsMenu]"); + + if (!isReservingOverflow()) { + return false; + } + + if (wActionBar != null) { + return wActionBar.hideOverflowMenu(); + } + return false; + } + + @Override + public void dispatchPostCreate(Bundle savedInstanceState) { + if (DEBUG) Log.d(TAG, "[dispatchOnPostCreate]"); + + if (mIsDelegate) { + mIsTitleReady = true; + } + + if (mDecor == null) { + initActionBar(); + } + } + + @Override + public boolean dispatchCreateOptionsMenu(android.view.Menu menu) { + if (DEBUG) { + Log.d(TAG, "[dispatchCreateOptionsMenu] android.view.Menu: " + menu); + Log.d(TAG, "[dispatchCreateOptionsMenu] returning true"); + } + return true; + } + + @Override + public boolean dispatchPrepareOptionsMenu(android.view.Menu menu) { + if (DEBUG) Log.d(TAG, "[dispatchPrepareOptionsMenu] android.view.Menu: " + menu); + + if (mActionMode != null) { + return false; + } + + mMenuIsPrepared = false; + if (!preparePanel()) { + return false; + } + + if (isReservingOverflow()) { + return false; + } + + if (mNativeItemMap == null) { + mNativeItemMap = new HashMap(); + } else { + mNativeItemMap.clear(); + } + + if (mMenu == null) { + return false; + } + + boolean result = mMenu.bindNativeOverflow(menu, this, mNativeItemMap); + if (DEBUG) Log.d(TAG, "[dispatchPrepareOptionsMenu] returning " + result); + return result; + } + + @Override + public boolean dispatchOptionsItemSelected(android.view.MenuItem item) { + throw new IllegalStateException("Native callback invoked. Create a test case and report!"); + } + + @Override + public boolean dispatchMenuOpened(int featureId, android.view.Menu menu) { + if (DEBUG) Log.d(TAG, "[dispatchMenuOpened] featureId: " + featureId + ", menu: " + menu); + + if (featureId == Window.FEATURE_ACTION_BAR || featureId == Window.FEATURE_OPTIONS_PANEL) { + if (aActionBar != null) { + aActionBar.dispatchMenuVisibilityChanged(true); + } + return true; + } + + return false; + } + + @Override + public void dispatchPanelClosed(int featureId, android.view.Menu menu){ + if (DEBUG) Log.d(TAG, "[dispatchPanelClosed] featureId: " + featureId + ", menu: " + menu); + + if (featureId == Window.FEATURE_ACTION_BAR || featureId == Window.FEATURE_OPTIONS_PANEL) { + if (aActionBar != null) { + aActionBar.dispatchMenuVisibilityChanged(false); + } + } + } + + @Override + public void dispatchTitleChanged(CharSequence title, int color) { + if (DEBUG) Log.d(TAG, "[dispatchTitleChanged] title: " + title + ", color: " + color); + + if (!mIsDelegate || mIsTitleReady) { + if (mTitleView != null) { + mTitleView.setText(title); + } else if (wActionBar != null) { + wActionBar.setWindowTitle(title); + } + } + + mTitle = title; + } + + @Override + public boolean dispatchKeyEvent(KeyEvent event) { + if (DEBUG) Log.d(TAG, "[dispatchKeyEvent] event: " + event); + + final int keyCode = event.getKeyCode(); + + // Not handled by the view hierarchy, does the action bar want it + // to cancel out of something special? + if (keyCode == KeyEvent.KEYCODE_BACK) { + final int action = event.getAction(); + // Back cancels action modes first. + if (mActionMode != null) { + if (action == KeyEvent.ACTION_UP) { + mActionMode.finish(); + } + if (DEBUG) Log.d(TAG, "[dispatchKeyEvent] returning true"); + return true; + } + + // Next collapse any expanded action views. + if (wActionBar != null && wActionBar.hasExpandedActionView()) { + if (action == KeyEvent.ACTION_UP) { + wActionBar.collapseActionView(); + } + if (DEBUG) Log.d(TAG, "[dispatchKeyEvent] returning true"); + return true; + } + } + + if (DEBUG) Log.d(TAG, "[dispatchKeyEvent] returning false"); + return false; + } + + @Override + public void dispatchDestroy() { + mIsDestroyed = true; + } + + @Override + public void dispatchSaveInstanceState(Bundle outState) { + if (mMenu != null) { + mMenuFrozenActionViewState = new Bundle(); + mMenu.saveActionViewStates(mMenuFrozenActionViewState); + } + outState.putParcelable(PANELS_TAG, mMenuFrozenActionViewState); + } + + @Override + public void dispatchRestoreInstanceState(Bundle savedInstanceState) { + mMenuFrozenActionViewState = savedInstanceState.getParcelable(PANELS_TAG); + } + + /////////////////////////////////////////////////////////////////////////// + // Menu callback lifecycle and creation + /////////////////////////////////////////////////////////////////////////// + + private boolean preparePanel() { + // Already prepared (isPrepared will be reset to false later) + if (mMenuIsPrepared) { + return true; + } + + // Init the panel state's menu--return false if init failed + if (mMenu == null || mMenuRefreshContent) { + if (mMenu == null) { + if (!initializePanelMenu() || (mMenu == null)) { + return false; + } + } + + if (wActionBar != null) { + wActionBar.setMenu(mMenu, this); + } + + // Call callback, and return if it doesn't want to display menu. + + // Creating the panel menu will involve a lot of manipulation; + // don't dispatch change events to presenters until we're done. + mMenu.stopDispatchingItemsChanged(); + if (!callbackCreateOptionsMenu(mMenu)) { + // Ditch the menu created above + mMenu = null; + + if (wActionBar != null) { + // Don't show it in the action bar either + wActionBar.setMenu(null, this); + } + + return false; + } + + mMenuRefreshContent = false; + } + + // Callback and return if the callback does not want to show the menu + + // Preparing the panel menu can involve a lot of manipulation; + // don't dispatch change events to presenters until we're done. + mMenu.stopDispatchingItemsChanged(); + + // Restore action view state before we prepare. This gives apps + // an opportunity to override frozen/restored state in onPrepare. + if (mMenuFrozenActionViewState != null) { + mMenu.restoreActionViewStates(mMenuFrozenActionViewState); + mMenuFrozenActionViewState = null; + } + + if (!callbackPrepareOptionsMenu(mMenu)) { + if (wActionBar != null) { + // The app didn't want to show the menu for now but it still exists. + // Clear it out of the action bar. + wActionBar.setMenu(null, this); + } + mMenu.startDispatchingItemsChanged(); + return false; + } + + // Set the proper keymap + KeyCharacterMap kmap = KeyCharacterMap.load(KeyCharacterMap.VIRTUAL_KEYBOARD); + mMenu.setQwertyMode(kmap.getKeyboardType() != KeyCharacterMap.NUMERIC); + mMenu.startDispatchingItemsChanged(); + + // Set other state + mMenuIsPrepared = true; + + return true; + } + + public boolean onMenuItemSelected(MenuBuilder menu, MenuItem item) { + return callbackOptionsItemSelected(item); + } + + public void onMenuModeChange(MenuBuilder menu) { + reopenMenu(true); + } + + private void reopenMenu(boolean toggleMenuMode) { + if (wActionBar != null && wActionBar.isOverflowReserved()) { + if (!wActionBar.isOverflowMenuShowing() || !toggleMenuMode) { + if (wActionBar.getVisibility() == View.VISIBLE) { + if (callbackPrepareOptionsMenu(mMenu)) { + wActionBar.showOverflowMenu(); + } + } + } else { + wActionBar.hideOverflowMenu(); + } + return; + } + } + + private boolean initializePanelMenu() { + Context context = mActivity;//getContext(); + + // If we have an action bar, initialize the menu with a context themed for it. + if (wActionBar != null) { + TypedValue outValue = new TypedValue(); + Resources.Theme currentTheme = context.getTheme(); + currentTheme.resolveAttribute(R.attr.actionBarWidgetTheme, + outValue, true); + final int targetThemeRes = outValue.resourceId; + + if (targetThemeRes != 0 /*&& context.getThemeResId() != targetThemeRes*/) { + context = new ContextThemeWrapper(context, targetThemeRes); + } + } + + mMenu = new MenuBuilder(context); + mMenu.setCallback(this); + + return true; + } + + void checkCloseActionMenu(Menu menu) { + if (mClosingActionMenu) { + return; + } + + mClosingActionMenu = true; + wActionBar.dismissPopupMenus(); + //Callback cb = getCallback(); + //if (cb != null && !isDestroyed()) { + // cb.onPanelClosed(FEATURE_ACTION_BAR, menu); + //} + mClosingActionMenu = false; + } + + @Override + public boolean onOpenSubMenu(MenuBuilder subMenu) { + return true; + } + + @Override + public void onCloseMenu(MenuBuilder menu, boolean allMenusAreClosing) { + checkCloseActionMenu(menu); + } + + @Override + public boolean onMenuItemClick(android.view.MenuItem item) { + if (DEBUG) Log.d(TAG, "[mNativeItemListener.onMenuItemClick] item: " + item); + + final MenuItemImpl sherlockItem = mNativeItemMap.get(item); + if (sherlockItem != null) { + sherlockItem.invoke(); + } else { + Log.e(TAG, "Options item \"" + item + "\" not found in mapping"); + } + + return true; //Do not allow continuation of native handling + } + + @Override + public boolean onMenuItemSelected(int featureId, MenuItem item) { + return callbackOptionsItemSelected(item); + } + + + /////////////////////////////////////////////////////////////////////////// + // Progress bar interaction and internal handling + /////////////////////////////////////////////////////////////////////////// + + @Override + public void setProgressBarVisibility(boolean visible) { + if (DEBUG) Log.d(TAG, "[setProgressBarVisibility] visible: " + visible); + + setFeatureInt(Window.FEATURE_PROGRESS, visible ? Window.PROGRESS_VISIBILITY_ON : + Window.PROGRESS_VISIBILITY_OFF); + } + + @Override + public void setProgressBarIndeterminateVisibility(boolean visible) { + if (DEBUG) Log.d(TAG, "[setProgressBarIndeterminateVisibility] visible: " + visible); + + setFeatureInt(Window.FEATURE_INDETERMINATE_PROGRESS, + visible ? Window.PROGRESS_VISIBILITY_ON : Window.PROGRESS_VISIBILITY_OFF); + } + + @Override + public void setProgressBarIndeterminate(boolean indeterminate) { + if (DEBUG) Log.d(TAG, "[setProgressBarIndeterminate] indeterminate: " + indeterminate); + + setFeatureInt(Window.FEATURE_PROGRESS, + indeterminate ? Window.PROGRESS_INDETERMINATE_ON : Window.PROGRESS_INDETERMINATE_OFF); + } + + @Override + public void setProgress(int progress) { + if (DEBUG) Log.d(TAG, "[setProgress] progress: " + progress); + + setFeatureInt(Window.FEATURE_PROGRESS, progress + Window.PROGRESS_START); + } + + @Override + public void setSecondaryProgress(int secondaryProgress) { + if (DEBUG) Log.d(TAG, "[setSecondaryProgress] secondaryProgress: " + secondaryProgress); + + setFeatureInt(Window.FEATURE_PROGRESS, + secondaryProgress + Window.PROGRESS_SECONDARY_START); + } + + private void setFeatureInt(int featureId, int value) { + updateInt(featureId, value, false); + } + + private void updateInt(int featureId, int value, boolean fromResume) { + // Do nothing if the decor is not yet installed... an update will + // need to be forced when we eventually become active. + if (mContentParent == null) { + return; + } + + final int featureMask = 1 << featureId; + + if ((getFeatures() & featureMask) == 0 && !fromResume) { + return; + } + + onIntChanged(featureId, value); + } + + private void onIntChanged(int featureId, int value) { + if (featureId == Window.FEATURE_PROGRESS || featureId == Window.FEATURE_INDETERMINATE_PROGRESS) { + updateProgressBars(value); + } + } + + private void updateProgressBars(int value) { + IcsProgressBar circularProgressBar = getCircularProgressBar(true); + IcsProgressBar horizontalProgressBar = getHorizontalProgressBar(true); + + final int features = mFeatures;//getLocalFeatures(); + if (value == Window.PROGRESS_VISIBILITY_ON) { + if ((features & (1 << Window.FEATURE_PROGRESS)) != 0) { + int level = horizontalProgressBar.getProgress(); + int visibility = (horizontalProgressBar.isIndeterminate() || level < 10000) ? + View.VISIBLE : View.INVISIBLE; + horizontalProgressBar.setVisibility(visibility); + } + if ((features & (1 << Window.FEATURE_INDETERMINATE_PROGRESS)) != 0) { + circularProgressBar.setVisibility(View.VISIBLE); + } + } else if (value == Window.PROGRESS_VISIBILITY_OFF) { + if ((features & (1 << Window.FEATURE_PROGRESS)) != 0) { + horizontalProgressBar.setVisibility(View.GONE); + } + if ((features & (1 << Window.FEATURE_INDETERMINATE_PROGRESS)) != 0) { + circularProgressBar.setVisibility(View.GONE); + } + } else if (value == Window.PROGRESS_INDETERMINATE_ON) { + horizontalProgressBar.setIndeterminate(true); + } else if (value == Window.PROGRESS_INDETERMINATE_OFF) { + horizontalProgressBar.setIndeterminate(false); + } else if (Window.PROGRESS_START <= value && value <= Window.PROGRESS_END) { + // We want to set the progress value before testing for visibility + // so that when the progress bar becomes visible again, it has the + // correct level. + horizontalProgressBar.setProgress(value - Window.PROGRESS_START); + + if (value < Window.PROGRESS_END) { + showProgressBars(horizontalProgressBar, circularProgressBar); + } else { + hideProgressBars(horizontalProgressBar, circularProgressBar); + } + } else if (Window.PROGRESS_SECONDARY_START <= value && value <= Window.PROGRESS_SECONDARY_END) { + horizontalProgressBar.setSecondaryProgress(value - Window.PROGRESS_SECONDARY_START); + + showProgressBars(horizontalProgressBar, circularProgressBar); + } + } + + private void showProgressBars(IcsProgressBar horizontalProgressBar, IcsProgressBar spinnyProgressBar) { + final int features = mFeatures;//getLocalFeatures(); + if ((features & (1 << Window.FEATURE_INDETERMINATE_PROGRESS)) != 0 && + spinnyProgressBar.getVisibility() == View.INVISIBLE) { + spinnyProgressBar.setVisibility(View.VISIBLE); + } + // Only show the progress bars if the primary progress is not complete + if ((features & (1 << Window.FEATURE_PROGRESS)) != 0 && + horizontalProgressBar.getProgress() < 10000) { + horizontalProgressBar.setVisibility(View.VISIBLE); + } + } + + private void hideProgressBars(IcsProgressBar horizontalProgressBar, IcsProgressBar spinnyProgressBar) { + final int features = mFeatures;//getLocalFeatures(); + Animation anim = AnimationUtils.loadAnimation(mActivity, android.R.anim.fade_out); + anim.setDuration(1000); + if ((features & (1 << Window.FEATURE_INDETERMINATE_PROGRESS)) != 0 && + spinnyProgressBar.getVisibility() == View.VISIBLE) { + spinnyProgressBar.startAnimation(anim); + spinnyProgressBar.setVisibility(View.INVISIBLE); + } + if ((features & (1 << Window.FEATURE_PROGRESS)) != 0 && + horizontalProgressBar.getVisibility() == View.VISIBLE) { + horizontalProgressBar.startAnimation(anim); + horizontalProgressBar.setVisibility(View.INVISIBLE); + } + } + + private IcsProgressBar getCircularProgressBar(boolean shouldInstallDecor) { + if (mCircularProgressBar != null) { + return mCircularProgressBar; + } + if (mContentParent == null && shouldInstallDecor) { + installDecor(); + } + mCircularProgressBar = (IcsProgressBar)mDecor.findViewById(R.id.abs__progress_circular); + if (mCircularProgressBar != null) { + mCircularProgressBar.setVisibility(View.INVISIBLE); + } + return mCircularProgressBar; + } + + private IcsProgressBar getHorizontalProgressBar(boolean shouldInstallDecor) { + if (mHorizontalProgressBar != null) { + return mHorizontalProgressBar; + } + if (mContentParent == null && shouldInstallDecor) { + installDecor(); + } + mHorizontalProgressBar = (IcsProgressBar)mDecor.findViewById(R.id.abs__progress_horizontal); + if (mHorizontalProgressBar != null) { + mHorizontalProgressBar.setVisibility(View.INVISIBLE); + } + return mHorizontalProgressBar; + } + + + /////////////////////////////////////////////////////////////////////////// + // Feature management and content interaction and creation + /////////////////////////////////////////////////////////////////////////// + + private int getFeatures() { + if (DEBUG) Log.d(TAG, "[getFeatures] returning " + mFeatures); + + return mFeatures; + } + + @Override + public boolean hasFeature(int featureId) { + if (DEBUG) Log.d(TAG, "[hasFeature] featureId: " + featureId); + + boolean result = (mFeatures & (1 << featureId)) != 0; + if (DEBUG) Log.d(TAG, "[hasFeature] returning " + result); + return result; + } + + @Override + public boolean requestFeature(int featureId) { + if (DEBUG) Log.d(TAG, "[requestFeature] featureId: " + featureId); + + if (mContentParent != null) { + throw new AndroidRuntimeException("requestFeature() must be called before adding content"); + } + + switch (featureId) { + case Window.FEATURE_ACTION_BAR: + case Window.FEATURE_ACTION_BAR_OVERLAY: + case Window.FEATURE_ACTION_MODE_OVERLAY: + case Window.FEATURE_INDETERMINATE_PROGRESS: + case Window.FEATURE_NO_TITLE: + case Window.FEATURE_PROGRESS: + mFeatures |= (1 << featureId); + return true; + + default: + return false; + } + } + + @Override + public void setUiOptions(int uiOptions) { + if (DEBUG) Log.d(TAG, "[setUiOptions] uiOptions: " + uiOptions); + + mUiOptions = uiOptions; + } + + @Override + public void setUiOptions(int uiOptions, int mask) { + if (DEBUG) Log.d(TAG, "[setUiOptions] uiOptions: " + uiOptions + ", mask: " + mask); + + mUiOptions = (mUiOptions & ~mask) | (uiOptions & mask); + } + + @Override + public void setContentView(int layoutResId) { + if (DEBUG) Log.d(TAG, "[setContentView] layoutResId: " + layoutResId); + + if (mContentParent == null) { + installDecor(); + } else { + mContentParent.removeAllViews(); + } + mActivity.getLayoutInflater().inflate(layoutResId, mContentParent); + + android.view.Window.Callback callback = mActivity.getWindow().getCallback(); + if (callback != null) { + callback.onContentChanged(); + } + + initActionBar(); + } + + @Override + public void setContentView(View view, ViewGroup.LayoutParams params) { + if (DEBUG) Log.d(TAG, "[setContentView] view: " + view + ", params: " + params); + + if (mContentParent == null) { + installDecor(); + } else { + mContentParent.removeAllViews(); + } + mContentParent.addView(view, params); + + android.view.Window.Callback callback = mActivity.getWindow().getCallback(); + if (callback != null) { + callback.onContentChanged(); + } + + initActionBar(); + } + + @Override + public void addContentView(View view, ViewGroup.LayoutParams params) { + if (DEBUG) Log.d(TAG, "[addContentView] view: " + view + ", params: " + params); + + if (mContentParent == null) { + installDecor(); + } + mContentParent.addView(view, params); + + initActionBar(); + } + + private void installDecor() { + if (DEBUG) Log.d(TAG, "[installDecor]"); + + if (mDecor == null) { + mDecor = (ViewGroup)mActivity.getWindow().getDecorView().findViewById(android.R.id.content); + } + if (mContentParent == null) { + //Since we are not operating at the window level we need to take + //into account the fact that the true decor may have already been + //initialized and had content attached to it. If that is the case, + //copy over its children to our new content container. + List views = null; + if (mDecor.getChildCount() > 0) { + views = new ArrayList(1); //Usually there's only one child + for (int i = 0, children = mDecor.getChildCount(); i < children; i++) { + View child = mDecor.getChildAt(0); + mDecor.removeView(child); + views.add(child); + } + } + + mContentParent = generateLayout(); + + //Copy over the old children. See above for explanation. + if (views != null) { + for (View child : views) { + mContentParent.addView(child); + } + } + + mTitleView = (TextView)mDecor.findViewById(android.R.id.title); + if (mTitleView != null) { + if (hasFeature(Window.FEATURE_NO_TITLE)) { + mTitleView.setVisibility(View.GONE); + if (mContentParent instanceof FrameLayout) { + ((FrameLayout)mContentParent).setForeground(null); + } + } else { + mTitleView.setText(mTitle); + } + } else { + wActionBar = (ActionBarView)mDecor.findViewById(R.id.abs__action_bar); + if (wActionBar != null) { + wActionBar.setWindowCallback(this); + if (wActionBar.getTitle() == null) { + wActionBar.setWindowTitle(mActivity.getTitle()); + } + if (hasFeature(Window.FEATURE_PROGRESS)) { + wActionBar.initProgress(); + } + if (hasFeature(Window.FEATURE_INDETERMINATE_PROGRESS)) { + wActionBar.initIndeterminateProgress(); + } + + //Since we don't require onCreate dispatching, parse for uiOptions here + int uiOptions = loadUiOptionsFromManifest(mActivity); + if (uiOptions != 0) { + mUiOptions = uiOptions; + } + + boolean splitActionBar = false; + final boolean splitWhenNarrow = (mUiOptions & ActivityInfo.UIOPTION_SPLIT_ACTION_BAR_WHEN_NARROW) != 0; + if (splitWhenNarrow) { + splitActionBar = getResources_getBoolean(mActivity, R.bool.abs__split_action_bar_is_narrow); + } else { + splitActionBar = mActivity.getTheme() + .obtainStyledAttributes(R.styleable.SherlockTheme) + .getBoolean(R.styleable.SherlockTheme_windowSplitActionBar, false); + } + final ActionBarContainer splitView = (ActionBarContainer)mDecor.findViewById(R.id.abs__split_action_bar); + if (splitView != null) { + wActionBar.setSplitView(splitView); + wActionBar.setSplitActionBar(splitActionBar); + wActionBar.setSplitWhenNarrow(splitWhenNarrow); + + mActionModeView = (ActionBarContextView)mDecor.findViewById(R.id.abs__action_context_bar); + mActionModeView.setSplitView(splitView); + mActionModeView.setSplitActionBar(splitActionBar); + mActionModeView.setSplitWhenNarrow(splitWhenNarrow); + } else if (splitActionBar) { + Log.e(TAG, "Requested split action bar with incompatible window decor! Ignoring request."); + } + + // Post the panel invalidate for later; avoid application onCreateOptionsMenu + // being called in the middle of onCreate or similar. + mDecor.post(new Runnable() { + @Override + public void run() { + //Invalidate if the panel menu hasn't been created before this. + if (!mIsDestroyed && !mActivity.isFinishing() && mMenu == null) { + dispatchInvalidateOptionsMenu(); + } + } + }); + } + } + } + } + + private ViewGroup generateLayout() { + if (DEBUG) Log.d(TAG, "[generateLayout]"); + + // Apply data from current theme. + + TypedArray a = mActivity.getTheme().obtainStyledAttributes(R.styleable.SherlockTheme); + + mIsFloating = a.getBoolean(R.styleable.SherlockTheme_android_windowIsFloating, false); + + if (!a.hasValue(R.styleable.SherlockTheme_windowActionBar)) { + throw new IllegalStateException("You must use Theme.Sherlock, Theme.Sherlock.Light, Theme.Sherlock.Light.DarkActionBar, or a derivative."); + } + + if (a.getBoolean(R.styleable.SherlockTheme_windowNoTitle, false)) { + requestFeature(Window.FEATURE_NO_TITLE); + } else if (a.getBoolean(R.styleable.SherlockTheme_windowActionBar, false)) { + // Don't allow an action bar if there is no title. + requestFeature(Window.FEATURE_ACTION_BAR); + } + + if (a.getBoolean(R.styleable.SherlockTheme_windowActionBarOverlay, false)) { + requestFeature(Window.FEATURE_ACTION_BAR_OVERLAY); + } + + if (a.getBoolean(R.styleable.SherlockTheme_windowActionModeOverlay, false)) { + requestFeature(Window.FEATURE_ACTION_MODE_OVERLAY); + } + + a.recycle(); + + int layoutResource; + if (!hasFeature(Window.FEATURE_NO_TITLE)) { + if (mIsFloating) { + //Trash original dialog LinearLayout + mDecor = (ViewGroup)mDecor.getParent(); + mDecor.removeAllViews(); + + layoutResource = R.layout.abs__dialog_title_holo; + } else { + if (hasFeature(Window.FEATURE_ACTION_BAR_OVERLAY)) { + layoutResource = R.layout.abs__screen_action_bar_overlay; + } else { + layoutResource = R.layout.abs__screen_action_bar; + } + } + } else if (hasFeature(Window.FEATURE_ACTION_MODE_OVERLAY) && !hasFeature(Window.FEATURE_NO_TITLE)) { + layoutResource = R.layout.abs__screen_simple_overlay_action_mode; + } else { + layoutResource = R.layout.abs__screen_simple; + } + + if (DEBUG) Log.d(TAG, "[generateLayout] using screen XML " + mActivity.getResources().getString(layoutResource)); + View in = mActivity.getLayoutInflater().inflate(layoutResource, null); + mDecor.addView(in, new ViewGroup.LayoutParams(MATCH_PARENT, MATCH_PARENT)); + + ViewGroup contentParent = (ViewGroup)mDecor.findViewById(R.id.abs__content); + if (contentParent == null) { + throw new RuntimeException("Couldn't find content container view"); + } + + //Make our new child the true content view (for fragments). VERY VOLATILE! + mDecor.setId(View.NO_ID); + contentParent.setId(android.R.id.content); + + if (hasFeature(Window.FEATURE_INDETERMINATE_PROGRESS)) { + IcsProgressBar progress = getCircularProgressBar(false); + if (progress != null) { + progress.setIndeterminate(true); + } + } + + return contentParent; + } + + + /////////////////////////////////////////////////////////////////////////// + // Miscellaneous + /////////////////////////////////////////////////////////////////////////// + + /** + * Determine whether or not the device has a dedicated menu key. + * + * @return {@code true} if native menu key is present. + */ + private boolean isReservingOverflow() { + if (!mReserveOverflowSet) { + mReserveOverflow = ActionMenuPresenter.reserveOverflow(mActivity); + mReserveOverflowSet = true; + } + return mReserveOverflow; + } + + private static int loadUiOptionsFromManifest(Activity activity) { + int uiOptions = 0; + try { + final String thisPackage = activity.getClass().getName(); + if (DEBUG) Log.i(TAG, "Parsing AndroidManifest.xml for " + thisPackage); + + final String packageName = activity.getApplicationInfo().packageName; + final AssetManager am = activity.createPackageContext(packageName, 0).getAssets(); + final XmlResourceParser xml = am.openXmlResourceParser("AndroidManifest.xml"); + + int eventType = xml.getEventType(); + while (eventType != XmlPullParser.END_DOCUMENT) { + if (eventType == XmlPullParser.START_TAG) { + String name = xml.getName(); + + if ("application".equals(name)) { + //Check if the has the attribute + if (DEBUG) Log.d(TAG, "Got "); + + for (int i = xml.getAttributeCount() - 1; i >= 0; i--) { + if (DEBUG) Log.d(TAG, xml.getAttributeName(i) + ": " + xml.getAttributeValue(i)); + + if ("uiOptions".equals(xml.getAttributeName(i))) { + uiOptions = xml.getAttributeIntValue(i, 0); + break; //out of for loop + } + } + } else if ("activity".equals(name)) { + //Check if the is us and has the attribute + if (DEBUG) Log.d(TAG, "Got "); + Integer activityUiOptions = null; + String activityPackage = null; + boolean isOurActivity = false; + + for (int i = xml.getAttributeCount() - 1; i >= 0; i--) { + if (DEBUG) Log.d(TAG, xml.getAttributeName(i) + ": " + xml.getAttributeValue(i)); + + //We need both uiOptions and name attributes + String attrName = xml.getAttributeName(i); + if ("uiOptions".equals(attrName)) { + activityUiOptions = xml.getAttributeIntValue(i, 0); + } else if ("name".equals(attrName)) { + activityPackage = cleanActivityName(packageName, xml.getAttributeValue(i)); + if (!thisPackage.equals(activityPackage)) { + break; //out of for loop + } + isOurActivity = true; + } + + //Make sure we have both attributes before processing + if ((activityUiOptions != null) && (activityPackage != null)) { + //Our activity, uiOptions specified, override with our value + uiOptions = activityUiOptions.intValue(); + } + } + if (isOurActivity) { + //If we matched our activity but it had no logo don't + //do any more processing of the manifest + break; + } + } + } + eventType = xml.nextToken(); + } + } catch (Exception e) { + e.printStackTrace(); + } + if (DEBUG) Log.i(TAG, "Returning " + Integer.toHexString(uiOptions)); + return uiOptions; + } + + public static String cleanActivityName(String manifestPackage, String activityName) { + if (activityName.charAt(0) == '.') { + //Relative activity name (e.g., android:name=".ui.SomeClass") + return manifestPackage + activityName; + } + if (activityName.indexOf('.', 1) == -1) { + //Unqualified activity name (e.g., android:name="SomeClass") + return manifestPackage + "." + activityName; + } + //Fully-qualified activity name (e.g., "com.my.package.SomeClass") + return activityName; + } + + /** + * Clears out internal reference when the action mode is destroyed. + */ + private class ActionModeCallbackWrapper implements ActionMode.Callback { + private final ActionMode.Callback mWrapped; + + public ActionModeCallbackWrapper(ActionMode.Callback wrapped) { + mWrapped = wrapped; + } + + public boolean onCreateActionMode(ActionMode mode, Menu menu) { + return mWrapped.onCreateActionMode(mode, menu); + } + + public boolean onPrepareActionMode(ActionMode mode, Menu menu) { + return mWrapped.onPrepareActionMode(mode, menu); + } + + public boolean onActionItemClicked(ActionMode mode, MenuItem item) { + return mWrapped.onActionItemClicked(mode, item); + } + + public void onDestroyActionMode(ActionMode mode) { + mWrapped.onDestroyActionMode(mode); + if (mActionModeView != null) { + mActionModeView.setVisibility(View.GONE); + mActionModeView.removeAllViews(); + } + if (mActivity instanceof OnActionModeFinishedListener) { + ((OnActionModeFinishedListener)mActivity).onActionModeFinished(mActionMode); + } + mActionMode = null; + } + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/ActionBarSherlockNative.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/ActionBarSherlockNative.java new file mode 100644 index 000000000..0824d3848 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/ActionBarSherlockNative.java @@ -0,0 +1,336 @@ +package com.actionbarsherlock.internal; + +import com.actionbarsherlock.ActionBarSherlock; +import com.actionbarsherlock.app.ActionBar; +import com.actionbarsherlock.internal.app.ActionBarWrapper; +import com.actionbarsherlock.internal.view.menu.MenuWrapper; +import com.actionbarsherlock.view.ActionMode; +import com.actionbarsherlock.view.MenuInflater; +import android.app.Activity; +import android.content.Context; +import android.util.Log; +import android.util.TypedValue; +import android.view.ContextThemeWrapper; +import android.view.View; +import android.view.Window; +import android.view.ViewGroup.LayoutParams; + +@ActionBarSherlock.Implementation(api = 14) +public class ActionBarSherlockNative extends ActionBarSherlock { + private ActionBarWrapper mActionBar; + private ActionModeWrapper mActionMode; + private MenuWrapper mMenu; + + public ActionBarSherlockNative(Activity activity, int flags) { + super(activity, flags); + } + + + @Override + public ActionBar getActionBar() { + if (DEBUG) Log.d(TAG, "[getActionBar]"); + + initActionBar(); + return mActionBar; + } + + private void initActionBar() { + if (mActionBar != null || mActivity.getActionBar() == null) { + return; + } + + mActionBar = new ActionBarWrapper(mActivity); + } + + @Override + public void dispatchInvalidateOptionsMenu() { + if (DEBUG) Log.d(TAG, "[dispatchInvalidateOptionsMenu]"); + + mActivity.getWindow().invalidatePanelMenu(Window.FEATURE_OPTIONS_PANEL); + } + + @Override + public boolean dispatchCreateOptionsMenu(android.view.Menu menu) { + if (DEBUG) Log.d(TAG, "[dispatchCreateOptionsMenu] menu: " + menu); + + if (mMenu == null || menu != mMenu.unwrap()) { + mMenu = new MenuWrapper(menu); + } + + final boolean result = callbackCreateOptionsMenu(mMenu); + if (DEBUG) Log.d(TAG, "[dispatchCreateOptionsMenu] returning " + result); + return result; + } + + @Override + public boolean dispatchPrepareOptionsMenu(android.view.Menu menu) { + if (DEBUG) Log.d(TAG, "[dispatchPrepareOptionsMenu] menu: " + menu); + + final boolean result = callbackPrepareOptionsMenu(mMenu); + if (DEBUG) Log.d(TAG, "[dispatchPrepareOptionsMenu] returning " + result); + return result; + } + + @Override + public boolean dispatchOptionsItemSelected(android.view.MenuItem item) { + if (DEBUG) Log.d(TAG, "[dispatchOptionsItemSelected] item: " + item.getTitleCondensed()); + + final boolean result = callbackOptionsItemSelected(mMenu.findItem(item)); + if (DEBUG) Log.d(TAG, "[dispatchOptionsItemSelected] returning " + result); + return result; + } + + @Override + public boolean hasFeature(int feature) { + if (DEBUG) Log.d(TAG, "[hasFeature] feature: " + feature); + + final boolean result = mActivity.getWindow().hasFeature(feature); + if (DEBUG) Log.d(TAG, "[hasFeature] returning " + result); + return result; + } + + @Override + public boolean requestFeature(int featureId) { + if (DEBUG) Log.d(TAG, "[requestFeature] featureId: " + featureId); + + final boolean result = mActivity.getWindow().requestFeature(featureId); + if (DEBUG) Log.d(TAG, "[requestFeature] returning " + result); + return result; + } + + @Override + public void setUiOptions(int uiOptions) { + if (DEBUG) Log.d(TAG, "[setUiOptions] uiOptions: " + uiOptions); + + mActivity.getWindow().setUiOptions(uiOptions); + } + + @Override + public void setUiOptions(int uiOptions, int mask) { + if (DEBUG) Log.d(TAG, "[setUiOptions] uiOptions: " + uiOptions + ", mask: " + mask); + + mActivity.getWindow().setUiOptions(uiOptions, mask); + } + + @Override + public void setContentView(int layoutResId) { + if (DEBUG) Log.d(TAG, "[setContentView] layoutResId: " + layoutResId); + + mActivity.getWindow().setContentView(layoutResId); + initActionBar(); + } + + @Override + public void setContentView(View view, LayoutParams params) { + if (DEBUG) Log.d(TAG, "[setContentView] view: " + view + ", params: " + params); + + mActivity.getWindow().setContentView(view, params); + initActionBar(); + } + + @Override + public void addContentView(View view, LayoutParams params) { + if (DEBUG) Log.d(TAG, "[addContentView] view: " + view + ", params: " + params); + + mActivity.getWindow().addContentView(view, params); + initActionBar(); + } + + @Override + public void setTitle(CharSequence title) { + if (DEBUG) Log.d(TAG, "[setTitle] title: " + title); + + mActivity.getWindow().setTitle(title); + } + + @Override + public void setProgressBarVisibility(boolean visible) { + if (DEBUG) Log.d(TAG, "[setProgressBarVisibility] visible: " + visible); + + mActivity.setProgressBarVisibility(visible); + } + + @Override + public void setProgressBarIndeterminateVisibility(boolean visible) { + if (DEBUG) Log.d(TAG, "[setProgressBarIndeterminateVisibility] visible: " + visible); + + mActivity.setProgressBarIndeterminateVisibility(visible); + } + + @Override + public void setProgressBarIndeterminate(boolean indeterminate) { + if (DEBUG) Log.d(TAG, "[setProgressBarIndeterminate] indeterminate: " + indeterminate); + + mActivity.setProgressBarIndeterminate(indeterminate); + } + + @Override + public void setProgress(int progress) { + if (DEBUG) Log.d(TAG, "[setProgress] progress: " + progress); + + mActivity.setProgress(progress); + } + + @Override + public void setSecondaryProgress(int secondaryProgress) { + if (DEBUG) Log.d(TAG, "[setSecondaryProgress] secondaryProgress: " + secondaryProgress); + + mActivity.setSecondaryProgress(secondaryProgress); + } + + @Override + protected Context getThemedContext() { + Context context = mActivity; + TypedValue outValue = new TypedValue(); + mActivity.getTheme().resolveAttribute(android.R.attr.actionBarWidgetTheme, outValue, true); + if (outValue.resourceId != 0) { + //We are unable to test if this is the same as our current theme + //so we just wrap it and hope that if the attribute was specified + //then the user is intentionally specifying an alternate theme. + context = new ContextThemeWrapper(context, outValue.resourceId); + } + return context; + } + + @Override + public ActionMode startActionMode(com.actionbarsherlock.view.ActionMode.Callback callback) { + if (DEBUG) Log.d(TAG, "[startActionMode] callback: " + callback); + + if (mActionMode != null) { + mActionMode.finish(); + } + ActionModeCallbackWrapper wrapped = null; + if (callback != null) { + wrapped = new ActionModeCallbackWrapper(callback); + } + + //Calling this will trigger the callback wrapper's onCreate which + //is where we will set the new instance to mActionMode since we need + //to pass it through to the sherlock callbacks and the call below + //will not have returned yet to store its value. + if (mActivity.startActionMode(wrapped) == null) { + mActionMode = null; + } + if (mActivity instanceof OnActionModeStartedListener && mActionMode != null) { + ((OnActionModeStartedListener)mActivity).onActionModeStarted(mActionMode); + } + + return mActionMode; + } + + private class ActionModeCallbackWrapper implements android.view.ActionMode.Callback { + private final ActionMode.Callback mCallback; + + public ActionModeCallbackWrapper(ActionMode.Callback callback) { + mCallback = callback; + } + + @Override + public boolean onCreateActionMode(android.view.ActionMode mode, android.view.Menu menu) { + //See ActionBarSherlockNative#startActionMode + mActionMode = new ActionModeWrapper(mode); + + return mCallback.onCreateActionMode(mActionMode, mActionMode.getMenu()); + } + + @Override + public boolean onPrepareActionMode(android.view.ActionMode mode, android.view.Menu menu) { + return mCallback.onPrepareActionMode(mActionMode, mActionMode.getMenu()); + } + + @Override + public boolean onActionItemClicked(android.view.ActionMode mode, android.view.MenuItem item) { + return mCallback.onActionItemClicked(mActionMode, mActionMode.getMenu().findItem(item)); + } + + @Override + public void onDestroyActionMode(android.view.ActionMode mode) { + mCallback.onDestroyActionMode(mActionMode); + if (mActivity instanceof OnActionModeFinishedListener) { + ((OnActionModeFinishedListener)mActivity).onActionModeFinished(mActionMode); + } + } + } + + private class ActionModeWrapper extends ActionMode { + private final android.view.ActionMode mActionMode; + private MenuWrapper mMenu = null; + + ActionModeWrapper(android.view.ActionMode actionMode) { + mActionMode = actionMode; + } + + @Override + public void setTitle(CharSequence title) { + mActionMode.setTitle(title); + } + + @Override + public void setTitle(int resId) { + mActionMode.setTitle(resId); + } + + @Override + public void setSubtitle(CharSequence subtitle) { + mActionMode.setSubtitle(subtitle); + } + + @Override + public void setSubtitle(int resId) { + mActionMode.setSubtitle(resId); + } + + @Override + public void setCustomView(View view) { + mActionMode.setCustomView(view); + } + + @Override + public void invalidate() { + mActionMode.invalidate(); + } + + @Override + public void finish() { + mActionMode.finish(); + } + + @Override + public MenuWrapper getMenu() { + if (mMenu == null) { + mMenu = new MenuWrapper(mActionMode.getMenu()); + } + return mMenu; + } + + @Override + public CharSequence getTitle() { + return mActionMode.getTitle(); + } + + @Override + public CharSequence getSubtitle() { + return mActionMode.getSubtitle(); + } + + @Override + public View getCustomView() { + return mActionMode.getCustomView(); + } + + @Override + public MenuInflater getMenuInflater() { + return ActionBarSherlockNative.this.getMenuInflater(); + } + + @Override + public void setTag(Object tag) { + mActionMode.setTag(tag); + } + + @Override + public Object getTag() { + return mActionMode.getTag(); + } + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/ResourcesCompat.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/ResourcesCompat.java new file mode 100644 index 000000000..8e1efe8c5 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/ResourcesCompat.java @@ -0,0 +1,95 @@ +package com.actionbarsherlock.internal; + +import android.content.Context; +import android.os.Build; +import android.util.DisplayMetrics; +import com.actionbarsherlock.R; + +public final class ResourcesCompat { + //No instances + private ResourcesCompat() {} + + + /** + * Support implementation of {@code getResources().getBoolean()} that we + * can use to simulate filtering based on width and smallest width + * qualifiers on pre-3.2. + * + * @param context Context to load booleans from on 3.2+ and to fetch the + * display metrics. + * @param id Id of boolean to load. + * @return Associated boolean value as reflected by the current display + * metrics. + */ + public static boolean getResources_getBoolean(Context context, int id) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR2) { + return context.getResources().getBoolean(id); + } + + DisplayMetrics metrics = context.getResources().getDisplayMetrics(); + float widthDp = metrics.widthPixels / metrics.density; + float heightDp = metrics.heightPixels / metrics.density; + float smallestWidthDp = (widthDp < heightDp) ? widthDp : heightDp; + + if (id == R.bool.abs__action_bar_embed_tabs) { + if (widthDp >= 480) { + return true; //values-w480dp + } + return false; //values + } + if (id == R.bool.abs__split_action_bar_is_narrow) { + if (widthDp >= 480) { + return false; //values-w480dp + } + return true; //values + } + if (id == R.bool.abs__action_bar_expanded_action_views_exclusive) { + if (smallestWidthDp >= 600) { + return false; //values-sw600dp + } + return true; //values + } + if (id == R.bool.abs__config_allowActionMenuItemTextWithIcon) { + if (widthDp >= 480) { + return true; //values-w480dp + } + return false; //values + } + + throw new IllegalArgumentException("Unknown boolean resource ID " + id); + } + + /** + * Support implementation of {@code getResources().getInteger()} that we + * can use to simulate filtering based on width qualifiers on pre-3.2. + * + * @param context Context to load integers from on 3.2+ and to fetch the + * display metrics. + * @param id Id of integer to load. + * @return Associated integer value as reflected by the current display + * metrics. + */ + public static int getResources_getInteger(Context context, int id) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR2) { + return context.getResources().getInteger(id); + } + + DisplayMetrics metrics = context.getResources().getDisplayMetrics(); + float widthDp = metrics.widthPixels / metrics.density; + + if (id == R.integer.abs__max_action_buttons) { + if (widthDp >= 600) { + return 5; //values-w600dp + } + if (widthDp >= 500) { + return 4; //values-w500dp + } + if (widthDp >= 360) { + return 3; //values-w360dp + } + return 2; //values + } + + throw new IllegalArgumentException("Unknown integer resource ID " + id); + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/app/ActionBarImpl.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/app/ActionBarImpl.java new file mode 100644 index 000000000..d022a2465 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/app/ActionBarImpl.java @@ -0,0 +1,1026 @@ +/* + * 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. + */ + +package com.actionbarsherlock.internal.app; + +import java.lang.ref.WeakReference; +import java.util.ArrayList; +import android.app.Activity; +import android.app.Dialog; +import android.content.Context; +import android.content.res.Configuration; +import android.content.res.Resources; +import android.graphics.drawable.Drawable; +import android.os.Build; +import android.os.Handler; +import android.support.v4.app.FragmentActivity; +import android.support.v4.app.FragmentTransaction; +import android.util.TypedValue; +import android.view.ContextThemeWrapper; +import android.view.LayoutInflater; +import android.view.View; +import android.view.Window; +import android.view.accessibility.AccessibilityEvent; +import android.widget.SpinnerAdapter; +import com.actionbarsherlock.R; +import com.actionbarsherlock.app.ActionBar; +import com.actionbarsherlock.internal.nineoldandroids.animation.Animator; +import com.actionbarsherlock.internal.nineoldandroids.animation.AnimatorListenerAdapter; +import com.actionbarsherlock.internal.nineoldandroids.animation.AnimatorSet; +import com.actionbarsherlock.internal.nineoldandroids.animation.ObjectAnimator; +import com.actionbarsherlock.internal.nineoldandroids.animation.Animator.AnimatorListener; +import com.actionbarsherlock.internal.nineoldandroids.widget.NineFrameLayout; +import com.actionbarsherlock.internal.view.menu.MenuBuilder; +import com.actionbarsherlock.internal.view.menu.MenuPopupHelper; +import com.actionbarsherlock.internal.view.menu.SubMenuBuilder; +import com.actionbarsherlock.internal.widget.ActionBarContainer; +import com.actionbarsherlock.internal.widget.ActionBarContextView; +import com.actionbarsherlock.internal.widget.ActionBarView; +import com.actionbarsherlock.internal.widget.ScrollingTabContainerView; +import com.actionbarsherlock.view.ActionMode; +import com.actionbarsherlock.view.Menu; +import com.actionbarsherlock.view.MenuInflater; +import com.actionbarsherlock.view.MenuItem; +import static com.actionbarsherlock.internal.ResourcesCompat.getResources_getBoolean; + +/** + * ActionBarImpl is the ActionBar implementation used + * by devices of all screen sizes. If it detects a compatible decor, + * it will split contextual modes across both the ActionBarView at + * the top of the screen and a horizontal LinearLayout at the bottom + * which is normally hidden. + */ +public class ActionBarImpl extends ActionBar { + //UNUSED private static final String TAG = "ActionBarImpl"; + + private Context mContext; + private Context mThemedContext; + private Activity mActivity; + //UNUSED private Dialog mDialog; + + private ActionBarContainer mContainerView; + private ActionBarView mActionView; + private ActionBarContextView mContextView; + private ActionBarContainer mSplitView; + private NineFrameLayout mContentView; + private ScrollingTabContainerView mTabScrollView; + + private ArrayList mTabs = new ArrayList(); + + private TabImpl mSelectedTab; + private int mSavedTabPosition = INVALID_POSITION; + + ActionModeImpl mActionMode; + ActionMode mDeferredDestroyActionMode; + ActionMode.Callback mDeferredModeDestroyCallback; + + private boolean mLastMenuVisibility; + private ArrayList mMenuVisibilityListeners = + new ArrayList(); + + private static final int CONTEXT_DISPLAY_NORMAL = 0; + private static final int CONTEXT_DISPLAY_SPLIT = 1; + + private static final int INVALID_POSITION = -1; + + private int mContextDisplayMode; + private boolean mHasEmbeddedTabs; + + final Handler mHandler = new Handler(); + Runnable mTabSelector; + + private Animator mCurrentShowAnim; + private Animator mCurrentModeAnim; + private boolean mShowHideAnimationEnabled; + boolean mWasHiddenBeforeMode; + + final AnimatorListener mHideListener = new AnimatorListenerAdapter() { + @Override + public void onAnimationEnd(Animator animation) { + if (mContentView != null) { + mContentView.setTranslationY(0); + mContainerView.setTranslationY(0); + } + if (mSplitView != null && mContextDisplayMode == CONTEXT_DISPLAY_SPLIT) { + mSplitView.setVisibility(View.GONE); + } + mContainerView.setVisibility(View.GONE); + mContainerView.setTransitioning(false); + mCurrentShowAnim = null; + completeDeferredDestroyActionMode(); + } + }; + + final AnimatorListener mShowListener = new AnimatorListenerAdapter() { + @Override + public void onAnimationEnd(Animator animation) { + mCurrentShowAnim = null; + mContainerView.requestLayout(); + } + }; + + public ActionBarImpl(Activity activity, int features) { + mActivity = activity; + Window window = activity.getWindow(); + View decor = window.getDecorView(); + init(decor); + + //window.hasFeature() workaround for pre-3.0 + if ((features & (1 << Window.FEATURE_ACTION_BAR_OVERLAY)) == 0) { + mContentView = (NineFrameLayout)decor.findViewById(android.R.id.content); + } + } + + public ActionBarImpl(Dialog dialog) { + //UNUSED mDialog = dialog; + init(dialog.getWindow().getDecorView()); + } + + private void init(View decor) { + mContext = decor.getContext(); + mActionView = (ActionBarView) decor.findViewById(R.id.abs__action_bar); + mContextView = (ActionBarContextView) decor.findViewById( + R.id.abs__action_context_bar); + mContainerView = (ActionBarContainer) decor.findViewById( + R.id.abs__action_bar_container); + mSplitView = (ActionBarContainer) decor.findViewById( + R.id.abs__split_action_bar); + + if (mActionView == null || mContextView == null || mContainerView == null) { + throw new IllegalStateException(getClass().getSimpleName() + " can only be used " + + "with a compatible window decor layout"); + } + + mActionView.setContextView(mContextView); + mContextDisplayMode = mActionView.isSplitActionBar() ? + CONTEXT_DISPLAY_SPLIT : CONTEXT_DISPLAY_NORMAL; + + // Older apps get the home button interaction enabled by default. + // Newer apps need to enable it explicitly. + setHomeButtonEnabled(mContext.getApplicationInfo().targetSdkVersion < 14); + + setHasEmbeddedTabs(getResources_getBoolean(mContext, + R.bool.abs__action_bar_embed_tabs)); + } + + public void onConfigurationChanged(Configuration newConfig) { + setHasEmbeddedTabs(getResources_getBoolean(mContext, + R.bool.abs__action_bar_embed_tabs)); + + //Manually dispatch a configuration change to the action bar view on pre-2.2 + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.FROYO) { + mActionView.onConfigurationChanged(newConfig); + if (mContextView != null) { + mContextView.onConfigurationChanged(newConfig); + } + } + } + + private void setHasEmbeddedTabs(boolean hasEmbeddedTabs) { + mHasEmbeddedTabs = hasEmbeddedTabs; + // Switch tab layout configuration if needed + if (!mHasEmbeddedTabs) { + mActionView.setEmbeddedTabView(null); + mContainerView.setTabContainer(mTabScrollView); + } else { + mContainerView.setTabContainer(null); + mActionView.setEmbeddedTabView(mTabScrollView); + } + final boolean isInTabMode = getNavigationMode() == NAVIGATION_MODE_TABS; + if (mTabScrollView != null) { + mTabScrollView.setVisibility(isInTabMode ? View.VISIBLE : View.GONE); + } + mActionView.setCollapsable(!mHasEmbeddedTabs && isInTabMode); + } + + private void ensureTabsExist() { + if (mTabScrollView != null) { + return; + } + + ScrollingTabContainerView tabScroller = new ScrollingTabContainerView(mContext); + + if (mHasEmbeddedTabs) { + tabScroller.setVisibility(View.VISIBLE); + mActionView.setEmbeddedTabView(tabScroller); + } else { + tabScroller.setVisibility(getNavigationMode() == NAVIGATION_MODE_TABS ? + View.VISIBLE : View.GONE); + mContainerView.setTabContainer(tabScroller); + } + mTabScrollView = tabScroller; + } + + void completeDeferredDestroyActionMode() { + if (mDeferredModeDestroyCallback != null) { + mDeferredModeDestroyCallback.onDestroyActionMode(mDeferredDestroyActionMode); + mDeferredDestroyActionMode = null; + mDeferredModeDestroyCallback = null; + } + } + + /** + * Enables or disables animation between show/hide states. + * If animation is disabled using this method, animations in progress + * will be finished. + * + * @param enabled true to animate, false to not animate. + */ + public void setShowHideAnimationEnabled(boolean enabled) { + mShowHideAnimationEnabled = enabled; + if (!enabled && mCurrentShowAnim != null) { + mCurrentShowAnim.end(); + } + } + + public void addOnMenuVisibilityListener(OnMenuVisibilityListener listener) { + mMenuVisibilityListeners.add(listener); + } + + public void removeOnMenuVisibilityListener(OnMenuVisibilityListener listener) { + mMenuVisibilityListeners.remove(listener); + } + + public void dispatchMenuVisibilityChanged(boolean isVisible) { + if (isVisible == mLastMenuVisibility) { + return; + } + mLastMenuVisibility = isVisible; + + final int count = mMenuVisibilityListeners.size(); + for (int i = 0; i < count; i++) { + mMenuVisibilityListeners.get(i).onMenuVisibilityChanged(isVisible); + } + } + + @Override + public void setCustomView(int resId) { + setCustomView(LayoutInflater.from(getThemedContext()).inflate(resId, mActionView, false)); + } + + @Override + public void setDisplayUseLogoEnabled(boolean useLogo) { + setDisplayOptions(useLogo ? DISPLAY_USE_LOGO : 0, DISPLAY_USE_LOGO); + } + + @Override + public void setDisplayShowHomeEnabled(boolean showHome) { + setDisplayOptions(showHome ? DISPLAY_SHOW_HOME : 0, DISPLAY_SHOW_HOME); + } + + @Override + public void setDisplayHomeAsUpEnabled(boolean showHomeAsUp) { + setDisplayOptions(showHomeAsUp ? DISPLAY_HOME_AS_UP : 0, DISPLAY_HOME_AS_UP); + } + + @Override + public void setDisplayShowTitleEnabled(boolean showTitle) { + setDisplayOptions(showTitle ? DISPLAY_SHOW_TITLE : 0, DISPLAY_SHOW_TITLE); + } + + @Override + public void setDisplayShowCustomEnabled(boolean showCustom) { + setDisplayOptions(showCustom ? DISPLAY_SHOW_CUSTOM : 0, DISPLAY_SHOW_CUSTOM); + } + + @Override + public void setHomeButtonEnabled(boolean enable) { + mActionView.setHomeButtonEnabled(enable); + } + + @Override + public void setTitle(int resId) { + setTitle(mContext.getString(resId)); + } + + @Override + public void setSubtitle(int resId) { + setSubtitle(mContext.getString(resId)); + } + + public void setSelectedNavigationItem(int position) { + switch (mActionView.getNavigationMode()) { + case NAVIGATION_MODE_TABS: + selectTab(mTabs.get(position)); + break; + case NAVIGATION_MODE_LIST: + mActionView.setDropdownSelectedPosition(position); + break; + default: + throw new IllegalStateException( + "setSelectedNavigationIndex not valid for current navigation mode"); + } + } + + public void removeAllTabs() { + cleanupTabs(); + } + + private void cleanupTabs() { + if (mSelectedTab != null) { + selectTab(null); + } + mTabs.clear(); + if (mTabScrollView != null) { + mTabScrollView.removeAllTabs(); + } + mSavedTabPosition = INVALID_POSITION; + } + + public void setTitle(CharSequence title) { + mActionView.setTitle(title); + } + + public void setSubtitle(CharSequence subtitle) { + mActionView.setSubtitle(subtitle); + } + + public void setDisplayOptions(int options) { + mActionView.setDisplayOptions(options); + } + + public void setDisplayOptions(int options, int mask) { + final int current = mActionView.getDisplayOptions(); + mActionView.setDisplayOptions((options & mask) | (current & ~mask)); + } + + public void setBackgroundDrawable(Drawable d) { + mContainerView.setPrimaryBackground(d); + } + + public void setStackedBackgroundDrawable(Drawable d) { + mContainerView.setStackedBackground(d); + } + + public void setSplitBackgroundDrawable(Drawable d) { + if (mSplitView != null) { + mSplitView.setSplitBackground(d); + } + } + + public View getCustomView() { + return mActionView.getCustomNavigationView(); + } + + public CharSequence getTitle() { + return mActionView.getTitle(); + } + + public CharSequence getSubtitle() { + return mActionView.getSubtitle(); + } + + public int getNavigationMode() { + return mActionView.getNavigationMode(); + } + + public int getDisplayOptions() { + return mActionView.getDisplayOptions(); + } + + public ActionMode startActionMode(ActionMode.Callback callback) { + boolean wasHidden = false; + if (mActionMode != null) { + wasHidden = mWasHiddenBeforeMode; + mActionMode.finish(); + } + + mContextView.killMode(); + ActionModeImpl mode = new ActionModeImpl(callback); + if (mode.dispatchOnCreate()) { + mWasHiddenBeforeMode = !isShowing() || wasHidden; + mode.invalidate(); + mContextView.initForMode(mode); + animateToMode(true); + if (mSplitView != null && mContextDisplayMode == CONTEXT_DISPLAY_SPLIT) { + // TODO animate this + mSplitView.setVisibility(View.VISIBLE); + } + mContextView.sendAccessibilityEvent(AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED); + mActionMode = mode; + return mode; + } + return null; + } + + private void configureTab(Tab tab, int position) { + final TabImpl tabi = (TabImpl) tab; + final ActionBar.TabListener callback = tabi.getCallback(); + + if (callback == null) { + throw new IllegalStateException("Action Bar Tab must have a Callback"); + } + + tabi.setPosition(position); + mTabs.add(position, tabi); + + final int count = mTabs.size(); + for (int i = position + 1; i < count; i++) { + mTabs.get(i).setPosition(i); + } + } + + @Override + public void addTab(Tab tab) { + addTab(tab, mTabs.isEmpty()); + } + + @Override + public void addTab(Tab tab, int position) { + addTab(tab, position, mTabs.isEmpty()); + } + + @Override + public void addTab(Tab tab, boolean setSelected) { + ensureTabsExist(); + mTabScrollView.addTab(tab, setSelected); + configureTab(tab, mTabs.size()); + if (setSelected) { + selectTab(tab); + } + } + + @Override + public void addTab(Tab tab, int position, boolean setSelected) { + ensureTabsExist(); + mTabScrollView.addTab(tab, position, setSelected); + configureTab(tab, position); + if (setSelected) { + selectTab(tab); + } + } + + @Override + public Tab newTab() { + return new TabImpl(); + } + + @Override + public void removeTab(Tab tab) { + removeTabAt(tab.getPosition()); + } + + @Override + public void removeTabAt(int position) { + if (mTabScrollView == null) { + // No tabs around to remove + return; + } + + int selectedTabPosition = mSelectedTab != null + ? mSelectedTab.getPosition() : mSavedTabPosition; + mTabScrollView.removeTabAt(position); + TabImpl removedTab = mTabs.remove(position); + if (removedTab != null) { + removedTab.setPosition(-1); + } + + final int newTabCount = mTabs.size(); + for (int i = position; i < newTabCount; i++) { + mTabs.get(i).setPosition(i); + } + + if (selectedTabPosition == position) { + selectTab(mTabs.isEmpty() ? null : mTabs.get(Math.max(0, position - 1))); + } + } + + @Override + public void selectTab(Tab tab) { + if (getNavigationMode() != NAVIGATION_MODE_TABS) { + mSavedTabPosition = tab != null ? tab.getPosition() : INVALID_POSITION; + return; + } + + FragmentTransaction trans = null; + if (mActivity instanceof FragmentActivity) { + trans = ((FragmentActivity)mActivity).getSupportFragmentManager().beginTransaction() + .disallowAddToBackStack(); + } + + if (mSelectedTab == tab) { + if (mSelectedTab != null) { + mSelectedTab.getCallback().onTabReselected(mSelectedTab, trans); + mTabScrollView.animateToTab(tab.getPosition()); + } + } else { + mTabScrollView.setTabSelected(tab != null ? tab.getPosition() : Tab.INVALID_POSITION); + if (mSelectedTab != null) { + mSelectedTab.getCallback().onTabUnselected(mSelectedTab, trans); + } + mSelectedTab = (TabImpl) tab; + if (mSelectedTab != null) { + mSelectedTab.getCallback().onTabSelected(mSelectedTab, trans); + } + } + + if (trans != null && !trans.isEmpty()) { + trans.commit(); + } + } + + @Override + public Tab getSelectedTab() { + return mSelectedTab; + } + + @Override + public int getHeight() { + return mContainerView.getHeight(); + } + + @Override + public void show() { + show(true); + } + + void show(boolean markHiddenBeforeMode) { + if (mCurrentShowAnim != null) { + mCurrentShowAnim.end(); + } + if (mContainerView.getVisibility() == View.VISIBLE) { + if (markHiddenBeforeMode) mWasHiddenBeforeMode = false; + return; + } + mContainerView.setVisibility(View.VISIBLE); + + if (mShowHideAnimationEnabled) { + mContainerView.setAlpha(0); + AnimatorSet anim = new AnimatorSet(); + AnimatorSet.Builder b = anim.play(ObjectAnimator.ofFloat(mContainerView, "alpha", 1)); + if (mContentView != null) { + b.with(ObjectAnimator.ofFloat(mContentView, "translationY", + -mContainerView.getHeight(), 0)); + mContainerView.setTranslationY(-mContainerView.getHeight()); + b.with(ObjectAnimator.ofFloat(mContainerView, "translationY", 0)); + } + if (mSplitView != null && mContextDisplayMode == CONTEXT_DISPLAY_SPLIT) { + mSplitView.setAlpha(0); + mSplitView.setVisibility(View.VISIBLE); + b.with(ObjectAnimator.ofFloat(mSplitView, "alpha", 1)); + } + anim.addListener(mShowListener); + mCurrentShowAnim = anim; + anim.start(); + } else { + mContainerView.setAlpha(1); + mContainerView.setTranslationY(0); + mShowListener.onAnimationEnd(null); + } + } + + @Override + public void hide() { + if (mCurrentShowAnim != null) { + mCurrentShowAnim.end(); + } + if (mContainerView.getVisibility() == View.GONE) { + return; + } + + if (mShowHideAnimationEnabled) { + mContainerView.setAlpha(1); + mContainerView.setTransitioning(true); + AnimatorSet anim = new AnimatorSet(); + AnimatorSet.Builder b = anim.play(ObjectAnimator.ofFloat(mContainerView, "alpha", 0)); + if (mContentView != null) { + b.with(ObjectAnimator.ofFloat(mContentView, "translationY", + 0, -mContainerView.getHeight())); + b.with(ObjectAnimator.ofFloat(mContainerView, "translationY", + -mContainerView.getHeight())); + } + if (mSplitView != null && mSplitView.getVisibility() == View.VISIBLE) { + mSplitView.setAlpha(1); + b.with(ObjectAnimator.ofFloat(mSplitView, "alpha", 0)); + } + anim.addListener(mHideListener); + mCurrentShowAnim = anim; + anim.start(); + } else { + mHideListener.onAnimationEnd(null); + } + } + + public boolean isShowing() { + return mContainerView.getVisibility() == View.VISIBLE; + } + + void animateToMode(boolean toActionMode) { + if (toActionMode) { + show(false); + } + if (mCurrentModeAnim != null) { + mCurrentModeAnim.end(); + } + + mActionView.animateToVisibility(toActionMode ? View.GONE : View.VISIBLE); + mContextView.animateToVisibility(toActionMode ? View.VISIBLE : View.GONE); + if (mTabScrollView != null && !mActionView.hasEmbeddedTabs() && mActionView.isCollapsed()) { + mTabScrollView.animateToVisibility(toActionMode ? View.GONE : View.VISIBLE); + } + } + + public Context getThemedContext() { + if (mThemedContext == null) { + TypedValue outValue = new TypedValue(); + Resources.Theme currentTheme = mContext.getTheme(); + currentTheme.resolveAttribute(R.attr.actionBarWidgetTheme, + outValue, true); + final int targetThemeRes = outValue.resourceId; + + if (targetThemeRes != 0) { //XXX && mContext.getThemeResId() != targetThemeRes) { + mThemedContext = new ContextThemeWrapper(mContext, targetThemeRes); + } else { + mThemedContext = mContext; + } + } + return mThemedContext; + } + + /** + * @hide + */ + public class ActionModeImpl extends ActionMode implements MenuBuilder.Callback { + private ActionMode.Callback mCallback; + private MenuBuilder mMenu; + private WeakReference mCustomView; + + public ActionModeImpl(ActionMode.Callback callback) { + mCallback = callback; + mMenu = new MenuBuilder(getThemedContext()) + .setDefaultShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM); + mMenu.setCallback(this); + } + + @Override + public MenuInflater getMenuInflater() { + return new MenuInflater(getThemedContext()); + } + + @Override + public Menu getMenu() { + return mMenu; + } + + @Override + public void finish() { + if (mActionMode != this) { + // Not the active action mode - no-op + return; + } + + // If we were hidden before the mode was shown, defer the onDestroy + // callback until the animation is finished and associated relayout + // is about to happen. This lets apps better anticipate visibility + // and layout behavior. + if (mWasHiddenBeforeMode) { + mDeferredDestroyActionMode = this; + mDeferredModeDestroyCallback = mCallback; + } else { + mCallback.onDestroyActionMode(this); + } + mCallback = null; + animateToMode(false); + + // Clear out the context mode views after the animation finishes + mContextView.closeMode(); + mActionView.sendAccessibilityEvent(AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED); + + mActionMode = null; + + if (mWasHiddenBeforeMode) { + hide(); + } + } + + @Override + public void invalidate() { + mMenu.stopDispatchingItemsChanged(); + try { + mCallback.onPrepareActionMode(this, mMenu); + } finally { + mMenu.startDispatchingItemsChanged(); + } + } + + public boolean dispatchOnCreate() { + mMenu.stopDispatchingItemsChanged(); + try { + return mCallback.onCreateActionMode(this, mMenu); + } finally { + mMenu.startDispatchingItemsChanged(); + } + } + + @Override + public void setCustomView(View view) { + mContextView.setCustomView(view); + mCustomView = new WeakReference(view); + } + + @Override + public void setSubtitle(CharSequence subtitle) { + mContextView.setSubtitle(subtitle); + } + + @Override + public void setTitle(CharSequence title) { + mContextView.setTitle(title); + } + + @Override + public void setTitle(int resId) { + setTitle(mContext.getResources().getString(resId)); + } + + @Override + public void setSubtitle(int resId) { + setSubtitle(mContext.getResources().getString(resId)); + } + + @Override + public CharSequence getTitle() { + return mContextView.getTitle(); + } + + @Override + public CharSequence getSubtitle() { + return mContextView.getSubtitle(); + } + + @Override + public View getCustomView() { + return mCustomView != null ? mCustomView.get() : null; + } + + public boolean onMenuItemSelected(MenuBuilder menu, MenuItem item) { + if (mCallback != null) { + return mCallback.onActionItemClicked(this, item); + } else { + return false; + } + } + + public void onCloseMenu(MenuBuilder menu, boolean allMenusAreClosing) { + } + + public boolean onSubMenuSelected(SubMenuBuilder subMenu) { + if (mCallback == null) { + return false; + } + + if (!subMenu.hasVisibleItems()) { + return true; + } + + new MenuPopupHelper(getThemedContext(), subMenu).show(); + return true; + } + + public void onCloseSubMenu(SubMenuBuilder menu) { + } + + public void onMenuModeChange(MenuBuilder menu) { + if (mCallback == null) { + return; + } + invalidate(); + mContextView.showOverflowMenu(); + } + } + + /** + * @hide + */ + public class TabImpl extends ActionBar.Tab { + private ActionBar.TabListener mCallback; + private Object mTag; + private Drawable mIcon; + private CharSequence mText; + private CharSequence mContentDesc; + private int mPosition = -1; + private View mCustomView; + + @Override + public Object getTag() { + return mTag; + } + + @Override + public Tab setTag(Object tag) { + mTag = tag; + return this; + } + + public ActionBar.TabListener getCallback() { + return mCallback; + } + + @Override + public Tab setTabListener(ActionBar.TabListener callback) { + mCallback = callback; + return this; + } + + @Override + public View getCustomView() { + return mCustomView; + } + + @Override + public Tab setCustomView(View view) { + mCustomView = view; + if (mPosition >= 0) { + mTabScrollView.updateTab(mPosition); + } + return this; + } + + @Override + public Tab setCustomView(int layoutResId) { + return setCustomView(LayoutInflater.from(getThemedContext()) + .inflate(layoutResId, null)); + } + + @Override + public Drawable getIcon() { + return mIcon; + } + + @Override + public int getPosition() { + return mPosition; + } + + public void setPosition(int position) { + mPosition = position; + } + + @Override + public CharSequence getText() { + return mText; + } + + @Override + public Tab setIcon(Drawable icon) { + mIcon = icon; + if (mPosition >= 0) { + mTabScrollView.updateTab(mPosition); + } + return this; + } + + @Override + public Tab setIcon(int resId) { + return setIcon(mContext.getResources().getDrawable(resId)); + } + + @Override + public Tab setText(CharSequence text) { + mText = text; + if (mPosition >= 0) { + mTabScrollView.updateTab(mPosition); + } + return this; + } + + @Override + public Tab setText(int resId) { + return setText(mContext.getResources().getText(resId)); + } + + @Override + public void select() { + selectTab(this); + } + + @Override + public Tab setContentDescription(int resId) { + return setContentDescription(mContext.getResources().getText(resId)); + } + + @Override + public Tab setContentDescription(CharSequence contentDesc) { + mContentDesc = contentDesc; + if (mPosition >= 0) { + mTabScrollView.updateTab(mPosition); + } + return this; + } + + @Override + public CharSequence getContentDescription() { + return mContentDesc; + } + } + + @Override + public void setCustomView(View view) { + mActionView.setCustomNavigationView(view); + } + + @Override + public void setCustomView(View view, LayoutParams layoutParams) { + view.setLayoutParams(layoutParams); + mActionView.setCustomNavigationView(view); + } + + @Override + public void setListNavigationCallbacks(SpinnerAdapter adapter, OnNavigationListener callback) { + mActionView.setDropdownAdapter(adapter); + mActionView.setCallback(callback); + } + + @Override + public int getSelectedNavigationIndex() { + switch (mActionView.getNavigationMode()) { + case NAVIGATION_MODE_TABS: + return mSelectedTab != null ? mSelectedTab.getPosition() : -1; + case NAVIGATION_MODE_LIST: + return mActionView.getDropdownSelectedPosition(); + default: + return -1; + } + } + + @Override + public int getNavigationItemCount() { + switch (mActionView.getNavigationMode()) { + case NAVIGATION_MODE_TABS: + return mTabs.size(); + case NAVIGATION_MODE_LIST: + SpinnerAdapter adapter = mActionView.getDropdownAdapter(); + return adapter != null ? adapter.getCount() : 0; + default: + return 0; + } + } + + @Override + public int getTabCount() { + return mTabs.size(); + } + + @Override + public void setNavigationMode(int mode) { + final int oldMode = mActionView.getNavigationMode(); + switch (oldMode) { + case NAVIGATION_MODE_TABS: + mSavedTabPosition = getSelectedNavigationIndex(); + selectTab(null); + mTabScrollView.setVisibility(View.GONE); + break; + } + mActionView.setNavigationMode(mode); + switch (mode) { + case NAVIGATION_MODE_TABS: + ensureTabsExist(); + mTabScrollView.setVisibility(View.VISIBLE); + if (mSavedTabPosition != INVALID_POSITION) { + setSelectedNavigationItem(mSavedTabPosition); + mSavedTabPosition = INVALID_POSITION; + } + break; + } + mActionView.setCollapsable(mode == NAVIGATION_MODE_TABS && !mHasEmbeddedTabs); + } + + @Override + public Tab getTabAt(int index) { + return mTabs.get(index); + } + + + @Override + public void setIcon(int resId) { + mActionView.setIcon(resId); + } + + @Override + public void setIcon(Drawable icon) { + mActionView.setIcon(icon); + } + + @Override + public void setLogo(int resId) { + mActionView.setLogo(resId); + } + + @Override + public void setLogo(Drawable logo) { + mActionView.setLogo(logo); + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/app/ActionBarWrapper.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/app/ActionBarWrapper.java new file mode 100644 index 000000000..840cb3d27 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/app/ActionBarWrapper.java @@ -0,0 +1,468 @@ +package com.actionbarsherlock.internal.app; + +import java.util.HashSet; +import java.util.Set; + +import android.app.Activity; +import android.content.Context; +import android.graphics.drawable.Drawable; +import android.support.v4.app.FragmentActivity; +import android.support.v4.app.FragmentTransaction; +import android.view.View; +import android.widget.SpinnerAdapter; + +import com.actionbarsherlock.app.ActionBar; + +public class ActionBarWrapper extends ActionBar implements android.app.ActionBar.OnNavigationListener, android.app.ActionBar.OnMenuVisibilityListener { + private final Activity mActivity; + private final android.app.ActionBar mActionBar; + private ActionBar.OnNavigationListener mNavigationListener; + private Set mMenuVisibilityListeners = new HashSet(1); + private FragmentTransaction mFragmentTransaction; + + + public ActionBarWrapper(Activity activity) { + mActivity = activity; + mActionBar = activity.getActionBar(); + if (mActionBar != null) { + mActionBar.addOnMenuVisibilityListener(this); + } + } + + + @Override + public void setHomeButtonEnabled(boolean enabled) { + mActionBar.setHomeButtonEnabled(enabled); + } + + @Override + public Context getThemedContext() { + return mActionBar.getThemedContext(); + } + + @Override + public void setCustomView(View view) { + mActionBar.setCustomView(view); + } + + @Override + public void setCustomView(View view, LayoutParams layoutParams) { + android.app.ActionBar.LayoutParams lp = new android.app.ActionBar.LayoutParams(layoutParams); + lp.gravity = layoutParams.gravity; + lp.bottomMargin = layoutParams.bottomMargin; + lp.topMargin = layoutParams.topMargin; + lp.leftMargin = layoutParams.leftMargin; + lp.rightMargin = layoutParams.rightMargin; + mActionBar.setCustomView(view, lp); + } + + @Override + public void setCustomView(int resId) { + mActionBar.setCustomView(resId); + } + + @Override + public void setIcon(int resId) { + mActionBar.setIcon(resId); + } + + @Override + public void setIcon(Drawable icon) { + mActionBar.setIcon(icon); + } + + @Override + public void setLogo(int resId) { + mActionBar.setLogo(resId); + } + + @Override + public void setLogo(Drawable logo) { + mActionBar.setLogo(logo); + } + + @Override + public void setListNavigationCallbacks(SpinnerAdapter adapter, OnNavigationListener callback) { + mNavigationListener = callback; + mActionBar.setListNavigationCallbacks(adapter, (callback != null) ? this : null); + } + + @Override + public boolean onNavigationItemSelected(int itemPosition, long itemId) { + //This should never be a NullPointerException since we only set + //ourselves as the listener when the callback is not null. + return mNavigationListener.onNavigationItemSelected(itemPosition, itemId); + } + + @Override + public void setSelectedNavigationItem(int position) { + mActionBar.setSelectedNavigationItem(position); + } + + @Override + public int getSelectedNavigationIndex() { + return mActionBar.getSelectedNavigationIndex(); + } + + @Override + public int getNavigationItemCount() { + return mActionBar.getNavigationItemCount(); + } + + @Override + public void setTitle(CharSequence title) { + mActionBar.setTitle(title); + } + + @Override + public void setTitle(int resId) { + mActionBar.setTitle(resId); + } + + @Override + public void setSubtitle(CharSequence subtitle) { + mActionBar.setSubtitle(subtitle); + } + + @Override + public void setSubtitle(int resId) { + mActionBar.setSubtitle(resId); + } + + @Override + public void setDisplayOptions(int options) { + mActionBar.setDisplayOptions(options); + } + + @Override + public void setDisplayOptions(int options, int mask) { + mActionBar.setDisplayOptions(options, mask); + } + + @Override + public void setDisplayUseLogoEnabled(boolean useLogo) { + mActionBar.setDisplayUseLogoEnabled(useLogo); + } + + @Override + public void setDisplayShowHomeEnabled(boolean showHome) { + mActionBar.setDisplayShowHomeEnabled(showHome); + } + + @Override + public void setDisplayHomeAsUpEnabled(boolean showHomeAsUp) { + mActionBar.setDisplayHomeAsUpEnabled(showHomeAsUp); + } + + @Override + public void setDisplayShowTitleEnabled(boolean showTitle) { + mActionBar.setDisplayShowTitleEnabled(showTitle); + } + + @Override + public void setDisplayShowCustomEnabled(boolean showCustom) { + mActionBar.setDisplayShowCustomEnabled(showCustom); + } + + @Override + public void setBackgroundDrawable(Drawable d) { + mActionBar.setBackgroundDrawable(d); + } + + @Override + public void setStackedBackgroundDrawable(Drawable d) { + mActionBar.setStackedBackgroundDrawable(d); + } + + @Override + public void setSplitBackgroundDrawable(Drawable d) { + mActionBar.setSplitBackgroundDrawable(d); + } + + @Override + public View getCustomView() { + return mActionBar.getCustomView(); + } + + @Override + public CharSequence getTitle() { + return mActionBar.getTitle(); + } + + @Override + public CharSequence getSubtitle() { + return mActionBar.getSubtitle(); + } + + @Override + public int getNavigationMode() { + return mActionBar.getNavigationMode(); + } + + @Override + public void setNavigationMode(int mode) { + mActionBar.setNavigationMode(mode); + } + + @Override + public int getDisplayOptions() { + return mActionBar.getDisplayOptions(); + } + + public class TabWrapper extends ActionBar.Tab implements android.app.ActionBar.TabListener { + final android.app.ActionBar.Tab mNativeTab; + private Object mTag; + private TabListener mListener; + + public TabWrapper(android.app.ActionBar.Tab nativeTab) { + mNativeTab = nativeTab; + mNativeTab.setTag(this); + } + + @Override + public int getPosition() { + return mNativeTab.getPosition(); + } + + @Override + public Drawable getIcon() { + return mNativeTab.getIcon(); + } + + @Override + public CharSequence getText() { + return mNativeTab.getText(); + } + + @Override + public Tab setIcon(Drawable icon) { + mNativeTab.setIcon(icon); + return this; + } + + @Override + public Tab setIcon(int resId) { + mNativeTab.setIcon(resId); + return this; + } + + @Override + public Tab setText(CharSequence text) { + mNativeTab.setText(text); + return this; + } + + @Override + public Tab setText(int resId) { + mNativeTab.setText(resId); + return this; + } + + @Override + public Tab setCustomView(View view) { + mNativeTab.setCustomView(view); + return this; + } + + @Override + public Tab setCustomView(int layoutResId) { + mNativeTab.setCustomView(layoutResId); + return this; + } + + @Override + public View getCustomView() { + return mNativeTab.getCustomView(); + } + + @Override + public Tab setTag(Object obj) { + mTag = obj; + return this; + } + + @Override + public Object getTag() { + return mTag; + } + + @Override + public Tab setTabListener(TabListener listener) { + mNativeTab.setTabListener(listener != null ? this : null); + mListener = listener; + return this; + } + + @Override + public void select() { + mNativeTab.select(); + } + + @Override + public Tab setContentDescription(int resId) { + mNativeTab.setContentDescription(resId); + return this; + } + + @Override + public Tab setContentDescription(CharSequence contentDesc) { + mNativeTab.setContentDescription(contentDesc); + return this; + } + + @Override + public CharSequence getContentDescription() { + return mNativeTab.getContentDescription(); + } + + @Override + public void onTabReselected(android.app.ActionBar.Tab tab, android.app.FragmentTransaction ft) { + if (mListener != null) { + FragmentTransaction trans = null; + if (mActivity instanceof FragmentActivity) { + trans = ((FragmentActivity)mActivity).getSupportFragmentManager().beginTransaction() + .disallowAddToBackStack(); + } + + mListener.onTabReselected(this, trans); + + if (trans != null && !trans.isEmpty()) { + trans.commit(); + } + } + } + + @Override + public void onTabSelected(android.app.ActionBar.Tab tab, android.app.FragmentTransaction ft) { + if (mListener != null) { + + if (mFragmentTransaction == null && mActivity instanceof FragmentActivity) { + mFragmentTransaction = ((FragmentActivity)mActivity).getSupportFragmentManager().beginTransaction() + .disallowAddToBackStack(); + } + + mListener.onTabSelected(this, mFragmentTransaction); + + if (mFragmentTransaction != null) { + if (!mFragmentTransaction.isEmpty()) { + mFragmentTransaction.commit(); + } + mFragmentTransaction = null; + } + } + } + + @Override + public void onTabUnselected(android.app.ActionBar.Tab tab, android.app.FragmentTransaction ft) { + if (mListener != null) { + FragmentTransaction trans = null; + if (mActivity instanceof FragmentActivity) { + trans = ((FragmentActivity)mActivity).getSupportFragmentManager().beginTransaction() + .disallowAddToBackStack(); + mFragmentTransaction = trans; + } + + mListener.onTabUnselected(this, trans); + } + } + } + + @Override + public Tab newTab() { + return new TabWrapper(mActionBar.newTab()); + } + + @Override + public void addTab(Tab tab) { + mActionBar.addTab(((TabWrapper)tab).mNativeTab); + } + + @Override + public void addTab(Tab tab, boolean setSelected) { + mActionBar.addTab(((TabWrapper)tab).mNativeTab, setSelected); + } + + @Override + public void addTab(Tab tab, int position) { + mActionBar.addTab(((TabWrapper)tab).mNativeTab, position); + } + + @Override + public void addTab(Tab tab, int position, boolean setSelected) { + mActionBar.addTab(((TabWrapper)tab).mNativeTab, position, setSelected); + } + + @Override + public void removeTab(Tab tab) { + mActionBar.removeTab(((TabWrapper)tab).mNativeTab); + } + + @Override + public void removeTabAt(int position) { + mActionBar.removeTabAt(position); + } + + @Override + public void removeAllTabs() { + mActionBar.removeAllTabs(); + } + + @Override + public void selectTab(Tab tab) { + mActionBar.selectTab(((TabWrapper)tab).mNativeTab); + } + + @Override + public Tab getSelectedTab() { + android.app.ActionBar.Tab selected = mActionBar.getSelectedTab(); + return (selected != null) ? (Tab)selected.getTag() : null; + } + + @Override + public Tab getTabAt(int index) { + android.app.ActionBar.Tab selected = mActionBar.getTabAt(index); + return (selected != null) ? (Tab)selected.getTag() : null; + } + + @Override + public int getTabCount() { + return mActionBar.getTabCount(); + } + + @Override + public int getHeight() { + return mActionBar.getHeight(); + } + + @Override + public void show() { + mActionBar.show(); + } + + @Override + public void hide() { + mActionBar.hide(); + } + + @Override + public boolean isShowing() { + return mActionBar.isShowing(); + } + + @Override + public void addOnMenuVisibilityListener(OnMenuVisibilityListener listener) { + mMenuVisibilityListeners.add(listener); + } + + @Override + public void removeOnMenuVisibilityListener(OnMenuVisibilityListener listener) { + mMenuVisibilityListeners.remove(listener); + } + + @Override + public void onMenuVisibilityChanged(boolean isVisible) { + for (OnMenuVisibilityListener listener : mMenuVisibilityListeners) { + listener.onMenuVisibilityChanged(isVisible); + } + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/animation/Animator.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/animation/Animator.java new file mode 100644 index 000000000..2caf5b4a9 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/animation/Animator.java @@ -0,0 +1,278 @@ +/* + * 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. + */ + +package com.actionbarsherlock.internal.nineoldandroids.animation; + +import java.util.ArrayList; + +import android.view.animation.Interpolator; + +/** + * This is the superclass for classes which provide basic support for animations which can be + * started, ended, and have AnimatorListeners added to them. + */ +public abstract class Animator implements Cloneable { + + + /** + * The set of listeners to be sent events through the life of an animation. + */ + ArrayList mListeners = null; + + /** + * Starts this animation. If the animation has a nonzero startDelay, the animation will start + * running after that delay elapses. A non-delayed animation will have its initial + * value(s) set immediately, followed by calls to + * {@link AnimatorListener#onAnimationStart(Animator)} for any listeners of this animator. + * + *

      The animation started by calling this method will be run on the thread that called + * this method. This thread should have a Looper on it (a runtime exception will be thrown if + * this is not the case). Also, if the animation will animate + * properties of objects in the view hierarchy, then the calling thread should be the UI + * thread for that view hierarchy.

      + * + */ + public void start() { + } + + /** + * Cancels the animation. Unlike {@link #end()}, cancel() causes the animation to + * stop in its tracks, sending an + * {@link android.animation.Animator.AnimatorListener#onAnimationCancel(Animator)} to + * its listeners, followed by an + * {@link android.animation.Animator.AnimatorListener#onAnimationEnd(Animator)} message. + * + *

      This method must be called on the thread that is running the animation.

      + */ + public void cancel() { + } + + /** + * Ends the animation. This causes the animation to assign the end value of the property being + * animated, then calling the + * {@link android.animation.Animator.AnimatorListener#onAnimationEnd(Animator)} method on + * its listeners. + * + *

      This method must be called on the thread that is running the animation.

      + */ + public void end() { + } + + /** + * The amount of time, in milliseconds, to delay starting the animation after + * {@link #start()} is called. + * + * @return the number of milliseconds to delay running the animation + */ + public abstract long getStartDelay(); + + /** + * The amount of time, in milliseconds, to delay starting the animation after + * {@link #start()} is called. + + * @param startDelay The amount of the delay, in milliseconds + */ + public abstract void setStartDelay(long startDelay); + + + /** + * Sets the length of the animation. + * + * @param duration The length of the animation, in milliseconds. + */ + public abstract Animator setDuration(long duration); + + /** + * Gets the length of the animation. + * + * @return The length of the animation, in milliseconds. + */ + public abstract long getDuration(); + + /** + * The time interpolator used in calculating the elapsed fraction of this animation. The + * interpolator determines whether the animation runs with linear or non-linear motion, + * such as acceleration and deceleration. The default value is + * {@link android.view.animation.AccelerateDecelerateInterpolator} + * + * @param value the interpolator to be used by this animation + */ + public abstract void setInterpolator(/*Time*/Interpolator value); + + /** + * Returns whether this Animator is currently running (having been started and gone past any + * initial startDelay period and not yet ended). + * + * @return Whether the Animator is running. + */ + public abstract boolean isRunning(); + + /** + * Returns whether this Animator has been started and not yet ended. This state is a superset + * of the state of {@link #isRunning()}, because an Animator with a nonzero + * {@link #getStartDelay() startDelay} will return true for {@link #isStarted()} during the + * delay phase, whereas {@link #isRunning()} will return true only after the delay phase + * is complete. + * + * @return Whether the Animator has been started and not yet ended. + */ + public boolean isStarted() { + // Default method returns value for isRunning(). Subclasses should override to return a + // real value. + return isRunning(); + } + + /** + * Adds a listener to the set of listeners that are sent events through the life of an + * animation, such as start, repeat, and end. + * + * @param listener the listener to be added to the current set of listeners for this animation. + */ + public void addListener(AnimatorListener listener) { + if (mListeners == null) { + mListeners = new ArrayList(); + } + mListeners.add(listener); + } + + /** + * Removes a listener from the set listening to this animation. + * + * @param listener the listener to be removed from the current set of listeners for this + * animation. + */ + public void removeListener(AnimatorListener listener) { + if (mListeners == null) { + return; + } + mListeners.remove(listener); + if (mListeners.size() == 0) { + mListeners = null; + } + } + + /** + * Gets the set of {@link android.animation.Animator.AnimatorListener} objects that are currently + * listening for events on this Animator object. + * + * @return ArrayList The set of listeners. + */ + public ArrayList getListeners() { + return mListeners; + } + + /** + * Removes all listeners from this object. This is equivalent to calling + * getListeners() followed by calling clear() on the + * returned list of listeners. + */ + public void removeAllListeners() { + if (mListeners != null) { + mListeners.clear(); + mListeners = null; + } + } + + @Override + public Animator clone() { + try { + final Animator anim = (Animator) super.clone(); + if (mListeners != null) { + ArrayList oldListeners = mListeners; + anim.mListeners = new ArrayList(); + int numListeners = oldListeners.size(); + for (int i = 0; i < numListeners; ++i) { + anim.mListeners.add(oldListeners.get(i)); + } + } + return anim; + } catch (CloneNotSupportedException e) { + throw new AssertionError(); + } + } + + /** + * This method tells the object to use appropriate information to extract + * starting values for the animation. For example, a AnimatorSet object will pass + * this call to its child objects to tell them to set up the values. A + * ObjectAnimator object will use the information it has about its target object + * and PropertyValuesHolder objects to get the start values for its properties. + * An ValueAnimator object will ignore the request since it does not have enough + * information (such as a target object) to gather these values. + */ + public void setupStartValues() { + } + + /** + * This method tells the object to use appropriate information to extract + * ending values for the animation. For example, a AnimatorSet object will pass + * this call to its child objects to tell them to set up the values. A + * ObjectAnimator object will use the information it has about its target object + * and PropertyValuesHolder objects to get the start values for its properties. + * An ValueAnimator object will ignore the request since it does not have enough + * information (such as a target object) to gather these values. + */ + public void setupEndValues() { + } + + /** + * Sets the target object whose property will be animated by this animation. Not all subclasses + * operate on target objects (for example, {@link ValueAnimator}, but this method + * is on the superclass for the convenience of dealing generically with those subclasses + * that do handle targets. + * + * @param target The object being animated + */ + public void setTarget(Object target) { + } + + /** + *

      An animation listener receives notifications from an animation. + * Notifications indicate animation related events, such as the end or the + * repetition of the animation.

      + */ + public static interface AnimatorListener { + /** + *

      Notifies the start of the animation.

      + * + * @param animation The started animation. + */ + void onAnimationStart(Animator animation); + + /** + *

      Notifies the end of the animation. This callback is not invoked + * for animations with repeat count set to INFINITE.

      + * + * @param animation The animation which reached its end. + */ + void onAnimationEnd(Animator animation); + + /** + *

      Notifies the cancellation of the animation. This callback is not invoked + * for animations with repeat count set to INFINITE.

      + * + * @param animation The animation which was canceled. + */ + void onAnimationCancel(Animator animation); + + /** + *

      Notifies the repetition of the animation.

      + * + * @param animation The animation which was repeated. + */ + void onAnimationRepeat(Animator animation); + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/animation/AnimatorListenerAdapter.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/animation/AnimatorListenerAdapter.java new file mode 100644 index 000000000..02ddff48d --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/animation/AnimatorListenerAdapter.java @@ -0,0 +1,54 @@ +/* + * 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. + */ + +package com.actionbarsherlock.internal.nineoldandroids.animation; + +/** + * This adapter class provides empty implementations of the methods from {@link android.animation.Animator.AnimatorListener}. + * Any custom listener that cares only about a subset of the methods of this listener can + * simply subclass this adapter class instead of implementing the interface directly. + */ +public abstract class AnimatorListenerAdapter implements Animator.AnimatorListener { + + /** + * {@inheritDoc} + */ + @Override + public void onAnimationCancel(Animator animation) { + } + + /** + * {@inheritDoc} + */ + @Override + public void onAnimationEnd(Animator animation) { + } + + /** + * {@inheritDoc} + */ + @Override + public void onAnimationRepeat(Animator animation) { + } + + /** + * {@inheritDoc} + */ + @Override + public void onAnimationStart(Animator animation) { + } + +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/animation/AnimatorSet.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/animation/AnimatorSet.java new file mode 100644 index 000000000..3231080c4 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/animation/AnimatorSet.java @@ -0,0 +1,1111 @@ +/* + * 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. + */ + +package com.actionbarsherlock.internal.nineoldandroids.animation; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.List; + +import android.view.animation.Interpolator; + +/** + * This class plays a set of {@link Animator} objects in the specified order. Animations + * can be set up to play together, in sequence, or after a specified delay. + * + *

      There are two different approaches to adding animations to a AnimatorSet: + * either the {@link AnimatorSet#playTogether(Animator[]) playTogether()} or + * {@link AnimatorSet#playSequentially(Animator[]) playSequentially()} methods can be called to add + * a set of animations all at once, or the {@link AnimatorSet#play(Animator)} can be + * used in conjunction with methods in the {@link AnimatorSet.Builder Builder} + * class to add animations + * one by one.

      + * + *

      It is possible to set up a AnimatorSet with circular dependencies between + * its animations. For example, an animation a1 could be set up to start before animation a2, a2 + * before a3, and a3 before a1. The results of this configuration are undefined, but will typically + * result in none of the affected animations being played. Because of this (and because + * circular dependencies do not make logical sense anyway), circular dependencies + * should be avoided, and the dependency flow of animations should only be in one direction. + */ +@SuppressWarnings("unchecked") +public final class AnimatorSet extends Animator { + + /** + * Internal variables + * NOTE: This object implements the clone() method, making a deep copy of any referenced + * objects. As other non-trivial fields are added to this class, make sure to add logic + * to clone() to make deep copies of them. + */ + + /** + * Tracks animations currently being played, so that we know what to + * cancel or end when cancel() or end() is called on this AnimatorSet + */ + private ArrayList mPlayingSet = new ArrayList(); + + /** + * Contains all nodes, mapped to their respective Animators. When new + * dependency information is added for an Animator, we want to add it + * to a single node representing that Animator, not create a new Node + * if one already exists. + */ + private HashMap mNodeMap = new HashMap(); + + /** + * Set of all nodes created for this AnimatorSet. This list is used upon + * starting the set, and the nodes are placed in sorted order into the + * sortedNodes collection. + */ + private ArrayList mNodes = new ArrayList(); + + /** + * The sorted list of nodes. This is the order in which the animations will + * be played. The details about when exactly they will be played depend + * on the dependency relationships of the nodes. + */ + private ArrayList mSortedNodes = new ArrayList(); + + /** + * Flag indicating whether the nodes should be sorted prior to playing. This + * flag allows us to cache the previous sorted nodes so that if the sequence + * is replayed with no changes, it does not have to re-sort the nodes again. + */ + private boolean mNeedsSort = true; + + private AnimatorSetListener mSetListener = null; + + /** + * Flag indicating that the AnimatorSet has been manually + * terminated (by calling cancel() or end()). + * This flag is used to avoid starting other animations when currently-playing + * child animations of this AnimatorSet end. It also determines whether cancel/end + * notifications are sent out via the normal AnimatorSetListener mechanism. + */ + boolean mTerminated = false; + + /** + * Indicates whether an AnimatorSet has been start()'d, whether or + * not there is a nonzero startDelay. + */ + private boolean mStarted = false; + + // The amount of time in ms to delay starting the animation after start() is called + private long mStartDelay = 0; + + // Animator used for a nonzero startDelay + private ValueAnimator mDelayAnim = null; + + + // How long the child animations should last in ms. The default value is negative, which + // simply means that there is no duration set on the AnimatorSet. When a real duration is + // set, it is passed along to the child animations. + private long mDuration = -1; + + + /** + * Sets up this AnimatorSet to play all of the supplied animations at the same time. + * + * @param items The animations that will be started simultaneously. + */ + public void playTogether(Animator... items) { + if (items != null) { + mNeedsSort = true; + Builder builder = play(items[0]); + for (int i = 1; i < items.length; ++i) { + builder.with(items[i]); + } + } + } + + /** + * Sets up this AnimatorSet to play all of the supplied animations at the same time. + * + * @param items The animations that will be started simultaneously. + */ + public void playTogether(Collection items) { + if (items != null && items.size() > 0) { + mNeedsSort = true; + Builder builder = null; + for (Animator anim : items) { + if (builder == null) { + builder = play(anim); + } else { + builder.with(anim); + } + } + } + } + + /** + * Sets up this AnimatorSet to play each of the supplied animations when the + * previous animation ends. + * + * @param items The animations that will be started one after another. + */ + public void playSequentially(Animator... items) { + if (items != null) { + mNeedsSort = true; + if (items.length == 1) { + play(items[0]); + } else { + for (int i = 0; i < items.length - 1; ++i) { + play(items[i]).before(items[i+1]); + } + } + } + } + + /** + * Sets up this AnimatorSet to play each of the supplied animations when the + * previous animation ends. + * + * @param items The animations that will be started one after another. + */ + public void playSequentially(List items) { + if (items != null && items.size() > 0) { + mNeedsSort = true; + if (items.size() == 1) { + play(items.get(0)); + } else { + for (int i = 0; i < items.size() - 1; ++i) { + play(items.get(i)).before(items.get(i+1)); + } + } + } + } + + /** + * Returns the current list of child Animator objects controlled by this + * AnimatorSet. This is a copy of the internal list; modifications to the returned list + * will not affect the AnimatorSet, although changes to the underlying Animator objects + * will affect those objects being managed by the AnimatorSet. + * + * @return ArrayList The list of child animations of this AnimatorSet. + */ + public ArrayList getChildAnimations() { + ArrayList childList = new ArrayList(); + for (Node node : mNodes) { + childList.add(node.animation); + } + return childList; + } + + /** + * Sets the target object for all current {@link #getChildAnimations() child animations} + * of this AnimatorSet that take targets ({@link ObjectAnimator} and + * AnimatorSet). + * + * @param target The object being animated + */ + @Override + public void setTarget(Object target) { + for (Node node : mNodes) { + Animator animation = node.animation; + if (animation instanceof AnimatorSet) { + ((AnimatorSet)animation).setTarget(target); + } else if (animation instanceof ObjectAnimator) { + ((ObjectAnimator)animation).setTarget(target); + } + } + } + + /** + * Sets the TimeInterpolator for all current {@link #getChildAnimations() child animations} + * of this AnimatorSet. + * + * @param interpolator the interpolator to be used by each child animation of this AnimatorSet + */ + @Override + public void setInterpolator(/*Time*/Interpolator interpolator) { + for (Node node : mNodes) { + node.animation.setInterpolator(interpolator); + } + } + + /** + * This method creates a Builder object, which is used to + * set up playing constraints. This initial play() method + * tells the Builder the animation that is the dependency for + * the succeeding commands to the Builder. For example, + * calling play(a1).with(a2) sets up the AnimatorSet to play + * a1 and a2 at the same time, + * play(a1).before(a2) sets up the AnimatorSet to play + * a1 first, followed by a2, and + * play(a1).after(a2) sets up the AnimatorSet to play + * a2 first, followed by a1. + * + *

      Note that play() is the only way to tell the + * Builder the animation upon which the dependency is created, + * so successive calls to the various functions in Builder + * will all refer to the initial parameter supplied in play() + * as the dependency of the other animations. For example, calling + * play(a1).before(a2).before(a3) will play both a2 + * and a3 when a1 ends; it does not set up a dependency between + * a2 and a3.

      + * + * @param anim The animation that is the dependency used in later calls to the + * methods in the returned Builder object. A null parameter will result + * in a null Builder return value. + * @return Builder The object that constructs the AnimatorSet based on the dependencies + * outlined in the calls to play and the other methods in the + * BuilderNote that canceling a AnimatorSet also cancels all of the animations that it + * is responsible for.

      + */ + @Override + public void cancel() { + mTerminated = true; + if (isStarted()) { + ArrayList tmpListeners = null; + if (mListeners != null) { + tmpListeners = (ArrayList) mListeners.clone(); + for (AnimatorListener listener : tmpListeners) { + listener.onAnimationCancel(this); + } + } + if (mDelayAnim != null && mDelayAnim.isRunning()) { + // If we're currently in the startDelay period, just cancel that animator and + // send out the end event to all listeners + mDelayAnim.cancel(); + } else if (mSortedNodes.size() > 0) { + for (Node node : mSortedNodes) { + node.animation.cancel(); + } + } + if (tmpListeners != null) { + for (AnimatorListener listener : tmpListeners) { + listener.onAnimationEnd(this); + } + } + mStarted = false; + } + } + + /** + * {@inheritDoc} + * + *

      Note that ending a AnimatorSet also ends all of the animations that it is + * responsible for.

      + */ + @Override + public void end() { + mTerminated = true; + if (isStarted()) { + if (mSortedNodes.size() != mNodes.size()) { + // hasn't been started yet - sort the nodes now, then end them + sortNodes(); + for (Node node : mSortedNodes) { + if (mSetListener == null) { + mSetListener = new AnimatorSetListener(this); + } + node.animation.addListener(mSetListener); + } + } + if (mDelayAnim != null) { + mDelayAnim.cancel(); + } + if (mSortedNodes.size() > 0) { + for (Node node : mSortedNodes) { + node.animation.end(); + } + } + if (mListeners != null) { + ArrayList tmpListeners = + (ArrayList) mListeners.clone(); + for (AnimatorListener listener : tmpListeners) { + listener.onAnimationEnd(this); + } + } + mStarted = false; + } + } + + /** + * Returns true if any of the child animations of this AnimatorSet have been started and have + * not yet ended. + * @return Whether this AnimatorSet has been started and has not yet ended. + */ + @Override + public boolean isRunning() { + for (Node node : mNodes) { + if (node.animation.isRunning()) { + return true; + } + } + return false; + } + + @Override + public boolean isStarted() { + return mStarted; + } + + /** + * The amount of time, in milliseconds, to delay starting the animation after + * {@link #start()} is called. + * + * @return the number of milliseconds to delay running the animation + */ + @Override + public long getStartDelay() { + return mStartDelay; + } + + /** + * The amount of time, in milliseconds, to delay starting the animation after + * {@link #start()} is called. + + * @param startDelay The amount of the delay, in milliseconds + */ + @Override + public void setStartDelay(long startDelay) { + mStartDelay = startDelay; + } + + /** + * Gets the length of each of the child animations of this AnimatorSet. This value may + * be less than 0, which indicates that no duration has been set on this AnimatorSet + * and each of the child animations will use their own duration. + * + * @return The length of the animation, in milliseconds, of each of the child + * animations of this AnimatorSet. + */ + @Override + public long getDuration() { + return mDuration; + } + + /** + * Sets the length of each of the current child animations of this AnimatorSet. By default, + * each child animation will use its own duration. If the duration is set on the AnimatorSet, + * then each child animation inherits this duration. + * + * @param duration The length of the animation, in milliseconds, of each of the child + * animations of this AnimatorSet. + */ + @Override + public AnimatorSet setDuration(long duration) { + if (duration < 0) { + throw new IllegalArgumentException("duration must be a value of zero or greater"); + } + for (Node node : mNodes) { + // TODO: don't set the duration of the timing-only nodes created by AnimatorSet to + // insert "play-after" delays + node.animation.setDuration(duration); + } + mDuration = duration; + return this; + } + + @Override + public void setupStartValues() { + for (Node node : mNodes) { + node.animation.setupStartValues(); + } + } + + @Override + public void setupEndValues() { + for (Node node : mNodes) { + node.animation.setupEndValues(); + } + } + + /** + * {@inheritDoc} + * + *

      Starting this AnimatorSet will, in turn, start the animations for which + * it is responsible. The details of when exactly those animations are started depends on + * the dependency relationships that have been set up between the animations. + */ + @Override + public void start() { + mTerminated = false; + mStarted = true; + + // First, sort the nodes (if necessary). This will ensure that sortedNodes + // contains the animation nodes in the correct order. + sortNodes(); + + int numSortedNodes = mSortedNodes.size(); + for (int i = 0; i < numSortedNodes; ++i) { + Node node = mSortedNodes.get(i); + // First, clear out the old listeners + ArrayList oldListeners = node.animation.getListeners(); + if (oldListeners != null && oldListeners.size() > 0) { + final ArrayList clonedListeners = new + ArrayList(oldListeners); + + for (AnimatorListener listener : clonedListeners) { + if (listener instanceof DependencyListener || + listener instanceof AnimatorSetListener) { + node.animation.removeListener(listener); + } + } + } + } + + // nodesToStart holds the list of nodes to be started immediately. We don't want to + // start the animations in the loop directly because we first need to set up + // dependencies on all of the nodes. For example, we don't want to start an animation + // when some other animation also wants to start when the first animation begins. + final ArrayList nodesToStart = new ArrayList(); + for (int i = 0; i < numSortedNodes; ++i) { + Node node = mSortedNodes.get(i); + if (mSetListener == null) { + mSetListener = new AnimatorSetListener(this); + } + if (node.dependencies == null || node.dependencies.size() == 0) { + nodesToStart.add(node); + } else { + int numDependencies = node.dependencies.size(); + for (int j = 0; j < numDependencies; ++j) { + Dependency dependency = node.dependencies.get(j); + dependency.node.animation.addListener( + new DependencyListener(this, node, dependency.rule)); + } + node.tmpDependencies = (ArrayList) node.dependencies.clone(); + } + node.animation.addListener(mSetListener); + } + // Now that all dependencies are set up, start the animations that should be started. + if (mStartDelay <= 0) { + for (Node node : nodesToStart) { + node.animation.start(); + mPlayingSet.add(node.animation); + } + } else { + mDelayAnim = ValueAnimator.ofFloat(0f, 1f); + mDelayAnim.setDuration(mStartDelay); + mDelayAnim.addListener(new AnimatorListenerAdapter() { + boolean canceled = false; + public void onAnimationCancel(Animator anim) { + canceled = true; + } + public void onAnimationEnd(Animator anim) { + if (!canceled) { + int numNodes = nodesToStart.size(); + for (int i = 0; i < numNodes; ++i) { + Node node = nodesToStart.get(i); + node.animation.start(); + mPlayingSet.add(node.animation); + } + } + } + }); + mDelayAnim.start(); + } + if (mListeners != null) { + ArrayList tmpListeners = + (ArrayList) mListeners.clone(); + int numListeners = tmpListeners.size(); + for (int i = 0; i < numListeners; ++i) { + tmpListeners.get(i).onAnimationStart(this); + } + } + if (mNodes.size() == 0 && mStartDelay == 0) { + // Handle unusual case where empty AnimatorSet is started - should send out + // end event immediately since the event will not be sent out at all otherwise + mStarted = false; + if (mListeners != null) { + ArrayList tmpListeners = + (ArrayList) mListeners.clone(); + int numListeners = tmpListeners.size(); + for (int i = 0; i < numListeners; ++i) { + tmpListeners.get(i).onAnimationEnd(this); + } + } + } + } + + @Override + public AnimatorSet clone() { + final AnimatorSet anim = (AnimatorSet) super.clone(); + /* + * The basic clone() operation copies all items. This doesn't work very well for + * AnimatorSet, because it will copy references that need to be recreated and state + * that may not apply. What we need to do now is put the clone in an uninitialized + * state, with fresh, empty data structures. Then we will build up the nodes list + * manually, as we clone each Node (and its animation). The clone will then be sorted, + * and will populate any appropriate lists, when it is started. + */ + anim.mNeedsSort = true; + anim.mTerminated = false; + anim.mStarted = false; + anim.mPlayingSet = new ArrayList(); + anim.mNodeMap = new HashMap(); + anim.mNodes = new ArrayList(); + anim.mSortedNodes = new ArrayList(); + + // Walk through the old nodes list, cloning each node and adding it to the new nodemap. + // One problem is that the old node dependencies point to nodes in the old AnimatorSet. + // We need to track the old/new nodes in order to reconstruct the dependencies in the clone. + HashMap nodeCloneMap = new HashMap(); // + for (Node node : mNodes) { + Node nodeClone = node.clone(); + nodeCloneMap.put(node, nodeClone); + anim.mNodes.add(nodeClone); + anim.mNodeMap.put(nodeClone.animation, nodeClone); + // Clear out the dependencies in the clone; we'll set these up manually later + nodeClone.dependencies = null; + nodeClone.tmpDependencies = null; + nodeClone.nodeDependents = null; + nodeClone.nodeDependencies = null; + // clear out any listeners that were set up by the AnimatorSet; these will + // be set up when the clone's nodes are sorted + ArrayList cloneListeners = nodeClone.animation.getListeners(); + if (cloneListeners != null) { + ArrayList listenersToRemove = null; + for (AnimatorListener listener : cloneListeners) { + if (listener instanceof AnimatorSetListener) { + if (listenersToRemove == null) { + listenersToRemove = new ArrayList(); + } + listenersToRemove.add(listener); + } + } + if (listenersToRemove != null) { + for (AnimatorListener listener : listenersToRemove) { + cloneListeners.remove(listener); + } + } + } + } + // Now that we've cloned all of the nodes, we're ready to walk through their + // dependencies, mapping the old dependencies to the new nodes + for (Node node : mNodes) { + Node nodeClone = nodeCloneMap.get(node); + if (node.dependencies != null) { + for (Dependency dependency : node.dependencies) { + Node clonedDependencyNode = nodeCloneMap.get(dependency.node); + Dependency cloneDependency = new Dependency(clonedDependencyNode, + dependency.rule); + nodeClone.addDependency(cloneDependency); + } + } + } + + return anim; + } + + /** + * This class is the mechanism by which animations are started based on events in other + * animations. If an animation has multiple dependencies on other animations, then + * all dependencies must be satisfied before the animation is started. + */ + private static class DependencyListener implements AnimatorListener { + + private AnimatorSet mAnimatorSet; + + // The node upon which the dependency is based. + private Node mNode; + + // The Dependency rule (WITH or AFTER) that the listener should wait for on + // the node + private int mRule; + + public DependencyListener(AnimatorSet animatorSet, Node node, int rule) { + this.mAnimatorSet = animatorSet; + this.mNode = node; + this.mRule = rule; + } + + /** + * Ignore cancel events for now. We may want to handle this eventually, + * to prevent follow-on animations from running when some dependency + * animation is canceled. + */ + public void onAnimationCancel(Animator animation) { + } + + /** + * An end event is received - see if this is an event we are listening for + */ + public void onAnimationEnd(Animator animation) { + if (mRule == Dependency.AFTER) { + startIfReady(animation); + } + } + + /** + * Ignore repeat events for now + */ + public void onAnimationRepeat(Animator animation) { + } + + /** + * A start event is received - see if this is an event we are listening for + */ + public void onAnimationStart(Animator animation) { + if (mRule == Dependency.WITH) { + startIfReady(animation); + } + } + + /** + * Check whether the event received is one that the node was waiting for. + * If so, mark it as complete and see whether it's time to start + * the animation. + * @param dependencyAnimation the animation that sent the event. + */ + private void startIfReady(Animator dependencyAnimation) { + if (mAnimatorSet.mTerminated) { + // if the parent AnimatorSet was canceled, then don't start any dependent anims + return; + } + Dependency dependencyToRemove = null; + int numDependencies = mNode.tmpDependencies.size(); + for (int i = 0; i < numDependencies; ++i) { + Dependency dependency = mNode.tmpDependencies.get(i); + if (dependency.rule == mRule && + dependency.node.animation == dependencyAnimation) { + // rule fired - remove the dependency and listener and check to + // see whether it's time to start the animation + dependencyToRemove = dependency; + dependencyAnimation.removeListener(this); + break; + } + } + mNode.tmpDependencies.remove(dependencyToRemove); + if (mNode.tmpDependencies.size() == 0) { + // all dependencies satisfied: start the animation + mNode.animation.start(); + mAnimatorSet.mPlayingSet.add(mNode.animation); + } + } + + } + + private class AnimatorSetListener implements AnimatorListener { + + private AnimatorSet mAnimatorSet; + + AnimatorSetListener(AnimatorSet animatorSet) { + mAnimatorSet = animatorSet; + } + + public void onAnimationCancel(Animator animation) { + if (!mTerminated) { + // Listeners are already notified of the AnimatorSet canceling in cancel(). + // The logic below only kicks in when animations end normally + if (mPlayingSet.size() == 0) { + if (mListeners != null) { + int numListeners = mListeners.size(); + for (int i = 0; i < numListeners; ++i) { + mListeners.get(i).onAnimationCancel(mAnimatorSet); + } + } + } + } + } + + public void onAnimationEnd(Animator animation) { + animation.removeListener(this); + mPlayingSet.remove(animation); + Node animNode = mAnimatorSet.mNodeMap.get(animation); + animNode.done = true; + if (!mTerminated) { + // Listeners are already notified of the AnimatorSet ending in cancel() or + // end(); the logic below only kicks in when animations end normally + ArrayList sortedNodes = mAnimatorSet.mSortedNodes; + boolean allDone = true; + int numSortedNodes = sortedNodes.size(); + for (int i = 0; i < numSortedNodes; ++i) { + if (!sortedNodes.get(i).done) { + allDone = false; + break; + } + } + if (allDone) { + // If this was the last child animation to end, then notify listeners that this + // AnimatorSet has ended + if (mListeners != null) { + ArrayList tmpListeners = + (ArrayList) mListeners.clone(); + int numListeners = tmpListeners.size(); + for (int i = 0; i < numListeners; ++i) { + tmpListeners.get(i).onAnimationEnd(mAnimatorSet); + } + } + mAnimatorSet.mStarted = false; + } + } + } + + // Nothing to do + public void onAnimationRepeat(Animator animation) { + } + + // Nothing to do + public void onAnimationStart(Animator animation) { + } + + } + + /** + * This method sorts the current set of nodes, if needed. The sort is a simple + * DependencyGraph sort, which goes like this: + * - All nodes without dependencies become 'roots' + * - while roots list is not null + * - for each root r + * - add r to sorted list + * - remove r as a dependency from any other node + * - any nodes with no dependencies are added to the roots list + */ + private void sortNodes() { + if (mNeedsSort) { + mSortedNodes.clear(); + ArrayList roots = new ArrayList(); + int numNodes = mNodes.size(); + for (int i = 0; i < numNodes; ++i) { + Node node = mNodes.get(i); + if (node.dependencies == null || node.dependencies.size() == 0) { + roots.add(node); + } + } + ArrayList tmpRoots = new ArrayList(); + while (roots.size() > 0) { + int numRoots = roots.size(); + for (int i = 0; i < numRoots; ++i) { + Node root = roots.get(i); + mSortedNodes.add(root); + if (root.nodeDependents != null) { + int numDependents = root.nodeDependents.size(); + for (int j = 0; j < numDependents; ++j) { + Node node = root.nodeDependents.get(j); + node.nodeDependencies.remove(root); + if (node.nodeDependencies.size() == 0) { + tmpRoots.add(node); + } + } + } + } + roots.clear(); + roots.addAll(tmpRoots); + tmpRoots.clear(); + } + mNeedsSort = false; + if (mSortedNodes.size() != mNodes.size()) { + throw new IllegalStateException("Circular dependencies cannot exist" + + " in AnimatorSet"); + } + } else { + // Doesn't need sorting, but still need to add in the nodeDependencies list + // because these get removed as the event listeners fire and the dependencies + // are satisfied + int numNodes = mNodes.size(); + for (int i = 0; i < numNodes; ++i) { + Node node = mNodes.get(i); + if (node.dependencies != null && node.dependencies.size() > 0) { + int numDependencies = node.dependencies.size(); + for (int j = 0; j < numDependencies; ++j) { + Dependency dependency = node.dependencies.get(j); + if (node.nodeDependencies == null) { + node.nodeDependencies = new ArrayList(); + } + if (!node.nodeDependencies.contains(dependency.node)) { + node.nodeDependencies.add(dependency.node); + } + } + } + // nodes are 'done' by default; they become un-done when started, and done + // again when ended + node.done = false; + } + } + } + + /** + * Dependency holds information about the node that some other node is + * dependent upon and the nature of that dependency. + * + */ + private static class Dependency { + static final int WITH = 0; // dependent node must start with this dependency node + static final int AFTER = 1; // dependent node must start when this dependency node finishes + + // The node that the other node with this Dependency is dependent upon + public Node node; + + // The nature of the dependency (WITH or AFTER) + public int rule; + + public Dependency(Node node, int rule) { + this.node = node; + this.rule = rule; + } + } + + /** + * A Node is an embodiment of both the Animator that it wraps as well as + * any dependencies that are associated with that Animation. This includes + * both dependencies upon other nodes (in the dependencies list) as + * well as dependencies of other nodes upon this (in the nodeDependents list). + */ + private static class Node implements Cloneable { + public Animator animation; + + /** + * These are the dependencies that this node's animation has on other + * nodes. For example, if this node's animation should begin with some + * other animation ends, then there will be an item in this node's + * dependencies list for that other animation's node. + */ + public ArrayList dependencies = null; + + /** + * tmpDependencies is a runtime detail. We use the dependencies list for sorting. + * But we also use the list to keep track of when multiple dependencies are satisfied, + * but removing each dependency as it is satisfied. We do not want to remove + * the dependency itself from the list, because we need to retain that information + * if the AnimatorSet is launched in the future. So we create a copy of the dependency + * list when the AnimatorSet starts and use this tmpDependencies list to track the + * list of satisfied dependencies. + */ + public ArrayList tmpDependencies = null; + + /** + * nodeDependencies is just a list of the nodes that this Node is dependent upon. + * This information is used in sortNodes(), to determine when a node is a root. + */ + public ArrayList nodeDependencies = null; + + /** + * nodeDepdendents is the list of nodes that have this node as a dependency. This + * is a utility field used in sortNodes to facilitate removing this node as a + * dependency when it is a root node. + */ + public ArrayList nodeDependents = null; + + /** + * Flag indicating whether the animation in this node is finished. This flag + * is used by AnimatorSet to check, as each animation ends, whether all child animations + * are done and it's time to send out an end event for the entire AnimatorSet. + */ + public boolean done = false; + + /** + * Constructs the Node with the animation that it encapsulates. A Node has no + * dependencies by default; dependencies are added via the addDependency() + * method. + * + * @param animation The animation that the Node encapsulates. + */ + public Node(Animator animation) { + this.animation = animation; + } + + /** + * Add a dependency to this Node. The dependency includes information about the + * node that this node is dependency upon and the nature of the dependency. + * @param dependency + */ + public void addDependency(Dependency dependency) { + if (dependencies == null) { + dependencies = new ArrayList(); + nodeDependencies = new ArrayList(); + } + dependencies.add(dependency); + if (!nodeDependencies.contains(dependency.node)) { + nodeDependencies.add(dependency.node); + } + Node dependencyNode = dependency.node; + if (dependencyNode.nodeDependents == null) { + dependencyNode.nodeDependents = new ArrayList(); + } + dependencyNode.nodeDependents.add(this); + } + + @Override + public Node clone() { + try { + Node node = (Node) super.clone(); + node.animation = animation.clone(); + return node; + } catch (CloneNotSupportedException e) { + throw new AssertionError(); + } + } + } + + /** + * The Builder object is a utility class to facilitate adding animations to a + * AnimatorSet along with the relationships between the various animations. The + * intention of the Builder methods, along with the {@link + * AnimatorSet#play(Animator) play()} method of AnimatorSet is to make it possible + * to express the dependency relationships of animations in a natural way. Developers can also + * use the {@link AnimatorSet#playTogether(Animator[]) playTogether()} and {@link + * AnimatorSet#playSequentially(Animator[]) playSequentially()} methods if these suit the need, + * but it might be easier in some situations to express the AnimatorSet of animations in pairs. + *

      + *

      The Builder object cannot be constructed directly, but is rather constructed + * internally via a call to {@link AnimatorSet#play(Animator)}.

      + *

      + *

      For example, this sets up a AnimatorSet to play anim1 and anim2 at the same time, anim3 to + * play when anim2 finishes, and anim4 to play when anim3 finishes:

      + *
      +     *     AnimatorSet s = new AnimatorSet();
      +     *     s.play(anim1).with(anim2);
      +     *     s.play(anim2).before(anim3);
      +     *     s.play(anim4).after(anim3);
      +     * 
      + *

      + *

      Note in the example that both {@link Builder#before(Animator)} and {@link + * Builder#after(Animator)} are used. These are just different ways of expressing the same + * relationship and are provided to make it easier to say things in a way that is more natural, + * depending on the situation.

      + *

      + *

      It is possible to make several calls into the same Builder object to express + * multiple relationships. However, note that it is only the animation passed into the initial + * {@link AnimatorSet#play(Animator)} method that is the dependency in any of the successive + * calls to the Builder object. For example, the following code starts both anim2 + * and anim3 when anim1 ends; there is no direct dependency relationship between anim2 and + * anim3: + *

      +     *   AnimatorSet s = new AnimatorSet();
      +     *   s.play(anim1).before(anim2).before(anim3);
      +     * 
      + * If the desired result is to play anim1 then anim2 then anim3, this code expresses the + * relationship correctly:

      + *
      +     *   AnimatorSet s = new AnimatorSet();
      +     *   s.play(anim1).before(anim2);
      +     *   s.play(anim2).before(anim3);
      +     * 
      + *

      + *

      Note that it is possible to express relationships that cannot be resolved and will not + * result in sensible results. For example, play(anim1).after(anim1) makes no + * sense. In general, circular dependencies like this one (or more indirect ones where a depends + * on b, which depends on c, which depends on a) should be avoided. Only create AnimatorSets + * that can boil down to a simple, one-way relationship of animations starting with, before, and + * after other, different, animations.

      + */ + public class Builder { + + /** + * This tracks the current node being processed. It is supplied to the play() method + * of AnimatorSet and passed into the constructor of Builder. + */ + private Node mCurrentNode; + + /** + * package-private constructor. Builders are only constructed by AnimatorSet, when the + * play() method is called. + * + * @param anim The animation that is the dependency for the other animations passed into + * the other methods of this Builder object. + */ + Builder(Animator anim) { + mCurrentNode = mNodeMap.get(anim); + if (mCurrentNode == null) { + mCurrentNode = new Node(anim); + mNodeMap.put(anim, mCurrentNode); + mNodes.add(mCurrentNode); + } + } + + /** + * Sets up the given animation to play at the same time as the animation supplied in the + * {@link AnimatorSet#play(Animator)} call that created this Builder object. + * + * @param anim The animation that will play when the animation supplied to the + * {@link AnimatorSet#play(Animator)} method starts. + */ + public Builder with(Animator anim) { + Node node = mNodeMap.get(anim); + if (node == null) { + node = new Node(anim); + mNodeMap.put(anim, node); + mNodes.add(node); + } + Dependency dependency = new Dependency(mCurrentNode, Dependency.WITH); + node.addDependency(dependency); + return this; + } + + /** + * Sets up the given animation to play when the animation supplied in the + * {@link AnimatorSet#play(Animator)} call that created this Builder object + * ends. + * + * @param anim The animation that will play when the animation supplied to the + * {@link AnimatorSet#play(Animator)} method ends. + */ + public Builder before(Animator anim) { + Node node = mNodeMap.get(anim); + if (node == null) { + node = new Node(anim); + mNodeMap.put(anim, node); + mNodes.add(node); + } + Dependency dependency = new Dependency(mCurrentNode, Dependency.AFTER); + node.addDependency(dependency); + return this; + } + + /** + * Sets up the given animation to play when the animation supplied in the + * {@link AnimatorSet#play(Animator)} call that created this Builder object + * to start when the animation supplied in this method call ends. + * + * @param anim The animation whose end will cause the animation supplied to the + * {@link AnimatorSet#play(Animator)} method to play. + */ + public Builder after(Animator anim) { + Node node = mNodeMap.get(anim); + if (node == null) { + node = new Node(anim); + mNodeMap.put(anim, node); + mNodes.add(node); + } + Dependency dependency = new Dependency(node, Dependency.AFTER); + mCurrentNode.addDependency(dependency); + return this; + } + + /** + * Sets up the animation supplied in the + * {@link AnimatorSet#play(Animator)} call that created this Builder object + * to play when the given amount of time elapses. + * + * @param delay The number of milliseconds that should elapse before the + * animation starts. + */ + public Builder after(long delay) { + // setup dummy ValueAnimator just to run the clock + ValueAnimator anim = ValueAnimator.ofFloat(0f, 1f); + anim.setDuration(delay); + after(anim); + return this; + } + + } + +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/animation/FloatEvaluator.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/animation/FloatEvaluator.java new file mode 100644 index 000000000..e41019364 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/animation/FloatEvaluator.java @@ -0,0 +1,42 @@ +/* + * 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. + */ + +package com.actionbarsherlock.internal.nineoldandroids.animation; + +/** + * This evaluator can be used to perform type interpolation between float values. + */ +public class FloatEvaluator implements TypeEvaluator { + + /** + * This function returns the result of linearly interpolating the start and end values, with + * fraction representing the proportion between the start and end values. The + * calculation is a simple parametric calculation: result = x0 + t * (v1 - v0), + * where x0 is startValue, x1 is endValue, + * and t is fraction. + * + * @param fraction The fraction from the starting to the ending values + * @param startValue The start value; should be of type float or + * Float + * @param endValue The end value; should be of type float or Float + * @return A linear interpolation between the start and end values, given the + * fraction parameter. + */ + public Float evaluate(float fraction, Number startValue, Number endValue) { + float startFloat = startValue.floatValue(); + return startFloat + fraction * (endValue.floatValue() - startFloat); + } +} \ No newline at end of file diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/animation/FloatKeyframeSet.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/animation/FloatKeyframeSet.java new file mode 100644 index 000000000..6d9dafa7a --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/animation/FloatKeyframeSet.java @@ -0,0 +1,136 @@ +/* + * 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. + */ + +package com.actionbarsherlock.internal.nineoldandroids.animation; + +import java.util.ArrayList; +import android.view.animation.Interpolator; + +import com.actionbarsherlock.internal.nineoldandroids.animation.Keyframe.FloatKeyframe; + +/** + * This class holds a collection of FloatKeyframe objects and is called by ValueAnimator to calculate + * values between those keyframes for a given animation. The class internal to the animation + * package because it is an implementation detail of how Keyframes are stored and used. + * + *

      This type-specific subclass of KeyframeSet, along with the other type-specific subclass for + * int, exists to speed up the getValue() method when there is no custom + * TypeEvaluator set for the animation, so that values can be calculated without autoboxing to the + * Object equivalents of these primitive types.

      + */ +@SuppressWarnings("unchecked") +class FloatKeyframeSet extends KeyframeSet { + private float firstValue; + private float lastValue; + private float deltaValue; + private boolean firstTime = true; + + public FloatKeyframeSet(FloatKeyframe... keyframes) { + super(keyframes); + } + + @Override + public Object getValue(float fraction) { + return getFloatValue(fraction); + } + + @Override + public FloatKeyframeSet clone() { + ArrayList keyframes = mKeyframes; + int numKeyframes = mKeyframes.size(); + FloatKeyframe[] newKeyframes = new FloatKeyframe[numKeyframes]; + for (int i = 0; i < numKeyframes; ++i) { + newKeyframes[i] = (FloatKeyframe) keyframes.get(i).clone(); + } + FloatKeyframeSet newSet = new FloatKeyframeSet(newKeyframes); + return newSet; + } + + public float getFloatValue(float fraction) { + if (mNumKeyframes == 2) { + if (firstTime) { + firstTime = false; + firstValue = ((FloatKeyframe) mKeyframes.get(0)).getFloatValue(); + lastValue = ((FloatKeyframe) mKeyframes.get(1)).getFloatValue(); + deltaValue = lastValue - firstValue; + } + if (mInterpolator != null) { + fraction = mInterpolator.getInterpolation(fraction); + } + if (mEvaluator == null) { + return firstValue + fraction * deltaValue; + } else { + return ((Number)mEvaluator.evaluate(fraction, firstValue, lastValue)).floatValue(); + } + } + if (fraction <= 0f) { + final FloatKeyframe prevKeyframe = (FloatKeyframe) mKeyframes.get(0); + final FloatKeyframe nextKeyframe = (FloatKeyframe) mKeyframes.get(1); + float prevValue = prevKeyframe.getFloatValue(); + float nextValue = nextKeyframe.getFloatValue(); + float prevFraction = prevKeyframe.getFraction(); + float nextFraction = nextKeyframe.getFraction(); + final /*Time*/Interpolator interpolator = nextKeyframe.getInterpolator(); + if (interpolator != null) { + fraction = interpolator.getInterpolation(fraction); + } + float intervalFraction = (fraction - prevFraction) / (nextFraction - prevFraction); + return mEvaluator == null ? + prevValue + intervalFraction * (nextValue - prevValue) : + ((Number)mEvaluator.evaluate(intervalFraction, prevValue, nextValue)). + floatValue(); + } else if (fraction >= 1f) { + final FloatKeyframe prevKeyframe = (FloatKeyframe) mKeyframes.get(mNumKeyframes - 2); + final FloatKeyframe nextKeyframe = (FloatKeyframe) mKeyframes.get(mNumKeyframes - 1); + float prevValue = prevKeyframe.getFloatValue(); + float nextValue = nextKeyframe.getFloatValue(); + float prevFraction = prevKeyframe.getFraction(); + float nextFraction = nextKeyframe.getFraction(); + final /*Time*/Interpolator interpolator = nextKeyframe.getInterpolator(); + if (interpolator != null) { + fraction = interpolator.getInterpolation(fraction); + } + float intervalFraction = (fraction - prevFraction) / (nextFraction - prevFraction); + return mEvaluator == null ? + prevValue + intervalFraction * (nextValue - prevValue) : + ((Number)mEvaluator.evaluate(intervalFraction, prevValue, nextValue)). + floatValue(); + } + FloatKeyframe prevKeyframe = (FloatKeyframe) mKeyframes.get(0); + for (int i = 1; i < mNumKeyframes; ++i) { + FloatKeyframe nextKeyframe = (FloatKeyframe) mKeyframes.get(i); + if (fraction < nextKeyframe.getFraction()) { + final /*Time*/Interpolator interpolator = nextKeyframe.getInterpolator(); + if (interpolator != null) { + fraction = interpolator.getInterpolation(fraction); + } + float intervalFraction = (fraction - prevKeyframe.getFraction()) / + (nextKeyframe.getFraction() - prevKeyframe.getFraction()); + float prevValue = prevKeyframe.getFloatValue(); + float nextValue = nextKeyframe.getFloatValue(); + return mEvaluator == null ? + prevValue + intervalFraction * (nextValue - prevValue) : + ((Number)mEvaluator.evaluate(intervalFraction, prevValue, nextValue)). + floatValue(); + } + prevKeyframe = nextKeyframe; + } + // shouldn't get here + return ((Number)mKeyframes.get(mNumKeyframes - 1).getValue()).floatValue(); + } + +} + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/animation/IntEvaluator.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/animation/IntEvaluator.java new file mode 100644 index 000000000..ed5e79ec6 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/animation/IntEvaluator.java @@ -0,0 +1,42 @@ +/* + * 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. + */ + +package com.actionbarsherlock.internal.nineoldandroids.animation; + +/** + * This evaluator can be used to perform type interpolation between int values. + */ +public class IntEvaluator implements TypeEvaluator { + + /** + * This function returns the result of linearly interpolating the start and end values, with + * fraction representing the proportion between the start and end values. The + * calculation is a simple parametric calculation: result = x0 + t * (v1 - v0), + * where x0 is startValue, x1 is endValue, + * and t is fraction. + * + * @param fraction The fraction from the starting to the ending values + * @param startValue The start value; should be of type int or + * Integer + * @param endValue The end value; should be of type int or Integer + * @return A linear interpolation between the start and end values, given the + * fraction parameter. + */ + public Integer evaluate(float fraction, Integer startValue, Integer endValue) { + int startInt = startValue; + return (int)(startInt + fraction * (endValue - startInt)); + } +} \ No newline at end of file diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/animation/IntKeyframeSet.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/animation/IntKeyframeSet.java new file mode 100644 index 000000000..e9215e7f8 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/animation/IntKeyframeSet.java @@ -0,0 +1,135 @@ +/* + * 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. + */ + +package com.actionbarsherlock.internal.nineoldandroids.animation; + +import java.util.ArrayList; +import android.view.animation.Interpolator; + +import com.actionbarsherlock.internal.nineoldandroids.animation.Keyframe.IntKeyframe; + +/** + * This class holds a collection of IntKeyframe objects and is called by ValueAnimator to calculate + * values between those keyframes for a given animation. The class internal to the animation + * package because it is an implementation detail of how Keyframes are stored and used. + * + *

      This type-specific subclass of KeyframeSet, along with the other type-specific subclass for + * float, exists to speed up the getValue() method when there is no custom + * TypeEvaluator set for the animation, so that values can be calculated without autoboxing to the + * Object equivalents of these primitive types.

      + */ +@SuppressWarnings("unchecked") +class IntKeyframeSet extends KeyframeSet { + private int firstValue; + private int lastValue; + private int deltaValue; + private boolean firstTime = true; + + public IntKeyframeSet(IntKeyframe... keyframes) { + super(keyframes); + } + + @Override + public Object getValue(float fraction) { + return getIntValue(fraction); + } + + @Override + public IntKeyframeSet clone() { + ArrayList keyframes = mKeyframes; + int numKeyframes = mKeyframes.size(); + IntKeyframe[] newKeyframes = new IntKeyframe[numKeyframes]; + for (int i = 0; i < numKeyframes; ++i) { + newKeyframes[i] = (IntKeyframe) keyframes.get(i).clone(); + } + IntKeyframeSet newSet = new IntKeyframeSet(newKeyframes); + return newSet; + } + + public int getIntValue(float fraction) { + if (mNumKeyframes == 2) { + if (firstTime) { + firstTime = false; + firstValue = ((IntKeyframe) mKeyframes.get(0)).getIntValue(); + lastValue = ((IntKeyframe) mKeyframes.get(1)).getIntValue(); + deltaValue = lastValue - firstValue; + } + if (mInterpolator != null) { + fraction = mInterpolator.getInterpolation(fraction); + } + if (mEvaluator == null) { + return firstValue + (int)(fraction * deltaValue); + } else { + return ((Number)mEvaluator.evaluate(fraction, firstValue, lastValue)).intValue(); + } + } + if (fraction <= 0f) { + final IntKeyframe prevKeyframe = (IntKeyframe) mKeyframes.get(0); + final IntKeyframe nextKeyframe = (IntKeyframe) mKeyframes.get(1); + int prevValue = prevKeyframe.getIntValue(); + int nextValue = nextKeyframe.getIntValue(); + float prevFraction = prevKeyframe.getFraction(); + float nextFraction = nextKeyframe.getFraction(); + final /*Time*/Interpolator interpolator = nextKeyframe.getInterpolator(); + if (interpolator != null) { + fraction = interpolator.getInterpolation(fraction); + } + float intervalFraction = (fraction - prevFraction) / (nextFraction - prevFraction); + return mEvaluator == null ? + prevValue + (int)(intervalFraction * (nextValue - prevValue)) : + ((Number)mEvaluator.evaluate(intervalFraction, prevValue, nextValue)). + intValue(); + } else if (fraction >= 1f) { + final IntKeyframe prevKeyframe = (IntKeyframe) mKeyframes.get(mNumKeyframes - 2); + final IntKeyframe nextKeyframe = (IntKeyframe) mKeyframes.get(mNumKeyframes - 1); + int prevValue = prevKeyframe.getIntValue(); + int nextValue = nextKeyframe.getIntValue(); + float prevFraction = prevKeyframe.getFraction(); + float nextFraction = nextKeyframe.getFraction(); + final /*Time*/Interpolator interpolator = nextKeyframe.getInterpolator(); + if (interpolator != null) { + fraction = interpolator.getInterpolation(fraction); + } + float intervalFraction = (fraction - prevFraction) / (nextFraction - prevFraction); + return mEvaluator == null ? + prevValue + (int)(intervalFraction * (nextValue - prevValue)) : + ((Number)mEvaluator.evaluate(intervalFraction, prevValue, nextValue)).intValue(); + } + IntKeyframe prevKeyframe = (IntKeyframe) mKeyframes.get(0); + for (int i = 1; i < mNumKeyframes; ++i) { + IntKeyframe nextKeyframe = (IntKeyframe) mKeyframes.get(i); + if (fraction < nextKeyframe.getFraction()) { + final /*Time*/Interpolator interpolator = nextKeyframe.getInterpolator(); + if (interpolator != null) { + fraction = interpolator.getInterpolation(fraction); + } + float intervalFraction = (fraction - prevKeyframe.getFraction()) / + (nextKeyframe.getFraction() - prevKeyframe.getFraction()); + int prevValue = prevKeyframe.getIntValue(); + int nextValue = nextKeyframe.getIntValue(); + return mEvaluator == null ? + prevValue + (int)(intervalFraction * (nextValue - prevValue)) : + ((Number)mEvaluator.evaluate(intervalFraction, prevValue, nextValue)). + intValue(); + } + prevKeyframe = nextKeyframe; + } + // shouldn't get here + return ((Number)mKeyframes.get(mNumKeyframes - 1).getValue()).intValue(); + } + +} + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/animation/Keyframe.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/animation/Keyframe.java new file mode 100644 index 000000000..ab76fa7f6 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/animation/Keyframe.java @@ -0,0 +1,361 @@ +/* + * 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. + */ + +package com.actionbarsherlock.internal.nineoldandroids.animation; + +import android.view.animation.Interpolator; + +/** + * This class holds a time/value pair for an animation. The Keyframe class is used + * by {@link ValueAnimator} to define the values that the animation target will have over the course + * of the animation. As the time proceeds from one keyframe to the other, the value of the + * target object will animate between the value at the previous keyframe and the value at the + * next keyframe. Each keyframe also holds an optional {@link TimeInterpolator} + * object, which defines the time interpolation over the intervalue preceding the keyframe. + * + *

      The Keyframe class itself is abstract. The type-specific factory methods will return + * a subclass of Keyframe specific to the type of value being stored. This is done to improve + * performance when dealing with the most common cases (e.g., float and + * int values). Other types will fall into a more general Keyframe class that + * treats its values as Objects. Unless your animation requires dealing with a custom type + * or a data structure that needs to be animated directly (and evaluated using an implementation + * of {@link TypeEvaluator}), you should stick to using float and int as animations using those + * types have lower runtime overhead than other types.

      + */ +@SuppressWarnings("rawtypes") +public abstract class Keyframe implements Cloneable { + /** + * The time at which mValue will hold true. + */ + float mFraction; + + /** + * The type of the value in this Keyframe. This type is determined at construction time, + * based on the type of the value object passed into the constructor. + */ + Class mValueType; + + /** + * The optional time interpolator for the interval preceding this keyframe. A null interpolator + * (the default) results in linear interpolation over the interval. + */ + private /*Time*/Interpolator mInterpolator = null; + + /** + * Flag to indicate whether this keyframe has a valid value. This flag is used when an + * animation first starts, to populate placeholder keyframes with real values derived + * from the target object. + */ + boolean mHasValue = false; + + /** + * Constructs a Keyframe object with the given time and value. The time defines the + * time, as a proportion of an overall animation's duration, at which the value will hold true + * for the animation. The value for the animation between keyframes will be calculated as + * an interpolation between the values at those keyframes. + * + * @param fraction The time, expressed as a value between 0 and 1, representing the fraction + * of time elapsed of the overall animation duration. + * @param value The value that the object will animate to as the animation time approaches + * the time in this keyframe, and the the value animated from as the time passes the time in + * this keyframe. + */ + public static Keyframe ofInt(float fraction, int value) { + return new IntKeyframe(fraction, value); + } + + /** + * Constructs a Keyframe object with the given time. The value at this time will be derived + * from the target object when the animation first starts (note that this implies that keyframes + * with no initial value must be used as part of an {@link ObjectAnimator}). + * The time defines the + * time, as a proportion of an overall animation's duration, at which the value will hold true + * for the animation. The value for the animation between keyframes will be calculated as + * an interpolation between the values at those keyframes. + * + * @param fraction The time, expressed as a value between 0 and 1, representing the fraction + * of time elapsed of the overall animation duration. + */ + public static Keyframe ofInt(float fraction) { + return new IntKeyframe(fraction); + } + + /** + * Constructs a Keyframe object with the given time and value. The time defines the + * time, as a proportion of an overall animation's duration, at which the value will hold true + * for the animation. The value for the animation between keyframes will be calculated as + * an interpolation between the values at those keyframes. + * + * @param fraction The time, expressed as a value between 0 and 1, representing the fraction + * of time elapsed of the overall animation duration. + * @param value The value that the object will animate to as the animation time approaches + * the time in this keyframe, and the the value animated from as the time passes the time in + * this keyframe. + */ + public static Keyframe ofFloat(float fraction, float value) { + return new FloatKeyframe(fraction, value); + } + + /** + * Constructs a Keyframe object with the given time. The value at this time will be derived + * from the target object when the animation first starts (note that this implies that keyframes + * with no initial value must be used as part of an {@link ObjectAnimator}). + * The time defines the + * time, as a proportion of an overall animation's duration, at which the value will hold true + * for the animation. The value for the animation between keyframes will be calculated as + * an interpolation between the values at those keyframes. + * + * @param fraction The time, expressed as a value between 0 and 1, representing the fraction + * of time elapsed of the overall animation duration. + */ + public static Keyframe ofFloat(float fraction) { + return new FloatKeyframe(fraction); + } + + /** + * Constructs a Keyframe object with the given time and value. The time defines the + * time, as a proportion of an overall animation's duration, at which the value will hold true + * for the animation. The value for the animation between keyframes will be calculated as + * an interpolation between the values at those keyframes. + * + * @param fraction The time, expressed as a value between 0 and 1, representing the fraction + * of time elapsed of the overall animation duration. + * @param value The value that the object will animate to as the animation time approaches + * the time in this keyframe, and the the value animated from as the time passes the time in + * this keyframe. + */ + public static Keyframe ofObject(float fraction, Object value) { + return new ObjectKeyframe(fraction, value); + } + + /** + * Constructs a Keyframe object with the given time. The value at this time will be derived + * from the target object when the animation first starts (note that this implies that keyframes + * with no initial value must be used as part of an {@link ObjectAnimator}). + * The time defines the + * time, as a proportion of an overall animation's duration, at which the value will hold true + * for the animation. The value for the animation between keyframes will be calculated as + * an interpolation between the values at those keyframes. + * + * @param fraction The time, expressed as a value between 0 and 1, representing the fraction + * of time elapsed of the overall animation duration. + */ + public static Keyframe ofObject(float fraction) { + return new ObjectKeyframe(fraction, null); + } + + /** + * Indicates whether this keyframe has a valid value. This method is called internally when + * an {@link ObjectAnimator} first starts; keyframes without values are assigned values at + * that time by deriving the value for the property from the target object. + * + * @return boolean Whether this object has a value assigned. + */ + public boolean hasValue() { + return mHasValue; + } + + /** + * Gets the value for this Keyframe. + * + * @return The value for this Keyframe. + */ + public abstract Object getValue(); + + /** + * Sets the value for this Keyframe. + * + * @param value value for this Keyframe. + */ + public abstract void setValue(Object value); + + /** + * Gets the time for this keyframe, as a fraction of the overall animation duration. + * + * @return The time associated with this keyframe, as a fraction of the overall animation + * duration. This should be a value between 0 and 1. + */ + public float getFraction() { + return mFraction; + } + + /** + * Sets the time for this keyframe, as a fraction of the overall animation duration. + * + * @param fraction time associated with this keyframe, as a fraction of the overall animation + * duration. This should be a value between 0 and 1. + */ + public void setFraction(float fraction) { + mFraction = fraction; + } + + /** + * Gets the optional interpolator for this Keyframe. A value of null indicates + * that there is no interpolation, which is the same as linear interpolation. + * + * @return The optional interpolator for this Keyframe. + */ + public /*Time*/Interpolator getInterpolator() { + return mInterpolator; + } + + /** + * Sets the optional interpolator for this Keyframe. A value of null indicates + * that there is no interpolation, which is the same as linear interpolation. + * + * @return The optional interpolator for this Keyframe. + */ + public void setInterpolator(/*Time*/Interpolator interpolator) { + mInterpolator = interpolator; + } + + /** + * Gets the type of keyframe. This information is used by ValueAnimator to determine the type of + * {@link TypeEvaluator} to use when calculating values between keyframes. The type is based + * on the type of Keyframe created. + * + * @return The type of the value stored in the Keyframe. + */ + public Class getType() { + return mValueType; + } + + @Override + public abstract Keyframe clone(); + + /** + * This internal subclass is used for all types which are not int or float. + */ + static class ObjectKeyframe extends Keyframe { + + /** + * The value of the animation at the time mFraction. + */ + Object mValue; + + ObjectKeyframe(float fraction, Object value) { + mFraction = fraction; + mValue = value; + mHasValue = (value != null); + mValueType = mHasValue ? value.getClass() : Object.class; + } + + public Object getValue() { + return mValue; + } + + public void setValue(Object value) { + mValue = value; + mHasValue = (value != null); + } + + @Override + public ObjectKeyframe clone() { + ObjectKeyframe kfClone = new ObjectKeyframe(getFraction(), mValue); + kfClone.setInterpolator(getInterpolator()); + return kfClone; + } + } + + /** + * Internal subclass used when the keyframe value is of type int. + */ + static class IntKeyframe extends Keyframe { + + /** + * The value of the animation at the time mFraction. + */ + int mValue; + + IntKeyframe(float fraction, int value) { + mFraction = fraction; + mValue = value; + mValueType = int.class; + mHasValue = true; + } + + IntKeyframe(float fraction) { + mFraction = fraction; + mValueType = int.class; + } + + public int getIntValue() { + return mValue; + } + + public Object getValue() { + return mValue; + } + + public void setValue(Object value) { + if (value != null && value.getClass() == Integer.class) { + mValue = ((Integer)value).intValue(); + mHasValue = true; + } + } + + @Override + public IntKeyframe clone() { + IntKeyframe kfClone = new IntKeyframe(getFraction(), mValue); + kfClone.setInterpolator(getInterpolator()); + return kfClone; + } + } + + /** + * Internal subclass used when the keyframe value is of type float. + */ + static class FloatKeyframe extends Keyframe { + /** + * The value of the animation at the time mFraction. + */ + float mValue; + + FloatKeyframe(float fraction, float value) { + mFraction = fraction; + mValue = value; + mValueType = float.class; + mHasValue = true; + } + + FloatKeyframe(float fraction) { + mFraction = fraction; + mValueType = float.class; + } + + public float getFloatValue() { + return mValue; + } + + public Object getValue() { + return mValue; + } + + public void setValue(Object value) { + if (value != null && value.getClass() == Float.class) { + mValue = ((Float)value).floatValue(); + mHasValue = true; + } + } + + @Override + public FloatKeyframe clone() { + FloatKeyframe kfClone = new FloatKeyframe(getFraction(), mValue); + kfClone.setInterpolator(getInterpolator()); + return kfClone; + } + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/animation/KeyframeSet.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/animation/KeyframeSet.java new file mode 100644 index 000000000..a71e1ad3c --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/animation/KeyframeSet.java @@ -0,0 +1,227 @@ +/* + * 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. + */ + +package com.actionbarsherlock.internal.nineoldandroids.animation; + +import java.util.ArrayList; +import java.util.Arrays; +import android.view.animation.Interpolator; + +import com.actionbarsherlock.internal.nineoldandroids.animation.Keyframe.FloatKeyframe; +import com.actionbarsherlock.internal.nineoldandroids.animation.Keyframe.IntKeyframe; +import com.actionbarsherlock.internal.nineoldandroids.animation.Keyframe.ObjectKeyframe; + +/** + * This class holds a collection of Keyframe objects and is called by ValueAnimator to calculate + * values between those keyframes for a given animation. The class internal to the animation + * package because it is an implementation detail of how Keyframes are stored and used. + */ +@SuppressWarnings({"rawtypes", "unchecked"}) +class KeyframeSet { + + int mNumKeyframes; + + Keyframe mFirstKeyframe; + Keyframe mLastKeyframe; + /*Time*/Interpolator mInterpolator; // only used in the 2-keyframe case + ArrayList mKeyframes; // only used when there are not 2 keyframes + TypeEvaluator mEvaluator; + + + public KeyframeSet(Keyframe... keyframes) { + mNumKeyframes = keyframes.length; + mKeyframes = new ArrayList(); + mKeyframes.addAll(Arrays.asList(keyframes)); + mFirstKeyframe = mKeyframes.get(0); + mLastKeyframe = mKeyframes.get(mNumKeyframes - 1); + mInterpolator = mLastKeyframe.getInterpolator(); + } + + public static KeyframeSet ofInt(int... values) { + int numKeyframes = values.length; + IntKeyframe keyframes[] = new IntKeyframe[Math.max(numKeyframes,2)]; + if (numKeyframes == 1) { + keyframes[0] = (IntKeyframe) Keyframe.ofInt(0f); + keyframes[1] = (IntKeyframe) Keyframe.ofInt(1f, values[0]); + } else { + keyframes[0] = (IntKeyframe) Keyframe.ofInt(0f, values[0]); + for (int i = 1; i < numKeyframes; ++i) { + keyframes[i] = (IntKeyframe) Keyframe.ofInt((float) i / (numKeyframes - 1), values[i]); + } + } + return new IntKeyframeSet(keyframes); + } + + public static KeyframeSet ofFloat(float... values) { + int numKeyframes = values.length; + FloatKeyframe keyframes[] = new FloatKeyframe[Math.max(numKeyframes,2)]; + if (numKeyframes == 1) { + keyframes[0] = (FloatKeyframe) Keyframe.ofFloat(0f); + keyframes[1] = (FloatKeyframe) Keyframe.ofFloat(1f, values[0]); + } else { + keyframes[0] = (FloatKeyframe) Keyframe.ofFloat(0f, values[0]); + for (int i = 1; i < numKeyframes; ++i) { + keyframes[i] = (FloatKeyframe) Keyframe.ofFloat((float) i / (numKeyframes - 1), values[i]); + } + } + return new FloatKeyframeSet(keyframes); + } + + public static KeyframeSet ofKeyframe(Keyframe... keyframes) { + // if all keyframes of same primitive type, create the appropriate KeyframeSet + int numKeyframes = keyframes.length; + boolean hasFloat = false; + boolean hasInt = false; + boolean hasOther = false; + for (int i = 0; i < numKeyframes; ++i) { + if (keyframes[i] instanceof FloatKeyframe) { + hasFloat = true; + } else if (keyframes[i] instanceof IntKeyframe) { + hasInt = true; + } else { + hasOther = true; + } + } + if (hasFloat && !hasInt && !hasOther) { + FloatKeyframe floatKeyframes[] = new FloatKeyframe[numKeyframes]; + for (int i = 0; i < numKeyframes; ++i) { + floatKeyframes[i] = (FloatKeyframe) keyframes[i]; + } + return new FloatKeyframeSet(floatKeyframes); + } else if (hasInt && !hasFloat && !hasOther) { + IntKeyframe intKeyframes[] = new IntKeyframe[numKeyframes]; + for (int i = 0; i < numKeyframes; ++i) { + intKeyframes[i] = (IntKeyframe) keyframes[i]; + } + return new IntKeyframeSet(intKeyframes); + } else { + return new KeyframeSet(keyframes); + } + } + + public static KeyframeSet ofObject(Object... values) { + int numKeyframes = values.length; + ObjectKeyframe keyframes[] = new ObjectKeyframe[Math.max(numKeyframes,2)]; + if (numKeyframes == 1) { + keyframes[0] = (ObjectKeyframe) Keyframe.ofObject(0f); + keyframes[1] = (ObjectKeyframe) Keyframe.ofObject(1f, values[0]); + } else { + keyframes[0] = (ObjectKeyframe) Keyframe.ofObject(0f, values[0]); + for (int i = 1; i < numKeyframes; ++i) { + keyframes[i] = (ObjectKeyframe) Keyframe.ofObject((float) i / (numKeyframes - 1), values[i]); + } + } + return new KeyframeSet(keyframes); + } + + /** + * Sets the TypeEvaluator to be used when calculating animated values. This object + * is required only for KeyframeSets that are not either IntKeyframeSet or FloatKeyframeSet, + * both of which assume their own evaluator to speed up calculations with those primitive + * types. + * + * @param evaluator The TypeEvaluator to be used to calculate animated values. + */ + public void setEvaluator(TypeEvaluator evaluator) { + mEvaluator = evaluator; + } + + @Override + public KeyframeSet clone() { + ArrayList keyframes = mKeyframes; + int numKeyframes = mKeyframes.size(); + Keyframe[] newKeyframes = new Keyframe[numKeyframes]; + for (int i = 0; i < numKeyframes; ++i) { + newKeyframes[i] = keyframes.get(i).clone(); + } + KeyframeSet newSet = new KeyframeSet(newKeyframes); + return newSet; + } + + /** + * Gets the animated value, given the elapsed fraction of the animation (interpolated by the + * animation's interpolator) and the evaluator used to calculate in-between values. This + * function maps the input fraction to the appropriate keyframe interval and a fraction + * between them and returns the interpolated value. Note that the input fraction may fall + * outside the [0-1] bounds, if the animation's interpolator made that happen (e.g., a + * spring interpolation that might send the fraction past 1.0). We handle this situation by + * just using the two keyframes at the appropriate end when the value is outside those bounds. + * + * @param fraction The elapsed fraction of the animation + * @return The animated value. + */ + public Object getValue(float fraction) { + + // Special-case optimization for the common case of only two keyframes + if (mNumKeyframes == 2) { + if (mInterpolator != null) { + fraction = mInterpolator.getInterpolation(fraction); + } + return mEvaluator.evaluate(fraction, mFirstKeyframe.getValue(), + mLastKeyframe.getValue()); + } + if (fraction <= 0f) { + final Keyframe nextKeyframe = mKeyframes.get(1); + final /*Time*/Interpolator interpolator = nextKeyframe.getInterpolator(); + if (interpolator != null) { + fraction = interpolator.getInterpolation(fraction); + } + final float prevFraction = mFirstKeyframe.getFraction(); + float intervalFraction = (fraction - prevFraction) / + (nextKeyframe.getFraction() - prevFraction); + return mEvaluator.evaluate(intervalFraction, mFirstKeyframe.getValue(), + nextKeyframe.getValue()); + } else if (fraction >= 1f) { + final Keyframe prevKeyframe = mKeyframes.get(mNumKeyframes - 2); + final /*Time*/Interpolator interpolator = mLastKeyframe.getInterpolator(); + if (interpolator != null) { + fraction = interpolator.getInterpolation(fraction); + } + final float prevFraction = prevKeyframe.getFraction(); + float intervalFraction = (fraction - prevFraction) / + (mLastKeyframe.getFraction() - prevFraction); + return mEvaluator.evaluate(intervalFraction, prevKeyframe.getValue(), + mLastKeyframe.getValue()); + } + Keyframe prevKeyframe = mFirstKeyframe; + for (int i = 1; i < mNumKeyframes; ++i) { + Keyframe nextKeyframe = mKeyframes.get(i); + if (fraction < nextKeyframe.getFraction()) { + final /*Time*/Interpolator interpolator = nextKeyframe.getInterpolator(); + if (interpolator != null) { + fraction = interpolator.getInterpolation(fraction); + } + final float prevFraction = prevKeyframe.getFraction(); + float intervalFraction = (fraction - prevFraction) / + (nextKeyframe.getFraction() - prevFraction); + return mEvaluator.evaluate(intervalFraction, prevKeyframe.getValue(), + nextKeyframe.getValue()); + } + prevKeyframe = nextKeyframe; + } + // shouldn't reach here + return mLastKeyframe.getValue(); + } + + @Override + public String toString() { + String returnVal = " "; + for (int i = 0; i < mNumKeyframes; ++i) { + returnVal += mKeyframes.get(i).getValue() + " "; + } + return returnVal; + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/animation/ObjectAnimator.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/animation/ObjectAnimator.java new file mode 100644 index 000000000..21d15c02a --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/animation/ObjectAnimator.java @@ -0,0 +1,491 @@ +/* + * 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. + */ + +package com.actionbarsherlock.internal.nineoldandroids.animation; + +import android.util.Log; +//import android.util.Property; + +//import java.lang.reflect.Method; +import java.util.ArrayList; + +/** + * This subclass of {@link ValueAnimator} provides support for animating properties on target objects. + * The constructors of this class take parameters to define the target object that will be animated + * as well as the name of the property that will be animated. Appropriate set/get functions + * are then determined internally and the animation will call these functions as necessary to + * animate the property. + * + * @see #setPropertyName(String) + * + */ +@SuppressWarnings("rawtypes") +public final class ObjectAnimator extends ValueAnimator { + private static final boolean DBG = false; + + // The target object on which the property exists, set in the constructor + private Object mTarget; + + private String mPropertyName; + + //private Property mProperty; + + /** + * Sets the name of the property that will be animated. This name is used to derive + * a setter function that will be called to set animated values. + * For example, a property name of foo will result + * in a call to the function setFoo() on the target object. If either + * valueFrom or valueTo is null, then a getter function will + * also be derived and called. + * + *

      For best performance of the mechanism that calls the setter function determined by the + * name of the property being animated, use float or int typed values, + * and make the setter function for those properties have a void return value. This + * will cause the code to take an optimized path for these constrained circumstances. Other + * property types and return types will work, but will have more overhead in processing + * the requests due to normal reflection mechanisms.

      + * + *

      Note that the setter function derived from this property name + * must take the same parameter type as the + * valueFrom and valueTo properties, otherwise the call to + * the setter function will fail.

      + * + *

      If this ObjectAnimator has been set up to animate several properties together, + * using more than one PropertyValuesHolder objects, then setting the propertyName simply + * sets the propertyName in the first of those PropertyValuesHolder objects.

      + * + * @param propertyName The name of the property being animated. Should not be null. + */ + public void setPropertyName(String propertyName) { + // mValues could be null if this is being constructed piecemeal. Just record the + // propertyName to be used later when setValues() is called if so. + if (mValues != null) { + PropertyValuesHolder valuesHolder = mValues[0]; + String oldName = valuesHolder.getPropertyName(); + valuesHolder.setPropertyName(propertyName); + mValuesMap.remove(oldName); + mValuesMap.put(propertyName, valuesHolder); + } + mPropertyName = propertyName; + // New property/values/target should cause re-initialization prior to starting + mInitialized = false; + } + + /** + * Sets the property that will be animated. Property objects will take precedence over + * properties specified by the {@link #setPropertyName(String)} method. Animations should + * be set up to use one or the other, not both. + * + * @param property The property being animated. Should not be null. + */ + //public void setProperty(Property property) { + // // mValues could be null if this is being constructed piecemeal. Just record the + // // propertyName to be used later when setValues() is called if so. + // if (mValues != null) { + // PropertyValuesHolder valuesHolder = mValues[0]; + // String oldName = valuesHolder.getPropertyName(); + // valuesHolder.setProperty(property); + // mValuesMap.remove(oldName); + // mValuesMap.put(mPropertyName, valuesHolder); + // } + // if (mProperty != null) { + // mPropertyName = property.getName(); + // } + // mProperty = property; + // // New property/values/target should cause re-initialization prior to starting + // mInitialized = false; + //} + + /** + * Gets the name of the property that will be animated. This name will be used to derive + * a setter function that will be called to set animated values. + * For example, a property name of foo will result + * in a call to the function setFoo() on the target object. If either + * valueFrom or valueTo is null, then a getter function will + * also be derived and called. + */ + public String getPropertyName() { + return mPropertyName; + } + + /** + * Creates a new ObjectAnimator object. This default constructor is primarily for + * use internally; the other constructors which take parameters are more generally + * useful. + */ + public ObjectAnimator() { + } + + /** + * Private utility constructor that initializes the target object and name of the + * property being animated. + * + * @param target The object whose property is to be animated. This object should + * have a public method on it called setName(), where name is + * the value of the propertyName parameter. + * @param propertyName The name of the property being animated. + */ + private ObjectAnimator(Object target, String propertyName) { + mTarget = target; + setPropertyName(propertyName); + } + + /** + * Private utility constructor that initializes the target object and property being animated. + * + * @param target The object whose property is to be animated. + * @param property The property being animated. + */ + //private ObjectAnimator(T target, Property property) { + // mTarget = target; + // setProperty(property); + //} + + /** + * Constructs and returns an ObjectAnimator that animates between int values. A single + * value implies that that value is the one being animated to. Two values imply a starting + * and ending values. More than two values imply a starting value, values to animate through + * along the way, and an ending value (these values will be distributed evenly across + * the duration of the animation). + * + * @param target The object whose property is to be animated. This object should + * have a public method on it called setName(), where name is + * the value of the propertyName parameter. + * @param propertyName The name of the property being animated. + * @param values A set of values that the animation will animate between over time. + * @return An ObjectAnimator object that is set up to animate between the given values. + */ + public static ObjectAnimator ofInt(Object target, String propertyName, int... values) { + ObjectAnimator anim = new ObjectAnimator(target, propertyName); + anim.setIntValues(values); + return anim; + } + + /** + * Constructs and returns an ObjectAnimator that animates between int values. A single + * value implies that that value is the one being animated to. Two values imply a starting + * and ending values. More than two values imply a starting value, values to animate through + * along the way, and an ending value (these values will be distributed evenly across + * the duration of the animation). + * + * @param target The object whose property is to be animated. + * @param property The property being animated. + * @param values A set of values that the animation will animate between over time. + * @return An ObjectAnimator object that is set up to animate between the given values. + */ + //public static ObjectAnimator ofInt(T target, Property property, int... values) { + // ObjectAnimator anim = new ObjectAnimator(target, property); + // anim.setIntValues(values); + // return anim; + //} + + /** + * Constructs and returns an ObjectAnimator that animates between float values. A single + * value implies that that value is the one being animated to. Two values imply a starting + * and ending values. More than two values imply a starting value, values to animate through + * along the way, and an ending value (these values will be distributed evenly across + * the duration of the animation). + * + * @param target The object whose property is to be animated. This object should + * have a public method on it called setName(), where name is + * the value of the propertyName parameter. + * @param propertyName The name of the property being animated. + * @param values A set of values that the animation will animate between over time. + * @return An ObjectAnimator object that is set up to animate between the given values. + */ + public static ObjectAnimator ofFloat(Object target, String propertyName, float... values) { + ObjectAnimator anim = new ObjectAnimator(target, propertyName); + anim.setFloatValues(values); + return anim; + } + + /** + * Constructs and returns an ObjectAnimator that animates between float values. A single + * value implies that that value is the one being animated to. Two values imply a starting + * and ending values. More than two values imply a starting value, values to animate through + * along the way, and an ending value (these values will be distributed evenly across + * the duration of the animation). + * + * @param target The object whose property is to be animated. + * @param property The property being animated. + * @param values A set of values that the animation will animate between over time. + * @return An ObjectAnimator object that is set up to animate between the given values. + */ + //public static ObjectAnimator ofFloat(T target, Property property, + // float... values) { + // ObjectAnimator anim = new ObjectAnimator(target, property); + // anim.setFloatValues(values); + // return anim; + //} + + /** + * Constructs and returns an ObjectAnimator that animates between Object values. A single + * value implies that that value is the one being animated to. Two values imply a starting + * and ending values. More than two values imply a starting value, values to animate through + * along the way, and an ending value (these values will be distributed evenly across + * the duration of the animation). + * + * @param target The object whose property is to be animated. This object should + * have a public method on it called setName(), where name is + * the value of the propertyName parameter. + * @param propertyName The name of the property being animated. + * @param evaluator A TypeEvaluator that will be called on each animation frame to + * provide the necessary interpolation between the Object values to derive the animated + * value. + * @param values A set of values that the animation will animate between over time. + * @return An ObjectAnimator object that is set up to animate between the given values. + */ + public static ObjectAnimator ofObject(Object target, String propertyName, + TypeEvaluator evaluator, Object... values) { + ObjectAnimator anim = new ObjectAnimator(target, propertyName); + anim.setObjectValues(values); + anim.setEvaluator(evaluator); + return anim; + } + + /** + * Constructs and returns an ObjectAnimator that animates between Object values. A single + * value implies that that value is the one being animated to. Two values imply a starting + * and ending values. More than two values imply a starting value, values to animate through + * along the way, and an ending value (these values will be distributed evenly across + * the duration of the animation). + * + * @param target The object whose property is to be animated. + * @param property The property being animated. + * @param evaluator A TypeEvaluator that will be called on each animation frame to + * provide the necessary interpolation between the Object values to derive the animated + * value. + * @param values A set of values that the animation will animate between over time. + * @return An ObjectAnimator object that is set up to animate between the given values. + */ + //public static ObjectAnimator ofObject(T target, Property property, + // TypeEvaluator evaluator, V... values) { + // ObjectAnimator anim = new ObjectAnimator(target, property); + // anim.setObjectValues(values); + // anim.setEvaluator(evaluator); + // return anim; + //} + + /** + * Constructs and returns an ObjectAnimator that animates between the sets of values specified + * in PropertyValueHolder objects. This variant should be used when animating + * several properties at once with the same ObjectAnimator, since PropertyValuesHolder allows + * you to associate a set of animation values with a property name. + * + * @param target The object whose property is to be animated. Depending on how the + * PropertyValuesObjects were constructed, the target object should either have the {@link + * android.util.Property} objects used to construct the PropertyValuesHolder objects or (if the + * PropertyValuesHOlder objects were created with property names) the target object should have + * public methods on it called setName(), where name is the name of + * the property passed in as the propertyName parameter for each of the + * PropertyValuesHolder objects. + * @param values A set of PropertyValuesHolder objects whose values will be animated between + * over time. + * @return An ObjectAnimator object that is set up to animate between the given values. + */ + public static ObjectAnimator ofPropertyValuesHolder(Object target, + PropertyValuesHolder... values) { + ObjectAnimator anim = new ObjectAnimator(); + anim.mTarget = target; + anim.setValues(values); + return anim; + } + + @Override + public void setIntValues(int... values) { + if (mValues == null || mValues.length == 0) { + // No values yet - this animator is being constructed piecemeal. Init the values with + // whatever the current propertyName is + //if (mProperty != null) { + // setValues(PropertyValuesHolder.ofInt(mProperty, values)); + //} else { + setValues(PropertyValuesHolder.ofInt(mPropertyName, values)); + //} + } else { + super.setIntValues(values); + } + } + + @Override + public void setFloatValues(float... values) { + if (mValues == null || mValues.length == 0) { + // No values yet - this animator is being constructed piecemeal. Init the values with + // whatever the current propertyName is + //if (mProperty != null) { + // setValues(PropertyValuesHolder.ofFloat(mProperty, values)); + //} else { + setValues(PropertyValuesHolder.ofFloat(mPropertyName, values)); + //} + } else { + super.setFloatValues(values); + } + } + + @Override + public void setObjectValues(Object... values) { + if (mValues == null || mValues.length == 0) { + // No values yet - this animator is being constructed piecemeal. Init the values with + // whatever the current propertyName is + //if (mProperty != null) { + // setValues(PropertyValuesHolder.ofObject(mProperty, (TypeEvaluator)null, values)); + //} else { + setValues(PropertyValuesHolder.ofObject(mPropertyName, (TypeEvaluator)null, values)); + //} + } else { + super.setObjectValues(values); + } + } + + @Override + public void start() { + if (DBG) { + Log.d("ObjectAnimator", "Anim target, duration: " + mTarget + ", " + getDuration()); + for (int i = 0; i < mValues.length; ++i) { + PropertyValuesHolder pvh = mValues[i]; + ArrayList keyframes = pvh.mKeyframeSet.mKeyframes; + Log.d("ObjectAnimator", " Values[" + i + "]: " + + pvh.getPropertyName() + ", " + keyframes.get(0).getValue() + ", " + + keyframes.get(pvh.mKeyframeSet.mNumKeyframes - 1).getValue()); + } + } + super.start(); + } + + /** + * This function is called immediately before processing the first animation + * frame of an animation. If there is a nonzero startDelay, the + * function is called after that delay ends. + * It takes care of the final initialization steps for the + * animation. This includes setting mEvaluator, if the user has not yet + * set it up, and the setter/getter methods, if the user did not supply + * them. + * + *

      Overriders of this method should call the superclass method to cause + * internal mechanisms to be set up correctly.

      + */ + @Override + void initAnimation() { + if (!mInitialized) { + // mValueType may change due to setter/getter setup; do this before calling super.init(), + // which uses mValueType to set up the default type evaluator. + int numValues = mValues.length; + for (int i = 0; i < numValues; ++i) { + mValues[i].setupSetterAndGetter(mTarget); + } + super.initAnimation(); + } + } + + /** + * Sets the length of the animation. The default duration is 300 milliseconds. + * + * @param duration The length of the animation, in milliseconds. + * @return ObjectAnimator The object called with setDuration(). This return + * value makes it easier to compose statements together that construct and then set the + * duration, as in + * ObjectAnimator.ofInt(target, propertyName, 0, 10).setDuration(500).start(). + */ + @Override + public ObjectAnimator setDuration(long duration) { + super.setDuration(duration); + return this; + } + + + /** + * The target object whose property will be animated by this animation + * + * @return The object being animated + */ + public Object getTarget() { + return mTarget; + } + + /** + * Sets the target object whose property will be animated by this animation + * + * @param target The object being animated + */ + @Override + public void setTarget(Object target) { + if (mTarget != target) { + final Object oldTarget = mTarget; + mTarget = target; + if (oldTarget != null && target != null && oldTarget.getClass() == target.getClass()) { + return; + } + // New target type should cause re-initialization prior to starting + mInitialized = false; + } + } + + @Override + public void setupStartValues() { + initAnimation(); + int numValues = mValues.length; + for (int i = 0; i < numValues; ++i) { + mValues[i].setupStartValue(mTarget); + } + } + + @Override + public void setupEndValues() { + initAnimation(); + int numValues = mValues.length; + for (int i = 0; i < numValues; ++i) { + mValues[i].setupEndValue(mTarget); + } + } + + /** + * This method is called with the elapsed fraction of the animation during every + * animation frame. This function turns the elapsed fraction into an interpolated fraction + * and then into an animated value (from the evaluator. The function is called mostly during + * animation updates, but it is also called when the end() + * function is called, to set the final value on the property. + * + *

      Overrides of this method must call the superclass to perform the calculation + * of the animated value.

      + * + * @param fraction The elapsed fraction of the animation. + */ + @Override + void animateValue(float fraction) { + super.animateValue(fraction); + int numValues = mValues.length; + for (int i = 0; i < numValues; ++i) { + mValues[i].setAnimatedValue(mTarget); + } + } + + @Override + public ObjectAnimator clone() { + final ObjectAnimator anim = (ObjectAnimator) super.clone(); + return anim; + } + + @Override + public String toString() { + String returnVal = "ObjectAnimator@" + Integer.toHexString(hashCode()) + ", target " + + mTarget; + if (mValues != null) { + for (int i = 0; i < mValues.length; ++i) { + returnVal += "\n " + mValues[i].toString(); + } + } + return returnVal; + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder.java new file mode 100644 index 000000000..84f7504ab --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder.java @@ -0,0 +1,1012 @@ +/* + * 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. + */ + +package com.actionbarsherlock.internal.nineoldandroids.animation; + +//import android.util.FloatProperty; +//import android.util.IntProperty; +import android.util.Log; +//import android.util.Property; + +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.util.HashMap; +import java.util.concurrent.locks.ReentrantReadWriteLock; + +/** + * This class holds information about a property and the values that that property + * should take on during an animation. PropertyValuesHolder objects can be used to create + * animations with ValueAnimator or ObjectAnimator that operate on several different properties + * in parallel. + */ +@SuppressWarnings({"rawtypes", "unchecked"}) +public class PropertyValuesHolder implements Cloneable { + + /** + * The name of the property associated with the values. This need not be a real property, + * unless this object is being used with ObjectAnimator. But this is the name by which + * aniamted values are looked up with getAnimatedValue(String) in ValueAnimator. + */ + String mPropertyName; + + /** + * @hide + */ + //protected Property mProperty; + + /** + * The setter function, if needed. ObjectAnimator hands off this functionality to + * PropertyValuesHolder, since it holds all of the per-property information. This + * property is automatically + * derived when the animation starts in setupSetterAndGetter() if using ObjectAnimator. + */ + Method mSetter = null; + + /** + * The getter function, if needed. ObjectAnimator hands off this functionality to + * PropertyValuesHolder, since it holds all of the per-property information. This + * property is automatically + * derived when the animation starts in setupSetterAndGetter() if using ObjectAnimator. + * The getter is only derived and used if one of the values is null. + */ + private Method mGetter = null; + + /** + * The type of values supplied. This information is used both in deriving the setter/getter + * functions and in deriving the type of TypeEvaluator. + */ + Class mValueType; + + /** + * The set of keyframes (time/value pairs) that define this animation. + */ + KeyframeSet mKeyframeSet = null; + + + // type evaluators for the primitive types handled by this implementation + private static final TypeEvaluator sIntEvaluator = new IntEvaluator(); + private static final TypeEvaluator sFloatEvaluator = new FloatEvaluator(); + + // We try several different types when searching for appropriate setter/getter functions. + // The caller may have supplied values in a type that does not match the setter/getter + // functions (such as the integers 0 and 1 to represent floating point values for alpha). + // Also, the use of generics in constructors means that we end up with the Object versions + // of primitive types (Float vs. float). But most likely, the setter/getter functions + // will take primitive types instead. + // So we supply an ordered array of other types to try before giving up. + private static Class[] FLOAT_VARIANTS = {float.class, Float.class, double.class, int.class, + Double.class, Integer.class}; + private static Class[] INTEGER_VARIANTS = {int.class, Integer.class, float.class, double.class, + Float.class, Double.class}; + private static Class[] DOUBLE_VARIANTS = {double.class, Double.class, float.class, int.class, + Float.class, Integer.class}; + + // These maps hold all property entries for a particular class. This map + // is used to speed up property/setter/getter lookups for a given class/property + // combination. No need to use reflection on the combination more than once. + private static final HashMap> sSetterPropertyMap = + new HashMap>(); + private static final HashMap> sGetterPropertyMap = + new HashMap>(); + + // This lock is used to ensure that only one thread is accessing the property maps + // at a time. + final ReentrantReadWriteLock mPropertyMapLock = new ReentrantReadWriteLock(); + + // Used to pass single value to varargs parameter in setter invocation + final Object[] mTmpValueArray = new Object[1]; + + /** + * The type evaluator used to calculate the animated values. This evaluator is determined + * automatically based on the type of the start/end objects passed into the constructor, + * but the system only knows about the primitive types int and float. Any other + * type will need to set the evaluator to a custom evaluator for that type. + */ + private TypeEvaluator mEvaluator; + + /** + * The value most recently calculated by calculateValue(). This is set during + * that function and might be retrieved later either by ValueAnimator.animatedValue() or + * by the property-setting logic in ObjectAnimator.animatedValue(). + */ + private Object mAnimatedValue; + + /** + * Internal utility constructor, used by the factory methods to set the property name. + * @param propertyName The name of the property for this holder. + */ + private PropertyValuesHolder(String propertyName) { + mPropertyName = propertyName; + } + + /** + * Internal utility constructor, used by the factory methods to set the property. + * @param property The property for this holder. + */ + //private PropertyValuesHolder(Property property) { + // mProperty = property; + // if (property != null) { + // mPropertyName = property.getName(); + // } + //} + + /** + * Constructs and returns a PropertyValuesHolder with a given property name and + * set of int values. + * @param propertyName The name of the property being animated. + * @param values The values that the named property will animate between. + * @return PropertyValuesHolder The constructed PropertyValuesHolder object. + */ + public static PropertyValuesHolder ofInt(String propertyName, int... values) { + return new IntPropertyValuesHolder(propertyName, values); + } + + /** + * Constructs and returns a PropertyValuesHolder with a given property and + * set of int values. + * @param property The property being animated. Should not be null. + * @param values The values that the property will animate between. + * @return PropertyValuesHolder The constructed PropertyValuesHolder object. + */ + //public static PropertyValuesHolder ofInt(Property property, int... values) { + // return new IntPropertyValuesHolder(property, values); + //} + + /** + * Constructs and returns a PropertyValuesHolder with a given property name and + * set of float values. + * @param propertyName The name of the property being animated. + * @param values The values that the named property will animate between. + * @return PropertyValuesHolder The constructed PropertyValuesHolder object. + */ + public static PropertyValuesHolder ofFloat(String propertyName, float... values) { + return new FloatPropertyValuesHolder(propertyName, values); + } + + /** + * Constructs and returns a PropertyValuesHolder with a given property and + * set of float values. + * @param property The property being animated. Should not be null. + * @param values The values that the property will animate between. + * @return PropertyValuesHolder The constructed PropertyValuesHolder object. + */ + //public static PropertyValuesHolder ofFloat(Property property, float... values) { + // return new FloatPropertyValuesHolder(property, values); + //} + + /** + * Constructs and returns a PropertyValuesHolder with a given property name and + * set of Object values. This variant also takes a TypeEvaluator because the system + * cannot automatically interpolate between objects of unknown type. + * + * @param propertyName The name of the property being animated. + * @param evaluator A TypeEvaluator that will be called on each animation frame to + * provide the necessary interpolation between the Object values to derive the animated + * value. + * @param values The values that the named property will animate between. + * @return PropertyValuesHolder The constructed PropertyValuesHolder object. + */ + public static PropertyValuesHolder ofObject(String propertyName, TypeEvaluator evaluator, + Object... values) { + PropertyValuesHolder pvh = new PropertyValuesHolder(propertyName); + pvh.setObjectValues(values); + pvh.setEvaluator(evaluator); + return pvh; + } + + /** + * Constructs and returns a PropertyValuesHolder with a given property and + * set of Object values. This variant also takes a TypeEvaluator because the system + * cannot automatically interpolate between objects of unknown type. + * + * @param property The property being animated. Should not be null. + * @param evaluator A TypeEvaluator that will be called on each animation frame to + * provide the necessary interpolation between the Object values to derive the animated + * value. + * @param values The values that the property will animate between. + * @return PropertyValuesHolder The constructed PropertyValuesHolder object. + */ + //public static PropertyValuesHolder ofObject(Property property, + // TypeEvaluator evaluator, V... values) { + // PropertyValuesHolder pvh = new PropertyValuesHolder(property); + // pvh.setObjectValues(values); + // pvh.setEvaluator(evaluator); + // return pvh; + //} + + /** + * Constructs and returns a PropertyValuesHolder object with the specified property name and set + * of values. These values can be of any type, but the type should be consistent so that + * an appropriate {@link android.animation.TypeEvaluator} can be found that matches + * the common type. + *

      If there is only one value, it is assumed to be the end value of an animation, + * and an initial value will be derived, if possible, by calling a getter function + * on the object. Also, if any value is null, the value will be filled in when the animation + * starts in the same way. This mechanism of automatically getting null values only works + * if the PropertyValuesHolder object is used in conjunction + * {@link ObjectAnimator}, and with a getter function + * derived automatically from propertyName, since otherwise PropertyValuesHolder has + * no way of determining what the value should be. + * @param propertyName The name of the property associated with this set of values. This + * can be the actual property name to be used when using a ObjectAnimator object, or + * just a name used to get animated values, such as if this object is used with an + * ValueAnimator object. + * @param values The set of values to animate between. + */ + public static PropertyValuesHolder ofKeyframe(String propertyName, Keyframe... values) { + KeyframeSet keyframeSet = KeyframeSet.ofKeyframe(values); + if (keyframeSet instanceof IntKeyframeSet) { + return new IntPropertyValuesHolder(propertyName, (IntKeyframeSet) keyframeSet); + } else if (keyframeSet instanceof FloatKeyframeSet) { + return new FloatPropertyValuesHolder(propertyName, (FloatKeyframeSet) keyframeSet); + } + else { + PropertyValuesHolder pvh = new PropertyValuesHolder(propertyName); + pvh.mKeyframeSet = keyframeSet; + pvh.mValueType = values[0].getType(); + return pvh; + } + } + + /** + * Constructs and returns a PropertyValuesHolder object with the specified property and set + * of values. These values can be of any type, but the type should be consistent so that + * an appropriate {@link android.animation.TypeEvaluator} can be found that matches + * the common type. + *

      If there is only one value, it is assumed to be the end value of an animation, + * and an initial value will be derived, if possible, by calling the property's + * {@link android.util.Property#get(Object)} function. + * Also, if any value is null, the value will be filled in when the animation + * starts in the same way. This mechanism of automatically getting null values only works + * if the PropertyValuesHolder object is used in conjunction with + * {@link ObjectAnimator}, since otherwise PropertyValuesHolder has + * no way of determining what the value should be. + * @param property The property associated with this set of values. Should not be null. + * @param values The set of values to animate between. + */ + //public static PropertyValuesHolder ofKeyframe(Property property, Keyframe... values) { + // KeyframeSet keyframeSet = KeyframeSet.ofKeyframe(values); + // if (keyframeSet instanceof IntKeyframeSet) { + // return new IntPropertyValuesHolder(property, (IntKeyframeSet) keyframeSet); + // } else if (keyframeSet instanceof FloatKeyframeSet) { + // return new FloatPropertyValuesHolder(property, (FloatKeyframeSet) keyframeSet); + // } + // else { + // PropertyValuesHolder pvh = new PropertyValuesHolder(property); + // pvh.mKeyframeSet = keyframeSet; + // pvh.mValueType = ((Keyframe)values[0]).getType(); + // return pvh; + // } + //} + + /** + * Set the animated values for this object to this set of ints. + * If there is only one value, it is assumed to be the end value of an animation, + * and an initial value will be derived, if possible, by calling a getter function + * on the object. Also, if any value is null, the value will be filled in when the animation + * starts in the same way. This mechanism of automatically getting null values only works + * if the PropertyValuesHolder object is used in conjunction + * {@link ObjectAnimator}, and with a getter function + * derived automatically from propertyName, since otherwise PropertyValuesHolder has + * no way of determining what the value should be. + * + * @param values One or more values that the animation will animate between. + */ + public void setIntValues(int... values) { + mValueType = int.class; + mKeyframeSet = KeyframeSet.ofInt(values); + } + + /** + * Set the animated values for this object to this set of floats. + * If there is only one value, it is assumed to be the end value of an animation, + * and an initial value will be derived, if possible, by calling a getter function + * on the object. Also, if any value is null, the value will be filled in when the animation + * starts in the same way. This mechanism of automatically getting null values only works + * if the PropertyValuesHolder object is used in conjunction + * {@link ObjectAnimator}, and with a getter function + * derived automatically from propertyName, since otherwise PropertyValuesHolder has + * no way of determining what the value should be. + * + * @param values One or more values that the animation will animate between. + */ + public void setFloatValues(float... values) { + mValueType = float.class; + mKeyframeSet = KeyframeSet.ofFloat(values); + } + + /** + * Set the animated values for this object to this set of Keyframes. + * + * @param values One or more values that the animation will animate between. + */ + public void setKeyframes(Keyframe... values) { + int numKeyframes = values.length; + Keyframe keyframes[] = new Keyframe[Math.max(numKeyframes,2)]; + mValueType = values[0].getType(); + for (int i = 0; i < numKeyframes; ++i) { + keyframes[i] = values[i]; + } + mKeyframeSet = new KeyframeSet(keyframes); + } + + /** + * Set the animated values for this object to this set of Objects. + * If there is only one value, it is assumed to be the end value of an animation, + * and an initial value will be derived, if possible, by calling a getter function + * on the object. Also, if any value is null, the value will be filled in when the animation + * starts in the same way. This mechanism of automatically getting null values only works + * if the PropertyValuesHolder object is used in conjunction + * {@link ObjectAnimator}, and with a getter function + * derived automatically from propertyName, since otherwise PropertyValuesHolder has + * no way of determining what the value should be. + * + * @param values One or more values that the animation will animate between. + */ + public void setObjectValues(Object... values) { + mValueType = values[0].getClass(); + mKeyframeSet = KeyframeSet.ofObject(values); + } + + /** + * Determine the setter or getter function using the JavaBeans convention of setFoo or + * getFoo for a property named 'foo'. This function figures out what the name of the + * function should be and uses reflection to find the Method with that name on the + * target object. + * + * @param targetClass The class to search for the method + * @param prefix "set" or "get", depending on whether we need a setter or getter. + * @param valueType The type of the parameter (in the case of a setter). This type + * is derived from the values set on this PropertyValuesHolder. This type is used as + * a first guess at the parameter type, but we check for methods with several different + * types to avoid problems with slight mis-matches between supplied values and actual + * value types used on the setter. + * @return Method the method associated with mPropertyName. + */ + private Method getPropertyFunction(Class targetClass, String prefix, Class valueType) { + // TODO: faster implementation... + Method returnVal = null; + String methodName = getMethodName(prefix, mPropertyName); + Class args[] = null; + if (valueType == null) { + try { + returnVal = targetClass.getMethod(methodName, args); + } catch (NoSuchMethodException e) { + Log.e("PropertyValuesHolder", targetClass.getSimpleName() + " - " + + "Couldn't find no-arg method for property " + mPropertyName + ": " + e); + } + } else { + args = new Class[1]; + Class typeVariants[]; + if (mValueType.equals(Float.class)) { + typeVariants = FLOAT_VARIANTS; + } else if (mValueType.equals(Integer.class)) { + typeVariants = INTEGER_VARIANTS; + } else if (mValueType.equals(Double.class)) { + typeVariants = DOUBLE_VARIANTS; + } else { + typeVariants = new Class[1]; + typeVariants[0] = mValueType; + } + for (Class typeVariant : typeVariants) { + args[0] = typeVariant; + try { + returnVal = targetClass.getMethod(methodName, args); + // change the value type to suit + mValueType = typeVariant; + return returnVal; + } catch (NoSuchMethodException e) { + // Swallow the error and keep trying other variants + } + } + // If we got here, then no appropriate function was found + Log.e("PropertyValuesHolder", + "Couldn't find " + prefix + "ter property " + mPropertyName + + " for " + targetClass.getSimpleName() + + " with value type "+ mValueType); + } + + return returnVal; + } + + + /** + * Returns the setter or getter requested. This utility function checks whether the + * requested method exists in the propertyMapMap cache. If not, it calls another + * utility function to request the Method from the targetClass directly. + * @param targetClass The Class on which the requested method should exist. + * @param propertyMapMap The cache of setters/getters derived so far. + * @param prefix "set" or "get", for the setter or getter. + * @param valueType The type of parameter passed into the method (null for getter). + * @return Method the method associated with mPropertyName. + */ + private Method setupSetterOrGetter(Class targetClass, + HashMap> propertyMapMap, + String prefix, Class valueType) { + Method setterOrGetter = null; + try { + // Have to lock property map prior to reading it, to guard against + // another thread putting something in there after we've checked it + // but before we've added an entry to it + mPropertyMapLock.writeLock().lock(); + HashMap propertyMap = propertyMapMap.get(targetClass); + if (propertyMap != null) { + setterOrGetter = propertyMap.get(mPropertyName); + } + if (setterOrGetter == null) { + setterOrGetter = getPropertyFunction(targetClass, prefix, valueType); + if (propertyMap == null) { + propertyMap = new HashMap(); + propertyMapMap.put(targetClass, propertyMap); + } + propertyMap.put(mPropertyName, setterOrGetter); + } + } finally { + mPropertyMapLock.writeLock().unlock(); + } + return setterOrGetter; + } + + /** + * Utility function to get the setter from targetClass + * @param targetClass The Class on which the requested method should exist. + */ + void setupSetter(Class targetClass) { + mSetter = setupSetterOrGetter(targetClass, sSetterPropertyMap, "set", mValueType); + } + + /** + * Utility function to get the getter from targetClass + */ + private void setupGetter(Class targetClass) { + mGetter = setupSetterOrGetter(targetClass, sGetterPropertyMap, "get", null); + } + + /** + * Internal function (called from ObjectAnimator) to set up the setter and getter + * prior to running the animation. If the setter has not been manually set for this + * object, it will be derived automatically given the property name, target object, and + * types of values supplied. If no getter has been set, it will be supplied iff any of the + * supplied values was null. If there is a null value, then the getter (supplied or derived) + * will be called to set those null values to the current value of the property + * on the target object. + * @param target The object on which the setter (and possibly getter) exist. + */ + void setupSetterAndGetter(Object target) { + //if (mProperty != null) { + // // check to make sure that mProperty is on the class of target + // try { + // Object testValue = mProperty.get(target); + // for (Keyframe kf : mKeyframeSet.mKeyframes) { + // if (!kf.hasValue()) { + // kf.setValue(mProperty.get(target)); + // } + // } + // return; + // } catch (ClassCastException e) { + // Log.e("PropertyValuesHolder","No such property (" + mProperty.getName() + + // ") on target object " + target + ". Trying reflection instead"); + // mProperty = null; + // } + //} + Class targetClass = target.getClass(); + if (mSetter == null) { + setupSetter(targetClass); + } + for (Keyframe kf : mKeyframeSet.mKeyframes) { + if (!kf.hasValue()) { + if (mGetter == null) { + setupGetter(targetClass); + } + try { + kf.setValue(mGetter.invoke(target)); + } catch (InvocationTargetException e) { + Log.e("PropertyValuesHolder", e.toString()); + } catch (IllegalAccessException e) { + Log.e("PropertyValuesHolder", e.toString()); + } + } + } + } + + /** + * Utility function to set the value stored in a particular Keyframe. The value used is + * whatever the value is for the property name specified in the keyframe on the target object. + * + * @param target The target object from which the current value should be extracted. + * @param kf The keyframe which holds the property name and value. + */ + private void setupValue(Object target, Keyframe kf) { + //if (mProperty != null) { + // kf.setValue(mProperty.get(target)); + //} + try { + if (mGetter == null) { + Class targetClass = target.getClass(); + setupGetter(targetClass); + } + kf.setValue(mGetter.invoke(target)); + } catch (InvocationTargetException e) { + Log.e("PropertyValuesHolder", e.toString()); + } catch (IllegalAccessException e) { + Log.e("PropertyValuesHolder", e.toString()); + } + } + + /** + * This function is called by ObjectAnimator when setting the start values for an animation. + * The start values are set according to the current values in the target object. The + * property whose value is extracted is whatever is specified by the propertyName of this + * PropertyValuesHolder object. + * + * @param target The object which holds the start values that should be set. + */ + void setupStartValue(Object target) { + setupValue(target, mKeyframeSet.mKeyframes.get(0)); + } + + /** + * This function is called by ObjectAnimator when setting the end values for an animation. + * The end values are set according to the current values in the target object. The + * property whose value is extracted is whatever is specified by the propertyName of this + * PropertyValuesHolder object. + * + * @param target The object which holds the start values that should be set. + */ + void setupEndValue(Object target) { + setupValue(target, mKeyframeSet.mKeyframes.get(mKeyframeSet.mKeyframes.size() - 1)); + } + + @Override + public PropertyValuesHolder clone() { + try { + PropertyValuesHolder newPVH = (PropertyValuesHolder) super.clone(); + newPVH.mPropertyName = mPropertyName; + //newPVH.mProperty = mProperty; + newPVH.mKeyframeSet = mKeyframeSet.clone(); + newPVH.mEvaluator = mEvaluator; + return newPVH; + } catch (CloneNotSupportedException e) { + // won't reach here + return null; + } + } + + /** + * Internal function to set the value on the target object, using the setter set up + * earlier on this PropertyValuesHolder object. This function is called by ObjectAnimator + * to handle turning the value calculated by ValueAnimator into a value set on the object + * according to the name of the property. + * @param target The target object on which the value is set + */ + void setAnimatedValue(Object target) { + //if (mProperty != null) { + // mProperty.set(target, getAnimatedValue()); + //} + if (mSetter != null) { + try { + mTmpValueArray[0] = getAnimatedValue(); + mSetter.invoke(target, mTmpValueArray); + } catch (InvocationTargetException e) { + Log.e("PropertyValuesHolder", e.toString()); + } catch (IllegalAccessException e) { + Log.e("PropertyValuesHolder", e.toString()); + } + } + } + + /** + * Internal function, called by ValueAnimator, to set up the TypeEvaluator that will be used + * to calculate animated values. + */ + void init() { + if (mEvaluator == null) { + // We already handle int and float automatically, but not their Object + // equivalents + mEvaluator = (mValueType == Integer.class) ? sIntEvaluator : + (mValueType == Float.class) ? sFloatEvaluator : + null; + } + if (mEvaluator != null) { + // KeyframeSet knows how to evaluate the common types - only give it a custom + // evaluator if one has been set on this class + mKeyframeSet.setEvaluator(mEvaluator); + } + } + + /** + * The TypeEvaluator will the automatically determined based on the type of values + * supplied to PropertyValuesHolder. The evaluator can be manually set, however, if so + * desired. This may be important in cases where either the type of the values supplied + * do not match the way that they should be interpolated between, or if the values + * are of a custom type or one not currently understood by the animation system. Currently, + * only values of type float and int (and their Object equivalents: Float + * and Integer) are correctly interpolated; all other types require setting a TypeEvaluator. + * @param evaluator + */ + public void setEvaluator(TypeEvaluator evaluator) { + mEvaluator = evaluator; + mKeyframeSet.setEvaluator(evaluator); + } + + /** + * Function used to calculate the value according to the evaluator set up for + * this PropertyValuesHolder object. This function is called by ValueAnimator.animateValue(). + * + * @param fraction The elapsed, interpolated fraction of the animation. + */ + void calculateValue(float fraction) { + mAnimatedValue = mKeyframeSet.getValue(fraction); + } + + /** + * Sets the name of the property that will be animated. This name is used to derive + * a setter function that will be called to set animated values. + * For example, a property name of foo will result + * in a call to the function setFoo() on the target object. If either + * valueFrom or valueTo is null, then a getter function will + * also be derived and called. + * + *

      Note that the setter function derived from this property name + * must take the same parameter type as the + * valueFrom and valueTo properties, otherwise the call to + * the setter function will fail.

      + * + * @param propertyName The name of the property being animated. + */ + public void setPropertyName(String propertyName) { + mPropertyName = propertyName; + } + + /** + * Sets the property that will be animated. + * + *

      Note that if this PropertyValuesHolder object is used with ObjectAnimator, the property + * must exist on the target object specified in that ObjectAnimator.

      + * + * @param property The property being animated. + */ + //public void setProperty(Property property) { + // mProperty = property; + //} + + /** + * Gets the name of the property that will be animated. This name will be used to derive + * a setter function that will be called to set animated values. + * For example, a property name of foo will result + * in a call to the function setFoo() on the target object. If either + * valueFrom or valueTo is null, then a getter function will + * also be derived and called. + */ + public String getPropertyName() { + return mPropertyName; + } + + /** + * Internal function, called by ValueAnimator and ObjectAnimator, to retrieve the value + * most recently calculated in calculateValue(). + * @return + */ + Object getAnimatedValue() { + return mAnimatedValue; + } + + @Override + public String toString() { + return mPropertyName + ": " + mKeyframeSet.toString(); + } + + /** + * Utility method to derive a setter/getter method name from a property name, where the + * prefix is typically "set" or "get" and the first letter of the property name is + * capitalized. + * + * @param prefix The precursor to the method name, before the property name begins, typically + * "set" or "get". + * @param propertyName The name of the property that represents the bulk of the method name + * after the prefix. The first letter of this word will be capitalized in the resulting + * method name. + * @return String the property name converted to a method name according to the conventions + * specified above. + */ + static String getMethodName(String prefix, String propertyName) { + if (propertyName == null || propertyName.length() == 0) { + // shouldn't get here + return prefix; + } + char firstLetter = Character.toUpperCase(propertyName.charAt(0)); + String theRest = propertyName.substring(1); + return prefix + firstLetter + theRest; + } + + static class IntPropertyValuesHolder extends PropertyValuesHolder { + + // Cache JNI functions to avoid looking them up twice + //private static final HashMap> sJNISetterPropertyMap = + // new HashMap>(); + //int mJniSetter; + //private IntProperty mIntProperty; + + IntKeyframeSet mIntKeyframeSet; + int mIntAnimatedValue; + + public IntPropertyValuesHolder(String propertyName, IntKeyframeSet keyframeSet) { + super(propertyName); + mValueType = int.class; + mKeyframeSet = keyframeSet; + mIntKeyframeSet = (IntKeyframeSet) mKeyframeSet; + } + + //public IntPropertyValuesHolder(Property property, IntKeyframeSet keyframeSet) { + // super(property); + // mValueType = int.class; + // mKeyframeSet = keyframeSet; + // mIntKeyframeSet = (IntKeyframeSet) mKeyframeSet; + // if (property instanceof IntProperty) { + // mIntProperty = (IntProperty) mProperty; + // } + //} + + public IntPropertyValuesHolder(String propertyName, int... values) { + super(propertyName); + setIntValues(values); + } + + //public IntPropertyValuesHolder(Property property, int... values) { + // super(property); + // setIntValues(values); + // if (property instanceof IntProperty) { + // mIntProperty = (IntProperty) mProperty; + // } + //} + + @Override + public void setIntValues(int... values) { + super.setIntValues(values); + mIntKeyframeSet = (IntKeyframeSet) mKeyframeSet; + } + + @Override + void calculateValue(float fraction) { + mIntAnimatedValue = mIntKeyframeSet.getIntValue(fraction); + } + + @Override + Object getAnimatedValue() { + return mIntAnimatedValue; + } + + @Override + public IntPropertyValuesHolder clone() { + IntPropertyValuesHolder newPVH = (IntPropertyValuesHolder) super.clone(); + newPVH.mIntKeyframeSet = (IntKeyframeSet) newPVH.mKeyframeSet; + return newPVH; + } + + /** + * Internal function to set the value on the target object, using the setter set up + * earlier on this PropertyValuesHolder object. This function is called by ObjectAnimator + * to handle turning the value calculated by ValueAnimator into a value set on the object + * according to the name of the property. + * @param target The target object on which the value is set + */ + @Override + void setAnimatedValue(Object target) { + //if (mIntProperty != null) { + // mIntProperty.setValue(target, mIntAnimatedValue); + // return; + //} + //if (mProperty != null) { + // mProperty.set(target, mIntAnimatedValue); + // return; + //} + //if (mJniSetter != 0) { + // nCallIntMethod(target, mJniSetter, mIntAnimatedValue); + // return; + //} + if (mSetter != null) { + try { + mTmpValueArray[0] = mIntAnimatedValue; + mSetter.invoke(target, mTmpValueArray); + } catch (InvocationTargetException e) { + Log.e("PropertyValuesHolder", e.toString()); + } catch (IllegalAccessException e) { + Log.e("PropertyValuesHolder", e.toString()); + } + } + } + + @Override + void setupSetter(Class targetClass) { + //if (mProperty != null) { + // return; + //} + // Check new static hashmap for setter method + //try { + // mPropertyMapLock.writeLock().lock(); + // HashMap propertyMap = sJNISetterPropertyMap.get(targetClass); + // if (propertyMap != null) { + // Integer mJniSetterInteger = propertyMap.get(mPropertyName); + // if (mJniSetterInteger != null) { + // mJniSetter = mJniSetterInteger; + // } + // } + // if (mJniSetter == 0) { + // String methodName = getMethodName("set", mPropertyName); + // mJniSetter = nGetIntMethod(targetClass, methodName); + // if (mJniSetter != 0) { + // if (propertyMap == null) { + // propertyMap = new HashMap(); + // sJNISetterPropertyMap.put(targetClass, propertyMap); + // } + // propertyMap.put(mPropertyName, mJniSetter); + // } + // } + //} catch (NoSuchMethodError e) { + // Log.d("PropertyValuesHolder", + // "Can't find native method using JNI, use reflection" + e); + //} finally { + // mPropertyMapLock.writeLock().unlock(); + //} + //if (mJniSetter == 0) { + // Couldn't find method through fast JNI approach - just use reflection + super.setupSetter(targetClass); + //} + } + } + + static class FloatPropertyValuesHolder extends PropertyValuesHolder { + + // Cache JNI functions to avoid looking them up twice + //private static final HashMap> sJNISetterPropertyMap = + // new HashMap>(); + //int mJniSetter; + //private FloatProperty mFloatProperty; + + FloatKeyframeSet mFloatKeyframeSet; + float mFloatAnimatedValue; + + public FloatPropertyValuesHolder(String propertyName, FloatKeyframeSet keyframeSet) { + super(propertyName); + mValueType = float.class; + mKeyframeSet = keyframeSet; + mFloatKeyframeSet = (FloatKeyframeSet) mKeyframeSet; + } + + //public FloatPropertyValuesHolder(Property property, FloatKeyframeSet keyframeSet) { + // super(property); + // mValueType = float.class; + // mKeyframeSet = keyframeSet; + // mFloatKeyframeSet = (FloatKeyframeSet) mKeyframeSet; + // if (property instanceof FloatProperty) { + // mFloatProperty = (FloatProperty) mProperty; + // } + //} + + public FloatPropertyValuesHolder(String propertyName, float... values) { + super(propertyName); + setFloatValues(values); + } + + //public FloatPropertyValuesHolder(Property property, float... values) { + // super(property); + // setFloatValues(values); + // if (property instanceof FloatProperty) { + // mFloatProperty = (FloatProperty) mProperty; + // } + //} + + @Override + public void setFloatValues(float... values) { + super.setFloatValues(values); + mFloatKeyframeSet = (FloatKeyframeSet) mKeyframeSet; + } + + @Override + void calculateValue(float fraction) { + mFloatAnimatedValue = mFloatKeyframeSet.getFloatValue(fraction); + } + + @Override + Object getAnimatedValue() { + return mFloatAnimatedValue; + } + + @Override + public FloatPropertyValuesHolder clone() { + FloatPropertyValuesHolder newPVH = (FloatPropertyValuesHolder) super.clone(); + newPVH.mFloatKeyframeSet = (FloatKeyframeSet) newPVH.mKeyframeSet; + return newPVH; + } + + /** + * Internal function to set the value on the target object, using the setter set up + * earlier on this PropertyValuesHolder object. This function is called by ObjectAnimator + * to handle turning the value calculated by ValueAnimator into a value set on the object + * according to the name of the property. + * @param target The target object on which the value is set + */ + @Override + void setAnimatedValue(Object target) { + //if (mFloatProperty != null) { + // mFloatProperty.setValue(target, mFloatAnimatedValue); + // return; + //} + //if (mProperty != null) { + // mProperty.set(target, mFloatAnimatedValue); + // return; + //} + //if (mJniSetter != 0) { + // nCallFloatMethod(target, mJniSetter, mFloatAnimatedValue); + // return; + //} + if (mSetter != null) { + try { + mTmpValueArray[0] = mFloatAnimatedValue; + mSetter.invoke(target, mTmpValueArray); + } catch (InvocationTargetException e) { + Log.e("PropertyValuesHolder", e.toString()); + } catch (IllegalAccessException e) { + Log.e("PropertyValuesHolder", e.toString()); + } + } + } + + @Override + void setupSetter(Class targetClass) { + //if (mProperty != null) { + // return; + //} + // Check new static hashmap for setter method + //try { + // mPropertyMapLock.writeLock().lock(); + // HashMap propertyMap = sJNISetterPropertyMap.get(targetClass); + // if (propertyMap != null) { + // Integer mJniSetterInteger = propertyMap.get(mPropertyName); + // if (mJniSetterInteger != null) { + // mJniSetter = mJniSetterInteger; + // } + // } + // if (mJniSetter == 0) { + // String methodName = getMethodName("set", mPropertyName); + // mJniSetter = nGetFloatMethod(targetClass, methodName); + // if (mJniSetter != 0) { + // if (propertyMap == null) { + // propertyMap = new HashMap(); + // sJNISetterPropertyMap.put(targetClass, propertyMap); + // } + // propertyMap.put(mPropertyName, mJniSetter); + // } + // } + //} catch (NoSuchMethodError e) { + // Log.d("PropertyValuesHolder", + // "Can't find native method using JNI, use reflection" + e); + //} finally { + // mPropertyMapLock.writeLock().unlock(); + //} + //if (mJniSetter == 0) { + // Couldn't find method through fast JNI approach - just use reflection + super.setupSetter(targetClass); + //} + } + + } + + //native static private int nGetIntMethod(Class targetClass, String methodName); + //native static private int nGetFloatMethod(Class targetClass, String methodName); + //native static private void nCallIntMethod(Object target, int methodID, int arg); + //native static private void nCallFloatMethod(Object target, int methodID, float arg); +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/animation/TypeEvaluator.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/animation/TypeEvaluator.java new file mode 100644 index 000000000..0ea319244 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/animation/TypeEvaluator.java @@ -0,0 +1,44 @@ +/* + * 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. + */ + +package com.actionbarsherlock.internal.nineoldandroids.animation; + +/** + * Interface for use with the {@link ValueAnimator#setEvaluator(TypeEvaluator)} function. Evaluators + * allow developers to create animations on arbitrary property types, by allowing them to supply + * custom evaulators for types that are not automatically understood and used by the animation + * system. + * + * @see ValueAnimator#setEvaluator(TypeEvaluator) + */ +public interface TypeEvaluator { + + /** + * This function returns the result of linearly interpolating the start and end values, with + * fraction representing the proportion between the start and end values. The + * calculation is a simple parametric calculation: result = x0 + t * (v1 - v0), + * where x0 is startValue, x1 is endValue, + * and t is fraction. + * + * @param fraction The fraction from the starting to the ending values + * @param startValue The start value. + * @param endValue The end value. + * @return A linear interpolation between the start and end values, given the + * fraction parameter. + */ + public T evaluate(float fraction, T startValue, T endValue); + +} \ No newline at end of file diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/animation/ValueAnimator.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/animation/ValueAnimator.java new file mode 100644 index 000000000..d8a12c688 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/animation/ValueAnimator.java @@ -0,0 +1,1265 @@ +/* + * 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. + */ + +package com.actionbarsherlock.internal.nineoldandroids.animation; + +import android.os.Handler; +import android.os.Looper; +import android.os.Message; +import android.util.AndroidRuntimeException; +import android.view.animation.AccelerateDecelerateInterpolator; +import android.view.animation.AnimationUtils; +import android.view.animation.Interpolator; +import android.view.animation.LinearInterpolator; + +import java.util.ArrayList; +import java.util.HashMap; + +/** + * This class provides a simple timing engine for running animations + * which calculate animated values and set them on target objects. + * + *

      There is a single timing pulse that all animations use. It runs in a + * custom handler to ensure that property changes happen on the UI thread.

      + * + *

      By default, ValueAnimator uses non-linear time interpolation, via the + * {@link AccelerateDecelerateInterpolator} class, which accelerates into and decelerates + * out of an animation. This behavior can be changed by calling + * {@link ValueAnimator#setInterpolator(TimeInterpolator)}.

      + */ +@SuppressWarnings({"rawtypes", "unchecked"}) +public class ValueAnimator extends Animator { + + /** + * Internal constants + */ + + /* + * The default amount of time in ms between animation frames + */ + private static final long DEFAULT_FRAME_DELAY = 10; + + /** + * Messages sent to timing handler: START is sent when an animation first begins, FRAME is sent + * by the handler to itself to process the next animation frame + */ + static final int ANIMATION_START = 0; + static final int ANIMATION_FRAME = 1; + + /** + * Values used with internal variable mPlayingState to indicate the current state of an + * animation. + */ + static final int STOPPED = 0; // Not yet playing + static final int RUNNING = 1; // Playing normally + static final int SEEKED = 2; // Seeked to some time value + + /** + * Internal variables + * NOTE: This object implements the clone() method, making a deep copy of any referenced + * objects. As other non-trivial fields are added to this class, make sure to add logic + * to clone() to make deep copies of them. + */ + + // The first time that the animation's animateFrame() method is called. This time is used to + // determine elapsed time (and therefore the elapsed fraction) in subsequent calls + // to animateFrame() + long mStartTime; + + /** + * Set when setCurrentPlayTime() is called. If negative, animation is not currently seeked + * to a value. + */ + long mSeekTime = -1; + + // TODO: We access the following ThreadLocal variables often, some of them on every update. + // If ThreadLocal access is significantly expensive, we may want to put all of these + // fields into a structure sot hat we just access ThreadLocal once to get the reference + // to that structure, then access the structure directly for each field. + + // The static sAnimationHandler processes the internal timing loop on which all animations + // are based + private static ThreadLocal sAnimationHandler = + new ThreadLocal(); + + // The per-thread list of all active animations + private static final ThreadLocal> sAnimations = + new ThreadLocal>() { + @Override + protected ArrayList initialValue() { + return new ArrayList(); + } + }; + + // The per-thread set of animations to be started on the next animation frame + private static final ThreadLocal> sPendingAnimations = + new ThreadLocal>() { + @Override + protected ArrayList initialValue() { + return new ArrayList(); + } + }; + + /** + * Internal per-thread collections used to avoid set collisions as animations start and end + * while being processed. + */ + private static final ThreadLocal> sDelayedAnims = + new ThreadLocal>() { + @Override + protected ArrayList initialValue() { + return new ArrayList(); + } + }; + + private static final ThreadLocal> sEndingAnims = + new ThreadLocal>() { + @Override + protected ArrayList initialValue() { + return new ArrayList(); + } + }; + + private static final ThreadLocal> sReadyAnims = + new ThreadLocal>() { + @Override + protected ArrayList initialValue() { + return new ArrayList(); + } + }; + + // The time interpolator to be used if none is set on the animation + private static final /*Time*/Interpolator sDefaultInterpolator = + new AccelerateDecelerateInterpolator(); + + // type evaluators for the primitive types handled by this implementation + //private static final TypeEvaluator sIntEvaluator = new IntEvaluator(); + //private static final TypeEvaluator sFloatEvaluator = new FloatEvaluator(); + + /** + * Used to indicate whether the animation is currently playing in reverse. This causes the + * elapsed fraction to be inverted to calculate the appropriate values. + */ + private boolean mPlayingBackwards = false; + + /** + * This variable tracks the current iteration that is playing. When mCurrentIteration exceeds the + * repeatCount (if repeatCount!=INFINITE), the animation ends + */ + private int mCurrentIteration = 0; + + /** + * Tracks current elapsed/eased fraction, for querying in getAnimatedFraction(). + */ + private float mCurrentFraction = 0f; + + /** + * Tracks whether a startDelay'd animation has begun playing through the startDelay. + */ + private boolean mStartedDelay = false; + + /** + * Tracks the time at which the animation began playing through its startDelay. This is + * different from the mStartTime variable, which is used to track when the animation became + * active (which is when the startDelay expired and the animation was added to the active + * animations list). + */ + private long mDelayStartTime; + + /** + * Flag that represents the current state of the animation. Used to figure out when to start + * an animation (if state == STOPPED). Also used to end an animation that + * has been cancel()'d or end()'d since the last animation frame. Possible values are + * STOPPED, RUNNING, SEEKED. + */ + int mPlayingState = STOPPED; + + /** + * Additional playing state to indicate whether an animator has been start()'d. There is + * some lag between a call to start() and the first animation frame. We should still note + * that the animation has been started, even if it's first animation frame has not yet + * happened, and reflect that state in isRunning(). + * Note that delayed animations are different: they are not started until their first + * animation frame, which occurs after their delay elapses. + */ + private boolean mRunning = false; + + /** + * Additional playing state to indicate whether an animator has been start()'d, whether or + * not there is a nonzero startDelay. + */ + private boolean mStarted = false; + + /** + * Flag that denotes whether the animation is set up and ready to go. Used to + * set up animation that has not yet been started. + */ + boolean mInitialized = false; + + // + // Backing variables + // + + // How long the animation should last in ms + private long mDuration = 300; + + // The amount of time in ms to delay starting the animation after start() is called + private long mStartDelay = 0; + + // The number of milliseconds between animation frames + private static long sFrameDelay = DEFAULT_FRAME_DELAY; + + // The number of times the animation will repeat. The default is 0, which means the animation + // will play only once + private int mRepeatCount = 0; + + /** + * The type of repetition that will occur when repeatMode is nonzero. RESTART means the + * animation will start from the beginning on every new cycle. REVERSE means the animation + * will reverse directions on each iteration. + */ + private int mRepeatMode = RESTART; + + /** + * The time interpolator to be used. The elapsed fraction of the animation will be passed + * through this interpolator to calculate the interpolated fraction, which is then used to + * calculate the animated values. + */ + private /*Time*/Interpolator mInterpolator = sDefaultInterpolator; + + /** + * The set of listeners to be sent events through the life of an animation. + */ + private ArrayList mUpdateListeners = null; + + /** + * The property/value sets being animated. + */ + PropertyValuesHolder[] mValues; + + /** + * A hashmap of the PropertyValuesHolder objects. This map is used to lookup animated values + * by property name during calls to getAnimatedValue(String). + */ + HashMap mValuesMap; + + /** + * Public constants + */ + + /** + * When the animation reaches the end and repeatCount is INFINITE + * or a positive value, the animation restarts from the beginning. + */ + public static final int RESTART = 1; + /** + * When the animation reaches the end and repeatCount is INFINITE + * or a positive value, the animation reverses direction on every iteration. + */ + public static final int REVERSE = 2; + /** + * This value used used with the {@link #setRepeatCount(int)} property to repeat + * the animation indefinitely. + */ + public static final int INFINITE = -1; + + /** + * Creates a new ValueAnimator object. This default constructor is primarily for + * use internally; the factory methods which take parameters are more generally + * useful. + */ + public ValueAnimator() { + } + + /** + * Constructs and returns a ValueAnimator that animates between int values. A single + * value implies that that value is the one being animated to. However, this is not typically + * useful in a ValueAnimator object because there is no way for the object to determine the + * starting value for the animation (unlike ObjectAnimator, which can derive that value + * from the target object and property being animated). Therefore, there should typically + * be two or more values. + * + * @param values A set of values that the animation will animate between over time. + * @return A ValueAnimator object that is set up to animate between the given values. + */ + public static ValueAnimator ofInt(int... values) { + ValueAnimator anim = new ValueAnimator(); + anim.setIntValues(values); + return anim; + } + + /** + * Constructs and returns a ValueAnimator that animates between float values. A single + * value implies that that value is the one being animated to. However, this is not typically + * useful in a ValueAnimator object because there is no way for the object to determine the + * starting value for the animation (unlike ObjectAnimator, which can derive that value + * from the target object and property being animated). Therefore, there should typically + * be two or more values. + * + * @param values A set of values that the animation will animate between over time. + * @return A ValueAnimator object that is set up to animate between the given values. + */ + public static ValueAnimator ofFloat(float... values) { + ValueAnimator anim = new ValueAnimator(); + anim.setFloatValues(values); + return anim; + } + + /** + * Constructs and returns a ValueAnimator that animates between the values + * specified in the PropertyValuesHolder objects. + * + * @param values A set of PropertyValuesHolder objects whose values will be animated + * between over time. + * @return A ValueAnimator object that is set up to animate between the given values. + */ + public static ValueAnimator ofPropertyValuesHolder(PropertyValuesHolder... values) { + ValueAnimator anim = new ValueAnimator(); + anim.setValues(values); + return anim; + } + /** + * Constructs and returns a ValueAnimator that animates between Object values. A single + * value implies that that value is the one being animated to. However, this is not typically + * useful in a ValueAnimator object because there is no way for the object to determine the + * starting value for the animation (unlike ObjectAnimator, which can derive that value + * from the target object and property being animated). Therefore, there should typically + * be two or more values. + * + *

      Since ValueAnimator does not know how to animate between arbitrary Objects, this + * factory method also takes a TypeEvaluator object that the ValueAnimator will use + * to perform that interpolation. + * + * @param evaluator A TypeEvaluator that will be called on each animation frame to + * provide the ncessry interpolation between the Object values to derive the animated + * value. + * @param values A set of values that the animation will animate between over time. + * @return A ValueAnimator object that is set up to animate between the given values. + */ + public static ValueAnimator ofObject(TypeEvaluator evaluator, Object... values) { + ValueAnimator anim = new ValueAnimator(); + anim.setObjectValues(values); + anim.setEvaluator(evaluator); + return anim; + } + + /** + * Sets int values that will be animated between. A single + * value implies that that value is the one being animated to. However, this is not typically + * useful in a ValueAnimator object because there is no way for the object to determine the + * starting value for the animation (unlike ObjectAnimator, which can derive that value + * from the target object and property being animated). Therefore, there should typically + * be two or more values. + * + *

      If there are already multiple sets of values defined for this ValueAnimator via more + * than one PropertyValuesHolder object, this method will set the values for the first + * of those objects.

      + * + * @param values A set of values that the animation will animate between over time. + */ + public void setIntValues(int... values) { + if (values == null || values.length == 0) { + return; + } + if (mValues == null || mValues.length == 0) { + setValues(new PropertyValuesHolder[]{PropertyValuesHolder.ofInt("", values)}); + } else { + PropertyValuesHolder valuesHolder = mValues[0]; + valuesHolder.setIntValues(values); + } + // New property/values/target should cause re-initialization prior to starting + mInitialized = false; + } + + /** + * Sets float values that will be animated between. A single + * value implies that that value is the one being animated to. However, this is not typically + * useful in a ValueAnimator object because there is no way for the object to determine the + * starting value for the animation (unlike ObjectAnimator, which can derive that value + * from the target object and property being animated). Therefore, there should typically + * be two or more values. + * + *

      If there are already multiple sets of values defined for this ValueAnimator via more + * than one PropertyValuesHolder object, this method will set the values for the first + * of those objects.

      + * + * @param values A set of values that the animation will animate between over time. + */ + public void setFloatValues(float... values) { + if (values == null || values.length == 0) { + return; + } + if (mValues == null || mValues.length == 0) { + setValues(new PropertyValuesHolder[]{PropertyValuesHolder.ofFloat("", values)}); + } else { + PropertyValuesHolder valuesHolder = mValues[0]; + valuesHolder.setFloatValues(values); + } + // New property/values/target should cause re-initialization prior to starting + mInitialized = false; + } + + /** + * Sets the values to animate between for this animation. A single + * value implies that that value is the one being animated to. However, this is not typically + * useful in a ValueAnimator object because there is no way for the object to determine the + * starting value for the animation (unlike ObjectAnimator, which can derive that value + * from the target object and property being animated). Therefore, there should typically + * be two or more values. + * + *

      If there are already multiple sets of values defined for this ValueAnimator via more + * than one PropertyValuesHolder object, this method will set the values for the first + * of those objects.

      + * + *

      There should be a TypeEvaluator set on the ValueAnimator that knows how to interpolate + * between these value objects. ValueAnimator only knows how to interpolate between the + * primitive types specified in the other setValues() methods.

      + * + * @param values The set of values to animate between. + */ + public void setObjectValues(Object... values) { + if (values == null || values.length == 0) { + return; + } + if (mValues == null || mValues.length == 0) { + setValues(new PropertyValuesHolder[]{PropertyValuesHolder.ofObject("", + (TypeEvaluator)null, values)}); + } else { + PropertyValuesHolder valuesHolder = mValues[0]; + valuesHolder.setObjectValues(values); + } + // New property/values/target should cause re-initialization prior to starting + mInitialized = false; + } + + /** + * Sets the values, per property, being animated between. This function is called internally + * by the constructors of ValueAnimator that take a list of values. But an ValueAnimator can + * be constructed without values and this method can be called to set the values manually + * instead. + * + * @param values The set of values, per property, being animated between. + */ + public void setValues(PropertyValuesHolder... values) { + int numValues = values.length; + mValues = values; + mValuesMap = new HashMap(numValues); + for (int i = 0; i < numValues; ++i) { + PropertyValuesHolder valuesHolder = values[i]; + mValuesMap.put(valuesHolder.getPropertyName(), valuesHolder); + } + // New property/values/target should cause re-initialization prior to starting + mInitialized = false; + } + + /** + * Returns the values that this ValueAnimator animates between. These values are stored in + * PropertyValuesHolder objects, even if the ValueAnimator was created with a simple list + * of value objects instead. + * + * @return PropertyValuesHolder[] An array of PropertyValuesHolder objects which hold the + * values, per property, that define the animation. + */ + public PropertyValuesHolder[] getValues() { + return mValues; + } + + /** + * This function is called immediately before processing the first animation + * frame of an animation. If there is a nonzero startDelay, the + * function is called after that delay ends. + * It takes care of the final initialization steps for the + * animation. + * + *

      Overrides of this method should call the superclass method to ensure + * that internal mechanisms for the animation are set up correctly.

      + */ + void initAnimation() { + if (!mInitialized) { + int numValues = mValues.length; + for (int i = 0; i < numValues; ++i) { + mValues[i].init(); + } + mInitialized = true; + } + } + + + /** + * Sets the length of the animation. The default duration is 300 milliseconds. + * + * @param duration The length of the animation, in milliseconds. This value cannot + * be negative. + * @return ValueAnimator The object called with setDuration(). This return + * value makes it easier to compose statements together that construct and then set the + * duration, as in ValueAnimator.ofInt(0, 10).setDuration(500).start(). + */ + public ValueAnimator setDuration(long duration) { + if (duration < 0) { + throw new IllegalArgumentException("Animators cannot have negative duration: " + + duration); + } + mDuration = duration; + return this; + } + + /** + * Gets the length of the animation. The default duration is 300 milliseconds. + * + * @return The length of the animation, in milliseconds. + */ + public long getDuration() { + return mDuration; + } + + /** + * Sets the position of the animation to the specified point in time. This time should + * be between 0 and the total duration of the animation, including any repetition. If + * the animation has not yet been started, then it will not advance forward after it is + * set to this time; it will simply set the time to this value and perform any appropriate + * actions based on that time. If the animation is already running, then setCurrentPlayTime() + * will set the current playing time to this value and continue playing from that point. + * + * @param playTime The time, in milliseconds, to which the animation is advanced or rewound. + */ + public void setCurrentPlayTime(long playTime) { + initAnimation(); + long currentTime = AnimationUtils.currentAnimationTimeMillis(); + if (mPlayingState != RUNNING) { + mSeekTime = playTime; + mPlayingState = SEEKED; + } + mStartTime = currentTime - playTime; + animationFrame(currentTime); + } + + /** + * Gets the current position of the animation in time, which is equal to the current + * time minus the time that the animation started. An animation that is not yet started will + * return a value of zero. + * + * @return The current position in time of the animation. + */ + public long getCurrentPlayTime() { + if (!mInitialized || mPlayingState == STOPPED) { + return 0; + } + return AnimationUtils.currentAnimationTimeMillis() - mStartTime; + } + + /** + * This custom, static handler handles the timing pulse that is shared by + * all active animations. This approach ensures that the setting of animation + * values will happen on the UI thread and that all animations will share + * the same times for calculating their values, which makes synchronizing + * animations possible. + * + */ + private static class AnimationHandler extends Handler { + /** + * There are only two messages that we care about: ANIMATION_START and + * ANIMATION_FRAME. The START message is sent when an animation's start() + * method is called. It cannot start synchronously when start() is called + * because the call may be on the wrong thread, and it would also not be + * synchronized with other animations because it would not start on a common + * timing pulse. So each animation sends a START message to the handler, which + * causes the handler to place the animation on the active animations queue and + * start processing frames for that animation. + * The FRAME message is the one that is sent over and over while there are any + * active animations to process. + */ + @Override + public void handleMessage(Message msg) { + boolean callAgain = true; + ArrayList animations = sAnimations.get(); + ArrayList delayedAnims = sDelayedAnims.get(); + switch (msg.what) { + // TODO: should we avoid sending frame message when starting if we + // were already running? + case ANIMATION_START: + ArrayList pendingAnimations = sPendingAnimations.get(); + if (animations.size() > 0 || delayedAnims.size() > 0) { + callAgain = false; + } + // pendingAnims holds any animations that have requested to be started + // We're going to clear sPendingAnimations, but starting animation may + // cause more to be added to the pending list (for example, if one animation + // starting triggers another starting). So we loop until sPendingAnimations + // is empty. + while (pendingAnimations.size() > 0) { + ArrayList pendingCopy = + (ArrayList) pendingAnimations.clone(); + pendingAnimations.clear(); + int count = pendingCopy.size(); + for (int i = 0; i < count; ++i) { + ValueAnimator anim = pendingCopy.get(i); + // If the animation has a startDelay, place it on the delayed list + if (anim.mStartDelay == 0) { + anim.startAnimation(); + } else { + delayedAnims.add(anim); + } + } + } + // fall through to process first frame of new animations + case ANIMATION_FRAME: + // currentTime holds the common time for all animations processed + // during this frame + long currentTime = AnimationUtils.currentAnimationTimeMillis(); + ArrayList readyAnims = sReadyAnims.get(); + ArrayList endingAnims = sEndingAnims.get(); + + // First, process animations currently sitting on the delayed queue, adding + // them to the active animations if they are ready + int numDelayedAnims = delayedAnims.size(); + for (int i = 0; i < numDelayedAnims; ++i) { + ValueAnimator anim = delayedAnims.get(i); + if (anim.delayedAnimationFrame(currentTime)) { + readyAnims.add(anim); + } + } + int numReadyAnims = readyAnims.size(); + if (numReadyAnims > 0) { + for (int i = 0; i < numReadyAnims; ++i) { + ValueAnimator anim = readyAnims.get(i); + anim.startAnimation(); + anim.mRunning = true; + delayedAnims.remove(anim); + } + readyAnims.clear(); + } + + // Now process all active animations. The return value from animationFrame() + // tells the handler whether it should now be ended + int numAnims = animations.size(); + int i = 0; + while (i < numAnims) { + ValueAnimator anim = animations.get(i); + if (anim.animationFrame(currentTime)) { + endingAnims.add(anim); + } + if (animations.size() == numAnims) { + ++i; + } else { + // An animation might be canceled or ended by client code + // during the animation frame. Check to see if this happened by + // seeing whether the current index is the same as it was before + // calling animationFrame(). Another approach would be to copy + // animations to a temporary list and process that list instead, + // but that entails garbage and processing overhead that would + // be nice to avoid. + --numAnims; + endingAnims.remove(anim); + } + } + if (endingAnims.size() > 0) { + for (i = 0; i < endingAnims.size(); ++i) { + endingAnims.get(i).endAnimation(); + } + endingAnims.clear(); + } + + // If there are still active or delayed animations, call the handler again + // after the frameDelay + if (callAgain && (!animations.isEmpty() || !delayedAnims.isEmpty())) { + sendEmptyMessageDelayed(ANIMATION_FRAME, Math.max(0, sFrameDelay - + (AnimationUtils.currentAnimationTimeMillis() - currentTime))); + } + break; + } + } + } + + /** + * The amount of time, in milliseconds, to delay starting the animation after + * {@link #start()} is called. + * + * @return the number of milliseconds to delay running the animation + */ + public long getStartDelay() { + return mStartDelay; + } + + /** + * The amount of time, in milliseconds, to delay starting the animation after + * {@link #start()} is called. + + * @param startDelay The amount of the delay, in milliseconds + */ + public void setStartDelay(long startDelay) { + this.mStartDelay = startDelay; + } + + /** + * The amount of time, in milliseconds, between each frame of the animation. This is a + * requested time that the animation will attempt to honor, but the actual delay between + * frames may be different, depending on system load and capabilities. This is a static + * function because the same delay will be applied to all animations, since they are all + * run off of a single timing loop. + * + * @return the requested time between frames, in milliseconds + */ + public static long getFrameDelay() { + return sFrameDelay; + } + + /** + * The amount of time, in milliseconds, between each frame of the animation. This is a + * requested time that the animation will attempt to honor, but the actual delay between + * frames may be different, depending on system load and capabilities. This is a static + * function because the same delay will be applied to all animations, since they are all + * run off of a single timing loop. + * + * @param frameDelay the requested time between frames, in milliseconds + */ + public static void setFrameDelay(long frameDelay) { + sFrameDelay = frameDelay; + } + + /** + * The most recent value calculated by this ValueAnimator when there is just one + * property being animated. This value is only sensible while the animation is running. The main + * purpose for this read-only property is to retrieve the value from the ValueAnimator + * during a call to {@link AnimatorUpdateListener#onAnimationUpdate(ValueAnimator)}, which + * is called during each animation frame, immediately after the value is calculated. + * + * @return animatedValue The value most recently calculated by this ValueAnimator for + * the single property being animated. If there are several properties being animated + * (specified by several PropertyValuesHolder objects in the constructor), this function + * returns the animated value for the first of those objects. + */ + public Object getAnimatedValue() { + if (mValues != null && mValues.length > 0) { + return mValues[0].getAnimatedValue(); + } + // Shouldn't get here; should always have values unless ValueAnimator was set up wrong + return null; + } + + /** + * The most recent value calculated by this ValueAnimator for propertyName. + * The main purpose for this read-only property is to retrieve the value from the + * ValueAnimator during a call to + * {@link AnimatorUpdateListener#onAnimationUpdate(ValueAnimator)}, which + * is called during each animation frame, immediately after the value is calculated. + * + * @return animatedValue The value most recently calculated for the named property + * by this ValueAnimator. + */ + public Object getAnimatedValue(String propertyName) { + PropertyValuesHolder valuesHolder = mValuesMap.get(propertyName); + if (valuesHolder != null) { + return valuesHolder.getAnimatedValue(); + } else { + // At least avoid crashing if called with bogus propertyName + return null; + } + } + + /** + * Sets how many times the animation should be repeated. If the repeat + * count is 0, the animation is never repeated. If the repeat count is + * greater than 0 or {@link #INFINITE}, the repeat mode will be taken + * into account. The repeat count is 0 by default. + * + * @param value the number of times the animation should be repeated + */ + public void setRepeatCount(int value) { + mRepeatCount = value; + } + /** + * Defines how many times the animation should repeat. The default value + * is 0. + * + * @return the number of times the animation should repeat, or {@link #INFINITE} + */ + public int getRepeatCount() { + return mRepeatCount; + } + + /** + * Defines what this animation should do when it reaches the end. This + * setting is applied only when the repeat count is either greater than + * 0 or {@link #INFINITE}. Defaults to {@link #RESTART}. + * + * @param value {@link #RESTART} or {@link #REVERSE} + */ + public void setRepeatMode(int value) { + mRepeatMode = value; + } + + /** + * Defines what this animation should do when it reaches the end. + * + * @return either one of {@link #REVERSE} or {@link #RESTART} + */ + public int getRepeatMode() { + return mRepeatMode; + } + + /** + * Adds a listener to the set of listeners that are sent update events through the life of + * an animation. This method is called on all listeners for every frame of the animation, + * after the values for the animation have been calculated. + * + * @param listener the listener to be added to the current set of listeners for this animation. + */ + public void addUpdateListener(AnimatorUpdateListener listener) { + if (mUpdateListeners == null) { + mUpdateListeners = new ArrayList(); + } + mUpdateListeners.add(listener); + } + + /** + * Removes all listeners from the set listening to frame updates for this animation. + */ + public void removeAllUpdateListeners() { + if (mUpdateListeners == null) { + return; + } + mUpdateListeners.clear(); + mUpdateListeners = null; + } + + /** + * Removes a listener from the set listening to frame updates for this animation. + * + * @param listener the listener to be removed from the current set of update listeners + * for this animation. + */ + public void removeUpdateListener(AnimatorUpdateListener listener) { + if (mUpdateListeners == null) { + return; + } + mUpdateListeners.remove(listener); + if (mUpdateListeners.size() == 0) { + mUpdateListeners = null; + } + } + + + /** + * The time interpolator used in calculating the elapsed fraction of this animation. The + * interpolator determines whether the animation runs with linear or non-linear motion, + * such as acceleration and deceleration. The default value is + * {@link android.view.animation.AccelerateDecelerateInterpolator} + * + * @param value the interpolator to be used by this animation. A value of null + * will result in linear interpolation. + */ + @Override + public void setInterpolator(/*Time*/Interpolator value) { + if (value != null) { + mInterpolator = value; + } else { + mInterpolator = new LinearInterpolator(); + } + } + + /** + * Returns the timing interpolator that this ValueAnimator uses. + * + * @return The timing interpolator for this ValueAnimator. + */ + public /*Time*/Interpolator getInterpolator() { + return mInterpolator; + } + + /** + * The type evaluator to be used when calculating the animated values of this animation. + * The system will automatically assign a float or int evaluator based on the type + * of startValue and endValue in the constructor. But if these values + * are not one of these primitive types, or if different evaluation is desired (such as is + * necessary with int values that represent colors), a custom evaluator needs to be assigned. + * For example, when running an animation on color values, the {@link ArgbEvaluator} + * should be used to get correct RGB color interpolation. + * + *

      If this ValueAnimator has only one set of values being animated between, this evaluator + * will be used for that set. If there are several sets of values being animated, which is + * the case if PropertyValuesHOlder objects were set on the ValueAnimator, then the evaluator + * is assigned just to the first PropertyValuesHolder object.

      + * + * @param value the evaluator to be used this animation + */ + public void setEvaluator(TypeEvaluator value) { + if (value != null && mValues != null && mValues.length > 0) { + mValues[0].setEvaluator(value); + } + } + + /** + * Start the animation playing. This version of start() takes a boolean flag that indicates + * whether the animation should play in reverse. The flag is usually false, but may be set + * to true if called from the reverse() method. + * + *

      The animation started by calling this method will be run on the thread that called + * this method. This thread should have a Looper on it (a runtime exception will be thrown if + * this is not the case). Also, if the animation will animate + * properties of objects in the view hierarchy, then the calling thread should be the UI + * thread for that view hierarchy.

      + * + * @param playBackwards Whether the ValueAnimator should start playing in reverse. + */ + private void start(boolean playBackwards) { + if (Looper.myLooper() == null) { + throw new AndroidRuntimeException("Animators may only be run on Looper threads"); + } + mPlayingBackwards = playBackwards; + mCurrentIteration = 0; + mPlayingState = STOPPED; + mStarted = true; + mStartedDelay = false; + sPendingAnimations.get().add(this); + if (mStartDelay == 0) { + // This sets the initial value of the animation, prior to actually starting it running + setCurrentPlayTime(getCurrentPlayTime()); + mPlayingState = STOPPED; + mRunning = true; + + if (mListeners != null) { + ArrayList tmpListeners = + (ArrayList) mListeners.clone(); + int numListeners = tmpListeners.size(); + for (int i = 0; i < numListeners; ++i) { + tmpListeners.get(i).onAnimationStart(this); + } + } + } + AnimationHandler animationHandler = sAnimationHandler.get(); + if (animationHandler == null) { + animationHandler = new AnimationHandler(); + sAnimationHandler.set(animationHandler); + } + animationHandler.sendEmptyMessage(ANIMATION_START); + } + + @Override + public void start() { + start(false); + } + + @Override + public void cancel() { + // Only cancel if the animation is actually running or has been started and is about + // to run + if (mPlayingState != STOPPED || sPendingAnimations.get().contains(this) || + sDelayedAnims.get().contains(this)) { + // Only notify listeners if the animator has actually started + if (mRunning && mListeners != null) { + ArrayList tmpListeners = + (ArrayList) mListeners.clone(); + for (AnimatorListener listener : tmpListeners) { + listener.onAnimationCancel(this); + } + } + endAnimation(); + } + } + + @Override + public void end() { + if (!sAnimations.get().contains(this) && !sPendingAnimations.get().contains(this)) { + // Special case if the animation has not yet started; get it ready for ending + mStartedDelay = false; + startAnimation(); + } else if (!mInitialized) { + initAnimation(); + } + // The final value set on the target varies, depending on whether the animation + // was supposed to repeat an odd number of times + if (mRepeatCount > 0 && (mRepeatCount & 0x01) == 1) { + animateValue(0f); + } else { + animateValue(1f); + } + endAnimation(); + } + + @Override + public boolean isRunning() { + return (mPlayingState == RUNNING || mRunning); + } + + @Override + public boolean isStarted() { + return mStarted; + } + + /** + * Plays the ValueAnimator in reverse. If the animation is already running, + * it will stop itself and play backwards from the point reached when reverse was called. + * If the animation is not currently running, then it will start from the end and + * play backwards. This behavior is only set for the current animation; future playing + * of the animation will use the default behavior of playing forward. + */ + public void reverse() { + mPlayingBackwards = !mPlayingBackwards; + if (mPlayingState == RUNNING) { + long currentTime = AnimationUtils.currentAnimationTimeMillis(); + long currentPlayTime = currentTime - mStartTime; + long timeLeft = mDuration - currentPlayTime; + mStartTime = currentTime - timeLeft; + } else { + start(true); + } + } + + /** + * Called internally to end an animation by removing it from the animations list. Must be + * called on the UI thread. + */ + private void endAnimation() { + sAnimations.get().remove(this); + sPendingAnimations.get().remove(this); + sDelayedAnims.get().remove(this); + mPlayingState = STOPPED; + if (mRunning && mListeners != null) { + ArrayList tmpListeners = + (ArrayList) mListeners.clone(); + int numListeners = tmpListeners.size(); + for (int i = 0; i < numListeners; ++i) { + tmpListeners.get(i).onAnimationEnd(this); + } + } + mRunning = false; + mStarted = false; + } + + /** + * Called internally to start an animation by adding it to the active animations list. Must be + * called on the UI thread. + */ + private void startAnimation() { + initAnimation(); + sAnimations.get().add(this); + if (mStartDelay > 0 && mListeners != null) { + // Listeners were already notified in start() if startDelay is 0; this is + // just for delayed animations + ArrayList tmpListeners = + (ArrayList) mListeners.clone(); + int numListeners = tmpListeners.size(); + for (int i = 0; i < numListeners; ++i) { + tmpListeners.get(i).onAnimationStart(this); + } + } + } + + /** + * Internal function called to process an animation frame on an animation that is currently + * sleeping through its startDelay phase. The return value indicates whether it + * should be woken up and put on the active animations queue. + * + * @param currentTime The current animation time, used to calculate whether the animation + * has exceeded its startDelay and should be started. + * @return True if the animation's startDelay has been exceeded and the animation + * should be added to the set of active animations. + */ + private boolean delayedAnimationFrame(long currentTime) { + if (!mStartedDelay) { + mStartedDelay = true; + mDelayStartTime = currentTime; + } else { + long deltaTime = currentTime - mDelayStartTime; + if (deltaTime > mStartDelay) { + // startDelay ended - start the anim and record the + // mStartTime appropriately + mStartTime = currentTime - (deltaTime - mStartDelay); + mPlayingState = RUNNING; + return true; + } + } + return false; + } + + /** + * This internal function processes a single animation frame for a given animation. The + * currentTime parameter is the timing pulse sent by the handler, used to calculate the + * elapsed duration, and therefore + * the elapsed fraction, of the animation. The return value indicates whether the animation + * should be ended (which happens when the elapsed time of the animation exceeds the + * animation's duration, including the repeatCount). + * + * @param currentTime The current time, as tracked by the static timing handler + * @return true if the animation's duration, including any repetitions due to + * repeatCount has been exceeded and the animation should be ended. + */ + boolean animationFrame(long currentTime) { + boolean done = false; + + if (mPlayingState == STOPPED) { + mPlayingState = RUNNING; + if (mSeekTime < 0) { + mStartTime = currentTime; + } else { + mStartTime = currentTime - mSeekTime; + // Now that we're playing, reset the seek time + mSeekTime = -1; + } + } + switch (mPlayingState) { + case RUNNING: + case SEEKED: + float fraction = mDuration > 0 ? (float)(currentTime - mStartTime) / mDuration : 1f; + if (fraction >= 1f) { + if (mCurrentIteration < mRepeatCount || mRepeatCount == INFINITE) { + // Time to repeat + if (mListeners != null) { + int numListeners = mListeners.size(); + for (int i = 0; i < numListeners; ++i) { + mListeners.get(i).onAnimationRepeat(this); + } + } + if (mRepeatMode == REVERSE) { + mPlayingBackwards = mPlayingBackwards ? false : true; + } + mCurrentIteration += (int)fraction; + fraction = fraction % 1f; + mStartTime += mDuration; + } else { + done = true; + fraction = Math.min(fraction, 1.0f); + } + } + if (mPlayingBackwards) { + fraction = 1f - fraction; + } + animateValue(fraction); + break; + } + + return done; + } + + /** + * Returns the current animation fraction, which is the elapsed/interpolated fraction used in + * the most recent frame update on the animation. + * + * @return Elapsed/interpolated fraction of the animation. + */ + public float getAnimatedFraction() { + return mCurrentFraction; + } + + /** + * This method is called with the elapsed fraction of the animation during every + * animation frame. This function turns the elapsed fraction into an interpolated fraction + * and then into an animated value (from the evaluator. The function is called mostly during + * animation updates, but it is also called when the end() + * function is called, to set the final value on the property. + * + *

      Overrides of this method must call the superclass to perform the calculation + * of the animated value.

      + * + * @param fraction The elapsed fraction of the animation. + */ + void animateValue(float fraction) { + fraction = mInterpolator.getInterpolation(fraction); + mCurrentFraction = fraction; + int numValues = mValues.length; + for (int i = 0; i < numValues; ++i) { + mValues[i].calculateValue(fraction); + } + if (mUpdateListeners != null) { + int numListeners = mUpdateListeners.size(); + for (int i = 0; i < numListeners; ++i) { + mUpdateListeners.get(i).onAnimationUpdate(this); + } + } + } + + @Override + public ValueAnimator clone() { + final ValueAnimator anim = (ValueAnimator) super.clone(); + if (mUpdateListeners != null) { + ArrayList oldListeners = mUpdateListeners; + anim.mUpdateListeners = new ArrayList(); + int numListeners = oldListeners.size(); + for (int i = 0; i < numListeners; ++i) { + anim.mUpdateListeners.add(oldListeners.get(i)); + } + } + anim.mSeekTime = -1; + anim.mPlayingBackwards = false; + anim.mCurrentIteration = 0; + anim.mInitialized = false; + anim.mPlayingState = STOPPED; + anim.mStartedDelay = false; + PropertyValuesHolder[] oldValues = mValues; + if (oldValues != null) { + int numValues = oldValues.length; + anim.mValues = new PropertyValuesHolder[numValues]; + anim.mValuesMap = new HashMap(numValues); + for (int i = 0; i < numValues; ++i) { + PropertyValuesHolder newValuesHolder = oldValues[i].clone(); + anim.mValues[i] = newValuesHolder; + anim.mValuesMap.put(newValuesHolder.getPropertyName(), newValuesHolder); + } + } + return anim; + } + + /** + * Implementors of this interface can add themselves as update listeners + * to an ValueAnimator instance to receive callbacks on every animation + * frame, after the current frame's values have been calculated for that + * ValueAnimator. + */ + public static interface AnimatorUpdateListener { + /** + *

      Notifies the occurrence of another frame of the animation.

      + * + * @param animation The animation which was repeated. + */ + void onAnimationUpdate(ValueAnimator animation); + + } + + /** + * Return the number of animations currently running. + * + * Used by StrictMode internally to annotate violations. Only + * called on the main thread. + * + * @hide + */ + public static int getCurrentAnimationsCount() { + return sAnimations.get().size(); + } + + /** + * Clear all animations on this thread, without canceling or ending them. + * This should be used with caution. + * + * @hide + */ + public static void clearAllAnimations() { + sAnimations.get().clear(); + sPendingAnimations.get().clear(); + sDelayedAnims.get().clear(); + } + + @Override + public String toString() { + String returnVal = "ValueAnimator@" + Integer.toHexString(hashCode()); + if (mValues != null) { + for (int i = 0; i < mValues.length; ++i) { + returnVal += "\n " + mValues[i].toString(); + } + } + return returnVal; + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/view/NineViewGroup.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/view/NineViewGroup.java new file mode 100644 index 000000000..7b830b9c0 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/view/NineViewGroup.java @@ -0,0 +1,79 @@ +package com.actionbarsherlock.internal.nineoldandroids.view; + +import android.content.Context; +import android.util.AttributeSet; +import android.view.ViewGroup; + +import com.actionbarsherlock.internal.nineoldandroids.view.animation.AnimatorProxy; + +public abstract class NineViewGroup extends ViewGroup { + private final AnimatorProxy mProxy; + + public NineViewGroup(Context context) { + super(context); + mProxy = AnimatorProxy.NEEDS_PROXY ? AnimatorProxy.wrap(this) : null; + } + public NineViewGroup(Context context, AttributeSet attrs) { + super(context, attrs); + mProxy = AnimatorProxy.NEEDS_PROXY ? AnimatorProxy.wrap(this) : null; + } + public NineViewGroup(Context context, AttributeSet attrs, int defStyle) { + super(context, attrs, defStyle); + mProxy = AnimatorProxy.NEEDS_PROXY ? AnimatorProxy.wrap(this) : null; + } + + @Override + public void setVisibility(int visibility) { + if (mProxy != null) { + if (visibility == GONE) { + clearAnimation(); + } else if (visibility == VISIBLE) { + setAnimation(mProxy); + } + } + super.setVisibility(visibility); + } + + public float getAlpha() { + if (AnimatorProxy.NEEDS_PROXY) { + return mProxy.getAlpha(); + } else { + return super.getAlpha(); + } + } + public void setAlpha(float alpha) { + if (AnimatorProxy.NEEDS_PROXY) { + mProxy.setAlpha(alpha); + } else { + super.setAlpha(alpha); + } + } + public float getTranslationX() { + if (AnimatorProxy.NEEDS_PROXY) { + return mProxy.getTranslationX(); + } else { + return super.getTranslationX(); + } + } + public void setTranslationX(float translationX) { + if (AnimatorProxy.NEEDS_PROXY) { + mProxy.setTranslationX(translationX); + } else { + super.setTranslationX(translationX); + } + } + public float getTranslationY() { + if (AnimatorProxy.NEEDS_PROXY) { + return mProxy.getTranslationY(); + } else { + return super.getTranslationY(); + } + } + public void setTranslationY(float translationY) { + if (AnimatorProxy.NEEDS_PROXY) { + mProxy.setTranslationY(translationY); + } else { + super.setTranslationY(translationY); + } + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/view/animation/AnimatorProxy.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/view/animation/AnimatorProxy.java new file mode 100644 index 000000000..067d0494e --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/view/animation/AnimatorProxy.java @@ -0,0 +1,212 @@ +package com.actionbarsherlock.internal.nineoldandroids.view.animation; + +import java.lang.ref.WeakReference; +import java.util.WeakHashMap; +import android.graphics.Matrix; +import android.graphics.RectF; +import android.os.Build; +import android.util.FloatMath; +import android.view.View; +import android.view.animation.Animation; +import android.view.animation.Transformation; + +public final class AnimatorProxy extends Animation { + public static final boolean NEEDS_PROXY = Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB; + + private static final WeakHashMap PROXIES = + new WeakHashMap(); + + public static AnimatorProxy wrap(View view) { + AnimatorProxy proxy = PROXIES.get(view); + if (proxy == null) { + proxy = new AnimatorProxy(view); + PROXIES.put(view, proxy); + } + return proxy; + } + + private final WeakReference mView; + + private float mAlpha = 1; + private float mScaleX = 1; + private float mScaleY = 1; + private float mTranslationX; + private float mTranslationY; + + private final RectF mBefore = new RectF(); + private final RectF mAfter = new RectF(); + private final Matrix mTempMatrix = new Matrix(); + + private AnimatorProxy(View view) { + setDuration(0); //perform transformation immediately + setFillAfter(true); //persist transformation beyond duration + view.setAnimation(this); + mView = new WeakReference(view); + } + + public float getAlpha() { + return mAlpha; + } + public void setAlpha(float alpha) { + if (mAlpha != alpha) { + mAlpha = alpha; + View view = mView.get(); + if (view != null) { + view.invalidate(); + } + } + } + public float getScaleX() { + return mScaleX; + } + public void setScaleX(float scaleX) { + if (mScaleX != scaleX) { + prepareForUpdate(); + mScaleX = scaleX; + invalidateAfterUpdate(); + } + } + public float getScaleY() { + return mScaleY; + } + public void setScaleY(float scaleY) { + if (mScaleY != scaleY) { + prepareForUpdate(); + mScaleY = scaleY; + invalidateAfterUpdate(); + } + } + public int getScrollX() { + View view = mView.get(); + if (view == null) { + return 0; + } + return view.getScrollX(); + } + public void setScrollX(int value) { + View view = mView.get(); + if (view != null) { + view.scrollTo(value, view.getScrollY()); + } + } + public int getScrollY() { + View view = mView.get(); + if (view == null) { + return 0; + } + return view.getScrollY(); + } + public void setScrollY(int value) { + View view = mView.get(); + if (view != null) { + view.scrollTo(view.getScrollY(), value); + } + } + + public float getTranslationX() { + return mTranslationX; + } + public void setTranslationX(float translationX) { + if (mTranslationX != translationX) { + prepareForUpdate(); + mTranslationX = translationX; + invalidateAfterUpdate(); + } + } + public float getTranslationY() { + return mTranslationY; + } + public void setTranslationY(float translationY) { + if (mTranslationY != translationY) { + prepareForUpdate(); + mTranslationY = translationY; + invalidateAfterUpdate(); + } + } + + private void prepareForUpdate() { + View view = mView.get(); + if (view != null) { + computeRect(mBefore, view); + } + } + private void invalidateAfterUpdate() { + View view = mView.get(); + if (view == null) { + return; + } + View parent = (View)view.getParent(); + if (parent == null) { + return; + } + + view.setAnimation(this); + + final RectF after = mAfter; + computeRect(after, view); + after.union(mBefore); + + parent.invalidate( + (int) FloatMath.floor(after.left), + (int) FloatMath.floor(after.top), + (int) FloatMath.ceil(after.right), + (int) FloatMath.ceil(after.bottom)); + } + + private void computeRect(final RectF r, View view) { + // compute current rectangle according to matrix transformation + final float w = view.getWidth(); + final float h = view.getHeight(); + + // use a rectangle at 0,0 to make sure we don't run into issues with scaling + r.set(0, 0, w, h); + + final Matrix m = mTempMatrix; + m.reset(); + transformMatrix(m, view); + mTempMatrix.mapRect(r); + + r.offset(view.getLeft(), view.getTop()); + + // Straighten coords if rotations flipped them + if (r.right < r.left) { + final float f = r.right; + r.right = r.left; + r.left = f; + } + if (r.bottom < r.top) { + final float f = r.top; + r.top = r.bottom; + r.bottom = f; + } + } + + private void transformMatrix(Matrix m, View view) { + final float w = view.getWidth(); + final float h = view.getHeight(); + + final float sX = mScaleX; + final float sY = mScaleY; + if ((sX != 1.0f) || (sY != 1.0f)) { + final float deltaSX = ((sX * w) - w) / 2f; + final float deltaSY = ((sY * h) - h) / 2f; + m.postScale(sX, sY); + m.postTranslate(-deltaSX, -deltaSY); + } + m.postTranslate(mTranslationX, mTranslationY); + } + + @Override + protected void applyTransformation(float interpolatedTime, Transformation t) { + View view = mView.get(); + if (view != null) { + t.setAlpha(mAlpha); + transformMatrix(t.getMatrix(), view); + } + } + + @Override + public void reset() { + /* Do nothing. */ + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/widget/NineFrameLayout.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/widget/NineFrameLayout.java new file mode 100644 index 000000000..953e3e844 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/widget/NineFrameLayout.java @@ -0,0 +1,57 @@ +package com.actionbarsherlock.internal.nineoldandroids.widget; + +import android.content.Context; +import android.util.AttributeSet; +import android.widget.FrameLayout; + +import com.actionbarsherlock.internal.nineoldandroids.view.animation.AnimatorProxy; + +public class NineFrameLayout extends FrameLayout { + private final AnimatorProxy mProxy; + + public NineFrameLayout(Context context, AttributeSet attrs) { + super(context, attrs); + mProxy = AnimatorProxy.NEEDS_PROXY ? AnimatorProxy.wrap(this) : null; + } + + @Override + public void setVisibility(int visibility) { + if (mProxy != null) { + if (visibility == GONE) { + clearAnimation(); + } else if (visibility == VISIBLE) { + setAnimation(mProxy); + } + } + super.setVisibility(visibility); + } + + public float getAlpha() { + if (AnimatorProxy.NEEDS_PROXY) { + return mProxy.getAlpha(); + } else { + return super.getAlpha(); + } + } + public void setAlpha(float alpha) { + if (AnimatorProxy.NEEDS_PROXY) { + mProxy.setAlpha(alpha); + } else { + super.setAlpha(alpha); + } + } + public float getTranslationY() { + if (AnimatorProxy.NEEDS_PROXY) { + return mProxy.getTranslationY(); + } else { + return super.getTranslationY(); + } + } + public void setTranslationY(float translationY) { + if (AnimatorProxy.NEEDS_PROXY) { + mProxy.setTranslationY(translationY); + } else { + super.setTranslationY(translationY); + } + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/widget/NineHorizontalScrollView.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/widget/NineHorizontalScrollView.java new file mode 100644 index 000000000..129b5aaaa --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/widget/NineHorizontalScrollView.java @@ -0,0 +1,41 @@ +package com.actionbarsherlock.internal.nineoldandroids.widget; + +import android.content.Context; +import android.widget.HorizontalScrollView; +import com.actionbarsherlock.internal.nineoldandroids.view.animation.AnimatorProxy; + +public class NineHorizontalScrollView extends HorizontalScrollView { + private final AnimatorProxy mProxy; + + public NineHorizontalScrollView(Context context) { + super(context); + mProxy = AnimatorProxy.NEEDS_PROXY ? AnimatorProxy.wrap(this) : null; + } + + @Override + public void setVisibility(int visibility) { + if (mProxy != null) { + if (visibility == GONE) { + clearAnimation(); + } else if (visibility == VISIBLE) { + setAnimation(mProxy); + } + } + super.setVisibility(visibility); + } + + public float getAlpha() { + if (AnimatorProxy.NEEDS_PROXY) { + return mProxy.getAlpha(); + } else { + return super.getAlpha(); + } + } + public void setAlpha(float alpha) { + if (AnimatorProxy.NEEDS_PROXY) { + mProxy.setAlpha(alpha); + } else { + super.setAlpha(alpha); + } + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/widget/NineLinearLayout.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/widget/NineLinearLayout.java new file mode 100644 index 000000000..1f381013a --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/nineoldandroids/widget/NineLinearLayout.java @@ -0,0 +1,57 @@ +package com.actionbarsherlock.internal.nineoldandroids.widget; + +import android.content.Context; +import android.util.AttributeSet; +import android.widget.LinearLayout; + +import com.actionbarsherlock.internal.nineoldandroids.view.animation.AnimatorProxy; + +public class NineLinearLayout extends LinearLayout { + private final AnimatorProxy mProxy; + + public NineLinearLayout(Context context, AttributeSet attrs) { + super(context, attrs); + mProxy = AnimatorProxy.NEEDS_PROXY ? AnimatorProxy.wrap(this) : null; + } + + @Override + public void setVisibility(int visibility) { + if (mProxy != null) { + if (visibility == GONE) { + clearAnimation(); + } else if (visibility == VISIBLE) { + setAnimation(mProxy); + } + } + super.setVisibility(visibility); + } + + public float getAlpha() { + if (AnimatorProxy.NEEDS_PROXY) { + return mProxy.getAlpha(); + } else { + return super.getAlpha(); + } + } + public void setAlpha(float alpha) { + if (AnimatorProxy.NEEDS_PROXY) { + mProxy.setAlpha(alpha); + } else { + super.setAlpha(alpha); + } + } + public float getTranslationX() { + if (AnimatorProxy.NEEDS_PROXY) { + return mProxy.getTranslationX(); + } else { + return super.getTranslationX(); + } + } + public void setTranslationX(float translationX) { + if (AnimatorProxy.NEEDS_PROXY) { + mProxy.setTranslationX(translationX); + } else { + super.setTranslationX(translationX); + } + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/ActionProviderWrapper.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/ActionProviderWrapper.java new file mode 100644 index 000000000..b136d50f0 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/ActionProviderWrapper.java @@ -0,0 +1,40 @@ +package com.actionbarsherlock.internal.view; + +import com.actionbarsherlock.internal.view.menu.SubMenuWrapper; +import com.actionbarsherlock.view.ActionProvider; +import android.view.View; + +public class ActionProviderWrapper extends android.view.ActionProvider { + private final ActionProvider mProvider; + + + public ActionProviderWrapper(ActionProvider provider) { + super(null/*TODO*/); //XXX this *should* be unused + mProvider = provider; + } + + + public ActionProvider unwrap() { + return mProvider; + } + + @Override + public View onCreateActionView() { + return mProvider.onCreateActionView(); + } + + @Override + public boolean hasSubMenu() { + return mProvider.hasSubMenu(); + } + + @Override + public boolean onPerformDefaultAction() { + return mProvider.onPerformDefaultAction(); + } + + @Override + public void onPrepareSubMenu(android.view.SubMenu subMenu) { + mProvider.onPrepareSubMenu(new SubMenuWrapper(subMenu)); + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/StandaloneActionMode.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/StandaloneActionMode.java new file mode 100644 index 000000000..0a87bd3f7 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/StandaloneActionMode.java @@ -0,0 +1,148 @@ +/* + * 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. + */ +package com.actionbarsherlock.internal.view; + +import android.content.Context; +import android.view.View; +import android.view.accessibility.AccessibilityEvent; + +import java.lang.ref.WeakReference; + +import com.actionbarsherlock.internal.view.menu.MenuBuilder; +import com.actionbarsherlock.internal.view.menu.MenuPopupHelper; +import com.actionbarsherlock.internal.view.menu.SubMenuBuilder; +import com.actionbarsherlock.internal.widget.ActionBarContextView; +import com.actionbarsherlock.view.ActionMode; +import com.actionbarsherlock.view.Menu; +import com.actionbarsherlock.view.MenuInflater; +import com.actionbarsherlock.view.MenuItem; + +public class StandaloneActionMode extends ActionMode implements MenuBuilder.Callback { + private Context mContext; + private ActionBarContextView mContextView; + private ActionMode.Callback mCallback; + private WeakReference mCustomView; + private boolean mFinished; + private boolean mFocusable; + + private MenuBuilder mMenu; + + public StandaloneActionMode(Context context, ActionBarContextView view, + ActionMode.Callback callback, boolean isFocusable) { + mContext = context; + mContextView = view; + mCallback = callback; + + mMenu = new MenuBuilder(context).setDefaultShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM); + mMenu.setCallback(this); + mFocusable = isFocusable; + } + + @Override + public void setTitle(CharSequence title) { + mContextView.setTitle(title); + } + + @Override + public void setSubtitle(CharSequence subtitle) { + mContextView.setSubtitle(subtitle); + } + + @Override + public void setTitle(int resId) { + setTitle(mContext.getString(resId)); + } + + @Override + public void setSubtitle(int resId) { + setSubtitle(mContext.getString(resId)); + } + + @Override + public void setCustomView(View view) { + mContextView.setCustomView(view); + mCustomView = view != null ? new WeakReference(view) : null; + } + + @Override + public void invalidate() { + mCallback.onPrepareActionMode(this, mMenu); + } + + @Override + public void finish() { + if (mFinished) { + return; + } + mFinished = true; + + mContextView.sendAccessibilityEvent(AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED); + mCallback.onDestroyActionMode(this); + } + + @Override + public Menu getMenu() { + return mMenu; + } + + @Override + public CharSequence getTitle() { + return mContextView.getTitle(); + } + + @Override + public CharSequence getSubtitle() { + return mContextView.getSubtitle(); + } + + @Override + public View getCustomView() { + return mCustomView != null ? mCustomView.get() : null; + } + + @Override + public MenuInflater getMenuInflater() { + return new MenuInflater(mContext); + } + + public boolean onMenuItemSelected(MenuBuilder menu, MenuItem item) { + return mCallback.onActionItemClicked(this, item); + } + + public void onCloseMenu(MenuBuilder menu, boolean allMenusAreClosing) { + } + + public boolean onSubMenuSelected(SubMenuBuilder subMenu) { + if (!subMenu.hasVisibleItems()) { + return true; + } + + new MenuPopupHelper(mContext, subMenu).show(); + return true; + } + + public void onCloseSubMenu(SubMenuBuilder menu) { + } + + public void onMenuModeChange(MenuBuilder menu) { + invalidate(); + mContextView.showOverflowMenu(); + } + + public boolean isUiFocusable() { + return mFocusable; + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/View_HasStateListenerSupport.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/View_HasStateListenerSupport.java new file mode 100644 index 000000000..7d45e81be --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/View_HasStateListenerSupport.java @@ -0,0 +1,6 @@ +package com.actionbarsherlock.internal.view; + +public interface View_HasStateListenerSupport { + void addOnAttachStateChangeListener(View_OnAttachStateChangeListener listener); + void removeOnAttachStateChangeListener(View_OnAttachStateChangeListener listener); +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/View_OnAttachStateChangeListener.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/View_OnAttachStateChangeListener.java new file mode 100644 index 000000000..3869d3290 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/View_OnAttachStateChangeListener.java @@ -0,0 +1,8 @@ +package com.actionbarsherlock.internal.view; + +import android.view.View; + +public interface View_OnAttachStateChangeListener { + void onViewAttachedToWindow(View v); + void onViewDetachedFromWindow(View v); +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/menu/ActionMenu.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/menu/ActionMenu.java new file mode 100644 index 000000000..0354ad1ad --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/menu/ActionMenu.java @@ -0,0 +1,264 @@ +/* + * 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. + */ + +package com.actionbarsherlock.internal.view.menu; + +import java.util.ArrayList; +import java.util.List; + +import android.content.ComponentName; +import android.content.Context; +import android.content.Intent; +import android.content.pm.PackageManager; +import android.content.pm.ResolveInfo; +import android.view.KeyEvent; + +import com.actionbarsherlock.view.Menu; +import com.actionbarsherlock.view.MenuItem; +import com.actionbarsherlock.view.SubMenu; + +/** + * @hide + */ +public class ActionMenu implements Menu { + private Context mContext; + + private boolean mIsQwerty; + + private ArrayList mItems; + + public ActionMenu(Context context) { + mContext = context; + mItems = new ArrayList(); + } + + public Context getContext() { + return mContext; + } + + public MenuItem add(CharSequence title) { + return add(0, 0, 0, title); + } + + public MenuItem add(int titleRes) { + return add(0, 0, 0, titleRes); + } + + public MenuItem add(int groupId, int itemId, int order, int titleRes) { + return add(groupId, itemId, order, mContext.getResources().getString(titleRes)); + } + + public MenuItem add(int groupId, int itemId, int order, CharSequence title) { + ActionMenuItem item = new ActionMenuItem(getContext(), + groupId, itemId, 0, order, title); + mItems.add(order, item); + return item; + } + + public int addIntentOptions(int groupId, int itemId, int order, + ComponentName caller, Intent[] specifics, Intent intent, int flags, + MenuItem[] outSpecificItems) { + PackageManager pm = mContext.getPackageManager(); + final List lri = + pm.queryIntentActivityOptions(caller, specifics, intent, 0); + final int N = lri != null ? lri.size() : 0; + + if ((flags & FLAG_APPEND_TO_GROUP) == 0) { + removeGroup(groupId); + } + + for (int i=0; i= 0) { + outSpecificItems[ri.specificIndex] = item; + } + } + + return N; + } + + public SubMenu addSubMenu(CharSequence title) { + // TODO Implement submenus + return null; + } + + public SubMenu addSubMenu(int titleRes) { + // TODO Implement submenus + return null; + } + + public SubMenu addSubMenu(int groupId, int itemId, int order, + CharSequence title) { + // TODO Implement submenus + return null; + } + + public SubMenu addSubMenu(int groupId, int itemId, int order, int titleRes) { + // TODO Implement submenus + return null; + } + + public void clear() { + mItems.clear(); + } + + public void close() { + } + + private int findItemIndex(int id) { + final ArrayList items = mItems; + final int itemCount = items.size(); + for (int i = 0; i < itemCount; i++) { + if (items.get(i).getItemId() == id) { + return i; + } + } + + return -1; + } + + public MenuItem findItem(int id) { + return mItems.get(findItemIndex(id)); + } + + public MenuItem getItem(int index) { + return mItems.get(index); + } + + public boolean hasVisibleItems() { + final ArrayList items = mItems; + final int itemCount = items.size(); + + for (int i = 0; i < itemCount; i++) { + if (items.get(i).isVisible()) { + return true; + } + } + + return false; + } + + private ActionMenuItem findItemWithShortcut(int keyCode, KeyEvent event) { + // TODO Make this smarter. + final boolean qwerty = mIsQwerty; + final ArrayList items = mItems; + final int itemCount = items.size(); + + for (int i = 0; i < itemCount; i++) { + ActionMenuItem item = items.get(i); + final char shortcut = qwerty ? item.getAlphabeticShortcut() : + item.getNumericShortcut(); + if (keyCode == shortcut) { + return item; + } + } + return null; + } + + public boolean isShortcutKey(int keyCode, KeyEvent event) { + return findItemWithShortcut(keyCode, event) != null; + } + + public boolean performIdentifierAction(int id, int flags) { + final int index = findItemIndex(id); + if (index < 0) { + return false; + } + + return mItems.get(index).invoke(); + } + + public boolean performShortcut(int keyCode, KeyEvent event, int flags) { + ActionMenuItem item = findItemWithShortcut(keyCode, event); + if (item == null) { + return false; + } + + return item.invoke(); + } + + public void removeGroup(int groupId) { + final ArrayList items = mItems; + int itemCount = items.size(); + int i = 0; + while (i < itemCount) { + if (items.get(i).getGroupId() == groupId) { + items.remove(i); + itemCount--; + } else { + i++; + } + } + } + + public void removeItem(int id) { + mItems.remove(findItemIndex(id)); + } + + public void setGroupCheckable(int group, boolean checkable, + boolean exclusive) { + final ArrayList items = mItems; + final int itemCount = items.size(); + + for (int i = 0; i < itemCount; i++) { + ActionMenuItem item = items.get(i); + if (item.getGroupId() == group) { + item.setCheckable(checkable); + item.setExclusiveCheckable(exclusive); + } + } + } + + public void setGroupEnabled(int group, boolean enabled) { + final ArrayList items = mItems; + final int itemCount = items.size(); + + for (int i = 0; i < itemCount; i++) { + ActionMenuItem item = items.get(i); + if (item.getGroupId() == group) { + item.setEnabled(enabled); + } + } + } + + public void setGroupVisible(int group, boolean visible) { + final ArrayList items = mItems; + final int itemCount = items.size(); + + for (int i = 0; i < itemCount; i++) { + ActionMenuItem item = items.get(i); + if (item.getGroupId() == group) { + item.setVisible(visible); + } + } + } + + public void setQwertyMode(boolean isQwerty) { + mIsQwerty = isQwerty; + } + + public int size() { + return mItems.size(); + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/menu/ActionMenuItem.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/menu/ActionMenuItem.java new file mode 100644 index 000000000..510b97488 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/menu/ActionMenuItem.java @@ -0,0 +1,278 @@ +/* + * 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. + */ + +package com.actionbarsherlock.internal.view.menu; + +import android.content.Context; +import android.content.Intent; +import android.graphics.drawable.Drawable; +import android.view.ContextMenu.ContextMenuInfo; +import android.view.View; + +import com.actionbarsherlock.view.ActionProvider; +import com.actionbarsherlock.view.MenuItem; +import com.actionbarsherlock.view.SubMenu; + +/** + * @hide + */ +public class ActionMenuItem implements MenuItem { + private final int mId; + private final int mGroup; + //UNUSED private final int mCategoryOrder; + private final int mOrdering; + + private CharSequence mTitle; + private CharSequence mTitleCondensed; + private Intent mIntent; + private char mShortcutNumericChar; + private char mShortcutAlphabeticChar; + + private Drawable mIconDrawable; + //UNUSED private int mIconResId = NO_ICON; + + private Context mContext; + + private MenuItem.OnMenuItemClickListener mClickListener; + + //UNUSED private static final int NO_ICON = 0; + + private int mFlags = ENABLED; + private static final int CHECKABLE = 0x00000001; + private static final int CHECKED = 0x00000002; + private static final int EXCLUSIVE = 0x00000004; + private static final int HIDDEN = 0x00000008; + private static final int ENABLED = 0x00000010; + + public ActionMenuItem(Context context, int group, int id, int categoryOrder, int ordering, + CharSequence title) { + mContext = context; + mId = id; + mGroup = group; + //UNUSED mCategoryOrder = categoryOrder; + mOrdering = ordering; + mTitle = title; + } + + public char getAlphabeticShortcut() { + return mShortcutAlphabeticChar; + } + + public int getGroupId() { + return mGroup; + } + + public Drawable getIcon() { + return mIconDrawable; + } + + public Intent getIntent() { + return mIntent; + } + + public int getItemId() { + return mId; + } + + public ContextMenuInfo getMenuInfo() { + return null; + } + + public char getNumericShortcut() { + return mShortcutNumericChar; + } + + public int getOrder() { + return mOrdering; + } + + public SubMenu getSubMenu() { + return null; + } + + public CharSequence getTitle() { + return mTitle; + } + + public CharSequence getTitleCondensed() { + return mTitleCondensed; + } + + public boolean hasSubMenu() { + return false; + } + + public boolean isCheckable() { + return (mFlags & CHECKABLE) != 0; + } + + public boolean isChecked() { + return (mFlags & CHECKED) != 0; + } + + public boolean isEnabled() { + return (mFlags & ENABLED) != 0; + } + + public boolean isVisible() { + return (mFlags & HIDDEN) == 0; + } + + public MenuItem setAlphabeticShortcut(char alphaChar) { + mShortcutAlphabeticChar = alphaChar; + return this; + } + + public MenuItem setCheckable(boolean checkable) { + mFlags = (mFlags & ~CHECKABLE) | (checkable ? CHECKABLE : 0); + return this; + } + + public ActionMenuItem setExclusiveCheckable(boolean exclusive) { + mFlags = (mFlags & ~EXCLUSIVE) | (exclusive ? EXCLUSIVE : 0); + return this; + } + + public MenuItem setChecked(boolean checked) { + mFlags = (mFlags & ~CHECKED) | (checked ? CHECKED : 0); + return this; + } + + public MenuItem setEnabled(boolean enabled) { + mFlags = (mFlags & ~ENABLED) | (enabled ? ENABLED : 0); + return this; + } + + public MenuItem setIcon(Drawable icon) { + mIconDrawable = icon; + //UNUSED mIconResId = NO_ICON; + return this; + } + + public MenuItem setIcon(int iconRes) { + //UNUSED mIconResId = iconRes; + mIconDrawable = mContext.getResources().getDrawable(iconRes); + return this; + } + + public MenuItem setIntent(Intent intent) { + mIntent = intent; + return this; + } + + public MenuItem setNumericShortcut(char numericChar) { + mShortcutNumericChar = numericChar; + return this; + } + + public MenuItem setOnMenuItemClickListener(OnMenuItemClickListener menuItemClickListener) { + mClickListener = menuItemClickListener; + return this; + } + + public MenuItem setShortcut(char numericChar, char alphaChar) { + mShortcutNumericChar = numericChar; + mShortcutAlphabeticChar = alphaChar; + return this; + } + + public MenuItem setTitle(CharSequence title) { + mTitle = title; + return this; + } + + public MenuItem setTitle(int title) { + mTitle = mContext.getResources().getString(title); + return this; + } + + public MenuItem setTitleCondensed(CharSequence title) { + mTitleCondensed = title; + return this; + } + + public MenuItem setVisible(boolean visible) { + mFlags = (mFlags & HIDDEN) | (visible ? 0 : HIDDEN); + return this; + } + + public boolean invoke() { + if (mClickListener != null && mClickListener.onMenuItemClick(this)) { + return true; + } + + if (mIntent != null) { + mContext.startActivity(mIntent); + return true; + } + + return false; + } + + public void setShowAsAction(int show) { + // Do nothing. ActionMenuItems always show as action buttons. + } + + public MenuItem setActionView(View actionView) { + throw new UnsupportedOperationException(); + } + + public View getActionView() { + return null; + } + + @Override + public MenuItem setActionView(int resId) { + throw new UnsupportedOperationException(); + } + + @Override + public ActionProvider getActionProvider() { + return null; + } + + @Override + public MenuItem setActionProvider(ActionProvider actionProvider) { + throw new UnsupportedOperationException(); + } + + @Override + public MenuItem setShowAsActionFlags(int actionEnum) { + setShowAsAction(actionEnum); + return this; + } + + @Override + public boolean expandActionView() { + return false; + } + + @Override + public boolean collapseActionView() { + return false; + } + + @Override + public boolean isActionViewExpanded() { + return false; + } + + @Override + public MenuItem setOnActionExpandListener(OnActionExpandListener listener) { + // No need to save the listener; ActionMenuItem does not support collapsing items. + return this; + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/menu/ActionMenuItemView.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/menu/ActionMenuItemView.java new file mode 100644 index 000000000..dcb50f362 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/menu/ActionMenuItemView.java @@ -0,0 +1,295 @@ +/* + * 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. + */ + +package com.actionbarsherlock.internal.view.menu; + +import java.util.HashSet; +import java.util.Set; +import android.content.Context; +import android.content.res.TypedArray; +import android.graphics.Rect; +import android.graphics.drawable.Drawable; +import android.os.Build; +import android.text.TextUtils; +import android.util.AttributeSet; +import android.view.Gravity; +import android.view.MotionEvent; +import android.view.View; +import android.view.accessibility.AccessibilityEvent; +import android.widget.ImageButton; +import android.widget.LinearLayout; +import android.widget.Toast; + +import com.actionbarsherlock.R; +import com.actionbarsherlock.internal.view.View_HasStateListenerSupport; +import com.actionbarsherlock.internal.view.View_OnAttachStateChangeListener; +import com.actionbarsherlock.internal.widget.CapitalizingButton; + +import static com.actionbarsherlock.internal.ResourcesCompat.getResources_getBoolean; + +/** + * @hide + */ +public class ActionMenuItemView extends LinearLayout + implements MenuView.ItemView, View.OnClickListener, View.OnLongClickListener, + ActionMenuView.ActionMenuChildView, View_HasStateListenerSupport { + //UNUSED private static final String TAG = "ActionMenuItemView"; + + private MenuItemImpl mItemData; + private CharSequence mTitle; + private MenuBuilder.ItemInvoker mItemInvoker; + + private ImageButton mImageButton; + private CapitalizingButton mTextButton; + private boolean mAllowTextWithIcon; + private boolean mExpandedFormat; + private int mMinWidth; + + private final Set mListeners = new HashSet(); + + public ActionMenuItemView(Context context) { + this(context, null); + } + + public ActionMenuItemView(Context context, AttributeSet attrs) { + this(context, attrs, 0); + } + + public ActionMenuItemView(Context context, AttributeSet attrs, int defStyle) { + //TODO super(context, attrs, defStyle); + super(context, attrs); + mAllowTextWithIcon = getResources_getBoolean(context, + R.bool.abs__config_allowActionMenuItemTextWithIcon); + TypedArray a = context.obtainStyledAttributes(attrs, + R.styleable.SherlockActionMenuItemView, 0, 0); + mMinWidth = a.getDimensionPixelSize( + R.styleable.SherlockActionMenuItemView_android_minWidth, 0); + a.recycle(); + } + + @Override + public void addOnAttachStateChangeListener(View_OnAttachStateChangeListener listener) { + mListeners.add(listener); + } + + @Override + public void removeOnAttachStateChangeListener(View_OnAttachStateChangeListener listener) { + mListeners.remove(listener); + } + + @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 onFinishInflate() { + + mImageButton = (ImageButton) findViewById(R.id.abs__imageButton); + mTextButton = (CapitalizingButton) findViewById(R.id.abs__textButton); + mImageButton.setOnClickListener(this); + mTextButton.setOnClickListener(this); + mImageButton.setOnLongClickListener(this); + setOnClickListener(this); + setOnLongClickListener(this); + } + + public MenuItemImpl getItemData() { + return mItemData; + } + + public void initialize(MenuItemImpl itemData, int menuType) { + mItemData = itemData; + + setIcon(itemData.getIcon()); + setTitle(itemData.getTitleForItemView(this)); // Title only takes effect if there is no icon + setId(itemData.getItemId()); + + setVisibility(itemData.isVisible() ? View.VISIBLE : View.GONE); + setEnabled(itemData.isEnabled()); + } + + @Override + public void setEnabled(boolean enabled) { + super.setEnabled(enabled); + mImageButton.setEnabled(enabled); + mTextButton.setEnabled(enabled); + } + + public void onClick(View v) { + if (mItemInvoker != null) { + mItemInvoker.invokeItem(mItemData); + } + } + + public void setItemInvoker(MenuBuilder.ItemInvoker invoker) { + mItemInvoker = invoker; + } + + public boolean prefersCondensedTitle() { + return true; + } + + public void setCheckable(boolean checkable) { + // TODO Support checkable action items + } + + public void setChecked(boolean checked) { + // TODO Support checkable action items + } + + public void setExpandedFormat(boolean expandedFormat) { + if (mExpandedFormat != expandedFormat) { + mExpandedFormat = expandedFormat; + if (mItemData != null) { + mItemData.actionFormatChanged(); + } + } + } + + private void updateTextButtonVisibility() { + boolean visible = !TextUtils.isEmpty(mTextButton.getText()); + visible &= mImageButton.getDrawable() == null || + (mItemData.showsTextAsAction() && (mAllowTextWithIcon || mExpandedFormat)); + + mTextButton.setVisibility(visible ? VISIBLE : GONE); + } + + public void setIcon(Drawable icon) { + mImageButton.setImageDrawable(icon); + if (icon != null) { + mImageButton.setVisibility(VISIBLE); + } else { + mImageButton.setVisibility(GONE); + } + + updateTextButtonVisibility(); + } + + public boolean hasText() { + return mTextButton.getVisibility() != GONE; + } + + public void setShortcut(boolean showShortcut, char shortcutKey) { + // Action buttons don't show text for shortcut keys. + } + + public void setTitle(CharSequence title) { + mTitle = title; + + mTextButton.setTextCompat(mTitle); + + setContentDescription(mTitle); + updateTextButtonVisibility(); + } + + @Override + public boolean dispatchPopulateAccessibilityEvent(AccessibilityEvent event) { + onPopulateAccessibilityEvent(event); + return true; + } + + @Override + public void onPopulateAccessibilityEvent(AccessibilityEvent event) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) { + super.onPopulateAccessibilityEvent(event); + } + final CharSequence cdesc = getContentDescription(); + if (!TextUtils.isEmpty(cdesc)) { + event.getText().add(cdesc); + } + } + + @Override + public boolean dispatchHoverEvent(MotionEvent event) { + // Don't allow children to hover; we want this to be treated as a single component. + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) { + return onHoverEvent(event); + } + return false; + } + + public boolean showsIcon() { + return true; + } + + public boolean needsDividerBefore() { + return hasText() && mItemData.getIcon() == null; + } + + public boolean needsDividerAfter() { + return hasText(); + } + + @Override + public boolean onLongClick(View v) { + if (hasText()) { + // Don't show the cheat sheet for items that already show text. + return false; + } + + final int[] screenPos = new int[2]; + final Rect displayFrame = new Rect(); + getLocationOnScreen(screenPos); + getWindowVisibleDisplayFrame(displayFrame); + + final Context context = getContext(); + final int width = getWidth(); + final int height = getHeight(); + final int midy = screenPos[1] + height / 2; + final int screenWidth = context.getResources().getDisplayMetrics().widthPixels; + + Toast cheatSheet = Toast.makeText(context, mItemData.getTitle(), Toast.LENGTH_SHORT); + if (midy < displayFrame.height()) { + // Show along the top; follow action buttons + cheatSheet.setGravity(Gravity.TOP | Gravity.RIGHT, + screenWidth - screenPos[0] - width / 2, height); + } else { + // Show along the bottom center + cheatSheet.setGravity(Gravity.BOTTOM | Gravity.CENTER_HORIZONTAL, 0, height); + } + cheatSheet.show(); + return true; + } + + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + super.onMeasure(widthMeasureSpec, heightMeasureSpec); + + final int widthMode = MeasureSpec.getMode(widthMeasureSpec); + final int specSize = MeasureSpec.getSize(widthMeasureSpec); + final int oldMeasuredWidth = getMeasuredWidth(); + final int targetWidth = widthMode == MeasureSpec.AT_MOST ? Math.min(specSize, mMinWidth) + : mMinWidth; + + if (widthMode != MeasureSpec.EXACTLY && mMinWidth > 0 && oldMeasuredWidth < targetWidth) { + // Remeasure at exactly the minimum width. + super.onMeasure(MeasureSpec.makeMeasureSpec(targetWidth, MeasureSpec.EXACTLY), + heightMeasureSpec); + } + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/menu/ActionMenuPresenter.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/menu/ActionMenuPresenter.java new file mode 100644 index 000000000..876a22c58 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/menu/ActionMenuPresenter.java @@ -0,0 +1,714 @@ +/* + * 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.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) { + 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 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 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 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 CREATOR + = new Parcelable.Creator() { + 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 mListeners = new HashSet(); + + 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); + } + + if (mOverflowPopup != null) mOverflowPopup.dismiss(); + } + + @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/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/menu/ActionMenuView.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/menu/ActionMenuView.java new file mode 100644 index 000000000..0e3b1ae0d --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/menu/ActionMenuView.java @@ -0,0 +1,575 @@ +/* + * 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. + */ +package com.actionbarsherlock.internal.view.menu; + +import android.content.Context; +import android.content.res.Configuration; +import android.graphics.Canvas; +import android.os.Build; +import android.util.AttributeSet; +import android.view.Gravity; +import android.view.View; +import android.view.ViewGroup; +import android.view.accessibility.AccessibilityEvent; +import android.widget.LinearLayout; +import com.actionbarsherlock.internal.widget.IcsLinearLayout; + +/** + * @hide + */ +public class ActionMenuView extends IcsLinearLayout implements MenuBuilder.ItemInvoker, MenuView { + //UNUSED private static final String TAG = "ActionMenuView"; + private static final boolean IS_FROYO = Build.VERSION.SDK_INT >= Build.VERSION_CODES.FROYO; + + static final int MIN_CELL_SIZE = 56; // dips + static final int GENERATED_ITEM_PADDING = 4; // dips + + private MenuBuilder mMenu; + + private boolean mReserveOverflow; + private ActionMenuPresenter mPresenter; + private boolean mFormatItems; + private int mFormatItemsWidth; + private int mMinCellSize; + private int mGeneratedItemPadding; + //UNUSED private int mMeasuredExtraWidth; + + private boolean mFirst = true; + + public ActionMenuView(Context context) { + this(context, null); + } + + public ActionMenuView(Context context, AttributeSet attrs) { + super(context, attrs); + setBaselineAligned(false); + final float density = context.getResources().getDisplayMetrics().density; + mMinCellSize = (int) (MIN_CELL_SIZE * density); + mGeneratedItemPadding = (int) (GENERATED_ITEM_PADDING * density); + } + + public void setPresenter(ActionMenuPresenter presenter) { + mPresenter = presenter; + } + + public boolean isExpandedFormat() { + return mFormatItems; + } + + @Override + public void onConfigurationChanged(Configuration newConfig) { + if (IS_FROYO) { + super.onConfigurationChanged(newConfig); + } + mPresenter.updateMenuView(false); + + if (mPresenter != null && mPresenter.isOverflowMenuShowing()) { + mPresenter.hideOverflowMenu(); + mPresenter.showOverflowMenu(); + } + } + + @Override + protected void onDraw(Canvas canvas) { + //Need to trigger a relayout since we may have been added extremely + //late in the initial rendering (e.g., when contained in a ViewPager). + //See: https://github.com/JakeWharton/ActionBarSherlock/issues/272 + if (!IS_FROYO && mFirst) { + mFirst = false; + requestLayout(); + return; + } + super.onDraw(canvas); + } + + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + // If we've been given an exact size to match, apply special formatting during layout. + final boolean wasFormatted = mFormatItems; + mFormatItems = MeasureSpec.getMode(widthMeasureSpec) == MeasureSpec.EXACTLY; + + if (wasFormatted != mFormatItems) { + mFormatItemsWidth = 0; // Reset this when switching modes + } + + // Special formatting can change whether items can fit as action buttons. + // Kick the menu and update presenters when this changes. + final int widthSize = MeasureSpec.getMode(widthMeasureSpec); + if (mFormatItems && mMenu != null && widthSize != mFormatItemsWidth) { + mFormatItemsWidth = widthSize; + mMenu.onItemsChanged(true); + } + + if (mFormatItems) { + onMeasureExactFormat(widthMeasureSpec, heightMeasureSpec); + } else { + super.onMeasure(widthMeasureSpec, heightMeasureSpec); + } + } + + private void onMeasureExactFormat(int widthMeasureSpec, int heightMeasureSpec) { + // We already know the width mode is EXACTLY if we're here. + final int heightMode = MeasureSpec.getMode(heightMeasureSpec); + int widthSize = MeasureSpec.getSize(widthMeasureSpec); + int heightSize = MeasureSpec.getSize(heightMeasureSpec); + + final int widthPadding = getPaddingLeft() + getPaddingRight(); + final int heightPadding = getPaddingTop() + getPaddingBottom(); + + widthSize -= widthPadding; + + // Divide the view into cells. + final int cellCount = widthSize / mMinCellSize; + final int cellSizeRemaining = widthSize % mMinCellSize; + + if (cellCount == 0) { + // Give up, nothing fits. + setMeasuredDimension(widthSize, 0); + return; + } + + final int cellSize = mMinCellSize + cellSizeRemaining / cellCount; + + int cellsRemaining = cellCount; + int maxChildHeight = 0; + int maxCellsUsed = 0; + int expandableItemCount = 0; + int visibleItemCount = 0; + boolean hasOverflow = false; + + // This is used as a bitfield to locate the smallest items present. Assumes childCount < 64. + long smallestItemsAt = 0; + + final int childCount = getChildCount(); + for (int i = 0; i < childCount; i++) { + final View child = getChildAt(i); + if (child.getVisibility() == GONE) continue; + + final boolean isGeneratedItem = child instanceof ActionMenuItemView; + visibleItemCount++; + + if (isGeneratedItem) { + // Reset padding for generated menu item views; it may change below + // and views are recycled. + child.setPadding(mGeneratedItemPadding, 0, mGeneratedItemPadding, 0); + } + + final LayoutParams lp = (LayoutParams) child.getLayoutParams(); + lp.expanded = false; + lp.extraPixels = 0; + lp.cellsUsed = 0; + lp.expandable = false; + lp.leftMargin = 0; + lp.rightMargin = 0; + lp.preventEdgeOffset = isGeneratedItem && ((ActionMenuItemView) child).hasText(); + + // Overflow always gets 1 cell. No more, no less. + final int cellsAvailable = lp.isOverflowButton ? 1 : cellsRemaining; + + final int cellsUsed = measureChildForCells(child, cellSize, cellsAvailable, + heightMeasureSpec, heightPadding); + + maxCellsUsed = Math.max(maxCellsUsed, cellsUsed); + if (lp.expandable) expandableItemCount++; + if (lp.isOverflowButton) hasOverflow = true; + + cellsRemaining -= cellsUsed; + maxChildHeight = Math.max(maxChildHeight, child.getMeasuredHeight()); + if (cellsUsed == 1) smallestItemsAt |= (1 << i); + } + + // When we have overflow and a single expanded (text) item, we want to try centering it + // visually in the available space even though overflow consumes some of it. + final boolean centerSingleExpandedItem = hasOverflow && visibleItemCount == 2; + + // Divide space for remaining cells if we have items that can expand. + // Try distributing whole leftover cells to smaller items first. + + boolean needsExpansion = false; + while (expandableItemCount > 0 && cellsRemaining > 0) { + int minCells = Integer.MAX_VALUE; + long minCellsAt = 0; // Bit locations are indices of relevant child views + int minCellsItemCount = 0; + for (int i = 0; i < childCount; i++) { + final View child = getChildAt(i); + final LayoutParams lp = (LayoutParams) child.getLayoutParams(); + + // Don't try to expand items that shouldn't. + if (!lp.expandable) continue; + + // Mark indices of children that can receive an extra cell. + if (lp.cellsUsed < minCells) { + minCells = lp.cellsUsed; + minCellsAt = 1 << i; + minCellsItemCount = 1; + } else if (lp.cellsUsed == minCells) { + minCellsAt |= 1 << i; + minCellsItemCount++; + } + } + + // Items that get expanded will always be in the set of smallest items when we're done. + smallestItemsAt |= minCellsAt; + + if (minCellsItemCount > cellsRemaining) break; // Couldn't expand anything evenly. Stop. + + // We have enough cells, all minimum size items will be incremented. + minCells++; + + for (int i = 0; i < childCount; i++) { + final View child = getChildAt(i); + final LayoutParams lp = (LayoutParams) child.getLayoutParams(); + if ((minCellsAt & (1 << i)) == 0) { + // If this item is already at our small item count, mark it for later. + if (lp.cellsUsed == minCells) smallestItemsAt |= 1 << i; + continue; + } + + if (centerSingleExpandedItem && lp.preventEdgeOffset && cellsRemaining == 1) { + // Add padding to this item such that it centers. + child.setPadding(mGeneratedItemPadding + cellSize, 0, mGeneratedItemPadding, 0); + } + lp.cellsUsed++; + lp.expanded = true; + cellsRemaining--; + } + + needsExpansion = true; + } + + // Divide any space left that wouldn't divide along cell boundaries + // evenly among the smallest items + + final boolean singleItem = !hasOverflow && visibleItemCount == 1; + if (cellsRemaining > 0 && smallestItemsAt != 0 && + (cellsRemaining < visibleItemCount - 1 || singleItem || maxCellsUsed > 1)) { + float expandCount = Long.bitCount(smallestItemsAt); + + if (!singleItem) { + // The items at the far edges may only expand by half in order to pin to either side. + if ((smallestItemsAt & 1) != 0) { + LayoutParams lp = (LayoutParams) getChildAt(0).getLayoutParams(); + if (!lp.preventEdgeOffset) expandCount -= 0.5f; + } + if ((smallestItemsAt & (1 << (childCount - 1))) != 0) { + LayoutParams lp = ((LayoutParams) getChildAt(childCount - 1).getLayoutParams()); + if (!lp.preventEdgeOffset) expandCount -= 0.5f; + } + } + + final int extraPixels = expandCount > 0 ? + (int) (cellsRemaining * cellSize / expandCount) : 0; + + for (int i = 0; i < childCount; i++) { + if ((smallestItemsAt & (1 << i)) == 0) continue; + + final View child = getChildAt(i); + final LayoutParams lp = (LayoutParams) child.getLayoutParams(); + if (child instanceof ActionMenuItemView) { + // If this is one of our views, expand and measure at the larger size. + lp.extraPixels = extraPixels; + lp.expanded = true; + if (i == 0 && !lp.preventEdgeOffset) { + // First item gets part of its new padding pushed out of sight. + // The last item will get this implicitly from layout. + lp.leftMargin = -extraPixels / 2; + } + needsExpansion = true; + } else if (lp.isOverflowButton) { + lp.extraPixels = extraPixels; + lp.expanded = true; + lp.rightMargin = -extraPixels / 2; + needsExpansion = true; + } else { + // If we don't know what it is, give it some margins instead + // and let it center within its space. We still want to pin + // against the edges. + if (i != 0) { + lp.leftMargin = extraPixels / 2; + } + if (i != childCount - 1) { + lp.rightMargin = extraPixels / 2; + } + } + } + + cellsRemaining = 0; + } + + // Remeasure any items that have had extra space allocated to them. + if (needsExpansion) { + int heightSpec = MeasureSpec.makeMeasureSpec(heightSize - heightPadding, heightMode); + for (int i = 0; i < childCount; i++) { + final View child = getChildAt(i); + final LayoutParams lp = (LayoutParams) child.getLayoutParams(); + + if (!lp.expanded) continue; + + final int width = lp.cellsUsed * cellSize + lp.extraPixels; + child.measure(MeasureSpec.makeMeasureSpec(width, MeasureSpec.EXACTLY), heightSpec); + } + } + + if (heightMode != MeasureSpec.EXACTLY) { + heightSize = maxChildHeight; + } + + setMeasuredDimension(widthSize, heightSize); + //UNUSED mMeasuredExtraWidth = cellsRemaining * cellSize; + } + + /** + * Measure a child view to fit within cell-based formatting. The child's width + * will be measured to a whole multiple of cellSize. + * + *

      Sets the expandable and cellsUsed fields of LayoutParams. + * + * @param child Child to measure + * @param cellSize Size of one cell + * @param cellsRemaining Number of cells remaining that this view can expand to fill + * @param parentHeightMeasureSpec MeasureSpec used by the parent view + * @param parentHeightPadding Padding present in the parent view + * @return Number of cells this child was measured to occupy + */ + static int measureChildForCells(View child, int cellSize, int cellsRemaining, + int parentHeightMeasureSpec, int parentHeightPadding) { + final LayoutParams lp = (LayoutParams) child.getLayoutParams(); + + final int childHeightSize = MeasureSpec.getSize(parentHeightMeasureSpec) - + parentHeightPadding; + final int childHeightMode = MeasureSpec.getMode(parentHeightMeasureSpec); + final int childHeightSpec = MeasureSpec.makeMeasureSpec(childHeightSize, childHeightMode); + + int cellsUsed = 0; + if (cellsRemaining > 0) { + final int childWidthSpec = MeasureSpec.makeMeasureSpec( + cellSize * cellsRemaining, MeasureSpec.AT_MOST); + child.measure(childWidthSpec, childHeightSpec); + + final int measuredWidth = child.getMeasuredWidth(); + cellsUsed = measuredWidth / cellSize; + if (measuredWidth % cellSize != 0) cellsUsed++; + } + + final ActionMenuItemView itemView = child instanceof ActionMenuItemView ? + (ActionMenuItemView) child : null; + final boolean expandable = !lp.isOverflowButton && itemView != null && itemView.hasText(); + lp.expandable = expandable; + + lp.cellsUsed = cellsUsed; + final int targetWidth = cellsUsed * cellSize; + child.measure(MeasureSpec.makeMeasureSpec(targetWidth, MeasureSpec.EXACTLY), + childHeightSpec); + return cellsUsed; + } + + @Override + protected void onLayout(boolean changed, int left, int top, int right, int bottom) { + if (!mFormatItems) { + super.onLayout(changed, left, top, right, bottom); + return; + } + + final int childCount = getChildCount(); + final int midVertical = (top + bottom) / 2; + final int dividerWidth = 0;//getDividerWidth(); + int overflowWidth = 0; + //UNUSED int nonOverflowWidth = 0; + int nonOverflowCount = 0; + int widthRemaining = right - left - getPaddingRight() - getPaddingLeft(); + boolean hasOverflow = false; + for (int i = 0; i < childCount; i++) { + final View v = getChildAt(i); + if (v.getVisibility() == GONE) { + continue; + } + + LayoutParams p = (LayoutParams) v.getLayoutParams(); + if (p.isOverflowButton) { + overflowWidth = v.getMeasuredWidth(); + if (hasDividerBeforeChildAt(i)) { + overflowWidth += dividerWidth; + } + + int height = v.getMeasuredHeight(); + int r = getWidth() - getPaddingRight() - p.rightMargin; + int l = r - overflowWidth; + int t = midVertical - (height / 2); + int b = t + height; + v.layout(l, t, r, b); + + widthRemaining -= overflowWidth; + hasOverflow = true; + } else { + final int size = v.getMeasuredWidth() + p.leftMargin + p.rightMargin; + //UNUSED nonOverflowWidth += size; + widthRemaining -= size; + //if (hasDividerBeforeChildAt(i)) { + //UNUSED nonOverflowWidth += dividerWidth; + //} + nonOverflowCount++; + } + } + + if (childCount == 1 && !hasOverflow) { + // Center a single child + final View v = getChildAt(0); + final int width = v.getMeasuredWidth(); + final int height = v.getMeasuredHeight(); + final int midHorizontal = (right - left) / 2; + final int l = midHorizontal - width / 2; + final int t = midVertical - height / 2; + v.layout(l, t, l + width, t + height); + return; + } + + final int spacerCount = nonOverflowCount - (hasOverflow ? 0 : 1); + final int spacerSize = Math.max(0, spacerCount > 0 ? widthRemaining / spacerCount : 0); + + int startLeft = getPaddingLeft(); + for (int i = 0; i < childCount; i++) { + final View v = getChildAt(i); + final LayoutParams lp = (LayoutParams) v.getLayoutParams(); + if (v.getVisibility() == GONE || lp.isOverflowButton) { + continue; + } + + startLeft += lp.leftMargin; + int width = v.getMeasuredWidth(); + int height = v.getMeasuredHeight(); + int t = midVertical - height / 2; + v.layout(startLeft, t, startLeft + width, t + height); + startLeft += width + lp.rightMargin + spacerSize; + } + } + + @Override + public void onDetachedFromWindow() { + super.onDetachedFromWindow(); + mPresenter.dismissPopupMenus(); + } + + public boolean isOverflowReserved() { + return mReserveOverflow; + } + + public void setOverflowReserved(boolean reserveOverflow) { + mReserveOverflow = reserveOverflow; + } + + @Override + protected LayoutParams generateDefaultLayoutParams() { + LayoutParams params = new LayoutParams(LayoutParams.WRAP_CONTENT, + LayoutParams.WRAP_CONTENT); + params.gravity = Gravity.CENTER_VERTICAL; + return params; + } + + @Override + public LayoutParams generateLayoutParams(AttributeSet attrs) { + return new LayoutParams(getContext(), attrs); + } + + @Override + protected LayoutParams generateLayoutParams(ViewGroup.LayoutParams p) { + if (p instanceof LayoutParams) { + LayoutParams result = new LayoutParams((LayoutParams) p); + if (result.gravity <= Gravity.NO_GRAVITY) { + result.gravity = Gravity.CENTER_VERTICAL; + } + return result; + } + return generateDefaultLayoutParams(); + } + + @Override + protected boolean checkLayoutParams(ViewGroup.LayoutParams p) { + return p != null && p instanceof LayoutParams; + } + + public LayoutParams generateOverflowButtonLayoutParams() { + LayoutParams result = generateDefaultLayoutParams(); + result.isOverflowButton = true; + return result; + } + + public boolean invokeItem(MenuItemImpl item) { + return mMenu.performItemAction(item, 0); + } + + public int getWindowAnimations() { + return 0; + } + + public void initialize(MenuBuilder menu) { + mMenu = menu; + } + + //@Override + protected boolean hasDividerBeforeChildAt(int childIndex) { + if (childIndex == 0) { + return false; + } + final View childBefore = getChildAt(childIndex - 1); + final View child = getChildAt(childIndex); + boolean result = false; + if (childIndex < getChildCount() && childBefore instanceof ActionMenuChildView) { + result |= ((ActionMenuChildView) childBefore).needsDividerAfter(); + } + if (childIndex > 0 && child instanceof ActionMenuChildView) { + result |= ((ActionMenuChildView) child).needsDividerBefore(); + } + return result; + } + + public boolean dispatchPopulateAccessibilityEvent(AccessibilityEvent event) { + return false; + } + + public interface ActionMenuChildView { + public boolean needsDividerBefore(); + public boolean needsDividerAfter(); + } + + public static class LayoutParams extends LinearLayout.LayoutParams { + public boolean isOverflowButton; + public int cellsUsed; + public int extraPixels; + public boolean expandable; + public boolean preventEdgeOffset; + + public boolean expanded; + + public LayoutParams(Context c, AttributeSet attrs) { + super(c, attrs); + } + + public LayoutParams(LayoutParams other) { + super((LinearLayout.LayoutParams) other); + isOverflowButton = other.isOverflowButton; + } + + public LayoutParams(int width, int height) { + super(width, height); + isOverflowButton = false; + } + + public LayoutParams(int width, int height, boolean isOverflowButton) { + super(width, height); + this.isOverflowButton = isOverflowButton; + } + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/menu/BaseMenuPresenter.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/menu/BaseMenuPresenter.java new file mode 100644 index 000000000..6da26f2ae --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/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 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/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/menu/ListMenuItemView.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/menu/ListMenuItemView.java new file mode 100644 index 000000000..ac25c3736 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/menu/ListMenuItemView.java @@ -0,0 +1,278 @@ +/* + * 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.view.menu; + +import com.actionbarsherlock.R; + +import android.content.Context; +import android.content.res.TypedArray; +import android.graphics.drawable.Drawable; +import android.util.AttributeSet; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.CheckBox; +import android.widget.CompoundButton; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.RadioButton; +import android.widget.TextView; + +/** + * The item view for each item in the ListView-based MenuViews. + */ +public class ListMenuItemView extends LinearLayout implements MenuView.ItemView { + private MenuItemImpl mItemData; + + private ImageView mIconView; + private RadioButton mRadioButton; + private TextView mTitleView; + private CheckBox mCheckBox; + private TextView mShortcutView; + + private Drawable mBackground; + private int mTextAppearance; + private Context mTextAppearanceContext; + private boolean mPreserveIconSpacing; + + //UNUSED private int mMenuType; + + private LayoutInflater mInflater; + + private boolean mForceShowIcon; + + final Context mContext; + + public ListMenuItemView(Context context, AttributeSet attrs, int defStyle) { + super(context, attrs); + mContext = context; + + TypedArray a = + context.obtainStyledAttributes( + attrs, R.styleable.SherlockMenuView, defStyle, 0); + + mBackground = a.getDrawable(R.styleable.SherlockMenuView_itemBackground); + mTextAppearance = a.getResourceId(R.styleable. + SherlockMenuView_itemTextAppearance, -1); + mPreserveIconSpacing = a.getBoolean( + R.styleable.SherlockMenuView_preserveIconSpacing, false); + mTextAppearanceContext = context; + + a.recycle(); + } + + public ListMenuItemView(Context context, AttributeSet attrs) { + this(context, attrs, 0); + } + + @Override + protected void onFinishInflate() { + super.onFinishInflate(); + + setBackgroundDrawable(mBackground); + + mTitleView = (TextView) findViewById(R.id.abs__title); + if (mTextAppearance != -1) { + mTitleView.setTextAppearance(mTextAppearanceContext, + mTextAppearance); + } + + mShortcutView = (TextView) findViewById(R.id.abs__shortcut); + } + + public void initialize(MenuItemImpl itemData, int menuType) { + mItemData = itemData; + //UNUSED mMenuType = menuType; + + setVisibility(itemData.isVisible() ? View.VISIBLE : View.GONE); + + setTitle(itemData.getTitleForItemView(this)); + setCheckable(itemData.isCheckable()); + setShortcut(itemData.shouldShowShortcut(), itemData.getShortcut()); + setIcon(itemData.getIcon()); + setEnabled(itemData.isEnabled()); + } + + public void setForceShowIcon(boolean forceShow) { + mPreserveIconSpacing = mForceShowIcon = forceShow; + } + + public void setTitle(CharSequence title) { + if (title != null) { + mTitleView.setText(title); + + if (mTitleView.getVisibility() != VISIBLE) mTitleView.setVisibility(VISIBLE); + } else { + if (mTitleView.getVisibility() != GONE) mTitleView.setVisibility(GONE); + } + } + + public MenuItemImpl getItemData() { + return mItemData; + } + + public void setCheckable(boolean checkable) { + + if (!checkable && mRadioButton == null && mCheckBox == null) { + return; + } + + if (mRadioButton == null) { + insertRadioButton(); + } + if (mCheckBox == null) { + insertCheckBox(); + } + + // Depending on whether its exclusive check or not, the checkbox or + // radio button will be the one in use (and the other will be otherCompoundButton) + final CompoundButton compoundButton; + final CompoundButton otherCompoundButton; + + if (mItemData.isExclusiveCheckable()) { + compoundButton = mRadioButton; + otherCompoundButton = mCheckBox; + } else { + compoundButton = mCheckBox; + otherCompoundButton = mRadioButton; + } + + if (checkable) { + compoundButton.setChecked(mItemData.isChecked()); + + final int newVisibility = checkable ? VISIBLE : GONE; + if (compoundButton.getVisibility() != newVisibility) { + compoundButton.setVisibility(newVisibility); + } + + // Make sure the other compound button isn't visible + if (otherCompoundButton.getVisibility() != GONE) { + otherCompoundButton.setVisibility(GONE); + } + } else { + mCheckBox.setVisibility(GONE); + mRadioButton.setVisibility(GONE); + } + } + + public void setChecked(boolean checked) { + CompoundButton compoundButton; + + if (mItemData.isExclusiveCheckable()) { + if (mRadioButton == null) { + insertRadioButton(); + } + compoundButton = mRadioButton; + } else { + if (mCheckBox == null) { + insertCheckBox(); + } + compoundButton = mCheckBox; + } + + compoundButton.setChecked(checked); + } + + public void setShortcut(boolean showShortcut, char shortcutKey) { + final int newVisibility = (showShortcut && mItemData.shouldShowShortcut()) + ? VISIBLE : GONE; + + if (newVisibility == VISIBLE) { + mShortcutView.setText(mItemData.getShortcutLabel()); + } + + if (mShortcutView.getVisibility() != newVisibility) { + mShortcutView.setVisibility(newVisibility); + } + } + + public void setIcon(Drawable icon) { + final boolean showIcon = mItemData.shouldShowIcon() || mForceShowIcon; + if (!showIcon && !mPreserveIconSpacing) { + return; + } + + if (mIconView == null && icon == null && !mPreserveIconSpacing) { + return; + } + + if (mIconView == null) { + insertIconView(); + } + + if (icon != null || mPreserveIconSpacing) { + mIconView.setImageDrawable(showIcon ? icon : null); + + if (mIconView.getVisibility() != VISIBLE) { + mIconView.setVisibility(VISIBLE); + } + } else { + mIconView.setVisibility(GONE); + } + } + + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + if (mIconView != null && mPreserveIconSpacing) { + // Enforce minimum icon spacing + ViewGroup.LayoutParams lp = getLayoutParams(); + LayoutParams iconLp = (LayoutParams) mIconView.getLayoutParams(); + if (lp.height > 0 && iconLp.width <= 0) { + iconLp.width = lp.height; + } + } + super.onMeasure(widthMeasureSpec, heightMeasureSpec); + } + + private void insertIconView() { + LayoutInflater inflater = getInflater(); + mIconView = (ImageView) inflater.inflate(R.layout.abs__list_menu_item_icon, + this, false); + addView(mIconView, 0); + } + + private void insertRadioButton() { + LayoutInflater inflater = getInflater(); + mRadioButton = + (RadioButton) inflater.inflate(R.layout.abs__list_menu_item_radio, + this, false); + addView(mRadioButton); + } + + private void insertCheckBox() { + LayoutInflater inflater = getInflater(); + mCheckBox = + (CheckBox) inflater.inflate(R.layout.abs__list_menu_item_checkbox, + this, false); + addView(mCheckBox); + } + + public boolean prefersCondensedTitle() { + return false; + } + + public boolean showsIcon() { + return mForceShowIcon; + } + + private LayoutInflater getInflater() { + if (mInflater == null) { + mInflater = LayoutInflater.from(mContext); + } + return mInflater; + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/menu/MenuBuilder.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/menu/MenuBuilder.java new file mode 100644 index 000000000..179b8f037 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/menu/MenuBuilder.java @@ -0,0 +1,1335 @@ +/* + * 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.view.menu; + + +import java.lang.ref.WeakReference; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.concurrent.CopyOnWriteArrayList; + +import android.content.ComponentName; +import android.content.Context; +import android.content.Intent; +import android.content.pm.PackageManager; +import android.content.pm.ResolveInfo; +import android.content.res.Configuration; +import android.content.res.Resources; +import android.graphics.drawable.Drawable; +import android.os.Bundle; +import android.os.Parcelable; +import android.util.SparseArray; +import android.view.ContextMenu.ContextMenuInfo; +import android.view.KeyCharacterMap; +import android.view.KeyEvent; +import android.view.View; + +import com.actionbarsherlock.R; +import com.actionbarsherlock.view.ActionProvider; +import com.actionbarsherlock.view.Menu; +import com.actionbarsherlock.view.MenuItem; +import com.actionbarsherlock.view.SubMenu; + +/** + * Implementation of the {@link android.view.Menu} interface for creating a + * standard menu UI. + */ +public class MenuBuilder implements Menu { + //UNUSED private static final String TAG = "MenuBuilder"; + + private static final String PRESENTER_KEY = "android:menu:presenters"; + private static final String ACTION_VIEW_STATES_KEY = "android:menu:actionviewstates"; + private static final String EXPANDED_ACTION_VIEW_ID = "android:menu:expandedactionview"; + + private static final int[] sCategoryToOrder = new int[] { + 1, /* No category */ + 4, /* CONTAINER */ + 5, /* SYSTEM */ + 3, /* SECONDARY */ + 2, /* ALTERNATIVE */ + 0, /* SELECTED_ALTERNATIVE */ + }; + + private final Context mContext; + private final Resources mResources; + + /** + * Whether the shortcuts should be qwerty-accessible. Use isQwertyMode() + * instead of accessing this directly. + */ + private boolean mQwertyMode; + + /** + * Whether the shortcuts should be visible on menus. Use isShortcutsVisible() + * instead of accessing this directly. + */ + private boolean mShortcutsVisible; + + /** + * Callback that will receive the various menu-related events generated by + * this class. Use getCallback to get a reference to the callback. + */ + private Callback mCallback; + + /** Contains all of the items for this menu */ + private ArrayList mItems; + + /** Contains only the items that are currently visible. This will be created/refreshed from + * {@link #getVisibleItems()} */ + private ArrayList mVisibleItems; + /** + * Whether or not the items (or any one item's shown state) has changed since it was last + * fetched from {@link #getVisibleItems()} + */ + private boolean mIsVisibleItemsStale; + + /** + * Contains only the items that should appear in the Action Bar, if present. + */ + private ArrayList mActionItems; + /** + * Contains items that should NOT appear in the Action Bar, if present. + */ + private ArrayList mNonActionItems; + + /** + * Whether or not the items (or any one item's action state) has changed since it was + * last fetched. + */ + private boolean mIsActionItemsStale; + + /** + * Default value for how added items should show in the action list. + */ + private int mDefaultShowAsAction = MenuItem.SHOW_AS_ACTION_NEVER; + + /** + * Current use case is Context Menus: As Views populate the context menu, each one has + * extra information that should be passed along. This is the current menu info that + * should be set on all items added to this menu. + */ + private ContextMenuInfo mCurrentMenuInfo; + + /** Header title for menu types that have a header (context and submenus) */ + CharSequence mHeaderTitle; + /** Header icon for menu types that have a header and support icons (context) */ + Drawable mHeaderIcon; + /** Header custom view for menu types that have a header and support custom views (context) */ + View mHeaderView; + + /** + * Contains the state of the View hierarchy for all menu views when the menu + * was frozen. + */ + //UNUSED private SparseArray mFrozenViewStates; + + /** + * Prevents onItemsChanged from doing its junk, useful for batching commands + * that may individually call onItemsChanged. + */ + private boolean mPreventDispatchingItemsChanged = false; + private boolean mItemsChangedWhileDispatchPrevented = false; + + private boolean mOptionalIconsVisible = false; + + private boolean mIsClosing = false; + + private ArrayList mTempShortcutItemList = new ArrayList(); + + private CopyOnWriteArrayList> mPresenters = + new CopyOnWriteArrayList>(); + + /** + * Currently expanded menu item; must be collapsed when we clear. + */ + private MenuItemImpl mExpandedItem; + + /** + * Called by menu to notify of close and selection changes. + */ + public interface Callback { + /** + * Called when a menu item is selected. + * @param menu The menu that is the parent of the item + * @param item The menu item that is selected + * @return whether the menu item selection was handled + */ + public boolean onMenuItemSelected(MenuBuilder menu, MenuItem item); + + /** + * Called when the mode of the menu changes (for example, from icon to expanded). + * + * @param menu the menu that has changed modes + */ + public void onMenuModeChange(MenuBuilder menu); + } + + /** + * Called by menu items to execute their associated action + */ + public interface ItemInvoker { + public boolean invokeItem(MenuItemImpl item); + } + + public MenuBuilder(Context context) { + mContext = context; + mResources = context.getResources(); + + mItems = new ArrayList(); + + mVisibleItems = new ArrayList(); + mIsVisibleItemsStale = true; + + mActionItems = new ArrayList(); + mNonActionItems = new ArrayList(); + mIsActionItemsStale = true; + + setShortcutsVisibleInner(true); + } + + public MenuBuilder setDefaultShowAsAction(int defaultShowAsAction) { + mDefaultShowAsAction = defaultShowAsAction; + return this; + } + + /** + * Add a presenter to this menu. This will only hold a WeakReference; + * you do not need to explicitly remove a presenter, but you can using + * {@link #removeMenuPresenter(MenuPresenter)}. + * + * @param presenter The presenter to add + */ + public void addMenuPresenter(MenuPresenter presenter) { + mPresenters.add(new WeakReference(presenter)); + presenter.initForMenu(mContext, this); + mIsActionItemsStale = true; + } + + /** + * Remove a presenter from this menu. That presenter will no longer + * receive notifications of updates to this menu's data. + * + * @param presenter The presenter to remove + */ + public void removeMenuPresenter(MenuPresenter presenter) { + for (WeakReference ref : mPresenters) { + final MenuPresenter item = ref.get(); + if (item == null || item == presenter) { + mPresenters.remove(ref); + } + } + } + + private void dispatchPresenterUpdate(boolean cleared) { + if (mPresenters.isEmpty()) return; + + stopDispatchingItemsChanged(); + for (WeakReference ref : mPresenters) { + final MenuPresenter presenter = ref.get(); + if (presenter == null) { + mPresenters.remove(ref); + } else { + presenter.updateMenuView(cleared); + } + } + startDispatchingItemsChanged(); + } + + private boolean dispatchSubMenuSelected(SubMenuBuilder subMenu) { + if (mPresenters.isEmpty()) return false; + + boolean result = false; + + for (WeakReference ref : mPresenters) { + final MenuPresenter presenter = ref.get(); + if (presenter == null) { + mPresenters.remove(ref); + } else if (!result) { + result = presenter.onSubMenuSelected(subMenu); + } + } + return result; + } + + private void dispatchSaveInstanceState(Bundle outState) { + if (mPresenters.isEmpty()) return; + + SparseArray presenterStates = new SparseArray(); + + for (WeakReference ref : mPresenters) { + final MenuPresenter presenter = ref.get(); + if (presenter == null) { + mPresenters.remove(ref); + } else { + final int id = presenter.getId(); + if (id > 0) { + final Parcelable state = presenter.onSaveInstanceState(); + if (state != null) { + presenterStates.put(id, state); + } + } + } + } + + outState.putSparseParcelableArray(PRESENTER_KEY, presenterStates); + } + + private void dispatchRestoreInstanceState(Bundle state) { + SparseArray presenterStates = state.getSparseParcelableArray(PRESENTER_KEY); + + if (presenterStates == null || mPresenters.isEmpty()) return; + + for (WeakReference ref : mPresenters) { + final MenuPresenter presenter = ref.get(); + if (presenter == null) { + mPresenters.remove(ref); + } else { + final int id = presenter.getId(); + if (id > 0) { + Parcelable parcel = presenterStates.get(id); + if (parcel != null) { + presenter.onRestoreInstanceState(parcel); + } + } + } + } + } + + public void savePresenterStates(Bundle outState) { + dispatchSaveInstanceState(outState); + } + + public void restorePresenterStates(Bundle state) { + dispatchRestoreInstanceState(state); + } + + public void saveActionViewStates(Bundle outStates) { + SparseArray viewStates = null; + + final int itemCount = size(); + for (int i = 0; i < itemCount; i++) { + final MenuItem item = getItem(i); + final View v = item.getActionView(); + if (v != null && v.getId() != View.NO_ID) { + if (viewStates == null) { + viewStates = new SparseArray(); + } + v.saveHierarchyState(viewStates); + if (item.isActionViewExpanded()) { + outStates.putInt(EXPANDED_ACTION_VIEW_ID, item.getItemId()); + } + } + if (item.hasSubMenu()) { + final SubMenuBuilder subMenu = (SubMenuBuilder) item.getSubMenu(); + subMenu.saveActionViewStates(outStates); + } + } + + if (viewStates != null) { + outStates.putSparseParcelableArray(getActionViewStatesKey(), viewStates); + } + } + + public void restoreActionViewStates(Bundle states) { + if (states == null) { + return; + } + + SparseArray viewStates = states.getSparseParcelableArray( + getActionViewStatesKey()); + + final int itemCount = size(); + for (int i = 0; i < itemCount; i++) { + final MenuItem item = getItem(i); + final View v = item.getActionView(); + if (v != null && v.getId() != View.NO_ID) { + v.restoreHierarchyState(viewStates); + } + if (item.hasSubMenu()) { + final SubMenuBuilder subMenu = (SubMenuBuilder) item.getSubMenu(); + subMenu.restoreActionViewStates(states); + } + } + + final int expandedId = states.getInt(EXPANDED_ACTION_VIEW_ID); + if (expandedId > 0) { + MenuItem itemToExpand = findItem(expandedId); + if (itemToExpand != null) { + itemToExpand.expandActionView(); + } + } + } + + protected String getActionViewStatesKey() { + return ACTION_VIEW_STATES_KEY; + } + + public void setCallback(Callback cb) { + mCallback = cb; + } + + /** + * Adds an item to the menu. The other add methods funnel to this. + */ + private MenuItem addInternal(int group, int id, int categoryOrder, CharSequence title) { + final int ordering = getOrdering(categoryOrder); + + final MenuItemImpl item = new MenuItemImpl(this, group, id, categoryOrder, + ordering, title, mDefaultShowAsAction); + + if (mCurrentMenuInfo != null) { + // Pass along the current menu info + item.setMenuInfo(mCurrentMenuInfo); + } + + mItems.add(findInsertIndex(mItems, ordering), item); + onItemsChanged(true); + + return item; + } + + public MenuItem add(CharSequence title) { + return addInternal(0, 0, 0, title); + } + + public MenuItem add(int titleRes) { + return addInternal(0, 0, 0, mResources.getString(titleRes)); + } + + public MenuItem add(int group, int id, int categoryOrder, CharSequence title) { + return addInternal(group, id, categoryOrder, title); + } + + public MenuItem add(int group, int id, int categoryOrder, int title) { + return addInternal(group, id, categoryOrder, mResources.getString(title)); + } + + public SubMenu addSubMenu(CharSequence title) { + return addSubMenu(0, 0, 0, title); + } + + public SubMenu addSubMenu(int titleRes) { + return addSubMenu(0, 0, 0, mResources.getString(titleRes)); + } + + public SubMenu addSubMenu(int group, int id, int categoryOrder, CharSequence title) { + final MenuItemImpl item = (MenuItemImpl) addInternal(group, id, categoryOrder, title); + final SubMenuBuilder subMenu = new SubMenuBuilder(mContext, this, item); + item.setSubMenu(subMenu); + + return subMenu; + } + + public SubMenu addSubMenu(int group, int id, int categoryOrder, int title) { + return addSubMenu(group, id, categoryOrder, mResources.getString(title)); + } + + public int addIntentOptions(int group, int id, int categoryOrder, ComponentName caller, + Intent[] specifics, Intent intent, int flags, MenuItem[] outSpecificItems) { + PackageManager pm = mContext.getPackageManager(); + final List lri = + pm.queryIntentActivityOptions(caller, specifics, intent, 0); + final int N = lri != null ? lri.size() : 0; + + if ((flags & FLAG_APPEND_TO_GROUP) == 0) { + removeGroup(group); + } + + for (int i=0; i= 0) { + outSpecificItems[ri.specificIndex] = item; + } + } + + return N; + } + + public void removeItem(int id) { + removeItemAtInt(findItemIndex(id), true); + } + + public void removeGroup(int group) { + final int i = findGroupIndex(group); + + if (i >= 0) { + final int maxRemovable = mItems.size() - i; + int numRemoved = 0; + while ((numRemoved++ < maxRemovable) && (mItems.get(i).getGroupId() == group)) { + // Don't force update for each one, this method will do it at the end + removeItemAtInt(i, false); + } + + // Notify menu views + onItemsChanged(true); + } + } + + /** + * Remove the item at the given index and optionally forces menu views to + * update. + * + * @param index The index of the item to be removed. If this index is + * invalid an exception is thrown. + * @param updateChildrenOnMenuViews Whether to force update on menu views. + * Please make sure you eventually call this after your batch of + * removals. + */ + private void removeItemAtInt(int index, boolean updateChildrenOnMenuViews) { + if ((index < 0) || (index >= mItems.size())) return; + + mItems.remove(index); + + if (updateChildrenOnMenuViews) onItemsChanged(true); + } + + public void removeItemAt(int index) { + removeItemAtInt(index, true); + } + + public void clearAll() { + mPreventDispatchingItemsChanged = true; + clear(); + clearHeader(); + mPreventDispatchingItemsChanged = false; + mItemsChangedWhileDispatchPrevented = false; + onItemsChanged(true); + } + + public void clear() { + if (mExpandedItem != null) { + collapseItemActionView(mExpandedItem); + } + mItems.clear(); + + onItemsChanged(true); + } + + void setExclusiveItemChecked(MenuItem item) { + final int group = item.getGroupId(); + + final int N = mItems.size(); + for (int i = 0; i < N; i++) { + MenuItemImpl curItem = mItems.get(i); + if (curItem.getGroupId() == group) { + if (!curItem.isExclusiveCheckable()) continue; + if (!curItem.isCheckable()) continue; + + // Check the item meant to be checked, uncheck the others (that are in the group) + curItem.setCheckedInt(curItem == item); + } + } + } + + public void setGroupCheckable(int group, boolean checkable, boolean exclusive) { + final int N = mItems.size(); + + for (int i = 0; i < N; i++) { + MenuItemImpl item = mItems.get(i); + if (item.getGroupId() == group) { + item.setExclusiveCheckable(exclusive); + item.setCheckable(checkable); + } + } + } + + public void setGroupVisible(int group, boolean visible) { + final int N = mItems.size(); + + // We handle the notification of items being changed ourselves, so we use setVisibleInt rather + // than setVisible and at the end notify of items being changed + + boolean changedAtLeastOneItem = false; + for (int i = 0; i < N; i++) { + MenuItemImpl item = mItems.get(i); + if (item.getGroupId() == group) { + if (item.setVisibleInt(visible)) changedAtLeastOneItem = true; + } + } + + if (changedAtLeastOneItem) onItemsChanged(true); + } + + public void setGroupEnabled(int group, boolean enabled) { + final int N = mItems.size(); + + for (int i = 0; i < N; i++) { + MenuItemImpl item = mItems.get(i); + if (item.getGroupId() == group) { + item.setEnabled(enabled); + } + } + } + + public boolean hasVisibleItems() { + final int size = size(); + + for (int i = 0; i < size; i++) { + MenuItemImpl item = mItems.get(i); + if (item.isVisible()) { + return true; + } + } + + return false; + } + + public MenuItem findItem(int id) { + final int size = size(); + for (int i = 0; i < size; i++) { + MenuItemImpl item = mItems.get(i); + if (item.getItemId() == id) { + return item; + } else if (item.hasSubMenu()) { + MenuItem possibleItem = item.getSubMenu().findItem(id); + + if (possibleItem != null) { + return possibleItem; + } + } + } + + return null; + } + + public int findItemIndex(int id) { + final int size = size(); + + for (int i = 0; i < size; i++) { + MenuItemImpl item = mItems.get(i); + if (item.getItemId() == id) { + return i; + } + } + + return -1; + } + + public int findGroupIndex(int group) { + return findGroupIndex(group, 0); + } + + public int findGroupIndex(int group, int start) { + final int size = size(); + + if (start < 0) { + start = 0; + } + + for (int i = start; i < size; i++) { + final MenuItemImpl item = mItems.get(i); + + if (item.getGroupId() == group) { + return i; + } + } + + return -1; + } + + public int size() { + return mItems.size(); + } + + /** {@inheritDoc} */ + public MenuItem getItem(int index) { + return mItems.get(index); + } + + public boolean isShortcutKey(int keyCode, KeyEvent event) { + return findItemWithShortcutForKey(keyCode, event) != null; + } + + public void setQwertyMode(boolean isQwerty) { + mQwertyMode = isQwerty; + + onItemsChanged(false); + } + + /** + * Returns the ordering across all items. This will grab the category from + * the upper bits, find out how to order the category with respect to other + * categories, and combine it with the lower bits. + * + * @param categoryOrder The category order for a particular item (if it has + * not been or/add with a category, the default category is + * assumed). + * @return An ordering integer that can be used to order this item across + * all the items (even from other categories). + */ + private static int getOrdering(int categoryOrder) { + final int index = (categoryOrder & CATEGORY_MASK) >> CATEGORY_SHIFT; + + if (index < 0 || index >= sCategoryToOrder.length) { + throw new IllegalArgumentException("order does not contain a valid category."); + } + + return (sCategoryToOrder[index] << CATEGORY_SHIFT) | (categoryOrder & USER_MASK); + } + + /** + * @return whether the menu shortcuts are in qwerty mode or not + */ + boolean isQwertyMode() { + return mQwertyMode; + } + + /** + * Sets whether the shortcuts should be visible on menus. Devices without hardware + * key input will never make shortcuts visible even if this method is passed 'true'. + * + * @param shortcutsVisible Whether shortcuts should be visible (if true and a + * menu item does not have a shortcut defined, that item will + * still NOT show a shortcut) + */ + public void setShortcutsVisible(boolean shortcutsVisible) { + if (mShortcutsVisible == shortcutsVisible) return; + + setShortcutsVisibleInner(shortcutsVisible); + onItemsChanged(false); + } + + private void setShortcutsVisibleInner(boolean shortcutsVisible) { + mShortcutsVisible = shortcutsVisible + && mResources.getConfiguration().keyboard != Configuration.KEYBOARD_NOKEYS + && mResources.getBoolean( + R.bool.abs__config_showMenuShortcutsWhenKeyboardPresent); + } + + /** + * @return Whether shortcuts should be visible on menus. + */ + public boolean isShortcutsVisible() { + return mShortcutsVisible; + } + + Resources getResources() { + return mResources; + } + + public Context getContext() { + return mContext; + } + + boolean dispatchMenuItemSelected(MenuBuilder menu, MenuItem item) { + return mCallback != null && mCallback.onMenuItemSelected(menu, item); + } + + /** + * Dispatch a mode change event to this menu's callback. + */ + public void changeMenuMode() { + if (mCallback != null) { + mCallback.onMenuModeChange(this); + } + } + + private static int findInsertIndex(ArrayList items, int ordering) { + for (int i = items.size() - 1; i >= 0; i--) { + MenuItemImpl item = items.get(i); + if (item.getOrdering() <= ordering) { + return i + 1; + } + } + + return 0; + } + + public boolean performShortcut(int keyCode, KeyEvent event, int flags) { + final MenuItemImpl item = findItemWithShortcutForKey(keyCode, event); + + boolean handled = false; + + if (item != null) { + handled = performItemAction(item, flags); + } + + if ((flags & FLAG_ALWAYS_PERFORM_CLOSE) != 0) { + close(true); + } + + return handled; + } + + /* + * This function will return all the menu and sub-menu items that can + * be directly (the shortcut directly corresponds) and indirectly + * (the ALT-enabled char corresponds to the shortcut) associated + * with the keyCode. + */ + @SuppressWarnings("deprecation") + void findItemsWithShortcutForKey(List items, int keyCode, KeyEvent event) { + final boolean qwerty = isQwertyMode(); + final int metaState = event.getMetaState(); + final KeyCharacterMap.KeyData possibleChars = new KeyCharacterMap.KeyData(); + // Get the chars associated with the keyCode (i.e using any chording combo) + final boolean isKeyCodeMapped = event.getKeyData(possibleChars); + // The delete key is not mapped to '\b' so we treat it specially + if (!isKeyCodeMapped && (keyCode != KeyEvent.KEYCODE_DEL)) { + return; + } + + // Look for an item whose shortcut is this key. + final int N = mItems.size(); + for (int i = 0; i < N; i++) { + MenuItemImpl item = mItems.get(i); + if (item.hasSubMenu()) { + ((MenuBuilder)item.getSubMenu()).findItemsWithShortcutForKey(items, keyCode, event); + } + final char shortcutChar = qwerty ? item.getAlphabeticShortcut() : item.getNumericShortcut(); + if (((metaState & (KeyEvent.META_SHIFT_ON | KeyEvent.META_SYM_ON)) == 0) && + (shortcutChar != 0) && + (shortcutChar == possibleChars.meta[0] + || shortcutChar == possibleChars.meta[2] + || (qwerty && shortcutChar == '\b' && + keyCode == KeyEvent.KEYCODE_DEL)) && + item.isEnabled()) { + items.add(item); + } + } + } + + /* + * We want to return the menu item associated with the key, but if there is no + * ambiguity (i.e. there is only one menu item corresponding to the key) we want + * to return it even if it's not an exact match; this allow the user to + * _not_ use the ALT key for example, making the use of shortcuts slightly more + * user-friendly. An example is on the G1, '!' and '1' are on the same key, and + * in Gmail, Menu+1 will trigger Menu+! (the actual shortcut). + * + * On the other hand, if two (or more) shortcuts corresponds to the same key, + * we have to only return the exact match. + */ + @SuppressWarnings("deprecation") + MenuItemImpl findItemWithShortcutForKey(int keyCode, KeyEvent event) { + // Get all items that can be associated directly or indirectly with the keyCode + ArrayList items = mTempShortcutItemList; + items.clear(); + findItemsWithShortcutForKey(items, keyCode, event); + + if (items.isEmpty()) { + return null; + } + + final int metaState = event.getMetaState(); + final KeyCharacterMap.KeyData possibleChars = new KeyCharacterMap.KeyData(); + // Get the chars associated with the keyCode (i.e using any chording combo) + event.getKeyData(possibleChars); + + // If we have only one element, we can safely returns it + final int size = items.size(); + if (size == 1) { + return items.get(0); + } + + final boolean qwerty = isQwertyMode(); + // If we found more than one item associated with the key, + // we have to return the exact match + for (int i = 0; i < size; i++) { + final MenuItemImpl item = items.get(i); + final char shortcutChar = qwerty ? item.getAlphabeticShortcut() : + item.getNumericShortcut(); + if ((shortcutChar == possibleChars.meta[0] && + (metaState & KeyEvent.META_ALT_ON) == 0) + || (shortcutChar == possibleChars.meta[2] && + (metaState & KeyEvent.META_ALT_ON) != 0) + || (qwerty && shortcutChar == '\b' && + keyCode == KeyEvent.KEYCODE_DEL)) { + return item; + } + } + return null; + } + + public boolean performIdentifierAction(int id, int flags) { + // Look for an item whose identifier is the id. + return performItemAction(findItem(id), flags); + } + + public boolean performItemAction(MenuItem item, int flags) { + MenuItemImpl itemImpl = (MenuItemImpl) item; + + if (itemImpl == null || !itemImpl.isEnabled()) { + return false; + } + + boolean invoked = itemImpl.invoke(); + + if (itemImpl.hasCollapsibleActionView()) { + invoked |= itemImpl.expandActionView(); + if (invoked) close(true); + } else if (item.hasSubMenu()) { + close(false); + + final SubMenuBuilder subMenu = (SubMenuBuilder) item.getSubMenu(); + final ActionProvider provider = item.getActionProvider(); + if (provider != null && provider.hasSubMenu()) { + provider.onPrepareSubMenu(subMenu); + } + invoked |= dispatchSubMenuSelected(subMenu); + if (!invoked) close(true); + } else { + if ((flags & FLAG_PERFORM_NO_CLOSE) == 0) { + close(true); + } + } + + return invoked; + } + + /** + * Closes the visible menu. + * + * @param allMenusAreClosing Whether the menus are completely closing (true), + * or whether there is another menu coming in this menu's place + * (false). For example, if the menu is closing because a + * sub menu is about to be shown, allMenusAreClosing + * is false. + */ + final void close(boolean allMenusAreClosing) { + if (mIsClosing) return; + + mIsClosing = true; + for (WeakReference ref : mPresenters) { + final MenuPresenter presenter = ref.get(); + if (presenter == null) { + mPresenters.remove(ref); + } else { + presenter.onCloseMenu(this, allMenusAreClosing); + } + } + mIsClosing = false; + } + + /** {@inheritDoc} */ + public void close() { + close(true); + } + + /** + * Called when an item is added or removed. + * + * @param structureChanged true if the menu structure changed, + * false if only item properties changed. + * (Visibility is a structural property since it affects layout.) + */ + void onItemsChanged(boolean structureChanged) { + if (!mPreventDispatchingItemsChanged) { + if (structureChanged) { + mIsVisibleItemsStale = true; + mIsActionItemsStale = true; + } + + dispatchPresenterUpdate(structureChanged); + } else { + mItemsChangedWhileDispatchPrevented = true; + } + } + + /** + * Stop dispatching item changed events to presenters until + * {@link #startDispatchingItemsChanged()} is called. Useful when + * many menu operations are going to be performed as a batch. + */ + public void stopDispatchingItemsChanged() { + if (!mPreventDispatchingItemsChanged) { + mPreventDispatchingItemsChanged = true; + mItemsChangedWhileDispatchPrevented = false; + } + } + + public void startDispatchingItemsChanged() { + mPreventDispatchingItemsChanged = false; + + if (mItemsChangedWhileDispatchPrevented) { + mItemsChangedWhileDispatchPrevented = false; + onItemsChanged(true); + } + } + + /** + * Called by {@link MenuItemImpl} when its visible flag is changed. + * @param item The item that has gone through a visibility change. + */ + void onItemVisibleChanged(MenuItemImpl item) { + // Notify of items being changed + mIsVisibleItemsStale = true; + onItemsChanged(true); + } + + /** + * Called by {@link MenuItemImpl} when its action request status is changed. + * @param item The item that has gone through a change in action request status. + */ + void onItemActionRequestChanged(MenuItemImpl item) { + // Notify of items being changed + mIsActionItemsStale = true; + onItemsChanged(true); + } + + ArrayList getVisibleItems() { + if (!mIsVisibleItemsStale) return mVisibleItems; + + // Refresh the visible items + mVisibleItems.clear(); + + final int itemsSize = mItems.size(); + MenuItemImpl item; + for (int i = 0; i < itemsSize; i++) { + item = mItems.get(i); + if (item.isVisible()) mVisibleItems.add(item); + } + + mIsVisibleItemsStale = false; + mIsActionItemsStale = true; + + return mVisibleItems; + } + + /** + * This method determines which menu items get to be 'action items' that will appear + * in an action bar and which items should be 'overflow items' in a secondary menu. + * The rules are as follows: + * + *

      Items are considered for inclusion in the order specified within the menu. + * There is a limit of mMaxActionItems as a total count, optionally including the overflow + * menu button itself. This is a soft limit; if an item shares a group ID with an item + * previously included as an action item, the new item will stay with its group and become + * an action item itself even if it breaks the max item count limit. This is done to + * limit the conceptual complexity of the items presented within an action bar. Only a few + * unrelated concepts should be presented to the user in this space, and groups are treated + * as a single concept. + * + *

      There is also a hard limit of consumed measurable space: mActionWidthLimit. This + * limit may be broken by a single item that exceeds the remaining space, but no further + * items may be added. If an item that is part of a group cannot fit within the remaining + * measured width, the entire group will be demoted to overflow. This is done to ensure room + * for navigation and other affordances in the action bar as well as reduce general UI clutter. + * + *

      The space freed by demoting a full group cannot be consumed by future menu items. + * Once items begin to overflow, all future items become overflow items as well. This is + * to avoid inadvertent reordering that may break the app's intended design. + */ + public void flagActionItems() { + if (!mIsActionItemsStale) { + return; + } + + // Presenters flag action items as needed. + boolean flagged = false; + for (WeakReference ref : mPresenters) { + final MenuPresenter presenter = ref.get(); + if (presenter == null) { + mPresenters.remove(ref); + } else { + flagged |= presenter.flagActionItems(); + } + } + + if (flagged) { + mActionItems.clear(); + mNonActionItems.clear(); + ArrayList visibleItems = getVisibleItems(); + final int itemsSize = visibleItems.size(); + for (int i = 0; i < itemsSize; i++) { + MenuItemImpl item = visibleItems.get(i); + if (item.isActionButton()) { + mActionItems.add(item); + } else { + mNonActionItems.add(item); + } + } + } else { + // Nobody flagged anything, everything is a non-action item. + // (This happens during a first pass with no action-item presenters.) + mActionItems.clear(); + mNonActionItems.clear(); + mNonActionItems.addAll(getVisibleItems()); + } + mIsActionItemsStale = false; + } + + ArrayList getActionItems() { + flagActionItems(); + return mActionItems; + } + + ArrayList getNonActionItems() { + flagActionItems(); + return mNonActionItems; + } + + public void clearHeader() { + mHeaderIcon = null; + mHeaderTitle = null; + mHeaderView = null; + + onItemsChanged(false); + } + + private void setHeaderInternal(final int titleRes, final CharSequence title, final int iconRes, + final Drawable icon, final View view) { + final Resources r = getResources(); + + if (view != null) { + mHeaderView = view; + + // If using a custom view, then the title and icon aren't used + mHeaderTitle = null; + mHeaderIcon = null; + } else { + if (titleRes > 0) { + mHeaderTitle = r.getText(titleRes); + } else if (title != null) { + mHeaderTitle = title; + } + + if (iconRes > 0) { + mHeaderIcon = r.getDrawable(iconRes); + } else if (icon != null) { + mHeaderIcon = icon; + } + + // If using the title or icon, then a custom view isn't used + mHeaderView = null; + } + + // Notify of change + onItemsChanged(false); + } + + /** + * Sets the header's title. This replaces the header view. Called by the + * builder-style methods of subclasses. + * + * @param title The new title. + * @return This MenuBuilder so additional setters can be called. + */ + protected MenuBuilder setHeaderTitleInt(CharSequence title) { + setHeaderInternal(0, title, 0, null, null); + return this; + } + + /** + * Sets the header's title. This replaces the header view. Called by the + * builder-style methods of subclasses. + * + * @param titleRes The new title (as a resource ID). + * @return This MenuBuilder so additional setters can be called. + */ + protected MenuBuilder setHeaderTitleInt(int titleRes) { + setHeaderInternal(titleRes, null, 0, null, null); + return this; + } + + /** + * Sets the header's icon. This replaces the header view. Called by the + * builder-style methods of subclasses. + * + * @param icon The new icon. + * @return This MenuBuilder so additional setters can be called. + */ + protected MenuBuilder setHeaderIconInt(Drawable icon) { + setHeaderInternal(0, null, 0, icon, null); + return this; + } + + /** + * Sets the header's icon. This replaces the header view. Called by the + * builder-style methods of subclasses. + * + * @param iconRes The new icon (as a resource ID). + * @return This MenuBuilder so additional setters can be called. + */ + protected MenuBuilder setHeaderIconInt(int iconRes) { + setHeaderInternal(0, null, iconRes, null, null); + return this; + } + + /** + * Sets the header's view. This replaces the title and icon. Called by the + * builder-style methods of subclasses. + * + * @param view The new view. + * @return This MenuBuilder so additional setters can be called. + */ + protected MenuBuilder setHeaderViewInt(View view) { + setHeaderInternal(0, null, 0, null, view); + return this; + } + + public CharSequence getHeaderTitle() { + return mHeaderTitle; + } + + public Drawable getHeaderIcon() { + return mHeaderIcon; + } + + public View getHeaderView() { + return mHeaderView; + } + + /** + * Gets the root menu (if this is a submenu, find its root menu). + * @return The root menu. + */ + public MenuBuilder getRootMenu() { + return this; + } + + /** + * Sets the current menu info that is set on all items added to this menu + * (until this is called again with different menu info, in which case that + * one will be added to all subsequent item additions). + * + * @param menuInfo The extra menu information to add. + */ + public void setCurrentMenuInfo(ContextMenuInfo menuInfo) { + mCurrentMenuInfo = menuInfo; + } + + void setOptionalIconsVisible(boolean visible) { + mOptionalIconsVisible = visible; + } + + boolean getOptionalIconsVisible() { + return mOptionalIconsVisible; + } + + public boolean expandItemActionView(MenuItemImpl item) { + if (mPresenters.isEmpty()) return false; + + boolean expanded = false; + + stopDispatchingItemsChanged(); + for (WeakReference ref : mPresenters) { + final MenuPresenter presenter = ref.get(); + if (presenter == null) { + mPresenters.remove(ref); + } else if ((expanded = presenter.expandItemActionView(this, item))) { + break; + } + } + startDispatchingItemsChanged(); + + if (expanded) { + mExpandedItem = item; + } + return expanded; + } + + public boolean collapseItemActionView(MenuItemImpl item) { + if (mPresenters.isEmpty() || mExpandedItem != item) return false; + + boolean collapsed = false; + + stopDispatchingItemsChanged(); + for (WeakReference ref : mPresenters) { + final MenuPresenter presenter = ref.get(); + if (presenter == null) { + mPresenters.remove(ref); + } else if ((collapsed = presenter.collapseItemActionView(this, item))) { + break; + } + } + startDispatchingItemsChanged(); + + if (collapsed) { + mExpandedItem = null; + } + return collapsed; + } + + public MenuItemImpl getExpandedItem() { + return mExpandedItem; + } + + public boolean bindNativeOverflow(android.view.Menu menu, android.view.MenuItem.OnMenuItemClickListener listener, HashMap map) { + final List nonActionItems = getNonActionItems(); + if (nonActionItems == null || nonActionItems.size() == 0) { + return false; + } + + boolean visible = false; + menu.clear(); + for (MenuItemImpl nonActionItem : nonActionItems) { + if (!nonActionItem.isVisible()) { + continue; + } + visible = true; + + android.view.MenuItem nativeItem; + if (nonActionItem.hasSubMenu()) { + android.view.SubMenu nativeSub = menu.addSubMenu(nonActionItem.getGroupId(), nonActionItem.getItemId(), + nonActionItem.getOrder(), nonActionItem.getTitle()); + + SubMenuBuilder subMenu = (SubMenuBuilder)nonActionItem.getSubMenu(); + for (MenuItemImpl subItem : subMenu.getVisibleItems()) { + android.view.MenuItem nativeSubItem = nativeSub.add(subItem.getGroupId(), subItem.getItemId(), + subItem.getOrder(), subItem.getTitle()); + + nativeSubItem.setIcon(subItem.getIcon()); + nativeSubItem.setOnMenuItemClickListener(listener); + nativeSubItem.setEnabled(subItem.isEnabled()); + nativeSubItem.setIntent(subItem.getIntent()); + nativeSubItem.setNumericShortcut(subItem.getNumericShortcut()); + nativeSubItem.setAlphabeticShortcut(subItem.getAlphabeticShortcut()); + nativeSubItem.setTitleCondensed(subItem.getTitleCondensed()); + nativeSubItem.setCheckable(subItem.isCheckable()); + nativeSubItem.setChecked(subItem.isChecked()); + + if (subItem.isExclusiveCheckable()) { + nativeSub.setGroupCheckable(subItem.getGroupId(), true, true); + } + + map.put(nativeSubItem, subItem); + } + + nativeItem = nativeSub.getItem(); + } else { + nativeItem = menu.add(nonActionItem.getGroupId(), nonActionItem.getItemId(), + nonActionItem.getOrder(), nonActionItem.getTitle()); + } + nativeItem.setIcon(nonActionItem.getIcon()); + nativeItem.setOnMenuItemClickListener(listener); + nativeItem.setEnabled(nonActionItem.isEnabled()); + nativeItem.setIntent(nonActionItem.getIntent()); + nativeItem.setNumericShortcut(nonActionItem.getNumericShortcut()); + nativeItem.setAlphabeticShortcut(nonActionItem.getAlphabeticShortcut()); + nativeItem.setTitleCondensed(nonActionItem.getTitleCondensed()); + nativeItem.setCheckable(nonActionItem.isCheckable()); + nativeItem.setChecked(nonActionItem.isChecked()); + + if (nonActionItem.isExclusiveCheckable()) { + menu.setGroupCheckable(nonActionItem.getGroupId(), true, true); + } + + map.put(nativeItem, nonActionItem); + } + return visible; + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/menu/MenuItemImpl.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/menu/MenuItemImpl.java new file mode 100644 index 000000000..f5359fb40 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/menu/MenuItemImpl.java @@ -0,0 +1,647 @@ +/* + * 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.view.menu; + +import android.content.ActivityNotFoundException; +import android.content.Context; +import android.content.Intent; +import android.graphics.drawable.Drawable; +import android.util.Log; +import android.view.ContextMenu.ContextMenuInfo; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewDebug; +import android.widget.LinearLayout; + +import com.actionbarsherlock.view.ActionProvider; +import com.actionbarsherlock.view.MenuItem; +import com.actionbarsherlock.view.SubMenu; + +/** + * @hide + */ +public final class MenuItemImpl implements MenuItem { + private static final String TAG = "MenuItemImpl"; + + private static final int SHOW_AS_ACTION_MASK = SHOW_AS_ACTION_NEVER | + SHOW_AS_ACTION_IF_ROOM | + SHOW_AS_ACTION_ALWAYS; + + private final int mId; + private final int mGroup; + private final int mCategoryOrder; + private final int mOrdering; + private CharSequence mTitle; + private CharSequence mTitleCondensed; + private Intent mIntent; + private char mShortcutNumericChar; + private char mShortcutAlphabeticChar; + + /** The icon's drawable which is only created as needed */ + private Drawable mIconDrawable; + /** + * The icon's resource ID which is used to get the Drawable when it is + * needed (if the Drawable isn't already obtained--only one of the two is + * needed). + */ + private int mIconResId = NO_ICON; + + /** The menu to which this item belongs */ + private MenuBuilder mMenu; + /** If this item should launch a sub menu, this is the sub menu to launch */ + private SubMenuBuilder mSubMenu; + + private Runnable mItemCallback; + private MenuItem.OnMenuItemClickListener mClickListener; + + private int mFlags = ENABLED; + private static final int CHECKABLE = 0x00000001; + private static final int CHECKED = 0x00000002; + private static final int EXCLUSIVE = 0x00000004; + private static final int HIDDEN = 0x00000008; + private static final int ENABLED = 0x00000010; + private static final int IS_ACTION = 0x00000020; + + private int mShowAsAction = SHOW_AS_ACTION_NEVER; + + private View mActionView; + private ActionProvider mActionProvider; + private OnActionExpandListener mOnActionExpandListener; + private boolean mIsActionViewExpanded = false; + + /** Used for the icon resource ID if this item does not have an icon */ + static final int NO_ICON = 0; + + /** + * Current use case is for context menu: Extra information linked to the + * View that added this item to the context menu. + */ + private ContextMenuInfo mMenuInfo; + + private static String sPrependShortcutLabel; + private static String sEnterShortcutLabel; + private static String sDeleteShortcutLabel; + private static String sSpaceShortcutLabel; + + + /** + * Instantiates this menu item. + * + * @param menu + * @param group Item ordering grouping control. The item will be added after + * all other items whose order is <= this number, and before any + * that are larger than it. This can also be used to define + * groups of items for batch state changes. Normally use 0. + * @param id Unique item ID. Use 0 if you do not need a unique ID. + * @param categoryOrder The ordering for this item. + * @param title The text to display for the item. + */ + MenuItemImpl(MenuBuilder menu, int group, int id, int categoryOrder, int ordering, + CharSequence title, int showAsAction) { + + /* TODO if (sPrependShortcutLabel == null) { + // This is instantiated from the UI thread, so no chance of sync issues + sPrependShortcutLabel = menu.getContext().getResources().getString( + com.android.internal.R.string.prepend_shortcut_label); + sEnterShortcutLabel = menu.getContext().getResources().getString( + com.android.internal.R.string.menu_enter_shortcut_label); + sDeleteShortcutLabel = menu.getContext().getResources().getString( + com.android.internal.R.string.menu_delete_shortcut_label); + sSpaceShortcutLabel = menu.getContext().getResources().getString( + com.android.internal.R.string.menu_space_shortcut_label); + }*/ + + mMenu = menu; + mId = id; + mGroup = group; + mCategoryOrder = categoryOrder; + mOrdering = ordering; + mTitle = title; + mShowAsAction = showAsAction; + } + + /** + * Invokes the item by calling various listeners or callbacks. + * + * @return true if the invocation was handled, false otherwise + */ + public boolean invoke() { + if (mClickListener != null && + mClickListener.onMenuItemClick(this)) { + return true; + } + + if (mMenu.dispatchMenuItemSelected(mMenu.getRootMenu(), this)) { + return true; + } + + if (mItemCallback != null) { + mItemCallback.run(); + return true; + } + + if (mIntent != null) { + try { + mMenu.getContext().startActivity(mIntent); + return true; + } catch (ActivityNotFoundException e) { + Log.e(TAG, "Can't find activity to handle intent; ignoring", e); + } + } + + if (mActionProvider != null && mActionProvider.onPerformDefaultAction()) { + return true; + } + + return false; + } + + public boolean isEnabled() { + return (mFlags & ENABLED) != 0; + } + + public MenuItem setEnabled(boolean enabled) { + if (enabled) { + mFlags |= ENABLED; + } else { + mFlags &= ~ENABLED; + } + + mMenu.onItemsChanged(false); + + return this; + } + + public int getGroupId() { + return mGroup; + } + + @ViewDebug.CapturedViewProperty + public int getItemId() { + return mId; + } + + public int getOrder() { + return mCategoryOrder; + } + + public int getOrdering() { + return mOrdering; + } + + public Intent getIntent() { + return mIntent; + } + + public MenuItem setIntent(Intent intent) { + mIntent = intent; + return this; + } + + Runnable getCallback() { + return mItemCallback; + } + + public MenuItem setCallback(Runnable callback) { + mItemCallback = callback; + return this; + } + + public char getAlphabeticShortcut() { + return mShortcutAlphabeticChar; + } + + public MenuItem setAlphabeticShortcut(char alphaChar) { + if (mShortcutAlphabeticChar == alphaChar) return this; + + mShortcutAlphabeticChar = Character.toLowerCase(alphaChar); + + mMenu.onItemsChanged(false); + + return this; + } + + public char getNumericShortcut() { + return mShortcutNumericChar; + } + + public MenuItem setNumericShortcut(char numericChar) { + if (mShortcutNumericChar == numericChar) return this; + + mShortcutNumericChar = numericChar; + + mMenu.onItemsChanged(false); + + return this; + } + + public MenuItem setShortcut(char numericChar, char alphaChar) { + mShortcutNumericChar = numericChar; + mShortcutAlphabeticChar = Character.toLowerCase(alphaChar); + + mMenu.onItemsChanged(false); + + return this; + } + + /** + * @return The active shortcut (based on QWERTY-mode of the menu). + */ + char getShortcut() { + return (mMenu.isQwertyMode() ? mShortcutAlphabeticChar : mShortcutNumericChar); + } + + /** + * @return The label to show for the shortcut. This includes the chording + * key (for example 'Menu+a'). Also, any non-human readable + * characters should be human readable (for example 'Menu+enter'). + */ + String getShortcutLabel() { + + char shortcut = getShortcut(); + if (shortcut == 0) { + return ""; + } + + StringBuilder sb = new StringBuilder(sPrependShortcutLabel); + switch (shortcut) { + + case '\n': + sb.append(sEnterShortcutLabel); + break; + + case '\b': + sb.append(sDeleteShortcutLabel); + break; + + case ' ': + sb.append(sSpaceShortcutLabel); + break; + + default: + sb.append(shortcut); + break; + } + + return sb.toString(); + } + + /** + * @return Whether this menu item should be showing shortcuts (depends on + * whether the menu should show shortcuts and whether this item has + * a shortcut defined) + */ + boolean shouldShowShortcut() { + // Show shortcuts if the menu is supposed to show shortcuts AND this item has a shortcut + return mMenu.isShortcutsVisible() && (getShortcut() != 0); + } + + public SubMenu getSubMenu() { + return mSubMenu; + } + + public boolean hasSubMenu() { + return mSubMenu != null; + } + + void setSubMenu(SubMenuBuilder subMenu) { + mSubMenu = subMenu; + + subMenu.setHeaderTitle(getTitle()); + } + + @ViewDebug.CapturedViewProperty + public CharSequence getTitle() { + return mTitle; + } + + /** + * Gets the title for a particular {@link ItemView} + * + * @param itemView The ItemView that is receiving the title + * @return Either the title or condensed title based on what the ItemView + * prefers + */ + CharSequence getTitleForItemView(MenuView.ItemView itemView) { + return ((itemView != null) && itemView.prefersCondensedTitle()) + ? getTitleCondensed() + : getTitle(); + } + + public MenuItem setTitle(CharSequence title) { + mTitle = title; + + mMenu.onItemsChanged(false); + + if (mSubMenu != null) { + mSubMenu.setHeaderTitle(title); + } + + return this; + } + + public MenuItem setTitle(int title) { + return setTitle(mMenu.getContext().getString(title)); + } + + public CharSequence getTitleCondensed() { + return mTitleCondensed != null ? mTitleCondensed : mTitle; + } + + public MenuItem setTitleCondensed(CharSequence title) { + mTitleCondensed = title; + + // Could use getTitle() in the loop below, but just cache what it would do here + if (title == null) { + title = mTitle; + } + + mMenu.onItemsChanged(false); + + return this; + } + + public Drawable getIcon() { + if (mIconDrawable != null) { + return mIconDrawable; + } + + if (mIconResId != NO_ICON) { + return mMenu.getResources().getDrawable(mIconResId); + } + + return null; + } + + public MenuItem setIcon(Drawable icon) { + mIconResId = NO_ICON; + mIconDrawable = icon; + mMenu.onItemsChanged(false); + + return this; + } + + public MenuItem setIcon(int iconResId) { + mIconDrawable = null; + mIconResId = iconResId; + + // If we have a view, we need to push the Drawable to them + mMenu.onItemsChanged(false); + + return this; + } + + public boolean isCheckable() { + return (mFlags & CHECKABLE) == CHECKABLE; + } + + public MenuItem setCheckable(boolean checkable) { + final int oldFlags = mFlags; + mFlags = (mFlags & ~CHECKABLE) | (checkable ? CHECKABLE : 0); + if (oldFlags != mFlags) { + mMenu.onItemsChanged(false); + } + + return this; + } + + public void setExclusiveCheckable(boolean exclusive) { + mFlags = (mFlags & ~EXCLUSIVE) | (exclusive ? EXCLUSIVE : 0); + } + + public boolean isExclusiveCheckable() { + return (mFlags & EXCLUSIVE) != 0; + } + + public boolean isChecked() { + return (mFlags & CHECKED) == CHECKED; + } + + public MenuItem setChecked(boolean checked) { + if ((mFlags & EXCLUSIVE) != 0) { + // Call the method on the Menu since it knows about the others in this + // exclusive checkable group + mMenu.setExclusiveItemChecked(this); + } else { + setCheckedInt(checked); + } + + return this; + } + + void setCheckedInt(boolean checked) { + final int oldFlags = mFlags; + mFlags = (mFlags & ~CHECKED) | (checked ? CHECKED : 0); + if (oldFlags != mFlags) { + mMenu.onItemsChanged(false); + } + } + + public boolean isVisible() { + return (mFlags & HIDDEN) == 0; + } + + /** + * Changes the visibility of the item. This method DOES NOT notify the + * parent menu of a change in this item, so this should only be called from + * methods that will eventually trigger this change. If unsure, use {@link #setVisible(boolean)} + * instead. + * + * @param shown Whether to show (true) or hide (false). + * @return Whether the item's shown state was changed + */ + boolean setVisibleInt(boolean shown) { + final int oldFlags = mFlags; + mFlags = (mFlags & ~HIDDEN) | (shown ? 0 : HIDDEN); + return oldFlags != mFlags; + } + + public MenuItem setVisible(boolean shown) { + // Try to set the shown state to the given state. If the shown state was changed + // (i.e. the previous state isn't the same as given state), notify the parent menu that + // the shown state has changed for this item + if (setVisibleInt(shown)) mMenu.onItemVisibleChanged(this); + + return this; + } + + public MenuItem setOnMenuItemClickListener(MenuItem.OnMenuItemClickListener clickListener) { + mClickListener = clickListener; + return this; + } + + @Override + public String toString() { + return mTitle.toString(); + } + + void setMenuInfo(ContextMenuInfo menuInfo) { + mMenuInfo = menuInfo; + } + + public ContextMenuInfo getMenuInfo() { + return mMenuInfo; + } + + public void actionFormatChanged() { + mMenu.onItemActionRequestChanged(this); + } + + /** + * @return Whether the menu should show icons for menu items. + */ + public boolean shouldShowIcon() { + return mMenu.getOptionalIconsVisible(); + } + + public boolean isActionButton() { + return (mFlags & IS_ACTION) == IS_ACTION; + } + + public boolean requestsActionButton() { + return (mShowAsAction & SHOW_AS_ACTION_IF_ROOM) == SHOW_AS_ACTION_IF_ROOM; + } + + public boolean requiresActionButton() { + return (mShowAsAction & SHOW_AS_ACTION_ALWAYS) == SHOW_AS_ACTION_ALWAYS; + } + + public void setIsActionButton(boolean isActionButton) { + if (isActionButton) { + mFlags |= IS_ACTION; + } else { + mFlags &= ~IS_ACTION; + } + } + + public boolean showsTextAsAction() { + return (mShowAsAction & SHOW_AS_ACTION_WITH_TEXT) == SHOW_AS_ACTION_WITH_TEXT; + } + + public void setShowAsAction(int actionEnum) { + switch (actionEnum & SHOW_AS_ACTION_MASK) { + case SHOW_AS_ACTION_ALWAYS: + case SHOW_AS_ACTION_IF_ROOM: + case SHOW_AS_ACTION_NEVER: + // Looks good! + break; + + default: + // Mutually exclusive options selected! + throw new IllegalArgumentException("SHOW_AS_ACTION_ALWAYS, SHOW_AS_ACTION_IF_ROOM," + + " and SHOW_AS_ACTION_NEVER are mutually exclusive."); + } + mShowAsAction = actionEnum; + mMenu.onItemActionRequestChanged(this); + } + + public MenuItem setActionView(View view) { + mActionView = view; + mActionProvider = null; + if (view != null && view.getId() == View.NO_ID && mId > 0) { + view.setId(mId); + } + mMenu.onItemActionRequestChanged(this); + return this; + } + + public MenuItem setActionView(int resId) { + final Context context = mMenu.getContext(); + final LayoutInflater inflater = LayoutInflater.from(context); + setActionView(inflater.inflate(resId, new LinearLayout(context), false)); + return this; + } + + public View getActionView() { + if (mActionView != null) { + return mActionView; + } else if (mActionProvider != null) { + mActionView = mActionProvider.onCreateActionView(); + return mActionView; + } else { + return null; + } + } + + public ActionProvider getActionProvider() { + return mActionProvider; + } + + public MenuItem setActionProvider(ActionProvider actionProvider) { + mActionView = null; + mActionProvider = actionProvider; + mMenu.onItemsChanged(true); // Measurement can be changed + return this; + } + + @Override + public MenuItem setShowAsActionFlags(int actionEnum) { + setShowAsAction(actionEnum); + return this; + } + + @Override + public boolean expandActionView() { + if ((mShowAsAction & SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW) == 0 || mActionView == null) { + return false; + } + + if (mOnActionExpandListener == null || + mOnActionExpandListener.onMenuItemActionExpand(this)) { + return mMenu.expandItemActionView(this); + } + + return false; + } + + @Override + public boolean collapseActionView() { + if ((mShowAsAction & SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW) == 0) { + return false; + } + if (mActionView == null) { + // We're already collapsed if we have no action view. + return true; + } + + if (mOnActionExpandListener == null || + mOnActionExpandListener.onMenuItemActionCollapse(this)) { + return mMenu.collapseItemActionView(this); + } + + return false; + } + + @Override + public MenuItem setOnActionExpandListener(OnActionExpandListener listener) { + mOnActionExpandListener = listener; + return this; + } + + public boolean hasCollapsibleActionView() { + return (mShowAsAction & SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW) != 0 && mActionView != null; + } + + public void setActionViewExpanded(boolean isExpanded) { + mIsActionViewExpanded = isExpanded; + mMenu.onItemsChanged(false); + } + + public boolean isActionViewExpanded() { + return mIsActionViewExpanded; + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/menu/MenuItemWrapper.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/menu/MenuItemWrapper.java new file mode 100644 index 000000000..aaf2997b7 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/menu/MenuItemWrapper.java @@ -0,0 +1,310 @@ +package com.actionbarsherlock.internal.view.menu; + +import android.content.Intent; +import android.graphics.drawable.Drawable; +import android.view.ContextMenu.ContextMenuInfo; +import android.view.View; +import com.actionbarsherlock.internal.view.ActionProviderWrapper; +import com.actionbarsherlock.internal.widget.CollapsibleActionViewWrapper; +import com.actionbarsherlock.view.ActionProvider; +import com.actionbarsherlock.view.CollapsibleActionView; +import com.actionbarsherlock.view.MenuItem; +import com.actionbarsherlock.view.SubMenu; + +public class MenuItemWrapper implements MenuItem, android.view.MenuItem.OnMenuItemClickListener { + private final android.view.MenuItem mNativeItem; + private SubMenu mSubMenu = null; + private OnMenuItemClickListener mMenuItemClickListener = null; + private OnActionExpandListener mActionExpandListener = null; + private android.view.MenuItem.OnActionExpandListener mNativeActionExpandListener = null; + + + public MenuItemWrapper(android.view.MenuItem nativeItem) { + if (nativeItem == null) { + throw new IllegalStateException("Wrapped menu item cannot be null."); + } + mNativeItem = nativeItem; + } + + + @Override + public int getItemId() { + return mNativeItem.getItemId(); + } + + @Override + public int getGroupId() { + return mNativeItem.getGroupId(); + } + + @Override + public int getOrder() { + return mNativeItem.getOrder(); + } + + @Override + public MenuItem setTitle(CharSequence title) { + mNativeItem.setTitle(title); + return this; + } + + @Override + public MenuItem setTitle(int title) { + mNativeItem.setTitle(title); + return this; + } + + @Override + public CharSequence getTitle() { + return mNativeItem.getTitle(); + } + + @Override + public MenuItem setTitleCondensed(CharSequence title) { + mNativeItem.setTitleCondensed(title); + return this; + } + + @Override + public CharSequence getTitleCondensed() { + return mNativeItem.getTitleCondensed(); + } + + @Override + public MenuItem setIcon(Drawable icon) { + mNativeItem.setIcon(icon); + return this; + } + + @Override + public MenuItem setIcon(int iconRes) { + mNativeItem.setIcon(iconRes); + return this; + } + + @Override + public Drawable getIcon() { + return mNativeItem.getIcon(); + } + + @Override + public MenuItem setIntent(Intent intent) { + mNativeItem.setIntent(intent); + return this; + } + + @Override + public Intent getIntent() { + return mNativeItem.getIntent(); + } + + @Override + public MenuItem setShortcut(char numericChar, char alphaChar) { + mNativeItem.setShortcut(numericChar, alphaChar); + return this; + } + + @Override + public MenuItem setNumericShortcut(char numericChar) { + mNativeItem.setNumericShortcut(numericChar); + return this; + } + + @Override + public char getNumericShortcut() { + return mNativeItem.getNumericShortcut(); + } + + @Override + public MenuItem setAlphabeticShortcut(char alphaChar) { + mNativeItem.setAlphabeticShortcut(alphaChar); + return this; + } + + @Override + public char getAlphabeticShortcut() { + return mNativeItem.getAlphabeticShortcut(); + } + + @Override + public MenuItem setCheckable(boolean checkable) { + mNativeItem.setCheckable(checkable); + return this; + } + + @Override + public boolean isCheckable() { + return mNativeItem.isCheckable(); + } + + @Override + public MenuItem setChecked(boolean checked) { + mNativeItem.setChecked(checked); + return this; + } + + @Override + public boolean isChecked() { + return mNativeItem.isChecked(); + } + + @Override + public MenuItem setVisible(boolean visible) { + mNativeItem.setVisible(visible); + return this; + } + + @Override + public boolean isVisible() { + return mNativeItem.isVisible(); + } + + @Override + public MenuItem setEnabled(boolean enabled) { + mNativeItem.setEnabled(enabled); + return this; + } + + @Override + public boolean isEnabled() { + return mNativeItem.isEnabled(); + } + + @Override + public boolean hasSubMenu() { + return mNativeItem.hasSubMenu(); + } + + @Override + public SubMenu getSubMenu() { + if (hasSubMenu() && (mSubMenu == null)) { + mSubMenu = new SubMenuWrapper(mNativeItem.getSubMenu()); + } + return mSubMenu; + } + + @Override + public MenuItem setOnMenuItemClickListener(OnMenuItemClickListener menuItemClickListener) { + mMenuItemClickListener = menuItemClickListener; + //Register ourselves as the listener to proxy + mNativeItem.setOnMenuItemClickListener(this); + return this; + } + + @Override + public boolean onMenuItemClick(android.view.MenuItem item) { + if (mMenuItemClickListener != null) { + return mMenuItemClickListener.onMenuItemClick(this); + } + return false; + } + + @Override + public ContextMenuInfo getMenuInfo() { + return mNativeItem.getMenuInfo(); + } + + @Override + public void setShowAsAction(int actionEnum) { + mNativeItem.setShowAsAction(actionEnum); + } + + @Override + public MenuItem setShowAsActionFlags(int actionEnum) { + mNativeItem.setShowAsActionFlags(actionEnum); + return this; + } + + @Override + public MenuItem setActionView(View view) { + if (view != null && view instanceof CollapsibleActionView) { + view = new CollapsibleActionViewWrapper(view); + } + mNativeItem.setActionView(view); + return this; + } + + @Override + public MenuItem setActionView(int resId) { + //Allow the native menu to inflate the resource + mNativeItem.setActionView(resId); + if (resId != 0) { + //Get newly created view + View view = mNativeItem.getActionView(); + if (view instanceof CollapsibleActionView) { + //Wrap it and re-set it + mNativeItem.setActionView(new CollapsibleActionViewWrapper(view)); + } + } + return this; + } + + @Override + public View getActionView() { + View actionView = mNativeItem.getActionView(); + if (actionView instanceof CollapsibleActionViewWrapper) { + return ((CollapsibleActionViewWrapper)actionView).unwrap(); + } + return actionView; + } + + @Override + public MenuItem setActionProvider(ActionProvider actionProvider) { + mNativeItem.setActionProvider(new ActionProviderWrapper(actionProvider)); + return this; + } + + @Override + public ActionProvider getActionProvider() { + android.view.ActionProvider nativeProvider = mNativeItem.getActionProvider(); + if (nativeProvider != null && nativeProvider instanceof ActionProviderWrapper) { + return ((ActionProviderWrapper)nativeProvider).unwrap(); + } + return null; + } + + @Override + public boolean expandActionView() { + return mNativeItem.expandActionView(); + } + + @Override + public boolean collapseActionView() { + return mNativeItem.collapseActionView(); + } + + @Override + public boolean isActionViewExpanded() { + return mNativeItem.isActionViewExpanded(); + } + + @Override + public MenuItem setOnActionExpandListener(OnActionExpandListener listener) { + mActionExpandListener = listener; + + if (mNativeActionExpandListener == null) { + mNativeActionExpandListener = new android.view.MenuItem.OnActionExpandListener() { + @Override + public boolean onMenuItemActionExpand(android.view.MenuItem menuItem) { + if (mActionExpandListener != null) { + return mActionExpandListener.onMenuItemActionExpand(MenuItemWrapper.this); + } + return false; + } + + @Override + public boolean onMenuItemActionCollapse(android.view.MenuItem menuItem) { + if (mActionExpandListener != null) { + return mActionExpandListener.onMenuItemActionCollapse(MenuItemWrapper.this); + } + return false; + } + }; + + //Register our inner-class as the listener to proxy method calls + mNativeItem.setOnActionExpandListener(mNativeActionExpandListener); + } + + return this; + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/menu/MenuPopupHelper.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/menu/MenuPopupHelper.java new file mode 100644 index 000000000..f030de310 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/menu/MenuPopupHelper.java @@ -0,0 +1,376 @@ +/* + * 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. + */ + +package com.actionbarsherlock.internal.view.menu; + +import java.util.ArrayList; +import android.content.Context; +import android.content.res.Resources; +import android.database.DataSetObserver; +import android.os.Parcelable; +import android.view.KeyEvent; +import android.view.LayoutInflater; +import android.view.View; +import android.view.View.MeasureSpec; +import android.view.ViewGroup; +import android.view.ViewTreeObserver; +import android.widget.AdapterView; +import android.widget.BaseAdapter; +import android.widget.FrameLayout; +import android.widget.ListAdapter; +import android.widget.PopupWindow; +import com.actionbarsherlock.R; +import com.actionbarsherlock.internal.view.View_HasStateListenerSupport; +import com.actionbarsherlock.internal.view.View_OnAttachStateChangeListener; +import com.actionbarsherlock.internal.widget.IcsListPopupWindow; +import com.actionbarsherlock.view.MenuItem; + +/** + * Presents a menu as a small, simple popup anchored to another view. + * @hide + */ +public class MenuPopupHelper implements AdapterView.OnItemClickListener, View.OnKeyListener, + ViewTreeObserver.OnGlobalLayoutListener, PopupWindow.OnDismissListener, + View_OnAttachStateChangeListener, MenuPresenter { + //UNUSED private static final String TAG = "MenuPopupHelper"; + + static final int ITEM_LAYOUT = R.layout.abs__popup_menu_item_layout; + + private Context mContext; + private LayoutInflater mInflater; + private IcsListPopupWindow mPopup; + private MenuBuilder mMenu; + private int mPopupMaxWidth; + private View mAnchorView; + private boolean mOverflowOnly; + private ViewTreeObserver mTreeObserver; + + private MenuAdapter mAdapter; + + private Callback mPresenterCallback; + + boolean mForceShowIcon; + + private ViewGroup mMeasureParent; + + public MenuPopupHelper(Context context, MenuBuilder menu) { + this(context, menu, null, false); + } + + public MenuPopupHelper(Context context, MenuBuilder menu, View anchorView) { + this(context, menu, anchorView, false); + } + + public MenuPopupHelper(Context context, MenuBuilder menu, + View anchorView, boolean overflowOnly) { + mContext = context; + mInflater = LayoutInflater.from(context); + mMenu = menu; + mOverflowOnly = overflowOnly; + + final Resources res = context.getResources(); + mPopupMaxWidth = Math.max(res.getDisplayMetrics().widthPixels / 2, + res.getDimensionPixelSize(R.dimen.abs__config_prefDialogWidth)); + + mAnchorView = anchorView; + + menu.addMenuPresenter(this); + } + + public void setAnchorView(View anchor) { + mAnchorView = anchor; + } + + public void setForceShowIcon(boolean forceShow) { + mForceShowIcon = forceShow; + } + + public void show() { + if (!tryShow()) { + throw new IllegalStateException("MenuPopupHelper cannot be used without an anchor"); + } + } + + public boolean tryShow() { + mPopup = new IcsListPopupWindow(mContext, null, R.attr.popupMenuStyle); + mPopup.setOnDismissListener(this); + mPopup.setOnItemClickListener(this); + + mAdapter = new MenuAdapter(mMenu); + mPopup.setAdapter(mAdapter); + mPopup.setModal(true); + + View anchor = mAnchorView; + if (anchor != null) { + final boolean addGlobalListener = mTreeObserver == null; + mTreeObserver = anchor.getViewTreeObserver(); // Refresh to latest + if (addGlobalListener) mTreeObserver.addOnGlobalLayoutListener(this); + ((View_HasStateListenerSupport)anchor).addOnAttachStateChangeListener(this); + mPopup.setAnchorView(anchor); + } else { + return false; + } + + mPopup.setContentWidth(Math.min(measureContentWidth(mAdapter), mPopupMaxWidth)); + mPopup.setInputMethodMode(PopupWindow.INPUT_METHOD_NOT_NEEDED); + mPopup.show(); + mPopup.getListView().setOnKeyListener(this); + return true; + } + + public void dismiss() { + if (isShowing()) { + mPopup.dismiss(); + } + } + + public void onDismiss() { + mPopup = null; + mMenu.close(); + if (mTreeObserver != null) { + if (!mTreeObserver.isAlive()) mTreeObserver = mAnchorView.getViewTreeObserver(); + mTreeObserver.removeGlobalOnLayoutListener(this); + mTreeObserver = null; + } + ((View_HasStateListenerSupport)mAnchorView).removeOnAttachStateChangeListener(this); + } + + public boolean isShowing() { + return mPopup != null && mPopup.isShowing(); + } + + @Override + public void onItemClick(AdapterView parent, View view, int position, long id) { + MenuAdapter adapter = mAdapter; + adapter.mAdapterMenu.performItemAction(adapter.getItem(position), 0); + } + + public boolean onKey(View v, int keyCode, KeyEvent event) { + if (event.getAction() == KeyEvent.ACTION_UP && keyCode == KeyEvent.KEYCODE_MENU) { + dismiss(); + return true; + } + return false; + } + + private int measureContentWidth(ListAdapter adapter) { + // Menus don't tend to be long, so this is more sane than it looks. + int width = 0; + View itemView = null; + int itemType = 0; + final int widthMeasureSpec = + MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED); + final int heightMeasureSpec = + MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED); + final int count = adapter.getCount(); + for (int i = 0; i < count; i++) { + final int positionType = adapter.getItemViewType(i); + if (positionType != itemType) { + itemType = positionType; + itemView = null; + } + if (mMeasureParent == null) { + mMeasureParent = new FrameLayout(mContext); + } + itemView = adapter.getView(i, itemView, mMeasureParent); + itemView.measure(widthMeasureSpec, heightMeasureSpec); + width = Math.max(width, itemView.getMeasuredWidth()); + } + return width; + } + + @Override + public void onGlobalLayout() { + if (isShowing()) { + final View anchor = mAnchorView; + if (anchor == null || !anchor.isShown()) { + dismiss(); + } else if (isShowing()) { + // Recompute window size and position + mPopup.show(); + } + } + } + + @Override + public void onViewAttachedToWindow(View v) { + } + + @Override + public void onViewDetachedFromWindow(View v) { + if (mTreeObserver != null) { + if (!mTreeObserver.isAlive()) mTreeObserver = v.getViewTreeObserver(); + mTreeObserver.removeGlobalOnLayoutListener(this); + } + ((View_HasStateListenerSupport)v).removeOnAttachStateChangeListener(this); + } + + @Override + public void initForMenu(Context context, MenuBuilder menu) { + // Don't need to do anything; we added as a presenter in the constructor. + } + + @Override + public MenuView getMenuView(ViewGroup root) { + throw new UnsupportedOperationException("MenuPopupHelpers manage their own views"); + } + + @Override + public void updateMenuView(boolean cleared) { + if (mAdapter != null) mAdapter.notifyDataSetChanged(); + } + + @Override + public void setCallback(Callback cb) { + mPresenterCallback = cb; + } + + @Override + public boolean onSubMenuSelected(SubMenuBuilder subMenu) { + if (subMenu.hasVisibleItems()) { + MenuPopupHelper subPopup = new MenuPopupHelper(mContext, subMenu, mAnchorView, false); + subPopup.setCallback(mPresenterCallback); + + 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; + } + } + subPopup.setForceShowIcon(preserveIconSpacing); + + if (subPopup.tryShow()) { + if (mPresenterCallback != null) { + mPresenterCallback.onOpenSubMenu(subMenu); + } + return true; + } + } + return false; + } + + @Override + public void onCloseMenu(MenuBuilder menu, boolean allMenusAreClosing) { + // Only care about the (sub)menu we're presenting. + if (menu != mMenu) return; + + dismiss(); + if (mPresenterCallback != null) { + mPresenterCallback.onCloseMenu(menu, allMenusAreClosing); + } + } + + @Override + public boolean flagActionItems() { + return false; + } + + public boolean expandItemActionView(MenuBuilder menu, MenuItemImpl item) { + return false; + } + + public boolean collapseItemActionView(MenuBuilder menu, MenuItemImpl item) { + return false; + } + + @Override + public int getId() { + return 0; + } + + @Override + public Parcelable onSaveInstanceState() { + return null; + } + + @Override + public void onRestoreInstanceState(Parcelable state) { + } + + private class MenuAdapter extends BaseAdapter { + private MenuBuilder mAdapterMenu; + private int mExpandedIndex = -1; + + public MenuAdapter(MenuBuilder menu) { + mAdapterMenu = menu; + registerDataSetObserver(new ExpandedIndexObserver()); + findExpandedIndex(); + } + + public int getCount() { + ArrayList items = mOverflowOnly ? + mAdapterMenu.getNonActionItems() : mAdapterMenu.getVisibleItems(); + if (mExpandedIndex < 0) { + return items.size(); + } + return items.size() - 1; + } + + public MenuItemImpl getItem(int position) { + ArrayList items = mOverflowOnly ? + mAdapterMenu.getNonActionItems() : mAdapterMenu.getVisibleItems(); + if (mExpandedIndex >= 0 && position >= mExpandedIndex) { + position++; + } + return items.get(position); + } + + public long getItemId(int position) { + // Since a menu item's ID is optional, we'll use the position as an + // ID for the item in the AdapterView + return position; + } + + public View getView(int position, View convertView, ViewGroup parent) { + if (convertView == null) { + convertView = mInflater.inflate(ITEM_LAYOUT, parent, false); + } + + MenuView.ItemView itemView = (MenuView.ItemView) convertView; + if (mForceShowIcon) { + ((ListMenuItemView) convertView).setForceShowIcon(true); + } + itemView.initialize(getItem(position), 0); + return convertView; + } + + void findExpandedIndex() { + final MenuItemImpl expandedItem = mMenu.getExpandedItem(); + if (expandedItem != null) { + final ArrayList items = mMenu.getNonActionItems(); + final int count = items.size(); + for (int i = 0; i < count; i++) { + final MenuItemImpl item = items.get(i); + if (item == expandedItem) { + mExpandedIndex = i; + return; + } + } + } + mExpandedIndex = -1; + } + } + + private class ExpandedIndexObserver extends DataSetObserver { + @Override + public void onChanged() { + mAdapter.findExpandedIndex(); + } + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/menu/MenuPresenter.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/menu/MenuPresenter.java new file mode 100644 index 000000000..c3f35472c --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/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/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/menu/MenuView.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/menu/MenuView.java new file mode 100644 index 000000000..323ba2d88 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/menu/MenuView.java @@ -0,0 +1,120 @@ +/* + * 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.view.menu; + +import android.graphics.drawable.Drawable; + +/** + * Minimal interface for a menu view. {@link #initialize(MenuBuilder)} must be called for the + * menu to be functional. + * + * @hide + */ +public interface MenuView { + /** + * Initializes the menu to the given menu. This should be called after the + * view is inflated. + * + * @param menu The menu that this MenuView should display. + */ + public void initialize(MenuBuilder menu); + + /** + * Returns the default animations to be used for this menu when entering/exiting. + * @return A resource ID for the default animations to be used for this menu. + */ + public int getWindowAnimations(); + + /** + * Minimal interface for a menu item view. {@link #initialize(MenuItemImpl, int)} must be called + * for the item to be functional. + */ + public interface ItemView { + /** + * Initializes with the provided MenuItemData. This should be called after the view is + * inflated. + * @param itemData The item that this ItemView should display. + * @param menuType The type of this menu, one of + * {@link MenuBuilder#TYPE_ICON}, {@link MenuBuilder#TYPE_EXPANDED}, + * {@link MenuBuilder#TYPE_DIALOG}). + */ + public void initialize(MenuItemImpl itemData, int menuType); + + /** + * Gets the item data that this view is displaying. + * @return the item data, or null if there is not one + */ + public MenuItemImpl getItemData(); + + /** + * Sets the title of the item view. + * @param title The title to set. + */ + public void setTitle(CharSequence title); + + /** + * Sets the enabled state of the item view. + * @param enabled Whether the item view should be enabled. + */ + public void setEnabled(boolean enabled); + + /** + * Displays the checkbox for the item view. This does not ensure the item view will be + * checked, for that use {@link #setChecked}. + * @param checkable Whether to display the checkbox or to hide it + */ + public void setCheckable(boolean checkable); + + /** + * Checks the checkbox for the item view. If the checkbox is hidden, it will NOT be + * made visible, call {@link #setCheckable(boolean)} for that. + * @param checked Whether the checkbox should be checked + */ + public void setChecked(boolean checked); + + /** + * Sets the shortcut for the item. + * @param showShortcut Whether a shortcut should be shown(if false, the value of + * shortcutKey should be ignored). + * @param shortcutKey The shortcut key that should be shown on the ItemView. + */ + public void setShortcut(boolean showShortcut, char shortcutKey); + + /** + * Set the icon of this item view. + * @param icon The icon of this item. null to hide the icon. + */ + public void setIcon(Drawable icon); + + /** + * Whether this item view prefers displaying the condensed title rather + * than the normal title. If a condensed title is not available, the + * normal title will be used. + * + * @return Whether this item view prefers displaying the condensed + * title. + */ + public boolean prefersCondensedTitle(); + + /** + * Whether this item view shows an icon. + * + * @return Whether this item view shows an icon. + */ + public boolean showsIcon(); + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/menu/MenuWrapper.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/menu/MenuWrapper.java new file mode 100644 index 000000000..3d4dd42fd --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/menu/MenuWrapper.java @@ -0,0 +1,185 @@ +package com.actionbarsherlock.internal.view.menu; + +import java.util.WeakHashMap; +import android.content.ComponentName; +import android.content.Intent; +import android.view.KeyEvent; +import com.actionbarsherlock.view.Menu; +import com.actionbarsherlock.view.MenuItem; +import com.actionbarsherlock.view.SubMenu; + +public class MenuWrapper implements Menu { + private final android.view.Menu mNativeMenu; + + private final WeakHashMap mNativeMap = + new WeakHashMap(); + + + public MenuWrapper(android.view.Menu nativeMenu) { + mNativeMenu = nativeMenu; + } + + public android.view.Menu unwrap() { + return mNativeMenu; + } + + private MenuItem addInternal(android.view.MenuItem nativeItem) { + MenuItem item = new MenuItemWrapper(nativeItem); + mNativeMap.put(nativeItem, item); + return item; + } + + @Override + public MenuItem add(CharSequence title) { + return addInternal(mNativeMenu.add(title)); + } + + @Override + public MenuItem add(int titleRes) { + return addInternal(mNativeMenu.add(titleRes)); + } + + @Override + public MenuItem add(int groupId, int itemId, int order, CharSequence title) { + return addInternal(mNativeMenu.add(groupId, itemId, order, title)); + } + + @Override + public MenuItem add(int groupId, int itemId, int order, int titleRes) { + return addInternal(mNativeMenu.add(groupId, itemId, order, titleRes)); + } + + private SubMenu addInternal(android.view.SubMenu nativeSubMenu) { + SubMenu subMenu = new SubMenuWrapper(nativeSubMenu); + android.view.MenuItem nativeItem = nativeSubMenu.getItem(); + MenuItem item = subMenu.getItem(); + mNativeMap.put(nativeItem, item); + return subMenu; + } + + @Override + public SubMenu addSubMenu(CharSequence title) { + return addInternal(mNativeMenu.addSubMenu(title)); + } + + @Override + public SubMenu addSubMenu(int titleRes) { + return addInternal(mNativeMenu.addSubMenu(titleRes)); + } + + @Override + public SubMenu addSubMenu(int groupId, int itemId, int order, CharSequence title) { + return addInternal(mNativeMenu.addSubMenu(groupId, itemId, order, title)); + } + + @Override + public SubMenu addSubMenu(int groupId, int itemId, int order, int titleRes) { + return addInternal(mNativeMenu.addSubMenu(groupId, itemId, order, titleRes)); + } + + @Override + public int addIntentOptions(int groupId, int itemId, int order, ComponentName caller, Intent[] specifics, Intent intent, int flags, MenuItem[] outSpecificItems) { + int result; + if (outSpecificItems != null) { + android.view.MenuItem[] nativeOutItems = new android.view.MenuItem[outSpecificItems.length]; + result = mNativeMenu.addIntentOptions(groupId, itemId, order, caller, specifics, intent, flags, nativeOutItems); + for (int i = 0, length = outSpecificItems.length; i < length; i++) { + outSpecificItems[i] = new MenuItemWrapper(nativeOutItems[i]); + } + } else { + result = mNativeMenu.addIntentOptions(groupId, itemId, order, caller, specifics, intent, flags, null); + } + return result; + } + + @Override + public void removeItem(int id) { + mNativeMenu.removeItem(id); + } + + @Override + public void removeGroup(int groupId) { + mNativeMenu.removeGroup(groupId); + } + + @Override + public void clear() { + mNativeMap.clear(); + mNativeMenu.clear(); + } + + @Override + public void setGroupCheckable(int group, boolean checkable, boolean exclusive) { + mNativeMenu.setGroupCheckable(group, checkable, exclusive); + } + + @Override + public void setGroupVisible(int group, boolean visible) { + mNativeMenu.setGroupVisible(group, visible); + } + + @Override + public void setGroupEnabled(int group, boolean enabled) { + mNativeMenu.setGroupEnabled(group, enabled); + } + + @Override + public boolean hasVisibleItems() { + return mNativeMenu.hasVisibleItems(); + } + + @Override + public MenuItem findItem(int id) { + android.view.MenuItem nativeItem = mNativeMenu.findItem(id); + return findItem(nativeItem); + } + + public MenuItem findItem(android.view.MenuItem nativeItem) { + if (nativeItem == null) { + return null; + } + + MenuItem wrapped = mNativeMap.get(nativeItem); + if (wrapped != null) { + return wrapped; + } + + return addInternal(nativeItem); + } + + @Override + public int size() { + return mNativeMenu.size(); + } + + @Override + public MenuItem getItem(int index) { + android.view.MenuItem nativeItem = mNativeMenu.getItem(index); + return findItem(nativeItem); + } + + @Override + public void close() { + mNativeMenu.close(); + } + + @Override + public boolean performShortcut(int keyCode, KeyEvent event, int flags) { + return mNativeMenu.performShortcut(keyCode, event, flags); + } + + @Override + public boolean isShortcutKey(int keyCode, KeyEvent event) { + return mNativeMenu.isShortcutKey(keyCode, event); + } + + @Override + public boolean performIdentifierAction(int id, int flags) { + return mNativeMenu.performIdentifierAction(id, flags); + } + + @Override + public void setQwertyMode(boolean isQwerty) { + mNativeMenu.setQwertyMode(isQwerty); + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/menu/SubMenuBuilder.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/menu/SubMenuBuilder.java new file mode 100644 index 000000000..6679cf386 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/menu/SubMenuBuilder.java @@ -0,0 +1,134 @@ +/* + * 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.view.menu; + +import android.content.Context; +import android.graphics.drawable.Drawable; +import android.view.View; + +import com.actionbarsherlock.view.Menu; +import com.actionbarsherlock.view.MenuItem; +import com.actionbarsherlock.view.SubMenu; + +/** + * The model for a sub menu, which is an extension of the menu. Most methods are proxied to + * the parent menu. + */ +public class SubMenuBuilder extends MenuBuilder implements SubMenu { + private MenuBuilder mParentMenu; + private MenuItemImpl mItem; + + public SubMenuBuilder(Context context, MenuBuilder parentMenu, MenuItemImpl item) { + super(context); + + mParentMenu = parentMenu; + mItem = item; + } + + @Override + public void setQwertyMode(boolean isQwerty) { + mParentMenu.setQwertyMode(isQwerty); + } + + @Override + public boolean isQwertyMode() { + return mParentMenu.isQwertyMode(); + } + + @Override + public void setShortcutsVisible(boolean shortcutsVisible) { + mParentMenu.setShortcutsVisible(shortcutsVisible); + } + + @Override + public boolean isShortcutsVisible() { + return mParentMenu.isShortcutsVisible(); + } + + public Menu getParentMenu() { + return mParentMenu; + } + + public MenuItem getItem() { + return mItem; + } + + @Override + public void setCallback(Callback callback) { + mParentMenu.setCallback(callback); + } + + @Override + public MenuBuilder getRootMenu() { + return mParentMenu; + } + + @Override + boolean dispatchMenuItemSelected(MenuBuilder menu, MenuItem item) { + return super.dispatchMenuItemSelected(menu, item) || + mParentMenu.dispatchMenuItemSelected(menu, item); + } + + public SubMenu setIcon(Drawable icon) { + mItem.setIcon(icon); + return this; + } + + public SubMenu setIcon(int iconRes) { + mItem.setIcon(iconRes); + return this; + } + + public SubMenu setHeaderIcon(Drawable icon) { + return (SubMenu) super.setHeaderIconInt(icon); + } + + public SubMenu setHeaderIcon(int iconRes) { + return (SubMenu) super.setHeaderIconInt(iconRes); + } + + public SubMenu setHeaderTitle(CharSequence title) { + return (SubMenu) super.setHeaderTitleInt(title); + } + + public SubMenu setHeaderTitle(int titleRes) { + return (SubMenu) super.setHeaderTitleInt(titleRes); + } + + public SubMenu setHeaderView(View view) { + return (SubMenu) super.setHeaderViewInt(view); + } + + @Override + public boolean expandItemActionView(MenuItemImpl item) { + return mParentMenu.expandItemActionView(item); + } + + @Override + public boolean collapseItemActionView(MenuItemImpl item) { + return mParentMenu.collapseItemActionView(item); + } + + @Override + public String getActionViewStatesKey() { + final int itemId = mItem != null ? mItem.getItemId() : 0; + if (itemId == 0) { + return null; + } + return super.getActionViewStatesKey() + ":" + itemId; + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/menu/SubMenuWrapper.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/menu/SubMenuWrapper.java new file mode 100644 index 000000000..7d307acb1 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/view/menu/SubMenuWrapper.java @@ -0,0 +1,72 @@ +package com.actionbarsherlock.internal.view.menu; + +import android.graphics.drawable.Drawable; +import android.view.View; +import com.actionbarsherlock.view.MenuItem; +import com.actionbarsherlock.view.SubMenu; + +public class SubMenuWrapper extends MenuWrapper implements SubMenu { + private final android.view.SubMenu mNativeSubMenu; + private MenuItem mItem = null; + + public SubMenuWrapper(android.view.SubMenu nativeSubMenu) { + super(nativeSubMenu); + mNativeSubMenu = nativeSubMenu; + } + + + @Override + public SubMenu setHeaderTitle(int titleRes) { + mNativeSubMenu.setHeaderTitle(titleRes); + return this; + } + + @Override + public SubMenu setHeaderTitle(CharSequence title) { + mNativeSubMenu.setHeaderTitle(title); + return this; + } + + @Override + public SubMenu setHeaderIcon(int iconRes) { + mNativeSubMenu.setHeaderIcon(iconRes); + return this; + } + + @Override + public SubMenu setHeaderIcon(Drawable icon) { + mNativeSubMenu.setHeaderIcon(icon); + return this; + } + + @Override + public SubMenu setHeaderView(View view) { + mNativeSubMenu.setHeaderView(view); + return this; + } + + @Override + public void clearHeader() { + mNativeSubMenu.clearHeader(); + } + + @Override + public SubMenu setIcon(int iconRes) { + mNativeSubMenu.setIcon(iconRes); + return this; + } + + @Override + public SubMenu setIcon(Drawable icon) { + mNativeSubMenu.setIcon(icon); + return this; + } + + @Override + public MenuItem getItem() { + if (mItem == null) { + mItem = new MenuItemWrapper(mNativeSubMenu.getItem()); + } + return mItem; + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/AbsActionBarView.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/AbsActionBarView.java new file mode 100644 index 000000000..3a4a44675 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/AbsActionBarView.java @@ -0,0 +1,291 @@ +/* + * 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.widget; + +import android.content.Context; +import android.content.res.Configuration; +import android.content.res.TypedArray; +import android.os.Build; +import android.util.AttributeSet; +import android.view.View; +import android.view.animation.DecelerateInterpolator; +import android.view.animation.Interpolator; + +import com.actionbarsherlock.R; +import com.actionbarsherlock.internal.nineoldandroids.animation.Animator; +import com.actionbarsherlock.internal.nineoldandroids.animation.AnimatorSet; +import com.actionbarsherlock.internal.nineoldandroids.animation.ObjectAnimator; +import com.actionbarsherlock.internal.nineoldandroids.view.NineViewGroup; +import com.actionbarsherlock.internal.view.menu.ActionMenuPresenter; +import com.actionbarsherlock.internal.view.menu.ActionMenuView; + +import static com.actionbarsherlock.internal.ResourcesCompat.getResources_getBoolean; + +public abstract class AbsActionBarView extends NineViewGroup { + protected ActionMenuView mMenuView; + protected ActionMenuPresenter mActionMenuPresenter; + protected ActionBarContainer mSplitView; + protected boolean mSplitActionBar; + protected boolean mSplitWhenNarrow; + protected int mContentHeight; + + final Context mContext; + + protected Animator mVisibilityAnim; + protected final VisibilityAnimListener mVisAnimListener = new VisibilityAnimListener(); + + private static final /*Time*/Interpolator sAlphaInterpolator = new DecelerateInterpolator(); + + private static final int FADE_DURATION = 200; + + public AbsActionBarView(Context context) { + super(context); + mContext = context; + } + + public AbsActionBarView(Context context, AttributeSet attrs) { + super(context, attrs); + mContext = context; + } + + public AbsActionBarView(Context context, AttributeSet attrs, int defStyle) { + super(context, attrs, defStyle); + mContext = context; + } + + /* + * Must be public so we can dispatch pre-2.2 via ActionBarImpl. + */ + @Override + public void onConfigurationChanged(Configuration newConfig) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.FROYO) { + super.onConfigurationChanged(newConfig); + } else if (mMenuView != null) { + mMenuView.onConfigurationChanged(newConfig); + } + + // Action bar can change size on configuration changes. + // Reread the desired height from the theme-specified style. + TypedArray a = getContext().obtainStyledAttributes(null, R.styleable.SherlockActionBar, + R.attr.actionBarStyle, 0); + setContentHeight(a.getLayoutDimension(R.styleable.SherlockActionBar_height, 0)); + a.recycle(); + if (mSplitWhenNarrow) { + setSplitActionBar(getResources_getBoolean(getContext(), + R.bool.abs__split_action_bar_is_narrow)); + } + if (mActionMenuPresenter != null) { + mActionMenuPresenter.onConfigurationChanged(newConfig); + } + } + + /** + * Sets whether the bar should be split right now, no questions asked. + * @param split true if the bar should split + */ + public void setSplitActionBar(boolean split) { + mSplitActionBar = split; + } + + /** + * Sets whether the bar should split if we enter a narrow screen configuration. + * @param splitWhenNarrow true if the bar should check to split after a config change + */ + public void setSplitWhenNarrow(boolean splitWhenNarrow) { + mSplitWhenNarrow = splitWhenNarrow; + } + + public void setContentHeight(int height) { + mContentHeight = height; + requestLayout(); + } + + public int getContentHeight() { + return mContentHeight; + } + + public void setSplitView(ActionBarContainer splitView) { + mSplitView = splitView; + } + + /** + * @return Current visibility or if animating, the visibility being animated to. + */ + public int getAnimatedVisibility() { + if (mVisibilityAnim != null) { + return mVisAnimListener.mFinalVisibility; + } + return getVisibility(); + } + + public void animateToVisibility(int visibility) { + if (mVisibilityAnim != null) { + mVisibilityAnim.cancel(); + } + if (visibility == VISIBLE) { + if (getVisibility() != VISIBLE) { + setAlpha(0); + if (mSplitView != null && mMenuView != null) { + mMenuView.setAlpha(0); + } + } + ObjectAnimator anim = ObjectAnimator.ofFloat(this, "alpha", 1); + anim.setDuration(FADE_DURATION); + anim.setInterpolator(sAlphaInterpolator); + if (mSplitView != null && mMenuView != null) { + AnimatorSet set = new AnimatorSet(); + ObjectAnimator splitAnim = ObjectAnimator.ofFloat(mMenuView, "alpha", 1); + splitAnim.setDuration(FADE_DURATION); + set.addListener(mVisAnimListener.withFinalVisibility(visibility)); + set.play(anim).with(splitAnim); + set.start(); + } else { + anim.addListener(mVisAnimListener.withFinalVisibility(visibility)); + anim.start(); + } + } else { + ObjectAnimator anim = ObjectAnimator.ofFloat(this, "alpha", 0); + anim.setDuration(FADE_DURATION); + anim.setInterpolator(sAlphaInterpolator); + if (mSplitView != null && mMenuView != null) { + AnimatorSet set = new AnimatorSet(); + ObjectAnimator splitAnim = ObjectAnimator.ofFloat(mMenuView, "alpha", 0); + splitAnim.setDuration(FADE_DURATION); + set.addListener(mVisAnimListener.withFinalVisibility(visibility)); + set.play(anim).with(splitAnim); + set.start(); + } else { + anim.addListener(mVisAnimListener.withFinalVisibility(visibility)); + anim.start(); + } + } + } + + @Override + public void setVisibility(int visibility) { + if (mVisibilityAnim != null) { + mVisibilityAnim.end(); + } + super.setVisibility(visibility); + } + + public boolean showOverflowMenu() { + if (mActionMenuPresenter != null) { + return mActionMenuPresenter.showOverflowMenu(); + } + return false; + } + + public void postShowOverflowMenu() { + post(new Runnable() { + public void run() { + showOverflowMenu(); + } + }); + } + + public boolean hideOverflowMenu() { + if (mActionMenuPresenter != null) { + return mActionMenuPresenter.hideOverflowMenu(); + } + return false; + } + + public boolean isOverflowMenuShowing() { + if (mActionMenuPresenter != null) { + return mActionMenuPresenter.isOverflowMenuShowing(); + } + return false; + } + + public boolean isOverflowReserved() { + return mActionMenuPresenter != null && mActionMenuPresenter.isOverflowReserved(); + } + + public void dismissPopupMenus() { + if (mActionMenuPresenter != null) { + mActionMenuPresenter.dismissPopupMenus(); + } + } + + protected int measureChildView(View child, int availableWidth, int childSpecHeight, + int spacing) { + child.measure(MeasureSpec.makeMeasureSpec(availableWidth, MeasureSpec.AT_MOST), + childSpecHeight); + + availableWidth -= child.getMeasuredWidth(); + availableWidth -= spacing; + + return Math.max(0, availableWidth); + } + + protected int positionChild(View child, int x, int y, int contentHeight) { + int childWidth = child.getMeasuredWidth(); + int childHeight = child.getMeasuredHeight(); + int childTop = y + (contentHeight - childHeight) / 2; + + child.layout(x, childTop, x + childWidth, childTop + childHeight); + + return childWidth; + } + + protected int positionChildInverse(View child, int x, int y, int contentHeight) { + int childWidth = child.getMeasuredWidth(); + int childHeight = child.getMeasuredHeight(); + int childTop = y + (contentHeight - childHeight) / 2; + + child.layout(x - childWidth, childTop, x, childTop + childHeight); + + return childWidth; + } + + protected class VisibilityAnimListener implements Animator.AnimatorListener { + private boolean mCanceled = false; + int mFinalVisibility; + + public VisibilityAnimListener withFinalVisibility(int visibility) { + mFinalVisibility = visibility; + return this; + } + + @Override + public void onAnimationStart(Animator animation) { + setVisibility(VISIBLE); + mVisibilityAnim = animation; + mCanceled = false; + } + + @Override + public void onAnimationEnd(Animator animation) { + if (mCanceled) return; + + mVisibilityAnim = null; + setVisibility(mFinalVisibility); + if (mSplitView != null && mMenuView != null) { + mMenuView.setVisibility(mFinalVisibility); + } + } + + @Override + public void onAnimationCancel(Animator animation) { + mCanceled = true; + } + + @Override + public void onAnimationRepeat(Animator animation) { + } + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/ActionBarContainer.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/ActionBarContainer.java new file mode 100644 index 000000000..1d9c68b37 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/ActionBarContainer.java @@ -0,0 +1,258 @@ +/* + * 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. + */ + +package com.actionbarsherlock.internal.widget; + +import android.content.Context; +import android.content.res.TypedArray; +import android.graphics.Bitmap; +import android.graphics.Canvas; +import android.graphics.drawable.ColorDrawable; +import android.graphics.drawable.Drawable; +import android.os.Build; +import android.util.AttributeSet; +import android.view.MotionEvent; +import android.view.View; +import android.view.ViewGroup; + +import com.actionbarsherlock.R; +import com.actionbarsherlock.app.ActionBar; +import com.actionbarsherlock.internal.nineoldandroids.widget.NineFrameLayout; + +/** + * This class acts as a container for the action bar view and action mode context views. + * It applies special styles as needed to help handle animated transitions between them. + * @hide + */ +public class ActionBarContainer extends NineFrameLayout { + private boolean mIsTransitioning; + private View mTabContainer; + private ActionBarView mActionBarView; + + private Drawable mBackground; + private Drawable mStackedBackground; + private Drawable mSplitBackground; + private boolean mIsSplit; + private boolean mIsStacked; + + public ActionBarContainer(Context context) { + this(context, null); + } + + public ActionBarContainer(Context context, AttributeSet attrs) { + super(context, attrs); + + setBackgroundDrawable(null); + + TypedArray a = context.obtainStyledAttributes(attrs, + R.styleable.SherlockActionBar); + mBackground = a.getDrawable(R.styleable.SherlockActionBar_background); + mStackedBackground = a.getDrawable( + R.styleable.SherlockActionBar_backgroundStacked); + + //Fix for issue #379 + if (mStackedBackground instanceof ColorDrawable && Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB) { + Bitmap bitmap = Bitmap.createBitmap(1, 1, Bitmap.Config.ARGB_8888); + Canvas c = new Canvas(bitmap); + mStackedBackground.draw(c); + int color = bitmap.getPixel(0, 0); + bitmap.recycle(); + mStackedBackground = new IcsColorDrawable(color); + } + + if (getId() == R.id.abs__split_action_bar) { + mIsSplit = true; + mSplitBackground = a.getDrawable( + R.styleable.SherlockActionBar_backgroundSplit); + } + a.recycle(); + + setWillNotDraw(mIsSplit ? mSplitBackground == null : + mBackground == null && mStackedBackground == null); + } + + @Override + public void onFinishInflate() { + super.onFinishInflate(); + mActionBarView = (ActionBarView) findViewById(R.id.abs__action_bar); + } + + public void setPrimaryBackground(Drawable bg) { + mBackground = bg; + invalidate(); + } + + public void setStackedBackground(Drawable bg) { + mStackedBackground = bg; + invalidate(); + } + + public void setSplitBackground(Drawable bg) { + mSplitBackground = bg; + invalidate(); + } + + /** + * Set the action bar into a "transitioning" state. While transitioning + * the bar will block focus and touch from all of its descendants. This + * prevents the user from interacting with the bar while it is animating + * in or out. + * + * @param isTransitioning true if the bar is currently transitioning, false otherwise. + */ + public void setTransitioning(boolean isTransitioning) { + mIsTransitioning = isTransitioning; + setDescendantFocusability(isTransitioning ? FOCUS_BLOCK_DESCENDANTS + : FOCUS_AFTER_DESCENDANTS); + } + + @Override + public boolean onInterceptTouchEvent(MotionEvent ev) { + return mIsTransitioning || super.onInterceptTouchEvent(ev); + } + + @Override + public boolean onTouchEvent(MotionEvent ev) { + super.onTouchEvent(ev); + + // An action bar always eats touch events. + return true; + } + + @Override + public boolean onHoverEvent(MotionEvent ev) { + super.onHoverEvent(ev); + + // An action bar always eats hover events. + return true; + } + + public void setTabContainer(ScrollingTabContainerView tabView) { + if (mTabContainer != null) { + removeView(mTabContainer); + } + mTabContainer = tabView; + if (tabView != null) { + addView(tabView); + final ViewGroup.LayoutParams lp = tabView.getLayoutParams(); + lp.width = LayoutParams.MATCH_PARENT; + lp.height = LayoutParams.WRAP_CONTENT; + tabView.setAllowCollapse(false); + } + } + + public View getTabContainer() { + return mTabContainer; + } + + @Override + public void onDraw(Canvas canvas) { + if (getWidth() == 0 || getHeight() == 0) { + return; + } + + if (mIsSplit) { + if (mSplitBackground != null) mSplitBackground.draw(canvas); + } else { + if (mBackground != null) { + mBackground.draw(canvas); + } + if (mStackedBackground != null && mIsStacked) { + mStackedBackground.draw(canvas); + } + } + } + + //This causes the animation reflection to fail on pre-HC platforms + //@Override + //public android.view.ActionMode startActionModeForChild(View child, android.view.ActionMode.Callback callback) { + // // No starting an action mode for an action bar child! (Where would it go?) + // return null; + //} + + @Override + public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + super.onMeasure(widthMeasureSpec, heightMeasureSpec); + + if (mActionBarView == null) return; + + final LayoutParams lp = (LayoutParams) mActionBarView.getLayoutParams(); + final int actionBarViewHeight = mActionBarView.isCollapsed() ? 0 : + mActionBarView.getMeasuredHeight() + lp.topMargin + lp.bottomMargin; + + if (mTabContainer != null && mTabContainer.getVisibility() != GONE) { + final int mode = MeasureSpec.getMode(heightMeasureSpec); + if (mode == MeasureSpec.AT_MOST) { + final int maxHeight = MeasureSpec.getSize(heightMeasureSpec); + setMeasuredDimension(getMeasuredWidth(), + Math.min(actionBarViewHeight + mTabContainer.getMeasuredHeight(), + maxHeight)); + } + } + } + + @Override + public void onLayout(boolean changed, int l, int t, int r, int b) { + super.onLayout(changed, l, t, r, b); + + final boolean hasTabs = mTabContainer != null && mTabContainer.getVisibility() != GONE; + + if (mTabContainer != null && mTabContainer.getVisibility() != GONE) { + final int containerHeight = getMeasuredHeight(); + final int tabHeight = mTabContainer.getMeasuredHeight(); + + if ((mActionBarView.getDisplayOptions() & ActionBar.DISPLAY_SHOW_HOME) == 0) { + // Not showing home, put tabs on top. + final int count = getChildCount(); + for (int i = 0; i < count; i++) { + final View child = getChildAt(i); + + if (child == mTabContainer) continue; + + if (!mActionBarView.isCollapsed()) { + child.offsetTopAndBottom(tabHeight); + } + } + mTabContainer.layout(l, 0, r, tabHeight); + } else { + mTabContainer.layout(l, containerHeight - tabHeight, r, containerHeight); + } + } + + boolean needsInvalidate = false; + if (mIsSplit) { + if (mSplitBackground != null) { + mSplitBackground.setBounds(0, 0, getMeasuredWidth(), getMeasuredHeight()); + needsInvalidate = true; + } + } else { + if (mBackground != null) { + mBackground.setBounds(mActionBarView.getLeft(), mActionBarView.getTop(), + mActionBarView.getRight(), mActionBarView.getBottom()); + needsInvalidate = true; + } + if ((mIsStacked = hasTabs && mStackedBackground != null)) { + mStackedBackground.setBounds(mTabContainer.getLeft(), mTabContainer.getTop(), + mTabContainer.getRight(), mTabContainer.getBottom()); + needsInvalidate = true; + } + } + + if (needsInvalidate) { + invalidate(); + } + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/ActionBarContextView.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/ActionBarContextView.java new file mode 100644 index 000000000..9ec250f38 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/ActionBarContextView.java @@ -0,0 +1,518 @@ +/* + * 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. + */ +package com.actionbarsherlock.internal.widget; + +import android.content.Context; +import android.content.res.TypedArray; +import android.graphics.drawable.Drawable; +import android.text.TextUtils; +import android.util.AttributeSet; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.view.accessibility.AccessibilityEvent; +import android.view.animation.DecelerateInterpolator; +import android.widget.LinearLayout; +import android.widget.TextView; + +import com.actionbarsherlock.R; +import com.actionbarsherlock.internal.nineoldandroids.animation.Animator; +import com.actionbarsherlock.internal.nineoldandroids.animation.Animator.AnimatorListener; +import com.actionbarsherlock.internal.nineoldandroids.animation.AnimatorSet; +import com.actionbarsherlock.internal.nineoldandroids.animation.ObjectAnimator; +import com.actionbarsherlock.internal.nineoldandroids.view.animation.AnimatorProxy; +import com.actionbarsherlock.internal.nineoldandroids.widget.NineLinearLayout; +import com.actionbarsherlock.internal.view.menu.ActionMenuPresenter; +import com.actionbarsherlock.internal.view.menu.ActionMenuView; +import com.actionbarsherlock.internal.view.menu.MenuBuilder; +import com.actionbarsherlock.view.ActionMode; + +/** + * @hide + */ +public class ActionBarContextView extends AbsActionBarView implements AnimatorListener { + //UNUSED private static final String TAG = "ActionBarContextView"; + + private CharSequence mTitle; + private CharSequence mSubtitle; + + private NineLinearLayout mClose; + private View mCustomView; + private LinearLayout mTitleLayout; + private TextView mTitleView; + private TextView mSubtitleView; + private int mTitleStyleRes; + private int mSubtitleStyleRes; + private Drawable mSplitBackground; + + private Animator mCurrentAnimation; + private boolean mAnimateInOnLayout; + private int mAnimationMode; + + private static final int ANIMATE_IDLE = 0; + private static final int ANIMATE_IN = 1; + private static final int ANIMATE_OUT = 2; + + public ActionBarContextView(Context context) { + this(context, null); + } + + public ActionBarContextView(Context context, AttributeSet attrs) { + this(context, attrs, R.attr.actionModeStyle); + } + + public ActionBarContextView(Context context, AttributeSet attrs, int defStyle) { + super(context, attrs, defStyle); + + TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.SherlockActionMode, defStyle, 0); + setBackgroundDrawable(a.getDrawable( + R.styleable.SherlockActionMode_background)); + mTitleStyleRes = a.getResourceId( + R.styleable.SherlockActionMode_titleTextStyle, 0); + mSubtitleStyleRes = a.getResourceId( + R.styleable.SherlockActionMode_subtitleTextStyle, 0); + + mContentHeight = a.getLayoutDimension( + R.styleable.SherlockActionMode_height, 0); + + mSplitBackground = a.getDrawable( + R.styleable.SherlockActionMode_backgroundSplit); + + a.recycle(); + } + + @Override + public void onDetachedFromWindow() { + super.onDetachedFromWindow(); + if (mActionMenuPresenter != null) { + mActionMenuPresenter.hideOverflowMenu(); + mActionMenuPresenter.hideSubMenus(); + } + } + + @Override + public void setSplitActionBar(boolean split) { + if (mSplitActionBar != split) { + if (mActionMenuPresenter != null) { + // Mode is already active; move everything over and adjust the menu itself. + final LayoutParams layoutParams = new LayoutParams(LayoutParams.WRAP_CONTENT, + LayoutParams.MATCH_PARENT); + if (!split) { + mMenuView = (ActionMenuView) mActionMenuPresenter.getMenuView(this); + mMenuView.setBackgroundDrawable(null); + final ViewGroup oldParent = (ViewGroup) mMenuView.getParent(); + if (oldParent != null) oldParent.removeView(mMenuView); + addView(mMenuView, layoutParams); + } else { + // Allow full screen width in split mode. + mActionMenuPresenter.setWidthLimit( + getContext().getResources().getDisplayMetrics().widthPixels, true); + // No limit to the item count; use whatever will fit. + mActionMenuPresenter.setItemLimit(Integer.MAX_VALUE); + // Span the whole width + layoutParams.width = LayoutParams.MATCH_PARENT; + layoutParams.height = mContentHeight; + mMenuView = (ActionMenuView) mActionMenuPresenter.getMenuView(this); + mMenuView.setBackgroundDrawable(mSplitBackground); + final ViewGroup oldParent = (ViewGroup) mMenuView.getParent(); + if (oldParent != null) oldParent.removeView(mMenuView); + mSplitView.addView(mMenuView, layoutParams); + } + } + super.setSplitActionBar(split); + } + } + + public void setContentHeight(int height) { + mContentHeight = height; + } + + public void setCustomView(View view) { + if (mCustomView != null) { + removeView(mCustomView); + } + mCustomView = view; + if (mTitleLayout != null) { + removeView(mTitleLayout); + mTitleLayout = null; + } + if (view != null) { + addView(view); + } + requestLayout(); + } + + public void setTitle(CharSequence title) { + mTitle = title; + initTitle(); + } + + public void setSubtitle(CharSequence subtitle) { + mSubtitle = subtitle; + initTitle(); + } + + public CharSequence getTitle() { + return mTitle; + } + + public CharSequence getSubtitle() { + return mSubtitle; + } + + private void initTitle() { + if (mTitleLayout == null) { + LayoutInflater inflater = LayoutInflater.from(getContext()); + inflater.inflate(R.layout.abs__action_bar_title_item, this); + mTitleLayout = (LinearLayout) getChildAt(getChildCount() - 1); + mTitleView = (TextView) mTitleLayout.findViewById(R.id.abs__action_bar_title); + mSubtitleView = (TextView) mTitleLayout.findViewById(R.id.abs__action_bar_subtitle); + if (mTitleStyleRes != 0) { + mTitleView.setTextAppearance(mContext, mTitleStyleRes); + } + if (mSubtitleStyleRes != 0) { + mSubtitleView.setTextAppearance(mContext, mSubtitleStyleRes); + } + } + + mTitleView.setText(mTitle); + mSubtitleView.setText(mSubtitle); + + final boolean hasTitle = !TextUtils.isEmpty(mTitle); + final boolean hasSubtitle = !TextUtils.isEmpty(mSubtitle); + mSubtitleView.setVisibility(hasSubtitle ? VISIBLE : GONE); + mTitleLayout.setVisibility(hasTitle || hasSubtitle ? VISIBLE : GONE); + if (mTitleLayout.getParent() == null) { + addView(mTitleLayout); + } + } + + public void initForMode(final ActionMode mode) { + if (mClose == null) { + LayoutInflater inflater = LayoutInflater.from(mContext); + mClose = (NineLinearLayout)inflater.inflate(R.layout.abs__action_mode_close_item, this, false); + addView(mClose); + } else if (mClose.getParent() == null) { + addView(mClose); + } + + View closeButton = mClose.findViewById(R.id.abs__action_mode_close_button); + closeButton.setOnClickListener(new OnClickListener() { + public void onClick(View v) { + mode.finish(); + } + }); + + final MenuBuilder menu = (MenuBuilder) mode.getMenu(); + if (mActionMenuPresenter != null) { + mActionMenuPresenter.dismissPopupMenus(); + } + mActionMenuPresenter = new ActionMenuPresenter(mContext); + mActionMenuPresenter.setReserveOverflow(true); + + final LayoutParams layoutParams = new LayoutParams(LayoutParams.WRAP_CONTENT, + LayoutParams.MATCH_PARENT); + if (!mSplitActionBar) { + menu.addMenuPresenter(mActionMenuPresenter); + mMenuView = (ActionMenuView) mActionMenuPresenter.getMenuView(this); + mMenuView.setBackgroundDrawable(null); + addView(mMenuView, layoutParams); + } else { + // Allow full screen width in split mode. + mActionMenuPresenter.setWidthLimit( + getContext().getResources().getDisplayMetrics().widthPixels, true); + // No limit to the item count; use whatever will fit. + mActionMenuPresenter.setItemLimit(Integer.MAX_VALUE); + // Span the whole width + layoutParams.width = LayoutParams.MATCH_PARENT; + layoutParams.height = mContentHeight; + menu.addMenuPresenter(mActionMenuPresenter); + mMenuView = (ActionMenuView) mActionMenuPresenter.getMenuView(this); + mMenuView.setBackgroundDrawable(mSplitBackground); + mSplitView.addView(mMenuView, layoutParams); + } + + mAnimateInOnLayout = true; + } + + public void closeMode() { + if (mAnimationMode == ANIMATE_OUT) { + // Called again during close; just finish what we were doing. + return; + } + if (mClose == null) { + killMode(); + return; + } + + finishAnimation(); + mAnimationMode = ANIMATE_OUT; + mCurrentAnimation = makeOutAnimation(); + mCurrentAnimation.start(); + } + + private void finishAnimation() { + final Animator a = mCurrentAnimation; + if (a != null) { + mCurrentAnimation = null; + a.end(); + } + } + + public void killMode() { + finishAnimation(); + removeAllViews(); + if (mSplitView != null) { + mSplitView.removeView(mMenuView); + } + mCustomView = null; + mMenuView = null; + mAnimateInOnLayout = false; + } + + @Override + public boolean showOverflowMenu() { + if (mActionMenuPresenter != null) { + return mActionMenuPresenter.showOverflowMenu(); + } + return false; + } + + @Override + public boolean hideOverflowMenu() { + if (mActionMenuPresenter != null) { + return mActionMenuPresenter.hideOverflowMenu(); + } + return false; + } + + @Override + public boolean isOverflowMenuShowing() { + if (mActionMenuPresenter != null) { + return mActionMenuPresenter.isOverflowMenuShowing(); + } + return false; + } + + @Override + protected ViewGroup.LayoutParams generateDefaultLayoutParams() { + // Used by custom views if they don't supply layout params. Everything else + // added to an ActionBarContextView should have them already. + return new MarginLayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); + } + + @Override + public ViewGroup.LayoutParams generateLayoutParams(AttributeSet attrs) { + return new MarginLayoutParams(getContext(), attrs); + } + + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + final int widthMode = MeasureSpec.getMode(widthMeasureSpec); + if (widthMode != MeasureSpec.EXACTLY) { + throw new IllegalStateException(getClass().getSimpleName() + " can only be used " + + "with android:layout_width=\"match_parent\" (or fill_parent)"); + } + + final int heightMode = MeasureSpec.getMode(heightMeasureSpec); + if (heightMode == MeasureSpec.UNSPECIFIED) { + throw new IllegalStateException(getClass().getSimpleName() + " can only be used " + + "with android:layout_height=\"wrap_content\""); + } + + final int contentWidth = MeasureSpec.getSize(widthMeasureSpec); + + int maxHeight = mContentHeight > 0 ? + mContentHeight : MeasureSpec.getSize(heightMeasureSpec); + + final int verticalPadding = getPaddingTop() + getPaddingBottom(); + int availableWidth = contentWidth - getPaddingLeft() - getPaddingRight(); + final int height = maxHeight - verticalPadding; + final int childSpecHeight = MeasureSpec.makeMeasureSpec(height, MeasureSpec.AT_MOST); + + if (mClose != null) { + availableWidth = measureChildView(mClose, availableWidth, childSpecHeight, 0); + MarginLayoutParams lp = (MarginLayoutParams) mClose.getLayoutParams(); + availableWidth -= lp.leftMargin + lp.rightMargin; + } + + if (mMenuView != null && mMenuView.getParent() == this) { + availableWidth = measureChildView(mMenuView, availableWidth, + childSpecHeight, 0); + } + + if (mTitleLayout != null && mCustomView == null) { + availableWidth = measureChildView(mTitleLayout, availableWidth, childSpecHeight, 0); + } + + if (mCustomView != null) { + ViewGroup.LayoutParams lp = mCustomView.getLayoutParams(); + final int customWidthMode = lp.width != LayoutParams.WRAP_CONTENT ? + MeasureSpec.EXACTLY : MeasureSpec.AT_MOST; + final int customWidth = lp.width >= 0 ? + Math.min(lp.width, availableWidth) : availableWidth; + final int customHeightMode = lp.height != LayoutParams.WRAP_CONTENT ? + MeasureSpec.EXACTLY : MeasureSpec.AT_MOST; + final int customHeight = lp.height >= 0 ? + Math.min(lp.height, height) : height; + mCustomView.measure(MeasureSpec.makeMeasureSpec(customWidth, customWidthMode), + MeasureSpec.makeMeasureSpec(customHeight, customHeightMode)); + } + + if (mContentHeight <= 0) { + int measuredHeight = 0; + final int count = getChildCount(); + for (int i = 0; i < count; i++) { + View v = getChildAt(i); + int paddedViewHeight = v.getMeasuredHeight() + verticalPadding; + if (paddedViewHeight > measuredHeight) { + measuredHeight = paddedViewHeight; + } + } + setMeasuredDimension(contentWidth, measuredHeight); + } else { + setMeasuredDimension(contentWidth, maxHeight); + } + } + + private Animator makeInAnimation() { + mClose.setTranslationX(-mClose.getWidth() - + ((MarginLayoutParams) mClose.getLayoutParams()).leftMargin); + ObjectAnimator buttonAnimator = ObjectAnimator.ofFloat(mClose, "translationX", 0); + buttonAnimator.setDuration(200); + buttonAnimator.addListener(this); + buttonAnimator.setInterpolator(new DecelerateInterpolator()); + + AnimatorSet set = new AnimatorSet(); + AnimatorSet.Builder b = set.play(buttonAnimator); + + if (mMenuView != null) { + final int count = mMenuView.getChildCount(); + if (count > 0) { + for (int i = count - 1, j = 0; i >= 0; i--, j++) { + AnimatorProxy child = AnimatorProxy.wrap(mMenuView.getChildAt(i)); + child.setScaleY(0); + ObjectAnimator a = ObjectAnimator.ofFloat(child, "scaleY", 0, 1); + a.setDuration(100); + a.setStartDelay(j * 70); + b.with(a); + } + } + } + + return set; + } + + private Animator makeOutAnimation() { + ObjectAnimator buttonAnimator = ObjectAnimator.ofFloat(mClose, "translationX", + -mClose.getWidth() - ((MarginLayoutParams) mClose.getLayoutParams()).leftMargin); + buttonAnimator.setDuration(200); + buttonAnimator.addListener(this); + buttonAnimator.setInterpolator(new DecelerateInterpolator()); + + AnimatorSet set = new AnimatorSet(); + AnimatorSet.Builder b = set.play(buttonAnimator); + + if (mMenuView != null) { + final int count = mMenuView.getChildCount(); + if (count > 0) { + for (int i = 0; i < 0; i++) { + AnimatorProxy child = AnimatorProxy.wrap(mMenuView.getChildAt(i)); + child.setScaleY(0); + ObjectAnimator a = ObjectAnimator.ofFloat(child, "scaleY", 0); + a.setDuration(100); + a.setStartDelay(i * 70); + b.with(a); + } + } + } + + return set; + } + + @Override + protected void onLayout(boolean changed, int l, int t, int r, int b) { + int x = getPaddingLeft(); + final int y = getPaddingTop(); + final int contentHeight = b - t - getPaddingTop() - getPaddingBottom(); + + if (mClose != null && mClose.getVisibility() != GONE) { + MarginLayoutParams lp = (MarginLayoutParams) mClose.getLayoutParams(); + x += lp.leftMargin; + x += positionChild(mClose, x, y, contentHeight); + x += lp.rightMargin; + + if (mAnimateInOnLayout) { + mAnimationMode = ANIMATE_IN; + mCurrentAnimation = makeInAnimation(); + mCurrentAnimation.start(); + mAnimateInOnLayout = false; + } + } + + if (mTitleLayout != null && mCustomView == null) { + x += positionChild(mTitleLayout, x, y, contentHeight); + } + + if (mCustomView != null) { + x += positionChild(mCustomView, x, y, contentHeight); + } + + x = r - l - getPaddingRight(); + + if (mMenuView != null) { + x -= positionChildInverse(mMenuView, x, y, contentHeight); + } + } + + @Override + public void onAnimationStart(Animator animation) { + } + + @Override + public void onAnimationEnd(Animator animation) { + if (mAnimationMode == ANIMATE_OUT) { + killMode(); + } + mAnimationMode = ANIMATE_IDLE; + } + + @Override + public void onAnimationCancel(Animator animation) { + } + + @Override + public void onAnimationRepeat(Animator animation) { + } + + @Override + public boolean shouldDelayChildPressedState() { + return false; + } + + @Override + public void onInitializeAccessibilityEvent(AccessibilityEvent event) { + if (event.getEventType() == AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED) { + // Action mode started + //TODO event.setSource(this); + event.setClassName(getClass().getName()); + event.setPackageName(getContext().getPackageName()); + event.setContentDescription(mTitle); + } else { + //TODO super.onInitializeAccessibilityEvent(event); + } + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/ActionBarView.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/ActionBarView.java new file mode 100644 index 000000000..4636de17f --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/ActionBarView.java @@ -0,0 +1,1548 @@ +/* + * 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. + */ + +package com.actionbarsherlock.internal.widget; + +import org.xmlpull.v1.XmlPullParser; +import android.app.Activity; +import android.content.Context; +import android.content.pm.ApplicationInfo; +import android.content.pm.PackageManager; +import android.content.pm.PackageManager.NameNotFoundException; +import android.content.res.AssetManager; +import android.content.res.Configuration; +import android.content.res.TypedArray; +import android.content.res.XmlResourceParser; +import android.graphics.drawable.Drawable; +import android.os.Build; +import android.os.Parcel; +import android.os.Parcelable; +import android.text.TextUtils; +import android.util.AttributeSet; +import android.util.Log; +import android.view.Gravity; +import android.view.LayoutInflater; +import android.view.MotionEvent; +import android.view.View; +import android.view.ViewGroup; +import android.view.ViewParent; +import android.view.accessibility.AccessibilityEvent; +import android.widget.FrameLayout; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.SpinnerAdapter; +import android.widget.TextView; + +import com.actionbarsherlock.R; +import com.actionbarsherlock.app.ActionBar; +import com.actionbarsherlock.app.ActionBar.OnNavigationListener; +import com.actionbarsherlock.internal.ActionBarSherlockCompat; +import com.actionbarsherlock.internal.view.menu.ActionMenuItem; +import com.actionbarsherlock.internal.view.menu.ActionMenuPresenter; +import com.actionbarsherlock.internal.view.menu.ActionMenuView; +import com.actionbarsherlock.internal.view.menu.MenuBuilder; +import com.actionbarsherlock.internal.view.menu.MenuItemImpl; +import com.actionbarsherlock.internal.view.menu.MenuPresenter; +import com.actionbarsherlock.internal.view.menu.MenuView; +import com.actionbarsherlock.internal.view.menu.SubMenuBuilder; +import com.actionbarsherlock.view.CollapsibleActionView; +import com.actionbarsherlock.view.Menu; +import com.actionbarsherlock.view.MenuItem; +import com.actionbarsherlock.view.Window; + +import static com.actionbarsherlock.internal.ResourcesCompat.getResources_getBoolean; + +/** + * @hide + */ +public class ActionBarView extends AbsActionBarView { + private static final String TAG = "ActionBarView"; + private static final boolean DEBUG = false; + + /** + * Display options applied by default + */ + public static final int DISPLAY_DEFAULT = 0; + + /** + * Display options that require re-layout as opposed to a simple invalidate + */ + private static final int DISPLAY_RELAYOUT_MASK = + ActionBar.DISPLAY_SHOW_HOME | + ActionBar.DISPLAY_USE_LOGO | + ActionBar.DISPLAY_HOME_AS_UP | + ActionBar.DISPLAY_SHOW_CUSTOM | + ActionBar.DISPLAY_SHOW_TITLE; + + private static final int DEFAULT_CUSTOM_GRAVITY = Gravity.LEFT | Gravity.CENTER_VERTICAL; + + private int mNavigationMode; + private int mDisplayOptions = -1; + private CharSequence mTitle; + private CharSequence mSubtitle; + private Drawable mIcon; + private Drawable mLogo; + + private HomeView mHomeLayout; + private HomeView mExpandedHomeLayout; + private LinearLayout mTitleLayout; + private TextView mTitleView; + private TextView mSubtitleView; + private View mTitleUpView; + + private IcsSpinner mSpinner; + private IcsLinearLayout mListNavLayout; + private ScrollingTabContainerView mTabScrollView; + private View mCustomNavView; + private IcsProgressBar mProgressView; + private IcsProgressBar mIndeterminateProgressView; + + private int mProgressBarPadding; + private int mItemPadding; + + private int mTitleStyleRes; + private int mSubtitleStyleRes; + private int mProgressStyle; + private int mIndeterminateProgressStyle; + + private boolean mUserTitle; + private boolean mIncludeTabs; + private boolean mIsCollapsable; + private boolean mIsCollapsed; + + private MenuBuilder mOptionsMenu; + + private ActionBarContextView mContextView; + + private ActionMenuItem mLogoNavItem; + + private SpinnerAdapter mSpinnerAdapter; + private OnNavigationListener mCallback; + + //UNUSED private Runnable mTabSelector; + + private ExpandedActionViewMenuPresenter mExpandedMenuPresenter; + View mExpandedActionView; + + Window.Callback mWindowCallback; + + @SuppressWarnings("rawtypes") + private final IcsAdapterView.OnItemSelectedListener mNavItemSelectedListener = + new IcsAdapterView.OnItemSelectedListener() { + public void onItemSelected(IcsAdapterView parent, View view, int position, long id) { + if (mCallback != null) { + mCallback.onNavigationItemSelected(position, id); + } + } + public void onNothingSelected(IcsAdapterView parent) { + // Do nothing + } + }; + + private final OnClickListener mExpandedActionViewUpListener = new OnClickListener() { + @Override + public void onClick(View v) { + final MenuItemImpl item = mExpandedMenuPresenter.mCurrentExpandedItem; + if (item != null) { + item.collapseActionView(); + } + } + }; + + private final OnClickListener mUpClickListener = new OnClickListener() { + public void onClick(View v) { + mWindowCallback.onMenuItemSelected(Window.FEATURE_OPTIONS_PANEL, mLogoNavItem); + } + }; + + public ActionBarView(Context context, AttributeSet attrs) { + super(context, attrs); + + // Background is always provided by the container. + setBackgroundResource(0); + + TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.SherlockActionBar, + R.attr.actionBarStyle, 0); + + ApplicationInfo appInfo = context.getApplicationInfo(); + PackageManager pm = context.getPackageManager(); + mNavigationMode = a.getInt(R.styleable.SherlockActionBar_navigationMode, + ActionBar.NAVIGATION_MODE_STANDARD); + mTitle = a.getText(R.styleable.SherlockActionBar_title); + mSubtitle = a.getText(R.styleable.SherlockActionBar_subtitle); + + mLogo = a.getDrawable(R.styleable.SherlockActionBar_logo); + if (mLogo == null) { + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB) { + if (context instanceof Activity) { + //Even though native methods existed in API 9 and 10 they don't work + //so just parse the manifest to look for the logo pre-Honeycomb + final int resId = loadLogoFromManifest((Activity) context); + if (resId != 0) { + mLogo = context.getResources().getDrawable(resId); + } + } + } else { + if (context instanceof Activity) { + try { + mLogo = pm.getActivityLogo(((Activity) context).getComponentName()); + } catch (NameNotFoundException e) { + Log.e(TAG, "Activity component name not found!", e); + } + } + if (mLogo == null) { + mLogo = appInfo.loadLogo(pm); + } + } + } + + mIcon = a.getDrawable(R.styleable.SherlockActionBar_icon); + if (mIcon == null) { + if (context instanceof Activity) { + try { + mIcon = pm.getActivityIcon(((Activity) context).getComponentName()); + } catch (NameNotFoundException e) { + Log.e(TAG, "Activity component name not found!", e); + } + } + if (mIcon == null) { + mIcon = appInfo.loadIcon(pm); + } + } + + final LayoutInflater inflater = LayoutInflater.from(context); + + final int homeResId = a.getResourceId( + R.styleable.SherlockActionBar_homeLayout, + R.layout.abs__action_bar_home); + + mHomeLayout = (HomeView) inflater.inflate(homeResId, this, false); + + mExpandedHomeLayout = (HomeView) inflater.inflate(homeResId, this, false); + mExpandedHomeLayout.setUp(true); + mExpandedHomeLayout.setOnClickListener(mExpandedActionViewUpListener); + mExpandedHomeLayout.setContentDescription(getResources().getText( + R.string.abs__action_bar_up_description)); + + mTitleStyleRes = a.getResourceId(R.styleable.SherlockActionBar_titleTextStyle, 0); + mSubtitleStyleRes = a.getResourceId(R.styleable.SherlockActionBar_subtitleTextStyle, 0); + mProgressStyle = a.getResourceId(R.styleable.SherlockActionBar_progressBarStyle, 0); + mIndeterminateProgressStyle = a.getResourceId( + R.styleable.SherlockActionBar_indeterminateProgressStyle, 0); + + mProgressBarPadding = a.getDimensionPixelOffset(R.styleable.SherlockActionBar_progressBarPadding, 0); + mItemPadding = a.getDimensionPixelOffset(R.styleable.SherlockActionBar_itemPadding, 0); + + setDisplayOptions(a.getInt(R.styleable.SherlockActionBar_displayOptions, DISPLAY_DEFAULT)); + + final int customNavId = a.getResourceId(R.styleable.SherlockActionBar_customNavigationLayout, 0); + if (customNavId != 0) { + mCustomNavView = inflater.inflate(customNavId, this, false); + mNavigationMode = ActionBar.NAVIGATION_MODE_STANDARD; + setDisplayOptions(mDisplayOptions | ActionBar.DISPLAY_SHOW_CUSTOM); + } + + mContentHeight = a.getLayoutDimension(R.styleable.SherlockActionBar_height, 0); + + a.recycle(); + + mLogoNavItem = new ActionMenuItem(context, 0, android.R.id.home, 0, 0, mTitle); + mHomeLayout.setOnClickListener(mUpClickListener); + mHomeLayout.setClickable(true); + mHomeLayout.setFocusable(true); + } + + /** + * Attempt to programmatically load the logo from the manifest file of an + * activity by using an XML pull parser. This should allow us to read the + * logo attribute regardless of the platform it is being run on. + * + * @param activity Activity instance. + * @return Logo resource ID. + */ + private static int loadLogoFromManifest(Activity activity) { + int logo = 0; + try { + final String thisPackage = activity.getClass().getName(); + if (DEBUG) Log.i(TAG, "Parsing AndroidManifest.xml for " + thisPackage); + + final String packageName = activity.getApplicationInfo().packageName; + final AssetManager am = activity.createPackageContext(packageName, 0).getAssets(); + final XmlResourceParser xml = am.openXmlResourceParser("AndroidManifest.xml"); + + int eventType = xml.getEventType(); + while (eventType != XmlPullParser.END_DOCUMENT) { + if (eventType == XmlPullParser.START_TAG) { + String name = xml.getName(); + + if ("application".equals(name)) { + //Check if the has the attribute + if (DEBUG) Log.d(TAG, "Got "); + + for (int i = xml.getAttributeCount() - 1; i >= 0; i--) { + if (DEBUG) Log.d(TAG, xml.getAttributeName(i) + ": " + xml.getAttributeValue(i)); + + if ("logo".equals(xml.getAttributeName(i))) { + logo = xml.getAttributeResourceValue(i, 0); + break; //out of for loop + } + } + } else if ("activity".equals(name)) { + //Check if the is us and has the attribute + if (DEBUG) Log.d(TAG, "Got "); + Integer activityLogo = null; + String activityPackage = null; + boolean isOurActivity = false; + + for (int i = xml.getAttributeCount() - 1; i >= 0; i--) { + if (DEBUG) Log.d(TAG, xml.getAttributeName(i) + ": " + xml.getAttributeValue(i)); + + //We need both uiOptions and name attributes + String attrName = xml.getAttributeName(i); + if ("logo".equals(attrName)) { + activityLogo = xml.getAttributeResourceValue(i, 0); + } else if ("name".equals(attrName)) { + activityPackage = ActionBarSherlockCompat.cleanActivityName(packageName, xml.getAttributeValue(i)); + if (!thisPackage.equals(activityPackage)) { + break; //on to the next + } + isOurActivity = true; + } + + //Make sure we have both attributes before processing + if ((activityLogo != null) && (activityPackage != null)) { + //Our activity, logo specified, override with our value + logo = activityLogo.intValue(); + } + } + if (isOurActivity) { + //If we matched our activity but it had no logo don't + //do any more processing of the manifest + break; + } + } + } + eventType = xml.nextToken(); + } + } catch (Exception e) { + e.printStackTrace(); + } + if (DEBUG) Log.i(TAG, "Returning " + Integer.toHexString(logo)); + return logo; + } + + /* + * Must be public so we can dispatch pre-2.2 via ActionBarImpl. + */ + @Override + public void onConfigurationChanged(Configuration newConfig) { + super.onConfigurationChanged(newConfig); + + mTitleView = null; + mSubtitleView = null; + mTitleUpView = null; + if (mTitleLayout != null && mTitleLayout.getParent() == this) { + removeView(mTitleLayout); + } + mTitleLayout = null; + if ((mDisplayOptions & ActionBar.DISPLAY_SHOW_TITLE) != 0) { + initTitle(); + } + + if (mTabScrollView != null && mIncludeTabs) { + ViewGroup.LayoutParams lp = mTabScrollView.getLayoutParams(); + if (lp != null) { + lp.width = LayoutParams.WRAP_CONTENT; + lp.height = LayoutParams.MATCH_PARENT; + } + mTabScrollView.setAllowCollapse(true); + } + } + + /** + * Set the window callback used to invoke menu items; used for dispatching home button presses. + * @param cb Window callback to dispatch to + */ + public void setWindowCallback(Window.Callback cb) { + mWindowCallback = cb; + } + + @Override + public void onDetachedFromWindow() { + super.onDetachedFromWindow(); + //UNUSED removeCallbacks(mTabSelector); + if (mActionMenuPresenter != null) { + mActionMenuPresenter.hideOverflowMenu(); + mActionMenuPresenter.hideSubMenus(); + } + } + + @Override + public boolean shouldDelayChildPressedState() { + return false; + } + + public void initProgress() { + mProgressView = new IcsProgressBar(mContext, null, 0, mProgressStyle); + mProgressView.setId(R.id.abs__progress_horizontal); + mProgressView.setMax(10000); + addView(mProgressView); + } + + public void initIndeterminateProgress() { + mIndeterminateProgressView = new IcsProgressBar(mContext, null, 0, mIndeterminateProgressStyle); + mIndeterminateProgressView.setId(R.id.abs__progress_circular); + addView(mIndeterminateProgressView); + } + + @Override + public void setSplitActionBar(boolean splitActionBar) { + if (mSplitActionBar != splitActionBar) { + if (mMenuView != null) { + final ViewGroup oldParent = (ViewGroup) mMenuView.getParent(); + if (oldParent != null) { + oldParent.removeView(mMenuView); + } + if (splitActionBar) { + if (mSplitView != null) { + mSplitView.addView(mMenuView); + } + } else { + addView(mMenuView); + } + } + if (mSplitView != null) { + mSplitView.setVisibility(splitActionBar ? VISIBLE : GONE); + } + super.setSplitActionBar(splitActionBar); + } + } + + public boolean isSplitActionBar() { + return mSplitActionBar; + } + + public boolean hasEmbeddedTabs() { + return mIncludeTabs; + } + + public void setEmbeddedTabView(ScrollingTabContainerView tabs) { + if (mTabScrollView != null) { + removeView(mTabScrollView); + } + mTabScrollView = tabs; + mIncludeTabs = tabs != null; + if (mIncludeTabs && mNavigationMode == ActionBar.NAVIGATION_MODE_TABS) { + addView(mTabScrollView); + ViewGroup.LayoutParams lp = mTabScrollView.getLayoutParams(); + lp.width = LayoutParams.WRAP_CONTENT; + lp.height = LayoutParams.MATCH_PARENT; + tabs.setAllowCollapse(true); + } + } + + public void setCallback(OnNavigationListener callback) { + mCallback = callback; + } + + public void setMenu(Menu menu, MenuPresenter.Callback cb) { + if (menu == mOptionsMenu) return; + + if (mOptionsMenu != null) { + mOptionsMenu.removeMenuPresenter(mActionMenuPresenter); + mOptionsMenu.removeMenuPresenter(mExpandedMenuPresenter); + } + + MenuBuilder builder = (MenuBuilder) menu; + mOptionsMenu = builder; + if (mMenuView != null) { + final ViewGroup oldParent = (ViewGroup) mMenuView.getParent(); + if (oldParent != null) { + oldParent.removeView(mMenuView); + } + } + if (mActionMenuPresenter == null) { + mActionMenuPresenter = new ActionMenuPresenter(mContext); + mActionMenuPresenter.setCallback(cb); + mActionMenuPresenter.setId(R.id.abs__action_menu_presenter); + mExpandedMenuPresenter = new ExpandedActionViewMenuPresenter(); + } + + ActionMenuView menuView; + final LayoutParams layoutParams = new LayoutParams(LayoutParams.WRAP_CONTENT, + LayoutParams.MATCH_PARENT); + if (!mSplitActionBar) { + mActionMenuPresenter.setExpandedActionViewsExclusive( + getResources_getBoolean(getContext(), + R.bool.abs__action_bar_expanded_action_views_exclusive)); + configPresenters(builder); + menuView = (ActionMenuView) mActionMenuPresenter.getMenuView(this); + final ViewGroup oldParent = (ViewGroup) menuView.getParent(); + if (oldParent != null && oldParent != this) { + oldParent.removeView(menuView); + } + addView(menuView, layoutParams); + } else { + mActionMenuPresenter.setExpandedActionViewsExclusive(false); + // Allow full screen width in split mode. + mActionMenuPresenter.setWidthLimit( + getContext().getResources().getDisplayMetrics().widthPixels, true); + // No limit to the item count; use whatever will fit. + mActionMenuPresenter.setItemLimit(Integer.MAX_VALUE); + // Span the whole width + layoutParams.width = LayoutParams.MATCH_PARENT; + configPresenters(builder); + menuView = (ActionMenuView) mActionMenuPresenter.getMenuView(this); + if (mSplitView != null) { + final ViewGroup oldParent = (ViewGroup) menuView.getParent(); + if (oldParent != null && oldParent != mSplitView) { + oldParent.removeView(menuView); + } + menuView.setVisibility(getAnimatedVisibility()); + mSplitView.addView(menuView, layoutParams); + } else { + // We'll add this later if we missed it this time. + menuView.setLayoutParams(layoutParams); + } + } + mMenuView = menuView; + } + + private void configPresenters(MenuBuilder builder) { + if (builder != null) { + builder.addMenuPresenter(mActionMenuPresenter); + builder.addMenuPresenter(mExpandedMenuPresenter); + } else { + mActionMenuPresenter.initForMenu(mContext, null); + mExpandedMenuPresenter.initForMenu(mContext, null); + mActionMenuPresenter.updateMenuView(true); + mExpandedMenuPresenter.updateMenuView(true); + } + } + + public boolean hasExpandedActionView() { + return mExpandedMenuPresenter != null && + mExpandedMenuPresenter.mCurrentExpandedItem != null; + } + + public void collapseActionView() { + final MenuItemImpl item = mExpandedMenuPresenter == null ? null : + mExpandedMenuPresenter.mCurrentExpandedItem; + if (item != null) { + item.collapseActionView(); + } + } + + public void setCustomNavigationView(View view) { + final boolean showCustom = (mDisplayOptions & ActionBar.DISPLAY_SHOW_CUSTOM) != 0; + if (mCustomNavView != null && showCustom) { + removeView(mCustomNavView); + } + mCustomNavView = view; + if (mCustomNavView != null && showCustom) { + addView(mCustomNavView); + } + } + + public CharSequence getTitle() { + return mTitle; + } + + /** + * Set the action bar title. This will always replace or override window titles. + * @param title Title to set + * + * @see #setWindowTitle(CharSequence) + */ + public void setTitle(CharSequence title) { + mUserTitle = true; + setTitleImpl(title); + } + + /** + * Set the window title. A window title will always be replaced or overridden by a user title. + * @param title Title to set + * + * @see #setTitle(CharSequence) + */ + public void setWindowTitle(CharSequence title) { + if (!mUserTitle) { + setTitleImpl(title); + } + } + + private void setTitleImpl(CharSequence title) { + mTitle = title; + if (mTitleView != null) { + mTitleView.setText(title); + final boolean visible = mExpandedActionView == null && + (mDisplayOptions & ActionBar.DISPLAY_SHOW_TITLE) != 0 && + (!TextUtils.isEmpty(mTitle) || !TextUtils.isEmpty(mSubtitle)); + mTitleLayout.setVisibility(visible ? VISIBLE : GONE); + } + if (mLogoNavItem != null) { + mLogoNavItem.setTitle(title); + } + } + + public CharSequence getSubtitle() { + return mSubtitle; + } + + public void setSubtitle(CharSequence subtitle) { + mSubtitle = subtitle; + if (mSubtitleView != null) { + mSubtitleView.setText(subtitle); + mSubtitleView.setVisibility(subtitle != null ? VISIBLE : GONE); + final boolean visible = mExpandedActionView == null && + (mDisplayOptions & ActionBar.DISPLAY_SHOW_TITLE) != 0 && + (!TextUtils.isEmpty(mTitle) || !TextUtils.isEmpty(mSubtitle)); + mTitleLayout.setVisibility(visible ? VISIBLE : GONE); + } + } + + public void setHomeButtonEnabled(boolean enable) { + mHomeLayout.setEnabled(enable); + mHomeLayout.setFocusable(enable); + // Make sure the home button has an accurate content description for accessibility. + if (!enable) { + mHomeLayout.setContentDescription(null); + } else if ((mDisplayOptions & ActionBar.DISPLAY_HOME_AS_UP) != 0) { + mHomeLayout.setContentDescription(mContext.getResources().getText( + R.string.abs__action_bar_up_description)); + } else { + mHomeLayout.setContentDescription(mContext.getResources().getText( + R.string.abs__action_bar_home_description)); + } + } + + public void setDisplayOptions(int options) { + final int flagsChanged = mDisplayOptions == -1 ? -1 : options ^ mDisplayOptions; + mDisplayOptions = options; + + if ((flagsChanged & DISPLAY_RELAYOUT_MASK) != 0) { + final boolean showHome = (options & ActionBar.DISPLAY_SHOW_HOME) != 0; + final int vis = showHome && mExpandedActionView == null ? VISIBLE : GONE; + mHomeLayout.setVisibility(vis); + + if ((flagsChanged & ActionBar.DISPLAY_HOME_AS_UP) != 0) { + final boolean setUp = (options & ActionBar.DISPLAY_HOME_AS_UP) != 0; + mHomeLayout.setUp(setUp); + + // Showing home as up implicitly enables interaction with it. + // In honeycomb it was always enabled, so make this transition + // a bit easier for developers in the common case. + // (It would be silly to show it as up without responding to it.) + if (setUp) { + setHomeButtonEnabled(true); + } + } + + if ((flagsChanged & ActionBar.DISPLAY_USE_LOGO) != 0) { + final boolean logoVis = mLogo != null && (options & ActionBar.DISPLAY_USE_LOGO) != 0; + mHomeLayout.setIcon(logoVis ? mLogo : mIcon); + } + + if ((flagsChanged & ActionBar.DISPLAY_SHOW_TITLE) != 0) { + if ((options & ActionBar.DISPLAY_SHOW_TITLE) != 0) { + initTitle(); + } else { + removeView(mTitleLayout); + } + } + + if (mTitleLayout != null && (flagsChanged & + (ActionBar.DISPLAY_HOME_AS_UP | ActionBar.DISPLAY_SHOW_HOME)) != 0) { + final boolean homeAsUp = (mDisplayOptions & ActionBar.DISPLAY_HOME_AS_UP) != 0; + mTitleUpView.setVisibility(!showHome ? (homeAsUp ? VISIBLE : INVISIBLE) : GONE); + mTitleLayout.setEnabled(!showHome && homeAsUp); + } + + if ((flagsChanged & ActionBar.DISPLAY_SHOW_CUSTOM) != 0 && mCustomNavView != null) { + if ((options & ActionBar.DISPLAY_SHOW_CUSTOM) != 0) { + addView(mCustomNavView); + } else { + removeView(mCustomNavView); + } + } + + requestLayout(); + } else { + invalidate(); + } + + // Make sure the home button has an accurate content description for accessibility. + if (!mHomeLayout.isEnabled()) { + mHomeLayout.setContentDescription(null); + } else if ((options & ActionBar.DISPLAY_HOME_AS_UP) != 0) { + mHomeLayout.setContentDescription(mContext.getResources().getText( + R.string.abs__action_bar_up_description)); + } else { + mHomeLayout.setContentDescription(mContext.getResources().getText( + R.string.abs__action_bar_home_description)); + } + } + + public void setIcon(Drawable icon) { + mIcon = icon; + if (icon != null && + ((mDisplayOptions & ActionBar.DISPLAY_USE_LOGO) == 0 || mLogo == null)) { + mHomeLayout.setIcon(icon); + } + } + + public void setIcon(int resId) { + setIcon(mContext.getResources().getDrawable(resId)); + } + + public void setLogo(Drawable logo) { + mLogo = logo; + if (logo != null && (mDisplayOptions & ActionBar.DISPLAY_USE_LOGO) != 0) { + mHomeLayout.setIcon(logo); + } + } + + public void setLogo(int resId) { + setLogo(mContext.getResources().getDrawable(resId)); + } + + public void setNavigationMode(int mode) { + final int oldMode = mNavigationMode; + if (mode != oldMode) { + switch (oldMode) { + case ActionBar.NAVIGATION_MODE_LIST: + if (mListNavLayout != null) { + removeView(mListNavLayout); + } + break; + case ActionBar.NAVIGATION_MODE_TABS: + if (mTabScrollView != null && mIncludeTabs) { + removeView(mTabScrollView); + } + } + + switch (mode) { + case ActionBar.NAVIGATION_MODE_LIST: + if (mSpinner == null) { + mSpinner = new IcsSpinner(mContext, null, + R.attr.actionDropDownStyle); + mListNavLayout = (IcsLinearLayout) LayoutInflater.from(mContext) + .inflate(R.layout.abs__action_bar_tab_bar_view, null); + LinearLayout.LayoutParams params = new LinearLayout.LayoutParams( + LayoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT); + params.gravity = Gravity.CENTER; + mListNavLayout.addView(mSpinner, params); + } + if (mSpinner.getAdapter() != mSpinnerAdapter) { + mSpinner.setAdapter(mSpinnerAdapter); + } + mSpinner.setOnItemSelectedListener(mNavItemSelectedListener); + addView(mListNavLayout); + break; + case ActionBar.NAVIGATION_MODE_TABS: + if (mTabScrollView != null && mIncludeTabs) { + addView(mTabScrollView); + } + break; + } + mNavigationMode = mode; + requestLayout(); + } + } + + public void setDropdownAdapter(SpinnerAdapter adapter) { + mSpinnerAdapter = adapter; + if (mSpinner != null) { + mSpinner.setAdapter(adapter); + } + } + + public SpinnerAdapter getDropdownAdapter() { + return mSpinnerAdapter; + } + + public void setDropdownSelectedPosition(int position) { + mSpinner.setSelection(position); + } + + public int getDropdownSelectedPosition() { + return mSpinner.getSelectedItemPosition(); + } + + public View getCustomNavigationView() { + return mCustomNavView; + } + + public int getNavigationMode() { + return mNavigationMode; + } + + public int getDisplayOptions() { + return mDisplayOptions; + } + + @Override + protected ViewGroup.LayoutParams generateDefaultLayoutParams() { + // Used by custom nav views if they don't supply layout params. Everything else + // added to an ActionBarView should have them already. + return new ActionBar.LayoutParams(DEFAULT_CUSTOM_GRAVITY); + } + + @Override + protected void onFinishInflate() { + super.onFinishInflate(); + + addView(mHomeLayout); + + if (mCustomNavView != null && (mDisplayOptions & ActionBar.DISPLAY_SHOW_CUSTOM) != 0) { + final ViewParent parent = mCustomNavView.getParent(); + if (parent != this) { + if (parent instanceof ViewGroup) { + ((ViewGroup) parent).removeView(mCustomNavView); + } + addView(mCustomNavView); + } + } + } + + private void initTitle() { + if (mTitleLayout == null) { + LayoutInflater inflater = LayoutInflater.from(getContext()); + mTitleLayout = (LinearLayout) inflater.inflate(R.layout.abs__action_bar_title_item, + this, false); + mTitleView = (TextView) mTitleLayout.findViewById(R.id.abs__action_bar_title); + mSubtitleView = (TextView) mTitleLayout.findViewById(R.id.abs__action_bar_subtitle); + mTitleUpView = mTitleLayout.findViewById(R.id.abs__up); + + mTitleLayout.setOnClickListener(mUpClickListener); + + if (mTitleStyleRes != 0) { + mTitleView.setTextAppearance(mContext, mTitleStyleRes); + } + if (mTitle != null) { + mTitleView.setText(mTitle); + } + + if (mSubtitleStyleRes != 0) { + mSubtitleView.setTextAppearance(mContext, mSubtitleStyleRes); + } + if (mSubtitle != null) { + mSubtitleView.setText(mSubtitle); + mSubtitleView.setVisibility(VISIBLE); + } + + final boolean homeAsUp = (mDisplayOptions & ActionBar.DISPLAY_HOME_AS_UP) != 0; + final boolean showHome = (mDisplayOptions & ActionBar.DISPLAY_SHOW_HOME) != 0; + mTitleUpView.setVisibility(!showHome ? (homeAsUp ? VISIBLE : INVISIBLE) : GONE); + mTitleLayout.setEnabled(homeAsUp && !showHome); + } + + addView(mTitleLayout); + if (mExpandedActionView != null || + (TextUtils.isEmpty(mTitle) && TextUtils.isEmpty(mSubtitle))) { + // Don't show while in expanded mode or with empty text + mTitleLayout.setVisibility(GONE); + } + } + + public void setContextView(ActionBarContextView view) { + mContextView = view; + } + + public void setCollapsable(boolean collapsable) { + mIsCollapsable = collapsable; + } + + public boolean isCollapsed() { + return mIsCollapsed; + } + + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + final int childCount = getChildCount(); + if (mIsCollapsable) { + int visibleChildren = 0; + for (int i = 0; i < childCount; i++) { + final View child = getChildAt(i); + if (child.getVisibility() != GONE && + !(child == mMenuView && mMenuView.getChildCount() == 0)) { + visibleChildren++; + } + } + + if (visibleChildren == 0) { + // No size for an empty action bar when collapsable. + setMeasuredDimension(0, 0); + mIsCollapsed = true; + return; + } + } + mIsCollapsed = false; + + int widthMode = MeasureSpec.getMode(widthMeasureSpec); + if (widthMode != MeasureSpec.EXACTLY) { + throw new IllegalStateException(getClass().getSimpleName() + " can only be used " + + "with android:layout_width=\"match_parent\" (or fill_parent)"); + } + + int heightMode = MeasureSpec.getMode(heightMeasureSpec); + if (heightMode != MeasureSpec.AT_MOST) { + throw new IllegalStateException(getClass().getSimpleName() + " can only be used " + + "with android:layout_height=\"wrap_content\""); + } + + int contentWidth = MeasureSpec.getSize(widthMeasureSpec); + + int maxHeight = mContentHeight > 0 ? + mContentHeight : MeasureSpec.getSize(heightMeasureSpec); + + final int verticalPadding = getPaddingTop() + getPaddingBottom(); + final int paddingLeft = getPaddingLeft(); + final int paddingRight = getPaddingRight(); + final int height = maxHeight - verticalPadding; + final int childSpecHeight = MeasureSpec.makeMeasureSpec(height, MeasureSpec.AT_MOST); + + int availableWidth = contentWidth - paddingLeft - paddingRight; + int leftOfCenter = availableWidth / 2; + int rightOfCenter = leftOfCenter; + + HomeView homeLayout = mExpandedActionView != null ? mExpandedHomeLayout : mHomeLayout; + + if (homeLayout.getVisibility() != GONE) { + final ViewGroup.LayoutParams lp = homeLayout.getLayoutParams(); + int homeWidthSpec; + if (lp.width < 0) { + homeWidthSpec = MeasureSpec.makeMeasureSpec(availableWidth, MeasureSpec.AT_MOST); + } else { + homeWidthSpec = MeasureSpec.makeMeasureSpec(lp.width, MeasureSpec.EXACTLY); + } + homeLayout.measure(homeWidthSpec, + MeasureSpec.makeMeasureSpec(height, MeasureSpec.EXACTLY)); + final int homeWidth = homeLayout.getMeasuredWidth() + homeLayout.getLeftOffset(); + availableWidth = Math.max(0, availableWidth - homeWidth); + leftOfCenter = Math.max(0, availableWidth - homeWidth); + } + + if (mMenuView != null && mMenuView.getParent() == this) { + availableWidth = measureChildView(mMenuView, availableWidth, + childSpecHeight, 0); + rightOfCenter = Math.max(0, rightOfCenter - mMenuView.getMeasuredWidth()); + } + + if (mIndeterminateProgressView != null && + mIndeterminateProgressView.getVisibility() != GONE) { + availableWidth = measureChildView(mIndeterminateProgressView, availableWidth, + childSpecHeight, 0); + rightOfCenter = Math.max(0, + rightOfCenter - mIndeterminateProgressView.getMeasuredWidth()); + } + + final boolean showTitle = mTitleLayout != null && mTitleLayout.getVisibility() != GONE && + (mDisplayOptions & ActionBar.DISPLAY_SHOW_TITLE) != 0; + + if (mExpandedActionView == null) { + switch (mNavigationMode) { + case ActionBar.NAVIGATION_MODE_LIST: + if (mListNavLayout != null) { + final int itemPaddingSize = showTitle ? mItemPadding * 2 : mItemPadding; + availableWidth = Math.max(0, availableWidth - itemPaddingSize); + leftOfCenter = Math.max(0, leftOfCenter - itemPaddingSize); + mListNavLayout.measure( + MeasureSpec.makeMeasureSpec(availableWidth, MeasureSpec.AT_MOST), + MeasureSpec.makeMeasureSpec(height, MeasureSpec.EXACTLY)); + final int listNavWidth = mListNavLayout.getMeasuredWidth(); + availableWidth = Math.max(0, availableWidth - listNavWidth); + leftOfCenter = Math.max(0, leftOfCenter - listNavWidth); + } + break; + case ActionBar.NAVIGATION_MODE_TABS: + if (mTabScrollView != null) { + final int itemPaddingSize = showTitle ? mItemPadding * 2 : mItemPadding; + availableWidth = Math.max(0, availableWidth - itemPaddingSize); + leftOfCenter = Math.max(0, leftOfCenter - itemPaddingSize); + mTabScrollView.measure( + MeasureSpec.makeMeasureSpec(availableWidth, MeasureSpec.AT_MOST), + MeasureSpec.makeMeasureSpec(height, MeasureSpec.EXACTLY)); + final int tabWidth = mTabScrollView.getMeasuredWidth(); + availableWidth = Math.max(0, availableWidth - tabWidth); + leftOfCenter = Math.max(0, leftOfCenter - tabWidth); + } + break; + } + } + + View customView = null; + if (mExpandedActionView != null) { + customView = mExpandedActionView; + } else if ((mDisplayOptions & ActionBar.DISPLAY_SHOW_CUSTOM) != 0 && + mCustomNavView != null) { + customView = mCustomNavView; + } + + if (customView != null) { + final ViewGroup.LayoutParams lp = generateLayoutParams(customView.getLayoutParams()); + final ActionBar.LayoutParams ablp = lp instanceof ActionBar.LayoutParams ? + (ActionBar.LayoutParams) lp : null; + + int horizontalMargin = 0; + int verticalMargin = 0; + if (ablp != null) { + horizontalMargin = ablp.leftMargin + ablp.rightMargin; + verticalMargin = ablp.topMargin + ablp.bottomMargin; + } + + // If the action bar is wrapping to its content height, don't allow a custom + // view to MATCH_PARENT. + int customNavHeightMode; + if (mContentHeight <= 0) { + customNavHeightMode = MeasureSpec.AT_MOST; + } else { + customNavHeightMode = lp.height != LayoutParams.WRAP_CONTENT ? + MeasureSpec.EXACTLY : MeasureSpec.AT_MOST; + } + final int customNavHeight = Math.max(0, + (lp.height >= 0 ? Math.min(lp.height, height) : height) - verticalMargin); + + final int customNavWidthMode = lp.width != LayoutParams.WRAP_CONTENT ? + MeasureSpec.EXACTLY : MeasureSpec.AT_MOST; + int customNavWidth = Math.max(0, + (lp.width >= 0 ? Math.min(lp.width, availableWidth) : availableWidth) + - horizontalMargin); + final int hgrav = (ablp != null ? ablp.gravity : DEFAULT_CUSTOM_GRAVITY) & + Gravity.HORIZONTAL_GRAVITY_MASK; + + // Centering a custom view is treated specially; we try to center within the whole + // action bar rather than in the available space. + if (hgrav == Gravity.CENTER_HORIZONTAL && lp.width == LayoutParams.MATCH_PARENT) { + customNavWidth = Math.min(leftOfCenter, rightOfCenter) * 2; + } + + customView.measure( + MeasureSpec.makeMeasureSpec(customNavWidth, customNavWidthMode), + MeasureSpec.makeMeasureSpec(customNavHeight, customNavHeightMode)); + availableWidth -= horizontalMargin + customView.getMeasuredWidth(); + } + + if (mExpandedActionView == null && showTitle) { + availableWidth = measureChildView(mTitleLayout, availableWidth, + MeasureSpec.makeMeasureSpec(mContentHeight, MeasureSpec.EXACTLY), 0); + leftOfCenter = Math.max(0, leftOfCenter - mTitleLayout.getMeasuredWidth()); + } + + if (mContentHeight <= 0) { + int measuredHeight = 0; + for (int i = 0; i < childCount; i++) { + View v = getChildAt(i); + int paddedViewHeight = v.getMeasuredHeight() + verticalPadding; + if (paddedViewHeight > measuredHeight) { + measuredHeight = paddedViewHeight; + } + } + setMeasuredDimension(contentWidth, measuredHeight); + } else { + setMeasuredDimension(contentWidth, maxHeight); + } + + if (mContextView != null) { + mContextView.setContentHeight(getMeasuredHeight()); + } + + if (mProgressView != null && mProgressView.getVisibility() != GONE) { + mProgressView.measure(MeasureSpec.makeMeasureSpec( + contentWidth - mProgressBarPadding * 2, MeasureSpec.EXACTLY), + MeasureSpec.makeMeasureSpec(getMeasuredHeight(), MeasureSpec.AT_MOST)); + } + } + + @Override + protected void onLayout(boolean changed, int l, int t, int r, int b) { + int x = getPaddingLeft(); + final int y = getPaddingTop(); + final int contentHeight = b - t - getPaddingTop() - getPaddingBottom(); + + if (contentHeight <= 0) { + // Nothing to do if we can't see anything. + return; + } + + HomeView homeLayout = mExpandedActionView != null ? mExpandedHomeLayout : mHomeLayout; + if (homeLayout.getVisibility() != GONE) { + final int leftOffset = homeLayout.getLeftOffset(); + x += positionChild(homeLayout, x + leftOffset, y, contentHeight) + leftOffset; + } + + if (mExpandedActionView == null) { + final boolean showTitle = mTitleLayout != null && mTitleLayout.getVisibility() != GONE && + (mDisplayOptions & ActionBar.DISPLAY_SHOW_TITLE) != 0; + if (showTitle) { + x += positionChild(mTitleLayout, x, y, contentHeight); + } + + switch (mNavigationMode) { + case ActionBar.NAVIGATION_MODE_STANDARD: + break; + case ActionBar.NAVIGATION_MODE_LIST: + if (mListNavLayout != null) { + if (showTitle) x += mItemPadding; + x += positionChild(mListNavLayout, x, y, contentHeight) + mItemPadding; + } + break; + case ActionBar.NAVIGATION_MODE_TABS: + if (mTabScrollView != null) { + if (showTitle) x += mItemPadding; + x += positionChild(mTabScrollView, x, y, contentHeight) + mItemPadding; + } + break; + } + } + + int menuLeft = r - l - getPaddingRight(); + if (mMenuView != null && mMenuView.getParent() == this) { + positionChildInverse(mMenuView, menuLeft, y, contentHeight); + menuLeft -= mMenuView.getMeasuredWidth(); + } + + if (mIndeterminateProgressView != null && + mIndeterminateProgressView.getVisibility() != GONE) { + positionChildInverse(mIndeterminateProgressView, menuLeft, y, contentHeight); + menuLeft -= mIndeterminateProgressView.getMeasuredWidth(); + } + + View customView = null; + if (mExpandedActionView != null) { + customView = mExpandedActionView; + } else if ((mDisplayOptions & ActionBar.DISPLAY_SHOW_CUSTOM) != 0 && + mCustomNavView != null) { + customView = mCustomNavView; + } + if (customView != null) { + ViewGroup.LayoutParams lp = customView.getLayoutParams(); + final ActionBar.LayoutParams ablp = lp instanceof ActionBar.LayoutParams ? + (ActionBar.LayoutParams) lp : null; + + final int gravity = ablp != null ? ablp.gravity : DEFAULT_CUSTOM_GRAVITY; + final int navWidth = customView.getMeasuredWidth(); + + int topMargin = 0; + int bottomMargin = 0; + if (ablp != null) { + x += ablp.leftMargin; + menuLeft -= ablp.rightMargin; + topMargin = ablp.topMargin; + bottomMargin = ablp.bottomMargin; + } + + int hgravity = gravity & Gravity.HORIZONTAL_GRAVITY_MASK; + // See if we actually have room to truly center; if not push against left or right. + if (hgravity == Gravity.CENTER_HORIZONTAL) { + final int centeredLeft = ((getRight() - getLeft()) - navWidth) / 2; + if (centeredLeft < x) { + hgravity = Gravity.LEFT; + } else if (centeredLeft + navWidth > menuLeft) { + hgravity = Gravity.RIGHT; + } + } else if (gravity == -1) { + hgravity = Gravity.LEFT; + } + + int xpos = 0; + switch (hgravity) { + case Gravity.CENTER_HORIZONTAL: + xpos = ((getRight() - getLeft()) - navWidth) / 2; + break; + case Gravity.LEFT: + xpos = x; + break; + case Gravity.RIGHT: + xpos = menuLeft - navWidth; + break; + } + + int vgravity = gravity & Gravity.VERTICAL_GRAVITY_MASK; + + if (gravity == -1) { + vgravity = Gravity.CENTER_VERTICAL; + } + + int ypos = 0; + switch (vgravity) { + case Gravity.CENTER_VERTICAL: + final int paddedTop = getPaddingTop(); + final int paddedBottom = getBottom() - getTop() - getPaddingBottom(); + ypos = ((paddedBottom - paddedTop) - customView.getMeasuredHeight()) / 2; + break; + case Gravity.TOP: + ypos = getPaddingTop() + topMargin; + break; + case Gravity.BOTTOM: + ypos = getHeight() - getPaddingBottom() - customView.getMeasuredHeight() + - bottomMargin; + break; + } + final int customWidth = customView.getMeasuredWidth(); + customView.layout(xpos, ypos, xpos + customWidth, + ypos + customView.getMeasuredHeight()); + x += customWidth; + } + + if (mProgressView != null) { + mProgressView.bringToFront(); + final int halfProgressHeight = mProgressView.getMeasuredHeight() / 2; + mProgressView.layout(mProgressBarPadding, -halfProgressHeight, + mProgressBarPadding + mProgressView.getMeasuredWidth(), halfProgressHeight); + } + } + + @Override + public ViewGroup.LayoutParams generateLayoutParams(AttributeSet attrs) { + return new ActionBar.LayoutParams(getContext(), attrs); + } + + @Override + public ViewGroup.LayoutParams generateLayoutParams(ViewGroup.LayoutParams lp) { + if (lp == null) { + lp = generateDefaultLayoutParams(); + } + return lp; + } + + @Override + public Parcelable onSaveInstanceState() { + Parcelable superState = super.onSaveInstanceState(); + SavedState state = new SavedState(superState); + + if (mExpandedMenuPresenter != null && mExpandedMenuPresenter.mCurrentExpandedItem != null) { + state.expandedMenuItemId = mExpandedMenuPresenter.mCurrentExpandedItem.getItemId(); + } + + state.isOverflowOpen = isOverflowMenuShowing(); + + return state; + } + + @Override + public void onRestoreInstanceState(Parcelable p) { + SavedState state = (SavedState) p; + + super.onRestoreInstanceState(state.getSuperState()); + + if (state.expandedMenuItemId != 0 && + mExpandedMenuPresenter != null && mOptionsMenu != null) { + final MenuItem item = mOptionsMenu.findItem(state.expandedMenuItemId); + if (item != null) { + item.expandActionView(); + } + } + + if (state.isOverflowOpen) { + postShowOverflowMenu(); + } + } + + static class SavedState extends BaseSavedState { + int expandedMenuItemId; + boolean isOverflowOpen; + + SavedState(Parcelable superState) { + super(superState); + } + + private SavedState(Parcel in) { + super(in); + expandedMenuItemId = in.readInt(); + isOverflowOpen = in.readInt() != 0; + } + + @Override + public void writeToParcel(Parcel out, int flags) { + super.writeToParcel(out, flags); + out.writeInt(expandedMenuItemId); + out.writeInt(isOverflowOpen ? 1 : 0); + } + + public static final Parcelable.Creator CREATOR = + new Parcelable.Creator() { + public SavedState createFromParcel(Parcel in) { + return new SavedState(in); + } + + public SavedState[] newArray(int size) { + return new SavedState[size]; + } + }; + } + + public static class HomeView extends FrameLayout { + private View mUpView; + private ImageView mIconView; + private int mUpWidth; + + public HomeView(Context context) { + this(context, null); + } + + public HomeView(Context context, AttributeSet attrs) { + super(context, attrs); + } + + public void setUp(boolean isUp) { + mUpView.setVisibility(isUp ? VISIBLE : GONE); + } + + public void setIcon(Drawable icon) { + mIconView.setImageDrawable(icon); + } + + @Override + public boolean dispatchPopulateAccessibilityEvent(AccessibilityEvent event) { + onPopulateAccessibilityEvent(event); + return true; + } + + @Override + public void onPopulateAccessibilityEvent(AccessibilityEvent event) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) { + super.onPopulateAccessibilityEvent(event); + } + final CharSequence cdesc = getContentDescription(); + if (!TextUtils.isEmpty(cdesc)) { + event.getText().add(cdesc); + } + } + + @Override + public boolean dispatchHoverEvent(MotionEvent event) { + // Don't allow children to hover; we want this to be treated as a single component. + return onHoverEvent(event); + } + + @Override + protected void onFinishInflate() { + mUpView = findViewById(R.id.abs__up); + mIconView = (ImageView) findViewById(R.id.abs__home); + } + + public int getLeftOffset() { + return mUpView.getVisibility() == GONE ? mUpWidth : 0; + } + + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + measureChildWithMargins(mUpView, widthMeasureSpec, 0, heightMeasureSpec, 0); + final LayoutParams upLp = (LayoutParams) mUpView.getLayoutParams(); + mUpWidth = upLp.leftMargin + mUpView.getMeasuredWidth() + upLp.rightMargin; + int width = mUpView.getVisibility() == GONE ? 0 : mUpWidth; + int height = upLp.topMargin + mUpView.getMeasuredHeight() + upLp.bottomMargin; + measureChildWithMargins(mIconView, widthMeasureSpec, width, heightMeasureSpec, 0); + final LayoutParams iconLp = (LayoutParams) mIconView.getLayoutParams(); + width += iconLp.leftMargin + mIconView.getMeasuredWidth() + iconLp.rightMargin; + height = Math.max(height, + iconLp.topMargin + mIconView.getMeasuredHeight() + iconLp.bottomMargin); + + final int widthMode = MeasureSpec.getMode(widthMeasureSpec); + final int heightMode = MeasureSpec.getMode(heightMeasureSpec); + final int widthSize = MeasureSpec.getSize(widthMeasureSpec); + final int heightSize = MeasureSpec.getSize(heightMeasureSpec); + + switch (widthMode) { + case MeasureSpec.AT_MOST: + width = Math.min(width, widthSize); + break; + case MeasureSpec.EXACTLY: + width = widthSize; + break; + case MeasureSpec.UNSPECIFIED: + default: + break; + } + switch (heightMode) { + case MeasureSpec.AT_MOST: + height = Math.min(height, heightSize); + break; + case MeasureSpec.EXACTLY: + height = heightSize; + break; + case MeasureSpec.UNSPECIFIED: + default: + break; + } + setMeasuredDimension(width, height); + } + + @Override + protected void onLayout(boolean changed, int l, int t, int r, int b) { + final int vCenter = (b - t) / 2; + //UNUSED int width = r - l; + int upOffset = 0; + if (mUpView.getVisibility() != GONE) { + final LayoutParams upLp = (LayoutParams) mUpView.getLayoutParams(); + final int upHeight = mUpView.getMeasuredHeight(); + final int upWidth = mUpView.getMeasuredWidth(); + final int upTop = vCenter - upHeight / 2; + mUpView.layout(0, upTop, upWidth, upTop + upHeight); + upOffset = upLp.leftMargin + upWidth + upLp.rightMargin; + //UNUSED width -= upOffset; + l += upOffset; + } + final LayoutParams iconLp = (LayoutParams) mIconView.getLayoutParams(); + final int iconHeight = mIconView.getMeasuredHeight(); + final int iconWidth = mIconView.getMeasuredWidth(); + final int hCenter = (r - l) / 2; + final int iconLeft = upOffset + Math.max(iconLp.leftMargin, hCenter - iconWidth / 2); + final int iconTop = Math.max(iconLp.topMargin, vCenter - iconHeight / 2); + mIconView.layout(iconLeft, iconTop, iconLeft + iconWidth, iconTop + iconHeight); + } + } + + private class ExpandedActionViewMenuPresenter implements MenuPresenter { + MenuBuilder mMenu; + MenuItemImpl mCurrentExpandedItem; + + @Override + public void initForMenu(Context context, MenuBuilder menu) { + // Clear the expanded action view when menus change. + if (mMenu != null && mCurrentExpandedItem != null) { + mMenu.collapseItemActionView(mCurrentExpandedItem); + } + mMenu = menu; + } + + @Override + public MenuView getMenuView(ViewGroup root) { + return null; + } + + @Override + public void updateMenuView(boolean cleared) { + // Make sure the expanded item we have is still there. + if (mCurrentExpandedItem != null) { + boolean found = false; + + if (mMenu != null) { + final int count = mMenu.size(); + for (int i = 0; i < count; i++) { + final MenuItem item = mMenu.getItem(i); + if (item == mCurrentExpandedItem) { + found = true; + break; + } + } + } + + if (!found) { + // The item we had expanded disappeared. Collapse. + collapseItemActionView(mMenu, mCurrentExpandedItem); + } + } + } + + @Override + public void setCallback(Callback cb) { + } + + @Override + public boolean onSubMenuSelected(SubMenuBuilder subMenu) { + return false; + } + + @Override + public void onCloseMenu(MenuBuilder menu, boolean allMenusAreClosing) { + } + + @Override + public boolean flagActionItems() { + return false; + } + + @Override + public boolean expandItemActionView(MenuBuilder menu, MenuItemImpl item) { + mExpandedActionView = item.getActionView(); + mExpandedHomeLayout.setIcon(mIcon.getConstantState().newDrawable(/* TODO getResources() */)); + mCurrentExpandedItem = item; + if (mExpandedActionView.getParent() != ActionBarView.this) { + addView(mExpandedActionView); + } + if (mExpandedHomeLayout.getParent() != ActionBarView.this) { + addView(mExpandedHomeLayout); + } + mHomeLayout.setVisibility(GONE); + if (mTitleLayout != null) mTitleLayout.setVisibility(GONE); + if (mTabScrollView != null) mTabScrollView.setVisibility(GONE); + if (mSpinner != null) mSpinner.setVisibility(GONE); + if (mCustomNavView != null) mCustomNavView.setVisibility(GONE); + requestLayout(); + item.setActionViewExpanded(true); + + if (mExpandedActionView instanceof CollapsibleActionView) { + ((CollapsibleActionView) mExpandedActionView).onActionViewExpanded(); + } + + return true; + } + + @Override + public boolean collapseItemActionView(MenuBuilder menu, MenuItemImpl item) { + // Do this before detaching the actionview from the hierarchy, in case + // it needs to dismiss the soft keyboard, etc. + if (mExpandedActionView instanceof CollapsibleActionView) { + ((CollapsibleActionView) mExpandedActionView).onActionViewCollapsed(); + } + + removeView(mExpandedActionView); + removeView(mExpandedHomeLayout); + mExpandedActionView = null; + if ((mDisplayOptions & ActionBar.DISPLAY_SHOW_HOME) != 0) { + mHomeLayout.setVisibility(VISIBLE); + } + if ((mDisplayOptions & ActionBar.DISPLAY_SHOW_TITLE) != 0) { + if (mTitleLayout == null) { + initTitle(); + } else { + mTitleLayout.setVisibility(VISIBLE); + } + } + if (mTabScrollView != null && mNavigationMode == ActionBar.NAVIGATION_MODE_TABS) { + mTabScrollView.setVisibility(VISIBLE); + } + if (mSpinner != null && mNavigationMode == ActionBar.NAVIGATION_MODE_LIST) { + mSpinner.setVisibility(VISIBLE); + } + if (mCustomNavView != null && (mDisplayOptions & ActionBar.DISPLAY_SHOW_CUSTOM) != 0) { + mCustomNavView.setVisibility(VISIBLE); + } + mExpandedHomeLayout.setIcon(null); + mCurrentExpandedItem = null; + requestLayout(); + item.setActionViewExpanded(false); + + return true; + } + + @Override + public int getId() { + return 0; + } + + @Override + public Parcelable onSaveInstanceState() { + return null; + } + + @Override + public void onRestoreInstanceState(Parcelable state) { + } + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/CapitalizingButton.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/CapitalizingButton.java new file mode 100644 index 000000000..fa3698f3b --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/CapitalizingButton.java @@ -0,0 +1,40 @@ +package com.actionbarsherlock.internal.widget; + +import java.util.Locale; +import android.content.Context; +import android.content.res.TypedArray; +import android.os.Build; +import android.util.AttributeSet; +import android.widget.Button; + +public class CapitalizingButton extends Button { + private static final boolean SANS_ICE_CREAM = Build.VERSION.SDK_INT < Build.VERSION_CODES.ICE_CREAM_SANDWICH; + private static final boolean IS_GINGERBREAD = Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD; + + private static final int[] R_styleable_Button = new int[] { + android.R.attr.textAllCaps + }; + private static final int R_styleable_Button_textAllCaps = 0; + + private boolean mAllCaps; + + public CapitalizingButton(Context context, AttributeSet attrs) { + super(context, attrs); + + TypedArray a = context.obtainStyledAttributes(attrs, R_styleable_Button); + mAllCaps = a.getBoolean(R_styleable_Button_textAllCaps, true); + a.recycle(); + } + + public void setTextCompat(CharSequence text) { + if (SANS_ICE_CREAM && mAllCaps && text != null) { + if (IS_GINGERBREAD) { + setText(text.toString().toUpperCase(Locale.ROOT)); + } else { + setText(text.toString().toUpperCase()); + } + } else { + setText(text); + } + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/CapitalizingTextView.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/CapitalizingTextView.java new file mode 100644 index 000000000..cae8b8aed --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/CapitalizingTextView.java @@ -0,0 +1,50 @@ +package com.actionbarsherlock.internal.widget; + +import android.content.Context; +import android.content.res.TypedArray; +import android.os.Build; +import android.util.AttributeSet; +import android.widget.TextView; + +import java.util.Locale; + +public class CapitalizingTextView extends TextView { + private static final boolean SANS_ICE_CREAM = Build.VERSION.SDK_INT < Build.VERSION_CODES.ICE_CREAM_SANDWICH; + private static final boolean IS_GINGERBREAD = Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD; + + private static final int[] R_styleable_TextView = new int[] { + android.R.attr.textAllCaps + }; + private static final int R_styleable_TextView_textAllCaps = 0; + + private boolean mAllCaps; + + public CapitalizingTextView(Context context, AttributeSet attrs) { + this(context, attrs, 0); + } + + public CapitalizingTextView(Context context, AttributeSet attrs, int defStyle) { + super(context, attrs, defStyle); + + TypedArray a = context.obtainStyledAttributes(attrs, R_styleable_TextView, defStyle, 0); + mAllCaps = a.getBoolean(R_styleable_TextView_textAllCaps, true); + a.recycle(); + } + + public void setTextCompat(CharSequence text) { + if (SANS_ICE_CREAM && mAllCaps && text != null) { + if (IS_GINGERBREAD) { + try { + setText(text.toString().toUpperCase(Locale.ROOT)); + } catch (NoSuchFieldError e) { + //Some manufacturer broke Locale.ROOT. See #572. + setText(text.toString().toUpperCase()); + } + } else { + setText(text.toString().toUpperCase()); + } + } else { + setText(text); + } + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/CollapsibleActionViewWrapper.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/CollapsibleActionViewWrapper.java new file mode 100644 index 000000000..14f092c81 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/CollapsibleActionViewWrapper.java @@ -0,0 +1,30 @@ +package com.actionbarsherlock.internal.widget; + +import android.view.View; +import android.widget.FrameLayout; +import com.actionbarsherlock.view.CollapsibleActionView; + +/** + * Wraps an ABS collapsible action view in a native container that delegates the calls. + */ +public class CollapsibleActionViewWrapper extends FrameLayout implements android.view.CollapsibleActionView { + private final CollapsibleActionView child; + + public CollapsibleActionViewWrapper(View child) { + super(child.getContext()); + this.child = (CollapsibleActionView) child; + addView(child); + } + + @Override public void onActionViewExpanded() { + child.onActionViewExpanded(); + } + + @Override public void onActionViewCollapsed() { + child.onActionViewCollapsed(); + } + + public View unwrap() { + return getChildAt(0); + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/FakeDialogPhoneWindow.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/FakeDialogPhoneWindow.java new file mode 100644 index 000000000..ad1b4f0a8 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/FakeDialogPhoneWindow.java @@ -0,0 +1,64 @@ +package com.actionbarsherlock.internal.widget; + +import static android.view.View.MeasureSpec.EXACTLY; +import android.content.Context; +import android.content.res.TypedArray; +import android.util.AttributeSet; +import android.util.DisplayMetrics; +import android.util.TypedValue; +import android.widget.LinearLayout; +import com.actionbarsherlock.R; + +public class FakeDialogPhoneWindow extends LinearLayout { + final TypedValue mMinWidthMajor = new TypedValue(); + final TypedValue mMinWidthMinor = new TypedValue(); + + public FakeDialogPhoneWindow(Context context, AttributeSet attrs) { + super(context, attrs); + + TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.SherlockTheme); + + a.getValue(R.styleable.SherlockTheme_windowMinWidthMajor, mMinWidthMajor); + a.getValue(R.styleable.SherlockTheme_windowMinWidthMinor, mMinWidthMinor); + + a.recycle(); + } + + /* Stolen from PhoneWindow */ + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + final DisplayMetrics metrics = getContext().getResources().getDisplayMetrics(); + final boolean isPortrait = metrics.widthPixels < metrics.heightPixels; + + super.onMeasure(widthMeasureSpec, heightMeasureSpec); + + int width = getMeasuredWidth(); + boolean measure = false; + + widthMeasureSpec = MeasureSpec.makeMeasureSpec(width, EXACTLY); + + final TypedValue tv = isPortrait ? mMinWidthMinor : mMinWidthMajor; + + if (tv.type != TypedValue.TYPE_NULL) { + final int min; + if (tv.type == TypedValue.TYPE_DIMENSION) { + min = (int)tv.getDimension(metrics); + } else if (tv.type == TypedValue.TYPE_FRACTION) { + min = (int)tv.getFraction(metrics.widthPixels, metrics.widthPixels); + } else { + min = 0; + } + + if (width < min) { + widthMeasureSpec = MeasureSpec.makeMeasureSpec(min, EXACTLY); + measure = true; + } + } + + // TODO: Support height? + + if (measure) { + super.onMeasure(widthMeasureSpec, heightMeasureSpec); + } + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/IcsAbsSpinner.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/IcsAbsSpinner.java new file mode 100644 index 000000000..ce0cb3bca --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/IcsAbsSpinner.java @@ -0,0 +1,479 @@ +/* + * 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.database.DataSetObserver; +import android.graphics.Rect; +import android.os.Build; +import android.os.Parcel; +import android.os.Parcelable; +import android.util.AttributeSet; +import android.util.SparseArray; +import android.view.View; +import android.view.ViewGroup; +import android.widget.SpinnerAdapter; + +/** + * An abstract base class for spinner widgets. SDK users will probably not + * need to use this class. + * + * @attr ref android.R.styleable#AbsSpinner_entries + */ +public abstract class IcsAbsSpinner extends IcsAdapterView { + private static final boolean IS_HONEYCOMB = Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB; + + SpinnerAdapter mAdapter; + + int mHeightMeasureSpec; + int mWidthMeasureSpec; + boolean mBlockLayoutRequests; + + int mSelectionLeftPadding = 0; + int mSelectionTopPadding = 0; + int mSelectionRightPadding = 0; + int mSelectionBottomPadding = 0; + final Rect mSpinnerPadding = new Rect(); + + final RecycleBin mRecycler = new RecycleBin(); + private DataSetObserver mDataSetObserver; + + /** Temporary frame to hold a child View's frame rectangle */ + private Rect mTouchFrame; + + public IcsAbsSpinner(Context context) { + super(context); + initAbsSpinner(); + } + + public IcsAbsSpinner(Context context, AttributeSet attrs) { + this(context, attrs, 0); + } + + public IcsAbsSpinner(Context context, AttributeSet attrs, int defStyle) { + super(context, attrs, defStyle); + initAbsSpinner(); + + /* + TypedArray a = context.obtainStyledAttributes(attrs, + com.android.internal.R.styleable.AbsSpinner, defStyle, 0); + + CharSequence[] entries = a.getTextArray(R.styleable.AbsSpinner_entries); + if (entries != null) { + ArrayAdapter adapter = + new ArrayAdapter(context, + R.layout.simple_spinner_item, entries); + adapter.setDropDownViewResource(R.layout.simple_spinner_dropdown_item); + setAdapter(adapter); + } + + a.recycle(); + */ + } + + /** + * Common code for different constructor flavors + */ + private void initAbsSpinner() { + setFocusable(true); + setWillNotDraw(false); + } + + /** + * The Adapter is used to provide the data which backs this Spinner. + * It also provides methods to transform spinner items based on their position + * relative to the selected item. + * @param adapter The SpinnerAdapter to use for this Spinner + */ + @Override + public void setAdapter(SpinnerAdapter adapter) { + if (null != mAdapter) { + mAdapter.unregisterDataSetObserver(mDataSetObserver); + resetList(); + } + + mAdapter = adapter; + + mOldSelectedPosition = INVALID_POSITION; + mOldSelectedRowId = INVALID_ROW_ID; + + if (mAdapter != null) { + mOldItemCount = mItemCount; + mItemCount = mAdapter.getCount(); + checkFocus(); + + mDataSetObserver = new AdapterDataSetObserver(); + mAdapter.registerDataSetObserver(mDataSetObserver); + + int position = mItemCount > 0 ? 0 : INVALID_POSITION; + + setSelectedPositionInt(position); + setNextSelectedPositionInt(position); + + if (mItemCount == 0) { + // Nothing selected + checkSelectionChanged(); + } + + } else { + checkFocus(); + resetList(); + // Nothing selected + checkSelectionChanged(); + } + + requestLayout(); + } + + /** + * Clear out all children from the list + */ + void resetList() { + mDataChanged = false; + mNeedSync = false; + + removeAllViewsInLayout(); + mOldSelectedPosition = INVALID_POSITION; + mOldSelectedRowId = INVALID_ROW_ID; + + setSelectedPositionInt(INVALID_POSITION); + setNextSelectedPositionInt(INVALID_POSITION); + invalidate(); + } + + /** + * @see android.view.View#measure(int, int) + * + * Figure out the dimensions of this Spinner. The width comes from + * the widthMeasureSpec as Spinnners can't have their width set to + * UNSPECIFIED. The height is based on the height of the selected item + * plus padding. + */ + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + int widthMode = MeasureSpec.getMode(widthMeasureSpec); + int widthSize; + int heightSize; + + final int mPaddingLeft = getPaddingLeft(); + final int mPaddingTop = getPaddingTop(); + final int mPaddingRight = getPaddingRight(); + final int mPaddingBottom = getPaddingBottom(); + + mSpinnerPadding.left = mPaddingLeft > mSelectionLeftPadding ? mPaddingLeft + : mSelectionLeftPadding; + mSpinnerPadding.top = mPaddingTop > mSelectionTopPadding ? mPaddingTop + : mSelectionTopPadding; + mSpinnerPadding.right = mPaddingRight > mSelectionRightPadding ? mPaddingRight + : mSelectionRightPadding; + mSpinnerPadding.bottom = mPaddingBottom > mSelectionBottomPadding ? mPaddingBottom + : mSelectionBottomPadding; + + if (mDataChanged) { + handleDataChanged(); + } + + int preferredHeight = 0; + int preferredWidth = 0; + boolean needsMeasuring = true; + + int selectedPosition = getSelectedItemPosition(); + if (selectedPosition >= 0 && mAdapter != null && selectedPosition < mAdapter.getCount()) { + // Try looking in the recycler. (Maybe we were measured once already) + View view = mRecycler.get(selectedPosition); + if (view == null) { + // Make a new one + view = mAdapter.getView(selectedPosition, null, this); + } + + if (view != null) { + // Put in recycler for re-measuring and/or layout + mRecycler.put(selectedPosition, view); + } + + if (view != null) { + if (view.getLayoutParams() == null) { + mBlockLayoutRequests = true; + view.setLayoutParams(generateDefaultLayoutParams()); + mBlockLayoutRequests = false; + } + measureChild(view, widthMeasureSpec, heightMeasureSpec); + + preferredHeight = getChildHeight(view) + mSpinnerPadding.top + mSpinnerPadding.bottom; + preferredWidth = getChildWidth(view) + mSpinnerPadding.left + mSpinnerPadding.right; + + needsMeasuring = false; + } + } + + if (needsMeasuring) { + // No views -- just use padding + preferredHeight = mSpinnerPadding.top + mSpinnerPadding.bottom; + if (widthMode == MeasureSpec.UNSPECIFIED) { + preferredWidth = mSpinnerPadding.left + mSpinnerPadding.right; + } + } + + preferredHeight = Math.max(preferredHeight, getSuggestedMinimumHeight()); + preferredWidth = Math.max(preferredWidth, getSuggestedMinimumWidth()); + + if (IS_HONEYCOMB) { + heightSize = resolveSizeAndState(preferredHeight, heightMeasureSpec, 0); + widthSize = resolveSizeAndState(preferredWidth, widthMeasureSpec, 0); + } else { + heightSize = resolveSize(preferredHeight, heightMeasureSpec); + widthSize = resolveSize(preferredWidth, widthMeasureSpec); + } + + setMeasuredDimension(widthSize, heightSize); + mHeightMeasureSpec = heightMeasureSpec; + mWidthMeasureSpec = widthMeasureSpec; + } + + int getChildHeight(View child) { + return child.getMeasuredHeight(); + } + + int getChildWidth(View child) { + return child.getMeasuredWidth(); + } + + @Override + protected ViewGroup.LayoutParams generateDefaultLayoutParams() { + return new ViewGroup.LayoutParams( + ViewGroup.LayoutParams.MATCH_PARENT, + ViewGroup.LayoutParams.WRAP_CONTENT); + } + + void recycleAllViews() { + final int childCount = getChildCount(); + final IcsAbsSpinner.RecycleBin recycleBin = mRecycler; + final int position = mFirstPosition; + + // All views go in recycler + for (int i = 0; i < childCount; i++) { + View v = getChildAt(i); + int index = position + i; + recycleBin.put(index, v); + } + } + + /** + * Jump directly to a specific item in the adapter data. + */ + public void setSelection(int position, boolean animate) { + // Animate only if requested position is already on screen somewhere + boolean shouldAnimate = animate && mFirstPosition <= position && + position <= mFirstPosition + getChildCount() - 1; + setSelectionInt(position, shouldAnimate); + } + + @Override + public void setSelection(int position) { + setNextSelectedPositionInt(position); + requestLayout(); + invalidate(); + } + + + /** + * Makes the item at the supplied position selected. + * + * @param position Position to select + * @param animate Should the transition be animated + * + */ + void setSelectionInt(int position, boolean animate) { + if (position != mOldSelectedPosition) { + mBlockLayoutRequests = true; + int delta = position - mSelectedPosition; + setNextSelectedPositionInt(position); + layout(delta, animate); + mBlockLayoutRequests = false; + } + } + + abstract void layout(int delta, boolean animate); + + @Override + public View getSelectedView() { + if (mItemCount > 0 && mSelectedPosition >= 0) { + return getChildAt(mSelectedPosition - mFirstPosition); + } else { + return null; + } + } + + /** + * Override to prevent spamming ourselves with layout requests + * as we place views + * + * @see android.view.View#requestLayout() + */ + @Override + public void requestLayout() { + if (!mBlockLayoutRequests) { + super.requestLayout(); + } + } + + @Override + public SpinnerAdapter getAdapter() { + return mAdapter; + } + + @Override + public int getCount() { + return mItemCount; + } + + /** + * Maps a point to a position in the list. + * + * @param x X in local coordinate + * @param y Y in local coordinate + * @return The position of the item which contains the specified point, or + * {@link #INVALID_POSITION} if the point does not intersect an item. + */ + public int pointToPosition(int x, int y) { + Rect frame = mTouchFrame; + if (frame == null) { + mTouchFrame = new Rect(); + frame = mTouchFrame; + } + + final int count = getChildCount(); + for (int i = count - 1; i >= 0; i--) { + View child = getChildAt(i); + if (child.getVisibility() == View.VISIBLE) { + child.getHitRect(frame); + if (frame.contains(x, y)) { + return mFirstPosition + i; + } + } + } + return INVALID_POSITION; + } + + static class SavedState extends BaseSavedState { + long selectedId; + int position; + + /** + * Constructor called from {@link AbsSpinner#onSaveInstanceState()} + */ + SavedState(Parcelable superState) { + super(superState); + } + + /** + * Constructor called from {@link #CREATOR} + */ + private SavedState(Parcel in) { + super(in); + selectedId = in.readLong(); + position = in.readInt(); + } + + @Override + public void writeToParcel(Parcel out, int flags) { + super.writeToParcel(out, flags); + out.writeLong(selectedId); + out.writeInt(position); + } + + @Override + public String toString() { + return "AbsSpinner.SavedState{" + + Integer.toHexString(System.identityHashCode(this)) + + " selectedId=" + selectedId + + " position=" + position + "}"; + } + + public static final Parcelable.Creator CREATOR + = new Parcelable.Creator() { + public SavedState createFromParcel(Parcel in) { + return new SavedState(in); + } + + public SavedState[] newArray(int size) { + return new SavedState[size]; + } + }; + } + + @Override + public Parcelable onSaveInstanceState() { + Parcelable superState = super.onSaveInstanceState(); + SavedState ss = new SavedState(superState); + ss.selectedId = getSelectedItemId(); + if (ss.selectedId >= 0) { + ss.position = getSelectedItemPosition(); + } else { + ss.position = INVALID_POSITION; + } + return ss; + } + + @Override + public void onRestoreInstanceState(Parcelable state) { + SavedState ss = (SavedState) state; + + super.onRestoreInstanceState(ss.getSuperState()); + + if (ss.selectedId >= 0) { + mDataChanged = true; + mNeedSync = true; + mSyncRowId = ss.selectedId; + mSyncPosition = ss.position; + mSyncMode = SYNC_SELECTED_POSITION; + requestLayout(); + } + } + + class RecycleBin { + private final SparseArray mScrapHeap = new SparseArray(); + + public void put(int position, View v) { + mScrapHeap.put(position, v); + } + + View get(int position) { + // System.out.print("Looking for " + position); + View result = mScrapHeap.get(position); + if (result != null) { + // System.out.println(" HIT"); + mScrapHeap.delete(position); + } else { + // System.out.println(" MISS"); + } + return result; + } + + void clear() { + final SparseArray scrapHeap = mScrapHeap; + final int count = scrapHeap.size(); + for (int i = 0; i < count; i++) { + final View view = scrapHeap.valueAt(i); + if (view != null) { + removeDetachedView(view, true); + } + } + scrapHeap.clear(); + } + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/IcsAdapterView.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/IcsAdapterView.java new file mode 100644 index 000000000..c786dc5c1 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/IcsAdapterView.java @@ -0,0 +1,1160 @@ +/* + * 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.database.DataSetObserver; +import android.os.Parcelable; +import android.os.SystemClock; +import android.util.AttributeSet; +import android.util.SparseArray; +import android.view.ContextMenu; +import android.view.SoundEffectConstants; +import android.view.View; +import android.view.ViewDebug; +import android.view.ViewGroup; +import android.view.accessibility.AccessibilityEvent; +import android.view.accessibility.AccessibilityNodeInfo; +import android.widget.Adapter; +import android.widget.AdapterView.OnItemClickListener; +import android.widget.ListView; + + +/** + * An AdapterView is a view whose children are determined by an {@link Adapter}. + * + *

      + * See {@link ListView}, {@link GridView}, {@link Spinner} and + * {@link Gallery} for commonly used subclasses of AdapterView. + * + *

      + *

      Developer Guides

      + *

      For more information about using AdapterView, read the + * Binding to Data with AdapterView + * developer guide.

      + */ +public abstract class IcsAdapterView extends ViewGroup { + + /** + * The item view type returned by {@link Adapter#getItemViewType(int)} when + * the adapter does not want the item's view recycled. + */ + public static final int ITEM_VIEW_TYPE_IGNORE = -1; + + /** + * The item view type returned by {@link Adapter#getItemViewType(int)} when + * the item is a header or footer. + */ + public static final int ITEM_VIEW_TYPE_HEADER_OR_FOOTER = -2; + + /** + * The position of the first child displayed + */ + @ViewDebug.ExportedProperty(category = "scrolling") + int mFirstPosition = 0; + + /** + * The offset in pixels from the top of the AdapterView to the top + * of the view to select during the next layout. + */ + int mSpecificTop; + + /** + * Position from which to start looking for mSyncRowId + */ + int mSyncPosition; + + /** + * Row id to look for when data has changed + */ + long mSyncRowId = INVALID_ROW_ID; + + /** + * Height of the view when mSyncPosition and mSyncRowId where set + */ + long mSyncHeight; + + /** + * True if we need to sync to mSyncRowId + */ + boolean mNeedSync = false; + + /** + * Indicates whether to sync based on the selection or position. Possible + * values are {@link #SYNC_SELECTED_POSITION} or + * {@link #SYNC_FIRST_POSITION}. + */ + int mSyncMode; + + /** + * Our height after the last layout + */ + private int mLayoutHeight; + + /** + * Sync based on the selected child + */ + static final int SYNC_SELECTED_POSITION = 0; + + /** + * Sync based on the first child displayed + */ + static final int SYNC_FIRST_POSITION = 1; + + /** + * Maximum amount of time to spend in {@link #findSyncPosition()} + */ + static final int SYNC_MAX_DURATION_MILLIS = 100; + + /** + * Indicates that this view is currently being laid out. + */ + boolean mInLayout = false; + + /** + * The listener that receives notifications when an item is selected. + */ + OnItemSelectedListener mOnItemSelectedListener; + + /** + * The listener that receives notifications when an item is clicked. + */ + OnItemClickListener mOnItemClickListener; + + /** + * The listener that receives notifications when an item is long clicked. + */ + OnItemLongClickListener mOnItemLongClickListener; + + /** + * True if the data has changed since the last layout + */ + boolean mDataChanged; + + /** + * The position within the adapter's data set of the item to select + * during the next layout. + */ + @ViewDebug.ExportedProperty(category = "list") + int mNextSelectedPosition = INVALID_POSITION; + + /** + * The item id of the item to select during the next layout. + */ + long mNextSelectedRowId = INVALID_ROW_ID; + + /** + * The position within the adapter's data set of the currently selected item. + */ + @ViewDebug.ExportedProperty(category = "list") + int mSelectedPosition = INVALID_POSITION; + + /** + * The item id of the currently selected item. + */ + long mSelectedRowId = INVALID_ROW_ID; + + /** + * View to show if there are no items to show. + */ + private View mEmptyView; + + /** + * The number of items in the current adapter. + */ + @ViewDebug.ExportedProperty(category = "list") + int mItemCount; + + /** + * The number of items in the adapter before a data changed event occurred. + */ + int mOldItemCount; + + /** + * Represents an invalid position. All valid positions are in the range 0 to 1 less than the + * number of items in the current adapter. + */ + public static final int INVALID_POSITION = -1; + + /** + * Represents an empty or invalid row id + */ + public static final long INVALID_ROW_ID = Long.MIN_VALUE; + + /** + * The last selected position we used when notifying + */ + int mOldSelectedPosition = INVALID_POSITION; + + /** + * The id of the last selected position we used when notifying + */ + long mOldSelectedRowId = INVALID_ROW_ID; + + /** + * Indicates what focusable state is requested when calling setFocusable(). + * In addition to this, this view has other criteria for actually + * determining the focusable state (such as whether its empty or the text + * filter is shown). + * + * @see #setFocusable(boolean) + * @see #checkFocus() + */ + private boolean mDesiredFocusableState; + private boolean mDesiredFocusableInTouchModeState; + + private SelectionNotifier mSelectionNotifier; + /** + * When set to true, calls to requestLayout() will not propagate up the parent hierarchy. + * This is used to layout the children during a layout pass. + */ + boolean mBlockLayoutRequests = false; + + public IcsAdapterView(Context context) { + super(context); + } + + public IcsAdapterView(Context context, AttributeSet attrs) { + super(context, attrs); + } + + public IcsAdapterView(Context context, AttributeSet attrs, int defStyle) { + super(context, attrs, defStyle); + } + + /** + * Register a callback to be invoked when an item in this AdapterView has + * been clicked. + * + * @param listener The callback that will be invoked. + */ + public void setOnItemClickListener(OnItemClickListener listener) { + mOnItemClickListener = listener; + } + + /** + * @return The callback to be invoked with an item in this AdapterView has + * been clicked, or null id no callback has been set. + */ + public final OnItemClickListener getOnItemClickListener() { + return mOnItemClickListener; + } + + /** + * Call the OnItemClickListener, if it is defined. + * + * @param view The view within the AdapterView that was clicked. + * @param position The position of the view in the adapter. + * @param id The row id of the item that was clicked. + * @return True if there was an assigned OnItemClickListener that was + * called, false otherwise is returned. + */ + public boolean performItemClick(View view, int position, long id) { + if (mOnItemClickListener != null) { + playSoundEffect(SoundEffectConstants.CLICK); + if (view != null) { + view.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_CLICKED); + } + mOnItemClickListener.onItemClick(/*this*/null, view, position, id); + return true; + } + + return false; + } + + /** + * Interface definition for a callback to be invoked when an item in this + * view has been clicked and held. + */ + public interface OnItemLongClickListener { + /** + * Callback method to be invoked when an item in this view has been + * clicked and held. + * + * Implementers can call getItemAtPosition(position) if they need to access + * the data associated with the selected item. + * + * @param parent The AbsListView where the click happened + * @param view The view within the AbsListView that was clicked + * @param position The position of the view in the list + * @param id The row id of the item that was clicked + * + * @return true if the callback consumed the long click, false otherwise + */ + boolean onItemLongClick(IcsAdapterView parent, View view, int position, long id); + } + + + /** + * Register a callback to be invoked when an item in this AdapterView has + * been clicked and held + * + * @param listener The callback that will run + */ + public void setOnItemLongClickListener(OnItemLongClickListener listener) { + if (!isLongClickable()) { + setLongClickable(true); + } + mOnItemLongClickListener = listener; + } + + /** + * @return The callback to be invoked with an item in this AdapterView has + * been clicked and held, or null id no callback as been set. + */ + public final OnItemLongClickListener getOnItemLongClickListener() { + return mOnItemLongClickListener; + } + + /** + * Interface definition for a callback to be invoked when + * an item in this view has been selected. + */ + public interface OnItemSelectedListener { + /** + *

      Callback method to be invoked when an item in this view has been + * selected. This callback is invoked only when the newly selected + * position is different from the previously selected position or if + * there was no selected item.

      + * + * Impelmenters can call getItemAtPosition(position) if they need to access the + * data associated with the selected item. + * + * @param parent The AdapterView where the selection happened + * @param view The view within the AdapterView that was clicked + * @param position The position of the view in the adapter + * @param id The row id of the item that is selected + */ + void onItemSelected(IcsAdapterView parent, View view, int position, long id); + + /** + * Callback method to be invoked when the selection disappears from this + * view. The selection can disappear for instance when touch is activated + * or when the adapter becomes empty. + * + * @param parent The AdapterView that now contains no selected item. + */ + void onNothingSelected(IcsAdapterView parent); + } + + + /** + * Register a callback to be invoked when an item in this AdapterView has + * been selected. + * + * @param listener The callback that will run + */ + public void setOnItemSelectedListener(OnItemSelectedListener listener) { + mOnItemSelectedListener = listener; + } + + public final OnItemSelectedListener getOnItemSelectedListener() { + return mOnItemSelectedListener; + } + + /** + * Extra menu information provided to the + * {@link android.view.View.OnCreateContextMenuListener#onCreateContextMenu(ContextMenu, View, ContextMenuInfo) } + * callback when a context menu is brought up for this AdapterView. + * + */ + public static class AdapterContextMenuInfo implements ContextMenu.ContextMenuInfo { + + public AdapterContextMenuInfo(View targetView, int position, long id) { + this.targetView = targetView; + this.position = position; + this.id = id; + } + + /** + * The child view for which the context menu is being displayed. This + * will be one of the children of this AdapterView. + */ + public View targetView; + + /** + * The position in the adapter for which the context menu is being + * displayed. + */ + public int position; + + /** + * The row id of the item for which the context menu is being displayed. + */ + public long id; + } + + /** + * Returns the adapter currently associated with this widget. + * + * @return The adapter used to provide this view's content. + */ + public abstract T getAdapter(); + + /** + * Sets the adapter that provides the data and the views to represent the data + * in this widget. + * + * @param adapter The adapter to use to create this view's content. + */ + public abstract void setAdapter(T adapter); + + /** + * This method is not supported and throws an UnsupportedOperationException when called. + * + * @param child Ignored. + * + * @throws UnsupportedOperationException Every time this method is invoked. + */ + @Override + public void addView(View child) { + throw new UnsupportedOperationException("addView(View) is not supported in AdapterView"); + } + + /** + * This method is not supported and throws an UnsupportedOperationException when called. + * + * @param child Ignored. + * @param index Ignored. + * + * @throws UnsupportedOperationException Every time this method is invoked. + */ + @Override + public void addView(View child, int index) { + throw new UnsupportedOperationException("addView(View, int) is not supported in AdapterView"); + } + + /** + * This method is not supported and throws an UnsupportedOperationException when called. + * + * @param child Ignored. + * @param params Ignored. + * + * @throws UnsupportedOperationException Every time this method is invoked. + */ + @Override + public void addView(View child, LayoutParams params) { + throw new UnsupportedOperationException("addView(View, LayoutParams) " + + "is not supported in AdapterView"); + } + + /** + * This method is not supported and throws an UnsupportedOperationException when called. + * + * @param child Ignored. + * @param index Ignored. + * @param params Ignored. + * + * @throws UnsupportedOperationException Every time this method is invoked. + */ + @Override + public void addView(View child, int index, LayoutParams params) { + throw new UnsupportedOperationException("addView(View, int, LayoutParams) " + + "is not supported in AdapterView"); + } + + /** + * This method is not supported and throws an UnsupportedOperationException when called. + * + * @param child Ignored. + * + * @throws UnsupportedOperationException Every time this method is invoked. + */ + @Override + public void removeView(View child) { + throw new UnsupportedOperationException("removeView(View) is not supported in AdapterView"); + } + + /** + * This method is not supported and throws an UnsupportedOperationException when called. + * + * @param index Ignored. + * + * @throws UnsupportedOperationException Every time this method is invoked. + */ + @Override + public void removeViewAt(int index) { + throw new UnsupportedOperationException("removeViewAt(int) is not supported in AdapterView"); + } + + /** + * This method is not supported and throws an UnsupportedOperationException when called. + * + * @throws UnsupportedOperationException Every time this method is invoked. + */ + @Override + public void removeAllViews() { + throw new UnsupportedOperationException("removeAllViews() is not supported in AdapterView"); + } + + @Override + protected void onLayout(boolean changed, int left, int top, int right, int bottom) { + mLayoutHeight = getHeight(); + } + + /** + * Return the position of the currently selected item within the adapter's data set + * + * @return int Position (starting at 0), or {@link #INVALID_POSITION} if there is nothing selected. + */ + @ViewDebug.CapturedViewProperty + public int getSelectedItemPosition() { + return mNextSelectedPosition; + } + + /** + * @return The id corresponding to the currently selected item, or {@link #INVALID_ROW_ID} + * if nothing is selected. + */ + @ViewDebug.CapturedViewProperty + public long getSelectedItemId() { + return mNextSelectedRowId; + } + + /** + * @return The view corresponding to the currently selected item, or null + * if nothing is selected + */ + public abstract View getSelectedView(); + + /** + * @return The data corresponding to the currently selected item, or + * null if there is nothing selected. + */ + public Object getSelectedItem() { + T adapter = getAdapter(); + int selection = getSelectedItemPosition(); + if (adapter != null && adapter.getCount() > 0 && selection >= 0) { + return adapter.getItem(selection); + } else { + return null; + } + } + + /** + * @return The number of items owned by the Adapter associated with this + * AdapterView. (This is the number of data items, which may be + * larger than the number of visible views.) + */ + @ViewDebug.CapturedViewProperty + public int getCount() { + return mItemCount; + } + + /** + * Get the position within the adapter's data set for the view, where view is a an adapter item + * or a descendant of an adapter item. + * + * @param view an adapter item, or a descendant of an adapter item. This must be visible in this + * AdapterView at the time of the call. + * @return the position within the adapter's data set of the view, or {@link #INVALID_POSITION} + * if the view does not correspond to a list item (or it is not currently visible). + */ + public int getPositionForView(View view) { + View listItem = view; + try { + View v; + while (!(v = (View) listItem.getParent()).equals(this)) { + listItem = v; + } + } catch (ClassCastException e) { + // We made it up to the window without find this list view + return INVALID_POSITION; + } + + // Search the children for the list item + final int childCount = getChildCount(); + for (int i = 0; i < childCount; i++) { + if (getChildAt(i).equals(listItem)) { + return mFirstPosition + i; + } + } + + // Child not found! + return INVALID_POSITION; + } + + /** + * Returns the position within the adapter's data set for the first item + * displayed on screen. + * + * @return The position within the adapter's data set + */ + public int getFirstVisiblePosition() { + return mFirstPosition; + } + + /** + * Returns the position within the adapter's data set for the last item + * displayed on screen. + * + * @return The position within the adapter's data set + */ + public int getLastVisiblePosition() { + return mFirstPosition + getChildCount() - 1; + } + + /** + * Sets the currently selected item. To support accessibility subclasses that + * override this method must invoke the overriden super method first. + * + * @param position Index (starting at 0) of the data item to be selected. + */ + public abstract void setSelection(int position); + + /** + * Sets the view to show if the adapter is empty + */ + public void setEmptyView(View emptyView) { + mEmptyView = emptyView; + + final T adapter = getAdapter(); + final boolean empty = ((adapter == null) || adapter.isEmpty()); + updateEmptyStatus(empty); + } + + /** + * When the current adapter is empty, the AdapterView can display a special view + * call the empty view. The empty view is used to provide feedback to the user + * that no data is available in this AdapterView. + * + * @return The view to show if the adapter is empty. + */ + public View getEmptyView() { + return mEmptyView; + } + + /** + * Indicates whether this view is in filter mode. Filter mode can for instance + * be enabled by a user when typing on the keyboard. + * + * @return True if the view is in filter mode, false otherwise. + */ + boolean isInFilterMode() { + return false; + } + + @Override + public void setFocusable(boolean focusable) { + final T adapter = getAdapter(); + final boolean empty = adapter == null || adapter.getCount() == 0; + + mDesiredFocusableState = focusable; + if (!focusable) { + mDesiredFocusableInTouchModeState = false; + } + + super.setFocusable(focusable && (!empty || isInFilterMode())); + } + + @Override + public void setFocusableInTouchMode(boolean focusable) { + final T adapter = getAdapter(); + final boolean empty = adapter == null || adapter.getCount() == 0; + + mDesiredFocusableInTouchModeState = focusable; + if (focusable) { + mDesiredFocusableState = true; + } + + super.setFocusableInTouchMode(focusable && (!empty || isInFilterMode())); + } + + void checkFocus() { + final T adapter = getAdapter(); + final boolean empty = adapter == null || adapter.getCount() == 0; + final boolean focusable = !empty || isInFilterMode(); + // The order in which we set focusable in touch mode/focusable may matter + // for the client, see View.setFocusableInTouchMode() comments for more + // details + super.setFocusableInTouchMode(focusable && mDesiredFocusableInTouchModeState); + super.setFocusable(focusable && mDesiredFocusableState); + if (mEmptyView != null) { + updateEmptyStatus((adapter == null) || adapter.isEmpty()); + } + } + + /** + * Update the status of the list based on the empty parameter. If empty is true and + * we have an empty view, display it. In all the other cases, make sure that the listview + * is VISIBLE and that the empty view is GONE (if it's not null). + */ + private void updateEmptyStatus(boolean empty) { + if (isInFilterMode()) { + empty = false; + } + + if (empty) { + if (mEmptyView != null) { + mEmptyView.setVisibility(View.VISIBLE); + setVisibility(View.GONE); + } else { + // If the caller just removed our empty view, make sure the list view is visible + setVisibility(View.VISIBLE); + } + + // We are now GONE, so pending layouts will not be dispatched. + // Force one here to make sure that the state of the list matches + // the state of the adapter. + if (mDataChanged) { + this.onLayout(false, getLeft(), getTop(), getRight(), getBottom()); + } + } else { + if (mEmptyView != null) mEmptyView.setVisibility(View.GONE); + setVisibility(View.VISIBLE); + } + } + + /** + * Gets the data associated with the specified position in the list. + * + * @param position Which data to get + * @return The data associated with the specified position in the list + */ + public Object getItemAtPosition(int position) { + T adapter = getAdapter(); + return (adapter == null || position < 0) ? null : adapter.getItem(position); + } + + public long getItemIdAtPosition(int position) { + T adapter = getAdapter(); + return (adapter == null || position < 0) ? INVALID_ROW_ID : adapter.getItemId(position); + } + + @Override + public void setOnClickListener(OnClickListener l) { + throw new RuntimeException("Don't call setOnClickListener for an AdapterView. " + + "You probably want setOnItemClickListener instead"); + } + + /** + * Override to prevent freezing of any views created by the adapter. + */ + @Override + protected void dispatchSaveInstanceState(SparseArray container) { + dispatchFreezeSelfOnly(container); + } + + /** + * Override to prevent thawing of any views created by the adapter. + */ + @Override + protected void dispatchRestoreInstanceState(SparseArray container) { + dispatchThawSelfOnly(container); + } + + class AdapterDataSetObserver extends DataSetObserver { + + private Parcelable mInstanceState = null; + + @Override + public void onChanged() { + mDataChanged = true; + mOldItemCount = mItemCount; + mItemCount = getAdapter().getCount(); + + // Detect the case where a cursor that was previously invalidated has + // been repopulated with new data. + if (IcsAdapterView.this.getAdapter().hasStableIds() && mInstanceState != null + && mOldItemCount == 0 && mItemCount > 0) { + IcsAdapterView.this.onRestoreInstanceState(mInstanceState); + mInstanceState = null; + } else { + rememberSyncState(); + } + checkFocus(); + requestLayout(); + } + + @Override + public void onInvalidated() { + mDataChanged = true; + + if (IcsAdapterView.this.getAdapter().hasStableIds()) { + // Remember the current state for the case where our hosting activity is being + // stopped and later restarted + mInstanceState = IcsAdapterView.this.onSaveInstanceState(); + } + + // Data is invalid so we should reset our state + mOldItemCount = mItemCount; + mItemCount = 0; + mSelectedPosition = INVALID_POSITION; + mSelectedRowId = INVALID_ROW_ID; + mNextSelectedPosition = INVALID_POSITION; + mNextSelectedRowId = INVALID_ROW_ID; + mNeedSync = false; + + checkFocus(); + requestLayout(); + } + + public void clearSavedState() { + mInstanceState = null; + } + } + + @Override + protected void onDetachedFromWindow() { + super.onDetachedFromWindow(); + removeCallbacks(mSelectionNotifier); + } + + private class SelectionNotifier implements Runnable { + public void run() { + if (mDataChanged) { + // Data has changed between when this SelectionNotifier + // was posted and now. We need to wait until the AdapterView + // has been synched to the new data. + if (getAdapter() != null) { + post(this); + } + } else { + fireOnSelected(); + } + } + } + + void selectionChanged() { + if (mOnItemSelectedListener != null) { + if (mInLayout || mBlockLayoutRequests) { + // If we are in a layout traversal, defer notification + // by posting. This ensures that the view tree is + // in a consistent state and is able to accomodate + // new layout or invalidate requests. + if (mSelectionNotifier == null) { + mSelectionNotifier = new SelectionNotifier(); + } + post(mSelectionNotifier); + } else { + fireOnSelected(); + } + } + + // we fire selection events here not in View + if (mSelectedPosition != ListView.INVALID_POSITION && isShown() && !isInTouchMode()) { + sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_SELECTED); + } + } + + private void fireOnSelected() { + if (mOnItemSelectedListener == null) + return; + + int selection = this.getSelectedItemPosition(); + if (selection >= 0) { + View v = getSelectedView(); + mOnItemSelectedListener.onItemSelected(this, v, selection, + getAdapter().getItemId(selection)); + } else { + mOnItemSelectedListener.onNothingSelected(this); + } + } + + @Override + public boolean dispatchPopulateAccessibilityEvent(AccessibilityEvent event) { + View selectedView = getSelectedView(); + if (selectedView != null && selectedView.getVisibility() == VISIBLE + && selectedView.dispatchPopulateAccessibilityEvent(event)) { + return true; + } + return false; + } + + @Override + public boolean onRequestSendAccessibilityEvent(View child, AccessibilityEvent event) { + if (super.onRequestSendAccessibilityEvent(child, event)) { + // Add a record for ourselves as well. + AccessibilityEvent record = AccessibilityEvent.obtain(); + onInitializeAccessibilityEvent(record); + // Populate with the text of the requesting child. + child.dispatchPopulateAccessibilityEvent(record); + event.appendRecord(record); + return true; + } + return false; + } + + @Override + public void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info) { + super.onInitializeAccessibilityNodeInfo(info); + info.setScrollable(isScrollableForAccessibility()); + View selectedView = getSelectedView(); + if (selectedView != null) { + info.setEnabled(selectedView.isEnabled()); + } + } + + @Override + public void onInitializeAccessibilityEvent(AccessibilityEvent event) { + super.onInitializeAccessibilityEvent(event); + event.setScrollable(isScrollableForAccessibility()); + View selectedView = getSelectedView(); + if (selectedView != null) { + event.setEnabled(selectedView.isEnabled()); + } + event.setCurrentItemIndex(getSelectedItemPosition()); + event.setFromIndex(getFirstVisiblePosition()); + event.setToIndex(getLastVisiblePosition()); + event.setItemCount(getCount()); + } + + private boolean isScrollableForAccessibility() { + T adapter = getAdapter(); + if (adapter != null) { + final int itemCount = adapter.getCount(); + return itemCount > 0 + && (getFirstVisiblePosition() > 0 || getLastVisiblePosition() < itemCount - 1); + } + return false; + } + + @Override + protected boolean canAnimate() { + return super.canAnimate() && mItemCount > 0; + } + + void handleDataChanged() { + final int count = mItemCount; + boolean found = false; + + if (count > 0) { + + int newPos; + + // Find the row we are supposed to sync to + if (mNeedSync) { + // Update this first, since setNextSelectedPositionInt inspects + // it + mNeedSync = false; + + // See if we can find a position in the new data with the same + // id as the old selection + newPos = findSyncPosition(); + if (newPos >= 0) { + // Verify that new selection is selectable + int selectablePos = lookForSelectablePosition(newPos, true); + if (selectablePos == newPos) { + // Same row id is selected + setNextSelectedPositionInt(newPos); + found = true; + } + } + } + if (!found) { + // Try to use the same position if we can't find matching data + newPos = getSelectedItemPosition(); + + // Pin position to the available range + if (newPos >= count) { + newPos = count - 1; + } + if (newPos < 0) { + newPos = 0; + } + + // Make sure we select something selectable -- first look down + int selectablePos = lookForSelectablePosition(newPos, true); + if (selectablePos < 0) { + // Looking down didn't work -- try looking up + selectablePos = lookForSelectablePosition(newPos, false); + } + if (selectablePos >= 0) { + setNextSelectedPositionInt(selectablePos); + checkSelectionChanged(); + found = true; + } + } + } + if (!found) { + // Nothing is selected + mSelectedPosition = INVALID_POSITION; + mSelectedRowId = INVALID_ROW_ID; + mNextSelectedPosition = INVALID_POSITION; + mNextSelectedRowId = INVALID_ROW_ID; + mNeedSync = false; + checkSelectionChanged(); + } + } + + void checkSelectionChanged() { + if ((mSelectedPosition != mOldSelectedPosition) || (mSelectedRowId != mOldSelectedRowId)) { + selectionChanged(); + mOldSelectedPosition = mSelectedPosition; + mOldSelectedRowId = mSelectedRowId; + } + } + + /** + * Searches the adapter for a position matching mSyncRowId. The search starts at mSyncPosition + * and then alternates between moving up and moving down until 1) we find the right position, or + * 2) we run out of time, or 3) we have looked at every position + * + * @return Position of the row that matches mSyncRowId, or {@link #INVALID_POSITION} if it can't + * be found + */ + int findSyncPosition() { + int count = mItemCount; + + if (count == 0) { + return INVALID_POSITION; + } + + long idToMatch = mSyncRowId; + int seed = mSyncPosition; + + // If there isn't a selection don't hunt for it + if (idToMatch == INVALID_ROW_ID) { + return INVALID_POSITION; + } + + // Pin seed to reasonable values + seed = Math.max(0, seed); + seed = Math.min(count - 1, seed); + + long endTime = SystemClock.uptimeMillis() + SYNC_MAX_DURATION_MILLIS; + + long rowId; + + // first position scanned so far + int first = seed; + + // last position scanned so far + int last = seed; + + // True if we should move down on the next iteration + boolean next = false; + + // True when we have looked at the first item in the data + boolean hitFirst; + + // True when we have looked at the last item in the data + boolean hitLast; + + // Get the item ID locally (instead of getItemIdAtPosition), so + // we need the adapter + T adapter = getAdapter(); + if (adapter == null) { + return INVALID_POSITION; + } + + while (SystemClock.uptimeMillis() <= endTime) { + rowId = adapter.getItemId(seed); + if (rowId == idToMatch) { + // Found it! + return seed; + } + + hitLast = last == count - 1; + hitFirst = first == 0; + + if (hitLast && hitFirst) { + // Looked at everything + break; + } + + if (hitFirst || (next && !hitLast)) { + // Either we hit the top, or we are trying to move down + last++; + seed = last; + // Try going up next time + next = false; + } else if (hitLast || (!next && !hitFirst)) { + // Either we hit the bottom, or we are trying to move up + first--; + seed = first; + // Try going down next time + next = true; + } + + } + + return INVALID_POSITION; + } + + /** + * Find a position that can be selected (i.e., is not a separator). + * + * @param position The starting position to look at. + * @param lookDown Whether to look down for other positions. + * @return The next selectable position starting at position and then searching either up or + * down. Returns {@link #INVALID_POSITION} if nothing can be found. + */ + int lookForSelectablePosition(int position, boolean lookDown) { + return position; + } + + /** + * Utility to keep mSelectedPosition and mSelectedRowId in sync + * @param position Our current position + */ + void setSelectedPositionInt(int position) { + mSelectedPosition = position; + mSelectedRowId = getItemIdAtPosition(position); + } + + /** + * Utility to keep mNextSelectedPosition and mNextSelectedRowId in sync + * @param position Intended value for mSelectedPosition the next time we go + * through layout + */ + void setNextSelectedPositionInt(int position) { + mNextSelectedPosition = position; + mNextSelectedRowId = getItemIdAtPosition(position); + // If we are trying to sync to the selection, update that too + if (mNeedSync && mSyncMode == SYNC_SELECTED_POSITION && position >= 0) { + mSyncPosition = position; + mSyncRowId = mNextSelectedRowId; + } + } + + /** + * Remember enough information to restore the screen state when the data has + * changed. + * + */ + void rememberSyncState() { + if (getChildCount() > 0) { + mNeedSync = true; + mSyncHeight = mLayoutHeight; + if (mSelectedPosition >= 0) { + // Sync the selection state + View v = getChildAt(mSelectedPosition - mFirstPosition); + mSyncRowId = mNextSelectedRowId; + mSyncPosition = mNextSelectedPosition; + if (v != null) { + mSpecificTop = v.getTop(); + } + mSyncMode = SYNC_SELECTED_POSITION; + } else { + // Sync the based on the offset of the first view + View v = getChildAt(0); + T adapter = getAdapter(); + if (mFirstPosition >= 0 && mFirstPosition < adapter.getCount()) { + mSyncRowId = adapter.getItemId(mFirstPosition); + } else { + mSyncRowId = NO_ID; + } + mSyncPosition = mFirstPosition; + if (v != null) { + mSpecificTop = v.getTop(); + } + mSyncMode = SYNC_FIRST_POSITION; + } + } + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/IcsColorDrawable.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/IcsColorDrawable.java new file mode 100644 index 000000000..a78b3f71b --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/IcsColorDrawable.java @@ -0,0 +1,41 @@ +package com.actionbarsherlock.internal.widget; + +import android.graphics.Canvas; +import android.graphics.ColorFilter; +import android.graphics.Paint; +import android.graphics.drawable.Drawable; + +/** + * A version of {@link android.graphics.drawable.ColorDrawable} that respects bounds. + */ +public class IcsColorDrawable extends Drawable { + private int color; + private final Paint paint = new Paint(); + + public IcsColorDrawable(int color) { + this.color = color; + } + + @Override public void draw(Canvas canvas) { + if ((color >>> 24) != 0) { + paint.setColor(color); + canvas.drawRect(getBounds(), paint); + } + } + + @Override + public void setAlpha(int alpha) { + if (alpha != (color >>> 24)) { + color = (color & 0x00FFFFFF) & (alpha << 24); + invalidateSelf(); + } + } + + @Override public void setColorFilter(ColorFilter colorFilter) { + //Ignored + } + + @Override public int getOpacity() { + return color >>> 24; + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/IcsLinearLayout.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/IcsLinearLayout.java new file mode 100644 index 000000000..4947c41df --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/IcsLinearLayout.java @@ -0,0 +1,410 @@ +package com.actionbarsherlock.internal.widget; + +import android.content.Context; +import android.content.res.TypedArray; +import android.graphics.Canvas; +import android.graphics.drawable.Drawable; +import android.util.AttributeSet; +import android.view.View; +import android.widget.LinearLayout; + +import com.actionbarsherlock.internal.nineoldandroids.widget.NineLinearLayout; + +/** + * A simple extension of a regular linear layout that supports the divider API + * of Android 4.0+. The dividers are added adjacent to the children by changing + * their layout params. If you need to rely on the margins which fall in the + * same orientation as the layout you should wrap the child in a simple + * {@link android.widget.FrameLayout} so it can receive the margin. + */ +public class IcsLinearLayout extends NineLinearLayout { + private static final int[] R_styleable_LinearLayout = new int[] { + /* 0 */ android.R.attr.divider, + /* 1 */ android.R.attr.measureWithLargestChild, + /* 2 */ android.R.attr.showDividers, + /* 3 */ android.R.attr.dividerPadding, + }; + private static final int LinearLayout_divider = 0; + private static final int LinearLayout_measureWithLargestChild = 1; + private static final int LinearLayout_showDividers = 2; + private static final int LinearLayout_dividerPadding = 3; + + /** + * Don't show any dividers. + */ + public static final int SHOW_DIVIDER_NONE = 0; + /** + * Show a divider at the beginning of the group. + */ + public static final int SHOW_DIVIDER_BEGINNING = 1; + /** + * Show dividers between each item in the group. + */ + public static final int SHOW_DIVIDER_MIDDLE = 2; + /** + * Show a divider at the end of the group. + */ + public static final int SHOW_DIVIDER_END = 4; + + + private Drawable mDivider; + private int mDividerWidth; + private int mDividerHeight; + private int mShowDividers; + private int mDividerPadding; + + private boolean mUseLargestChild; + + public IcsLinearLayout(Context context, AttributeSet attrs) { + super(context, attrs); + + TypedArray a = context.obtainStyledAttributes(attrs, /*com.android.internal.R.styleable.*/R_styleable_LinearLayout); + + setDividerDrawable(a.getDrawable(/*com.android.internal.R.styleable.*/LinearLayout_divider)); + mShowDividers = a.getInt(/*com.android.internal.R.styleable.*/LinearLayout_showDividers, SHOW_DIVIDER_NONE); + mDividerPadding = a.getDimensionPixelSize(/*com.android.internal.R.styleable.*/LinearLayout_dividerPadding, 0); + mUseLargestChild = a.getBoolean(/*com.android.internal.R.styleable.*/LinearLayout_measureWithLargestChild, false); + + a.recycle(); + } + + /** + * Set how dividers should be shown between items in this layout + * + * @param showDividers One or more of {@link #SHOW_DIVIDER_BEGINNING}, + * {@link #SHOW_DIVIDER_MIDDLE}, or {@link #SHOW_DIVIDER_END}, + * or {@link #SHOW_DIVIDER_NONE} to show no dividers. + */ + public void setShowDividers(int showDividers) { + if (showDividers != mShowDividers) { + requestLayout(); + invalidate(); //XXX This is required if you are toggling a divider off + } + mShowDividers = showDividers; + } + + /** + * @return A flag set indicating how dividers should be shown around items. + * @see #setShowDividers(int) + */ + public int getShowDividers() { + return mShowDividers; + } + + /** + * Set a drawable to be used as a divider between items. + * @param divider Drawable that will divide each item. + * @see #setShowDividers(int) + */ + public void setDividerDrawable(Drawable divider) { + if (divider == mDivider) { + return; + } + mDivider = divider; + if (divider != null) { + mDividerWidth = divider.getIntrinsicWidth(); + mDividerHeight = divider.getIntrinsicHeight(); + } else { + mDividerWidth = 0; + mDividerHeight = 0; + } + setWillNotDraw(divider == null); + requestLayout(); + } + + /** + * Set padding displayed on both ends of dividers. + * + * @param padding Padding value in pixels that will be applied to each end + * + * @see #setShowDividers(int) + * @see #setDividerDrawable(Drawable) + * @see #getDividerPadding() + */ + public void setDividerPadding(int padding) { + mDividerPadding = padding; + } + + /** + * Get the padding size used to inset dividers in pixels + * + * @see #setShowDividers(int) + * @see #setDividerDrawable(Drawable) + * @see #setDividerPadding(int) + */ + public int getDividerPadding() { + return mDividerPadding; + } + + /** + * Get the width of the current divider drawable. + * + * @hide Used internally by framework. + */ + public int getDividerWidth() { + return mDividerWidth; + } + + @Override + protected void measureChildWithMargins(View child, int parentWidthMeasureSpec, int widthUsed, int parentHeightMeasureSpec, int heightUsed) { + final int index = indexOfChild(child); + final int orientation = getOrientation(); + final LayoutParams params = (LayoutParams) child.getLayoutParams(); + if (hasDividerBeforeChildAt(index)) { + if (orientation == VERTICAL) { + //Account for the divider by pushing everything up + params.topMargin = mDividerHeight; + } else { + //Account for the divider by pushing everything left + params.leftMargin = mDividerWidth; + } + } + + final int count = getChildCount(); + if (index == count - 1) { + if (hasDividerBeforeChildAt(count)) { + if (orientation == VERTICAL) { + params.bottomMargin = mDividerHeight; + } else { + params.rightMargin = mDividerWidth; + } + } + } + super.measureChildWithMargins(child, parentWidthMeasureSpec, widthUsed, parentHeightMeasureSpec, heightUsed); + } + + @Override + protected void onDraw(Canvas canvas) { + if (mDivider != null) { + if (getOrientation() == VERTICAL) { + drawDividersVertical(canvas); + } else { + drawDividersHorizontal(canvas); + } + } + super.onDraw(canvas); + } + + void drawDividersVertical(Canvas canvas) { + final int count = getChildCount(); + for (int i = 0; i < count; i++) { + final View child = getChildAt(i); + + if (child != null && child.getVisibility() != GONE) { + if (hasDividerBeforeChildAt(i)) { + final LayoutParams lp = (LayoutParams) child.getLayoutParams(); + final int top = child.getTop() - lp.topMargin/* - mDividerHeight*/; + drawHorizontalDivider(canvas, top); + } + } + } + + if (hasDividerBeforeChildAt(count)) { + final View child = getChildAt(count - 1); + int bottom = 0; + if (child == null) { + bottom = getHeight() - getPaddingBottom() - mDividerHeight; + } else { + //final LayoutParams lp = (LayoutParams) child.getLayoutParams(); + bottom = child.getBottom()/* + lp.bottomMargin*/; + } + drawHorizontalDivider(canvas, bottom); + } + } + + void drawDividersHorizontal(Canvas canvas) { + final int count = getChildCount(); + for (int i = 0; i < count; i++) { + final View child = getChildAt(i); + + if (child != null && child.getVisibility() != GONE) { + if (hasDividerBeforeChildAt(i)) { + final LayoutParams lp = (LayoutParams) child.getLayoutParams(); + final int left = child.getLeft() - lp.leftMargin/* - mDividerWidth*/; + drawVerticalDivider(canvas, left); + } + } + } + + if (hasDividerBeforeChildAt(count)) { + final View child = getChildAt(count - 1); + int right = 0; + if (child == null) { + right = getWidth() - getPaddingRight() - mDividerWidth; + } else { + //final LayoutParams lp = (LayoutParams) child.getLayoutParams(); + right = child.getRight()/* + lp.rightMargin*/; + } + drawVerticalDivider(canvas, right); + } + } + + void drawHorizontalDivider(Canvas canvas, int top) { + mDivider.setBounds(getPaddingLeft() + mDividerPadding, top, + getWidth() - getPaddingRight() - mDividerPadding, top + mDividerHeight); + mDivider.draw(canvas); + } + + void drawVerticalDivider(Canvas canvas, int left) { + mDivider.setBounds(left, getPaddingTop() + mDividerPadding, + left + mDividerWidth, getHeight() - getPaddingBottom() - mDividerPadding); + mDivider.draw(canvas); + } + + /** + * Determines where to position dividers between children. + * + * @param childIndex Index of child to check for preceding divider + * @return true if there should be a divider before the child at childIndex + * @hide Pending API consideration. Currently only used internally by the system. + */ + protected boolean hasDividerBeforeChildAt(int childIndex) { + if (childIndex == 0) { + return (mShowDividers & SHOW_DIVIDER_BEGINNING) != 0; + } else if (childIndex == getChildCount()) { + return (mShowDividers & SHOW_DIVIDER_END) != 0; + } else if ((mShowDividers & SHOW_DIVIDER_MIDDLE) != 0) { + boolean hasVisibleViewBefore = false; + for (int i = childIndex - 1; i >= 0; i--) { + if (getChildAt(i).getVisibility() != GONE) { + hasVisibleViewBefore = true; + break; + } + } + return hasVisibleViewBefore; + } + return false; + } + + /** + * When true, all children with a weight will be considered having + * the minimum size of the largest child. If false, all children are + * measured normally. + * + * @return True to measure children with a weight using the minimum + * size of the largest child, false otherwise. + * + * @attr ref android.R.styleable#LinearLayout_measureWithLargestChild + */ + public boolean isMeasureWithLargestChildEnabled() { + return mUseLargestChild; + } + + /** + * When set to true, all children with a weight will be considered having + * the minimum size of the largest child. If false, all children are + * measured normally. + * + * Disabled by default. + * + * @param enabled True to measure children with a weight using the + * minimum size of the largest child, false otherwise. + * + * @attr ref android.R.styleable#LinearLayout_measureWithLargestChild + */ + public void setMeasureWithLargestChildEnabled(boolean enabled) { + mUseLargestChild = enabled; + } + + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + super.onMeasure(widthMeasureSpec, heightMeasureSpec); + + if (mUseLargestChild) { + final int orientation = getOrientation(); + switch (orientation) { + case HORIZONTAL: + useLargestChildHorizontal(); + break; + + case VERTICAL: + useLargestChildVertical(); + break; + } + } + } + + private void useLargestChildHorizontal() { + final int childCount = getChildCount(); + + // Find largest child width + int largestChildWidth = 0; + for (int i = 0; i < childCount; i++) { + final View child = getChildAt(i); + largestChildWidth = Math.max(child.getMeasuredWidth(), largestChildWidth); + } + + int totalWidth = 0; + // Re-measure childs + for (int i = 0; i < childCount; i++) { + final View child = getChildAt(i); + + if (child == null || child.getVisibility() == View.GONE) { + continue; + } + + final LinearLayout.LayoutParams lp = + (LinearLayout.LayoutParams) child.getLayoutParams(); + + float childExtra = lp.weight; + if (childExtra > 0) { + child.measure( + MeasureSpec.makeMeasureSpec(largestChildWidth, + MeasureSpec.EXACTLY), + MeasureSpec.makeMeasureSpec(child.getMeasuredHeight(), + MeasureSpec.EXACTLY)); + totalWidth += largestChildWidth; + + } else { + totalWidth += child.getMeasuredWidth(); + } + + totalWidth += lp.leftMargin + lp.rightMargin; + } + + totalWidth += getPaddingLeft() + getPaddingRight(); + setMeasuredDimension(totalWidth, getMeasuredHeight()); + } + + private void useLargestChildVertical() { + final int childCount = getChildCount(); + + // Find largest child width + int largestChildHeight = 0; + for (int i = 0; i < childCount; i++) { + final View child = getChildAt(i); + largestChildHeight = Math.max(child.getMeasuredHeight(), largestChildHeight); + } + + int totalHeight = 0; + // Re-measure childs + for (int i = 0; i < childCount; i++) { + final View child = getChildAt(i); + + if (child == null || child.getVisibility() == View.GONE) { + continue; + } + + final LinearLayout.LayoutParams lp = + (LinearLayout.LayoutParams) child.getLayoutParams(); + + float childExtra = lp.weight; + if (childExtra > 0) { + child.measure( + MeasureSpec.makeMeasureSpec(child.getMeasuredWidth(), + MeasureSpec.EXACTLY), + MeasureSpec.makeMeasureSpec(largestChildHeight, + MeasureSpec.EXACTLY)); + totalHeight += largestChildHeight; + + } else { + totalHeight += child.getMeasuredHeight(); + } + + totalHeight += lp.leftMargin + lp.rightMargin; + } + + totalHeight += getPaddingLeft() + getPaddingRight(); + setMeasuredDimension(getMeasuredWidth(), totalHeight); + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/IcsListPopupWindow.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/IcsListPopupWindow.java new file mode 100644 index 000000000..d13c6cea9 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/IcsListPopupWindow.java @@ -0,0 +1,644 @@ +package com.actionbarsherlock.internal.widget; + +import com.actionbarsherlock.R; + +import android.content.Context; +import android.content.res.Resources; +import android.database.DataSetObserver; +import android.graphics.Rect; +import android.graphics.drawable.Drawable; +import android.os.Build; +import android.os.Handler; +import android.util.AttributeSet; +import android.view.ContextThemeWrapper; +import android.view.MotionEvent; +import android.view.View; +import android.view.View.MeasureSpec; +import android.view.View.OnTouchListener; +import android.view.ViewGroup; +import android.view.ViewParent; +import android.widget.AbsListView; +import android.widget.AdapterView; +import android.widget.LinearLayout; +import android.widget.ListAdapter; +import android.widget.ListView; +import android.widget.PopupWindow; + +/** + * A proxy between pre- and post-Honeycomb implementations of this class. + */ +public class IcsListPopupWindow { + /** + * This value controls the length of time that the user + * must leave a pointer down without scrolling to expand + * the autocomplete dropdown list to cover the IME. + */ + private static final int EXPAND_LIST_TIMEOUT = 250; + + private Context mContext; + private PopupWindow mPopup; + private ListAdapter mAdapter; + private DropDownListView mDropDownList; + + private int mDropDownHeight = ViewGroup.LayoutParams.WRAP_CONTENT; + private int mDropDownWidth = ViewGroup.LayoutParams.WRAP_CONTENT; + private int mDropDownHorizontalOffset; + private int mDropDownVerticalOffset; + private boolean mDropDownVerticalOffsetSet; + + private int mListItemExpandMaximum = Integer.MAX_VALUE; + + private View mPromptView; + private int mPromptPosition = POSITION_PROMPT_ABOVE; + + private DataSetObserver mObserver; + + private View mDropDownAnchorView; + + private Drawable mDropDownListHighlight; + + private AdapterView.OnItemClickListener mItemClickListener; + private AdapterView.OnItemSelectedListener mItemSelectedListener; + + private final ResizePopupRunnable mResizePopupRunnable = new ResizePopupRunnable(); + private final PopupTouchInterceptor mTouchInterceptor = new PopupTouchInterceptor(); + private final PopupScrollListener mScrollListener = new PopupScrollListener(); + private final ListSelectorHider mHideSelector = new ListSelectorHider(); + + private Handler mHandler = new Handler(); + + private Rect mTempRect = new Rect(); + + private boolean mModal; + + public static final int POSITION_PROMPT_ABOVE = 0; + public static final int POSITION_PROMPT_BELOW = 1; + + public IcsListPopupWindow(Context context) { + this(context, null, R.attr.listPopupWindowStyle); + } + + public IcsListPopupWindow(Context context, AttributeSet attrs, int defStyleAttr) { + mContext = context; + mPopup = new PopupWindow(context, attrs, defStyleAttr); + mPopup.setInputMethodMode(PopupWindow.INPUT_METHOD_NEEDED); + } + + public IcsListPopupWindow(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { + mContext = context; + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB) { + Context wrapped = new ContextThemeWrapper(context, defStyleRes); + mPopup = new PopupWindow(wrapped, attrs, defStyleAttr); + } else { + mPopup = new PopupWindow(context, attrs, defStyleAttr, defStyleRes); + } + mPopup.setInputMethodMode(PopupWindow.INPUT_METHOD_NEEDED); + } + + public void setAdapter(ListAdapter adapter) { + if (mObserver == null) { + mObserver = new PopupDataSetObserver(); + } else if (mAdapter != null) { + mAdapter.unregisterDataSetObserver(mObserver); + } + mAdapter = adapter; + if (mAdapter != null) { + adapter.registerDataSetObserver(mObserver); + } + + if (mDropDownList != null) { + mDropDownList.setAdapter(mAdapter); + } + } + + public void setPromptPosition(int position) { + mPromptPosition = position; + } + + public void setModal(boolean modal) { + mModal = true; + mPopup.setFocusable(modal); + } + + public void setBackgroundDrawable(Drawable d) { + mPopup.setBackgroundDrawable(d); + } + + public void setAnchorView(View anchor) { + mDropDownAnchorView = anchor; + } + + public void setHorizontalOffset(int offset) { + mDropDownHorizontalOffset = offset; + } + + public void setVerticalOffset(int offset) { + mDropDownVerticalOffset = offset; + mDropDownVerticalOffsetSet = true; + } + + public void setContentWidth(int width) { + Drawable popupBackground = mPopup.getBackground(); + if (popupBackground != null) { + popupBackground.getPadding(mTempRect); + mDropDownWidth = mTempRect.left + mTempRect.right + width; + } else { + mDropDownWidth = width; + } + } + + public void setOnItemClickListener(AdapterView.OnItemClickListener clickListener) { + mItemClickListener = clickListener; + } + + public void show() { + int height = buildDropDown(); + + int widthSpec = 0; + int heightSpec = 0; + + boolean noInputMethod = isInputMethodNotNeeded(); + //XXX mPopup.setAllowScrollingAnchorParent(!noInputMethod); + + if (mPopup.isShowing()) { + if (mDropDownWidth == ViewGroup.LayoutParams.MATCH_PARENT) { + // The call to PopupWindow's update method below can accept -1 for any + // value you do not want to update. + widthSpec = -1; + } else if (mDropDownWidth == ViewGroup.LayoutParams.WRAP_CONTENT) { + widthSpec = mDropDownAnchorView.getWidth(); + } else { + widthSpec = mDropDownWidth; + } + + if (mDropDownHeight == ViewGroup.LayoutParams.MATCH_PARENT) { + // The call to PopupWindow's update method below can accept -1 for any + // value you do not want to update. + heightSpec = noInputMethod ? height : ViewGroup.LayoutParams.MATCH_PARENT; + if (noInputMethod) { + mPopup.setWindowLayoutMode( + mDropDownWidth == ViewGroup.LayoutParams.MATCH_PARENT ? + ViewGroup.LayoutParams.MATCH_PARENT : 0, 0); + } else { + mPopup.setWindowLayoutMode( + mDropDownWidth == ViewGroup.LayoutParams.MATCH_PARENT ? + ViewGroup.LayoutParams.MATCH_PARENT : 0, + ViewGroup.LayoutParams.MATCH_PARENT); + } + } else if (mDropDownHeight == ViewGroup.LayoutParams.WRAP_CONTENT) { + heightSpec = height; + } else { + heightSpec = mDropDownHeight; + } + + mPopup.setOutsideTouchable(true); + + mPopup.update(mDropDownAnchorView, mDropDownHorizontalOffset, + mDropDownVerticalOffset, widthSpec, heightSpec); + } else { + if (mDropDownWidth == ViewGroup.LayoutParams.MATCH_PARENT) { + widthSpec = ViewGroup.LayoutParams.MATCH_PARENT; + } else { + if (mDropDownWidth == ViewGroup.LayoutParams.WRAP_CONTENT) { + mPopup.setWidth(mDropDownAnchorView.getWidth()); + } else { + mPopup.setWidth(mDropDownWidth); + } + } + + if (mDropDownHeight == ViewGroup.LayoutParams.MATCH_PARENT) { + heightSpec = ViewGroup.LayoutParams.MATCH_PARENT; + } else { + if (mDropDownHeight == ViewGroup.LayoutParams.WRAP_CONTENT) { + mPopup.setHeight(height); + } else { + mPopup.setHeight(mDropDownHeight); + } + } + + mPopup.setWindowLayoutMode(widthSpec, heightSpec); + //XXX mPopup.setClipToScreenEnabled(true); + + // use outside touchable to dismiss drop down when touching outside of it, so + // only set this if the dropdown is not always visible + mPopup.setOutsideTouchable(true); + mPopup.setTouchInterceptor(mTouchInterceptor); + mPopup.showAsDropDown(mDropDownAnchorView, + mDropDownHorizontalOffset, mDropDownVerticalOffset); + mDropDownList.setSelection(ListView.INVALID_POSITION); + + if (!mModal || mDropDownList.isInTouchMode()) { + clearListSelection(); + } + if (!mModal) { + mHandler.post(mHideSelector); + } + } + } + + public void dismiss() { + mPopup.dismiss(); + if (mPromptView != null) { + final ViewParent parent = mPromptView.getParent(); + if (parent instanceof ViewGroup) { + final ViewGroup group = (ViewGroup) parent; + group.removeView(mPromptView); + } + } + mPopup.setContentView(null); + mDropDownList = null; + mHandler.removeCallbacks(mResizePopupRunnable); + } + + public void setOnDismissListener(PopupWindow.OnDismissListener listener) { + mPopup.setOnDismissListener(listener); + } + + public void setInputMethodMode(int mode) { + mPopup.setInputMethodMode(mode); + } + + public void clearListSelection() { + final DropDownListView list = mDropDownList; + if (list != null) { + // WARNING: Please read the comment where mListSelectionHidden is declared + list.mListSelectionHidden = true; + //XXX list.hideSelector(); + list.requestLayout(); + } + } + + public boolean isShowing() { + return mPopup.isShowing(); + } + + private boolean isInputMethodNotNeeded() { + return mPopup.getInputMethodMode() == PopupWindow.INPUT_METHOD_NOT_NEEDED; + } + + public ListView getListView() { + return mDropDownList; + } + + private int buildDropDown() { + ViewGroup dropDownView; + int otherHeights = 0; + + if (mDropDownList == null) { + Context context = mContext; + + mDropDownList = new DropDownListView(context, !mModal); + if (mDropDownListHighlight != null) { + mDropDownList.setSelector(mDropDownListHighlight); + } + mDropDownList.setAdapter(mAdapter); + mDropDownList.setOnItemClickListener(mItemClickListener); + mDropDownList.setFocusable(true); + mDropDownList.setFocusableInTouchMode(true); + mDropDownList.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { + public void onItemSelected(AdapterView parent, View view, + int position, long id) { + + if (position != -1) { + DropDownListView dropDownList = mDropDownList; + + if (dropDownList != null) { + dropDownList.mListSelectionHidden = false; + } + } + } + + public void onNothingSelected(AdapterView parent) { + } + }); + mDropDownList.setOnScrollListener(mScrollListener); + + if (mItemSelectedListener != null) { + mDropDownList.setOnItemSelectedListener(mItemSelectedListener); + } + + dropDownView = mDropDownList; + + View hintView = mPromptView; + if (hintView != null) { + // if an hint has been specified, we accomodate more space for it and + // add a text view in the drop down menu, at the bottom of the list + LinearLayout hintContainer = new LinearLayout(context); + hintContainer.setOrientation(LinearLayout.VERTICAL); + + LinearLayout.LayoutParams hintParams = new LinearLayout.LayoutParams( + ViewGroup.LayoutParams.MATCH_PARENT, 0, 1.0f + ); + + switch (mPromptPosition) { + case POSITION_PROMPT_BELOW: + hintContainer.addView(dropDownView, hintParams); + hintContainer.addView(hintView); + break; + + case POSITION_PROMPT_ABOVE: + hintContainer.addView(hintView); + hintContainer.addView(dropDownView, hintParams); + break; + + default: + break; + } + + // measure the hint's height to find how much more vertical space + // we need to add to the drop down's height + int widthSpec = MeasureSpec.makeMeasureSpec(mDropDownWidth, MeasureSpec.AT_MOST); + int heightSpec = MeasureSpec.UNSPECIFIED; + hintView.measure(widthSpec, heightSpec); + + hintParams = (LinearLayout.LayoutParams) hintView.getLayoutParams(); + otherHeights = hintView.getMeasuredHeight() + hintParams.topMargin + + hintParams.bottomMargin; + + dropDownView = hintContainer; + } + + mPopup.setContentView(dropDownView); + } else { + dropDownView = (ViewGroup) mPopup.getContentView(); + final View view = mPromptView; + if (view != null) { + LinearLayout.LayoutParams hintParams = + (LinearLayout.LayoutParams) view.getLayoutParams(); + otherHeights = view.getMeasuredHeight() + hintParams.topMargin + + hintParams.bottomMargin; + } + } + + // getMaxAvailableHeight() subtracts the padding, so we put it back + // to get the available height for the whole window + int padding = 0; + Drawable background = mPopup.getBackground(); + if (background != null) { + background.getPadding(mTempRect); + padding = mTempRect.top + mTempRect.bottom; + + // If we don't have an explicit vertical offset, determine one from the window + // background so that content will line up. + if (!mDropDownVerticalOffsetSet) { + mDropDownVerticalOffset = -mTempRect.top; + } + } + + // Max height available on the screen for a popup. + boolean ignoreBottomDecorations = + mPopup.getInputMethodMode() == PopupWindow.INPUT_METHOD_NOT_NEEDED; + final int maxHeight = /*mPopup.*/getMaxAvailableHeight( + mDropDownAnchorView, mDropDownVerticalOffset, ignoreBottomDecorations); + + if (mDropDownHeight == ViewGroup.LayoutParams.MATCH_PARENT) { + return maxHeight + padding; + } + + final int listContent = /*mDropDownList.*/measureHeightOfChildren(MeasureSpec.UNSPECIFIED, + 0, -1/*ListView.NO_POSITION*/, maxHeight - otherHeights, -1); + // add padding only if the list has items in it, that way we don't show + // the popup if it is not needed + if (listContent > 0) otherHeights += padding; + + return listContent + otherHeights; + } + + private int getMaxAvailableHeight(View anchor, int yOffset, boolean ignoreBottomDecorations) { + final Rect displayFrame = new Rect(); + anchor.getWindowVisibleDisplayFrame(displayFrame); + + final int[] anchorPos = new int[2]; + anchor.getLocationOnScreen(anchorPos); + + int bottomEdge = displayFrame.bottom; + if (ignoreBottomDecorations) { + Resources res = anchor.getContext().getResources(); + bottomEdge = res.getDisplayMetrics().heightPixels; + } + final int distanceToBottom = bottomEdge - (anchorPos[1] + anchor.getHeight()) - yOffset; + final int distanceToTop = anchorPos[1] - displayFrame.top + yOffset; + + // anchorPos[1] is distance from anchor to top of screen + int returnedHeight = Math.max(distanceToBottom, distanceToTop); + if (mPopup.getBackground() != null) { + mPopup.getBackground().getPadding(mTempRect); + returnedHeight -= mTempRect.top + mTempRect.bottom; + } + + return returnedHeight; + } + + private int measureHeightOfChildren(int widthMeasureSpec, int startPosition, int endPosition, + final int maxHeight, int disallowPartialChildPosition) { + + final ListAdapter adapter = mAdapter; + if (adapter == null) { + return mDropDownList.getListPaddingTop() + mDropDownList.getListPaddingBottom(); + } + + // Include the padding of the list + int returnedHeight = mDropDownList.getListPaddingTop() + mDropDownList.getListPaddingBottom(); + final int dividerHeight = ((mDropDownList.getDividerHeight() > 0) && mDropDownList.getDivider() != null) ? mDropDownList.getDividerHeight() : 0; + // The previous height value that was less than maxHeight and contained + // no partial children + int prevHeightWithoutPartialChild = 0; + int i; + View child; + + // mItemCount - 1 since endPosition parameter is inclusive + endPosition = (endPosition == -1/*NO_POSITION*/) ? adapter.getCount() - 1 : endPosition; + + for (i = startPosition; i <= endPosition; ++i) { + child = mAdapter.getView(i, null, mDropDownList); + if (mDropDownList.getCacheColorHint() != 0) { + child.setDrawingCacheBackgroundColor(mDropDownList.getCacheColorHint()); + } + + measureScrapChild(child, i, widthMeasureSpec); + + if (i > 0) { + // Count the divider for all but one child + returnedHeight += dividerHeight; + } + + returnedHeight += child.getMeasuredHeight(); + + if (returnedHeight >= maxHeight) { + // We went over, figure out which height to return. If returnedHeight > maxHeight, + // then the i'th position did not fit completely. + return (disallowPartialChildPosition >= 0) // Disallowing is enabled (> -1) + && (i > disallowPartialChildPosition) // We've past the min pos + && (prevHeightWithoutPartialChild > 0) // We have a prev height + && (returnedHeight != maxHeight) // i'th child did not fit completely + ? prevHeightWithoutPartialChild + : maxHeight; + } + + if ((disallowPartialChildPosition >= 0) && (i >= disallowPartialChildPosition)) { + prevHeightWithoutPartialChild = returnedHeight; + } + } + + // At this point, we went through the range of children, and they each + // completely fit, so return the returnedHeight + return returnedHeight; + } + private void measureScrapChild(View child, int position, int widthMeasureSpec) { + ListView.LayoutParams p = (ListView.LayoutParams) child.getLayoutParams(); + if (p == null) { + p = new ListView.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, + ViewGroup.LayoutParams.WRAP_CONTENT, 0); + child.setLayoutParams(p); + } + //XXX p.viewType = mAdapter.getItemViewType(position); + //XXX p.forceAdd = true; + + int childWidthSpec = ViewGroup.getChildMeasureSpec(widthMeasureSpec, + mDropDownList.getPaddingLeft() + mDropDownList.getPaddingRight(), p.width); + int lpHeight = p.height; + int childHeightSpec; + if (lpHeight > 0) { + childHeightSpec = MeasureSpec.makeMeasureSpec(lpHeight, MeasureSpec.EXACTLY); + } else { + childHeightSpec = MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED); + } + child.measure(childWidthSpec, childHeightSpec); + } + + private static class DropDownListView extends ListView { + /* + * WARNING: This is a workaround for a touch mode issue. + * + * Touch mode is propagated lazily to windows. This causes problems in + * the following scenario: + * - Type something in the AutoCompleteTextView and get some results + * - Move down with the d-pad to select an item in the list + * - Move up with the d-pad until the selection disappears + * - Type more text in the AutoCompleteTextView *using the soft keyboard* + * and get new results; you are now in touch mode + * - The selection comes back on the first item in the list, even though + * the list is supposed to be in touch mode + * + * Using the soft keyboard triggers the touch mode change but that change + * is propagated to our window only after the first list layout, therefore + * after the list attempts to resurrect the selection. + * + * The trick to work around this issue is to pretend the list is in touch + * mode when we know that the selection should not appear, that is when + * we know the user moved the selection away from the list. + * + * This boolean is set to true whenever we explicitly hide the list's + * selection and reset to false whenever we know the user moved the + * selection back to the list. + * + * When this boolean is true, isInTouchMode() returns true, otherwise it + * returns super.isInTouchMode(). + */ + private boolean mListSelectionHidden; + + private boolean mHijackFocus; + + public DropDownListView(Context context, boolean hijackFocus) { + super(context, null, /*com.android.internal.*/R.attr.dropDownListViewStyle); + mHijackFocus = hijackFocus; + // TODO: Add an API to control this + setCacheColorHint(0); // Transparent, since the background drawable could be anything. + } + + //XXX @Override + //View obtainView(int position, boolean[] isScrap) { + // View view = super.obtainView(position, isScrap); + + // if (view instanceof TextView) { + // ((TextView) view).setHorizontallyScrolling(true); + // } + + // return view; + //} + + @Override + public boolean isInTouchMode() { + // WARNING: Please read the comment where mListSelectionHidden is declared + return (mHijackFocus && mListSelectionHidden) || super.isInTouchMode(); + } + + @Override + public boolean hasWindowFocus() { + return mHijackFocus || super.hasWindowFocus(); + } + + @Override + public boolean isFocused() { + return mHijackFocus || super.isFocused(); + } + + @Override + public boolean hasFocus() { + return mHijackFocus || super.hasFocus(); + } + } + + private class PopupDataSetObserver extends DataSetObserver { + @Override + public void onChanged() { + if (isShowing()) { + // Resize the popup to fit new content + show(); + } + } + + @Override + public void onInvalidated() { + dismiss(); + } + } + + private class ListSelectorHider implements Runnable { + public void run() { + clearListSelection(); + } + } + + private class ResizePopupRunnable implements Runnable { + public void run() { + if (mDropDownList != null && mDropDownList.getCount() > mDropDownList.getChildCount() && + mDropDownList.getChildCount() <= mListItemExpandMaximum) { + mPopup.setInputMethodMode(PopupWindow.INPUT_METHOD_NOT_NEEDED); + show(); + } + } + } + + private class PopupTouchInterceptor implements OnTouchListener { + public boolean onTouch(View v, MotionEvent event) { + final int action = event.getAction(); + final int x = (int) event.getX(); + final int y = (int) event.getY(); + + if (action == MotionEvent.ACTION_DOWN && + mPopup != null && mPopup.isShowing() && + (x >= 0 && x < mPopup.getWidth() && y >= 0 && y < mPopup.getHeight())) { + mHandler.postDelayed(mResizePopupRunnable, EXPAND_LIST_TIMEOUT); + } else if (action == MotionEvent.ACTION_UP) { + mHandler.removeCallbacks(mResizePopupRunnable); + } + return false; + } + } + + private class PopupScrollListener implements ListView.OnScrollListener { + public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, + int totalItemCount) { + + } + + public void onScrollStateChanged(AbsListView view, int scrollState) { + if (scrollState == SCROLL_STATE_TOUCH_SCROLL && + !isInputMethodNotNeeded() && mPopup.getContentView() != null) { + mHandler.removeCallbacks(mResizePopupRunnable); + mResizePopupRunnable.run(); + } + } + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/IcsProgressBar.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/IcsProgressBar.java new file mode 100644 index 000000000..1c02d4aca --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/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; + + +/** + *

      + * 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. + *

      + * + *

      + * 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. + *

      + * + *

      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: + *

      + * + *
      + * 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();
      + *     }
      + * }
      + * + *

      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:

      + * + *
      + * <ProgressBar
      + *     style="@android:style/Widget.ProgressBar.Horizontal"
      + *     ... />
      + * + *

      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.

      + * + *

      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:

      + * + *
      + * <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>
      + * + *

      Other progress bar styles provided by the system include:

      + *
        + *
      • {@link android.R.style#Widget_ProgressBar_Horizontal Widget.ProgressBar.Horizontal}
      • + *
      • {@link android.R.style#Widget_ProgressBar_Small Widget.ProgressBar.Small}
      • + *
      • {@link android.R.style#Widget_ProgressBar_Large Widget.ProgressBar.Large}
      • + *
      • {@link android.R.style#Widget_ProgressBar_Inverse Widget.ProgressBar.Inverse}
      • + *
      • {@link android.R.style#Widget_ProgressBar_Small_Inverse + * Widget.ProgressBar.Small.Inverse}
      • + *
      • {@link android.R.style#Widget_ProgressBar_Large_Inverse + * Widget.ProgressBar.Large.Inverse}
      • + *
      + *

      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).

      + * + *

      + * See {@link android.R.styleable#ProgressBar ProgressBar Attributes}, + * {@link android.R.styleable#View View Attributes} + *

      + * + * @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; + } + + /** + *

      + * Initialize the progress bar's default values: + *

      + *
        + *
      • progress = 0
      • + *
      • max = 100
      • + *
      • animation duration = 4000 ms
      • + *
      • indeterminate = false
      • + *
      • behavior = repeat
      • + *
      + */ + 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; + } + + /** + *

      Indicate whether this progress bar is in indeterminate mode.

      + * + * @return true if the progress bar is in indeterminate mode + */ + @ViewDebug.ExportedProperty(category = "progress") + public synchronized boolean isIndeterminate() { + return mIndeterminate; + } + + /** + *

      Change the indeterminate mode for this progress bar. In indeterminate + * mode, the progress is ignored and the progress bar shows an infinite + * animation instead.

      + * + * 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(); + } + } + } + + /** + *

      Get the drawable used to draw the progress bar in + * indeterminate mode.

      + * + * @return a {@link android.graphics.drawable.Drawable} instance + * + * @see #setIndeterminateDrawable(android.graphics.drawable.Drawable) + * @see #setIndeterminate(boolean) + */ + public Drawable getIndeterminateDrawable() { + return mIndeterminateDrawable; + } + + /** + *

      Define the drawable used to draw the progress bar in + * indeterminate mode.

      + * + * @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(); + } + } + + /** + *

      Get the drawable used to draw the progress bar in + * progress mode.

      + * + * @return a {@link android.graphics.drawable.Drawable} instance + * + * @see #setProgressDrawable(android.graphics.drawable.Drawable) + * @see #setIndeterminate(boolean) + */ + public Drawable getProgressDrawable() { + return mProgressDrawable; + } + + /** + *

      Define the drawable used to draw the progress bar in + * progress mode.

      + * + * @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); + } + } + + /** + *

      Set the current progress to the specified value. Does not do anything + * if the progress bar is in indeterminate mode.

      + * + * @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); + } + } + + /** + *

      + * Set the current secondary progress to the specified value. Does not do + * anything if the progress bar is in indeterminate mode. + *

      + * + * @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); + } + } + + /** + *

      Get the progress bar's current level of progress. Return 0 when the + * progress bar is in indeterminate mode.

      + * + * @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; + } + + /** + *

      Get the progress bar's current level of secondary progress. Return 0 when the + * progress bar is in indeterminate mode.

      + * + * @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; + } + + /** + *

      Return the upper limit of this progress bar's range.

      + * + * @return a positive integer + * + * @see #setMax(int) + * @see #getProgress() + * @see #getSecondaryProgress() + */ + @ViewDebug.ExportedProperty(category = "progress") + public synchronized int getMax() { + return mMax; + } + + /** + *

      Set the range of the progress bar to 0...max.

      + * + * @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); + } + } + + /** + *

      Increase the progress bar's progress by the specified amount.

      + * + * @param diff the amount by which the progress must be increased + * + * @see #setProgress(int) + */ + public synchronized final void incrementProgressBy(int diff) { + setProgress(mProgress + diff); + } + + /** + *

      Increase the progress bar's secondary progress by the specified amount.

      + * + * @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); + } + + /** + *

      Start the indeterminate progress animation.

      + */ + 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(); + } + + /** + *

      Stop the indeterminate progress animation.

      + */ + 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 CREATOR + = new Parcelable.Creator() { + 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. + *
      + * Note: A command is used to ensure that accessibility events + * are sent at most one in a given time frame to save + * system resources while the progress changes quickly. + */ + private void scheduleAccessibilityEventSender() { + if (mAccessibilityEventSender == null) { + mAccessibilityEventSender = new AccessibilityEventSender(); + } else { + removeCallbacks(mAccessibilityEventSender); + } + postDelayed(mAccessibilityEventSender, TIMEOUT_SEND_ACCESSIBILITY_EVENT); + } + + /** + * Command for sending an accessibility event. + */ + private class AccessibilityEventSender implements Runnable { + public void run() { + sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_SELECTED); + } + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/IcsSpinner.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/IcsSpinner.java new file mode 100644 index 000000000..038d1e031 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/IcsSpinner.java @@ -0,0 +1,703 @@ +/* + * 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. + */ + +package com.actionbarsherlock.internal.widget; + +import static android.view.ViewGroup.LayoutParams.MATCH_PARENT; +import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT; +import com.actionbarsherlock.R; +import android.content.Context; +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.content.res.TypedArray; +import android.database.DataSetObserver; +import android.graphics.Rect; +import android.graphics.drawable.Drawable; +import android.util.AttributeSet; +import android.view.Gravity; +import android.view.View; +import android.view.ViewGroup; +import android.widget.AdapterView; +import android.widget.AdapterView.OnItemClickListener; +import android.widget.ListAdapter; +import android.widget.ListView; +import android.widget.PopupWindow; +import android.widget.SpinnerAdapter; + + +/** + * A view that displays one child at a time and lets the user pick among them. + * The items in the Spinner come from the {@link Adapter} associated with + * this view. + * + *

      See the Spinner + * tutorial.

      + * + * @attr ref android.R.styleable#Spinner_prompt + */ +public class IcsSpinner extends IcsAbsSpinner implements OnClickListener { + //private static final String TAG = "Spinner"; + + // Only measure this many items to get a decent max width. + private static final int MAX_ITEMS_MEASURED = 15; + + /** + * Use a dialog window for selecting spinner options. + */ + //public static final int MODE_DIALOG = 0; + + /** + * Use a dropdown anchored to the Spinner for selecting spinner options. + */ + public static final int MODE_DROPDOWN = 1; + + /** + * Use the theme-supplied value to select the dropdown mode. + */ + //private static final int MODE_THEME = -1; + + private SpinnerPopup mPopup; + private DropDownAdapter mTempAdapter; + int mDropDownWidth; + + private int mGravity; + private boolean mDisableChildrenWhenDisabled; + + private Rect mTempRect = new Rect(); + + public IcsSpinner(Context context, AttributeSet attrs) { + this(context, attrs, R.attr.actionDropDownStyle); + } + + /** + * Construct a new spinner with the given context's theme, the supplied attribute set, + * and default style. + * + * @param context The Context the view is running in, through which it can + * access the current theme, resources, etc. + * @param attrs The attributes of the XML tag that is inflating the view. + * @param defStyle The default style to apply to this view. If 0, no style + * will be applied (beyond what is included in the theme). This may + * either be an attribute resource, whose value will be retrieved + * from the current theme, or an explicit style resource. + */ + public IcsSpinner(Context context, AttributeSet attrs, int defStyle) { + super(context, attrs, defStyle); + + TypedArray a = context.obtainStyledAttributes(attrs, + R.styleable.SherlockSpinner, defStyle, 0); + + + DropdownPopup popup = new DropdownPopup(context, attrs, defStyle); + + mDropDownWidth = a.getLayoutDimension( + R.styleable.SherlockSpinner_android_dropDownWidth, + ViewGroup.LayoutParams.WRAP_CONTENT); + popup.setBackgroundDrawable(a.getDrawable( + R.styleable.SherlockSpinner_android_popupBackground)); + final int verticalOffset = a.getDimensionPixelOffset( + R.styleable.SherlockSpinner_android_dropDownVerticalOffset, 0); + if (verticalOffset != 0) { + popup.setVerticalOffset(verticalOffset); + } + + final int horizontalOffset = a.getDimensionPixelOffset( + R.styleable.SherlockSpinner_android_dropDownHorizontalOffset, 0); + if (horizontalOffset != 0) { + popup.setHorizontalOffset(horizontalOffset); + } + + mPopup = popup; + + mGravity = a.getInt(R.styleable.SherlockSpinner_android_gravity, Gravity.CENTER); + + mPopup.setPromptText(a.getString(R.styleable.SherlockSpinner_android_prompt)); + + mDisableChildrenWhenDisabled = true; + + a.recycle(); + + // Base constructor can call setAdapter before we initialize mPopup. + // Finish setting things up if this happened. + if (mTempAdapter != null) { + mPopup.setAdapter(mTempAdapter); + mTempAdapter = null; + } + } + + @Override + public void setEnabled(boolean enabled) { + super.setEnabled(enabled); + if (mDisableChildrenWhenDisabled) { + final int count = getChildCount(); + for (int i = 0; i < count; i++) { + getChildAt(i).setEnabled(enabled); + } + } + } + + /** + * Describes how the selected item view is positioned. Currently only the horizontal component + * is used. The default is determined by the current theme. + * + * @param gravity See {@link android.view.Gravity} + * + * @attr ref android.R.styleable#Spinner_gravity + */ + public void setGravity(int gravity) { + if (mGravity != gravity) { + if ((gravity & Gravity.HORIZONTAL_GRAVITY_MASK) == 0) { + gravity |= Gravity.LEFT; + } + mGravity = gravity; + requestLayout(); + } + } + + @Override + public void setAdapter(SpinnerAdapter adapter) { + super.setAdapter(adapter); + + if (mPopup != null) { + mPopup.setAdapter(new DropDownAdapter(adapter)); + } else { + mTempAdapter = new DropDownAdapter(adapter); + } + } + + @Override + public int getBaseline() { + View child = null; + + if (getChildCount() > 0) { + child = getChildAt(0); + } else if (mAdapter != null && mAdapter.getCount() > 0) { + child = makeAndAddView(0); + mRecycler.put(0, child); + removeAllViewsInLayout(); + } + + if (child != null) { + final int childBaseline = child.getBaseline(); + return childBaseline >= 0 ? child.getTop() + childBaseline : -1; + } else { + return -1; + } + } + + @Override + protected void onDetachedFromWindow() { + super.onDetachedFromWindow(); + + if (mPopup != null && mPopup.isShowing()) { + mPopup.dismiss(); + } + } + + /** + *

      A spinner does not support item click events. Calling this method + * will raise an exception.

      + * + * @param l this listener will be ignored + */ + @Override + public void setOnItemClickListener(OnItemClickListener l) { + throw new RuntimeException("setOnItemClickListener cannot be used with a spinner."); + } + + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + super.onMeasure(widthMeasureSpec, heightMeasureSpec); + if (mPopup != null && MeasureSpec.getMode(widthMeasureSpec) == MeasureSpec.AT_MOST) { + final int measuredWidth = getMeasuredWidth(); + setMeasuredDimension(Math.min(Math.max(measuredWidth, + measureContentWidth(getAdapter(), getBackground())), + MeasureSpec.getSize(widthMeasureSpec)), + getMeasuredHeight()); + } + } + + /** + * @see android.view.View#onLayout(boolean,int,int,int,int) + * + * Creates and positions all views + * + */ + @Override + protected void onLayout(boolean changed, int l, int t, int r, int b) { + super.onLayout(changed, l, t, r, b); + mInLayout = true; + layout(0, false); + mInLayout = false; + } + + /** + * Creates and positions all views for this Spinner. + * + * @param delta Change in the selected position. +1 moves selection is moving to the right, + * so views are scrolling to the left. -1 means selection is moving to the left. + */ + @Override + void layout(int delta, boolean animate) { + int childrenLeft = mSpinnerPadding.left; + int childrenWidth = getRight() - getLeft() - mSpinnerPadding.left - mSpinnerPadding.right; + + if (mDataChanged) { + handleDataChanged(); + } + + // Handle the empty set by removing all views + if (mItemCount == 0) { + resetList(); + return; + } + + if (mNextSelectedPosition >= 0) { + setSelectedPositionInt(mNextSelectedPosition); + } + + recycleAllViews(); + + // Clear out old views + removeAllViewsInLayout(); + + // Make selected view and position it + mFirstPosition = mSelectedPosition; + View sel = makeAndAddView(mSelectedPosition); + int width = sel.getMeasuredWidth(); + int selectedOffset = childrenLeft; + switch (mGravity & Gravity.HORIZONTAL_GRAVITY_MASK) { + case Gravity.CENTER_HORIZONTAL: + selectedOffset = childrenLeft + (childrenWidth / 2) - (width / 2); + break; + case Gravity.RIGHT: + selectedOffset = childrenLeft + childrenWidth - width; + break; + } + sel.offsetLeftAndRight(selectedOffset); + + // Flush any cached views that did not get reused above + mRecycler.clear(); + + invalidate(); + + checkSelectionChanged(); + + mDataChanged = false; + mNeedSync = false; + setNextSelectedPositionInt(mSelectedPosition); + } + + /** + * Obtain a view, either by pulling an existing view from the recycler or + * by getting a new one from the adapter. If we are animating, make sure + * there is enough information in the view's layout parameters to animate + * from the old to new positions. + * + * @param position Position in the spinner for the view to obtain + * @return A view that has been added to the spinner + */ + private View makeAndAddView(int position) { + + View child; + + if (!mDataChanged) { + child = mRecycler.get(position); + if (child != null) { + // Position the view + setUpChild(child); + + return child; + } + } + + // Nothing found in the recycler -- ask the adapter for a view + child = mAdapter.getView(position, null, this); + + // Position the view + setUpChild(child); + + return child; + } + + /** + * Helper for makeAndAddView to set the position of a view + * and fill out its layout paramters. + * + * @param child The view to position + */ + private void setUpChild(View child) { + + // Respect layout params that are already in the view. Otherwise + // make some up... + ViewGroup.LayoutParams lp = child.getLayoutParams(); + if (lp == null) { + lp = generateDefaultLayoutParams(); + } + + addViewInLayout(child, 0, lp); + + child.setSelected(hasFocus()); + if (mDisableChildrenWhenDisabled) { + child.setEnabled(isEnabled()); + } + + // Get measure specs + int childHeightSpec = ViewGroup.getChildMeasureSpec(mHeightMeasureSpec, + mSpinnerPadding.top + mSpinnerPadding.bottom, lp.height); + int childWidthSpec = ViewGroup.getChildMeasureSpec(mWidthMeasureSpec, + mSpinnerPadding.left + mSpinnerPadding.right, lp.width); + + // Measure child + child.measure(childWidthSpec, childHeightSpec); + + int childLeft; + int childRight; + + // Position vertically based on gravity setting + int childTop = mSpinnerPadding.top + + ((getMeasuredHeight() - mSpinnerPadding.bottom - + mSpinnerPadding.top - child.getMeasuredHeight()) / 2); + int childBottom = childTop + child.getMeasuredHeight(); + + int width = child.getMeasuredWidth(); + childLeft = 0; + childRight = childLeft + width; + + child.layout(childLeft, childTop, childRight, childBottom); + } + + @Override + public boolean performClick() { + boolean handled = super.performClick(); + + if (!handled) { + handled = true; + + if (!mPopup.isShowing()) { + mPopup.show(); + } + } + + return handled; + } + + public void onClick(DialogInterface dialog, int which) { + setSelection(which); + dialog.dismiss(); + } + + /** + * Sets the prompt to display when the dialog is shown. + * @param prompt the prompt to set + */ + public void setPrompt(CharSequence prompt) { + mPopup.setPromptText(prompt); + } + + /** + * Sets the prompt to display when the dialog is shown. + * @param promptId the resource ID of the prompt to display when the dialog is shown + */ + public void setPromptId(int promptId) { + setPrompt(getContext().getText(promptId)); + } + + /** + * @return The prompt to display when the dialog is shown + */ + public CharSequence getPrompt() { + return mPopup.getHintText(); + } + + int measureContentWidth(SpinnerAdapter adapter, Drawable background) { + if (adapter == null) { + return 0; + } + + int width = 0; + View itemView = null; + int itemType = 0; + final int widthMeasureSpec = + MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED); + final int heightMeasureSpec = + MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED); + + // Make sure the number of items we'll measure is capped. If it's a huge data set + // with wildly varying sizes, oh well. + int start = Math.max(0, getSelectedItemPosition()); + final int end = Math.min(adapter.getCount(), start + MAX_ITEMS_MEASURED); + final int count = end - start; + start = Math.max(0, start - (MAX_ITEMS_MEASURED - count)); + for (int i = start; i < end; i++) { + final int positionType = adapter.getItemViewType(i); + if (positionType != itemType) { + itemType = positionType; + itemView = null; + } + itemView = adapter.getView(i, itemView, this); + if (itemView.getLayoutParams() == null) { + itemView.setLayoutParams(new ViewGroup.LayoutParams( + ViewGroup.LayoutParams.WRAP_CONTENT, + ViewGroup.LayoutParams.WRAP_CONTENT)); + } + itemView.measure(widthMeasureSpec, heightMeasureSpec); + width = Math.max(width, itemView.getMeasuredWidth()); + } + + // Add background padding to measured width + if (background != null) { + background.getPadding(mTempRect); + width += mTempRect.left + mTempRect.right; + } + + return width; + } + + /** + *

      Wrapper class for an Adapter. Transforms the embedded Adapter instance + * into a ListAdapter.

      + */ + private static class DropDownAdapter implements ListAdapter, SpinnerAdapter { + private SpinnerAdapter mAdapter; + private ListAdapter mListAdapter; + + /** + *

      Creates a new ListAdapter wrapper for the specified adapter.

      + * + * @param adapter the Adapter to transform into a ListAdapter + */ + public DropDownAdapter(SpinnerAdapter adapter) { + this.mAdapter = adapter; + if (adapter instanceof ListAdapter) { + this.mListAdapter = (ListAdapter) adapter; + } + } + + public int getCount() { + return mAdapter == null ? 0 : mAdapter.getCount(); + } + + public Object getItem(int position) { + return mAdapter == null ? null : mAdapter.getItem(position); + } + + public long getItemId(int position) { + return mAdapter == null ? -1 : mAdapter.getItemId(position); + } + + public View getView(int position, View convertView, ViewGroup parent) { + return getDropDownView(position, convertView, parent); + } + + public View getDropDownView(int position, View convertView, ViewGroup parent) { + return mAdapter == null ? null : + mAdapter.getDropDownView(position, convertView, parent); + } + + public boolean hasStableIds() { + return mAdapter != null && mAdapter.hasStableIds(); + } + + public void registerDataSetObserver(DataSetObserver observer) { + if (mAdapter != null) { + mAdapter.registerDataSetObserver(observer); + } + } + + public void unregisterDataSetObserver(DataSetObserver observer) { + if (mAdapter != null) { + mAdapter.unregisterDataSetObserver(observer); + } + } + + /** + * If the wrapped SpinnerAdapter is also a ListAdapter, delegate this call. + * Otherwise, return true. + */ + public boolean areAllItemsEnabled() { + final ListAdapter adapter = mListAdapter; + if (adapter != null) { + return adapter.areAllItemsEnabled(); + } else { + return true; + } + } + + /** + * If the wrapped SpinnerAdapter is also a ListAdapter, delegate this call. + * Otherwise, return true. + */ + public boolean isEnabled(int position) { + final ListAdapter adapter = mListAdapter; + if (adapter != null) { + return adapter.isEnabled(position); + } else { + return true; + } + } + + public int getItemViewType(int position) { + return 0; + } + + public int getViewTypeCount() { + return 1; + } + + public boolean isEmpty() { + return getCount() == 0; + } + } + + /** + * Implements some sort of popup selection interface for selecting a spinner option. + * Allows for different spinner modes. + */ + private interface SpinnerPopup { + public void setAdapter(ListAdapter adapter); + + /** + * Show the popup + */ + public void show(); + + /** + * Dismiss the popup + */ + public void dismiss(); + + /** + * @return true if the popup is showing, false otherwise. + */ + public boolean isShowing(); + + /** + * Set hint text to be displayed to the user. This should provide + * a description of the choice being made. + * @param hintText Hint text to set. + */ + public void setPromptText(CharSequence hintText); + public CharSequence getHintText(); + } + + /* + private class DialogPopup implements SpinnerPopup, DialogInterface.OnClickListener { + private AlertDialog mPopup; + private ListAdapter mListAdapter; + private CharSequence mPrompt; + + public void dismiss() { + mPopup.dismiss(); + mPopup = null; + } + + public boolean isShowing() { + return mPopup != null ? mPopup.isShowing() : false; + } + + public void setAdapter(ListAdapter adapter) { + mListAdapter = adapter; + } + + public void setPromptText(CharSequence hintText) { + mPrompt = hintText; + } + + public CharSequence getHintText() { + return mPrompt; + } + + public void show() { + AlertDialog.Builder builder = new AlertDialog.Builder(getContext()); + if (mPrompt != null) { + builder.setTitle(mPrompt); + } + mPopup = builder.setSingleChoiceItems(mListAdapter, + getSelectedItemPosition(), this).show(); + } + + public void onClick(DialogInterface dialog, int which) { + setSelection(which); + dismiss(); + } + } + */ + + private class DropdownPopup extends IcsListPopupWindow implements SpinnerPopup { + private CharSequence mHintText; + private ListAdapter mAdapter; + + public DropdownPopup(Context context, AttributeSet attrs, int defStyleRes) { + super(context, attrs, 0, defStyleRes); + + setAnchorView(IcsSpinner.this); + setModal(true); + setPromptPosition(POSITION_PROMPT_ABOVE); + setOnItemClickListener(new OnItemClickListener() { + @SuppressWarnings("rawtypes") + public void onItemClick(AdapterView parent, View v, int position, long id) { + IcsSpinner.this.setSelection(position); + dismiss(); + } + }); + } + + @Override + public void setAdapter(ListAdapter adapter) { + super.setAdapter(adapter); + mAdapter = adapter; + } + + public CharSequence getHintText() { + return mHintText; + } + + public void setPromptText(CharSequence hintText) { + // Hint text is ignored for dropdowns, but maintain it here. + mHintText = hintText; + } + + @Override + public void show() { + final int spinnerPaddingLeft = IcsSpinner.this.getPaddingLeft(); + if (mDropDownWidth == WRAP_CONTENT) { + final int spinnerWidth = IcsSpinner.this.getWidth(); + final int spinnerPaddingRight = IcsSpinner.this.getPaddingRight(); + setContentWidth(Math.max( + measureContentWidth((SpinnerAdapter) mAdapter, getBackground()), + spinnerWidth - spinnerPaddingLeft - spinnerPaddingRight)); + } else if (mDropDownWidth == MATCH_PARENT) { + final int spinnerWidth = IcsSpinner.this.getWidth(); + final int spinnerPaddingRight = IcsSpinner.this.getPaddingRight(); + setContentWidth(spinnerWidth - spinnerPaddingLeft - spinnerPaddingRight); + } else { + setContentWidth(mDropDownWidth); + } + final Drawable background = getBackground(); + int bgOffset = 0; + if (background != null) { + background.getPadding(mTempRect); + bgOffset = -mTempRect.left; + } + setHorizontalOffset(bgOffset + spinnerPaddingLeft); + setInputMethodMode(PopupWindow.INPUT_METHOD_NOT_NEEDED); + super.show(); + getListView().setChoiceMode(ListView.CHOICE_MODE_SINGLE); + setSelection(IcsSpinner.this.getSelectedItemPosition()); + } + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/IcsView.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/IcsView.java new file mode 100644 index 000000000..a7185d082 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/IcsView.java @@ -0,0 +1,21 @@ +package com.actionbarsherlock.internal.widget; + +import android.view.View; + +final class IcsView { + //No instances + private IcsView() {} + + /** + * Return only the state bits of {@link #getMeasuredWidthAndState()} + * and {@link #getMeasuredHeightAndState()}, combined into one integer. + * The width component is in the regular bits {@link #MEASURED_STATE_MASK} + * and the height component is at the shifted bits + * {@link #MEASURED_HEIGHT_STATE_SHIFT}>>{@link #MEASURED_STATE_MASK}. + */ + public static int getMeasuredStateInt(View child) { + return (child.getMeasuredWidth()&View.MEASURED_STATE_MASK) + | ((child.getMeasuredHeight()>>View.MEASURED_HEIGHT_STATE_SHIFT) + & (View.MEASURED_STATE_MASK>>View.MEASURED_HEIGHT_STATE_SHIFT)); + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/ScrollingTabContainerView.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/ScrollingTabContainerView.java new file mode 100644 index 000000000..48fb5d8b4 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/internal/widget/ScrollingTabContainerView.java @@ -0,0 +1,546 @@ +/* + * 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.widget; + +import android.content.Context; +import android.content.res.Configuration; +import android.content.res.TypedArray; +import android.graphics.drawable.Drawable; +import android.text.TextUtils.TruncateAt; +import android.util.AttributeSet; +import android.view.Gravity; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.view.ViewParent; +import android.view.animation.DecelerateInterpolator; +import android.view.animation.Interpolator; +import android.widget.BaseAdapter; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.ListView; +import com.actionbarsherlock.R; +import com.actionbarsherlock.app.ActionBar; +import com.actionbarsherlock.internal.nineoldandroids.animation.Animator; +import com.actionbarsherlock.internal.nineoldandroids.animation.ObjectAnimator; +import com.actionbarsherlock.internal.nineoldandroids.widget.NineHorizontalScrollView; + +/** + * This widget implements the dynamic action bar tab behavior that can change + * across different configurations or circumstances. + */ +public class ScrollingTabContainerView extends NineHorizontalScrollView + implements IcsAdapterView.OnItemSelectedListener { + //UNUSED private static final String TAG = "ScrollingTabContainerView"; + Runnable mTabSelector; + private TabClickListener mTabClickListener; + + private IcsLinearLayout mTabLayout; + private IcsSpinner mTabSpinner; + private boolean mAllowCollapse; + + private LayoutInflater mInflater; + + int mMaxTabWidth; + private int mContentHeight; + private int mSelectedTabIndex; + + protected Animator mVisibilityAnim; + protected final VisibilityAnimListener mVisAnimListener = new VisibilityAnimListener(); + + private static final /*Time*/Interpolator sAlphaInterpolator = new DecelerateInterpolator(); + + private static final int FADE_DURATION = 200; + + public ScrollingTabContainerView(Context context) { + super(context); + setHorizontalScrollBarEnabled(false); + + TypedArray a = getContext().obtainStyledAttributes(null, R.styleable.SherlockActionBar, + R.attr.actionBarStyle, 0); + setContentHeight(a.getLayoutDimension(R.styleable.SherlockActionBar_height, 0)); + a.recycle(); + + mInflater = LayoutInflater.from(context); + + mTabLayout = createTabLayout(); + addView(mTabLayout, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, + ViewGroup.LayoutParams.MATCH_PARENT)); + } + + @Override + public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + final int widthMode = MeasureSpec.getMode(widthMeasureSpec); + final boolean lockedExpanded = widthMode == MeasureSpec.EXACTLY; + setFillViewport(lockedExpanded); + + final int childCount = mTabLayout.getChildCount(); + if (childCount > 1 && + (widthMode == MeasureSpec.EXACTLY || widthMode == MeasureSpec.AT_MOST)) { + if (childCount > 2) { + mMaxTabWidth = (int) (MeasureSpec.getSize(widthMeasureSpec) * 0.4f); + } else { + mMaxTabWidth = MeasureSpec.getSize(widthMeasureSpec) / 2; + } + } else { + mMaxTabWidth = -1; + } + + heightMeasureSpec = MeasureSpec.makeMeasureSpec(mContentHeight, MeasureSpec.EXACTLY); + + final boolean canCollapse = !lockedExpanded && mAllowCollapse; + + if (canCollapse) { + // See if we should expand + mTabLayout.measure(MeasureSpec.UNSPECIFIED, heightMeasureSpec); + if (mTabLayout.getMeasuredWidth() > MeasureSpec.getSize(widthMeasureSpec)) { + performCollapse(); + } else { + performExpand(); + } + } else { + performExpand(); + } + + final int oldWidth = getMeasuredWidth(); + super.onMeasure(widthMeasureSpec, heightMeasureSpec); + final int newWidth = getMeasuredWidth(); + + if (lockedExpanded && oldWidth != newWidth) { + // Recenter the tab display if we're at a new (scrollable) size. + setTabSelected(mSelectedTabIndex); + } + } + + /** + * Indicates whether this view is collapsed into a dropdown menu instead + * of traditional tabs. + * @return true if showing as a spinner + */ + private boolean isCollapsed() { + return mTabSpinner != null && mTabSpinner.getParent() == this; + } + + public void setAllowCollapse(boolean allowCollapse) { + mAllowCollapse = allowCollapse; + } + + private void performCollapse() { + if (isCollapsed()) return; + + if (mTabSpinner == null) { + mTabSpinner = createSpinner(); + } + removeView(mTabLayout); + addView(mTabSpinner, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, + ViewGroup.LayoutParams.MATCH_PARENT)); + if (mTabSpinner.getAdapter() == null) { + mTabSpinner.setAdapter(new TabAdapter()); + } + if (mTabSelector != null) { + removeCallbacks(mTabSelector); + mTabSelector = null; + } + mTabSpinner.setSelection(mSelectedTabIndex); + } + + private boolean performExpand() { + if (!isCollapsed()) return false; + + removeView(mTabSpinner); + addView(mTabLayout, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, + ViewGroup.LayoutParams.MATCH_PARENT)); + setTabSelected(mTabSpinner.getSelectedItemPosition()); + return false; + } + + public void setTabSelected(int position) { + mSelectedTabIndex = position; + final int tabCount = mTabLayout.getChildCount(); + for (int i = 0; i < tabCount; i++) { + final View child = mTabLayout.getChildAt(i); + final boolean isSelected = i == position; + child.setSelected(isSelected); + if (isSelected) { + animateToTab(position); + } + } + } + + public void setContentHeight(int contentHeight) { + mContentHeight = contentHeight; + requestLayout(); + } + + private IcsLinearLayout createTabLayout() { + final IcsLinearLayout tabLayout = (IcsLinearLayout) LayoutInflater.from(getContext()) + .inflate(R.layout.abs__action_bar_tab_bar_view, null); + tabLayout.setMeasureWithLargestChildEnabled(true); + tabLayout.setLayoutParams(new LinearLayout.LayoutParams( + LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.MATCH_PARENT)); + return tabLayout; + } + + private IcsSpinner createSpinner() { + final IcsSpinner spinner = new IcsSpinner(getContext(), null, + R.attr.actionDropDownStyle); + spinner.setLayoutParams(new LinearLayout.LayoutParams( + LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.MATCH_PARENT)); + spinner.setOnItemSelectedListener(this); + return spinner; + } + + @Override + protected void onConfigurationChanged(Configuration newConfig) { + super.onConfigurationChanged(newConfig); + + // Action bar can change size on configuration changes. + // Reread the desired height from the theme-specified style. + TypedArray a = getContext().obtainStyledAttributes(null, R.styleable.SherlockActionBar, + R.attr.actionBarStyle, 0); + setContentHeight(a.getLayoutDimension(R.styleable.SherlockActionBar_height, 0)); + a.recycle(); + } + + public void animateToVisibility(int visibility) { + if (mVisibilityAnim != null) { + mVisibilityAnim.cancel(); + } + if (visibility == VISIBLE) { + if (getVisibility() != VISIBLE) { + setAlpha(0); + } + ObjectAnimator anim = ObjectAnimator.ofFloat(this, "alpha", 1); + anim.setDuration(FADE_DURATION); + anim.setInterpolator(sAlphaInterpolator); + + anim.addListener(mVisAnimListener.withFinalVisibility(visibility)); + anim.start(); + } else { + ObjectAnimator anim = ObjectAnimator.ofFloat(this, "alpha", 0); + anim.setDuration(FADE_DURATION); + anim.setInterpolator(sAlphaInterpolator); + + anim.addListener(mVisAnimListener.withFinalVisibility(visibility)); + anim.start(); + } + } + + public void animateToTab(final int position) { + final View tabView = mTabLayout.getChildAt(position); + if (mTabSelector != null) { + removeCallbacks(mTabSelector); + } + mTabSelector = new Runnable() { + public void run() { + final int scrollPos = tabView.getLeft() - (getWidth() - tabView.getWidth()) / 2; + smoothScrollTo(scrollPos, 0); + mTabSelector = null; + } + }; + post(mTabSelector); + } + + @Override + public void onAttachedToWindow() { + super.onAttachedToWindow(); + if (mTabSelector != null) { + // Re-post the selector we saved + post(mTabSelector); + } + } + + @Override + public void onDetachedFromWindow() { + super.onDetachedFromWindow(); + if (mTabSelector != null) { + removeCallbacks(mTabSelector); + } + } + + private TabView createTabView(ActionBar.Tab tab, boolean forAdapter) { + //Workaround for not being able to pass a defStyle on pre-3.0 + final TabView tabView = (TabView)mInflater.inflate(R.layout.abs__action_bar_tab, null); + tabView.init(this, tab, forAdapter); + + if (forAdapter) { + tabView.setBackgroundDrawable(null); + tabView.setLayoutParams(new ListView.LayoutParams(ListView.LayoutParams.MATCH_PARENT, + mContentHeight)); + } else { + tabView.setFocusable(true); + + if (mTabClickListener == null) { + mTabClickListener = new TabClickListener(); + } + tabView.setOnClickListener(mTabClickListener); + } + return tabView; + } + + public void addTab(ActionBar.Tab tab, boolean setSelected) { + TabView tabView = createTabView(tab, false); + mTabLayout.addView(tabView, new IcsLinearLayout.LayoutParams(0, + LayoutParams.MATCH_PARENT, 1)); + if (mTabSpinner != null) { + ((TabAdapter) mTabSpinner.getAdapter()).notifyDataSetChanged(); + } + if (setSelected) { + tabView.setSelected(true); + } + if (mAllowCollapse) { + requestLayout(); + } + } + + public void addTab(ActionBar.Tab tab, int position, boolean setSelected) { + final TabView tabView = createTabView(tab, false); + mTabLayout.addView(tabView, position, new IcsLinearLayout.LayoutParams( + 0, LayoutParams.MATCH_PARENT, 1)); + if (mTabSpinner != null) { + ((TabAdapter) mTabSpinner.getAdapter()).notifyDataSetChanged(); + } + if (setSelected) { + tabView.setSelected(true); + } + if (mAllowCollapse) { + requestLayout(); + } + } + + public void updateTab(int position) { + ((TabView) mTabLayout.getChildAt(position)).update(); + if (mTabSpinner != null) { + ((TabAdapter) mTabSpinner.getAdapter()).notifyDataSetChanged(); + } + if (mAllowCollapse) { + requestLayout(); + } + } + + public void removeTabAt(int position) { + mTabLayout.removeViewAt(position); + if (mTabSpinner != null) { + ((TabAdapter) mTabSpinner.getAdapter()).notifyDataSetChanged(); + } + if (mAllowCollapse) { + requestLayout(); + } + } + + public void removeAllTabs() { + mTabLayout.removeAllViews(); + if (mTabSpinner != null) { + ((TabAdapter) mTabSpinner.getAdapter()).notifyDataSetChanged(); + } + if (mAllowCollapse) { + requestLayout(); + } + } + + @Override + public void onItemSelected(IcsAdapterView parent, View view, int position, long id) { + TabView tabView = (TabView) view; + tabView.getTab().select(); + } + + @Override + public void onNothingSelected(IcsAdapterView parent) { + } + + public static class TabView extends LinearLayout { + private ScrollingTabContainerView mParent; + private ActionBar.Tab mTab; + private CapitalizingTextView mTextView; + private ImageView mIconView; + private View mCustomView; + + public TabView(Context context, AttributeSet attrs) { + //TODO super(context, null, R.attr.actionBarTabStyle); + super(context, attrs); + } + + public void init(ScrollingTabContainerView parent, ActionBar.Tab tab, boolean forList) { + mParent = parent; + mTab = tab; + + if (forList) { + setGravity(Gravity.LEFT | Gravity.CENTER_VERTICAL); + } + + update(); + } + + public void bindTab(ActionBar.Tab tab) { + mTab = tab; + update(); + } + + @Override + public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + super.onMeasure(widthMeasureSpec, heightMeasureSpec); + + // Re-measure if we went beyond our maximum size. + if (mParent.mMaxTabWidth > 0 && getMeasuredWidth() > mParent.mMaxTabWidth) { + super.onMeasure(MeasureSpec.makeMeasureSpec(mParent.mMaxTabWidth, MeasureSpec.EXACTLY), + heightMeasureSpec); + } + } + + public void update() { + final ActionBar.Tab tab = mTab; + final View custom = tab.getCustomView(); + if (custom != null) { + final ViewParent customParent = custom.getParent(); + if (customParent != this) { + if (customParent != null) ((ViewGroup) customParent).removeView(custom); + addView(custom); + } + mCustomView = custom; + if (mTextView != null) mTextView.setVisibility(GONE); + if (mIconView != null) { + mIconView.setVisibility(GONE); + mIconView.setImageDrawable(null); + } + } else { + if (mCustomView != null) { + removeView(mCustomView); + mCustomView = null; + } + + final Drawable icon = tab.getIcon(); + final CharSequence text = tab.getText(); + + if (icon != null) { + if (mIconView == null) { + ImageView iconView = new ImageView(getContext()); + LayoutParams lp = new LayoutParams(LayoutParams.WRAP_CONTENT, + LayoutParams.WRAP_CONTENT); + lp.gravity = Gravity.CENTER_VERTICAL; + iconView.setLayoutParams(lp); + addView(iconView, 0); + mIconView = iconView; + } + mIconView.setImageDrawable(icon); + mIconView.setVisibility(VISIBLE); + } else if (mIconView != null) { + mIconView.setVisibility(GONE); + mIconView.setImageDrawable(null); + } + + if (text != null) { + if (mTextView == null) { + CapitalizingTextView textView = new CapitalizingTextView(getContext(), null, + R.attr.actionBarTabTextStyle); + textView.setEllipsize(TruncateAt.END); + LayoutParams lp = new LayoutParams(LayoutParams.WRAP_CONTENT, + LayoutParams.WRAP_CONTENT); + lp.gravity = Gravity.CENTER_VERTICAL; + textView.setLayoutParams(lp); + addView(textView); + mTextView = textView; + } + mTextView.setTextCompat(text); + mTextView.setVisibility(VISIBLE); + } else if (mTextView != null) { + mTextView.setVisibility(GONE); + mTextView.setText(null); + } + + if (mIconView != null) { + mIconView.setContentDescription(tab.getContentDescription()); + } + } + } + + public ActionBar.Tab getTab() { + return mTab; + } + } + + private class TabAdapter extends BaseAdapter { + @Override + public int getCount() { + return mTabLayout.getChildCount(); + } + + @Override + public Object getItem(int position) { + return ((TabView) mTabLayout.getChildAt(position)).getTab(); + } + + @Override + public long getItemId(int position) { + return position; + } + + @Override + public View getView(int position, View convertView, ViewGroup parent) { + if (convertView == null) { + convertView = createTabView((ActionBar.Tab) getItem(position), true); + } else { + ((TabView) convertView).bindTab((ActionBar.Tab) getItem(position)); + } + return convertView; + } + } + + private class TabClickListener implements OnClickListener { + public void onClick(View view) { + TabView tabView = (TabView) view; + tabView.getTab().select(); + final int tabCount = mTabLayout.getChildCount(); + for (int i = 0; i < tabCount; i++) { + final View child = mTabLayout.getChildAt(i); + child.setSelected(child == view); + } + } + } + + protected class VisibilityAnimListener implements Animator.AnimatorListener { + private boolean mCanceled = false; + private int mFinalVisibility; + + public VisibilityAnimListener withFinalVisibility(int visibility) { + mFinalVisibility = visibility; + return this; + } + + @Override + public void onAnimationStart(Animator animation) { + setVisibility(VISIBLE); + mVisibilityAnim = animation; + mCanceled = false; + } + + @Override + public void onAnimationEnd(Animator animation) { + if (mCanceled) return; + + mVisibilityAnim = null; + setVisibility(mFinalVisibility); + } + + @Override + public void onAnimationCancel(Animator animation) { + mCanceled = true; + } + + @Override + public void onAnimationRepeat(Animator animation) { + } + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/view/ActionMode.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/view/ActionMode.java new file mode 100644 index 000000000..81b4cd4d2 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/view/ActionMode.java @@ -0,0 +1,224 @@ +/* + * 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. + */ + +package com.actionbarsherlock.view; + +import android.view.View; + + +/** + * Represents a contextual mode of the user interface. Action modes can be used for + * modal interactions with content and replace parts of the normal UI until finished. + * Examples of good action modes include selection modes, search, content editing, etc. + */ +public abstract class ActionMode { + private Object mTag; + + /** + * Set a tag object associated with this ActionMode. + * + *

      Like the tag available to views, this allows applications to associate arbitrary + * data with an ActionMode for later reference. + * + * @param tag Tag to associate with this ActionMode + * + * @see #getTag() + */ + public void setTag(Object tag) { + mTag = tag; + } + + /** + * Retrieve the tag object associated with this ActionMode. + * + *

      Like the tag available to views, this allows applications to associate arbitrary + * data with an ActionMode for later reference. + * + * @return Tag associated with this ActionMode + * + * @see #setTag(Object) + */ + public Object getTag() { + return mTag; + } + + /** + * Set the title of the action mode. This method will have no visible effect if + * a custom view has been set. + * + * @param title Title string to set + * + * @see #setTitle(int) + * @see #setCustomView(View) + */ + public abstract void setTitle(CharSequence title); + + /** + * Set the title of the action mode. This method will have no visible effect if + * a custom view has been set. + * + * @param resId Resource ID of a string to set as the title + * + * @see #setTitle(CharSequence) + * @see #setCustomView(View) + */ + public abstract void setTitle(int resId); + + /** + * Set the subtitle of the action mode. This method will have no visible effect if + * a custom view has been set. + * + * @param subtitle Subtitle string to set + * + * @see #setSubtitle(int) + * @see #setCustomView(View) + */ + public abstract void setSubtitle(CharSequence subtitle); + + /** + * Set the subtitle of the action mode. This method will have no visible effect if + * a custom view has been set. + * + * @param resId Resource ID of a string to set as the subtitle + * + * @see #setSubtitle(CharSequence) + * @see #setCustomView(View) + */ + public abstract void setSubtitle(int resId); + + /** + * Set a custom view for this action mode. The custom view will take the place of + * the title and subtitle. Useful for things like search boxes. + * + * @param view Custom view to use in place of the title/subtitle. + * + * @see #setTitle(CharSequence) + * @see #setSubtitle(CharSequence) + */ + public abstract void setCustomView(View view); + + /** + * Invalidate the action mode and refresh menu content. The mode's + * {@link ActionMode.Callback} will have its + * {@link Callback#onPrepareActionMode(ActionMode, Menu)} method called. + * If it returns true the menu will be scanned for updated content and any relevant changes + * will be reflected to the user. + */ + public abstract void invalidate(); + + /** + * Finish and close this action mode. The action mode's {@link ActionMode.Callback} will + * have its {@link Callback#onDestroyActionMode(ActionMode)} method called. + */ + public abstract void finish(); + + /** + * Returns the menu of actions that this action mode presents. + * @return The action mode's menu. + */ + public abstract Menu getMenu(); + + /** + * Returns the current title of this action mode. + * @return Title text + */ + public abstract CharSequence getTitle(); + + /** + * Returns the current subtitle of this action mode. + * @return Subtitle text + */ + public abstract CharSequence getSubtitle(); + + /** + * Returns the current custom view for this action mode. + * @return The current custom view + */ + public abstract View getCustomView(); + + /** + * Returns a {@link MenuInflater} with the ActionMode's context. + */ + public abstract MenuInflater getMenuInflater(); + + /** + * Returns whether the UI presenting this action mode can take focus or not. + * This is used by internal components within the framework that would otherwise + * present an action mode UI that requires focus, such as an EditText as a custom view. + * + * @return true if the UI used to show this action mode can take focus + * @hide Internal use only + */ + public boolean isUiFocusable() { + return true; + } + + /** + * Callback interface for action modes. Supplied to + * {@link View#startActionMode(Callback)}, a Callback + * configures and handles events raised by a user's interaction with an action mode. + * + *

      An action mode's lifecycle is as follows: + *

        + *
      • {@link Callback#onCreateActionMode(ActionMode, Menu)} once on initial + * creation
      • + *
      • {@link Callback#onPrepareActionMode(ActionMode, Menu)} after creation + * and any time the {@link ActionMode} is invalidated
      • + *
      • {@link Callback#onActionItemClicked(ActionMode, MenuItem)} any time a + * contextual action button is clicked
      • + *
      • {@link Callback#onDestroyActionMode(ActionMode)} when the action mode + * is closed
      • + *
      + */ + public interface Callback { + /** + * Called when action mode is first created. The menu supplied will be used to + * generate action buttons for the action mode. + * + * @param mode ActionMode being created + * @param menu Menu used to populate action buttons + * @return true if the action mode should be created, false if entering this + * mode should be aborted. + */ + public boolean onCreateActionMode(ActionMode mode, Menu menu); + + /** + * Called to refresh an action mode's action menu whenever it is invalidated. + * + * @param mode ActionMode being prepared + * @param menu Menu used to populate action buttons + * @return true if the menu or action mode was updated, false otherwise. + */ + public boolean onPrepareActionMode(ActionMode mode, Menu menu); + + /** + * Called to report a user click on an action button. + * + * @param mode The current ActionMode + * @param item The item that was clicked + * @return true if this callback handled the event, false if the standard MenuItem + * invocation should continue. + */ + public boolean onActionItemClicked(ActionMode mode, MenuItem item); + + /** + * Called when an action mode is about to be exited and destroyed. + * + * @param mode The current ActionMode being destroyed + */ + public void onDestroyActionMode(ActionMode mode); + } +} \ No newline at end of file diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/view/ActionProvider.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/view/ActionProvider.java new file mode 100644 index 000000000..ae7cb1fe0 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/view/ActionProvider.java @@ -0,0 +1,170 @@ +/* + * 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.view; + +import android.content.Context; +import android.view.View; + +/** + * This class is a mediator for accomplishing a given task, for example sharing a file. + * It is responsible for creating a view that performs an action that accomplishes the task. + * This class also implements other functions such a performing a default action. + *

      + * An ActionProvider can be optionally specified for a {@link MenuItem} and in such a + * case it will be responsible for creating the action view that appears in the + * {@link android.app.ActionBar} as a substitute for the menu item when the item is + * displayed as an action item. Also the provider is responsible for performing a + * default action if a menu item placed on the overflow menu of the ActionBar is + * selected and none of the menu item callbacks has handled the selection. For this + * case the provider can also optionally provide a sub-menu for accomplishing the + * task at hand. + *

      + *

      + * There are two ways for using an action provider for creating and handling of action views: + *

        + *
      • + * Setting the action provider on a {@link MenuItem} directly by calling + * {@link MenuItem#setActionProvider(ActionProvider)}. + *
      • + *
      • + * Declaring the action provider in the menu XML resource. For example: + *
        + * 
        + *   <item android:id="@+id/my_menu_item"
        + *     android:title="Title"
        + *     android:icon="@drawable/my_menu_item_icon"
        + *     android:showAsAction="ifRoom"
        + *     android:actionProviderClass="foo.bar.SomeActionProvider" />
        + * 
        + * 
        + *
      • + *
      + *

      + * + * @see MenuItem#setActionProvider(ActionProvider) + * @see MenuItem#getActionProvider() + */ +public abstract class ActionProvider { + private SubUiVisibilityListener mSubUiVisibilityListener; + + /** + * Creates a new instance. + * + * @param context Context for accessing resources. + */ + public ActionProvider(Context context) { + } + + /** + * Factory method for creating new action views. + * + * @return A new action view. + */ + public abstract View onCreateActionView(); + + /** + * Performs an optional default action. + *

      + * For the case of an action provider placed in a menu item not shown as an action this + * method is invoked if previous callbacks for processing menu selection has handled + * the event. + *

      + *

      + * A menu item selection is processed in the following order: + *

        + *
      • + * Receiving a call to {@link MenuItem.OnMenuItemClickListener#onMenuItemClick + * MenuItem.OnMenuItemClickListener.onMenuItemClick}. + *
      • + *
      • + * Receiving a call to {@link android.app.Activity#onOptionsItemSelected(MenuItem) + * Activity.onOptionsItemSelected(MenuItem)} + *
      • + *
      • + * Receiving a call to {@link android.app.Fragment#onOptionsItemSelected(MenuItem) + * Fragment.onOptionsItemSelected(MenuItem)} + *
      • + *
      • + * Launching the {@link android.content.Intent} set via + * {@link MenuItem#setIntent(android.content.Intent) MenuItem.setIntent(android.content.Intent)} + *
      • + *
      • + * Invoking this method. + *
      • + *
      + *

      + *

      + * The default implementation does not perform any action and returns false. + *

      + */ + public boolean onPerformDefaultAction() { + return false; + } + + /** + * Determines if this ActionProvider has a submenu associated with it. + * + *

      Associated submenus will be shown when an action view is not. This + * provider instance will receive a call to {@link #onPrepareSubMenu(SubMenu)} + * after the call to {@link #onPerformDefaultAction()} and before a submenu is + * displayed to the user. + * + * @return true if the item backed by this provider should have an associated submenu + */ + public boolean hasSubMenu() { + return false; + } + + /** + * Called to prepare an associated submenu for the menu item backed by this ActionProvider. + * + *

      if {@link #hasSubMenu()} returns true, this method will be called when the + * menu item is selected to prepare the submenu for presentation to the user. Apps + * may use this to create or alter submenu content right before display. + * + * @param subMenu Submenu that will be displayed + */ + public void onPrepareSubMenu(SubMenu subMenu) { + } + + /** + * Notify the system that the visibility of an action view's sub-UI such as + * an anchored popup has changed. This will affect how other system + * visibility notifications occur. + * + * @hide Pending future API approval + */ + public void subUiVisibilityChanged(boolean isVisible) { + if (mSubUiVisibilityListener != null) { + mSubUiVisibilityListener.onSubUiVisibilityChanged(isVisible); + } + } + + /** + * @hide Internal use only + */ + public void setSubUiVisibilityListener(SubUiVisibilityListener listener) { + mSubUiVisibilityListener = listener; + } + + /** + * @hide Internal use only + */ + public interface SubUiVisibilityListener { + public void onSubUiVisibilityChanged(boolean isVisible); + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/view/CollapsibleActionView.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/view/CollapsibleActionView.java new file mode 100644 index 000000000..43281b013 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/view/CollapsibleActionView.java @@ -0,0 +1,39 @@ +/* + * 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.view; + +/** + * When a {@link View} implements this interface it will receive callbacks + * when expanded or collapsed as an action view alongside the optional, + * app-specified callbacks to {@link OnActionExpandListener}. + * + *

      See {@link MenuItem} for more information about action views. + * See {@link android.app.ActionBar} for more information about the action bar. + */ +public interface CollapsibleActionView { + /** + * Called when this view is expanded as an action view. + * See {@link MenuItem#expandActionView()}. + */ + public void onActionViewExpanded(); + + /** + * Called when this view is collapsed as an action view. + * See {@link MenuItem#collapseActionView()}. + */ + public void onActionViewCollapsed(); +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/view/Menu.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/view/Menu.java new file mode 100644 index 000000000..951f4ccef --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/view/Menu.java @@ -0,0 +1,447 @@ +/* + * 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.view; + +import android.content.ComponentName; +import android.content.Intent; +import android.view.KeyEvent; + +/** + * Interface for managing the items in a menu. + *

      + * By default, every Activity supports an options menu of actions or options. + * You can add items to this menu and handle clicks on your additions. The + * easiest way of adding menu items is inflating an XML file into the + * {@link Menu} via {@link MenuInflater}. The easiest way of attaching code to + * clicks is via {@link Activity#onOptionsItemSelected(MenuItem)} and + * {@link Activity#onContextItemSelected(MenuItem)}. + *

      + * Different menu types support different features: + *

        + *
      1. Context menus: Do not support item shortcuts and item icons. + *
      2. Options menus: The icon menus do not support item check + * marks and only show the item's + * {@link MenuItem#setTitleCondensed(CharSequence) condensed title}. The + * expanded menus (only available if six or more menu items are visible, + * reached via the 'More' item in the icon menu) do not show item icons, and + * item check marks are discouraged. + *
      3. Sub menus: Do not support item icons, or nested sub menus. + *
      + * + *
      + *

      Developer Guides

      + *

      For more information about creating menus, read the + * Menus developer guide.

      + *
      + */ +public interface Menu { + + /** + * This is the part of an order integer that the user can provide. + * @hide + */ + static final int USER_MASK = 0x0000ffff; + /** + * Bit shift of the user portion of the order integer. + * @hide + */ + static final int USER_SHIFT = 0; + + /** + * This is the part of an order integer that supplies the category of the + * item. + * @hide + */ + static final int CATEGORY_MASK = 0xffff0000; + /** + * Bit shift of the category portion of the order integer. + * @hide + */ + static final int CATEGORY_SHIFT = 16; + + /** + * Value to use for group and item identifier integers when you don't care + * about them. + */ + static final int NONE = 0; + + /** + * First value for group and item identifier integers. + */ + static final int FIRST = 1; + + // Implementation note: Keep these CATEGORY_* in sync with the category enum + // in attrs.xml + + /** + * Category code for the order integer for items/groups that are part of a + * container -- or/add this with your base value. + */ + static final int CATEGORY_CONTAINER = 0x00010000; + + /** + * Category code for the order integer for items/groups that are provided by + * the system -- or/add this with your base value. + */ + static final int CATEGORY_SYSTEM = 0x00020000; + + /** + * Category code for the order integer for items/groups that are + * user-supplied secondary (infrequently used) options -- or/add this with + * your base value. + */ + static final int CATEGORY_SECONDARY = 0x00030000; + + /** + * Category code for the order integer for items/groups that are + * alternative actions on the data that is currently displayed -- or/add + * this with your base value. + */ + static final int CATEGORY_ALTERNATIVE = 0x00040000; + + /** + * Flag for {@link #addIntentOptions}: if set, do not automatically remove + * any existing menu items in the same group. + */ + static final int FLAG_APPEND_TO_GROUP = 0x0001; + + /** + * Flag for {@link #performShortcut}: if set, do not close the menu after + * executing the shortcut. + */ + static final int FLAG_PERFORM_NO_CLOSE = 0x0001; + + /** + * Flag for {@link #performShortcut(int, KeyEvent, int)}: if set, always + * close the menu after executing the shortcut. Closing the menu also resets + * the prepared state. + */ + static final int FLAG_ALWAYS_PERFORM_CLOSE = 0x0002; + + /** + * Add a new item to the menu. This item displays the given title for its + * label. + * + * @param title The text to display for the item. + * @return The newly added menu item. + */ + public MenuItem add(CharSequence title); + + /** + * Add a new item to the menu. This item displays the given title for its + * label. + * + * @param titleRes Resource identifier of title string. + * @return The newly added menu item. + */ + public MenuItem add(int titleRes); + + /** + * Add a new item to the menu. This item displays the given title for its + * label. + * + * @param groupId The group identifier that this item should be part of. + * This can be used to define groups of items for batch state + * changes. Normally use {@link #NONE} if an item should not be in a + * group. + * @param itemId Unique item ID. Use {@link #NONE} if you do not need a + * unique ID. + * @param order The order for the item. Use {@link #NONE} if you do not care + * about the order. See {@link MenuItem#getOrder()}. + * @param title The text to display for the item. + * @return The newly added menu item. + */ + public MenuItem add(int groupId, int itemId, int order, CharSequence title); + + /** + * Variation on {@link #add(int, int, int, CharSequence)} that takes a + * string resource identifier instead of the string itself. + * + * @param groupId The group identifier that this item should be part of. + * This can also be used to define groups of items for batch state + * changes. Normally use {@link #NONE} if an item should not be in a + * group. + * @param itemId Unique item ID. Use {@link #NONE} if you do not need a + * unique ID. + * @param order The order for the item. Use {@link #NONE} if you do not care + * about the order. See {@link MenuItem#getOrder()}. + * @param titleRes Resource identifier of title string. + * @return The newly added menu item. + */ + public MenuItem add(int groupId, int itemId, int order, int titleRes); + + /** + * Add a new sub-menu to the menu. This item displays the given title for + * its label. To modify other attributes on the submenu's menu item, use + * {@link SubMenu#getItem()}. + * + * @param title The text to display for the item. + * @return The newly added sub-menu + */ + SubMenu addSubMenu(final CharSequence title); + + /** + * Add a new sub-menu to the menu. This item displays the given title for + * its label. To modify other attributes on the submenu's menu item, use + * {@link SubMenu#getItem()}. + * + * @param titleRes Resource identifier of title string. + * @return The newly added sub-menu + */ + SubMenu addSubMenu(final int titleRes); + + /** + * Add a new sub-menu to the menu. This item displays the given + * title for its label. To modify other attributes on the + * submenu's menu item, use {@link SubMenu#getItem()}. + *

      + * Note that you can only have one level of sub-menus, i.e. you cannnot add + * a subMenu to a subMenu: An {@link UnsupportedOperationException} will be + * thrown if you try. + * + * @param groupId The group identifier that this item should be part of. + * This can also be used to define groups of items for batch state + * changes. Normally use {@link #NONE} if an item should not be in a + * group. + * @param itemId Unique item ID. Use {@link #NONE} if you do not need a + * unique ID. + * @param order The order for the item. Use {@link #NONE} if you do not care + * about the order. See {@link MenuItem#getOrder()}. + * @param title The text to display for the item. + * @return The newly added sub-menu + */ + SubMenu addSubMenu(final int groupId, final int itemId, int order, final CharSequence title); + + /** + * Variation on {@link #addSubMenu(int, int, int, CharSequence)} that takes + * a string resource identifier for the title instead of the string itself. + * + * @param groupId The group identifier that this item should be part of. + * This can also be used to define groups of items for batch state + * changes. Normally use {@link #NONE} if an item should not be in a group. + * @param itemId Unique item ID. Use {@link #NONE} if you do not need a unique ID. + * @param order The order for the item. Use {@link #NONE} if you do not care about the + * order. See {@link MenuItem#getOrder()}. + * @param titleRes Resource identifier of title string. + * @return The newly added sub-menu + */ + SubMenu addSubMenu(int groupId, int itemId, int order, int titleRes); + + /** + * Add a group of menu items corresponding to actions that can be performed + * for a particular Intent. The Intent is most often configured with a null + * action, the data that the current activity is working with, and includes + * either the {@link Intent#CATEGORY_ALTERNATIVE} or + * {@link Intent#CATEGORY_SELECTED_ALTERNATIVE} to find activities that have + * said they would like to be included as optional action. You can, however, + * use any Intent you want. + * + *

      + * See {@link android.content.pm.PackageManager#queryIntentActivityOptions} + * for more * details on the caller, specifics, and + * intent arguments. The list returned by that function is used + * to populate the resulting menu items. + * + *

      + * All of the menu items of possible options for the intent will be added + * with the given group and id. You can use the group to control ordering of + * the items in relation to other items in the menu. Normally this function + * will automatically remove any existing items in the menu in the same + * group and place a divider above and below the added items; this behavior + * can be modified with the flags parameter. For each of the + * generated items {@link MenuItem#setIntent} is called to associate the + * appropriate Intent with the item; this means the activity will + * automatically be started for you without having to do anything else. + * + * @param groupId The group identifier that the items should be part of. + * This can also be used to define groups of items for batch state + * changes. Normally use {@link #NONE} if the items should not be in + * a group. + * @param itemId Unique item ID. Use {@link #NONE} if you do not need a + * unique ID. + * @param order The order for the items. Use {@link #NONE} if you do not + * care about the order. See {@link MenuItem#getOrder()}. + * @param caller The current activity component name as defined by + * queryIntentActivityOptions(). + * @param specifics Specific items to place first as defined by + * queryIntentActivityOptions(). + * @param intent Intent describing the kinds of items to populate in the + * list as defined by queryIntentActivityOptions(). + * @param flags Additional options controlling how the items are added. + * @param outSpecificItems Optional array in which to place the menu items + * that were generated for each of the specifics that were + * requested. Entries may be null if no activity was found for that + * specific action. + * @return The number of menu items that were added. + * + * @see #FLAG_APPEND_TO_GROUP + * @see MenuItem#setIntent + * @see android.content.pm.PackageManager#queryIntentActivityOptions + */ + public int addIntentOptions(int groupId, int itemId, int order, + ComponentName caller, Intent[] specifics, + Intent intent, int flags, MenuItem[] outSpecificItems); + + /** + * Remove the item with the given identifier. + * + * @param id The item to be removed. If there is no item with this + * identifier, nothing happens. + */ + public void removeItem(int id); + + /** + * Remove all items in the given group. + * + * @param groupId The group to be removed. If there are no items in this + * group, nothing happens. + */ + public void removeGroup(int groupId); + + /** + * Remove all existing items from the menu, leaving it empty as if it had + * just been created. + */ + public void clear(); + + /** + * Control whether a particular group of items can show a check mark. This + * is similar to calling {@link MenuItem#setCheckable} on all of the menu items + * with the given group identifier, but in addition you can control whether + * this group contains a mutually-exclusive set items. This should be called + * after the items of the group have been added to the menu. + * + * @param group The group of items to operate on. + * @param checkable Set to true to allow a check mark, false to + * disallow. The default is false. + * @param exclusive If set to true, only one item in this group can be + * checked at a time; checking an item will automatically + * uncheck all others in the group. If set to false, each + * item can be checked independently of the others. + * + * @see MenuItem#setCheckable + * @see MenuItem#setChecked + */ + public void setGroupCheckable(int group, boolean checkable, boolean exclusive); + + /** + * Show or hide all menu items that are in the given group. + * + * @param group The group of items to operate on. + * @param visible If true the items are visible, else they are hidden. + * + * @see MenuItem#setVisible + */ + public void setGroupVisible(int group, boolean visible); + + /** + * Enable or disable all menu items that are in the given group. + * + * @param group The group of items to operate on. + * @param enabled If true the items will be enabled, else they will be disabled. + * + * @see MenuItem#setEnabled + */ + public void setGroupEnabled(int group, boolean enabled); + + /** + * Return whether the menu currently has item items that are visible. + * + * @return True if there is one or more item visible, + * else false. + */ + public boolean hasVisibleItems(); + + /** + * Return the menu item with a particular identifier. + * + * @param id The identifier to find. + * + * @return The menu item object, or null if there is no item with + * this identifier. + */ + public MenuItem findItem(int id); + + /** + * Get the number of items in the menu. Note that this will change any + * times items are added or removed from the menu. + * + * @return The item count. + */ + public int size(); + + /** + * Gets the menu item at the given index. + * + * @param index The index of the menu item to return. + * @return The menu item. + * @exception IndexOutOfBoundsException + * when {@code index < 0 || >= size()} + */ + public MenuItem getItem(int index); + + /** + * Closes the menu, if open. + */ + public void close(); + + /** + * Execute the menu item action associated with the given shortcut + * character. + * + * @param keyCode The keycode of the shortcut key. + * @param event Key event message. + * @param flags Additional option flags or 0. + * + * @return If the given shortcut exists and is shown, returns + * true; else returns false. + * + * @see #FLAG_PERFORM_NO_CLOSE + */ + public boolean performShortcut(int keyCode, KeyEvent event, int flags); + + /** + * Is a keypress one of the defined shortcut keys for this window. + * @param keyCode the key code from {@link KeyEvent} to check. + * @param event the {@link KeyEvent} to use to help check. + */ + boolean isShortcutKey(int keyCode, KeyEvent event); + + /** + * Execute the menu item action associated with the given menu identifier. + * + * @param id Identifier associated with the menu item. + * @param flags Additional option flags or 0. + * + * @return If the given identifier exists and is shown, returns + * true; else returns false. + * + * @see #FLAG_PERFORM_NO_CLOSE + */ + public boolean performIdentifierAction(int id, int flags); + + + /** + * Control whether the menu should be running in qwerty mode (alphabetic + * shortcuts) or 12-key mode (numeric shortcuts). + * + * @param isQwerty If true the menu will use alphabetic shortcuts; else it + * will use numeric shortcuts. + */ + public void setQwertyMode(boolean isQwerty); +} + diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/view/MenuInflater.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/view/MenuInflater.java new file mode 100644 index 000000000..5a0f40859 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/view/MenuInflater.java @@ -0,0 +1,495 @@ +/* + * Copyright (C) 2006 The Android Open Source Project + * 2011 Jake Wharton + * + * 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.view; + +import java.io.IOException; +import java.lang.reflect.Constructor; +import java.lang.reflect.Method; +import org.xmlpull.v1.XmlPullParser; +import org.xmlpull.v1.XmlPullParserException; +import android.content.Context; +import android.content.res.TypedArray; +import android.content.res.XmlResourceParser; +import android.util.AttributeSet; +import android.util.Log; +import android.util.TypedValue; +import android.util.Xml; +import android.view.InflateException; +import android.view.View; + +import com.actionbarsherlock.R; +import com.actionbarsherlock.internal.view.menu.MenuItemImpl; + +/** + * This class is used to instantiate menu XML files into Menu objects. + *

      + * For performance reasons, menu inflation relies heavily on pre-processing of + * XML files that is done at build time. Therefore, it is not currently possible + * to use MenuInflater with an XmlPullParser over a plain XML file at runtime; + * it only works with an XmlPullParser returned from a compiled resource (R. + * something file.) + */ +public class MenuInflater { + private static final String LOG_TAG = "MenuInflater"; + + /** Menu tag name in XML. */ + private static final String XML_MENU = "menu"; + + /** Group tag name in XML. */ + private static final String XML_GROUP = "group"; + + /** Item tag name in XML. */ + private static final String XML_ITEM = "item"; + + private static final int NO_ID = 0; + + private static final Class[] ACTION_VIEW_CONSTRUCTOR_SIGNATURE = new Class[] {Context.class}; + + private static final Class[] ACTION_PROVIDER_CONSTRUCTOR_SIGNATURE = ACTION_VIEW_CONSTRUCTOR_SIGNATURE; + + private final Object[] mActionViewConstructorArguments; + + private final Object[] mActionProviderConstructorArguments; + + private Context mContext; + private Object mRealOwner; + + /** + * Constructs a menu inflater. + * + * @see Activity#getMenuInflater() + */ + public MenuInflater(Context context) { + mContext = context; + mRealOwner = context; + mActionViewConstructorArguments = new Object[] {context}; + mActionProviderConstructorArguments = mActionViewConstructorArguments; + } + + /** + * Constructs a menu inflater. + * + * @see Activity#getMenuInflater() + * @hide + */ + public MenuInflater(Context context, Object realOwner) { + mContext = context; + mRealOwner = realOwner; + mActionViewConstructorArguments = new Object[] {context}; + mActionProviderConstructorArguments = mActionViewConstructorArguments; + } + + /** + * Inflate a menu hierarchy from the specified XML resource. Throws + * {@link InflateException} if there is an error. + * + * @param menuRes Resource ID for an XML layout resource to load (e.g., + * R.menu.main_activity) + * @param menu The Menu to inflate into. The items and submenus will be + * added to this Menu. + */ + public void inflate(int menuRes, Menu menu) { + XmlResourceParser parser = null; + try { + parser = mContext.getResources().getLayout(menuRes); + AttributeSet attrs = Xml.asAttributeSet(parser); + + parseMenu(parser, attrs, menu); + } catch (XmlPullParserException e) { + throw new InflateException("Error inflating menu XML", e); + } catch (IOException e) { + throw new InflateException("Error inflating menu XML", e); + } finally { + if (parser != null) parser.close(); + } + } + + /** + * Called internally to fill the given menu. If a sub menu is seen, it will + * call this recursively. + */ + private void parseMenu(XmlPullParser parser, AttributeSet attrs, Menu menu) + throws XmlPullParserException, IOException { + MenuState menuState = new MenuState(menu); + + int eventType = parser.getEventType(); + String tagName; + boolean lookingForEndOfUnknownTag = false; + String unknownTagName = null; + + // This loop will skip to the menu start tag + do { + if (eventType == XmlPullParser.START_TAG) { + tagName = parser.getName(); + if (tagName.equals(XML_MENU)) { + // Go to next tag + eventType = parser.next(); + break; + } + + throw new RuntimeException("Expecting menu, got " + tagName); + } + eventType = parser.next(); + } while (eventType != XmlPullParser.END_DOCUMENT); + + boolean reachedEndOfMenu = false; + while (!reachedEndOfMenu) { + switch (eventType) { + case XmlPullParser.START_TAG: + if (lookingForEndOfUnknownTag) { + break; + } + + tagName = parser.getName(); + if (tagName.equals(XML_GROUP)) { + menuState.readGroup(attrs); + } else if (tagName.equals(XML_ITEM)) { + menuState.readItem(attrs); + } else if (tagName.equals(XML_MENU)) { + // A menu start tag denotes a submenu for an item + SubMenu subMenu = menuState.addSubMenuItem(); + + // Parse the submenu into returned SubMenu + parseMenu(parser, attrs, subMenu); + } else { + lookingForEndOfUnknownTag = true; + unknownTagName = tagName; + } + break; + + case XmlPullParser.END_TAG: + tagName = parser.getName(); + if (lookingForEndOfUnknownTag && tagName.equals(unknownTagName)) { + lookingForEndOfUnknownTag = false; + unknownTagName = null; + } else if (tagName.equals(XML_GROUP)) { + menuState.resetGroup(); + } else if (tagName.equals(XML_ITEM)) { + // Add the item if it hasn't been added (if the item was + // a submenu, it would have been added already) + if (!menuState.hasAddedItem()) { + if (menuState.itemActionProvider != null && + menuState.itemActionProvider.hasSubMenu()) { + menuState.addSubMenuItem(); + } else { + menuState.addItem(); + } + } + } else if (tagName.equals(XML_MENU)) { + reachedEndOfMenu = true; + } + break; + + case XmlPullParser.END_DOCUMENT: + throw new RuntimeException("Unexpected end of document"); + } + + eventType = parser.next(); + } + } + + private static class InflatedOnMenuItemClickListener + implements MenuItem.OnMenuItemClickListener { + private static final Class[] PARAM_TYPES = new Class[] { MenuItem.class }; + + private Object mRealOwner; + private Method mMethod; + + public InflatedOnMenuItemClickListener(Object realOwner, String methodName) { + mRealOwner = realOwner; + Class c = realOwner.getClass(); + try { + mMethod = c.getMethod(methodName, PARAM_TYPES); + } catch (Exception e) { + InflateException ex = new InflateException( + "Couldn't resolve menu item onClick handler " + methodName + + " in class " + c.getName()); + ex.initCause(e); + throw ex; + } + } + + public boolean onMenuItemClick(MenuItem item) { + try { + if (mMethod.getReturnType() == Boolean.TYPE) { + return (Boolean) mMethod.invoke(mRealOwner, item); + } else { + mMethod.invoke(mRealOwner, item); + return true; + } + } catch (Exception e) { + throw new RuntimeException(e); + } + } + } + + /** + * State for the current menu. + *

      + * Groups can not be nested unless there is another menu (which will have + * its state class). + */ + private class MenuState { + private Menu menu; + + /* + * Group state is set on items as they are added, allowing an item to + * override its group state. (As opposed to set on items at the group end tag.) + */ + private int groupId; + private int groupCategory; + private int groupOrder; + private int groupCheckable; + private boolean groupVisible; + private boolean groupEnabled; + + private boolean itemAdded; + private int itemId; + private int itemCategoryOrder; + private CharSequence itemTitle; + private CharSequence itemTitleCondensed; + private int itemIconResId; + private char itemAlphabeticShortcut; + private char itemNumericShortcut; + /** + * Sync to attrs.xml enum: + * - 0: none + * - 1: all + * - 2: exclusive + */ + private int itemCheckable; + private boolean itemChecked; + private boolean itemVisible; + private boolean itemEnabled; + + /** + * Sync to attrs.xml enum, values in MenuItem: + * - 0: never + * - 1: ifRoom + * - 2: always + * - -1: Safe sentinel for "no value". + */ + private int itemShowAsAction; + + private int itemActionViewLayout; + private String itemActionViewClassName; + private String itemActionProviderClassName; + + private String itemListenerMethodName; + + private ActionProvider itemActionProvider; + + private static final int defaultGroupId = NO_ID; + private static final int defaultItemId = NO_ID; + private static final int defaultItemCategory = 0; + private static final int defaultItemOrder = 0; + private static final int defaultItemCheckable = 0; + private static final boolean defaultItemChecked = false; + private static final boolean defaultItemVisible = true; + private static final boolean defaultItemEnabled = true; + + public MenuState(final Menu menu) { + this.menu = menu; + + resetGroup(); + } + + public void resetGroup() { + groupId = defaultGroupId; + groupCategory = defaultItemCategory; + groupOrder = defaultItemOrder; + groupCheckable = defaultItemCheckable; + groupVisible = defaultItemVisible; + groupEnabled = defaultItemEnabled; + } + + /** + * Called when the parser is pointing to a group tag. + */ + public void readGroup(AttributeSet attrs) { + TypedArray a = mContext.obtainStyledAttributes(attrs, + R.styleable.SherlockMenuGroup); + + groupId = a.getResourceId(R.styleable.SherlockMenuGroup_android_id, defaultGroupId); + groupCategory = a.getInt(R.styleable.SherlockMenuGroup_android_menuCategory, defaultItemCategory); + groupOrder = a.getInt(R.styleable.SherlockMenuGroup_android_orderInCategory, defaultItemOrder); + groupCheckable = a.getInt(R.styleable.SherlockMenuGroup_android_checkableBehavior, defaultItemCheckable); + groupVisible = a.getBoolean(R.styleable.SherlockMenuGroup_android_visible, defaultItemVisible); + groupEnabled = a.getBoolean(R.styleable.SherlockMenuGroup_android_enabled, defaultItemEnabled); + + a.recycle(); + } + + /** + * Called when the parser is pointing to an item tag. + */ + public void readItem(AttributeSet attrs) { + TypedArray a = mContext.obtainStyledAttributes(attrs, + R.styleable.SherlockMenuItem); + + // Inherit attributes from the group as default value + itemId = a.getResourceId(R.styleable.SherlockMenuItem_android_id, defaultItemId); + final int category = a.getInt(R.styleable.SherlockMenuItem_android_menuCategory, groupCategory); + final int order = a.getInt(R.styleable.SherlockMenuItem_android_orderInCategory, groupOrder); + itemCategoryOrder = (category & Menu.CATEGORY_MASK) | (order & Menu.USER_MASK); + itemTitle = a.getText(R.styleable.SherlockMenuItem_android_title); + itemTitleCondensed = a.getText(R.styleable.SherlockMenuItem_android_titleCondensed); + itemIconResId = a.getResourceId(R.styleable.SherlockMenuItem_android_icon, 0); + itemAlphabeticShortcut = + getShortcut(a.getString(R.styleable.SherlockMenuItem_android_alphabeticShortcut)); + itemNumericShortcut = + getShortcut(a.getString(R.styleable.SherlockMenuItem_android_numericShortcut)); + if (a.hasValue(R.styleable.SherlockMenuItem_android_checkable)) { + // Item has attribute checkable, use it + itemCheckable = a.getBoolean(R.styleable.SherlockMenuItem_android_checkable, false) ? 1 : 0; + } else { + // Item does not have attribute, use the group's (group can have one more state + // for checkable that represents the exclusive checkable) + itemCheckable = groupCheckable; + } + + itemChecked = a.getBoolean(R.styleable.SherlockMenuItem_android_checked, defaultItemChecked); + itemVisible = a.getBoolean(R.styleable.SherlockMenuItem_android_visible, groupVisible); + itemEnabled = a.getBoolean(R.styleable.SherlockMenuItem_android_enabled, groupEnabled); + + TypedValue value = new TypedValue(); + a.getValue(R.styleable.SherlockMenuItem_android_showAsAction, value); + itemShowAsAction = value.type == TypedValue.TYPE_INT_HEX ? value.data : -1; + + itemListenerMethodName = a.getString(R.styleable.SherlockMenuItem_android_onClick); + itemActionViewLayout = a.getResourceId(R.styleable.SherlockMenuItem_android_actionLayout, 0); + + // itemActionViewClassName = a.getString(R.styleable.SherlockMenuItem_android_actionViewClass); + value = new TypedValue(); + a.getValue(R.styleable.SherlockMenuItem_android_actionViewClass, value); + itemActionViewClassName = value.type == TypedValue.TYPE_STRING ? value.string.toString() : null; + + // itemActionProviderClassName = a.getString(R.styleable.SherlockMenuItem_android_actionProviderClass); + value = new TypedValue(); + a.getValue(R.styleable.SherlockMenuItem_android_actionProviderClass, value); + itemActionProviderClassName = value.type == TypedValue.TYPE_STRING ? value.string.toString() : null; + + final boolean hasActionProvider = itemActionProviderClassName != null; + if (hasActionProvider && itemActionViewLayout == 0 && itemActionViewClassName == null) { + itemActionProvider = newInstance(itemActionProviderClassName, + ACTION_PROVIDER_CONSTRUCTOR_SIGNATURE, + mActionProviderConstructorArguments); + } else { + if (hasActionProvider) { + Log.w(LOG_TAG, "Ignoring attribute 'actionProviderClass'." + + " Action view already specified."); + } + itemActionProvider = null; + } + + a.recycle(); + + itemAdded = false; + } + + private char getShortcut(String shortcutString) { + if (shortcutString == null) { + return 0; + } else { + return shortcutString.charAt(0); + } + } + + private void setItem(MenuItem item) { + item.setChecked(itemChecked) + .setVisible(itemVisible) + .setEnabled(itemEnabled) + .setCheckable(itemCheckable >= 1) + .setTitleCondensed(itemTitleCondensed) + .setIcon(itemIconResId) + .setAlphabeticShortcut(itemAlphabeticShortcut) + .setNumericShortcut(itemNumericShortcut); + + if (itemShowAsAction >= 0) { + item.setShowAsAction(itemShowAsAction); + } + + if (itemListenerMethodName != null) { + if (mContext.isRestricted()) { + throw new IllegalStateException("The android:onClick attribute cannot " + + "be used within a restricted context"); + } + item.setOnMenuItemClickListener( + new InflatedOnMenuItemClickListener(mRealOwner, itemListenerMethodName)); + } + + if (itemCheckable >= 2) { + if (item instanceof MenuItemImpl) { + MenuItemImpl impl = (MenuItemImpl) item; + impl.setExclusiveCheckable(true); + } else { + menu.setGroupCheckable(groupId, true, true); + } + } + + boolean actionViewSpecified = false; + if (itemActionViewClassName != null) { + View actionView = (View) newInstance(itemActionViewClassName, + ACTION_VIEW_CONSTRUCTOR_SIGNATURE, mActionViewConstructorArguments); + item.setActionView(actionView); + actionViewSpecified = true; + } + if (itemActionViewLayout > 0) { + if (!actionViewSpecified) { + item.setActionView(itemActionViewLayout); + actionViewSpecified = true; + } else { + Log.w(LOG_TAG, "Ignoring attribute 'itemActionViewLayout'." + + " Action view already specified."); + } + } + if (itemActionProvider != null) { + item.setActionProvider(itemActionProvider); + } + } + + public void addItem() { + itemAdded = true; + setItem(menu.add(groupId, itemId, itemCategoryOrder, itemTitle)); + } + + public SubMenu addSubMenuItem() { + itemAdded = true; + SubMenu subMenu = menu.addSubMenu(groupId, itemId, itemCategoryOrder, itemTitle); + setItem(subMenu.getItem()); + return subMenu; + } + + public boolean hasAddedItem() { + return itemAdded; + } + + @SuppressWarnings("unchecked") + private T newInstance(String className, Class[] constructorSignature, + Object[] arguments) { + try { + Class clazz = mContext.getClassLoader().loadClass(className); + Constructor constructor = clazz.getConstructor(constructorSignature); + return (T) constructor.newInstance(arguments); + } catch (Exception e) { + Log.w(LOG_TAG, "Cannot instantiate class: " + className, e); + } + return null; + } + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/view/MenuItem.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/view/MenuItem.java new file mode 100644 index 000000000..7fc3aa430 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/view/MenuItem.java @@ -0,0 +1,598 @@ +/* + * 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. + */ + +package com.actionbarsherlock.view; + +import android.content.Intent; +import android.graphics.drawable.Drawable; +import android.view.ContextMenu.ContextMenuInfo; +import android.view.View; + +/** + * Interface for direct access to a previously created menu item. + *

      + * An Item is returned by calling one of the {@link android.view.Menu#add} + * methods. + *

      + * For a feature set of specific menu types, see {@link Menu}. + * + *

      + *

      Developer Guides

      + *

      For information about creating menus, read the + * Menus developer guide.

      + *
      + */ +public interface MenuItem { + /* + * These should be kept in sync with attrs.xml enum constants for showAsAction + */ + /** Never show this item as a button in an Action Bar. */ + public static final int SHOW_AS_ACTION_NEVER = android.view.MenuItem.SHOW_AS_ACTION_NEVER; + /** Show this item as a button in an Action Bar if the system decides there is room for it. */ + public static final int SHOW_AS_ACTION_IF_ROOM = android.view.MenuItem.SHOW_AS_ACTION_IF_ROOM; + /** + * Always show this item as a button in an Action Bar. + * Use sparingly! If too many items are set to always show in the Action Bar it can + * crowd the Action Bar and degrade the user experience on devices with smaller screens. + * A good rule of thumb is to have no more than 2 items set to always show at a time. + */ + public static final int SHOW_AS_ACTION_ALWAYS = android.view.MenuItem.SHOW_AS_ACTION_ALWAYS; + + /** + * When this item is in the action bar, always show it with a text label even if + * it also has an icon specified. + */ + public static final int SHOW_AS_ACTION_WITH_TEXT = android.view.MenuItem.SHOW_AS_ACTION_WITH_TEXT; + + /** + * This item's action view collapses to a normal menu item. + * When expanded, the action view temporarily takes over + * a larger segment of its container. + */ + public static final int SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW = android.view.MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW; + + /** + * Interface definition for a callback to be invoked when a menu item is + * clicked. + * + * @see Activity#onContextItemSelected(MenuItem) + * @see Activity#onOptionsItemSelected(MenuItem) + */ + public interface OnMenuItemClickListener { + /** + * Called when a menu item has been invoked. This is the first code + * that is executed; if it returns true, no other callbacks will be + * executed. + * + * @param item The menu item that was invoked. + * + * @return Return true to consume this click and prevent others from + * executing. + */ + public boolean onMenuItemClick(MenuItem item); + } + + /** + * Interface definition for a callback to be invoked when a menu item + * marked with {@link MenuItem#SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW} is + * expanded or collapsed. + * + * @see MenuItem#expandActionView() + * @see MenuItem#collapseActionView() + * @see MenuItem#setShowAsActionFlags(int) + */ + public interface OnActionExpandListener { + /** + * Called when a menu item with {@link MenuItem#SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW} + * is expanded. + * @param item Item that was expanded + * @return true if the item should expand, false if expansion should be suppressed. + */ + public boolean onMenuItemActionExpand(MenuItem item); + + /** + * Called when a menu item with {@link MenuItem#SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW} + * is collapsed. + * @param item Item that was collapsed + * @return true if the item should collapse, false if collapsing should be suppressed. + */ + public boolean onMenuItemActionCollapse(MenuItem item); + } + + /** + * Return the identifier for this menu item. The identifier can not + * be changed after the menu is created. + * + * @return The menu item's identifier. + */ + public int getItemId(); + + /** + * Return the group identifier that this menu item is part of. The group + * identifier can not be changed after the menu is created. + * + * @return The menu item's group identifier. + */ + public int getGroupId(); + + /** + * Return the category and order within the category of this item. This + * item will be shown before all items (within its category) that have + * order greater than this value. + *

      + * An order integer contains the item's category (the upper bits of the + * integer; set by or/add the category with the order within the + * category) and the ordering of the item within that category (the + * lower bits). Example categories are {@link Menu#CATEGORY_SYSTEM}, + * {@link Menu#CATEGORY_SECONDARY}, {@link Menu#CATEGORY_ALTERNATIVE}, + * {@link Menu#CATEGORY_CONTAINER}. See {@link Menu} for a full list. + * + * @return The order of this item. + */ + public int getOrder(); + + /** + * Change the title associated with this item. + * + * @param title The new text to be displayed. + * @return This Item so additional setters can be called. + */ + public MenuItem setTitle(CharSequence title); + + /** + * Change the title associated with this item. + *

      + * Some menu types do not sufficient space to show the full title, and + * instead a condensed title is preferred. See {@link Menu} for more + * information. + * + * @param title The resource id of the new text to be displayed. + * @return This Item so additional setters can be called. + * @see #setTitleCondensed(CharSequence) + */ + + public MenuItem setTitle(int title); + + /** + * Retrieve the current title of the item. + * + * @return The title. + */ + public CharSequence getTitle(); + + /** + * Change the condensed title associated with this item. The condensed + * title is used in situations where the normal title may be too long to + * be displayed. + * + * @param title The new text to be displayed as the condensed title. + * @return This Item so additional setters can be called. + */ + public MenuItem setTitleCondensed(CharSequence title); + + /** + * Retrieve the current condensed title of the item. If a condensed + * title was never set, it will return the normal title. + * + * @return The condensed title, if it exists. + * Otherwise the normal title. + */ + public CharSequence getTitleCondensed(); + + /** + * Change the icon associated with this item. This icon will not always be + * shown, so the title should be sufficient in describing this item. See + * {@link Menu} for the menu types that support icons. + * + * @param icon The new icon (as a Drawable) to be displayed. + * @return This Item so additional setters can be called. + */ + public MenuItem setIcon(Drawable icon); + + /** + * Change the icon associated with this item. This icon will not always be + * shown, so the title should be sufficient in describing this item. See + * {@link Menu} for the menu types that support icons. + *

      + * This method will set the resource ID of the icon which will be used to + * lazily get the Drawable when this item is being shown. + * + * @param iconRes The new icon (as a resource ID) to be displayed. + * @return This Item so additional setters can be called. + */ + public MenuItem setIcon(int iconRes); + + /** + * Returns the icon for this item as a Drawable (getting it from resources if it hasn't been + * loaded before). + * + * @return The icon as a Drawable. + */ + public Drawable getIcon(); + + /** + * Change the Intent associated with this item. By default there is no + * Intent associated with a menu item. If you set one, and nothing + * else handles the item, then the default behavior will be to call + * {@link android.content.Context#startActivity} with the given Intent. + * + *

      Note that setIntent() can not be used with the versions of + * {@link Menu#add} that take a Runnable, because {@link Runnable#run} + * does not return a value so there is no way to tell if it handled the + * item. In this case it is assumed that the Runnable always handles + * the item, and the intent will never be started. + * + * @see #getIntent + * @param intent The Intent to associated with the item. This Intent + * object is not copied, so be careful not to + * modify it later. + * @return This Item so additional setters can be called. + */ + public MenuItem setIntent(Intent intent); + + /** + * Return the Intent associated with this item. This returns a + * reference to the Intent which you can change as desired to modify + * what the Item is holding. + * + * @see #setIntent + * @return Returns the last value supplied to {@link #setIntent}, or + * null. + */ + public Intent getIntent(); + + /** + * Change both the numeric and alphabetic shortcut associated with this + * item. Note that the shortcut will be triggered when the key that + * generates the given character is pressed alone or along with with the alt + * key. Also note that case is not significant and that alphabetic shortcut + * characters will be displayed in lower case. + *

      + * See {@link Menu} for the menu types that support shortcuts. + * + * @param numericChar The numeric shortcut key. This is the shortcut when + * using a numeric (e.g., 12-key) keyboard. + * @param alphaChar The alphabetic shortcut key. This is the shortcut when + * using a keyboard with alphabetic keys. + * @return This Item so additional setters can be called. + */ + public MenuItem setShortcut(char numericChar, char alphaChar); + + /** + * Change the numeric shortcut associated with this item. + *

      + * See {@link Menu} for the menu types that support shortcuts. + * + * @param numericChar The numeric shortcut key. This is the shortcut when + * using a 12-key (numeric) keyboard. + * @return This Item so additional setters can be called. + */ + public MenuItem setNumericShortcut(char numericChar); + + /** + * Return the char for this menu item's numeric (12-key) shortcut. + * + * @return Numeric character to use as a shortcut. + */ + public char getNumericShortcut(); + + /** + * Change the alphabetic shortcut associated with this item. The shortcut + * will be triggered when the key that generates the given character is + * pressed alone or along with with the alt key. Case is not significant and + * shortcut characters will be displayed in lower case. Note that menu items + * with the characters '\b' or '\n' as shortcuts will get triggered by the + * Delete key or Carriage Return key, respectively. + *

      + * See {@link Menu} for the menu types that support shortcuts. + * + * @param alphaChar The alphabetic shortcut key. This is the shortcut when + * using a keyboard with alphabetic keys. + * @return This Item so additional setters can be called. + */ + public MenuItem setAlphabeticShortcut(char alphaChar); + + /** + * Return the char for this menu item's alphabetic shortcut. + * + * @return Alphabetic character to use as a shortcut. + */ + public char getAlphabeticShortcut(); + + /** + * Control whether this item can display a check mark. Setting this does + * not actually display a check mark (see {@link #setChecked} for that); + * rather, it ensures there is room in the item in which to display a + * check mark. + *

      + * See {@link Menu} for the menu types that support check marks. + * + * @param checkable Set to true to allow a check mark, false to + * disallow. The default is false. + * @see #setChecked + * @see #isCheckable + * @see Menu#setGroupCheckable + * @return This Item so additional setters can be called. + */ + public MenuItem setCheckable(boolean checkable); + + /** + * Return whether the item can currently display a check mark. + * + * @return If a check mark can be displayed, returns true. + * + * @see #setCheckable + */ + public boolean isCheckable(); + + /** + * Control whether this item is shown with a check mark. Note that you + * must first have enabled checking with {@link #setCheckable} or else + * the check mark will not appear. If this item is a member of a group that contains + * mutually-exclusive items (set via {@link Menu#setGroupCheckable(int, boolean, boolean)}, + * the other items in the group will be unchecked. + *

      + * See {@link Menu} for the menu types that support check marks. + * + * @see #setCheckable + * @see #isChecked + * @see Menu#setGroupCheckable + * @param checked Set to true to display a check mark, false to hide + * it. The default value is false. + * @return This Item so additional setters can be called. + */ + public MenuItem setChecked(boolean checked); + + /** + * Return whether the item is currently displaying a check mark. + * + * @return If a check mark is displayed, returns true. + * + * @see #setChecked + */ + public boolean isChecked(); + + /** + * Sets the visibility of the menu item. Even if a menu item is not visible, + * it may still be invoked via its shortcut (to completely disable an item, + * set it to invisible and {@link #setEnabled(boolean) disabled}). + * + * @param visible If true then the item will be visible; if false it is + * hidden. + * @return This Item so additional setters can be called. + */ + public MenuItem setVisible(boolean visible); + + /** + * Return the visibility of the menu item. + * + * @return If true the item is visible; else it is hidden. + */ + public boolean isVisible(); + + /** + * Sets whether the menu item is enabled. Disabling a menu item will not + * allow it to be invoked via its shortcut. The menu item will still be + * visible. + * + * @param enabled If true then the item will be invokable; if false it is + * won't be invokable. + * @return This Item so additional setters can be called. + */ + public MenuItem setEnabled(boolean enabled); + + /** + * Return the enabled state of the menu item. + * + * @return If true the item is enabled and hence invokable; else it is not. + */ + public boolean isEnabled(); + + /** + * Check whether this item has an associated sub-menu. I.e. it is a + * sub-menu of another menu. + * + * @return If true this item has a menu; else it is a + * normal item. + */ + public boolean hasSubMenu(); + + /** + * Get the sub-menu to be invoked when this item is selected, if it has + * one. See {@link #hasSubMenu()}. + * + * @return The associated menu if there is one, else null + */ + public SubMenu getSubMenu(); + + /** + * Set a custom listener for invocation of this menu item. In most + * situations, it is more efficient and easier to use + * {@link Activity#onOptionsItemSelected(MenuItem)} or + * {@link Activity#onContextItemSelected(MenuItem)}. + * + * @param menuItemClickListener The object to receive invokations. + * @return This Item so additional setters can be called. + * @see Activity#onOptionsItemSelected(MenuItem) + * @see Activity#onContextItemSelected(MenuItem) + */ + public MenuItem setOnMenuItemClickListener(MenuItem.OnMenuItemClickListener menuItemClickListener); + + /** + * Gets the extra information linked to this menu item. This extra + * information is set by the View that added this menu item to the + * menu. + * + * @see OnCreateContextMenuListener + * @return The extra information linked to the View that added this + * menu item to the menu. This can be null. + */ + public ContextMenuInfo getMenuInfo(); + + /** + * Sets how this item should display in the presence of an Action Bar. + * The parameter actionEnum is a flag set. One of {@link #SHOW_AS_ACTION_ALWAYS}, + * {@link #SHOW_AS_ACTION_IF_ROOM}, or {@link #SHOW_AS_ACTION_NEVER} should + * be used, and you may optionally OR the value with {@link #SHOW_AS_ACTION_WITH_TEXT}. + * SHOW_AS_ACTION_WITH_TEXT requests that when the item is shown as an action, + * it should be shown with a text label. + * + * @param actionEnum How the item should display. One of + * {@link #SHOW_AS_ACTION_ALWAYS}, {@link #SHOW_AS_ACTION_IF_ROOM}, or + * {@link #SHOW_AS_ACTION_NEVER}. SHOW_AS_ACTION_NEVER is the default. + * + * @see android.app.ActionBar + * @see #setActionView(View) + */ + public void setShowAsAction(int actionEnum); + + /** + * Sets how this item should display in the presence of an Action Bar. + * The parameter actionEnum is a flag set. One of {@link #SHOW_AS_ACTION_ALWAYS}, + * {@link #SHOW_AS_ACTION_IF_ROOM}, or {@link #SHOW_AS_ACTION_NEVER} should + * be used, and you may optionally OR the value with {@link #SHOW_AS_ACTION_WITH_TEXT}. + * SHOW_AS_ACTION_WITH_TEXT requests that when the item is shown as an action, + * it should be shown with a text label. + * + *

      Note: This method differs from {@link #setShowAsAction(int)} only in that it + * returns the current MenuItem instance for call chaining. + * + * @param actionEnum How the item should display. One of + * {@link #SHOW_AS_ACTION_ALWAYS}, {@link #SHOW_AS_ACTION_IF_ROOM}, or + * {@link #SHOW_AS_ACTION_NEVER}. SHOW_AS_ACTION_NEVER is the default. + * + * @see android.app.ActionBar + * @see #setActionView(View) + * @return This MenuItem instance for call chaining. + */ + public MenuItem setShowAsActionFlags(int actionEnum); + + /** + * Set an action view for this menu item. An action view will be displayed in place + * of an automatically generated menu item element in the UI when this item is shown + * as an action within a parent. + *

      + * Note: Setting an action view overrides the action provider + * set via {@link #setActionProvider(ActionProvider)}. + *

      + * + * @param view View to use for presenting this item to the user. + * @return This Item so additional setters can be called. + * + * @see #setShowAsAction(int) + */ + public MenuItem setActionView(View view); + + /** + * Set an action view for this menu item. An action view will be displayed in place + * of an automatically generated menu item element in the UI when this item is shown + * as an action within a parent. + *

      + * Note: Setting an action view overrides the action provider + * set via {@link #setActionProvider(ActionProvider)}. + *

      + * + * @param resId Layout resource to use for presenting this item to the user. + * @return This Item so additional setters can be called. + * + * @see #setShowAsAction(int) + */ + public MenuItem setActionView(int resId); + + /** + * Returns the currently set action view for this menu item. + * + * @return This item's action view + * + * @see #setActionView(View) + * @see #setShowAsAction(int) + */ + public View getActionView(); + + /** + * Sets the {@link ActionProvider} responsible for creating an action view if + * the item is placed on the action bar. The provider also provides a default + * action invoked if the item is placed in the overflow menu. + *

      + * Note: Setting an action provider overrides the action view + * set via {@link #setActionView(int)} or {@link #setActionView(View)}. + *

      + * + * @param actionProvider The action provider. + * @return This Item so additional setters can be called. + * + * @see ActionProvider + */ + public MenuItem setActionProvider(ActionProvider actionProvider); + + /** + * Gets the {@link ActionProvider}. + * + * @return The action provider. + * + * @see ActionProvider + * @see #setActionProvider(ActionProvider) + */ + public ActionProvider getActionProvider(); + + /** + * Expand the action view associated with this menu item. + * The menu item must have an action view set, as well as + * the showAsAction flag {@link #SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW}. + * If a listener has been set using {@link #setOnActionExpandListener(OnActionExpandListener)} + * it will have its {@link OnActionExpandListener#onMenuItemActionExpand(MenuItem)} + * method invoked. The listener may return false from this method to prevent expanding + * the action view. + * + * @return true if the action view was expanded, false otherwise. + */ + public boolean expandActionView(); + + /** + * Collapse the action view associated with this menu item. + * The menu item must have an action view set, as well as the showAsAction flag + * {@link #SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW}. If a listener has been set using + * {@link #setOnActionExpandListener(OnActionExpandListener)} it will have its + * {@link OnActionExpandListener#onMenuItemActionCollapse(MenuItem)} method invoked. + * The listener may return false from this method to prevent collapsing the action view. + * + * @return true if the action view was collapsed, false otherwise. + */ + public boolean collapseActionView(); + + /** + * Returns true if this menu item's action view has been expanded. + * + * @return true if the item's action view is expanded, false otherwise. + * + * @see #expandActionView() + * @see #collapseActionView() + * @see #SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW + * @see OnActionExpandListener + */ + public boolean isActionViewExpanded(); + + /** + * Set an {@link OnActionExpandListener} on this menu item to be notified when + * the associated action view is expanded or collapsed. The menu item must + * be configured to expand or collapse its action view using the flag + * {@link #SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW}. + * + * @param listener Listener that will respond to expand/collapse events + * @return This menu item instance for call chaining + */ + public MenuItem setOnActionExpandListener(OnActionExpandListener listener); +} \ No newline at end of file diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/view/SubMenu.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/view/SubMenu.java new file mode 100644 index 000000000..397fd1c2d --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/view/SubMenu.java @@ -0,0 +1,110 @@ +/* + * 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. + */ + +package com.actionbarsherlock.view; + +import android.graphics.drawable.Drawable; +import android.view.View; + +/** + * Subclass of {@link Menu} for sub menus. + *

      + * Sub menus do not support item icons, or nested sub menus. + * + *

      + *

      Developer Guides

      + *

      For information about creating menus, read the + * Menus developer guide.

      + *
      + */ + +public interface SubMenu extends Menu { + /** + * Sets the submenu header's title to the title given in titleRes + * resource identifier. + * + * @param titleRes The string resource identifier used for the title. + * @return This SubMenu so additional setters can be called. + */ + public SubMenu setHeaderTitle(int titleRes); + + /** + * Sets the submenu header's title to the title given in title. + * + * @param title The character sequence used for the title. + * @return This SubMenu so additional setters can be called. + */ + public SubMenu setHeaderTitle(CharSequence title); + + /** + * Sets the submenu header's icon to the icon given in iconRes + * resource id. + * + * @param iconRes The resource identifier used for the icon. + * @return This SubMenu so additional setters can be called. + */ + public SubMenu setHeaderIcon(int iconRes); + + /** + * Sets the submenu header's icon to the icon given in icon + * {@link Drawable}. + * + * @param icon The {@link Drawable} used for the icon. + * @return This SubMenu so additional setters can be called. + */ + public SubMenu setHeaderIcon(Drawable icon); + + /** + * Sets the header of the submenu to the {@link View} given in + * view. This replaces the header title and icon (and those + * replace this). + * + * @param view The {@link View} used for the header. + * @return This SubMenu so additional setters can be called. + */ + public SubMenu setHeaderView(View view); + + /** + * Clears the header of the submenu. + */ + public void clearHeader(); + + /** + * Change the icon associated with this submenu's item in its parent menu. + * + * @see MenuItem#setIcon(int) + * @param iconRes The new icon (as a resource ID) to be displayed. + * @return This SubMenu so additional setters can be called. + */ + public SubMenu setIcon(int iconRes); + + /** + * Change the icon associated with this submenu's item in its parent menu. + * + * @see MenuItem#setIcon(Drawable) + * @param icon The new icon (as a Drawable) to be displayed. + * @return This SubMenu so additional setters can be called. + */ + public SubMenu setIcon(Drawable icon); + + /** + * Gets the {@link MenuItem} that represents this submenu in the parent + * menu. Use this for setting additional item attributes. + * + * @return The {@link MenuItem} that launches the submenu when invoked. + */ + public MenuItem getItem(); +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/view/Window.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/view/Window.java new file mode 100644 index 000000000..a340a4291 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/view/Window.java @@ -0,0 +1,65 @@ +/* + * Copyright (C) 2006 The Android Open Source Project + * Copyright (C) 2011 Jake Wharton + * + * 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.view; + +import android.content.Context; + +/** + *

      Abstract base class for a top-level window look and behavior policy. An + * instance of this class should be used as the top-level view added to the + * window manager. It provides standard UI policies such as a background, title + * area, default key processing, etc.

      + * + *

      The only existing implementation of this abstract class is + * android.policy.PhoneWindow, which you should instantiate when needing a + * Window. Eventually that class will be refactored and a factory method added + * for creating Window instances without knowing about a particular + * implementation.

      + */ +public abstract class Window extends android.view.Window { + public static final long FEATURE_ACTION_BAR = android.view.Window.FEATURE_ACTION_BAR; + public static final long FEATURE_ACTION_BAR_OVERLAY = android.view.Window.FEATURE_ACTION_BAR_OVERLAY; + public static final long FEATURE_ACTION_MODE_OVERLAY = android.view.Window.FEATURE_ACTION_MODE_OVERLAY; + public static final long FEATURE_NO_TITLE = android.view.Window.FEATURE_NO_TITLE; + public static final long FEATURE_PROGRESS = android.view.Window.FEATURE_PROGRESS; + public static final long FEATURE_INDETERMINATE_PROGRESS = android.view.Window.FEATURE_INDETERMINATE_PROGRESS; + + /** + * Create a new instance for a context. + * + * @param context Context. + */ + private Window(Context context) { + super(context); + } + + + public interface Callback { + /** + * Called when a panel's menu item has been selected by the user. + * + * @param featureId The panel that the menu is in. + * @param item The menu item that was selected. + * + * @return boolean Return true to finish processing of selection, or + * false to perform the normal menu handling (calling its + * Runnable or sending a Message to its target Handler). + */ + public boolean onMenuItemSelected(int featureId, MenuItem item); + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/widget/ActivityChooserModel.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/widget/ActivityChooserModel.java new file mode 100644 index 000000000..d7f110fc6 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/widget/ActivityChooserModel.java @@ -0,0 +1,1104 @@ +/* + * 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.widget; + +import android.content.ComponentName; +import android.content.Context; +import android.content.Intent; +import android.content.pm.ResolveInfo; +import android.database.DataSetObservable; +import android.os.Handler; +import android.text.TextUtils; +import android.util.Log; +import android.util.Xml; +import org.xmlpull.v1.XmlPullParser; +import org.xmlpull.v1.XmlPullParserException; +import org.xmlpull.v1.XmlSerializer; + +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.concurrent.Executor; +import java.util.concurrent.Executors; + +/** + *

      + * This class represents a data model for choosing a component for handing a + * given {@link Intent}. The model is responsible for querying the system for + * activities that can handle the given intent and order found activities + * based on historical data of previous choices. The historical data is stored + * in an application private file. If a client does not want to have persistent + * choice history the file can be omitted, thus the activities will be ordered + * based on historical usage for the current session. + *

      + *

      + * For each backing history file there is a singleton instance of this class. Thus, + * several clients that specify the same history file will share the same model. Note + * that if multiple clients are sharing the same model they should implement semantically + * equivalent functionality since setting the model intent will change the found + * activities and they may be inconsistent with the functionality of some of the clients. + * For example, choosing a share activity can be implemented by a single backing + * model and two different views for performing the selection. If however, one of the + * views is used for sharing but the other for importing, for example, then each + * view should be backed by a separate model. + *

      + *

      + * The way clients interact with this class is as follows: + *

      + *

      + *

      + * 
      + *  // Get a model and set it to a couple of clients with semantically similar function.
      + *  ActivityChooserModel dataModel =
      + *      ActivityChooserModel.get(context, "task_specific_history_file_name.xml");
      + *
      + *  ActivityChooserModelClient modelClient1 = getActivityChooserModelClient1();
      + *  modelClient1.setActivityChooserModel(dataModel);
      + *
      + *  ActivityChooserModelClient modelClient2 = getActivityChooserModelClient2();
      + *  modelClient2.setActivityChooserModel(dataModel);
      + *
      + *  // Set an intent to choose a an activity for.
      + *  dataModel.setIntent(intent);
      + * 
      + * 
      + * 

      + *

      + * Note: This class is thread safe. + *

      + * + * @hide + */ +class ActivityChooserModel extends DataSetObservable { + + /** + * Client that utilizes an {@link ActivityChooserModel}. + */ + public interface ActivityChooserModelClient { + + /** + * Sets the {@link ActivityChooserModel}. + * + * @param dataModel The model. + */ + public void setActivityChooserModel(ActivityChooserModel dataModel); + } + + /** + * Defines a sorter that is responsible for sorting the activities + * based on the provided historical choices and an intent. + */ + public interface ActivitySorter { + + /** + * Sorts the activities in descending order of relevance + * based on previous history and an intent. + * + * @param intent The {@link Intent}. + * @param activities Activities to be sorted. + * @param historicalRecords Historical records. + */ + // This cannot be done by a simple comparator since an Activity weight + // is computed from history. Note that Activity implements Comparable. + public void sort(Intent intent, List activities, + List historicalRecords); + } + + /** + * Listener for choosing an activity. + */ + public interface OnChooseActivityListener { + + /** + * Called when an activity has been chosen. The client can decide whether + * an activity can be chosen and if so the caller of + * {@link ActivityChooserModel#chooseActivity(int)} will receive and {@link Intent} + * for launching it. + *

      + * Note: Modifying the intent is not permitted and + * any changes to the latter will be ignored. + *

      + * + * @param host The listener's host model. + * @param intent The intent for launching the chosen activity. + * @return Whether the intent is handled and should not be delivered to clients. + * + * @see ActivityChooserModel#chooseActivity(int) + */ + public boolean onChooseActivity(ActivityChooserModel host, Intent intent); + } + + /** + * Flag for selecting debug mode. + */ + private static final boolean DEBUG = false; + + /** + * Tag used for logging. + */ + private static final String LOG_TAG = ActivityChooserModel.class.getSimpleName(); + + /** + * The root tag in the history file. + */ + private static final String TAG_HISTORICAL_RECORDS = "historical-records"; + + /** + * The tag for a record in the history file. + */ + private static final String TAG_HISTORICAL_RECORD = "historical-record"; + + /** + * Attribute for the activity. + */ + private static final String ATTRIBUTE_ACTIVITY = "activity"; + + /** + * Attribute for the choice time. + */ + private static final String ATTRIBUTE_TIME = "time"; + + /** + * Attribute for the choice weight. + */ + private static final String ATTRIBUTE_WEIGHT = "weight"; + + /** + * The default name of the choice history file. + */ + public static final String DEFAULT_HISTORY_FILE_NAME = + "activity_choser_model_history.xml"; + + /** + * The default maximal length of the choice history. + */ + public static final int DEFAULT_HISTORY_MAX_LENGTH = 50; + + /** + * The amount with which to inflate a chosen activity when set as default. + */ + private static final int DEFAULT_ACTIVITY_INFLATION = 5; + + /** + * Default weight for a choice record. + */ + private static final float DEFAULT_HISTORICAL_RECORD_WEIGHT = 1.0f; + + /** + * The extension of the history file. + */ + private static final String HISTORY_FILE_EXTENSION = ".xml"; + + /** + * An invalid item index. + */ + private static final int INVALID_INDEX = -1; + + /** + * Lock to guard the model registry. + */ + private static final Object sRegistryLock = new Object(); + + /** + * This the registry for data models. + */ + private static final Map sDataModelRegistry = + new HashMap(); + + /** + * Lock for synchronizing on this instance. + */ + private final Object mInstanceLock = new Object(); + + /** + * List of activities that can handle the current intent. + */ + private final List mActivites = new ArrayList(); + + /** + * List with historical choice records. + */ + private final List mHistoricalRecords = new ArrayList(); + + /** + * Context for accessing resources. + */ + private final Context mContext; + + /** + * The name of the history file that backs this model. + */ + private final String mHistoryFileName; + + /** + * The intent for which a activity is being chosen. + */ + private Intent mIntent; + + /** + * The sorter for ordering activities based on intent and past choices. + */ + private ActivitySorter mActivitySorter = new DefaultSorter(); + + /** + * The maximal length of the choice history. + */ + private int mHistoryMaxSize = DEFAULT_HISTORY_MAX_LENGTH; + + /** + * Flag whether choice history can be read. In general many clients can + * share the same data model and {@link #readHistoricalData()} may be called + * by arbitrary of them any number of times. Therefore, this class guarantees + * that the very first read succeeds and subsequent reads can be performed + * only after a call to {@link #persistHistoricalData()} followed by change + * of the share records. + */ + private boolean mCanReadHistoricalData = true; + + /** + * Flag whether the choice history was read. This is used to enforce that + * before calling {@link #persistHistoricalData()} a call to + * {@link #persistHistoricalData()} has been made. This aims to avoid a + * scenario in which a choice history file exits, it is not read yet and + * it is overwritten. Note that always all historical records are read in + * full and the file is rewritten. This is necessary since we need to + * purge old records that are outside of the sliding window of past choices. + */ + private boolean mReadShareHistoryCalled = false; + + /** + * Flag whether the choice records have changed. In general many clients can + * share the same data model and {@link #persistHistoricalData()} may be called + * by arbitrary of them any number of times. Therefore, this class guarantees + * that choice history will be persisted only if it has changed. + */ + private boolean mHistoricalRecordsChanged = true; + + /** + * Hander for scheduling work on client tread. + */ + private final Handler mHandler = new Handler(); + + /** + * Policy for controlling how the model handles chosen activities. + */ + private OnChooseActivityListener mActivityChoserModelPolicy; + + /** + * Gets the data model backed by the contents of the provided file with historical data. + * Note that only one data model is backed by a given file, thus multiple calls with + * the same file name will return the same model instance. If no such instance is present + * it is created. + *

      + * Note: To use the default historical data file clients should explicitly + * pass as file name {@link #DEFAULT_HISTORY_FILE_NAME}. If no persistence of the choice + * history is desired clients should pass null for the file name. In such + * case a new model is returned for each invocation. + *

      + * + *

      + * Always use difference historical data files for semantically different actions. + * For example, sharing is different from importing. + *

      + * + * @param context Context for loading resources. + * @param historyFileName File name with choice history, null + * if the model should not be backed by a file. In this case the activities + * will be ordered only by data from the current session. + * + * @return The model. + */ + public static ActivityChooserModel get(Context context, String historyFileName) { + synchronized (sRegistryLock) { + ActivityChooserModel dataModel = sDataModelRegistry.get(historyFileName); + if (dataModel == null) { + dataModel = new ActivityChooserModel(context, historyFileName); + sDataModelRegistry.put(historyFileName, dataModel); + } + dataModel.readHistoricalData(); + return dataModel; + } + } + + /** + * Creates a new instance. + * + * @param context Context for loading resources. + * @param historyFileName The history XML file. + */ + private ActivityChooserModel(Context context, String historyFileName) { + mContext = context.getApplicationContext(); + if (!TextUtils.isEmpty(historyFileName) + && !historyFileName.endsWith(HISTORY_FILE_EXTENSION)) { + mHistoryFileName = historyFileName + HISTORY_FILE_EXTENSION; + } else { + mHistoryFileName = historyFileName; + } + } + + /** + * Sets an intent for which to choose a activity. + *

      + * Note: Clients must set only semantically similar + * intents for each data model. + *

      + * + * @param intent The intent. + */ + public void setIntent(Intent intent) { + synchronized (mInstanceLock) { + if (mIntent == intent) { + return; + } + mIntent = intent; + loadActivitiesLocked(); + } + } + + /** + * Gets the intent for which a activity is being chosen. + * + * @return The intent. + */ + public Intent getIntent() { + synchronized (mInstanceLock) { + return mIntent; + } + } + + /** + * Gets the number of activities that can handle the intent. + * + * @return The activity count. + * + * @see #setIntent(Intent) + */ + public int getActivityCount() { + synchronized (mInstanceLock) { + return mActivites.size(); + } + } + + /** + * Gets an activity at a given index. + * + * @return The activity. + * + * @see ActivityResolveInfo + * @see #setIntent(Intent) + */ + public ResolveInfo getActivity(int index) { + synchronized (mInstanceLock) { + return mActivites.get(index).resolveInfo; + } + } + + /** + * Gets the index of a the given activity. + * + * @param activity The activity index. + * + * @return The index if found, -1 otherwise. + */ + public int getActivityIndex(ResolveInfo activity) { + List activities = mActivites; + final int activityCount = activities.size(); + for (int i = 0; i < activityCount; i++) { + ActivityResolveInfo currentActivity = activities.get(i); + if (currentActivity.resolveInfo == activity) { + return i; + } + } + return INVALID_INDEX; + } + + /** + * Chooses a activity to handle the current intent. This will result in + * adding a historical record for that action and construct intent with + * its component name set such that it can be immediately started by the + * client. + *

      + * Note: By calling this method the client guarantees + * that the returned intent will be started. This intent is returned to + * the client solely to let additional customization before the start. + *

      + * + * @return An {@link Intent} for launching the activity or null if the + * policy has consumed the intent. + * + * @see HistoricalRecord + * @see OnChooseActivityListener + */ + public Intent chooseActivity(int index) { + ActivityResolveInfo chosenActivity = mActivites.get(index); + + ComponentName chosenName = new ComponentName( + chosenActivity.resolveInfo.activityInfo.packageName, + chosenActivity.resolveInfo.activityInfo.name); + + Intent choiceIntent = new Intent(mIntent); + choiceIntent.setComponent(chosenName); + + if (mActivityChoserModelPolicy != null) { + // Do not allow the policy to change the intent. + Intent choiceIntentCopy = new Intent(choiceIntent); + final boolean handled = mActivityChoserModelPolicy.onChooseActivity(this, + choiceIntentCopy); + if (handled) { + return null; + } + } + + HistoricalRecord historicalRecord = new HistoricalRecord(chosenName, + System.currentTimeMillis(), DEFAULT_HISTORICAL_RECORD_WEIGHT); + addHisoricalRecord(historicalRecord); + + return choiceIntent; + } + + /** + * Sets the listener for choosing an activity. + * + * @param listener The listener. + */ + public void setOnChooseActivityListener(OnChooseActivityListener listener) { + mActivityChoserModelPolicy = listener; + } + + /** + * Gets the default activity, The default activity is defined as the one + * with highest rank i.e. the first one in the list of activities that can + * handle the intent. + * + * @return The default activity, null id not activities. + * + * @see #getActivity(int) + */ + public ResolveInfo getDefaultActivity() { + synchronized (mInstanceLock) { + if (!mActivites.isEmpty()) { + return mActivites.get(0).resolveInfo; + } + } + return null; + } + + /** + * Sets the default activity. The default activity is set by adding a + * historical record with weight high enough that this activity will + * become the highest ranked. Such a strategy guarantees that the default + * will eventually change if not used. Also the weight of the record for + * setting a default is inflated with a constant amount to guarantee that + * it will stay as default for awhile. + * + * @param index The index of the activity to set as default. + */ + public void setDefaultActivity(int index) { + ActivityResolveInfo newDefaultActivity = mActivites.get(index); + ActivityResolveInfo oldDefaultActivity = mActivites.get(0); + + final float weight; + if (oldDefaultActivity != null) { + // Add a record with weight enough to boost the chosen at the top. + weight = oldDefaultActivity.weight - newDefaultActivity.weight + + DEFAULT_ACTIVITY_INFLATION; + } else { + weight = DEFAULT_HISTORICAL_RECORD_WEIGHT; + } + + ComponentName defaultName = new ComponentName( + newDefaultActivity.resolveInfo.activityInfo.packageName, + newDefaultActivity.resolveInfo.activityInfo.name); + HistoricalRecord historicalRecord = new HistoricalRecord(defaultName, + System.currentTimeMillis(), weight); + addHisoricalRecord(historicalRecord); + } + + /** + * Reads the history data from the backing file if the latter + * was provided. Calling this method more than once before a call + * to {@link #persistHistoricalData()} has been made has no effect. + *

      + * Note: Historical data is read asynchronously and + * as soon as the reading is completed any registered + * {@link DataSetObserver}s will be notified. Also no historical + * data is read until this method is invoked. + *

      + */ + private void readHistoricalData() { + synchronized (mInstanceLock) { + if (!mCanReadHistoricalData || !mHistoricalRecordsChanged) { + return; + } + mCanReadHistoricalData = false; + mReadShareHistoryCalled = true; + if (!TextUtils.isEmpty(mHistoryFileName)) { + /*AsyncTask.*/SERIAL_EXECUTOR.execute(new HistoryLoader()); + } + } + } + + private static final Executor SERIAL_EXECUTOR = Executors.newSingleThreadExecutor(); + + /** + * Persists the history data to the backing file if the latter + * was provided. Calling this method before a call to {@link #readHistoricalData()} + * throws an exception. Calling this method more than one without choosing an + * activity has not effect. + * + * @throws IllegalStateException If this method is called before a call to + * {@link #readHistoricalData()}. + */ + private void persistHistoricalData() { + synchronized (mInstanceLock) { + if (!mReadShareHistoryCalled) { + throw new IllegalStateException("No preceding call to #readHistoricalData"); + } + if (!mHistoricalRecordsChanged) { + return; + } + mHistoricalRecordsChanged = false; + mCanReadHistoricalData = true; + if (!TextUtils.isEmpty(mHistoryFileName)) { + /*AsyncTask.*/SERIAL_EXECUTOR.execute(new HistoryPersister()); + } + } + } + + /** + * Sets the sorter for ordering activities based on historical data and an intent. + * + * @param activitySorter The sorter. + * + * @see ActivitySorter + */ + public void setActivitySorter(ActivitySorter activitySorter) { + synchronized (mInstanceLock) { + if (mActivitySorter == activitySorter) { + return; + } + mActivitySorter = activitySorter; + sortActivities(); + } + } + + /** + * Sorts the activities based on history and an intent. If + * a sorter is not specified this a default implementation is used. + * + * @see #setActivitySorter(ActivitySorter) + */ + private void sortActivities() { + synchronized (mInstanceLock) { + if (mActivitySorter != null && !mActivites.isEmpty()) { + mActivitySorter.sort(mIntent, mActivites, + Collections.unmodifiableList(mHistoricalRecords)); + notifyChanged(); + } + } + } + + /** + * Sets the maximal size of the historical data. Defaults to + * {@link #DEFAULT_HISTORY_MAX_LENGTH} + *

      + * Note: Setting this property will immediately + * enforce the specified max history size by dropping enough old + * historical records to enforce the desired size. Thus, any + * records that exceed the history size will be discarded and + * irreversibly lost. + *

      + * + * @param historyMaxSize The max history size. + */ + public void setHistoryMaxSize(int historyMaxSize) { + synchronized (mInstanceLock) { + if (mHistoryMaxSize == historyMaxSize) { + return; + } + mHistoryMaxSize = historyMaxSize; + pruneExcessiveHistoricalRecordsLocked(); + sortActivities(); + } + } + + /** + * Gets the history max size. + * + * @return The history max size. + */ + public int getHistoryMaxSize() { + synchronized (mInstanceLock) { + return mHistoryMaxSize; + } + } + + /** + * Gets the history size. + * + * @return The history size. + */ + public int getHistorySize() { + synchronized (mInstanceLock) { + return mHistoricalRecords.size(); + } + } + + /** + * Adds a historical record. + * + * @param historicalRecord The record to add. + * @return True if the record was added. + */ + private boolean addHisoricalRecord(HistoricalRecord historicalRecord) { + synchronized (mInstanceLock) { + final boolean added = mHistoricalRecords.add(historicalRecord); + if (added) { + mHistoricalRecordsChanged = true; + pruneExcessiveHistoricalRecordsLocked(); + persistHistoricalData(); + sortActivities(); + } + return added; + } + } + + /** + * Prunes older excessive records to guarantee {@link #mHistoryMaxSize}. + */ + private void pruneExcessiveHistoricalRecordsLocked() { + List choiceRecords = mHistoricalRecords; + final int pruneCount = choiceRecords.size() - mHistoryMaxSize; + if (pruneCount <= 0) { + return; + } + mHistoricalRecordsChanged = true; + for (int i = 0; i < pruneCount; i++) { + HistoricalRecord prunedRecord = choiceRecords.remove(0); + if (DEBUG) { + Log.i(LOG_TAG, "Pruned: " + prunedRecord); + } + } + } + + /** + * Loads the activities. + */ + private void loadActivitiesLocked() { + mActivites.clear(); + if (mIntent != null) { + List resolveInfos = + mContext.getPackageManager().queryIntentActivities(mIntent, 0); + final int resolveInfoCount = resolveInfos.size(); + for (int i = 0; i < resolveInfoCount; i++) { + ResolveInfo resolveInfo = resolveInfos.get(i); + mActivites.add(new ActivityResolveInfo(resolveInfo)); + } + sortActivities(); + } else { + notifyChanged(); + } + } + + /** + * Represents a record in the history. + */ + public final static class HistoricalRecord { + + /** + * The activity name. + */ + public final ComponentName activity; + + /** + * The choice time. + */ + public final long time; + + /** + * The record weight. + */ + public final float weight; + + /** + * Creates a new instance. + * + * @param activityName The activity component name flattened to string. + * @param time The time the activity was chosen. + * @param weight The weight of the record. + */ + public HistoricalRecord(String activityName, long time, float weight) { + this(ComponentName.unflattenFromString(activityName), time, weight); + } + + /** + * Creates a new instance. + * + * @param activityName The activity name. + * @param time The time the activity was chosen. + * @param weight The weight of the record. + */ + public HistoricalRecord(ComponentName activityName, long time, float weight) { + this.activity = activityName; + this.time = time; + this.weight = weight; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((activity == null) ? 0 : activity.hashCode()); + result = prime * result + (int) (time ^ (time >>> 32)); + result = prime * result + Float.floatToIntBits(weight); + return result; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } + HistoricalRecord other = (HistoricalRecord) obj; + if (activity == null) { + if (other.activity != null) { + return false; + } + } else if (!activity.equals(other.activity)) { + return false; + } + if (time != other.time) { + return false; + } + if (Float.floatToIntBits(weight) != Float.floatToIntBits(other.weight)) { + return false; + } + return true; + } + + @Override + public String toString() { + StringBuilder builder = new StringBuilder(); + builder.append("["); + builder.append("; activity:").append(activity); + builder.append("; time:").append(time); + builder.append("; weight:").append(new BigDecimal(weight)); + builder.append("]"); + return builder.toString(); + } + } + + /** + * Represents an activity. + */ + public final class ActivityResolveInfo implements Comparable { + + /** + * The {@link ResolveInfo} of the activity. + */ + public final ResolveInfo resolveInfo; + + /** + * Weight of the activity. Useful for sorting. + */ + public float weight; + + /** + * Creates a new instance. + * + * @param resolveInfo activity {@link ResolveInfo}. + */ + public ActivityResolveInfo(ResolveInfo resolveInfo) { + this.resolveInfo = resolveInfo; + } + + @Override + public int hashCode() { + return 31 + Float.floatToIntBits(weight); + } + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } + ActivityResolveInfo other = (ActivityResolveInfo) obj; + if (Float.floatToIntBits(weight) != Float.floatToIntBits(other.weight)) { + return false; + } + return true; + } + + public int compareTo(ActivityResolveInfo another) { + return Float.floatToIntBits(another.weight) - Float.floatToIntBits(weight); + } + + @Override + public String toString() { + StringBuilder builder = new StringBuilder(); + builder.append("["); + builder.append("resolveInfo:").append(resolveInfo.toString()); + builder.append("; weight:").append(new BigDecimal(weight)); + builder.append("]"); + return builder.toString(); + } + } + + /** + * Default activity sorter implementation. + */ + private final class DefaultSorter implements ActivitySorter { + private static final float WEIGHT_DECAY_COEFFICIENT = 0.95f; + + private final Map mPackageNameToActivityMap = + new HashMap(); + + public void sort(Intent intent, List activities, + List historicalRecords) { + Map packageNameToActivityMap = + mPackageNameToActivityMap; + packageNameToActivityMap.clear(); + + final int activityCount = activities.size(); + for (int i = 0; i < activityCount; i++) { + ActivityResolveInfo activity = activities.get(i); + activity.weight = 0.0f; + String packageName = activity.resolveInfo.activityInfo.packageName; + packageNameToActivityMap.put(packageName, activity); + } + + final int lastShareIndex = historicalRecords.size() - 1; + float nextRecordWeight = 1; + for (int i = lastShareIndex; i >= 0; i--) { + HistoricalRecord historicalRecord = historicalRecords.get(i); + String packageName = historicalRecord.activity.getPackageName(); + ActivityResolveInfo activity = packageNameToActivityMap.get(packageName); + if (activity != null) { + activity.weight += historicalRecord.weight * nextRecordWeight; + nextRecordWeight = nextRecordWeight * WEIGHT_DECAY_COEFFICIENT; + } + } + + Collections.sort(activities); + + if (DEBUG) { + for (int i = 0; i < activityCount; i++) { + Log.i(LOG_TAG, "Sorted: " + activities.get(i)); + } + } + } + } + + /** + * Command for reading the historical records from a file off the UI thread. + */ + private final class HistoryLoader implements Runnable { + + public void run() { + FileInputStream fis = null; + try { + fis = mContext.openFileInput(mHistoryFileName); + } catch (FileNotFoundException fnfe) { + if (DEBUG) { + Log.i(LOG_TAG, "Could not open historical records file: " + mHistoryFileName); + } + return; + } + try { + XmlPullParser parser = Xml.newPullParser(); + parser.setInput(fis, null); + + int type = XmlPullParser.START_DOCUMENT; + while (type != XmlPullParser.END_DOCUMENT && type != XmlPullParser.START_TAG) { + type = parser.next(); + } + + if (!TAG_HISTORICAL_RECORDS.equals(parser.getName())) { + throw new XmlPullParserException("Share records file does not start with " + + TAG_HISTORICAL_RECORDS + " tag."); + } + + List readRecords = new ArrayList(); + + while (true) { + type = parser.next(); + if (type == XmlPullParser.END_DOCUMENT) { + break; + } + if (type == XmlPullParser.END_TAG || type == XmlPullParser.TEXT) { + continue; + } + String nodeName = parser.getName(); + if (!TAG_HISTORICAL_RECORD.equals(nodeName)) { + throw new XmlPullParserException("Share records file not well-formed."); + } + + String activity = parser.getAttributeValue(null, ATTRIBUTE_ACTIVITY); + final long time = + Long.parseLong(parser.getAttributeValue(null, ATTRIBUTE_TIME)); + final float weight = + Float.parseFloat(parser.getAttributeValue(null, ATTRIBUTE_WEIGHT)); + + HistoricalRecord readRecord = new HistoricalRecord(activity, time, + weight); + readRecords.add(readRecord); + + if (DEBUG) { + Log.i(LOG_TAG, "Read " + readRecord.toString()); + } + } + + if (DEBUG) { + Log.i(LOG_TAG, "Read " + readRecords.size() + " historical records."); + } + + synchronized (mInstanceLock) { + Set uniqueShareRecords = + new LinkedHashSet(readRecords); + + // Make sure no duplicates. Example: Read a file with + // one record, add one record, persist the two records, + // add a record, read the persisted records - the + // read two records should not be added again. + List historicalRecords = mHistoricalRecords; + final int historicalRecordsCount = historicalRecords.size(); + for (int i = historicalRecordsCount - 1; i >= 0; i--) { + HistoricalRecord historicalRecord = historicalRecords.get(i); + uniqueShareRecords.add(historicalRecord); + } + + if (historicalRecords.size() == uniqueShareRecords.size()) { + return; + } + + // Make sure the oldest records go to the end. + historicalRecords.clear(); + historicalRecords.addAll(uniqueShareRecords); + + mHistoricalRecordsChanged = true; + + // Do this on the client thread since the client may be on the UI + // thread, wait for data changes which happen during sorting, and + // perform UI modification based on the data change. + mHandler.post(new Runnable() { + public void run() { + pruneExcessiveHistoricalRecordsLocked(); + sortActivities(); + } + }); + } + } catch (XmlPullParserException xppe) { + Log.e(LOG_TAG, "Error reading historical recrod file: " + mHistoryFileName, xppe); + } catch (IOException ioe) { + Log.e(LOG_TAG, "Error reading historical recrod file: " + mHistoryFileName, ioe); + } finally { + if (fis != null) { + try { + fis.close(); + } catch (IOException ioe) { + /* ignore */ + } + } + } + } + } + + /** + * Command for persisting the historical records to a file off the UI thread. + */ + private final class HistoryPersister implements Runnable { + + public void run() { + FileOutputStream fos = null; + List records = null; + + synchronized (mInstanceLock) { + records = new ArrayList(mHistoricalRecords); + } + + try { + fos = mContext.openFileOutput(mHistoryFileName, Context.MODE_PRIVATE); + } catch (FileNotFoundException fnfe) { + Log.e(LOG_TAG, "Error writing historical recrod file: " + mHistoryFileName, fnfe); + return; + } + + XmlSerializer serializer = Xml.newSerializer(); + + try { + serializer.setOutput(fos, null); + serializer.startDocument("UTF-8", true); + serializer.startTag(null, TAG_HISTORICAL_RECORDS); + + final int recordCount = records.size(); + for (int i = 0; i < recordCount; i++) { + HistoricalRecord record = records.remove(0); + serializer.startTag(null, TAG_HISTORICAL_RECORD); + serializer.attribute(null, ATTRIBUTE_ACTIVITY, record.activity.flattenToString()); + serializer.attribute(null, ATTRIBUTE_TIME, String.valueOf(record.time)); + serializer.attribute(null, ATTRIBUTE_WEIGHT, String.valueOf(record.weight)); + serializer.endTag(null, TAG_HISTORICAL_RECORD); + if (DEBUG) { + Log.i(LOG_TAG, "Wrote " + record.toString()); + } + } + + serializer.endTag(null, TAG_HISTORICAL_RECORDS); + serializer.endDocument(); + + if (DEBUG) { + Log.i(LOG_TAG, "Wrote " + recordCount + " historical records."); + } + } catch (IllegalArgumentException iae) { + Log.e(LOG_TAG, "Error writing historical recrod file: " + mHistoryFileName, iae); + } catch (IllegalStateException ise) { + Log.e(LOG_TAG, "Error writing historical recrod file: " + mHistoryFileName, ise); + } catch (IOException ioe) { + Log.e(LOG_TAG, "Error writing historical recrod file: " + mHistoryFileName, ioe); + } finally { + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + /* ignore */ + } + } + } + } + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/widget/ActivityChooserView.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/widget/ActivityChooserView.java new file mode 100644 index 000000000..e19ea9e9e --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/widget/ActivityChooserView.java @@ -0,0 +1,827 @@ +/* + * 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.widget; + +import android.os.Build; +import com.actionbarsherlock.R; +import com.actionbarsherlock.internal.widget.IcsLinearLayout; +import com.actionbarsherlock.internal.widget.IcsListPopupWindow; +import com.actionbarsherlock.view.ActionProvider; +import com.actionbarsherlock.widget.ActivityChooserModel.ActivityChooserModelClient; +import android.content.Context; +import android.content.Intent; +import android.content.pm.PackageManager; +import android.content.pm.ResolveInfo; +import android.content.res.Resources; +import android.content.res.TypedArray; +import android.database.DataSetObserver; +import android.graphics.drawable.Drawable; +import android.util.AttributeSet; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.view.ViewTreeObserver; +import android.view.ViewTreeObserver.OnGlobalLayoutListener; +import android.widget.AdapterView; +import android.widget.BaseAdapter; +import android.widget.FrameLayout; +import android.widget.ImageView; +import android.widget.PopupWindow; +import android.widget.TextView; + +/** + * This class is a view for choosing an activity for handling a given {@link Intent}. + *

      + * The view is composed of two adjacent buttons: + *

        + *
      • + * The left button is an immediate action and allows one click activity choosing. + * Tapping this button immediately executes the intent without requiring any further + * user input. Long press on this button shows a popup for changing the default + * activity. + *
      • + *
      • + * The right button is an overflow action and provides an optimized menu + * of additional activities. Tapping this button shows a popup anchored to this + * view, listing the most frequently used activities. This list is initially + * limited to a small number of items in frequency used order. The last item, + * "Show all..." serves as an affordance to display all available activities. + *
      • + *
      + *

      + * + * @hide + */ +class ActivityChooserView extends ViewGroup implements ActivityChooserModelClient { + + /** + * An adapter for displaying the activities in an {@link AdapterView}. + */ + private final ActivityChooserViewAdapter mAdapter; + + /** + * Implementation of various interfaces to avoid publishing them in the APIs. + */ + private final Callbacks mCallbacks; + + /** + * The content of this view. + */ + private final IcsLinearLayout mActivityChooserContent; + + /** + * Stores the background drawable to allow hiding and latter showing. + */ + private final Drawable mActivityChooserContentBackground; + + /** + * The expand activities action button; + */ + private final FrameLayout mExpandActivityOverflowButton; + + /** + * The image for the expand activities action button; + */ + private final ImageView mExpandActivityOverflowButtonImage; + + /** + * The default activities action button; + */ + private final FrameLayout mDefaultActivityButton; + + /** + * The image for the default activities action button; + */ + private final ImageView mDefaultActivityButtonImage; + + /** + * The maximal width of the list popup. + */ + private final int mListPopupMaxWidth; + + /** + * The ActionProvider hosting this view, if applicable. + */ + ActionProvider mProvider; + + /** + * Observer for the model data. + */ + private final DataSetObserver mModelDataSetOberver = new DataSetObserver() { + + @Override + public void onChanged() { + super.onChanged(); + mAdapter.notifyDataSetChanged(); + } + @Override + public void onInvalidated() { + super.onInvalidated(); + mAdapter.notifyDataSetInvalidated(); + } + }; + + private final OnGlobalLayoutListener mOnGlobalLayoutListener = new OnGlobalLayoutListener() { + @Override + public void onGlobalLayout() { + if (isShowingPopup()) { + if (!isShown()) { + getListPopupWindow().dismiss(); + } else { + getListPopupWindow().show(); + if (mProvider != null) { + mProvider.subUiVisibilityChanged(true); + } + } + } + } + }; + + /** + * Popup window for showing the activity overflow list. + */ + private IcsListPopupWindow mListPopupWindow; + + /** + * Listener for the dismissal of the popup/alert. + */ + private PopupWindow.OnDismissListener mOnDismissListener; + + /** + * Flag whether a default activity currently being selected. + */ + private boolean mIsSelectingDefaultActivity; + + /** + * The count of activities in the popup. + */ + private int mInitialActivityCount = ActivityChooserViewAdapter.MAX_ACTIVITY_COUNT_DEFAULT; + + /** + * Flag whether this view is attached to a window. + */ + private boolean mIsAttachedToWindow; + + /** + * String resource for formatting content description of the default target. + */ + private int mDefaultActionButtonContentDescription; + + private final Context mContext; + + /** + * Create a new instance. + * + * @param context The application environment. + */ + public ActivityChooserView(Context context) { + this(context, null); + } + + /** + * Create a new instance. + * + * @param context The application environment. + * @param attrs A collection of attributes. + */ + public ActivityChooserView(Context context, AttributeSet attrs) { + this(context, attrs, 0); + } + + /** + * Create a new instance. + * + * @param context The application environment. + * @param attrs A collection of attributes. + * @param defStyle The default style to apply to this view. + */ + public ActivityChooserView(Context context, AttributeSet attrs, int defStyle) { + super(context, attrs, defStyle); + mContext = context; + + TypedArray attributesArray = context.obtainStyledAttributes(attrs, + R.styleable.SherlockActivityChooserView, defStyle, 0); + + mInitialActivityCount = attributesArray.getInt( + R.styleable.SherlockActivityChooserView_initialActivityCount, + ActivityChooserViewAdapter.MAX_ACTIVITY_COUNT_DEFAULT); + + Drawable expandActivityOverflowButtonDrawable = attributesArray.getDrawable( + R.styleable.SherlockActivityChooserView_expandActivityOverflowButtonDrawable); + + attributesArray.recycle(); + + LayoutInflater inflater = LayoutInflater.from(mContext); + inflater.inflate(R.layout.abs__activity_chooser_view, this, true); + + mCallbacks = new Callbacks(); + + mActivityChooserContent = (IcsLinearLayout) findViewById(R.id.abs__activity_chooser_view_content); + mActivityChooserContentBackground = mActivityChooserContent.getBackground(); + + mDefaultActivityButton = (FrameLayout) findViewById(R.id.abs__default_activity_button); + mDefaultActivityButton.setOnClickListener(mCallbacks); + mDefaultActivityButton.setOnLongClickListener(mCallbacks); + mDefaultActivityButtonImage = (ImageView) mDefaultActivityButton.findViewById(R.id.abs__image); + + mExpandActivityOverflowButton = (FrameLayout) findViewById(R.id.abs__expand_activities_button); + mExpandActivityOverflowButton.setOnClickListener(mCallbacks); + mExpandActivityOverflowButtonImage = + (ImageView) mExpandActivityOverflowButton.findViewById(R.id.abs__image); + mExpandActivityOverflowButtonImage.setImageDrawable(expandActivityOverflowButtonDrawable); + + mAdapter = new ActivityChooserViewAdapter(); + mAdapter.registerDataSetObserver(new DataSetObserver() { + @Override + public void onChanged() { + super.onChanged(); + updateAppearance(); + } + }); + + Resources resources = context.getResources(); + mListPopupMaxWidth = Math.max(resources.getDisplayMetrics().widthPixels / 2, + resources.getDimensionPixelSize(R.dimen.abs__config_prefDialogWidth)); + } + + /** + * {@inheritDoc} + */ + public void setActivityChooserModel(ActivityChooserModel dataModel) { + mAdapter.setDataModel(dataModel); + if (isShowingPopup()) { + dismissPopup(); + showPopup(); + } + } + + /** + * Sets the background for the button that expands the activity + * overflow list. + * + * Note: Clients would like to set this drawable + * as a clue about the action the chosen activity will perform. For + * example, if a share activity is to be chosen the drawable should + * give a clue that sharing is to be performed. + * + * @param drawable The drawable. + */ + public void setExpandActivityOverflowButtonDrawable(Drawable drawable) { + mExpandActivityOverflowButtonImage.setImageDrawable(drawable); + } + + /** + * Sets the content description for the button that expands the activity + * overflow list. + * + * description as a clue about the action performed by the button. + * For example, if a share activity is to be chosen the content + * description should be something like "Share with". + * + * @param resourceId The content description resource id. + */ + public void setExpandActivityOverflowButtonContentDescription(int resourceId) { + CharSequence contentDescription = mContext.getString(resourceId); + mExpandActivityOverflowButtonImage.setContentDescription(contentDescription); + } + + /** + * Set the provider hosting this view, if applicable. + * @hide Internal use only + */ + public void setProvider(ActionProvider provider) { + mProvider = provider; + } + + /** + * Shows the popup window with activities. + * + * @return True if the popup was shown, false if already showing. + */ + public boolean showPopup() { + if (isShowingPopup() || !mIsAttachedToWindow) { + return false; + } + mIsSelectingDefaultActivity = false; + showPopupUnchecked(mInitialActivityCount); + return true; + } + + /** + * Shows the popup no matter if it was already showing. + * + * @param maxActivityCount The max number of activities to display. + */ + private void showPopupUnchecked(int maxActivityCount) { + if (mAdapter.getDataModel() == null) { + throw new IllegalStateException("No data model. Did you call #setDataModel?"); + } + + getViewTreeObserver().addOnGlobalLayoutListener(mOnGlobalLayoutListener); + + final boolean defaultActivityButtonShown = + mDefaultActivityButton.getVisibility() == VISIBLE; + + final int activityCount = mAdapter.getActivityCount(); + final int maxActivityCountOffset = defaultActivityButtonShown ? 1 : 0; + if (maxActivityCount != ActivityChooserViewAdapter.MAX_ACTIVITY_COUNT_UNLIMITED + && activityCount > maxActivityCount + maxActivityCountOffset) { + mAdapter.setShowFooterView(true); + mAdapter.setMaxActivityCount(maxActivityCount - 1); + } else { + mAdapter.setShowFooterView(false); + mAdapter.setMaxActivityCount(maxActivityCount); + } + + IcsListPopupWindow popupWindow = getListPopupWindow(); + if (!popupWindow.isShowing()) { + if (mIsSelectingDefaultActivity || !defaultActivityButtonShown) { + mAdapter.setShowDefaultActivity(true, defaultActivityButtonShown); + } else { + mAdapter.setShowDefaultActivity(false, false); + } + final int contentWidth = Math.min(mAdapter.measureContentWidth(), mListPopupMaxWidth); + popupWindow.setContentWidth(contentWidth); + popupWindow.show(); + if (mProvider != null) { + mProvider.subUiVisibilityChanged(true); + } + popupWindow.getListView().setContentDescription(mContext.getString( + R.string.abs__activitychooserview_choose_application)); + } + } + + /** + * Dismisses the popup window with activities. + * + * @return True if dismissed, false if already dismissed. + */ + public boolean dismissPopup() { + if (isShowingPopup()) { + getListPopupWindow().dismiss(); + ViewTreeObserver viewTreeObserver = getViewTreeObserver(); + if (viewTreeObserver.isAlive()) { + viewTreeObserver.removeGlobalOnLayoutListener(mOnGlobalLayoutListener); + } + } + return true; + } + + /** + * Gets whether the popup window with activities is shown. + * + * @return True if the popup is shown. + */ + public boolean isShowingPopup() { + return getListPopupWindow().isShowing(); + } + + @Override + protected void onAttachedToWindow() { + super.onAttachedToWindow(); + ActivityChooserModel dataModel = mAdapter.getDataModel(); + if (dataModel != null) { + dataModel.registerObserver(mModelDataSetOberver); + } + mIsAttachedToWindow = true; + } + + @Override + protected void onDetachedFromWindow() { + super.onDetachedFromWindow(); + ActivityChooserModel dataModel = mAdapter.getDataModel(); + if (dataModel != null) { + try { + dataModel.unregisterObserver(mModelDataSetOberver); + } catch (IllegalStateException e) { + //Oh, well... fixes issue #557 + } + } + ViewTreeObserver viewTreeObserver = getViewTreeObserver(); + if (viewTreeObserver.isAlive()) { + viewTreeObserver.removeGlobalOnLayoutListener(mOnGlobalLayoutListener); + } + mIsAttachedToWindow = false; + } + + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + View child = mActivityChooserContent; + // If the default action is not visible we want to be as tall as the + // ActionBar so if this widget is used in the latter it will look as + // a normal action button. + if (mDefaultActivityButton.getVisibility() != VISIBLE) { + heightMeasureSpec = MeasureSpec.makeMeasureSpec(MeasureSpec.getSize(heightMeasureSpec), + MeasureSpec.EXACTLY); + } + measureChild(child, widthMeasureSpec, heightMeasureSpec); + setMeasuredDimension(child.getMeasuredWidth(), child.getMeasuredHeight()); + } + + @Override + protected void onLayout(boolean changed, int left, int top, int right, int bottom) { + mActivityChooserContent.layout(0, 0, right - left, bottom - top); + if (getListPopupWindow().isShowing()) { + showPopupUnchecked(mAdapter.getMaxActivityCount()); + } else { + dismissPopup(); + } + } + + public ActivityChooserModel getDataModel() { + return mAdapter.getDataModel(); + } + + /** + * Sets a listener to receive a callback when the popup is dismissed. + * + * @param listener The listener to be notified. + */ + public void setOnDismissListener(PopupWindow.OnDismissListener listener) { + mOnDismissListener = listener; + } + + /** + * Sets the initial count of items shown in the activities popup + * i.e. the items before the popup is expanded. This is an upper + * bound since it is not guaranteed that such number of intent + * handlers exist. + * + * @param itemCount The initial popup item count. + */ + public void setInitialActivityCount(int itemCount) { + mInitialActivityCount = itemCount; + } + + /** + * Sets a content description of the default action button. This + * resource should be a string taking one formatting argument and + * will be used for formatting the content description of the button + * dynamically as the default target changes. For example, a resource + * pointing to the string "share with %1$s" will result in a content + * description "share with Bluetooth" for the Bluetooth activity. + * + * @param resourceId The resource id. + */ + public void setDefaultActionButtonContentDescription(int resourceId) { + mDefaultActionButtonContentDescription = resourceId; + } + + /** + * Gets the list popup window which is lazily initialized. + * + * @return The popup. + */ + private IcsListPopupWindow getListPopupWindow() { + if (mListPopupWindow == null) { + mListPopupWindow = new IcsListPopupWindow(getContext()); + mListPopupWindow.setAdapter(mAdapter); + mListPopupWindow.setAnchorView(ActivityChooserView.this); + mListPopupWindow.setModal(true); + mListPopupWindow.setOnItemClickListener(mCallbacks); + mListPopupWindow.setOnDismissListener(mCallbacks); + } + return mListPopupWindow; + } + + /** + * Updates the buttons state. + */ + private void updateAppearance() { + // Expand overflow button. + if (mAdapter.getCount() > 0) { + mExpandActivityOverflowButton.setEnabled(true); + } else { + mExpandActivityOverflowButton.setEnabled(false); + } + // Default activity button. + final int activityCount = mAdapter.getActivityCount(); + final int historySize = mAdapter.getHistorySize(); + if (activityCount > 0 && historySize > 0) { + mDefaultActivityButton.setVisibility(VISIBLE); + ResolveInfo activity = mAdapter.getDefaultActivity(); + PackageManager packageManager = mContext.getPackageManager(); + mDefaultActivityButtonImage.setImageDrawable(activity.loadIcon(packageManager)); + if (mDefaultActionButtonContentDescription != 0) { + CharSequence label = activity.loadLabel(packageManager); + String contentDescription = mContext.getString( + mDefaultActionButtonContentDescription, label); + mDefaultActivityButton.setContentDescription(contentDescription); + } + } else { + mDefaultActivityButton.setVisibility(View.GONE); + } + // Activity chooser content. + if (mDefaultActivityButton.getVisibility() == VISIBLE) { + mActivityChooserContent.setBackgroundDrawable(mActivityChooserContentBackground); + } else { + mActivityChooserContent.setBackgroundDrawable(null); + mActivityChooserContent.setPadding(0, 0, 0, 0); + } + } + + /** + * Interface implementation to avoid publishing them in the APIs. + */ + private class Callbacks implements AdapterView.OnItemClickListener, + View.OnClickListener, View.OnLongClickListener, PopupWindow.OnDismissListener { + + // AdapterView#OnItemClickListener + public void onItemClick(AdapterView parent, View view, int position, long id) { + ActivityChooserViewAdapter adapter = (ActivityChooserViewAdapter) parent.getAdapter(); + final int itemViewType = adapter.getItemViewType(position); + switch (itemViewType) { + case ActivityChooserViewAdapter.ITEM_VIEW_TYPE_FOOTER: { + showPopupUnchecked(ActivityChooserViewAdapter.MAX_ACTIVITY_COUNT_UNLIMITED); + } break; + case ActivityChooserViewAdapter.ITEM_VIEW_TYPE_ACTIVITY: { + dismissPopup(); + if (mIsSelectingDefaultActivity) { + // The item at position zero is the default already. + if (position > 0) { + mAdapter.getDataModel().setDefaultActivity(position); + } + } else { + // If the default target is not shown in the list, the first + // item in the model is default action => adjust index + position = mAdapter.getShowDefaultActivity() ? position : position + 1; + Intent launchIntent = mAdapter.getDataModel().chooseActivity(position); + if (launchIntent != null) { + mContext.startActivity(launchIntent); + } + } + } break; + default: + throw new IllegalArgumentException(); + } + } + + // View.OnClickListener + public void onClick(View view) { + if (view == mDefaultActivityButton) { + dismissPopup(); + ResolveInfo defaultActivity = mAdapter.getDefaultActivity(); + final int index = mAdapter.getDataModel().getActivityIndex(defaultActivity); + Intent launchIntent = mAdapter.getDataModel().chooseActivity(index); + if (launchIntent != null) { + mContext.startActivity(launchIntent); + } + } else if (view == mExpandActivityOverflowButton) { + mIsSelectingDefaultActivity = false; + showPopupUnchecked(mInitialActivityCount); + } else { + throw new IllegalArgumentException(); + } + } + + // OnLongClickListener#onLongClick + @Override + public boolean onLongClick(View view) { + if (view == mDefaultActivityButton) { + if (mAdapter.getCount() > 0) { + mIsSelectingDefaultActivity = true; + showPopupUnchecked(mInitialActivityCount); + } + } else { + throw new IllegalArgumentException(); + } + return true; + } + + // PopUpWindow.OnDismissListener#onDismiss + public void onDismiss() { + notifyOnDismissListener(); + if (mProvider != null) { + mProvider.subUiVisibilityChanged(false); + } + } + + private void notifyOnDismissListener() { + if (mOnDismissListener != null) { + mOnDismissListener.onDismiss(); + } + } + } + + private static class SetActivated { + public static void invoke(View view, boolean activated) { + view.setActivated(activated); + } + } + + private static final boolean IS_HONEYCOMB = Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB; + + /** + * Adapter for backing the list of activities shown in the popup. + */ + private class ActivityChooserViewAdapter extends BaseAdapter { + + public static final int MAX_ACTIVITY_COUNT_UNLIMITED = Integer.MAX_VALUE; + + public static final int MAX_ACTIVITY_COUNT_DEFAULT = 4; + + private static final int ITEM_VIEW_TYPE_ACTIVITY = 0; + + private static final int ITEM_VIEW_TYPE_FOOTER = 1; + + private static final int ITEM_VIEW_TYPE_COUNT = 3; + + private ActivityChooserModel mDataModel; + + private int mMaxActivityCount = MAX_ACTIVITY_COUNT_DEFAULT; + + private boolean mShowDefaultActivity; + + private boolean mHighlightDefaultActivity; + + private boolean mShowFooterView; + + public void setDataModel(ActivityChooserModel dataModel) { + ActivityChooserModel oldDataModel = mAdapter.getDataModel(); + if (oldDataModel != null && isShown()) { + try { + oldDataModel.unregisterObserver(mModelDataSetOberver); + } catch (IllegalStateException e) { + //Oh, well... fixes issue #557 + } + } + mDataModel = dataModel; + if (dataModel != null && isShown()) { + dataModel.registerObserver(mModelDataSetOberver); + } + notifyDataSetChanged(); + } + + @Override + public int getItemViewType(int position) { + if (mShowFooterView && position == getCount() - 1) { + return ITEM_VIEW_TYPE_FOOTER; + } else { + return ITEM_VIEW_TYPE_ACTIVITY; + } + } + + @Override + public int getViewTypeCount() { + return ITEM_VIEW_TYPE_COUNT; + } + + public int getCount() { + int count = 0; + int activityCount = mDataModel.getActivityCount(); + if (!mShowDefaultActivity && mDataModel.getDefaultActivity() != null) { + activityCount--; + } + count = Math.min(activityCount, mMaxActivityCount); + if (mShowFooterView) { + count++; + } + return count; + } + + public Object getItem(int position) { + final int itemViewType = getItemViewType(position); + switch (itemViewType) { + case ITEM_VIEW_TYPE_FOOTER: + return null; + case ITEM_VIEW_TYPE_ACTIVITY: + if (!mShowDefaultActivity && mDataModel.getDefaultActivity() != null) { + position++; + } + return mDataModel.getActivity(position); + default: + throw new IllegalArgumentException(); + } + } + + public long getItemId(int position) { + return position; + } + + public View getView(int position, View convertView, ViewGroup parent) { + final int itemViewType = getItemViewType(position); + switch (itemViewType) { + case ITEM_VIEW_TYPE_FOOTER: + if (convertView == null || convertView.getId() != ITEM_VIEW_TYPE_FOOTER) { + convertView = LayoutInflater.from(getContext()).inflate( + R.layout.abs__activity_chooser_view_list_item, parent, false); + convertView.setId(ITEM_VIEW_TYPE_FOOTER); + TextView titleView = (TextView) convertView.findViewById(R.id.abs__title); + titleView.setText(mContext.getString( + R.string.abs__activity_chooser_view_see_all)); + } + return convertView; + case ITEM_VIEW_TYPE_ACTIVITY: + if (convertView == null || convertView.getId() != R.id.abs__list_item) { + convertView = LayoutInflater.from(getContext()).inflate( + R.layout.abs__activity_chooser_view_list_item, parent, false); + } + PackageManager packageManager = mContext.getPackageManager(); + // Set the icon + ImageView iconView = (ImageView) convertView.findViewById(R.id.abs__icon); + ResolveInfo activity = (ResolveInfo) getItem(position); + iconView.setImageDrawable(activity.loadIcon(packageManager)); + // Set the title. + TextView titleView = (TextView) convertView.findViewById(R.id.abs__title); + titleView.setText(activity.loadLabel(packageManager)); + if (IS_HONEYCOMB) { + // Highlight the default. + if (mShowDefaultActivity && position == 0 && mHighlightDefaultActivity) { + SetActivated.invoke(convertView, true); + } else { + SetActivated.invoke(convertView, false); + } + } + return convertView; + default: + throw new IllegalArgumentException(); + } + } + + public int measureContentWidth() { + // The user may have specified some of the target not to be shown but we + // want to measure all of them since after expansion they should fit. + final int oldMaxActivityCount = mMaxActivityCount; + mMaxActivityCount = MAX_ACTIVITY_COUNT_UNLIMITED; + + int contentWidth = 0; + View itemView = null; + + final int widthMeasureSpec = MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED); + final int heightMeasureSpec = MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED); + final int count = getCount(); + + for (int i = 0; i < count; i++) { + itemView = getView(i, itemView, null); + itemView.measure(widthMeasureSpec, heightMeasureSpec); + contentWidth = Math.max(contentWidth, itemView.getMeasuredWidth()); + } + + mMaxActivityCount = oldMaxActivityCount; + + return contentWidth; + } + + public void setMaxActivityCount(int maxActivityCount) { + if (mMaxActivityCount != maxActivityCount) { + mMaxActivityCount = maxActivityCount; + notifyDataSetChanged(); + } + } + + public ResolveInfo getDefaultActivity() { + return mDataModel.getDefaultActivity(); + } + + public void setShowFooterView(boolean showFooterView) { + if (mShowFooterView != showFooterView) { + mShowFooterView = showFooterView; + notifyDataSetChanged(); + } + } + + public int getActivityCount() { + return mDataModel.getActivityCount(); + } + + public int getHistorySize() { + return mDataModel.getHistorySize(); + } + + public int getMaxActivityCount() { + return mMaxActivityCount; + } + + public ActivityChooserModel getDataModel() { + return mDataModel; + } + + public void setShowDefaultActivity(boolean showDefaultActivity, + boolean highlightDefaultActivity) { + if (mShowDefaultActivity != showDefaultActivity + || mHighlightDefaultActivity != highlightDefaultActivity) { + mShowDefaultActivity = showDefaultActivity; + mHighlightDefaultActivity = highlightDefaultActivity; + notifyDataSetChanged(); + } + } + + public boolean getShowDefaultActivity() { + return mShowDefaultActivity; + } + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/widget/SearchView.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/widget/SearchView.java new file mode 100644 index 000000000..c9e7897d4 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/widget/SearchView.java @@ -0,0 +1,1811 @@ +/* + * 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. + */ + +package com.actionbarsherlock.widget; + +import android.app.PendingIntent; +import android.app.SearchManager; +import android.app.SearchableInfo; +import android.content.ActivityNotFoundException; +import android.content.ComponentName; +import android.content.Context; +import android.content.Intent; +import android.content.pm.PackageManager; +import android.content.pm.ResolveInfo; +import android.content.res.Configuration; +import android.content.res.Resources; +import android.content.res.TypedArray; +import android.database.Cursor; +import android.graphics.Rect; +import android.graphics.drawable.Drawable; +import android.net.Uri; +import android.os.Build; +import android.os.Bundle; +import android.os.ResultReceiver; +import android.speech.RecognizerIntent; +import android.support.v4.view.KeyEventCompat; +import android.support.v4.widget.CursorAdapter; +import android.text.Editable; +import android.text.InputType; +import android.text.Spannable; +import android.text.SpannableStringBuilder; +import android.text.TextUtils; +import android.text.TextWatcher; +import android.text.style.ImageSpan; +import android.util.AttributeSet; +import android.util.Log; +import android.util.TypedValue; +import android.view.KeyEvent; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewTreeObserver; +import android.view.accessibility.AccessibilityEvent; +import android.view.accessibility.AccessibilityNodeInfo; +import android.view.inputmethod.EditorInfo; +import android.view.inputmethod.InputMethodManager; +import android.widget.AdapterView; +import android.widget.AdapterView.OnItemClickListener; +import android.widget.AdapterView.OnItemSelectedListener; +import android.widget.AutoCompleteTextView; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.ListView; +import android.widget.TextView; +import android.widget.TextView.OnEditorActionListener; +import com.actionbarsherlock.R; +import com.actionbarsherlock.view.CollapsibleActionView; + +import java.lang.reflect.Method; +import java.util.WeakHashMap; + +import static com.actionbarsherlock.widget.SuggestionsAdapter.getColumnString; + +/** + * A widget that provides a user interface for the user to enter a search query and submit a request + * to a search provider. Shows a list of query suggestions or results, if available, and allows the + * user to pick a suggestion or result to launch into. + * + *

      + * When the SearchView is used in an ActionBar as an action view for a collapsible menu item, it + * needs to be set to iconified by default using {@link #setIconifiedByDefault(boolean) + * setIconifiedByDefault(true)}. This is the default, so nothing needs to be done. + *

      + *

      + * If you want the search field to always be visible, then call setIconifiedByDefault(false). + *

      + * + *
      + *

      Developer Guides

      + *

      For information about using {@code SearchView}, read the + * Search developer guide.

      + *
      + * + * @see android.view.MenuItem#SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW + * @attr ref android.R.styleable#SearchView_iconifiedByDefault + * @attr ref android.R.styleable#SearchView_imeOptions + * @attr ref android.R.styleable#SearchView_inputType + * @attr ref android.R.styleable#SearchView_maxWidth + * @attr ref android.R.styleable#SearchView_queryHint + */ +public class SearchView extends LinearLayout implements CollapsibleActionView { + + private static final boolean DBG = false; + private static final String LOG_TAG = "SearchView"; + + /** + * Private constant for removing the microphone in the keyboard. + */ + private static final String IME_OPTION_NO_MICROPHONE = "nm"; + + private OnQueryTextListener mOnQueryChangeListener; + private OnCloseListener mOnCloseListener; + private OnFocusChangeListener mOnQueryTextFocusChangeListener; + private OnSuggestionListener mOnSuggestionListener; + private OnClickListener mOnSearchClickListener; + + private boolean mIconifiedByDefault; + private boolean mIconified; + private CursorAdapter mSuggestionsAdapter; + private View mSearchButton; + private View mSubmitButton; + private View mSearchPlate; + private View mSubmitArea; + private ImageView mCloseButton; + private View mSearchEditFrame; + private View mVoiceButton; + private SearchAutoComplete mQueryTextView; + private View mDropDownAnchor; + private ImageView mSearchHintIcon; + private boolean mSubmitButtonEnabled; + private CharSequence mQueryHint; + private boolean mQueryRefinement; + private boolean mClearingFocus; + private int mMaxWidth; + private boolean mVoiceButtonEnabled; + private CharSequence mOldQueryText; + private CharSequence mUserQuery; + private boolean mExpandedInActionView; + private int mCollapsedImeOptions; + + private SearchableInfo mSearchable; + private Bundle mAppSearchData; + + /* + * SearchView can be set expanded before the IME is ready to be shown during + * initial UI setup. The show operation is asynchronous to account for this. + */ + private Runnable mShowImeRunnable = new Runnable() { + public void run() { + InputMethodManager imm = (InputMethodManager) + getContext().getSystemService(Context.INPUT_METHOD_SERVICE); + + if (imm != null) { + showSoftInputUnchecked(SearchView.this, imm, 0); + } + } + }; + + private Runnable mUpdateDrawableStateRunnable = new Runnable() { + public void run() { + updateFocusedState(); + } + }; + + private Runnable mReleaseCursorRunnable = new Runnable() { + public void run() { + if (mSuggestionsAdapter != null && mSuggestionsAdapter instanceof SuggestionsAdapter) { + mSuggestionsAdapter.changeCursor(null); + } + } + }; + + // For voice searching + private final Intent mVoiceWebSearchIntent; + private final Intent mVoiceAppSearchIntent; + + // A weak map of drawables we've gotten from other packages, so we don't load them + // more than once. + private final WeakHashMap mOutsideDrawablesCache = + new WeakHashMap(); + + /** + * Callbacks for changes to the query text. + */ + public interface OnQueryTextListener { + + /** + * Called when the user submits the query. This could be due to a key press on the + * keyboard or due to pressing a submit button. + * The listener can override the standard behavior by returning true + * to indicate that it has handled the submit request. Otherwise return false to + * let the SearchView handle the submission by launching any associated intent. + * + * @param query the query text that is to be submitted + * + * @return true if the query has been handled by the listener, false to let the + * SearchView perform the default action. + */ + boolean onQueryTextSubmit(String query); + + /** + * Called when the query text is changed by the user. + * + * @param newText the new content of the query text field. + * + * @return false if the SearchView should perform the default action of showing any + * suggestions if available, true if the action was handled by the listener. + */ + boolean onQueryTextChange(String newText); + } + + public interface OnCloseListener { + + /** + * The user is attempting to close the SearchView. + * + * @return true if the listener wants to override the default behavior of clearing the + * text field and dismissing it, false otherwise. + */ + boolean onClose(); + } + + /** + * Callback interface for selection events on suggestions. These callbacks + * are only relevant when a SearchableInfo has been specified by {@link #setSearchableInfo}. + */ + public interface OnSuggestionListener { + + /** + * Called when a suggestion was selected by navigating to it. + * @param position the absolute position in the list of suggestions. + * + * @return true if the listener handles the event and wants to override the default + * behavior of possibly rewriting the query based on the selected item, false otherwise. + */ + boolean onSuggestionSelect(int position); + + /** + * Called when a suggestion was clicked. + * @param position the absolute position of the clicked item in the list of suggestions. + * + * @return true if the listener handles the event and wants to override the default + * behavior of launching any intent or submitting a search query specified on that item. + * Return false otherwise. + */ + boolean onSuggestionClick(int position); + } + + public SearchView(Context context) { + this(context, null); + } + + public SearchView(Context context, AttributeSet attrs) { + super(context, attrs); + + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.FROYO) { + throw new IllegalStateException("SearchView is API 8+ only."); + } + + LayoutInflater inflater = (LayoutInflater) context + .getSystemService(Context.LAYOUT_INFLATER_SERVICE); + inflater.inflate(R.layout.abs__search_view, this, true); + + mSearchButton = findViewById(R.id.abs__search_button); + mQueryTextView = (SearchAutoComplete) findViewById(R.id.abs__search_src_text); + mQueryTextView.setSearchView(this); + + mSearchEditFrame = findViewById(R.id.abs__search_edit_frame); + mSearchPlate = findViewById(R.id.abs__search_plate); + mSubmitArea = findViewById(R.id.abs__submit_area); + mSubmitButton = findViewById(R.id.abs__search_go_btn); + mCloseButton = (ImageView) findViewById(R.id.abs__search_close_btn); + mVoiceButton = findViewById(R.id.abs__search_voice_btn); + mSearchHintIcon = (ImageView) findViewById(R.id.abs__search_mag_icon); + + mSearchButton.setOnClickListener(mOnClickListener); + mCloseButton.setOnClickListener(mOnClickListener); + mSubmitButton.setOnClickListener(mOnClickListener); + mVoiceButton.setOnClickListener(mOnClickListener); + mQueryTextView.setOnClickListener(mOnClickListener); + + mQueryTextView.addTextChangedListener(mTextWatcher); + mQueryTextView.setOnEditorActionListener(mOnEditorActionListener); + mQueryTextView.setOnItemClickListener(mOnItemClickListener); + mQueryTextView.setOnItemSelectedListener(mOnItemSelectedListener); + mQueryTextView.setOnKeyListener(mTextKeyListener); + // Inform any listener of focus changes + mQueryTextView.setOnFocusChangeListener(new OnFocusChangeListener() { + + public void onFocusChange(View v, boolean hasFocus) { + if (mOnQueryTextFocusChangeListener != null) { + mOnQueryTextFocusChangeListener.onFocusChange(SearchView.this, hasFocus); + } + } + }); + + TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.SherlockSearchView, 0, 0); + setIconifiedByDefault(a.getBoolean(R.styleable.SherlockSearchView_iconifiedByDefault, true)); + int maxWidth = a.getDimensionPixelSize(R.styleable.SherlockSearchView_android_maxWidth, -1); + if (maxWidth != -1) { + setMaxWidth(maxWidth); + } + CharSequence queryHint = a.getText(R.styleable.SherlockSearchView_queryHint); + if (!TextUtils.isEmpty(queryHint)) { + setQueryHint(queryHint); + } + int imeOptions = a.getInt(R.styleable.SherlockSearchView_android_imeOptions, -1); + if (imeOptions != -1) { + setImeOptions(imeOptions); + } + int inputType = a.getInt(R.styleable.SherlockSearchView_android_inputType, -1); + if (inputType != -1) { + setInputType(inputType); + } + + a.recycle(); + + boolean focusable = true; + + a = context.obtainStyledAttributes(attrs, R.styleable.SherlockView, 0, 0); + focusable = a.getBoolean(R.styleable.SherlockView_android_focusable, focusable); + a.recycle(); + setFocusable(focusable); + + // Save voice intent for later queries/launching + mVoiceWebSearchIntent = new Intent(RecognizerIntent.ACTION_WEB_SEARCH); + mVoiceWebSearchIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + mVoiceWebSearchIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, + RecognizerIntent.LANGUAGE_MODEL_WEB_SEARCH); + + mVoiceAppSearchIntent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); + mVoiceAppSearchIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + + mDropDownAnchor = findViewById(mQueryTextView.getDropDownAnchor()); + if (mDropDownAnchor != null) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { + mDropDownAnchor.addOnLayoutChangeListener(new OnLayoutChangeListener() { + @Override + public void onLayoutChange(View v, int left, int top, int right, int bottom, + int oldLeft, int oldTop, int oldRight, int oldBottom) { + adjustDropDownSizeAndPosition(); + } + }); + } else { + mDropDownAnchor.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { + @Override public void onGlobalLayout() { + adjustDropDownSizeAndPosition(); + } + }); + } + } + + updateViewsVisibility(mIconifiedByDefault); + updateQueryHint(); + } + + /** + * Sets the SearchableInfo for this SearchView. Properties in the SearchableInfo are used + * to display labels, hints, suggestions, create intents for launching search results screens + * and controlling other affordances such as a voice button. + * + * @param searchable a SearchableInfo can be retrieved from the SearchManager, for a specific + * activity or a global search provider. + */ + public void setSearchableInfo(SearchableInfo searchable) { + mSearchable = searchable; + if (mSearchable != null) { + updateSearchAutoComplete(); + updateQueryHint(); + } + // Cache the voice search capability + mVoiceButtonEnabled = hasVoiceSearch(); + + if (mVoiceButtonEnabled) { + // Disable the microphone on the keyboard, as a mic is displayed near the text box + // TODO: use imeOptions to disable voice input when the new API will be available + mQueryTextView.setPrivateImeOptions(IME_OPTION_NO_MICROPHONE); + } + updateViewsVisibility(isIconified()); + } + + /** + * Sets the APP_DATA for legacy SearchDialog use. + * @param appSearchData bundle provided by the app when launching the search dialog + * @hide + */ + public void setAppSearchData(Bundle appSearchData) { + mAppSearchData = appSearchData; + } + + /** + * Sets the IME options on the query text field. + * + * @see TextView#setImeOptions(int) + * @param imeOptions the options to set on the query text field + * + * @attr ref android.R.styleable#SearchView_imeOptions + */ + public void setImeOptions(int imeOptions) { + mQueryTextView.setImeOptions(imeOptions); + } + + /** + * Returns the IME options set on the query text field. + * @return the ime options + * @see TextView#setImeOptions(int) + * + * @attr ref android.R.styleable#SearchView_imeOptions + */ + public int getImeOptions() { + return mQueryTextView.getImeOptions(); + } + + /** + * Sets the input type on the query text field. + * + * @see TextView#setInputType(int) + * @param inputType the input type to set on the query text field + * + * @attr ref android.R.styleable#SearchView_inputType + */ + public void setInputType(int inputType) { + mQueryTextView.setInputType(inputType); + } + + /** + * Returns the input type set on the query text field. + * @return the input type + * + * @attr ref android.R.styleable#SearchView_inputType + */ + public int getInputType() { + return mQueryTextView.getInputType(); + } + + /** @hide */ + @Override + public boolean requestFocus(int direction, Rect previouslyFocusedRect) { + // Don't accept focus if in the middle of clearing focus + if (mClearingFocus) return false; + // Check if SearchView is focusable. + if (!isFocusable()) return false; + // If it is not iconified, then give the focus to the text field + if (!isIconified()) { + boolean result = mQueryTextView.requestFocus(direction, previouslyFocusedRect); + if (result) { + updateViewsVisibility(false); + } + return result; + } else { + return super.requestFocus(direction, previouslyFocusedRect); + } + } + + /** @hide */ + @Override + public void clearFocus() { + mClearingFocus = true; + setImeVisibility(false); + super.clearFocus(); + mQueryTextView.clearFocus(); + mClearingFocus = false; + } + + /** + * Sets a listener for user actions within the SearchView. + * + * @param listener the listener object that receives callbacks when the user performs + * actions in the SearchView such as clicking on buttons or typing a query. + */ + public void setOnQueryTextListener(OnQueryTextListener listener) { + mOnQueryChangeListener = listener; + } + + /** + * Sets a listener to inform when the user closes the SearchView. + * + * @param listener the listener to call when the user closes the SearchView. + */ + public void setOnCloseListener(OnCloseListener listener) { + mOnCloseListener = listener; + } + + /** + * Sets a listener to inform when the focus of the query text field changes. + * + * @param listener the listener to inform of focus changes. + */ + public void setOnQueryTextFocusChangeListener(OnFocusChangeListener listener) { + mOnQueryTextFocusChangeListener = listener; + } + + /** + * Sets a listener to inform when a suggestion is focused or clicked. + * + * @param listener the listener to inform of suggestion selection events. + */ + public void setOnSuggestionListener(OnSuggestionListener listener) { + mOnSuggestionListener = listener; + } + + /** + * Sets a listener to inform when the search button is pressed. This is only + * relevant when the text field is not visible by default. Calling {@link #setIconified + * setIconified(false)} can also cause this listener to be informed. + * + * @param listener the listener to inform when the search button is clicked or + * the text field is programmatically de-iconified. + */ + public void setOnSearchClickListener(OnClickListener listener) { + mOnSearchClickListener = listener; + } + + /** + * Returns the query string currently in the text field. + * + * @return the query string + */ + public CharSequence getQuery() { + return mQueryTextView.getText(); + } + + /** + * Sets a query string in the text field and optionally submits the query as well. + * + * @param query the query string. This replaces any query text already present in the + * text field. + * @param submit whether to submit the query right now or only update the contents of + * text field. + */ + public void setQuery(CharSequence query, boolean submit) { + mQueryTextView.setText(query); + if (query != null) { + mQueryTextView.setSelection(mQueryTextView.length()); + mUserQuery = query; + } + + // If the query is not empty and submit is requested, submit the query + if (submit && !TextUtils.isEmpty(query)) { + onSubmitQuery(); + } + } + + /** + * Sets the hint text to display in the query text field. This overrides any hint specified + * in the SearchableInfo. + * + * @param hint the hint text to display + * + * @attr ref android.R.styleable#SearchView_queryHint + */ + public void setQueryHint(CharSequence hint) { + mQueryHint = hint; + updateQueryHint(); + } + + /** + * Gets the hint text to display in the query text field. + * @return the query hint text, if specified, null otherwise. + * + * @attr ref android.R.styleable#SearchView_queryHint + */ + public CharSequence getQueryHint() { + if (mQueryHint != null) { + return mQueryHint; + } else if (mSearchable != null) { + CharSequence hint = null; + int hintId = mSearchable.getHintId(); + if (hintId != 0) { + hint = getContext().getString(hintId); + } + return hint; + } + return null; + } + + /** + * Sets the default or resting state of the search field. If true, a single search icon is + * shown by default and expands to show the text field and other buttons when pressed. Also, + * if the default state is iconified, then it collapses to that state when the close button + * is pressed. Changes to this property will take effect immediately. + * + *

      The default value is true.

      + * + * @param iconified whether the search field should be iconified by default + * + * @attr ref android.R.styleable#SearchView_iconifiedByDefault + */ + public void setIconifiedByDefault(boolean iconified) { + if (mIconifiedByDefault == iconified) return; + mIconifiedByDefault = iconified; + updateViewsVisibility(iconified); + updateQueryHint(); + } + + /** + * Returns the default iconified state of the search field. + * @return + * + * @attr ref android.R.styleable#SearchView_iconifiedByDefault + */ + public boolean isIconfiedByDefault() { + return mIconifiedByDefault; + } + + /** + * Iconifies or expands the SearchView. Any query text is cleared when iconified. This is + * a temporary state and does not override the default iconified state set by + * {@link #setIconifiedByDefault(boolean)}. If the default state is iconified, then + * a false here will only be valid until the user closes the field. And if the default + * state is expanded, then a true here will only clear the text field and not close it. + * + * @param iconify a true value will collapse the SearchView to an icon, while a false will + * expand it. + */ + public void setIconified(boolean iconify) { + if (iconify) { + onCloseClicked(); + } else { + onSearchClicked(); + } + } + + /** + * Returns the current iconified state of the SearchView. + * + * @return true if the SearchView is currently iconified, false if the search field is + * fully visible. + */ + public boolean isIconified() { + return mIconified; + } + + /** + * Enables showing a submit button when the query is non-empty. In cases where the SearchView + * is being used to filter the contents of the current activity and doesn't launch a separate + * results activity, then the submit button should be disabled. + * + * @param enabled true to show a submit button for submitting queries, false if a submit + * button is not required. + */ + public void setSubmitButtonEnabled(boolean enabled) { + mSubmitButtonEnabled = enabled; + updateViewsVisibility(isIconified()); + } + + /** + * Returns whether the submit button is enabled when necessary or never displayed. + * + * @return whether the submit button is enabled automatically when necessary + */ + public boolean isSubmitButtonEnabled() { + return mSubmitButtonEnabled; + } + + /** + * Specifies if a query refinement button should be displayed alongside each suggestion + * or if it should depend on the flags set in the individual items retrieved from the + * suggestions provider. Clicking on the query refinement button will replace the text + * in the query text field with the text from the suggestion. This flag only takes effect + * if a SearchableInfo has been specified with {@link #setSearchableInfo(SearchableInfo)} + * and not when using a custom adapter. + * + * @param enable true if all items should have a query refinement button, false if only + * those items that have a query refinement flag set should have the button. + * + * @see SearchManager#SUGGEST_COLUMN_FLAGS + * @see SearchManager#FLAG_QUERY_REFINEMENT + */ + public void setQueryRefinementEnabled(boolean enable) { + mQueryRefinement = enable; + if (mSuggestionsAdapter instanceof SuggestionsAdapter) { + ((SuggestionsAdapter) mSuggestionsAdapter).setQueryRefinement( + enable ? SuggestionsAdapter.REFINE_ALL : SuggestionsAdapter.REFINE_BY_ENTRY); + } + } + + /** + * Returns whether query refinement is enabled for all items or only specific ones. + * @return true if enabled for all items, false otherwise. + */ + public boolean isQueryRefinementEnabled() { + return mQueryRefinement; + } + + /** + * You can set a custom adapter if you wish. Otherwise the default adapter is used to + * display the suggestions from the suggestions provider associated with the SearchableInfo. + * + * @see #setSearchableInfo(SearchableInfo) + */ + public void setSuggestionsAdapter(CursorAdapter adapter) { + mSuggestionsAdapter = adapter; + + mQueryTextView.setAdapter(mSuggestionsAdapter); + } + + /** + * Returns the adapter used for suggestions, if any. + * @return the suggestions adapter + */ + public CursorAdapter getSuggestionsAdapter() { + return mSuggestionsAdapter; + } + + /** + * Makes the view at most this many pixels wide + * + * @attr ref android.R.styleable#SearchView_maxWidth + */ + public void setMaxWidth(int maxpixels) { + mMaxWidth = maxpixels; + + requestLayout(); + } + + /** + * Gets the specified maximum width in pixels, if set. Returns zero if + * no maximum width was specified. + * @return the maximum width of the view + * + * @attr ref android.R.styleable#SearchView_maxWidth + */ + public int getMaxWidth() { + return mMaxWidth; + } + + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + // Let the standard measurements take effect in iconified state. + if (isIconified()) { + super.onMeasure(widthMeasureSpec, heightMeasureSpec); + return; + } + + int widthMode = MeasureSpec.getMode(widthMeasureSpec); + int width = MeasureSpec.getSize(widthMeasureSpec); + + switch (widthMode) { + case MeasureSpec.AT_MOST: + // If there is an upper limit, don't exceed maximum width (explicit or implicit) + if (mMaxWidth > 0) { + width = Math.min(mMaxWidth, width); + } else { + width = Math.min(getPreferredWidth(), width); + } + break; + case MeasureSpec.EXACTLY: + // If an exact width is specified, still don't exceed any specified maximum width + if (mMaxWidth > 0) { + width = Math.min(mMaxWidth, width); + } + break; + case MeasureSpec.UNSPECIFIED: + // Use maximum width, if specified, else preferred width + width = mMaxWidth > 0 ? mMaxWidth : getPreferredWidth(); + break; + } + widthMode = MeasureSpec.EXACTLY; + super.onMeasure(MeasureSpec.makeMeasureSpec(width, widthMode), heightMeasureSpec); + } + + private int getPreferredWidth() { + return getContext().getResources() + .getDimensionPixelSize(R.dimen.abs__search_view_preferred_width); + } + + private void updateViewsVisibility(final boolean collapsed) { + mIconified = collapsed; + // Visibility of views that are visible when collapsed + final int visCollapsed = collapsed ? VISIBLE : GONE; + // Is there text in the query + final boolean hasText = !TextUtils.isEmpty(mQueryTextView.getText()); + + mSearchButton.setVisibility(visCollapsed); + updateSubmitButton(hasText); + mSearchEditFrame.setVisibility(collapsed ? GONE : VISIBLE); + mSearchHintIcon.setVisibility(mIconifiedByDefault ? GONE : VISIBLE); + updateCloseButton(); + updateVoiceButton(!hasText); + updateSubmitArea(); + } + + private boolean hasVoiceSearch() { + if (mSearchable != null && mSearchable.getVoiceSearchEnabled()) { + Intent testIntent = null; + if (mSearchable.getVoiceSearchLaunchWebSearch()) { + testIntent = mVoiceWebSearchIntent; + } else if (mSearchable.getVoiceSearchLaunchRecognizer()) { + testIntent = mVoiceAppSearchIntent; + } + if (testIntent != null) { + ResolveInfo ri = getContext().getPackageManager().resolveActivity(testIntent, + PackageManager.MATCH_DEFAULT_ONLY); + return ri != null; + } + } + return false; + } + + private boolean isSubmitAreaEnabled() { + return (mSubmitButtonEnabled || mVoiceButtonEnabled) && !isIconified(); + } + + private void updateSubmitButton(boolean hasText) { + int visibility = GONE; + if (mSubmitButtonEnabled && isSubmitAreaEnabled() && hasFocus() + && (hasText || !mVoiceButtonEnabled)) { + visibility = VISIBLE; + } + mSubmitButton.setVisibility(visibility); + } + + private void updateSubmitArea() { + int visibility = GONE; + if (isSubmitAreaEnabled() + && (mSubmitButton.getVisibility() == VISIBLE + || mVoiceButton.getVisibility() == VISIBLE)) { + visibility = VISIBLE; + } + mSubmitArea.setVisibility(visibility); + } + + private void updateCloseButton() { + final boolean hasText = !TextUtils.isEmpty(mQueryTextView.getText()); + // Should we show the close button? It is not shown if there's no focus, + // field is not iconified by default and there is no text in it. + final boolean showClose = hasText || (mIconifiedByDefault && !mExpandedInActionView); + mCloseButton.setVisibility(showClose ? VISIBLE : GONE); + mCloseButton.getDrawable().setState(hasText ? ENABLED_STATE_SET : EMPTY_STATE_SET); + } + + private void postUpdateFocusedState() { + post(mUpdateDrawableStateRunnable); + } + + private void updateFocusedState() { + boolean focused = mQueryTextView.hasFocus(); + mSearchPlate.getBackground().setState(focused ? FOCUSED_STATE_SET : EMPTY_STATE_SET); + mSubmitArea.getBackground().setState(focused ? FOCUSED_STATE_SET : EMPTY_STATE_SET); + invalidate(); + } + + @Override + protected void onDetachedFromWindow() { + removeCallbacks(mUpdateDrawableStateRunnable); + post(mReleaseCursorRunnable); + super.onDetachedFromWindow(); + } + + private void setImeVisibility(final boolean visible) { + if (visible) { + post(mShowImeRunnable); + } else { + removeCallbacks(mShowImeRunnable); + InputMethodManager imm = (InputMethodManager) + getContext().getSystemService(Context.INPUT_METHOD_SERVICE); + + if (imm != null) { + imm.hideSoftInputFromWindow(getWindowToken(), 0); + } + } + } + + /** + * Called by the SuggestionsAdapter + * @hide + */ + /* package */void onQueryRefine(CharSequence queryText) { + setQuery(queryText); + } + + private final OnClickListener mOnClickListener = new OnClickListener() { + + public void onClick(View v) { + if (v == mSearchButton) { + onSearchClicked(); + } else if (v == mCloseButton) { + onCloseClicked(); + } else if (v == mSubmitButton) { + onSubmitQuery(); + } else if (v == mVoiceButton) { + onVoiceClicked(); + } else if (v == mQueryTextView) { + forceSuggestionQuery(); + } + } + }; + + /** + * Handles the key down event for dealing with action keys. + * + * @param keyCode This is the keycode of the typed key, and is the same value as + * found in the KeyEvent parameter. + * @param event The complete event record for the typed key + * + * @return true if the event was handled here, or false if not. + */ + @Override + public boolean onKeyDown(int keyCode, KeyEvent event) { + if (mSearchable == null) { + return false; + } + + // if it's an action specified by the searchable activity, launch the + // entered query with the action key + // TODO SearchableInfo.ActionKeyInfo actionKey = mSearchable.findActionKey(keyCode); + // TODO if ((actionKey != null) && (actionKey.getQueryActionMsg() != null)) { + // TODO launchQuerySearch(keyCode, actionKey.getQueryActionMsg(), mQueryTextView.getText() + // TODO .toString()); + // TODO return true; + // TODO } + + return super.onKeyDown(keyCode, event); + } + + /** + * React to the user typing "enter" or other hardwired keys while typing in + * the search box. This handles these special keys while the edit box has + * focus. + */ + View.OnKeyListener mTextKeyListener = new View.OnKeyListener() { + public boolean onKey(View v, int keyCode, KeyEvent event) { + // guard against possible race conditions + if (mSearchable == null) { + return false; + } + + if (DBG) { + Log.d(LOG_TAG, "mTextListener.onKey(" + keyCode + "," + event + "), selection: " + + mQueryTextView.getListSelection()); + } + + // If a suggestion is selected, handle enter, search key, and action keys + // as presses on the selected suggestion + if (mQueryTextView.isPopupShowing() + && mQueryTextView.getListSelection() != ListView.INVALID_POSITION) { + return onSuggestionsKey(v, keyCode, event); + } + + // If there is text in the query box, handle enter, and action keys + // The search key is handled by the dialog's onKeyDown(). + if (!mQueryTextView.isEmpty() && KeyEventCompat.hasNoModifiers(event)) { + if (event.getAction() == KeyEvent.ACTION_UP) { + if (keyCode == KeyEvent.KEYCODE_ENTER) { + v.cancelLongPress(); + + // Launch as a regular search. + launchQuerySearch(KeyEvent.KEYCODE_UNKNOWN, null, mQueryTextView.getText() + .toString()); + return true; + } + } + if (event.getAction() == KeyEvent.ACTION_DOWN) { + // TODO SearchableInfo.ActionKeyInfo actionKey = mSearchable.findActionKey(keyCode); + // TODO if ((actionKey != null) && (actionKey.getQueryActionMsg() != null)) { + // TODO launchQuerySearch(keyCode, actionKey.getQueryActionMsg(), mQueryTextView + // TODO .getText().toString()); + // TODO return true; + // TODO } + } + } + return false; + } + }; + + /** + * React to the user typing while in the suggestions list. First, check for + * action keys. If not handled, try refocusing regular characters into the + * EditText. + */ + private boolean onSuggestionsKey(View v, int keyCode, KeyEvent event) { + // guard against possible race conditions (late arrival after dismiss) + if (mSearchable == null) { + return false; + } + if (mSuggestionsAdapter == null) { + return false; + } + if (event.getAction() == KeyEvent.ACTION_DOWN && KeyEventCompat.hasNoModifiers(event)) { + // First, check for enter or search (both of which we'll treat as a + // "click") + if (keyCode == KeyEvent.KEYCODE_ENTER || keyCode == KeyEvent.KEYCODE_SEARCH + || keyCode == KeyEvent.KEYCODE_TAB) { + int position = mQueryTextView.getListSelection(); + return onItemClicked(position, KeyEvent.KEYCODE_UNKNOWN, null); + } + + // Next, check for left/right moves, which we use to "return" the + // user to the edit view + if (keyCode == KeyEvent.KEYCODE_DPAD_LEFT || keyCode == KeyEvent.KEYCODE_DPAD_RIGHT) { + // give "focus" to text editor, with cursor at the beginning if + // left key, at end if right key + // TODO: Reverse left/right for right-to-left languages, e.g. + // Arabic + int selPoint = (keyCode == KeyEvent.KEYCODE_DPAD_LEFT) ? 0 : mQueryTextView + .length(); + mQueryTextView.setSelection(selPoint); + mQueryTextView.setListSelection(0); + mQueryTextView.clearListSelection(); + ensureImeVisible(mQueryTextView, true); + + return true; + } + + // Next, check for an "up and out" move + if (keyCode == KeyEvent.KEYCODE_DPAD_UP && 0 == mQueryTextView.getListSelection()) { + // TODO: restoreUserQuery(); + // let ACTV complete the move + return false; + } + + // Next, check for an "action key" + // TODO SearchableInfo.ActionKeyInfo actionKey = mSearchable.findActionKey(keyCode); + // TODO if ((actionKey != null) + // TODO && ((actionKey.getSuggestActionMsg() != null) || (actionKey + // TODO .getSuggestActionMsgColumn() != null))) { + // TODO // launch suggestion using action key column + // TODO int position = mQueryTextView.getListSelection(); + // TODO if (position != ListView.INVALID_POSITION) { + // TODO Cursor c = mSuggestionsAdapter.getCursor(); + // TODO if (c.moveToPosition(position)) { + // TODO final String actionMsg = getActionKeyMessage(c, actionKey); + // TODO if (actionMsg != null && (actionMsg.length() > 0)) { + // TODO return onItemClicked(position, keyCode, actionMsg); + // TODO } + // TODO } + // TODO } + // TODO } + } + return false; + } + + /** + * For a given suggestion and a given cursor row, get the action message. If + * not provided by the specific row/column, also check for a single + * definition (for the action key). + * + * @param c The cursor providing suggestions + * @param actionKey The actionkey record being examined + * + * @return Returns a string, or null if no action key message for this + * suggestion + */ + // TODO private static String getActionKeyMessage(Cursor c, SearchableInfo.ActionKeyInfo actionKey) { + // TODO String result = null; + // TODO // check first in the cursor data, for a suggestion-specific message + // TODO final String column = actionKey.getSuggestActionMsgColumn(); + // TODO if (column != null) { + // TODO result = SuggestionsAdapter.getColumnString(c, column); + // TODO } + // TODO // If the cursor didn't give us a message, see if there's a single + // TODO // message defined + // TODO // for the actionkey (for all suggestions) + // TODO if (result == null) { + // TODO result = actionKey.getSuggestActionMsg(); + // TODO } + // TODO return result; + // TODO } + + private int getSearchIconId() { + TypedValue outValue = new TypedValue(); + getContext().getTheme().resolveAttribute(R.attr.searchViewSearchIcon, + outValue, true); + return outValue.resourceId; + } + + private CharSequence getDecoratedHint(CharSequence hintText) { + // If the field is always expanded, then don't add the search icon to the hint + if (!mIconifiedByDefault) return hintText; + + SpannableStringBuilder ssb = new SpannableStringBuilder(" "); // for the icon + ssb.append(hintText); + Drawable searchIcon = getContext().getResources().getDrawable(getSearchIconId()); + int textSize = (int) (mQueryTextView.getTextSize() * 1.25); + searchIcon.setBounds(0, 0, textSize, textSize); + ssb.setSpan(new ImageSpan(searchIcon), 1, 2, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); + return ssb; + } + + private void updateQueryHint() { + if (mQueryHint != null) { + mQueryTextView.setHint(getDecoratedHint(mQueryHint)); + } else if (mSearchable != null) { + CharSequence hint = null; + int hintId = mSearchable.getHintId(); + if (hintId != 0) { + hint = getContext().getString(hintId); + } + if (hint != null) { + mQueryTextView.setHint(getDecoratedHint(hint)); + } + } else { + mQueryTextView.setHint(getDecoratedHint("")); + } + } + + /** + * Updates the auto-complete text view. + */ + private void updateSearchAutoComplete() { + // TODO mQueryTextView.setDropDownAnimationStyle(0); // no animation + mQueryTextView.setThreshold(mSearchable.getSuggestThreshold()); + mQueryTextView.setImeOptions(mSearchable.getImeOptions()); + int inputType = mSearchable.getInputType(); + // We only touch this if the input type is set up for text (which it almost certainly + // should be, in the case of search!) + if ((inputType & InputType.TYPE_MASK_CLASS) == InputType.TYPE_CLASS_TEXT) { + // The existence of a suggestions authority is the proxy for "suggestions + // are available here" + inputType &= ~InputType.TYPE_TEXT_FLAG_AUTO_COMPLETE; + if (mSearchable.getSuggestAuthority() != null) { + inputType |= InputType.TYPE_TEXT_FLAG_AUTO_COMPLETE; + // TYPE_TEXT_FLAG_AUTO_COMPLETE means that the text editor is performing + // auto-completion based on its own semantics, which it will present to the user + // as they type. This generally means that the input method should not show its + // own candidates, and the spell checker should not be in action. The text editor + // supplies its candidates by calling InputMethodManager.displayCompletions(), + // which in turn will call InputMethodSession.displayCompletions(). + inputType |= InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS; + } + } + mQueryTextView.setInputType(inputType); + if (mSuggestionsAdapter != null) { + mSuggestionsAdapter.changeCursor(null); + } + // attach the suggestions adapter, if suggestions are available + // The existence of a suggestions authority is the proxy for "suggestions available here" + if (mSearchable.getSuggestAuthority() != null) { + mSuggestionsAdapter = new SuggestionsAdapter(getContext(), + this, mSearchable, mOutsideDrawablesCache); + mQueryTextView.setAdapter(mSuggestionsAdapter); + ((SuggestionsAdapter) mSuggestionsAdapter).setQueryRefinement( + mQueryRefinement ? SuggestionsAdapter.REFINE_ALL + : SuggestionsAdapter.REFINE_BY_ENTRY); + } + } + + /** + * Update the visibility of the voice button. There are actually two voice search modes, + * either of which will activate the button. + * @param empty whether the search query text field is empty. If it is, then the other + * criteria apply to make the voice button visible. + */ + private void updateVoiceButton(boolean empty) { + int visibility = GONE; + if (mVoiceButtonEnabled && !isIconified() && empty) { + visibility = VISIBLE; + mSubmitButton.setVisibility(GONE); + } + mVoiceButton.setVisibility(visibility); + } + + private final OnEditorActionListener mOnEditorActionListener = new OnEditorActionListener() { + + /** + * Called when the input method default action key is pressed. + */ + public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { + onSubmitQuery(); + return true; + } + }; + + private void onTextChanged(CharSequence newText) { + CharSequence text = mQueryTextView.getText(); + mUserQuery = text; + boolean hasText = !TextUtils.isEmpty(text); + updateSubmitButton(hasText); + updateVoiceButton(!hasText); + updateCloseButton(); + updateSubmitArea(); + if (mOnQueryChangeListener != null && !TextUtils.equals(newText, mOldQueryText)) { + mOnQueryChangeListener.onQueryTextChange(newText.toString()); + } + mOldQueryText = newText.toString(); + } + + private void onSubmitQuery() { + CharSequence query = mQueryTextView.getText(); + if (query != null && TextUtils.getTrimmedLength(query) > 0) { + if (mOnQueryChangeListener == null + || !mOnQueryChangeListener.onQueryTextSubmit(query.toString())) { + if (mSearchable != null) { + launchQuerySearch(KeyEvent.KEYCODE_UNKNOWN, null, query.toString()); + setImeVisibility(false); + } + dismissSuggestions(); + } + } + } + + private void dismissSuggestions() { + mQueryTextView.dismissDropDown(); + } + + private void onCloseClicked() { + CharSequence text = mQueryTextView.getText(); + if (TextUtils.isEmpty(text)) { + if (mIconifiedByDefault) { + // If the app doesn't override the close behavior + if (mOnCloseListener == null || !mOnCloseListener.onClose()) { + // hide the keyboard and remove focus + clearFocus(); + // collapse the search field + updateViewsVisibility(true); + } + } + } else { + mQueryTextView.setText(""); + mQueryTextView.requestFocus(); + setImeVisibility(true); + } + + } + + private void onSearchClicked() { + updateViewsVisibility(false); + mQueryTextView.requestFocus(); + setImeVisibility(true); + if (mOnSearchClickListener != null) { + mOnSearchClickListener.onClick(this); + } + } + + private void onVoiceClicked() { + // guard against possible race conditions + if (mSearchable == null) { + return; + } + SearchableInfo searchable = mSearchable; + try { + if (searchable.getVoiceSearchLaunchWebSearch()) { + Intent webSearchIntent = createVoiceWebSearchIntent(mVoiceWebSearchIntent, + searchable); + getContext().startActivity(webSearchIntent); + } else if (searchable.getVoiceSearchLaunchRecognizer()) { + Intent appSearchIntent = createVoiceAppSearchIntent(mVoiceAppSearchIntent, + searchable); + getContext().startActivity(appSearchIntent); + } + } catch (ActivityNotFoundException e) { + // Should not happen, since we check the availability of + // voice search before showing the button. But just in case... + Log.w(LOG_TAG, "Could not find voice search activity"); + } + } + + void onTextFocusChanged() { + updateViewsVisibility(isIconified()); + // Delayed update to make sure that the focus has settled down and window focus changes + // don't affect it. A synchronous update was not working. + postUpdateFocusedState(); + if (mQueryTextView.hasFocus()) { + forceSuggestionQuery(); + } + } + + @Override + public void onWindowFocusChanged(boolean hasWindowFocus) { + super.onWindowFocusChanged(hasWindowFocus); + + postUpdateFocusedState(); + } + + /** + * {@inheritDoc} + */ + @Override + public void onActionViewCollapsed() { + clearFocus(); + updateViewsVisibility(true); + mQueryTextView.setImeOptions(mCollapsedImeOptions); + mExpandedInActionView = false; + } + + /** + * {@inheritDoc} + */ + @Override + public void onActionViewExpanded() { + if (mExpandedInActionView) return; + + mExpandedInActionView = true; + mCollapsedImeOptions = mQueryTextView.getImeOptions(); + mQueryTextView.setImeOptions(mCollapsedImeOptions | EditorInfo.IME_FLAG_NO_FULLSCREEN); + mQueryTextView.setText(""); + setIconified(false); + } + + @Override + public void onInitializeAccessibilityEvent(AccessibilityEvent event) { + super.onInitializeAccessibilityEvent(event); + event.setClassName(SearchView.class.getName()); + } + + @Override + public void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info) { + super.onInitializeAccessibilityNodeInfo(info); + info.setClassName(SearchView.class.getName()); + } + + private void adjustDropDownSizeAndPosition() { + if (mDropDownAnchor.getWidth() > 1) { + Resources res = getContext().getResources(); + int anchorPadding = mSearchPlate.getPaddingLeft(); + Rect dropDownPadding = new Rect(); + int iconOffset = mIconifiedByDefault + ? res.getDimensionPixelSize(R.dimen.abs__dropdownitem_icon_width) + + res.getDimensionPixelSize(R.dimen.abs__dropdownitem_text_padding_left) + : 0; + mQueryTextView.getDropDownBackground().getPadding(dropDownPadding); + mQueryTextView.setDropDownHorizontalOffset(-(dropDownPadding.left + iconOffset) + + anchorPadding); + mQueryTextView.setDropDownWidth(mDropDownAnchor.getWidth() + dropDownPadding.left + + dropDownPadding.right + iconOffset - (anchorPadding)); + } + } + + private boolean onItemClicked(int position, int actionKey, String actionMsg) { + if (mOnSuggestionListener == null + || !mOnSuggestionListener.onSuggestionClick(position)) { + launchSuggestion(position, KeyEvent.KEYCODE_UNKNOWN, null); + setImeVisibility(false); + dismissSuggestions(); + return true; + } + return false; + } + + private boolean onItemSelected(int position) { + if (mOnSuggestionListener == null + || !mOnSuggestionListener.onSuggestionSelect(position)) { + rewriteQueryFromSuggestion(position); + return true; + } + return false; + } + + private final OnItemClickListener mOnItemClickListener = new OnItemClickListener() { + + /** + * Implements OnItemClickListener + */ + public void onItemClick(AdapterView parent, View view, int position, long id) { + if (DBG) Log.d(LOG_TAG, "onItemClick() position " + position); + onItemClicked(position, KeyEvent.KEYCODE_UNKNOWN, null); + } + }; + + private final OnItemSelectedListener mOnItemSelectedListener = new OnItemSelectedListener() { + + /** + * Implements OnItemSelectedListener + */ + public void onItemSelected(AdapterView parent, View view, int position, long id) { + if (DBG) Log.d(LOG_TAG, "onItemSelected() position " + position); + SearchView.this.onItemSelected(position); + } + + /** + * Implements OnItemSelectedListener + */ + public void onNothingSelected(AdapterView parent) { + if (DBG) + Log.d(LOG_TAG, "onNothingSelected()"); + } + }; + + /** + * Query rewriting. + */ + private void rewriteQueryFromSuggestion(int position) { + CharSequence oldQuery = mQueryTextView.getText(); + Cursor c = mSuggestionsAdapter.getCursor(); + if (c == null) { + return; + } + if (c.moveToPosition(position)) { + // Get the new query from the suggestion. + CharSequence newQuery = mSuggestionsAdapter.convertToString(c); + if (newQuery != null) { + // The suggestion rewrites the query. + // Update the text field, without getting new suggestions. + setQuery(newQuery); + } else { + // The suggestion does not rewrite the query, restore the user's query. + setQuery(oldQuery); + } + } else { + // We got a bad position, restore the user's query. + setQuery(oldQuery); + } + } + + /** + * Launches an intent based on a suggestion. + * + * @param position The index of the suggestion to create the intent from. + * @param actionKey The key code of the action key that was pressed, + * or {@link KeyEvent#KEYCODE_UNKNOWN} if none. + * @param actionMsg The message for the action key that was pressed, + * or null if none. + * @return true if a successful launch, false if could not (e.g. bad position). + */ + private boolean launchSuggestion(int position, int actionKey, String actionMsg) { + Cursor c = mSuggestionsAdapter.getCursor(); + if ((c != null) && c.moveToPosition(position)) { + + Intent intent = createIntentFromSuggestion(c, actionKey, actionMsg); + + // launch the intent + launchIntent(intent); + + return true; + } + return false; + } + + /** + * Launches an intent, including any special intent handling. + */ + private void launchIntent(Intent intent) { + if (intent == null) { + return; + } + try { + // If the intent was created from a suggestion, it will always have an explicit + // component here. + getContext().startActivity(intent); + } catch (RuntimeException ex) { + Log.e(LOG_TAG, "Failed launch activity: " + intent, ex); + } + } + + /** + * Sets the text in the query box, without updating the suggestions. + */ + private void setQuery(CharSequence query) { + setText(mQueryTextView, query, true); + // Move the cursor to the end + mQueryTextView.setSelection(TextUtils.isEmpty(query) ? 0 : query.length()); + } + + private void launchQuerySearch(int actionKey, String actionMsg, String query) { + String action = Intent.ACTION_SEARCH; + Intent intent = createIntent(action, null, null, query, actionKey, actionMsg); + getContext().startActivity(intent); + } + + /** + * Constructs an intent from the given information and the search dialog state. + * + * @param action Intent action. + * @param data Intent data, or null. + * @param extraData Data for {@link SearchManager#EXTRA_DATA_KEY} or null. + * @param query Intent query, or null. + * @param actionKey The key code of the action key that was pressed, + * or {@link KeyEvent#KEYCODE_UNKNOWN} if none. + * @param actionMsg The message for the action key that was pressed, + * or null if none. + * @return The intent. + */ + private Intent createIntent(String action, Uri data, String extraData, String query, + int actionKey, String actionMsg) { + // Now build the Intent + Intent intent = new Intent(action); + intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + // We need CLEAR_TOP to avoid reusing an old task that has other activities + // on top of the one we want. We don't want to do this in in-app search though, + // as it can be destructive to the activity stack. + if (data != null) { + intent.setData(data); + } + intent.putExtra(SearchManager.USER_QUERY, mUserQuery); + if (query != null) { + intent.putExtra(SearchManager.QUERY, query); + } + if (extraData != null) { + intent.putExtra(SearchManager.EXTRA_DATA_KEY, extraData); + } + if (mAppSearchData != null) { + intent.putExtra(SearchManager.APP_DATA, mAppSearchData); + } + if (actionKey != KeyEvent.KEYCODE_UNKNOWN) { + intent.putExtra(SearchManager.ACTION_KEY, actionKey); + intent.putExtra(SearchManager.ACTION_MSG, actionMsg); + } + intent.setComponent(mSearchable.getSearchActivity()); + return intent; + } + + /** + * Create and return an Intent that can launch the voice search activity for web search. + */ + private Intent createVoiceWebSearchIntent(Intent baseIntent, SearchableInfo searchable) { + Intent voiceIntent = new Intent(baseIntent); + ComponentName searchActivity = searchable.getSearchActivity(); + voiceIntent.putExtra(RecognizerIntent.EXTRA_CALLING_PACKAGE, searchActivity == null ? null + : searchActivity.flattenToShortString()); + return voiceIntent; + } + + /** + * Create and return an Intent that can launch the voice search activity, perform a specific + * voice transcription, and forward the results to the searchable activity. + * + * @param baseIntent The voice app search intent to start from + * @return A completely-configured intent ready to send to the voice search activity + */ + private Intent createVoiceAppSearchIntent(Intent baseIntent, SearchableInfo searchable) { + ComponentName searchActivity = searchable.getSearchActivity(); + + // create the necessary intent to set up a search-and-forward operation + // in the voice search system. We have to keep the bundle separate, + // because it becomes immutable once it enters the PendingIntent + Intent queryIntent = new Intent(Intent.ACTION_SEARCH); + queryIntent.setComponent(searchActivity); + PendingIntent pending = PendingIntent.getActivity(getContext(), 0, queryIntent, + PendingIntent.FLAG_ONE_SHOT); + + // Now set up the bundle that will be inserted into the pending intent + // when it's time to do the search. We always build it here (even if empty) + // because the voice search activity will always need to insert "QUERY" into + // it anyway. + Bundle queryExtras = new Bundle(); + + // Now build the intent to launch the voice search. Add all necessary + // extras to launch the voice recognizer, and then all the necessary extras + // to forward the results to the searchable activity + Intent voiceIntent = new Intent(baseIntent); + + // Add all of the configuration options supplied by the searchable's metadata + String languageModel = RecognizerIntent.LANGUAGE_MODEL_FREE_FORM; + String prompt = null; + String language = null; + int maxResults = 1; + + Resources resources = getResources(); + if (searchable.getVoiceLanguageModeId() != 0) { + languageModel = resources.getString(searchable.getVoiceLanguageModeId()); + } + if (searchable.getVoicePromptTextId() != 0) { + prompt = resources.getString(searchable.getVoicePromptTextId()); + } + if (searchable.getVoiceLanguageId() != 0) { + language = resources.getString(searchable.getVoiceLanguageId()); + } + if (searchable.getVoiceMaxResults() != 0) { + maxResults = searchable.getVoiceMaxResults(); + } + voiceIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, languageModel); + voiceIntent.putExtra(RecognizerIntent.EXTRA_PROMPT, prompt); + voiceIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, language); + voiceIntent.putExtra(RecognizerIntent.EXTRA_MAX_RESULTS, maxResults); + voiceIntent.putExtra(RecognizerIntent.EXTRA_CALLING_PACKAGE, searchActivity == null ? null + : searchActivity.flattenToShortString()); + + // Add the values that configure forwarding the results + voiceIntent.putExtra(RecognizerIntent.EXTRA_RESULTS_PENDINGINTENT, pending); + voiceIntent.putExtra(RecognizerIntent.EXTRA_RESULTS_PENDINGINTENT_BUNDLE, queryExtras); + + return voiceIntent; + } + + /** + * When a particular suggestion has been selected, perform the various lookups required + * to use the suggestion. This includes checking the cursor for suggestion-specific data, + * and/or falling back to the XML for defaults; It also creates REST style Uri data when + * the suggestion includes a data id. + * + * @param c The suggestions cursor, moved to the row of the user's selection + * @param actionKey The key code of the action key that was pressed, + * or {@link KeyEvent#KEYCODE_UNKNOWN} if none. + * @param actionMsg The message for the action key that was pressed, + * or null if none. + * @return An intent for the suggestion at the cursor's position. + */ + private Intent createIntentFromSuggestion(Cursor c, int actionKey, String actionMsg) { + try { + // use specific action if supplied, or default action if supplied, or fixed default + String action = getColumnString(c, SearchManager.SUGGEST_COLUMN_INTENT_ACTION); + + if (action == null) { + action = mSearchable.getSuggestIntentAction(); + } + if (action == null) { + action = Intent.ACTION_SEARCH; + } + + // use specific data if supplied, or default data if supplied + String data = getColumnString(c, SearchManager.SUGGEST_COLUMN_INTENT_DATA); + if (data == null) { + data = mSearchable.getSuggestIntentData(); + } + // then, if an ID was provided, append it. + if (data != null) { + String id = getColumnString(c, SearchManager.SUGGEST_COLUMN_INTENT_DATA_ID); + if (id != null) { + data = data + "/" + Uri.encode(id); + } + } + Uri dataUri = (data == null) ? null : Uri.parse(data); + + String query = getColumnString(c, SearchManager.SUGGEST_COLUMN_QUERY); + String extraData = getColumnString(c, SearchManager.SUGGEST_COLUMN_INTENT_EXTRA_DATA); + + return createIntent(action, dataUri, extraData, query, actionKey, actionMsg); + } catch (RuntimeException e ) { + int rowNum; + try { // be really paranoid now + rowNum = c.getPosition(); + } catch (RuntimeException e2 ) { + rowNum = -1; + } + Log.w(LOG_TAG, "Search suggestions cursor at row " + rowNum + + " returned exception.", e); + return null; + } + } + + private void forceSuggestionQuery() { + try { + Method before = SearchAutoComplete.class.getMethod("doBeforeTextChanged"); + Method after = SearchAutoComplete.class.getMethod("doAfterTextChanged"); + before.setAccessible(true); + after.setAccessible(true); + before.invoke(mQueryTextView); + after.invoke(mQueryTextView); + } catch (Exception e) { + // Oh well... + } + } + + static boolean isLandscapeMode(Context context) { + return context.getResources().getConfiguration().orientation + == Configuration.ORIENTATION_LANDSCAPE; + } + + /** + * Callback to watch the text field for empty/non-empty + */ + private TextWatcher mTextWatcher = new TextWatcher() { + + public void beforeTextChanged(CharSequence s, int start, int before, int after) { } + + public void onTextChanged(CharSequence s, int start, + int before, int after) { + SearchView.this.onTextChanged(s); + } + + public void afterTextChanged(Editable s) { + } + }; + + /** + * Local subclass for AutoCompleteTextView. + * @hide + */ + public static class SearchAutoComplete extends AutoCompleteTextView { + + private int mThreshold; + private SearchView mSearchView; + + public SearchAutoComplete(Context context) { + super(context); + mThreshold = getThreshold(); + } + + public SearchAutoComplete(Context context, AttributeSet attrs) { + super(context, attrs); + mThreshold = getThreshold(); + } + + public SearchAutoComplete(Context context, AttributeSet attrs, int defStyle) { + super(context, attrs, defStyle); + mThreshold = getThreshold(); + } + + void setSearchView(SearchView searchView) { + mSearchView = searchView; + } + + @Override + public void setThreshold(int threshold) { + super.setThreshold(threshold); + mThreshold = threshold; + } + + /** + * Returns true if the text field is empty, or contains only whitespace. + */ + private boolean isEmpty() { + return TextUtils.getTrimmedLength(getText()) == 0; + } + + /** + * We override this method to avoid replacing the query box text when a + * suggestion is clicked. + */ + @Override + protected void replaceText(CharSequence text) { + } + + /** + * We override this method to avoid an extra onItemClick being called on + * the drop-down's OnItemClickListener by + * {@link AutoCompleteTextView#onKeyUp(int, KeyEvent)} when an item is + * clicked with the trackball. + */ + @Override + public void performCompletion() { + } + + /** + * We override this method to be sure and show the soft keyboard if + * appropriate when the TextView has focus. + */ + @Override + public void onWindowFocusChanged(boolean hasWindowFocus) { + super.onWindowFocusChanged(hasWindowFocus); + + if (hasWindowFocus && mSearchView.hasFocus() && getVisibility() == VISIBLE) { + InputMethodManager inputManager = (InputMethodManager) getContext() + .getSystemService(Context.INPUT_METHOD_SERVICE); + inputManager.showSoftInput(this, 0); + // If in landscape mode, then make sure that + // the ime is in front of the dropdown. + if (isLandscapeMode(getContext())) { + ensureImeVisible(this, true); + } + } + } + + @Override + protected void onFocusChanged(boolean focused, int direction, Rect previouslyFocusedRect) { + super.onFocusChanged(focused, direction, previouslyFocusedRect); + mSearchView.onTextFocusChanged(); + } + + /** + * We override this method so that we can allow a threshold of zero, + * which ACTV does not. + */ + @Override + public boolean enoughToFilter() { + return mThreshold <= 0 || super.enoughToFilter(); + } + + @Override + public boolean onKeyPreIme(int keyCode, KeyEvent event) { + if (keyCode == KeyEvent.KEYCODE_BACK) { + // special case for the back key, we do not even try to send it + // to the drop down list but instead, consume it immediately + if (event.getAction() == KeyEvent.ACTION_DOWN && event.getRepeatCount() == 0) { + KeyEvent.DispatcherState state = getKeyDispatcherState(); + if (state != null) { + state.startTracking(event, this); + } + return true; + } else if (event.getAction() == KeyEvent.ACTION_UP) { + KeyEvent.DispatcherState state = getKeyDispatcherState(); + if (state != null) { + state.handleUpEvent(event); + } + if (event.isTracking() && !event.isCanceled()) { + mSearchView.clearFocus(); + mSearchView.setImeVisibility(false); + return true; + } + } + } + return super.onKeyPreIme(keyCode, event); + } + + } + + private static void ensureImeVisible(AutoCompleteTextView view, boolean visible) { + try { + Method method = AutoCompleteTextView.class.getMethod("ensureImeVisible", boolean.class); + method.setAccessible(true); + method.invoke(view, visible); + } catch (Exception e) { + //Oh well... + } + } + + private static void showSoftInputUnchecked(View view, InputMethodManager imm, int flags) { + try { + Method method = imm.getClass().getMethod("showSoftInputUnchecked", int.class, ResultReceiver.class); + method.setAccessible(true); + method.invoke(imm, flags, null); + } catch (Exception e) { + //Fallback to public API which hopefully does mostly the same thing + imm.showSoftInput(view, flags); + } + } + + private static void setText(AutoCompleteTextView view, CharSequence text, boolean filter) { + try { + Method method = AutoCompleteTextView.class.getMethod("setText", CharSequence.class, boolean.class); + method.setAccessible(true); + method.invoke(view, text, filter); + } catch (Exception e) { + //Fallback to public API which hopefully does mostly the same thing + view.setText(text); + } + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/widget/ShareActionProvider.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/widget/ShareActionProvider.java new file mode 100644 index 000000000..83e9f0ca9 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/widget/ShareActionProvider.java @@ -0,0 +1,316 @@ +/* + * 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.widget; + +import android.content.Context; +import android.content.Intent; +import android.content.pm.PackageManager; +import android.content.pm.ResolveInfo; +import android.graphics.drawable.Drawable; +import android.util.TypedValue; +import android.view.View; + +import com.actionbarsherlock.R; +import com.actionbarsherlock.view.ActionProvider; +import com.actionbarsherlock.view.Menu; +import com.actionbarsherlock.view.MenuItem; +import com.actionbarsherlock.view.MenuItem.OnMenuItemClickListener; +import com.actionbarsherlock.view.SubMenu; +import com.actionbarsherlock.widget.ActivityChooserModel.OnChooseActivityListener; + +/** + * This is a provider for a share action. It is responsible for creating views + * that enable data sharing and also to show a sub menu with sharing activities + * if the hosting item is placed on the overflow menu. + *

      + * Here is how to use the action provider with custom backing file in a {@link MenuItem}: + *

      + *

      + *

      + * 
      + *  // In Activity#onCreateOptionsMenu
      + *  public boolean onCreateOptionsMenu(Menu menu) {
      + *      // Get the menu item.
      + *      MenuItem menuItem = menu.findItem(R.id.my_menu_item);
      + *      // Get the provider and hold onto it to set/change the share intent.
      + *      mShareActionProvider = (ShareActionProvider) menuItem.getActionProvider();
      + *      // Set history different from the default before getting the action
      + *      // view since a call to {@link MenuItem#getActionView() MenuItem.getActionView()} calls
      + *      // {@link ActionProvider#onCreateActionView()} which uses the backing file name. Omit this
      + *      // line if using the default share history file is desired.
      + *      mShareActionProvider.setShareHistoryFileName("custom_share_history.xml");
      + *      . . .
      + *  }
      + *
      + *  // Somewhere in the application.
      + *  public void doShare(Intent shareIntent) {
      + *      // When you want to share set the share intent.
      + *      mShareActionProvider.setShareIntent(shareIntent);
      + *  }
      + * 
      + * + *

      + *

      + * Note: While the sample snippet demonstrates how to use this provider + * in the context of a menu item, the use of the provider is not limited to menu items. + *

      + * + * @see ActionProvider + */ +public class ShareActionProvider extends ActionProvider { + + /** + * Listener for the event of selecting a share target. + */ + public interface OnShareTargetSelectedListener { + + /** + * Called when a share target has been selected. The client can + * decide whether to handle the intent or rely on the default + * behavior which is launching it. + *

      + * Note: Modifying the intent is not permitted and + * any changes to the latter will be ignored. + *

      + * + * @param source The source of the notification. + * @param intent The intent for launching the chosen share target. + * @return Whether the client has handled the intent. + */ + public boolean onShareTargetSelected(ShareActionProvider source, Intent intent); + } + + /** + * The default for the maximal number of activities shown in the sub-menu. + */ + private static final int DEFAULT_INITIAL_ACTIVITY_COUNT = 4; + + /** + * The the maximum number activities shown in the sub-menu. + */ + private int mMaxShownActivityCount = DEFAULT_INITIAL_ACTIVITY_COUNT; + + /** + * Listener for handling menu item clicks. + */ + private final ShareMenuItemOnMenuItemClickListener mOnMenuItemClickListener = + new ShareMenuItemOnMenuItemClickListener(); + + /** + * The default name for storing share history. + */ + public static final String DEFAULT_SHARE_HISTORY_FILE_NAME = "share_history.xml"; + + /** + * Context for accessing resources. + */ + private final Context mContext; + + /** + * The name of the file with share history data. + */ + private String mShareHistoryFileName = DEFAULT_SHARE_HISTORY_FILE_NAME; + + private OnShareTargetSelectedListener mOnShareTargetSelectedListener; + + private OnChooseActivityListener mOnChooseActivityListener; + + /** + * Creates a new instance. + * + * @param context Context for accessing resources. + */ + public ShareActionProvider(Context context) { + super(context); + mContext = context; + } + + /** + * Sets a listener to be notified when a share target has been selected. + * The listener can optionally decide to handle the selection and + * not rely on the default behavior which is to launch the activity. + *

      + * Note: If you choose the backing share history file + * you will still be notified in this callback. + *

      + * @param listener The listener. + */ + public void setOnShareTargetSelectedListener(OnShareTargetSelectedListener listener) { + mOnShareTargetSelectedListener = listener; + setActivityChooserPolicyIfNeeded(); + } + + /** + * {@inheritDoc} + */ + @Override + public View onCreateActionView() { + // Create the view and set its data model. + ActivityChooserModel dataModel = ActivityChooserModel.get(mContext, mShareHistoryFileName); + ActivityChooserView activityChooserView = new ActivityChooserView(mContext); + activityChooserView.setActivityChooserModel(dataModel); + + // Lookup and set the expand action icon. + TypedValue outTypedValue = new TypedValue(); + mContext.getTheme().resolveAttribute(R.attr.actionModeShareDrawable, outTypedValue, true); + Drawable drawable = mContext.getResources().getDrawable(outTypedValue.resourceId); + activityChooserView.setExpandActivityOverflowButtonDrawable(drawable); + activityChooserView.setProvider(this); + + // Set content description. + activityChooserView.setDefaultActionButtonContentDescription( + R.string.abs__shareactionprovider_share_with_application); + activityChooserView.setExpandActivityOverflowButtonContentDescription( + R.string.abs__shareactionprovider_share_with); + + return activityChooserView; + } + + /** + * {@inheritDoc} + */ + @Override + public boolean hasSubMenu() { + return true; + } + + /** + * {@inheritDoc} + */ + @Override + public void onPrepareSubMenu(SubMenu subMenu) { + // Clear since the order of items may change. + subMenu.clear(); + + ActivityChooserModel dataModel = ActivityChooserModel.get(mContext, mShareHistoryFileName); + PackageManager packageManager = mContext.getPackageManager(); + + final int expandedActivityCount = dataModel.getActivityCount(); + final int collapsedActivityCount = Math.min(expandedActivityCount, mMaxShownActivityCount); + + // Populate the sub-menu with a sub set of the activities. + for (int i = 0; i < collapsedActivityCount; i++) { + ResolveInfo activity = dataModel.getActivity(i); + subMenu.add(0, i, i, activity.loadLabel(packageManager)) + .setIcon(activity.loadIcon(packageManager)) + .setOnMenuItemClickListener(mOnMenuItemClickListener); + } + + if (collapsedActivityCount < expandedActivityCount) { + // Add a sub-menu for showing all activities as a list item. + SubMenu expandedSubMenu = subMenu.addSubMenu(Menu.NONE, collapsedActivityCount, + collapsedActivityCount, + mContext.getString(R.string.abs__activity_chooser_view_see_all)); + for (int i = 0; i < expandedActivityCount; i++) { + ResolveInfo activity = dataModel.getActivity(i); + expandedSubMenu.add(0, i, i, activity.loadLabel(packageManager)) + .setIcon(activity.loadIcon(packageManager)) + .setOnMenuItemClickListener(mOnMenuItemClickListener); + } + } + } + + /** + * Sets the file name of a file for persisting the share history which + * history will be used for ordering share targets. This file will be used + * for all view created by {@link #onCreateActionView()}. Defaults to + * {@link #DEFAULT_SHARE_HISTORY_FILE_NAME}. Set to null + * if share history should not be persisted between sessions. + *

      + * Note: The history file name can be set any time, however + * only the action views created by {@link #onCreateActionView()} after setting + * the file name will be backed by the provided file. + *

      + * + * @param shareHistoryFile The share history file name. + */ + public void setShareHistoryFileName(String shareHistoryFile) { + mShareHistoryFileName = shareHistoryFile; + setActivityChooserPolicyIfNeeded(); + } + + /** + * Sets an intent with information about the share action. Here is a + * sample for constructing a share intent: + *

      + *

      +     * 
      +     *  Intent shareIntent = new Intent(Intent.ACTION_SEND);
      +     *  shareIntent.setType("image/*");
      +     *  Uri uri = Uri.fromFile(new File(getFilesDir(), "foo.jpg"));
      +     *  shareIntent.putExtra(Intent.EXTRA_STREAM, uri.toString());
      +     * 
      + * + *

      + * + * @param shareIntent The share intent. + * + * @see Intent#ACTION_SEND + * @see Intent#ACTION_SEND_MULTIPLE + */ + public void setShareIntent(Intent shareIntent) { + ActivityChooserModel dataModel = ActivityChooserModel.get(mContext, + mShareHistoryFileName); + dataModel.setIntent(shareIntent); + } + + /** + * Reusable listener for handling share item clicks. + */ + private class ShareMenuItemOnMenuItemClickListener implements OnMenuItemClickListener { + @Override + public boolean onMenuItemClick(MenuItem item) { + ActivityChooserModel dataModel = ActivityChooserModel.get(mContext, + mShareHistoryFileName); + final int itemId = item.getItemId(); + Intent launchIntent = dataModel.chooseActivity(itemId); + if (launchIntent != null) { + mContext.startActivity(launchIntent); + } + return true; + } + } + + /** + * Set the activity chooser policy of the model backed by the current + * share history file if needed which is if there is a registered callback. + */ + private void setActivityChooserPolicyIfNeeded() { + if (mOnShareTargetSelectedListener == null) { + return; + } + if (mOnChooseActivityListener == null) { + mOnChooseActivityListener = new ShareAcitivityChooserModelPolicy(); + } + ActivityChooserModel dataModel = ActivityChooserModel.get(mContext, mShareHistoryFileName); + dataModel.setOnChooseActivityListener(mOnChooseActivityListener); + } + + /** + * Policy that delegates to the {@link OnShareTargetSelectedListener}, if such. + */ + private class ShareAcitivityChooserModelPolicy implements OnChooseActivityListener { + @Override + public boolean onChooseActivity(ActivityChooserModel host, Intent intent) { + if (mOnShareTargetSelectedListener != null) { + return mOnShareTargetSelectedListener.onShareTargetSelected( + ShareActionProvider.this, intent); + } + return false; + } + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/widget/SuggestionsAdapter.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/widget/SuggestionsAdapter.java new file mode 100644 index 000000000..bd5cbd718 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/src/com/actionbarsherlock/widget/SuggestionsAdapter.java @@ -0,0 +1,733 @@ +/* + * Copyright (C) 2009 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.actionbarsherlock.widget; + +import android.app.SearchManager; +import android.app.SearchableInfo; +import android.content.ComponentName; +import android.content.ContentResolver; +import android.content.Context; +import android.content.pm.ActivityInfo; +import android.content.pm.PackageManager; +import android.content.pm.PackageManager.NameNotFoundException; +import android.content.res.ColorStateList; +import android.content.res.Resources; +import android.database.Cursor; +import android.graphics.drawable.Drawable; +import android.net.Uri; +import android.os.Bundle; +import android.support.v4.widget.ResourceCursorAdapter; +import android.text.Spannable; +import android.text.SpannableString; +import android.text.TextUtils; +import android.text.style.TextAppearanceSpan; +import android.util.Log; +import android.util.TypedValue; +import android.view.View; +import android.view.View.OnClickListener; +import android.view.ViewGroup; +import android.widget.ImageView; +import android.widget.TextView; +import com.actionbarsherlock.R; + +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.InputStream; +import java.util.List; +import java.util.WeakHashMap; + +/** + * Provides the contents for the suggestion drop-down list. + * + * @hide + */ +class SuggestionsAdapter extends ResourceCursorAdapter implements OnClickListener { + + private static final boolean DBG = false; + private static final String LOG_TAG = "SuggestionsAdapter"; + private static final int QUERY_LIMIT = 50; + + static final int REFINE_NONE = 0; + static final int REFINE_BY_ENTRY = 1; + static final int REFINE_ALL = 2; + + private SearchManager mSearchManager; + private SearchView mSearchView; + private Context mProviderContext; + private WeakHashMap mOutsideDrawablesCache; + private boolean mClosed = false; + private int mQueryRefinement = REFINE_BY_ENTRY; + + // URL color + private ColorStateList mUrlColor; + + static final int INVALID_INDEX = -1; + + // Cached column indexes, updated when the cursor changes. + private int mText1Col = INVALID_INDEX; + private int mText2Col = INVALID_INDEX; + private int mText2UrlCol = INVALID_INDEX; + private int mIconName1Col = INVALID_INDEX; + private int mIconName2Col = INVALID_INDEX; + private int mFlagsCol = INVALID_INDEX; + + // private final Runnable mStartSpinnerRunnable; + // private final Runnable mStopSpinnerRunnable; + + /** + * The amount of time we delay in the filter when the user presses the delete key. + */ + //private static final long DELETE_KEY_POST_DELAY = 500L; + + public SuggestionsAdapter(Context context, SearchView searchView, + SearchableInfo mSearchable, WeakHashMap outsideDrawablesCache) { + super(context, + R.layout.abs__search_dropdown_item_icons_2line, + null, // no initial cursor + true); // auto-requery + mSearchManager = (SearchManager) mContext.getSystemService(Context.SEARCH_SERVICE); + mProviderContext = mContext; + mSearchView = searchView; + + mOutsideDrawablesCache = outsideDrawablesCache; + + // mStartSpinnerRunnable = new Runnable() { + // public void run() { + // // mSearchView.setWorking(true); // TODO: + // } + // }; + // + // mStopSpinnerRunnable = new Runnable() { + // public void run() { + // // mSearchView.setWorking(false); // TODO: + // } + // }; + + // delay 500ms when deleting +// TODO getFilter().setDelayer(new Filter.Delayer() { +// +// private int mPreviousLength = 0; +// +// public long getPostingDelay(CharSequence constraint) { +// if (constraint == null) return 0; +// +// long delay = constraint.length() < mPreviousLength ? DELETE_KEY_POST_DELAY : 0; +// mPreviousLength = constraint.length(); +// return delay; +// } +// }); + } + + /** + * Enables query refinement for all suggestions. This means that an additional icon + * will be shown for each entry. When clicked, the suggested text on that line will be + * copied to the query text field. + *

      + * + * @param refineWhat which queries to refine. Possible values are {@link #REFINE_NONE}, + * {@link #REFINE_BY_ENTRY}, and {@link #REFINE_ALL}. + */ + public void setQueryRefinement(int refineWhat) { + mQueryRefinement = refineWhat; + } + + /** + * Returns the current query refinement preference. + * @return value of query refinement preference + */ + public int getQueryRefinement() { + return mQueryRefinement; + } + + /** + * Overridden to always return false, since we cannot be sure that + * suggestion sources return stable IDs. + */ + @Override + public boolean hasStableIds() { + return false; + } + + /** + * Use the search suggestions provider to obtain a live cursor. This will be called + * in a worker thread, so it's OK if the query is slow (e.g. round trip for suggestions). + * The results will be processed in the UI thread and changeCursor() will be called. + */ + @Override + public Cursor runQueryOnBackgroundThread(CharSequence constraint) { + if (DBG) Log.d(LOG_TAG, "runQueryOnBackgroundThread(" + constraint + ")"); + String query = (constraint == null) ? "" : constraint.toString(); + /** + * for in app search we show the progress spinner until the cursor is returned with + * the results. + */ + Cursor cursor = null; + if (mSearchView.getVisibility() != View.VISIBLE + || mSearchView.getWindowVisibility() != View.VISIBLE) { + return null; + } + //mSearchView.getWindow().getDecorView().post(mStartSpinnerRunnable); // TODO: + try { + cursor = getSuggestions(query, QUERY_LIMIT); + // trigger fill window so the spinner stays up until the results are copied over and + // closer to being ready + if (cursor != null) { + cursor.getCount(); + return cursor; + } + } catch (RuntimeException e) { + Log.w(LOG_TAG, "Search suggestions query threw an exception.", e); + } + // If cursor is null or an exception was thrown, stop the spinner and return null. + // changeCursor doesn't get called if cursor is null + // mSearchView.getWindow().getDecorView().post(mStopSpinnerRunnable); // TODO: + return null; + } + + public Cursor getSuggestions(String query, int limit) { + Uri.Builder uriBuilder = new Uri.Builder() + .scheme(ContentResolver.SCHEME_CONTENT) + .query("") // TODO: Remove, workaround for a bug in Uri.writeToParcel() + .fragment(""); // TODO: Remove, workaround for a bug in Uri.writeToParcel() + + // append standard suggestion query path + uriBuilder.appendPath(SearchManager.SUGGEST_URI_PATH_QUERY); + + // inject query, either as selection args or inline + uriBuilder.appendPath(query); + + if (limit > 0) { + uriBuilder.appendQueryParameter(SearchManager.SUGGEST_PARAMETER_LIMIT, String.valueOf(limit)); + } + + Uri uri = uriBuilder.build(); + + // finally, make the query + return mContext.getContentResolver().query(uri, null, null, null, null); + } + + public void close() { + if (DBG) Log.d(LOG_TAG, "close()"); + changeCursor(null); + mClosed = true; + } + + @Override + public void notifyDataSetChanged() { + if (DBG) Log.d(LOG_TAG, "notifyDataSetChanged"); + super.notifyDataSetChanged(); + + // mSearchView.onDataSetChanged(); // TODO: + + updateSpinnerState(getCursor()); + } + + @Override + public void notifyDataSetInvalidated() { + if (DBG) Log.d(LOG_TAG, "notifyDataSetInvalidated"); + super.notifyDataSetInvalidated(); + + updateSpinnerState(getCursor()); + } + + private void updateSpinnerState(Cursor cursor) { + Bundle extras = cursor != null ? cursor.getExtras() : null; + if (DBG) { + Log.d(LOG_TAG, "updateSpinnerState - extra = " + + (extras != null + ? extras.getBoolean(SearchManager.CURSOR_EXTRA_KEY_IN_PROGRESS) + : null)); + } + // Check if the Cursor indicates that the query is not complete and show the spinner + if (extras != null + && extras.getBoolean(SearchManager.CURSOR_EXTRA_KEY_IN_PROGRESS)) { + // mSearchView.getWindow().getDecorView().post(mStartSpinnerRunnable); // TODO: + return; + } + // If cursor is null or is done, stop the spinner + // mSearchView.getWindow().getDecorView().post(mStopSpinnerRunnable); // TODO: + } + + /** + * Cache columns. + */ + @Override + public void changeCursor(Cursor c) { + if (DBG) Log.d(LOG_TAG, "changeCursor(" + c + ")"); + + if (mClosed) { + Log.w(LOG_TAG, "Tried to change cursor after adapter was closed."); + if (c != null) c.close(); + return; + } + + try { + super.changeCursor(c); + + if (c != null) { + mText1Col = c.getColumnIndex(SearchManager.SUGGEST_COLUMN_TEXT_1); + mText2Col = c.getColumnIndex(SearchManager.SUGGEST_COLUMN_TEXT_2); + mText2UrlCol = c.getColumnIndex(SearchManager.SUGGEST_COLUMN_TEXT_2_URL); + mIconName1Col = c.getColumnIndex(SearchManager.SUGGEST_COLUMN_ICON_1); + mIconName2Col = c.getColumnIndex(SearchManager.SUGGEST_COLUMN_ICON_2); + mFlagsCol = c.getColumnIndex(SearchManager.SUGGEST_COLUMN_FLAGS); + } + } catch (Exception e) { + Log.e(LOG_TAG, "error changing cursor and caching columns", e); + } + } + + /** + * Tags the view with cached child view look-ups. + */ + @Override + public View newView(Context context, Cursor cursor, ViewGroup parent) { + View v = super.newView(context, cursor, parent); + v.setTag(new ChildViewCache(v)); + return v; + } + + /** + * Cache of the child views of drop-drown list items, to avoid looking up the children + * each time the contents of a list item are changed. + */ + private final static class ChildViewCache { + public final TextView mText1; + public final TextView mText2; + public final ImageView mIcon1; + public final ImageView mIcon2; + public final ImageView mIconRefine; + + public ChildViewCache(View v) { + mText1 = (TextView) v.findViewById(android.R.id.text1); + mText2 = (TextView) v.findViewById(android.R.id.text2); + mIcon1 = (ImageView) v.findViewById(android.R.id.icon1); + mIcon2 = (ImageView) v.findViewById(android.R.id.icon2); + mIconRefine = (ImageView) v.findViewById(R.id.edit_query); + } + } + + @Override + public void bindView(View view, Context context, Cursor cursor) { + ChildViewCache views = (ChildViewCache) view.getTag(); + + int flags = 0; + if (mFlagsCol != INVALID_INDEX) { + flags = cursor.getInt(mFlagsCol); + } + if (views.mText1 != null) { + String text1 = getStringOrNull(cursor, mText1Col); + setViewText(views.mText1, text1); + } + if (views.mText2 != null) { + // First check TEXT_2_URL + CharSequence text2 = getStringOrNull(cursor, mText2UrlCol); + if (text2 != null) { + text2 = formatUrl(text2); + } else { + text2 = getStringOrNull(cursor, mText2Col); + } + + // If no second line of text is indicated, allow the first line of text + // to be up to two lines if it wants to be. + if (TextUtils.isEmpty(text2)) { + if (views.mText1 != null) { + views.mText1.setSingleLine(false); + views.mText1.setMaxLines(2); + } + } else { + if (views.mText1 != null) { + views.mText1.setSingleLine(true); + views.mText1.setMaxLines(1); + } + } + setViewText(views.mText2, text2); + } + + if (views.mIcon1 != null) { + setViewDrawable(views.mIcon1, getIcon1(cursor), View.INVISIBLE); + } + if (views.mIcon2 != null) { + setViewDrawable(views.mIcon2, getIcon2(cursor), View.GONE); + } + if (mQueryRefinement == REFINE_ALL + || (mQueryRefinement == REFINE_BY_ENTRY + && (flags & SearchManager.FLAG_QUERY_REFINEMENT) != 0)) { + views.mIconRefine.setVisibility(View.VISIBLE); + views.mIconRefine.setTag(views.mText1.getText()); + views.mIconRefine.setOnClickListener(this); + } else { + views.mIconRefine.setVisibility(View.GONE); + } + } + + public void onClick(View v) { + Object tag = v.getTag(); + if (tag instanceof CharSequence) { + mSearchView.onQueryRefine((CharSequence) tag); + } + } + + private CharSequence formatUrl(CharSequence url) { + if (mUrlColor == null) { + // Lazily get the URL color from the current theme. + TypedValue colorValue = new TypedValue(); + mContext.getTheme().resolveAttribute(R.attr.textColorSearchUrl, colorValue, true); + mUrlColor = mContext.getResources().getColorStateList(colorValue.resourceId); + } + + SpannableString text = new SpannableString(url); + text.setSpan(new TextAppearanceSpan(null, 0, 0, mUrlColor, null), + 0, url.length(), + Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); + return text; + } + + private void setViewText(TextView v, CharSequence text) { + // Set the text even if it's null, since we need to clear any previous text. + v.setText(text); + + if (TextUtils.isEmpty(text)) { + v.setVisibility(View.GONE); + } else { + v.setVisibility(View.VISIBLE); + } + } + + private Drawable getIcon1(Cursor cursor) { + if (mIconName1Col == INVALID_INDEX) { + return null; + } + String value = cursor.getString(mIconName1Col); + Drawable drawable = getDrawableFromResourceValue(value); + if (drawable != null) { + return drawable; + } + return getDefaultIcon1(cursor); + } + + private Drawable getIcon2(Cursor cursor) { + if (mIconName2Col == INVALID_INDEX) { + return null; + } + String value = cursor.getString(mIconName2Col); + return getDrawableFromResourceValue(value); + } + + /** + * Sets the drawable in an image view, makes sure the view is only visible if there + * is a drawable. + */ + private void setViewDrawable(ImageView v, Drawable drawable, int nullVisibility) { + // Set the icon even if the drawable is null, since we need to clear any + // previous icon. + v.setImageDrawable(drawable); + + if (drawable == null) { + v.setVisibility(nullVisibility); + } else { + v.setVisibility(View.VISIBLE); + + // This is a hack to get any animated drawables (like a 'working' spinner) + // to animate. You have to setVisible true on an AnimationDrawable to get + // it to start animating, but it must first have been false or else the + // call to setVisible will be ineffective. We need to clear up the story + // about animated drawables in the future, see http://b/1878430. + drawable.setVisible(false, false); + drawable.setVisible(true, false); + } + } + + /** + * Gets the text to show in the query field when a suggestion is selected. + * + * @param cursor The Cursor to read the suggestion data from. The Cursor should already + * be moved to the suggestion that is to be read from. + * @return The text to show, or null if the query should not be + * changed when selecting this suggestion. + */ + @Override + public CharSequence convertToString(Cursor cursor) { + if (cursor == null) { + return null; + } + + String query = getColumnString(cursor, SearchManager.SUGGEST_COLUMN_QUERY); + if (query != null) { + return query; + } + + return null; + } + + /** + * This method is overridden purely to provide a bit of protection against + * flaky content providers. + * + * @see android.widget.ListAdapter#getView(int, View, ViewGroup) + */ + @Override + public View getView(int position, View convertView, ViewGroup parent) { + try { + return super.getView(position, convertView, parent); + } catch (RuntimeException e) { + Log.w(LOG_TAG, "Search suggestions cursor threw exception.", e); + // Put exception string in item title + View v = newView(mContext, mCursor, parent); + if (v != null) { + ChildViewCache views = (ChildViewCache) v.getTag(); + TextView tv = views.mText1; + tv.setText(e.toString()); + } + return v; + } + } + + /** + * Gets a drawable given a value provided by a suggestion provider. + * + * This value could be just the string value of a resource id + * (e.g., "2130837524"), in which case we will try to retrieve a drawable from + * the provider's resources. If the value is not an integer, it is + * treated as a Uri and opened with + * {@link ContentResolver#openOutputStream(android.net.Uri, String)}. + * + * All resources and URIs are read using the suggestion provider's context. + * + * If the string is not formatted as expected, or no drawable can be found for + * the provided value, this method returns null. + * + * @param drawableId a string like "2130837524", + * "android.resource://com.android.alarmclock/2130837524", + * or "content://contacts/photos/253". + * @return a Drawable, or null if none found + */ + private Drawable getDrawableFromResourceValue(String drawableId) { + if (drawableId == null || drawableId.length() == 0 || "0".equals(drawableId)) { + return null; + } + try { + // First, see if it's just an integer + int resourceId = Integer.parseInt(drawableId); + // It's an int, look for it in the cache + String drawableUri = ContentResolver.SCHEME_ANDROID_RESOURCE + + "://" + mProviderContext.getPackageName() + "/" + resourceId; + // Must use URI as cache key, since ints are app-specific + Drawable drawable = checkIconCache(drawableUri); + if (drawable != null) { + return drawable; + } + // Not cached, find it by resource ID + drawable = mProviderContext.getResources().getDrawable(resourceId); + // Stick it in the cache, using the URI as key + storeInIconCache(drawableUri, drawable); + return drawable; + } catch (NumberFormatException nfe) { + // It's not an integer, use it as a URI + Drawable drawable = checkIconCache(drawableId); + if (drawable != null) { + return drawable; + } + Uri uri = Uri.parse(drawableId); + drawable = getDrawable(uri); + storeInIconCache(drawableId, drawable); + return drawable; + } catch (Resources.NotFoundException nfe) { + // It was an integer, but it couldn't be found, bail out + Log.w(LOG_TAG, "Icon resource not found: " + drawableId); + return null; + } + } + + /** + * Gets a drawable by URI, without using the cache. + * + * @return A drawable, or {@code null} if the drawable could not be loaded. + */ + private Drawable getDrawable(Uri uri) { + try { + String scheme = uri.getScheme(); + if (ContentResolver.SCHEME_ANDROID_RESOURCE.equals(scheme)) { + // Load drawables through Resources, to get the source density information + try { + return getTheDrawable(uri); + } catch (Resources.NotFoundException ex) { + throw new FileNotFoundException("Resource does not exist: " + uri); + } + } else { + // Let the ContentResolver handle content and file URIs. + InputStream stream = mProviderContext.getContentResolver().openInputStream(uri); + if (stream == null) { + throw new FileNotFoundException("Failed to open " + uri); + } + try { + return Drawable.createFromStream(stream, null); + } finally { + try { + stream.close(); + } catch (IOException ex) { + Log.e(LOG_TAG, "Error closing icon stream for " + uri, ex); + } + } + } + } catch (FileNotFoundException fnfe) { + Log.w(LOG_TAG, "Icon not found: " + uri + ", " + fnfe.getMessage()); + return null; + } + } + + public Drawable getTheDrawable(Uri uri) throws FileNotFoundException { + String authority = uri.getAuthority(); + Resources r; + if (TextUtils.isEmpty(authority)) { + throw new FileNotFoundException("No authority: " + uri); + } else { + try { + r = mContext.getPackageManager().getResourcesForApplication(authority); + } catch (NameNotFoundException ex) { + throw new FileNotFoundException("No package found for authority: " + uri); + } + } + List path = uri.getPathSegments(); + if (path == null) { + throw new FileNotFoundException("No path: " + uri); + } + int len = path.size(); + int id; + if (len == 1) { + try { + id = Integer.parseInt(path.get(0)); + } catch (NumberFormatException e) { + throw new FileNotFoundException("Single path segment is not a resource ID: " + uri); + } + } else if (len == 2) { + id = r.getIdentifier(path.get(1), path.get(0), authority); + } else { + throw new FileNotFoundException("More than two path segments: " + uri); + } + if (id == 0) { + throw new FileNotFoundException("No resource found for: " + uri); + } + return r.getDrawable(id); + } + + private Drawable checkIconCache(String resourceUri) { + Drawable.ConstantState cached = mOutsideDrawablesCache.get(resourceUri); + if (cached == null) { + return null; + } + if (DBG) Log.d(LOG_TAG, "Found icon in cache: " + resourceUri); + return cached.newDrawable(); + } + + private void storeInIconCache(String resourceUri, Drawable drawable) { + if (drawable != null) { + mOutsideDrawablesCache.put(resourceUri, drawable.getConstantState()); + } + } + + /** + * Gets the left-hand side icon that will be used for the current suggestion + * if the suggestion contains an icon column but no icon or a broken icon. + * + * @param cursor A cursor positioned at the current suggestion. + * @return A non-null drawable. + */ + private Drawable getDefaultIcon1(Cursor cursor) { + // Fall back to a default icon + return mContext.getPackageManager().getDefaultActivityIcon(); + } + + /** + * Gets the activity or application icon for an activity. + * Uses the local icon cache for fast repeated lookups. + * + * @param component Name of an activity. + * @return A drawable, or {@code null} if neither the activity nor the application + * has an icon set. + */ + private Drawable getActivityIconWithCache(ComponentName component) { + // First check the icon cache + String componentIconKey = component.flattenToShortString(); + // Using containsKey() since we also store null values. + if (mOutsideDrawablesCache.containsKey(componentIconKey)) { + Drawable.ConstantState cached = mOutsideDrawablesCache.get(componentIconKey); + return cached == null ? null : cached.newDrawable(mProviderContext.getResources()); + } + // Then try the activity or application icon + Drawable drawable = getActivityIcon(component); + // Stick it in the cache so we don't do this lookup again. + Drawable.ConstantState toCache = drawable == null ? null : drawable.getConstantState(); + mOutsideDrawablesCache.put(componentIconKey, toCache); + return drawable; + } + + /** + * Gets the activity or application icon for an activity. + * + * @param component Name of an activity. + * @return A drawable, or {@code null} if neither the acitivy or the application + * have an icon set. + */ + private Drawable getActivityIcon(ComponentName component) { + PackageManager pm = mContext.getPackageManager(); + final ActivityInfo activityInfo; + try { + activityInfo = pm.getActivityInfo(component, PackageManager.GET_META_DATA); + } catch (NameNotFoundException ex) { + Log.w(LOG_TAG, ex.toString()); + return null; + } + int iconId = activityInfo.getIconResource(); + if (iconId == 0) return null; + String pkg = component.getPackageName(); + Drawable drawable = pm.getDrawable(pkg, iconId, activityInfo.applicationInfo); + if (drawable == null) { + Log.w(LOG_TAG, "Invalid icon resource " + iconId + " for " + + component.flattenToShortString()); + return null; + } + return drawable; + } + + /** + * Gets the value of a string column by name. + * + * @param cursor Cursor to read the value from. + * @param columnName The name of the column to read. + * @return The value of the given column, or null + * if the cursor does not contain the given column. + */ + public static String getColumnString(Cursor cursor, String columnName) { + int col = cursor.getColumnIndex(columnName); + return getStringOrNull(cursor, col); + } + + private static String getStringOrNull(Cursor cursor, int col) { + if (col == INVALID_INDEX) { + return null; + } + try { + return cursor.getString(col); + } catch (Exception e) { + Log.e(LOG_TAG, + "unexpected error retrieving valid column from cursor, " + + "did the remote process die?", e); + return null; + } + } +} diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/library/test/com/actionbarsherlock/internal/ManifestParsingTest.java b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/test/com/actionbarsherlock/internal/ManifestParsingTest.java new file mode 100644 index 000000000..47475c574 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/library/test/com/actionbarsherlock/internal/ManifestParsingTest.java @@ -0,0 +1,37 @@ +package com.actionbarsherlock.internal; + +import org.junit.Test; + +import static com.actionbarsherlock.internal.ActionBarSherlockCompat.cleanActivityName; +import static org.hamcrest.CoreMatchers.equalTo; +import static org.junit.Assert.assertThat; + +public class ManifestParsingTest { + @Test + public void testFullyQualifiedClassName() { + String expected = "com.other.package.SomeClass"; + String actual = cleanActivityName("com.jakewharton.test", "com.other.package.SomeClass"); + assertThat(expected, equalTo(actual)); + } + + @Test + public void testFullyQualifiedClassNameSamePackage() { + String expected = "com.jakewharton.test.SomeClass"; + String actual = cleanActivityName("com.jakewharton.test", "com.jakewharton.test.SomeClass"); + assertThat(expected, equalTo(actual)); + } + + @Test + public void testUnqualifiedClassName() { + String expected = "com.jakewharton.test.SomeClass"; + String actual = cleanActivityName("com.jakewharton.test", "SomeClass"); + assertThat(expected, equalTo(actual)); + } + + @Test + public void testRelativeClassName() { + String expected = "com.jakewharton.test.ui.SomeClass"; + String actual = cleanActivityName("com.jakewharton.test", ".ui.SomeClass"); + assertThat(expected, equalTo(actual)); + } +} \ No newline at end of file diff --git a/product/modules/agents/android/client/plugins/ActionBarSherlock/pom.xml b/product/modules/agents/android/client/plugins/ActionBarSherlock/pom.xml new file mode 100644 index 000000000..ce4d4fca8 --- /dev/null +++ b/product/modules/agents/android/client/plugins/ActionBarSherlock/pom.xml @@ -0,0 +1,191 @@ + + + + 4.0.0 + + + org.sonatype.oss + oss-parent + 7 + + + com.actionbarsherlock + parent + pom + 4.2.0 + + ActionBarSherlock (Parent) + Android library for implementing the action bar design pattern using the backported sources of Ice Cream Sandwich. + http://actionbarsherlock.com + 2011 + + + library + samples + + + + https://github.com/JakeWharton/ActionBarSherlock/ + scm:git:git://github.com/JakeWharton/ActionBarSherlock.git + scm:git:git@github.com:JakeWharton/ActionBarSherlock.git + + + + + Jake Wharton + jakewharton@gmail.com + jakewharton + http://jakewharton.com + -5 + + developer + + + + + + + Apache License Version 2.0 + http://www.apache.org/licenses/LICENSE-2.0.txt + repo + + + + + Jake Wharton + http://jakewharton.com + + + + GitHub Issues + https://github.com/JakeWharton/ActionBarSherlock/issues + + + + UTF-8 + UTF-8 + + 1.6 + 4.0.1.2 + 14 + r99 + + 3.3.2 + 4.10 + + JakeWharton + ActionBarSherlock + + + + + + com.google.android + android + ${android.version} + + + com.google.android + support-v4 + ${android-support.version} + system + ${basedir}/libs/android-support-v4.jar + + + com.nineoldandroids + library + 2.4.0 + + + com.github.rtyley + roboguice-sherlock + 1.4 + + + junit + junit + ${junit.version} + + + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 2.5 + + ${java.version} + ${java.version} + + + + + com.jayway.maven.plugins.android.generation2 + android-maven-plugin + 3.3.2 + + + ${android.platform} + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + 2.8 + + + + org.apache.maven.plugins + maven-checkstyle-plugin + 2.9.1 + + true + + + + + org.apache.maven.plugins + maven-site-plugin + 3.0 + + true + + + + + + + + org.apache.maven.plugins + maven-release-plugin + 2.2.2 + + true + + + + + com.github.github + site-maven-plugin + 0.5 + + + site + + site + + + + + Creating site for ${project.version}. + website + + + + + diff --git a/product/modules/agents/android/client/proguard-project.txt b/product/modules/agents/android/client/proguard-project.txt new file mode 100644 index 000000000..f2fe1559a --- /dev/null +++ b/product/modules/agents/android/client/proguard-project.txt @@ -0,0 +1,20 @@ +# To enable ProGuard in your project, edit project.properties +# to define the proguard.config property as described in that file. +# +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in ${sdk.dir}/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the ProGuard +# include property in project.properties. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/product/modules/agents/android/client/project.properties b/product/modules/agents/android/client/project.properties new file mode 100644 index 000000000..f1eace007 --- /dev/null +++ b/product/modules/agents/android/client/project.properties @@ -0,0 +1,15 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system edit +# "ant.properties", and override values to adapt the script to your +# project structure. +# +# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): +#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt + +# Project target. +target=android-19 +android.library.reference.1=plugins/ActionBarSherlock/library diff --git a/product/modules/agents/android/client/res/drawable-hdpi/ic_bookmark.png b/product/modules/agents/android/client/res/drawable-hdpi/ic_bookmark.png new file mode 100644 index 0000000000000000000000000000000000000000..d14f46de0c4228593c8424026ed63ffeadeb4c03 GIT binary patch literal 4960 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 literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/res/drawable-hdpi/ic_check_selected.png b/product/modules/agents/android/client/res/drawable-hdpi/ic_check_selected.png new file mode 100644 index 0000000000000000000000000000000000000000..319b7124de17df057156773195b1b458bab382b8 GIT binary patch literal 8100 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 a3?Q#Vrbx+U|F6G(_ZaA!AWIQWQU3w%ka@`f literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/res/drawable-hdpi/ic_logo_dark.png b/product/modules/agents/android/client/res/drawable-hdpi/ic_logo_dark.png new file mode 100644 index 0000000000000000000000000000000000000000..5ac68d8a294811b395c9dd35996be3a36a415130 GIT binary patch literal 4699 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 a3?Q#Vrbx+U|F6G(_ZaA!AWIQWQU3w%ka@`f literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/res/drawable-hdpi/ic_stat_gcm.png b/product/modules/agents/android/client/res/drawable-hdpi/ic_stat_gcm.png new file mode 100644 index 0000000000000000000000000000000000000000..71ce86772dabb592fb1dcfc6080f24c0e460c022 GIT binary patch literal 1135 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 YLpCP`4=;TDy-p&I6P$r6+w(X62e#%|Q2+n{ literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/res/drawable-hdpi/repeat_bg.png b/product/modules/agents/android/client/res/drawable-hdpi/repeat_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..1282b9cde88b41bf74076f55af2f7a6f03332133 GIT binary patch literal 7114 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 literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/res/drawable-mdpi/ic_bookmark.png b/product/modules/agents/android/client/res/drawable-mdpi/ic_bookmark.png new file mode 100644 index 0000000000000000000000000000000000000000..77598e5c393173fb8cf6e811659c0a4d3ea75425 GIT binary patch literal 2919 zcmV-t3z+nYP)N)nFbI+TZ`|iEp@BY8< zZo}aRp12>l{rLX}Sa$NHc0he-j5`p#Nc8&4l3JSb3~slzH77sW7nItyyi~8(scUmh z>N8v@RHKtZr+Hqg7F33B=9U+<{jU{{slcCXwpmVn`editcwwN!U23eW%d&6*l{HC) z0eS((K?C6$I1tV50Ge7|Xl!;sG$bLU(IP;i1|^81gm!;OYWDbp%|V`TOj7gpNh-ck z@VV-FwNT>&cShhs-`4wD>(@+~BK8+F7J#sF<;vZItky~~7(|CU39Z8>!z2JHYEI5+ z8V*BFpG4}bJK;Wl9PXN0K&J!DCh)1L;4&=Wv#k)VIq((^fvdO#?NGr>WC4ljLZHk^ z{!q~47lW-nNoc0uo3(<_B!mKW``@xZ@b!BcqZv(4k94&Dgn$ zwgiqtuw#>}T%OU`^@Gz>wIbE+N zU?2S64z#y6;l59O(r0_#nEvteRr{!E((2qPCcwgl3vCvQMFwyiQc-*H{Fne0+t!Bx zI!hx@)@z%f!j|(gO-!vYH7z6nI4SJruYd3;c>h1yAz`HJTBYy3?^(}uP~kgup9+=_+^NNX92p8f}^nozsPc7 z(%`i750H|QA}ioYN=IGA&*Z*GC5yN!pMxg|_^Y0Qu<_BT0ujR_5UossbuU3I=pDdG z086cI1;Cn5Md=@V5>(*IE3dRg0gUOWAAgl>=+${4%&_uuuzEIa!FRvkAdh&&csBBp z@63fZKlI``6<`22WP20c4hrVx=bwiorv#t3NvQVFJlrk0n%Zz;CLIaKybIT;ig=# zLV>#o;Oj&I=FXjKGnq_b0COf9CSDy@AYa6cY?@2RPh5|0MeQFp#WbD)I2pj(FCcqZ z39Zc>4%P?p=vPVr4*}eqrv$k3V^R9%-2@ewGiT0O1sK333uS=Cg`|KrJoCD$w&Ki# zn-ne-QGjAxR-iZnKrwTqA&7@QSNf2*wH?dyeF_EcAb{#b0cOvhZ8I8;vI2qRfoQz+ zny?Gy2Pg)@M!28YhPt(nM_q^+t#ly)g>P<04k^I)yvG_Pto=f%fVZt3%M1JpfYrxE z>EHVjRAA=JnYN^)q$ohsq{U$uDhOa^CxGk8?Wm0b5CQ2>2^jq5Hra((I?@orx-XQ0 z>}zkwErkIEz)Au*ohZPJ88d7;olXW2QwO1G(zUV?SChZavQhxBS?K8(Q2)qN@~B6Q z?)r2QKoKo=*%u6z_en<^K`x|J!0&KiMNv0^zXzn#`(I0JC7w2IngXDC@)8+fgvo~$ zWg=)t4HpAgzd5Gy42l5^-n9kRvY~R_qfHjx=(lKz9HqZXcoq zSn*Lns(mj(1tw0MXg3%PlbF?^^lUUwxn41H>`UeD?U=f&s)quRKz1`1dieuNRZwc+zXB!yf~tSSj90B-p(Al3gRF$E0c#*MS<^(Thm|X;;K!=u~Dtu<>3P9WE)ul>+<;Mb2 z!(S5w7&~^XU8B*+0LaKi%Vjt91d!<@Oxp8DRQ{O^l|s=~*`?NCZ^ay(m_xCnPl{ca z{pxY!&N6DF%Xa#_0E`(k#;#JSIsx*~HtptKjo^YJrV+sSeJ>(J5dX|7#Je-DLF0%^ z=yawG+8&K~JoxnmN`POI0!@i3FlyAOvjCZSXrH#M_fe!0j?T6f`*xr`;Kvseegr8w zLtcI3CC=-?UBjSI;HIN~spb9G6Iurh<>lpe+Vjf_@B<1+f#vaR=~ubn_u%f~oC4rR z0%%PXV8nuKvKK+({85pmU;P>L55oZD16x25y@k{Lo5>#OL@Zokkv~(&^2*>ml z@oec=xk~inw-@qJ1sK5ffAdR@g9!qZm6h4)-bMxxvWnoGervxBj8{n=^kL0NK>@Io z0Gx>e6c-mqT}YKx49ASy;@Q%#a!tsOd&`vo*L~oV+=t#sEQkvV3hgw>%L=Fm4MxYT zRsAwBUL{S)hx|qO9@|5W_UmTOkei!p7e!G9&}0vVYxW)eGB92x9o=O=Fj^f|z|rBxwd6u|8*aY* zyHls$=>$0E{b;P^#*m$zZTI{Am$LgGZFUJ!u$4!~~#w(f0#^z(qXIL!Vm;_nf=s%dGRA^t_0N#wr08AM#4I8)9Imp*h!Uv#Egen!^*5nrA!+d7`YXv;Z6+9=L!Ddv+0SoncO1}-g!=aMtQ8B(a0w$DIG zsvy>nKMT;p6gc3L+Mc+5b-?93L~eYlv9YnCx6x;Y#&c{|&aM&|5X%h6(3vgtEQQuM zhBKv)K`$%dp`Gc8uTJ5%*H1{kL$9rM zw=_NDa5zqN8sFKC@7Rlq`y$ zPInW|o)L_i5H?h3F~l6i{`U?9UVYPEcjDx?2US7;V;+y^BWf=a#Jzgte+v)`hy?&s zhaGq$3YqA09>q^Nl2XQz@g*=1%;YRNdZgv3IP(BPPJ_v$!_t&f;?Z~BXg+%E<6}O* z{}oz54^my`Htut|PQ;Kz0lET3+^s86Bz~B?4TefPf`CTClu-opfDC;`mY)B7|4C0v z-8R}h+UOnj&!nq!fZ#+8v)q3abtMbu3dXaM@LTsfWdhA&!AnQs;b;A zErKzbOmZ8I#>XCy=QM!quCA{Be(Kbzv{1WNy8%G!_Jo9l`5_@8pFop6Ah3kH?k z=IiUJ{Z~p=6ay@wSwUZZFe<>50m!MUs;WH&1qDYIEm~CFRupXp0Kt?42M!Dm3k&AF&NCkY_SGfqYmJA4IMgkPJkJk zgwY}Z(q`YjeV>8ztDH_}gsycJbWv3Z4?#R0uW-6NQV95k+;D7Y)*>BM=REy_z5=d` zy1F`1TU#qsuM^j07zRiaKm_@%qX?_j>cM^AZr;3k?yg{}UR_ zfB^Dduh)$iYr?zSj66bwg@udA$Vd?$9xj4|gGEqKkRE09(CMd^1_H{EAP{*(b(I64 zoYF#y0?U~#l2Wu9{K8RQUjEIoW5-q^&+w&ANJn()-7 z8+0+7gG5wRlt4HYpx8^zBRsyOPQy3yIdpznf>x-mt`g6lRfwABRr2|Yfgv_X0w)N( zE5E3yC~MA~IeXd+VBWlW!EmBKr=_JWg2tky<~?q_!08v>2dadM*w{EJJe*r?H8nM&qT(rbnQ*(D5Zov%)?nQyoUqiv>({SmW@Tj+G<!bO@|6(Ul9`%BZY^lUkcxv;DOimaEss|Uc7iA%F3RI^0E?G z$0ZC#E1s)4Hmp#bo1430;lhR68aj0&0MNd9z<>dt_v+Pa32v6!cR6cm1L1b7(2Nbj zCrALHp`lWEJ<_yCc>P`-1bu^+c=YIjsCfEBTH0a_(fz?&R#vv})~#Dv%a$$64}4D} z0E-tdPDA)w5AFU64>4%rvW}qw0ECE#;9a_Okxt7<(-yk41sH+QFX-3>`FZdU-R2RytptkGxK1e6&eCimMmHF@#xW`{{_Jk`B1kD!uz!!9??l8B_&DfAk4j1 z7PLjk*6yL!3F2{au_!9KgWC~_EVP1F3|_r@^~>G6cdtHq@}yIL)@uMz-WuSH^I?I_ zI`_SvI>~)iHHfZB$pSe+QiqY|eJp}tbjrPPSsoRG1(w!)p}4qs?}-y9KHs`^>!T(C zOqnvpHg4Rwza#qmo;P?9d3-(>B9JOV!=glTa z*RSQskZLm9bYH7Ic<|sSYu2nerTf8a6q+^(Qu?%;u+0pI)$h`SO3@x3bWC4ZyT%)6x(|FQJABmlT2pe6Ro= z$!<>(adB~yJ{_@`8?IcwC`%6J1Qv({aQ5uk)k~KyT`nU_0|3gzi4)UNhv&kPrH9gi zRn>#~CQ>BZ?K11KKC?YLGW#PtE7n2mnz-yKJp_hU9TtTO@^6WflE;1kHtE2pPMylRapT7C(4plv8Afr^ zGI#FW-wYl+cw^#-s-NTzT-|!Q$=Px1ZDVq>(7Oh~Qu_Y=yQ1t#3Fb-)+SCxqee}d`Xn#*mPEO{93l|>i{BI6`5ux;h zl$4ZJu);{x|27KBu1rx>P$*I)C3nLy;;lNdhDnfNvl!K9DIAwcjO7cHCb~4=xpU|8 z@7=q%4AJMiK>9QXfPN8-y6D#^tN%7^*sxU8{|d(*46BOb6A_VYY*J)n|1L5!EnHgq zSeDNmjxllR)Irp#hU0#B=+L3ehYue<(Zi>%fab;rM({rYIbju|(In)DaQ43SayaDz zh!~uxV)BaB=}uY@<^1IKhb!PvcU-6v!uRz_b#b(8Qjl89^`^{NE z2N#6S>;w41dH@&<$ChQN4uaJzM=5mdE?tsjbKl-oQBe-TOGQdIM*6?ea4LF9nKCc|w+HAp?5n;@N zIg#G}H3x>8nS!#347#bEKBbJrDEVQYO6YGQ%wY|epfw0Ia zAqT$r7n3-B@<0j|78a`6+1Zcbw0}YWdki-^u$%o9)%plcvqUJ$j5PSfdW=*)gjIrY zG*U<|T7!K9C+FIjU6QSV5wurnlWP9KB&AK?^qCNnl@q%Vod5Fp@#CZoH81P_=2lw( z@V62KD3p$&*Jp@Iqfl}upvkv#Mx^tf<|h#C+Zd<++R~tCV|JDWq>6v;35z%csG=g) z*WmBVw{PEGd;a|SAN<0%`Vp|L0CW&kSq#eV5fJ>hpi(a!xy+nauwQ7c;b-L0#)xIy zKJdK~Uu6mr?@z;F_af?W;y{OORd`J;?OVK`(I~WM&z>pWx^?>yZRTiLpeJ@5D%dED z92EkgpK#PpP3yBy3SL?Y=XE&haIO^8DT3hVa1O2R*=u-i6*ebnEq^Htkh#48^qQ=ZwIuYwfGqBwW?4q(kHN)o+3@yX41&{o{{!NvBOwT4YC@hcqci1=j!2PZPG&FN_ig_zxo8r>D gvOtSGeV-Tq2UNcBe6zBQU;qFB07*qoM6N<$f|x$$ga7~l literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/res/drawable-mdpi/ic_check_selected.png b/product/modules/agents/android/client/res/drawable-mdpi/ic_check_selected.png new file mode 100644 index 0000000000000000000000000000000000000000..b44af9284b1e0fdd38a3f03beb19018ebe114620 GIT binary patch literal 4182 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 literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/res/drawable-mdpi/ic_launcher.png b/product/modules/agents/android/client/res/drawable-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..5219466ac84bea4b1eac8c20238bbfea733b453f GIT binary patch literal 2425 zcmV-<35NEGP)$ z3rtjJ7XF4o1_q>ppwLB8qrnFVBcLeq5YSpgQR5p_6pPjey2iL!H`&-yWmjr^;bW0v zDNwW(ciZf$t65VR+EM{ose%u5f@pbK^XP2lNlBf)Z3)lKitgl-#h<3-+#_` zUcU^#@*(?`%a8vr06LvccIC>ID06f3_n$p`=B(9fP3VG*27jmftWf=?@c&(NdPN(~ z(K_{(mX`l|^ytz4B}T1`Wc{p+j#fmCE?()2Ck>G|P=sx6fxgfX*pt-sE zf53@gc_XZ>tT1xq$V$>`^t^fVF7yXPe*l=DI&~^enbQuX~xT_8h4zRGW&;w)v zA3S(~wzf9?Z$x0?r-_M)AhWZxbJl_d3zpK?&c1@^4*+FSQc@n-ty}jUHq?NjaNPy% z>3h}@{Usi{fD06aZCjf83=8$OqHPH>Aq z-na>RP6$xLhYv?!pg$HbS_E%zZ=>HZ09q5)*4CU5V$7H^`H_*4(rJL)sG1TvRY*vP z5rE3dO2ox|gtWAD3{e6;BdqY7K?=0CYjLfj8AT79U~4}V@q70mGBQFB;`Z&^AYOqJ zItD-{bd^Xfof~BUPoF+j&73(CUS3{;AT0dGO`CD?{CTXIG6b=Kju>gHpq!er6#8pu z?ZA~g^*H!VB{VJO_#`al^ z*}>FzJ+u#t(0TK`-ei9KsTrXsN)Zw^AD^Xu3XTH@4jh23t*wwwj2%0+kVq^YfFnna z2mn|EzP`TLvu7_3{CN-l_TE@{4YTSJR0p|RIOUU#fVnj~i@(wX;CgNS>3g`S>BQwr z|0J`KWB2aeu(PuxZ)MNviL@GE099300tYx2tXds~>cR`iTI&KiZ9gkOHqah&*SYA( z&wzZiKXeV1(EfCTa%MBg%q)rw#}T3c}Q>Q-uwo{7QNgs;HMMa$h1P2HIH$c_Y;Dg;C z;7n!)7P(qunWr7x-d19uLXJ+Y4w|3akbAEI>G^edqHv_hdxW&djt0od$uZIZ)fm#6 z5Cfp-sam*jAvhlr2NxrsQxX@y_fL3OuE975OANO$L(6k5{{5&K_0(es2=Jr0@sUvu z^@{^Ic<^9uNlA%EczC!zpD{ESP7ThU%|dZ;F&Y{gh5W{OgfoK3+=7FHgq+84bO*pB zrc^>Y4p7+7q2A~ucB3&dF+JM4ILZ8wQNzmQ1)SjLn8fT1n8fUbh!>KQSecNJkV9tV zxpU`EY}vAC&Z= zkyy|G)v#W4M!+o)qr(eBVS75%5QXP^Vtf9{lP9=-{W`eQ$7E&`A}=JJ32oiFHJjQX zUfjoglfwW2yHO@_pI^|g_BwfScP=*Vp$d5br*F zs=T~BkXsa5=e-TyeFo9xg`_hf671{J($ZiSOgy~nNic3`aka%Ht*fi+Rd{Y{ab)N6 zlFkQ;wr}4q8Hp8i6dFe7S&4L-;=o-s?&`}R@o zDNT1;P7B+Rmx!Sj$nU6+W6gcgmkG%LM7PS%iY}DrxfjId)zz7+rasdq;?LjdmLz9n z{7y5v?8ubXQ?eF8ZAJ$IVM=p`TP+r4dT@pS3^bx6ZR%(O;PL#LQYbd382-G54# zB&U?(yA|}smaf5cQ706vnf|zAaUBNA7Yo}&7n6mB=Wals$E&=U7w26c(DnJMYw$WE r2tM{_!TY@PBEr{sd7pPl$_M`gmhskYYxV`&00000NkvXXu0mjf1zCRx literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/res/drawable-mdpi/ic_logo.png b/product/modules/agents/android/client/res/drawable-mdpi/ic_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..943a716e4f4c7fd0ed2597b9120f1b068eece0a0 GIT binary patch literal 3104 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 literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/res/drawable-mdpi/ic_logo_dark.png b/product/modules/agents/android/client/res/drawable-mdpi/ic_logo_dark.png new file mode 100644 index 0000000000000000000000000000000000000000..943a716e4f4c7fd0ed2597b9120f1b068eece0a0 GIT binary patch literal 3104 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 literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/res/drawable-mdpi/option_icon.png b/product/modules/agents/android/client/res/drawable-mdpi/option_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..004c41b5bf85431a2e7352627329db41bbef7631 GIT binary patch literal 2894 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 literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/res/drawable-mdpi/top_bar.png b/product/modules/agents/android/client/res/drawable-mdpi/top_bar.png new file mode 100644 index 0000000000000000000000000000000000000000..e4a9ebae11198155cacaaf58fd94fb1f63456b18 GIT binary patch literal 20898 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 literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/res/drawable-xhdpi/applist.png b/product/modules/agents/android/client/res/drawable-xhdpi/applist.png new file mode 100644 index 0000000000000000000000000000000000000000..81aecad314289639a29ae258961b9bf2f1ee87ec GIT binary patch literal 11689 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ℜ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 UKa~O_)hH;6vT8C7Qs!a*0sJ2cUjP6A literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/res/drawable-xhdpi/appuninstall.png b/product/modules/agents/android/client/res/drawable-xhdpi/appuninstall.png new file mode 100644 index 0000000000000000000000000000000000000000..711149d214f5b97ef411a097296eb38a1f7e721e GIT binary patch literal 10092 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

      >{V9l+d<6y zoU^O4P-4H7>ibe~e`NjragwqWJxe(Eiq?I8?hg6t61)n?tH()>|33hofs;Zj`HTbr O0000mb+gPon}gM!J$)85q>%w+FE@gE5i<}RkrR*tS# z4)(x*5{*q9+*}38KQ#S6O|WzPAF=i>|J_X=9mWDSc4T2=X8qTs{}3uF{{NHO+5Hc- zi>s>n|JC>ZQ?QGgr=vNGs=14Uo3rVM;VdZrRprPh?rd)C>fo&A;9&coUR3$&;OgM= z)xi-c{)HPzt7&C#=HTH%_h0miihQ#6F0RJ*rslE|g5)0(n60eL_}C@5d0E9k;$pnq zAT~Bhc2Nm22?=&y2~i$NPF4vCw*T--IGDQGncKVmhu7@?@=E-#y#HLm&hevW33F#F zcXKl-X9qjre>IuU>VMZo^naE2-@Io3yDnn?D=*83GA#cL`~NcZe~Lc5=ilxBxb4To z|2V$6{fD7kcy_oLuDyU^JOW`x z;3V1?@lYXJBqh9^X~ap$MLnXt!u9#uc;(Zr>96fC+$*y4TneN9J4 z&-?j|Z}eb^Wd?>y?zybs)S<4v+wq#q+Iwf-eRdXI`uLr2UD+hVXdXjt+koHm^12Yg z{8YL5taZ};x0!p#L9>}$)s;VUa~6g#TX;1E1)K5iQ^=TC+4};c_HCPCG>8BZ=JMIf z-J<(;=xk2>?F#Nv4K;?>3J5D}>&DaNR$Y1d@lTp!N5{vX&fTmr3wbL0m12y-YWZ8M zs%-p}m8Td<_z7=+9t@*V-yF@_+@Gy_dz`Jbo3HoyX3@~lv>sOZT0>b6$}+rFP)e`9 zPM24YB0zuTu4t}e$`JIvYb=pZ&n=iopviGnomy#kxt=alMq5dnuuzm}g~npQjh>sI zx9oI3ZA2mBMqcr~U(IspJZ(|$eO^7+Kt(~RnWN*MeZn%Lrnuc_@`mTqQlk8|EaB|) zvtpP|eJ<~HF>f*6|7E*KT~S7&YKar$$qI470tQ#pB!n3y3vu;Cj#$WaWrd~2P{ZKqQ+V`8wO0YUKT6ALNG(dcBOKUh4eYmJ28{ba4f z?U;KpXu|vMWU;ts$l8h0swfgW^?fFQxaQ}8NNYtTwP1SJp`wG=Yn8!m<)X{pFE)$; zGq_44AVO_n<$*jsU_f|3;s&tL*B20(0D%v{=s%tLqTGz71Tr2YT7MX!@`;-d?%wV; zWP#=Bfr~wki;L6o_wOCkSR9EZl0NG^?;)wusPPgps#|I_9~XQYgKdUN=__dtE$paYkKE(@w1ES+wMqpg9rWAE3z zj%#?3vURZ>pJreoq~l~{0dJovLwcr1DPW43KYuRk-s7tC?CsOy^MCV6PR8zYgye&- zjryue;66&?ks*Q%wJiwEd){>oDO%V2=A~P26v(94cJcWr=G+tQtG)ljFFREezRLWI zsKCp600aoExWGL_e*PHKQ*GG0=Jz;mc-FR;X=AS@;9gT3zjHF30c$al$yNOGXUKK)1r zMl4=`q9GGLdhA|>?Cxp4cP;m}+H$e?WxN-f&S`)T;J5lPypP)BfBrt&_watE@(?X# zQil&m3am_+y11ic6W7#tn`Lq6I4nJv$2?a!QS>*l$>l^->{}K`6THa?z{ccqd)iGm ze5<(c+82x_h=?&weLxSv^;TA*Ew)(gaC3iuyIi16;M%Cr4^tQh0}I0m5f&HzEpw@7!q)u?_c`=j0G7+D^bAoTw6 z)>)nV?DG%y0l#;VKhL%H;2^VmU9!Aiu>?QEgFZd}kUk+f2TP~^s4dMdB8k!BGl_%y z)rQs(b#rcFae2NKFhjLe0)kCZ8`Jk##nH2WV&Gb(N`3Z7*LPp+jq=nGNv3?Od^GLo zUWj#%yr6o2h<^vuZ6V`3F>XSMz6xCQLG`z7cWfCHB0&U;3O#HD_iOxSU3rPGRLw?z z@u4xWWmqv9mGDT#f!hCz8H_0(=TF)>5D$MyA$4)g$}F_pVyCO3U%t2-k zARNpJJO&_aZJ(k?Qs5le&?HsmEQlzZBRymvd)jX7kF04tc?58$`no)CCv6$=bF_Ww zPjn*oK4~ZwnbD}#v-XTKN5%v`xs} zW;LTQ6WC}e$qN_M=@HuPlsXas5+e@SAlB4I4RNWG7eh|L66{HHY2uKrPRq_%;G|sG z&erlW;os?vp3UYU{so7kV(PL#$t4@I zCZSB`yca-%xas@*jJZ<$E|kTmU+AtO9_BFV4_e24xbTZHh~BGpU+BL5ZgI+QPU!72 zemTA8ro_=_?K&3^Qfzb_8#dZfY9TPjnyxqpIKCzTDc~duiwtRg<&1vCbyHlnGLI>Dw z1>xnoO!7_~Jb{kf&oX%&as}TXr_i9nr>8*MF@2JokmPHjcn0_q*@4gPV9kbxI4X)e z9|183J3Ew>*onsp2S2P8^R*(>X{WJGgB3itfMuqN)-u6UD^WRutg5XASj7@P5`2+e zo}1m2FG_5S^V<@^%0GL$G+o;y%T7GIk}#Li&-h4|FC&$GwyIcs59K=rX?6`FJcxtZ zy~N5)S%Af5;wp4LaQj!h`;I-GIZgr?%SbaANA}aDilya?em6y*7LR7D>?*A+YLBfM z_AE3tomMb<6L2B_;PqUDl4*|IgBSxojZ(Af=nM}p+KjktMbd;F>wE5|>J|^Y8LZbR zP@11a){}KPB%r+^JNdMFu)2#MBI^bHZ2S1A5B9OTBIX9s3O_GSp>`08G3$K)5yyYl z27v92G!0l_+C88{xsoz`J<=RJZ#UqZ3g+7qh+_@iFZ&ztTi|?`exhj#g!A{cfQ+kL z(?WrO!704Ve9N!22_hG(s5csqrG=+!6UAkB!RKK8{dN6aNxzMufo?lq(;OqUl~K3l zM4^jniegx5I=Iil|9SZ?wa#Z)=%xVe8ztQkZh2Cf@av)I=)cIM<$6kZeWqX9Q@BBQ zyty5(H*p`+1TRA4w%Z&_ML&D+PsuM7t|9kStl)iF$qX3X0pACdJE&Bs1%T`Qsz-Pj z;d55+BN6}eNmFoD^nAvo$b%p;w&e_$&0NU#^7`A|aL3zo?}xd2zLW_j1gLs-1^hyv z&pyccMz4>Gf$jm?CYS1t*hD_~|KwA!jF z26U`v=zFh`h5no45ePCAW)Jam;#fXttwP5WIAmy$-gB<^83HetS}QzJHbl=ova3KC zSgxNS7IadatkmeyeXK7(tmjV?d+DF_P<;QD!mE{xU@?KYA_&jty3(W6P13<#8nGDN6Pk#bAz^1`4r)(jlOBru^=jtSwa}0g-=pm%yL(lAnumec}dB zC2UZHjtzuMbD4x-CV_CE)Pm0eBj7(3(ZwFj$sJf>dAUpJ^2kkInqTu zx1Vv8ss1w+SmZT9e7uHCc%4P)kZjZ>kUZi(^lAo|QJSo?gg5Wc>+gQv(^+fSeFdff z(daLXxv-Xfl-P;va8TqB&`<*|6eK;ygJJY-0f7Du3;3O69i{Sc6wit$;eAKu0CorE zbrth+y+*`hDHUTGKKf|<;0B|O_dAF8IiZg*26{xK@vlJvT((sibk=~|&{qew-YMB5 zWJGBSvc&@}^ahK9DpTfw2uF--!eWVsY>M|mQDkDsBx@0vw*G6gTze1*gBtGhV|0vI9Ynf zM(L_X>yk!XJ;#2SPw9bvWU3ft?Ve;*u5lv)`1r)oP5{Wlg8S{q>$VJtu|ABx4Sr2F za0K9)iDOQ9p$u1?hBZG0j%YCaKSc@jCp>=Q*d@h5(
      +sx!ux<5s<4CToFYzdU|h1_U4&!9K|W5z~`N1Fa6=5+6Sz z#2x^34F3M|U*r>op9^Ws`b#%2`@-*B*!7ep^3v&i5D5!@ZGpvD07#5KgXq{I_yJXc z3vKOw=D+dZTDwo})Md9@BU~folJikh`@P`7{{y0dP>H^*hLyrrd%vN z;fKOIHmC-Z$QLjOl^U+yWHKCuM_rfEXiw#`y>(EODMx6E$9}=YOGHZCsOxtjzU(}D%kAZuo;n&vNk=ul#l@xAwA8}P z@ZCeV)-zM5b9eV>PnVyGMjbkl3ihh+2?`{G)LVrC>R%hWqtZ3yT`ZqFJ!Xfih>AS@}|o5z$zaep})&t zp}NcJs4W&XqsP2dTd5lG+jui(gh)l@wlWGPcYj{NI$3aGX}mksZ?WNn+)pd`} znBB8ok6U$L^{}sZYpwep)3#R60|^1R=(0v^7Ud$qq#ygSFleBzp=U?|2^X-$7p#^N z_C(26ga8i$G*ZkE9Dm(x(yRXx(CE8=RvDJRF2m)XNT(;jy5ftEBn{`4UpoB-a40}} zq(r(z9_S?oDRb8V=ocnk`N;Xmd48c{;fv;|W`l2t-d`uv{*?+=O`3#4rH@A)-W4## zqB_p-=$ci|B4~3L5jtJ!abnoTL9<=7;xY72KW*FBAX@HbL$B2M3>sM;@TE%ZKi}6v z9&MB?DehNN2s72NrmOow;z$hxkBJ2sr%6gGXGa!9sjCqM+An?QMPCax00cD{2~dWd zCt%K5nBYy@*H!Vu!FtJMI)7wTRvIZ~ehK3O>)-0_-}og=&l@q2S3lQN%+jNS&?8y)dKsBq@7cbV|xS4@cbl*7)ABQX(4wG@7 zuT-z9B@-l3-Yh*X+B$OOIrs?om8;GVUE!~itkLrF;A>rN(wir>(BYd;*K|*wKY6yU z*2sXjJ0|Y7S^Q?_-jBTJI`2>`Xo?HRsI{@xYgcSkVSSwO(aqX+tzcLX<148RdD$Hy zxGExu`v9yD#xf|^uZ{fLkcPg7!HN|%Xh7&XMj3>=;{Hs2iv?6ql^UiRbs_)=Y|x_s zi562~dqQn(Q^`v>awennyHfkM5pKJE%CkJwPxAM5 zm3;tZ>+Z5|H#rF%)X53{{qx~xvs=^#7d6HVwy&kciX$a;MY`06fALqa%6vvSJd(oj zi;uK20EUH$r8Rv8PYIxEx+td+(APwJ5B>@+*MWmI6*W>71jh#i6^VI8u#Nu3ut{yB z7Cov}>=mSjDBf!T(9sB8DM2`sJPGG4#<+0%ner)IM1Za#ku^VG{-RjPs&QyY%QdZ* zf(yCykFl2=))vgC44uyq}!hT>!!<;U7fN14mDIkkr45Wo%?YwKvaFc%$Iu~H z&^x&DYM>J&)c+d_TXm}`Q%FBiiHi3$fzs1DIvyJx4Kum}94lSez*$^1dI%`|B@yqh zY{|BjYjMdN@wvToLf@rYNveqvtpYxA$8Qp3)lO;d$J$}OCrr2;q)9c0+5*L@v&Yyn zX+G6#6|JN>v}T@M1a;N3!*xiwn4k6&$1#c`Es?1q5)nWkn}n=U&!WeYRRbOK7-qrn z{U>)UD%`9jWMfOk>d{gs{hh@AY^y?3e`13*?z}phYX1TNy52~N#WU)QOzx>;M_UU9 z5GhHrs+|HNWa`K|+JVjnA|+EV zHkNp$4BjUv0z^s)=h0FPFIa6yN`UyzGa*a{Rw#-pmu{(RCKRBmAnGa;TXwCoJFgz1 z+`5TT(@e{+*CMkB+dzp-Rva^9?Q1vU011Dom9a9*MYR=6Oumcv7VrIyhJLYpA zk;^ShA)twZ;KJnmz+ui;7*;s%c||jG)#AI&&f!|-%fR$zqOB(ZX+2gvJeq6LGa%-D z7tYEy3`}HcC9K6Qx+pYrBB3lJ*LD z^9K>HeQUse=wvKsQfnBmJb~(V7Yj{&ql2JmwCzV^`bDFl5iR{;1!8`gzrg9Fid70Y zGeSRoImzMv0w}0IY|cG;5Vxt!&uNN4uI7FSQ9FJxQ4dq~LNw5Vzl6|WRj z)nOrAidWs@74LOD+gKLTg2*qII=rfqh0p>*Vq99tKS!QI7B>)LnAI!O*JKyV&5TGx z-diU1p&t?o*YmfxcCkQcx8am6}C~`M`r|y0gY*QjFne54QQI2pWM1lKIC#W9UBo zp-+~RrP`J966whafx0fK0vd{@zCU6^1GgLc(HF=U(f)FI`f{r=3X<1uM8E>@4NcFH z59zHdx#%YI`Fag%Bz-5;n~K6ALKx=ch37_Q4;oyDRJS?&>>suvBf+y+CMY!aJ&+*2YtXp%z(Wb2y9R>`<1L@s`W-Pxm!wA5-_ zQ_$?22v8`u%EpOy$EIr`v2cMvCKP(oAxyHb3I{#?3p7?(#qMIN=t*fZro3ab4U_sJ zvFvvWij6A;=#>Ur1nO&05t?!%Y`V6V)8hxl`qpI&W#)1s8Jbf^ql@5%V(IJ#M3-P3 zJkU^W9?@;oa}36m8fFlf_wgsA;jBe|DJ4$wuO`~>u_>aatOU<$TK zFUpKl;ji0p9-4m{0vjB4X+Aa2OwQBr3F`4}g_vd|DSTCTDGm^*%wNzPP*OK`D%VHY z;_^`!)VX_6<%M=kzACjP#}fNAgB7UHor#Aw!lOHOK;5KV027BKB7}!6;r(%j6MQSirjE(s+Ce zAK2aQGjO~3yQa+#n6nt`ks3i$VR9HT|AY9jQ2EaBvyTRS8O;SrG1w}w>N~!|eDj;H zo4!m%VH~?`=89>6E%*KonpEofI0U@%EzK{rJ99`}Rl5En!s**xJEm{FznOiX5H?@D z-ATX0wcf*R&CjG!2{xzIXbv%V_A%M)YR^t(d`#+79_tXmng>z{qy?G;6tSGJ#aRg=7D@1BDFrhC{bxrJ}dDH`&1B>!V$YF>{n- zY4HXj1&2^v3HF{*`}w3{$c52Zl&nV>u1 zrQ4+C^Q(nXCCW@`61o!MQmezdC<@rGD}~9R7;~QV(FC8`NoMhRCHz=TxwsV#TBQ zJ)pUTlgdD~h0ro_P%PB*DkW+ZY{4ZMO5|OQSPXZY)l;FN^)U;iRcp*$7P4?@=39-X zj}yx4EE}GV`bXCO$el_^n8pE?Yhz7=nisZ6^UJqzS`2kdn57fw=r4Gq9UPDaw(!k4>31;? zU6>fFC@cIo@SG0rQPWdqej_5vOr+w%MqDhP1vblROYP+0tgo6LyG++phhzqd2ywQS z++X>vhf`7NczT=|X=r$wSonmRV(~U@FCofYu#>kKU2hd5q$J--mAbFGO_2zF95Ri) zZ9DtK(T0%=B}DQsNOFwGs&7r zw5WY3TI>haf$8!o9e&v>8Og}`TmRDL!D^SZS!QjcTaGdqR;hc^?}GQX4P$%MHb=&& z#YPh~ZW?L%xZyh_O!l}mX5vngc2GplX?EwY_dgRXPd8d_=l;y8nG4+~)PL(SLn|$r z86#kI_ufug(Wy8o-ltIbS!PRtCrPz zSjPU6;WyhWOjoQI_eKi;*TZfY<>&b%fBX zqWm%k&h|aW#%?`RP-B{FHPeDyw+DuGN4r89uJvO$REW!8)zm*}SKgG2Q#Qjj<}Oe_ z2kU;8mJqk_Hi5PlB+=VQ5*%okPx9k!wGtJKtB!!FWKr>2_22d9tOSjfEZQY@8*FT9K8@7&9 zJ5MA9v^#qceS#IQJnS1`fUa%x-$uM3OpI9g8p&6^T)2|loY{e?XI?WK68ia zdrPzCEN27kuSm|m9U+FFke|My@3(F(4!E}5Z$-1@(xI~`>`7RELPBTBT&58rz1TVi z;VW3W%xWr5W}uP?C9LWbmgyEpQcb5sr@~}!ihwu#e#whRvg1Q!ZJc6 zLlJW`Fk9G7cXit zk!tGR8{)Q^5MWRJ-pXwmI}yvh);i_B;!y>9r{s6cZ?wn6iQ!anJ*|wYl%junM7EF* zhd$imoo6lYl4ow;F?r<|?oQZO2?!}{pUC1_pV-2#n~J*ExY_H+$kFd`wYq2l;Q*^E*q6SrboqVP{RWOQ`Hn z(W=<`KG30aTvO6q(vgg=P7Q##{8lSz{zr>pYixKyV+afEgqrYfJoiP3*IelXRYh=E z*e(vCDi<{9tx;#NdhQfK)cP=DEJnLH0=dKTkzuY}Dzt|2Jx;8qp_R3Ar3DcQ)bm3d zGSflC6w@bG+sFXqFfTer?(OT;NK~)JFu7q|%&f$*M6iWsqM|SJkCu+AoxHk*lEvB5 z8Une*xx3tcW#Vxzy2RP|s#T0ajgiVv4-p+ZbgZG;>e$JrGohrO#$d=w!!)sSTqX?^ zXIEL_PmP;x$KqydPe1#6CJqr;W{cK1=<0EL(2D#VtK}v-`!k--Ultu@I=g#3u!s<$ zD*qOq3*~#Rq2&W>1b*sTp0lrihds~-HA#-)iXvLnU$#?i` zmXjkS%QZ3q)aKX75)f7G$UPd0uVKyQ@0NdOijMQlF5Q&1>MqCdW#wKGRy1{SEjHNQ zqS@E$*1bjLy#C^VydRC$AwU~v2Ov1o!iY(JG2V6|YtYH81n{Sk9+1=ZbLHfm47h5E zti%y(eW1(~8JRAe$G|%5xow37E#>>EemB^nTJdlqJ>MGe{x*czu64CvmBQLSY~(_x zsDe~?(D$Td$W^~c7PH*9)Y{mqqSDhHuhJAcG-423HINY5nvD|@X}6Aqk7p8aNBv7HIs}M{w5?UJK&X5tC#;(m#ofda$(Dd1v5~K5=qZ88#gn?kM*-U!<%vX6mZ&9SnA# z9t!E8Uqp{uIkIH_-jOS*!H{s|ed8Bq63>gYtIpK2myD-99?4N-?CwI#L65tOYg10u z-7D!Hw0Le<-f*lH4CvU-Bs#@cU^dIHPDeTldL1ezSWJ|3`m?h6k>~ld6V`dwajcp0IF#zyb4FGxD%Q1$zoPH{ zEf{Nqo}L{L1(WQWaGq0zdUv}-UJ=Aba0am$iOxx#k1sh58F?O+l)`#pLUkAp-SC1K za8)xM1eIWCi?S=Efg6ne5L@r61nUt~VZ4~8Q1fbktKmJ4=VxO0JQsWSd|vn6q33k) z?prVT+e8|kd&fx_KU+^0$+lTK+9r;j1|zjGK?FDBjOuoBX1lPO)szjgse4$b_!e`fIe|3%Lwrz*CS< z7qTh}v3Q_}e;!GvnUj|PpH5R#EnOw^f_<^UH@fGR@QhIBDb_kMpA>>BY%28d7+TUX znSD$8(CGrYJ$U9Oy{-OOZ@bmi`-L|yB6=?Er-{n-Ra>I7uC=sWcjp5<{<%kk#Bu`> zBQ#dZpjiMXz{m!DvgqCEWYg72r!T}-JJd#@2aPCe?M{}yib0#@iWOKbDm`3mNPe<| z=64Yc@%oUP%AolsM>;$#QPT6+04Kyu)pL@M3213*me@e2gzg?ErK^6mP;ta#ZeZD4 z?DSC9TF0vdvMD0SoUF1$BoW#Wm*tUM%m{g**j||;baFC3REG$ zIBqv{FKVhvyd~V)>zP97a(|Juqn;>!ZTS0{2oxzdq{=2ub$R|2NiJ8aqpCG#oi5FCb%fb-`;MI=lwNR zoqJ;Rx;yI+AMdsN{~E)(e@x;o!wFpkejwZ-75*{?1Pj4pgJRpHeh74OQ3R|Y4;AlG-#?Ee*!0&X z*&ope072%+re2}-vkmaZ(4LW|fv35Oey#YTYnUh`=Fz~s7IG5mXK6eZov##w6fLIv z%*!mnh6%Cd4pwN1d~EWG`UK@^Q+u{wpPy8cju6IdNA|l)2BM1G9oL!pffYpO%cf11 zu1i!r6!HhEP)TSbd~x<6gNkNCyKM{2R@XKOD13DDo)HypZrSmkhztvtq; ze961tvqQyFv7~uIO^Tz+oax;zg(>J^>esw?if8sutfEdQBb0Z?&amM6O^dcQy53a zH1Gae+gN{ZIr~Od3a=Xw6Q|aS;ff$7*k6M0u;*fgP8ss9uPD0F`&8A7$c@XoRR;Ii z{K88w1A9NP2dF*QKMY;CtOXmCut&*AercD!{y|Z^69BsB=UH(ak_1T3-s%{;`9h zHrw~BQgS|(Q+nmoWWSUr@ldzQXY>dXA3zW+MuWpYOeRzTSqBSJd^-L`=ehs;^JXIP ziNt90Vlgc10z{-+`unZnJB}@U=Ydl!INtNNfalU8o-o0=(eo!RLFIdulAlKQx|Gh4 z{w6q+C&%RS>h&MsGH~G}4~F(7ObL<@iUxkL{7lZS2%4gu@=4EK58)vCrn`%FMpZI( zzh{{79g1_lUq&4C6leyflH zTD#WoF(r+u_CA#Z(2+0!b79VK0v+D}L9Kb6etSbeIo&9-Ghlw5RSSIHM}`%1B+W(S zhF8(b8+ACy?i>gZ`w2;+bSS;^ush@5=ca=a##=pcO>WY_DvK24%rTzeY`;?psx!o-P z!>Ogo$Qf*9>5imE9low^ClRdoCo|=tduW`KV}KxJFu7qT%~%7rbrCz39JijAVnD69 zmO9<_C`4g8JDFtsz%3|f=mICZxCMla&>l~Xd36gta2#|b*|$d|QtT|RLTlMFAVFLE zO0sXjbVHOTFLg^*F`Hn@4hqe?ibxyO+l7)R@ZEjYZGIvx+9S*%>ICrc#bvATL`xNz z=FM`#IwAGOm@DBSP8<>VWMothS~pr3#8Q5IR>)EI^ZW_bip8~C72stt5=%Wvq3R9uSIHD~mP>3e0Q_-_yj2e;9t7hy_*+tk*EY)??Fv2ov#}KV(>e~D z*)QK7Z-`>+-A|V~Yp#qk8j9S!(ae>#yuN$w{!Bf`G8U@Hnh?J)>UjwqeFLOv?T^~v zc549!wodccA$D4p?UAI5q2q1^Jyz2mj!M9Ip{^UdHjut^Q+V%1u(J3A@G>O(P(68A z$4_lZ-5t>6pa0lTtz0_N4Dh5Wd1v={e!bc$Xk6LO!jiUni3AMoE8HFLdHlfftFwRk z>}J9YWc|9HLRFnB*VuXJcJ@XvwBbW2g<;Y!2_4I+21$HgIl{|4nXA;C0slLJmE1{y zR4qoh3XlA0?^lDwkd3j=Iyg5pXes2`IHjt#gPu}FR_H1h8)2D%oXeI0iPo%ZJL*A2 zIsbBV;=|hdXq550L{Z00q%1(vyp!1g`}Vh|<8`W4?@*900`y4ol^jamS?n~U6Zs^M ze9_|GY;BYL{| z@)C`1%3z&X3Z3dco63v8pEJ1Y?>^2x zPOtV^0+C(|V(kMUK(7g-3oS!N!$f7nNTypTJlnA#-@U&`^TgF4OYFMatRq=IpE&5h zKHg$o!uXI`Q1$4zVMs&`vP&vue)dl~XP0EVs&?kX28Q#RSy&FuFX20laU-P(?OEW1 zf^eaH)avx&F44~pSh*-igLzP@H6oE9Zj_|s^^6RsO#`n+%S!2sVS5kj*ma7#mDp1> ziJb!W1(;Ga6<+}tr0t2b6`#o_rTR|_8WEMd(FK4fB&=u93zimnW(8UQ!)1O>%ObJ|Dp~7QsN6PMR-C&_@;Zt{STfTU9DJ-{& zN0p^cqZP!oc9k zw{r!b-XBKKXWj*hOg)l%y=E+4l)wL!!?Q!9HsP%lIiLQwy1|b^#Gu*d@#=biGDlb3 zXOlEh`1$uXoPS)3i_Z&s!@}ecv$cS5A}odeQ)U{dE%$UNGWa5Yp(Fm#67d~);_-pQ z1t9+M@ru-W`GM%~$3HQik1c?=8|bIEU9e#8PZ&cp9j0(gsLaP!7>D*_wbTFg>DE&I z%D`*sV{JnPd^>E>0S1Va09s_nH!BW&wx+)VN^`2C?G9TLECJuv%Zun$4tD>BEhohf zsfK8P4a(Z2DLJIP(|c``VTEi|^g? zWx`o(ejVR~H#g#XDBt+^z%(F}M_TJnk82I9()Px>n}hO+hLl-8Ze?w9PBJ zNRjU<=FfF?3Gbsq1)ANAlNb90Jo`~zd{)j%@U zR-*M#g?96eD%!fYH9JB_mm=l-LXXXSE!>P>ew$G{aiq)8H=3zz-X=Jlu;QU{=F*=s zP(hUTCjS<9l!$7K)x0(fb#lmJ-$~c{J)+HSD&MAKxd}*uo9J42wk zOoqb@9Xp!(zrH7H@_xHyq`spfsu<1`msv9_exp7`M>BgAH&h^ln>uqeNYk``nK~Zx he>_8fR}O#x021P=1g`au|1B_KLZ*U+IBfRsybQWXdwQbLP>6pAqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uhf59&ghTmgWD0l;*T zI709Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_IfqH8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 zfg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vFIcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-kiKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BKT#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z001&~NklmAMOTJ z0tSO9`nZ7LBMK1&9~B6OkdS3UmdRxHz4v{ouBxuR>Q>#l%kxK7_w+zegh@!p=e}Ow z*L3&X?z(k9_nh-NpL4#a1k1AcVUG8_=RM!||18Twlq8%E2Z`ln^0}OIU|^uNrfH#U zCgZ78DrPVkl-zE2xlkzNfb1=|+_EAF0uMd(5Fh^Vhq-w1BGqaYS(Z^0g@+z`h_0?K z{C+=)M1rNIB}~(#UaupHB9>*b`d$P?#R@P|D}?DOFWx!{PAg;lqcA=jP^4xm>ObZSiGZhWdp%w+^Ye4`_xF=XBvvYw$}?xqoH?A&=O4&qvuAuhA2yq9%@Y3~ zAkShIk}S8COQkPo((#wxJhGDENU9Y3-I<;yQzt5+~Tc>Fs)pO12-!oC{?7r# zve+q#!X`#~_ldKCCz>prl*L-VsvzL z&=QS$91iC_xm@;V)mrVXSXQ156!?DxK&%2#5(Lo;pvVf*mM9aG6L+tI@n2e*X(G!q z;c%G#{(fvW8=9tZ>Cz>#*({c2q3b#;D=Ro04s14Ca^JQ4KOK(7K7HxZaM#jO@^-0I zerKgzicO49kw_$n$K$j{TL=Y%w-igI*<3F7I^a8v{Kb3`1A_I8X_^NFK{)7e*l{`? z$cjRGB{TADY;4ssR-b;C%SAjMN0wzCfBbR2^{sD_NF+FY`ZT((lgVVR$c{x(#x!*{ zZQjo2!A>HP@N8d)_fy4u)>KvV*V8$dBbTo-K0eM$dWCpAMkpBa$+G-_R;&GkX`0i5 zAXb4TU>Fzyv=-;t`i6Zh(@Bwij2qY;r?&k&&dePwKqzV^hQw> z9|qn7O#C=3MEdZDKm0@e;y1qW4J^w-vDxNK(_E;k>gyF*MmG#RZug${_I7V~PtSuc zr;}>6idNH*Wr^9DSrW^M@B4SRZ|&RkA7Ax$=J>qQkhgLMK}^c5CmqXr!WiyS&?aJX+^LsE?&HdVS=iv zI2{gxp&-Fv5Qp7CtyZI4F82w7@IFx#Ez7bVTkm?m-?9JNYhD%|FE3x=HdnuR*V}J<_X7|7^@HtUwPS92 zf&N`@Vf(Iw2-+NyV#Dd{qEsrOYh_$c2b!j_urSYsix(Li8z-O7;`jS#ZE0oqp1sJj z%;?B4hGF7#IB4(aK&w@;1Obo7LoS!6R4yZm0)D@bc&rt>!%jM#LD%cAlx6uw%d-9r zs6AhRTos+cG)?Sw`(FrxP$-qle{WZ8IP4CpTJ831HoMp1aJ<28w=W9_SX}YOM8E{N z>kr@aS9g5)BfnOfe}wExiJl#AMz3X=yzmV+Z9Yin&|63*)8sPCWV1PjM@E^No}yZ< zqN*yEX(C`z$Q5Xf#R!GNY}&k?^XD%xGc`dnxlBuI3yPwkmdnVBf*^n>N@$u!Hk-ra z_0ZqfORTk(lc!FT&lg_mayc&ohXg^Gem>OYt0w&Dx{k-=`JBt;8crsb@3Sm3V6)k& z*Xsug)%=Xx>v_M&?fJ|)NkeD?V*BLBKk(@f{Pri_nVq>8wW8sTY$3aJg5k4|&@%87 z^zC>Hg<_dd&`T)jVRUqyzW#o~kqA>$Q+Pct>^2*ZJ^lp8j~%x%nY0lOI;5?e2L*>a zg2U-TtyU@I3;6v$>UteruOkT}qA08ttE$y13k!>Mc64y_jj!bKC!bX?pZPnqYOy%b2ul*#sWh_z0O$s4nUw*t5L7lsT(E&jWU2Jiim=M zD2PakgdhmaFD%f}(ay~`-N?5edW89fg%+>J^DwZxUayy)OF*tV-1T}Lx7%GF8y|nu z(?^fKxl*mIAb@39j@^CDbPXD39<){jRKvk{cak{SCF|_sHfBrr1 zyBl!O`?+}GB6r_? z_n!g3349Is6!4G0L%>8wSD#&$73y^j(=-u8ncaK#P}gcrAet7kW-Sdj=5#n%P9`x7 zgPU%6B{sVat){)nG>muG>-DBE+E_0LKmvgPfk1#@Fi0Q}!0-1H2m}a)Lb%;-R%3-$ ztLZ0Bp8UwM6DL~d7ZyII8+z{Cg%Jie_3^WBdo88KCouF9x>lf4sc`zt1p={sY~6M( zxqKeo&`GA!)a!L5NxGbnca|$< zd|oe!WEw>_x&FEXRBKf%(?k@db(SKm)_D*`5r^H*!r~IaV1R3{*-N!n#W0LNQq@YR zs;aE67eov>apJ_9PNnNQ^?DseQIKVssi`Rz78cgdtyC&ZPfr)7;e)_GceKa<*WDlc z>RO#jr91=`;+YSi`B2-c`(3Zl@o6tP)i7S^oM zvS5C0p8mdGMn=b&oSbacwfYA%%lLgk5MMY!{gFo=`S1RU9q0f;zxWGpb8gytki_s8 zF^wVuP$*P5d+rj!mTTzh86ufnMAI~i#p0S}n5MY~3YJAClcgova?PPbhrSXD1S7#v zaJMYUA-m0nBsW--%jsllX1>(B)M_;r zm(naHi*)s0gK0Hlgr?Q0X&S52`Fd?h6h%tqGCrTr*Vo(k*6hm44VGbq3|*&EDYLS& z!u0G+_Dlcgs}C(D7A_pz8<+k5AcNap!PN8^Hk%DeYOtz?s}c}|W^fl8CF%xqG>|2U z#B!2gC`d~*O1-Yf3`2jDrq!s|wHJnk{5KB;2m;+V-*o7ugF{=$Og@I8<-xKj6ibXx z&LY_(baoF>EM%$cb!u7-Q4pJ!u?mKXVOWhGFhwDmTBdJcfXT_p`U4L>_=IA!t68=OwrB!>b6b{j62hpx^pe(#PulzYGNjq$(x>}Nk}n#LSpJFvI! zH$M8?um51Iv&Wv+`tb+bIP&CSqAe{roepSP+In`i>b9^N0_v)p6a;}{u|OaYz-G6j z>-7WaR7$K?tL8=nL~OdN05G(Bd!LQ!4E1Ub%hD-V>MW;9WOFKmJL4#df~J+5b$9cM zGH>JN(6ka0um}c&q*8U}-+y3tY?~xIDH$=Gvc{5Fg;I@`ObHVSuP=zIa#*-YfFv<$9@C5r54p-!*T z+-GrBq9~&4dc$2A24)i!!)*La5JY5I#%8l|>g1{2`CN|Iy!N#l&O)3(Amn$uBr8v) zl)*48>bga-q*1BXn>V?k#G96hxdw&>SnC42*#w5Q?;9YQxSUQLZEcvQ+30eYBxFTF zmK$uU;inp4NP_rX>`Gjt*M^~A(XM0|28M26=sHqUa?y1IK@i#kf#8OtySXfDezOsi0;QBmt?n%)SWrU^7e$6Rg& zo89((sqTNZSY=LE1Zm+4@lX(1vlL-XDiHzU3Yu#)*V^}nfhdUx2xzq$eSLkLJb5B_ z?X}l#I6zi|gI-bfYI>zYS=A_3YFJoU&DddCCduVREYrkpvtgLV6_&C3^{UHi1aouE zeVL}YcH@P$r+=MTD6A%d(z-#yIK zF3SQ;Rnv>57r4{GdEn~GsXU!D}O)FW; z#ILlF)pJ%sY0%tt7O^gd=%%?Ez;U{ql*?uE`2t#9V`$sZ*}wX$zuItsm_QwJ8wyEGs zO_6Y|0JRPXLAngoszjncn}z5)mSv(S3W_X~%jHm2m3{m6@n?VbXXp0r-Mirc(Sb5h z%NJ{jY+ki06_sLHBU@1My6re@5{hg?uNOFZ;s~NB5D5p@1?}|~VP0V^jR1eyI)rs< z?Ha3EXEkdvMG)6=6~i>vl2OB2XC+2M^5(#7I`oi$=rKdKc+FJ*T zK&e{O63b~d>9R|JMLJtXQ6&6+Czb$hu>i-9KFZ|O0^Qx+gn|Jol?s-{71nS$|F~=& zYtn}xAV{pEw^v$?uue!61hL_&4C4x!WYto1qd`1mMaJcFk;!Bz6bkhA_A)j)djIh7 zh`td4(VKvzfz0VkshOb9j@Jn*xf*JHs?0S|L{Y@;a-nH8mXj%Dn+>nq%`?wD z^Q8^Zzh09$ft6BNFb4;@dL^JWT)(3Olz_P$@w_~^4SX^Af zG)#g4KNl~Y|Mp{#f9KJS3J5@zMt6AvSpKK4o*&*i5M!{@K_XQoU#QX%_hVNiVzDTd z{5XI5iBABqZDchb*txx(M<4t$_ucm}00;K(BNPab&lkTZ30###g!NW%MIc}Qy?`W%YYC~j zj^?fv4N1mWnJdCvm&oj9$FJV}~F8)bQ}|)6dn7dOq`zA}|At1Bw6tL;rdr zRgD|J{A<4sdX@i87d{OGyik&*X5*TUcPb<~@2 zWDJ3g*#u%yWjs8D3U=YTf*VA<8-=-wMGfJ^Zen5KFHks5?+s+m%a3Q zIy*X0t5r;MJ-b?$=n0qgD@l;9=ptFIb*#n>eZ7_F=GyENNs_6Q%Pb`lNRmW$Wra%@ zE>uUyMt`bWtLZNmK&)myG6!4&5>Fhxbnb0$d)w)rP1p09H@yeJDx#`YL;)Faue)@ZR5u01&uBiI017(f=UQr2b)aP}>z|8k zaKKG4V8`pR;c+_{9$UaLYE%m&eE#qMj^iiJAxRQ_eLX~5B0xjkbvm8R*3fmihbST< zt<$U;NuXY@W11$Ra2UJ8foWN&s>;!)k8;mF_i+03X&eqmLltdqTPT;ycg@Vq9DY7- z(2ry6K@C`@vGLLk$n!J9rNtR1cBco)fNevAEG3G3=gH%oJwF2iyyQTI2k*0?*WW~2 zTNIm3K{s>?=>krNgK#8*&+Bc-e9Y z`*`HxhxqJg|Bg^NLLd-q>;$vf)M68yO4P^is#vIum%?7HnSqn-yr z#%2>3=8U9K!4O`bmrORxdvE_`-uCu)@SzWXm`F5AI2^*|c9G3y zD3?okJswsv8M4_dv3UIDAG`Y#Q9%$=FE*F;JqmCz(&6pv3dUAe8k=B)p)hWjn|wZl z$L&PdErteTY#C_7<$!y?`UQUOXMT!fPkxhw`w#HG_x=iRc*7eo43lHWkMsEBPw>tA z?`Ld$42Q$c#P~S>aqqqS?r;4T$DVlxm&;8o7H9L;tvr3?DU!=cIyyS&?C7LaEK#ji z$>s8ReZDpJr6@|Uy}kXqcs$Ottrr6zLbJ~9*t)r=yCp2UOQi~iq0<_TqN)WJ7E{z} zCWZ+&zr3G)JEFu}L*y%VX6EL&=kGqqNA7qBk3RfO4!z_ccYo}oyzaHHCzs2TFBG^m zJc4OixZUnX&#|I#@xlcvl?rx;gIC^o6Qko}jE#-r_4(=T>%}k{{mH3h>WWcPhG9@F z7GG5=m3X%GVgN*@(W~X#w`WtYER+!?8?q!53b;t8mdWI*Bv;A=JPuxQu!n)(FrD!L zxxC8$-JNXR($DdukMYLWzJ>#P2l(X2KZM&M&>HK&?Q&5n7AfQl#N%;%en0Veoaw1a zlF1}hRb|(nJt(5gg>&Z{M4`VQx7&>6~bXxsMd5$)8dww53+Yh2mSrMw6(X8NG$LN zcihE^r|zYchvU!#5TVmMl3e{?zGnW#?T710Xx<0mVZY2_Q;c?rEM#EgQuZ^mj!_ZYs zOF)(-mJ*4^_BW3Yug`~8(-<2a0~(_}_U+%#{M-U7nHA#kI6XZ*l*^@NXMF~r*MqL> z$g+$eKxQRLFtrdBGdMkcRvaWu)E?QLx8iy%t^Rm~tAa^Z5ww6?~WnI5NJ&Exk6vD@t|FE5iX z6bOcbIGs*BUJv8rW0cEf>h(HXhqhsuCd-K>TrMY@Hg9U~aZy-UTtpCr25SpP$gE^g z)k;lK8sMy78=dxwfCRV>Klb?ib=Ms{yldB<$jyh^TVJ^+96kKxDEUH-M6yUr#6x#S zkaAgLB~zhP*0}W*gG56P&JL$YuT*FWyD2(kg24cjW0x2hS|Hpq#9TQ~xm+flPUH9c zaX1`ATUwc)pJQ%rmS{9ecXv0f@i?=ybJXi~`uqE7X^EoiI*FxaoK6>GBg5bR!aZO3 z*y6(ck?!uES}Y!?R;yj{hVJ;i-`UWBSgUe;tyVk#^wUT4Pd|Oso0{G6l0(~H9bHQ1 zD62J=mP_p0-9fCyiz17pGi96(nVnl(a5&v8Cg&+ts)U0M{C+Qz;$$UPV0meVww^tW z8D6^1!oniq9XoKk+>IXKkr5`w#)-w_M59p#2L_p*o~B$X(ca!pZ%;30&Ys0?vtgPB zk|Z9VoESe0FfuaC$jI=EE~uM8z9}-EZvI<)=R0of_5}N==mAOz0A(epsE!FL13VN0Dy)0 zd1P5)aBz@7z>g@3jEs!X+0n80)?07e^nB(6Kdvl&wHqZ1BtQD+4}9aJfBrzn_50%e zU2Tzl1HBP;4Yi`k3M&PTLQ!SMwgK$nPL?OfSy{>A^C)z6b`Xii%scP?`^kKvVspwR z@8rZKd0~Eb<+FeL*Q4Kg{5#7Z`1Rj>eXKR+_joF@8Ox38Cp$tjkTN#^J0`Q6{UF*rB?N{IQT47FMr$>(O%mLbX&ZRPy%(u0lMhT@0r{LA?d z-T9Z5Ch+Q|ix+qAz2=%7y?y=o0)ECu$Cwx!<0aQ$kATINEt?s>G)$q8XQ022O@o7+ zKYszY$HV;GJcEOqUVXz2H-9D^4*i!izBW1_I*o1=lg2Jx*FaCWwU95fXGb5REr@8i znV4RtqoalPu0hc3%+D=hR|K%?^z`)cwfl~p0KNe9H!Us=^a0xe^{FSH81?ymJ%=AX ze97f@Rby?jmrhQM39Aio+lGcXe(VHGOG^y&_pxUKHVyJsspK8mWz;^HC)4jjbQIzW0p#r(o7KChF2 z-;2%Z=b2;2?gfsn5`?C;*?PEPaEL)SCV-%ndx8<|X&xw(0&RkbA^i@juacJ`akwaa>;47RlcbhZVfx~_-Y z+FKYH*o0&cv%FHKUQ-zw+5^N{SWK{zUc_#f>FV7~y{1)<967$aX+F~gw?tzi+*81# zz?tUHT1ur7)mn8@*L5bwM{&8`w6wO+KQO@P*ccVHN-!8;)8GK*a+!)+p;#yqYmL6D zR(tMeX1)*ru>qPWO3^pGYS(K^MU`zsn~(!B6i0-)**O9MAKm>s0Xx%E62-_xz~VgW<~tR0)9KXK%~-~VQB zySwvi-#p6Z%>!)Tu@}Su`9hgwVwx>O`#=bhN+ejEo51UJ6K(0h;c)St$DjT|ItaC< zJ1YWWRaMnkYfN33pJ!%z3cKAwdwUxl?QM*VG>k14Yo)KRk7B8`*3%n}hHosDOX!Av z#d@*G?{d)ZKJ>u9fAk;10m=LD;p3D`Dm!-W!X51cn~%kXNla6tcW^fVbF-7=v&+~N zfxdwqB-4e|lSf8Q{D5pO(^LpDyLRu{wEw_?wwak3Mn^_*Iqi5nZZ>V&#LUbrrE(d7 z&6_t-*Xq=Doy2mIP%w0}Ue~cq>x#9}0g-5IlkWcDZ@%@n<3l@qCr+NHuA3mrTyxES zzy*SxnaOiRqA_CajYN5T^a7Sy1yiG=Yk=b?&K%cFmVdz4tu_?`^TwNQ+T9v!#b&c{ z;rzL^6Si*MLb+UKVPO$~Z9`iL2K|VF$jriR(SwI zp>Y3=H{7^gEm!F7?q>MXFe{nHocXSDwCaG#_sSjGc!-$rme)gw*YpsnFOU=g8nTB0Z1&(l3W_c z>v7W(@1s_&^4MdKKluZ`ri;dCDBu1A2Re4{+9}p*Rl0k6n46pB;)M%{f`H%Wqpz=* z@$t(ul>7VpsFcf;D`m2oEa7nI=89Tw3=(LrjSh&_WIw{C$x8m26BnzpERZj#?AUc} zvzTaSapoe5O`*MK4*-+n7bxT!AC=eDvzd|c>G6@N?5Q8{HA6rr;4c&ky36fh`}Q4p zJdK(4XHK13=eD+zPOp&5lLoijr_cCdT*Ze&^J?3pubC-?RCAW0&#b8~BMD;kYbuWOBY^_ICa6bS67sw#TD zj$W_7C;(A`S)kC_(d8W(8KbRpfXzbnZjzRQxES+nrDPyhZqf99>PXnFYI!))1hEjGKi zp?{=j(5eOET{{}=YWO${^OM*ePU3AHtgK{=<0mgX^8>z~)~vZqG=;|iVE*}^{pshv z_|N~GeAx{*kjv&ddHgba9vmEGYI=r3u`$7~x2I=qt6M6)g4gT0xn9?rqdYb?ATnS| zu=}C=KK++4s`5lNP5>pxE7nLUF)i8T_WftZegFL%?y7Bw{ zSeC)!!XlC^zszp8M^sh)p8EPm0z_=Go!-Cxt3UqGjj#Ttfz$VYin)apE%APK>^``5 z;_Ubl!mR_iTn^A@7$0eLy&EP3e0I*98-47DP?Z;flfZ?hrP%#`zZ8$f2!;Y&Jb!-e zc&J@|Sbx-p-&Xbrsho)&nqHQ3S7$3hxVmXN< zDRjgmB$LU^nTyF|KVl8W0NihU}W;^R*oF?0DM!AKi@ zJ?-el1G28GldW8)1q76jaOoipd>pZpQ7!wbY$nb!UHf2-p2``Nqq z8lo*x&YeBmtcQqrJRU-!0JC#*jrqV{AMI^zR8+Mw(7#qA7zn=XzxqJ47qW%anrdq? zUuI=~F<)F-TBfIO6aJ6`t(s#cIY~aBBihn}O{_3CGsX1mGA^fspx;HgT;c4c#Unq$ zHMpB#H~~KN!QcD(U4Q)X%%PXPjJ653h*%Ty6Bo>R4Os2@^@`$29TYDQc zN7Ux?1>7F@t-7{xUDj$sm}`#*Y>}|XKRKOX>y|+<3t$#mTA0ML1Oi?Mf{|ftY>ITI z1cFFw#7iQXA0C@kf0Pk!)h5HLG#TI0hwk{@zxngO{L7^qZoUP(qHyG?#ypu?twyZ1 zg=)1*DwU+BX~bf2yk0N5ZjekSkrmq^hqI}CZa_eUW(i^t=^?a)aw@Yx{Y+|3$MQMu@%WE; z9U6^p$rDXb3P2dh9zOi&w+Ad<>h5cr4lwpp*7Y@UDMEN zHFCKuJ-vN9Hfm50-SL5+`0TkSKlPhYzwS74e3-$3E?l-6rj{d}T0*UAg#C8FWO6RY z;&KUxLm}XEQB^DTOJmDVUM1H#Lt|U^VpDkzpEz-1$%2X`ikv)g5~tINX_!PK5emg3 z*=!zN*NL?@3R{L@u&}Vm=55=1HWDDK*}45!fARIde%B{I@`k0kb3F9OQz$kM13h8X zQVOe{Cy_`ZiXu*jLR~i*ok)`}sDMQz>?V;e9$!f6qgOGWEi_jZP?F1u6`S3j>Fn<2 znWIOkX&N=HhR^Q<1kx*M)M}MrFi0>MAeYPG_IR+{Y!@~XAPyibN%GC_{pGj+5}C7H zx^Rwk&cx^Q&=t2+%q37OB^H;9cwBZwNu*G!F*3OVf`C>x3Ht2J&ZV#R^fr}7CrSm# z-g?_>_8i#1zoTBSGdeQL%=9!C;B+|fdORdkDO6Q$>@$hBpsE!*J3DiByZv(;1(4Mt z{PAmcZ@Fz#k1IMoc7a^UWFb+cBjzFOgK|YBol{xKRSEbS6BL$~i_9+M)_R^oKJ-%; zmjC5BV0~pECkSH89e3Pui&`$@a5zXTEph4MMVwA2AP@`$$mjCSxm}G6nhTH98_paTz-JZ{{ZVJ7ca`4p&Y#@DLr+Zoo}ZF6q}7qCWF)AARde3a5x{o`;Y(VX-%u~?w|j;4FSli zkf;3fzdm{@$6`v z`H90vrv9esUalq}3eX000X|Ku<<4KYka+3!hdS+cJFTrTCMU+3oSY;ajv$F5UXPnx zE>FPk$L?^_+0}K=PyO`Ux!Sv{o=cZiZzf{1K=yCGaN^kKzxdUqcq~LT8o^<+sMd6{ zg(~HehSQ;->n0wTNGRw?e&&lO-go%O)ZaG!e60z})y#{Orr2o*N{>A9$h0pIU}*bx zJRUcR#1f+;BRCw6#wTEVJgBOQR@W(4%8B#m&wY7yq~JyYM5i&&TV_biGPCQ$f=$LO};!x5&TVcj3exAAjfek&Jk9$X@SW@2dlRrtVIoRy{ zxeLgO%+{fyotDM9)q8g}W5{z2$f^|vfz7}{ps%~lvG@0X=UvzNygm~1XIaUrwJ-eJ z*}JD^GhbO}6)Ml|VQ)0+ZA06(@7{aOHP;?EaL}*FGN(?RLaQ71 z_4oI^_VVYOz_0xBFK#G6R>?zz#ul^vK*!4uc3=Oi?|#kB`yMRIt-pkJ+*7|oWN*yZrnfl%wE@yx$hYx;?%d&)O&#PfZu&R_Ae7& z+^N{?bGoi)*Z=bHrHdO95V+i9+u!_phQ@yN+`0h!<38+73yC!!Ab^WamH63}Q_I@0 yfCx<>JWY3@Hi4+|!aG(ITX7xre$D~;zXJfKJ&)_6)FcrA0000y-P-)W9vfM@=my_I)zBLN zAf)(z#{lFN(4bGUSgS%c0DwRa03bXH0JwQXxBCEqk1zmmU;zL~%VwZ7?5N-7qa?lcj?%*$s4pa>_IC?F5yX`1WjO1&|4Bqwna8KHfz#jlW zFp7bb`|%gslqM>}r>MjyF*V9c2npunqX6%p{7B(2BdWw+8PN&~$etW^`&GD*top67B!Ex&2b*kauNFzT#QXaApIFe6V zdXXo=!_iNZ33aIDlaCXC4!y{>^?~pNVG!nu_YXVN4kU}%CyD6X{CQ7GV?AzEmfTMh zHL<@N9ESP>hGExUBrKo89}eJxhkoKMgO!=RG);pv-f&lxw9FXFh&L-Hq0g#nH{dC< zk-yeQ0Qkd*6g#JsJ5VBJGXqjh{dE?OMPvOMuru2^W=u!QiVdmmw4`}}xuU|Vs;cab z&CQuRLptC2`a*g1xv3Jp9|kObhZG;UWL59;RB~21h|y7JLA4wz9&;uSf?CdGQ7ycr za-=d;G3%#qrFd@a&qDbnYR7qv$nSG zCg=Kdi?9vrv*^NMe}%Kf%VP8TPM0Re+_W?BB0J>vvcYkR6H+l*u-flA+?PmAOHXfY zXNOavi&VyAt!Jd4^Qq3{&E&J?N0yc~Vb#9aq}V(x4z{;%!q?ZaA31RvMgQe}F_$Hxm! zSN%7MG>c@w)w))5b*4aK;tdcngl7ZPe-*O0?8}M`fI@h)2$q+Zfg~hT4q`O)^qWTu zO-aeg>mcGjt8}AU<)(%5ni@hBqWg2E6yDvB?(}dx*4*6OYyGIGsK>Jj73K;P!IrL? z87G;GX&puFpDUd~v`kFOJW92CYXRE3W_v-^Z5E!nY(kp%&_znxO$UHd`c2K}RC| zNT(1#^n`Rh-k*v-f8Kkt+>SxR$XHCb*_G5@$ zSuu-=jYS7m+1}n>F-q_rGbAJgJ?8UXLZROex2IDR6A>aYYB_=pPBXj-eH&w#=G5|c zM*>7~P$wl#?h2d0z<>HUxVVpN-o>{|48ocPpq@XQ1CsCdNa-cqY^;JK)yi`Aj*iNk znlcEf1w9U?c}5E)e{3Uj{)B`X@mv&%>^vt$Axu3@{S+bJR%qA)0|V!~LZq*j{g_b* zSLcPiX6L!H4`abG_C*0Pn**sj)wv4 zjIq$mChw%HLwNUSqEOebi87V_)6?DBDR&W3*&n}u3+w3U$o%<9@qdDe<&VrsOG!Pn z>;|k}$eg~gR<}uVtp1FJOZ-MKXHG+1ouO{VsaV?gXnytn#IO7CXtldoE9~Et%i`DS ztj_^!5x9HD$J_B-Mc+Lc(BM%Enb~-Fkk0vpDezo0itK2)fnR6mpSLYi4K%32wz?nx zYCVb-78cgtS7{aR-0T+buE#Q0wzTBrm<7gjr_j*Su5UAU47U_rQ)yGmPN7h@(&*$D z!efmqjbjH>0rQ3rrC!O%1cz?+C!3Q*mh29H5H$}xsIKbzy)6{B5PH-w01Eue-DgEM zc0T{jn+u)5!RPs_E{wYyeTnF4WsAQ43_XBHG)WMW28bqK4-XHYGE2R47|RwgHoE2F z;tDt$>>HpE`8VoQFnX$t@q(OX9p{=4fB(GN-m1=kyRI|_l)vG>Q)03XjtkEi90bGIZ`PvMMw&3{vmnsLg}Z|4;w0)zGeoWcYaxE^|kH=>5N_Nm!0|^>y6tF8X0dsP@yA z?(4DcYaz`}pM>t~9rHKvIpdPQfB*ij)(T00RLC<7sH>}QmEE>@Ro~SgXJh`nx_|3D z`{m{~=<39Ebs(OCYre&uIY-cR<2rFbGI&pTO!kU_ORFH*)xu&8!}XoRSGjsG!KUW_s=~IzLHLIVL6RJ2JVxEDWUQ7oHJz)WiP8P?>S}6vS;O3&dE4s)cfz=lxnFpm zJ{IFZ4~+sTHg^S@LDwFNTOa3e^+-I9=0)g|agvqUd}Lkof5eh(f`~;$MWZd_GSA2+ zKW`lqsgh!MqGeG9O+d!C|I<0c0Fa32&r-wge7z@DMn(oYzq*^lRv#W)J%1>RyDtvM zT+kaxbfgqY`!+h-P;$A{a;fxSKM-O)nl z08>D_@39pcHK*o;)!z-SL5v=&t|Y1q1AZhx;4qIvfuwf~TAlj)`_V#Sjoc9^co~v+ zQgi|jD6-!Gxy>NFg=`)CrI2by}e zt}mzmQcj6ZU3abiJKoXAPnUvSq^OfhT_LIdZ@w|rzjOhBfQje52L%q)4dO(`* z8@JiZhEHFfkXu0s_Plf>Nh3ii_<0ytD}Jxq{Z7mD@-^bUiw4lj|LwZxNn}aXyQ*~2jk^w5U&O?2VEYyMx@sW&s`WuizQLQ zgw?9U<`0j!iRAymXA&A@|?u6P9*(vP5q8PiZdr6R+Y7*cb^)x zgt9>)c_TY7Tp_nt$8*j}a{0`1_#fZ|iz@b`M&?G($s<|T);|7N@|kmUYVPZCz~ulc zpxpu+n{oYf@HaZ{V{z-0ce(k_3fZpH`6D~9LRUko_wwtXsY3+t9jl^8bCQICt-EWi zzQ=8eMzy|gg?FMho)Wq&c4Yajgc7b^QFo5|aw0MDCva;2HnM|&3Je3^B*Pidw^-#w z?n-u?U!qJ}JtFGr>XhU@z%h-)6*)dBj-;nOS zsaY%)aVo)0nLyZxn}{(f$YB@X%E|Qxl=7oLJ$>4a_WonkFI%iePaB)+pA0p)v%mjl ztXiXM9{gqptGrp6L;qm=n0!)@R+8r85ZgL5_Gu!=$vh%ThimnxyBIemJRHXC-9_Z6 zZ%9LxwPx3Z-|um~a%<3JCt$xKn+SE9X#AeANZLJN@Kr-g!_rusgfS%dh4U;T1GCOi zVS}ARWSF_ulj`qr_broeD7NrUrq3|rPsE9lr0J(& z0(oU#9M0*~yamJjCw!-p+A_&k-B~KOekrIJqI;b=FnL2|ecHUV0(x-}@Fkrc-;&g0 z?Yr#Je8YL$%yjc>o~)sxrDpm8A4f4d@9Aln*=&dNSn7Kbnd>zLAPL;s*Vk7G_?X~t zC?8kQ{WHBxg_g!ZR0T?vk*4QT0;jo<*+Ye0VIWTDl{(E--~bwLm1eDKUAsBcc2AdB z<<72>^WB^Plwrm<8wYFuwOOSA|N&?t18*>C>hEVrFnSV%s6I&^!v zdOzrMD4sMrI{NM_V;x>c>RK%GO;V%|IQn>QLV{}Od0kN!#p1AW`_fq4y;4_@3};@8pH#|>yXFDVt?Ge!=>&j$uwKL3_V*fF9Llt82wb9d_zJ% z2e+U3{1#Lfl|TVwuk{qm=aEFKR5`T+aI(>;nXP-`wR18@t)7REsA$biNco^rlr5Ow zaU>p*1reQ;Cm?m~??t#KiOgpwAD7eaO*Ci=Ca2u%bgw^}BO6neJ+dy)E=-7%70Z(H zGBqWo!FPmi_6u!EOBMat1?e;6P8H|xYanqb9t<&D4JKs8Q!7QC8B5TUS_9=F<*q`s z<6yR3^>$5Iv{7gO-yY80Csz=-3(PRWc@hZ)xi zS%Bj=+vZa;>L|5qM5LvW!+-f_0vT)H@(OU!4|qnVmU`w8{jy>ku=pOHi8veMm>N;f`==WfZl|G#xibO|pey7xcVOV#= zm#>(P#^P>0AH#fJr4$Mpu?gVgInB`NOzEH@d{&{PqVk>vD2K;@;?yI^_~K&p5HmAf zLF#YDTKFg{HAG?_RCsY1<9Pj2n^K4ODK{lVcgR+6S6QqNyAYhLm%t7`a!ekDrQ^Jb zj|`S;oQ)fs;}SKPR9211#6%*}<*f{#84r$*LSNiS@jTNp%>yOim!_4_dYmlXCZ!~& zvnLc4o#@dnIE4K8When8%}BOGHQ-035mLYWe%|p#6kCpzTp8bo$AbYE4cj%)%|hDXfesJC2ZT39zyAk zWszTx?jo-jJFEMS-Ui;o@_S+JAH#EpQ4Te!aG7~;q8p<0Q+oe<37K!Ldw2?8&D>|X zjR)yTzX`N~QABoyTN3O|>n?6WGL3?enOXE&g@^czGqo}6jN(11YC0$FH%;aH+Umwd zqUP3P(n0l-HMTqWs}ZueDx4S&FsOw>>ep4+F`>p!$UHpt@c z5p`AZw4b%KGzm&o`Lt{m!;|!hTFj~${^GuuV$pZtC)u`^;F>JsMpr(K)L+iHG5U$) zIk#=|l-L!N>=yjv+5L?I{3vDTjLKksK37P^1%t^6WuDsVniP;Jnx(L18RiM4^RSH#Kh>6#jtA0lV-6kb3I`cy{cqNbcJu9 zHjA{TczXl(_YGTwNpa!ux$HjJd(!>57FR+f!hH-qV~XXA_Zt}6 zYL_;vR=p*N5XbyDdF5$kiK0W{ELJ_q6~CGuzDoKIi?J*COg~iwlc+rQ4wT8lV^G-$ zpsV0_;WL%}R0hQX@@i8iC`s|!mV!pFe%AMv2$_Y$h9JsUX+TFf5Rr+R6!ic)tCz1fdAW^sh(Yng#5?SP7UbYcUq!^YM9r zCEL%SqnXS1f)Xg$t3hHY+WZ3fWMA*P_NIa-vGTgF|D z<;JOq?;A-=voTZR)EhUKXPSriwLC8N_zq*jwMRDl7PI>fW`2*NIvIi{cDceTi+tyy zes5xXjX-DNYsnN(6Dk}G=cHPV&Z6{91iN*tFS4;K;b+#&dl6+S*kcSrI@~6bv6E5) zNV<${f^wJSoFcQH_T51L$0%MldbVEfWA%@(@)RyVE}OBkIP{Jl6ScKt<@GED1jj@7 z0t7g|^L*~wS+MVPPQ3&ov97N1tY9_)eBps+=r>i7yJkH6nQa_@mwJNeC_8gOU0w{e zl$FPe83=DxKFg!$1yZIZx*bXzX-*)Ikdu(wOsuM?Hwhwhm*(%1%L*<6?Itc?6)7hSHK*gT}ealUwtm0bq%B%wciJv51 z4)aqj`xZRj-Y(`|^e*6n==1=Jx1aHeALP%%lC<5?oAay9aXmg!X=E?=$AUMLs}`yi z9G=@}+)RK%;CwNpposRWE+3DipTtR#)o=BBs>blDh3$&T1?nM&P`N8jYEo)d2;RA z!R-w>t(J|x9K!2e4*!yj3VJez#izoJtd;9RVL(GFh9JcF*;ckxmv;4Sr@Qg@*%7kl z{meHGQm_#a_GL6q>$brGLM%v0XoIJvhUoog*uO);99yd*I(KQKx@Mj&s_iIs$& z_%)#8JT0#*}W14!1zXDC?Xpo%dxknIABKMKAh^Pe@c@+finMj-wsB zXGbInZ@Q%Rz?qBbLB6q$PQqzI0>NlOB}wXWrtrpti~B?eT{A~Jp*01-T&iwLEsmo6lGr#gxgUc0?j$H$@^ zrFOF)1Jiw{0NQWhJ#902$Hvc`F1AJQ0^2F!Mclt<@vrjOa>4T<_P=J+6ySO=SI7%?{uO%iP2K?ILh7TLe0WKa{v zB$kN}m74hY@E@l6nBpXJ{>NWc%v*+nJ*IeB2F0E9R*IE`Hma#Db{OUSx>@VS zczlMDGv7ZR`}~u#|4>9mDeIk#>2=aLAalWgwv`FvOLg*r|q3=NAyO=kE4jtdE@%xj)M zFaJ<0fUW5mN1j{wzKeJyMI+&~V{JlPvyM@So|}r&nnHXvaIr%7&CfxT?elY_#-d=( z-9_=^-l_oNmUzHtrO}m84I(oqPfP#G!^4!2bYV+19_@<=l*&0Kp9od_+Hp}W{aFf) zF49b%Z0viF8Bb{_`$|onia|k^bXc4n;quh|!>tvS?$a`ZaYJZkLY~2PV2CAHpC`(e zWBMQlsUxDS;+>ra1-Jc+o}{ZiQ^KKCb|xp%wh5uSM&2-9^sU}sWM!qDM93x*qragv zFw&zM(^4HbL%cUGm;eHon1tIGVLP$LQWK5fX;6*2*=~eH_&l8_rkYdry>no>V&KO71BP9~^Wj1~EMFE~d@G2J` z)&{rS{@1B85bI#kM;bmQa=y$2V{ahi9KMpcEPNT~VQb=6pDOMC_C((K$NV-vCs&n+ z3GUc=d73;3v7C4Fu3|ypHA9dfk;BAW6}Vwk>%iZf<3>rnJBZB-`(s&PhhdOyyU(4{;nd6-6c|+R+Py7m0@0}Ty~xGf`3e3y?pk1Y%_9V@=8s@Zvh zhcd^Q4Os;OIJk$){_!`OlU{%DZM@iscy|8Md9u&#o$&-J&9_Z2&wxXbwz_SGTnX0s znVrL&3-XaXS$zNQ-=BE=>DdupW1BUF>Mw^F<&5;S%G$R6{=W-}ekg?bY)tPLA08b1 z^f7T6==EI6BsyIbQ0_PcEeruaU^iFt8PxiyobBVu8#xY@KP@)!{#0-y#VOEuOAgoz zAd_BrY}N~Zfn)uSPgso86v(A%wZZ)?!D<7F7*u??DOgRein=mj7JBdp+F2V1NN(QMDraQ_Qm0w|8!H zqpo4|%QKSu68W<7ah%K>0dJX=ZR3xcQZ`#_OnCR%u2!$yBZZHqjr{OfWmvf_eyb0~ zdG&z$*DA9-H_I1-*J(1k-QD|fT(GEcK1ed@K{DJ!%!Vxv_|>xXS#%$G6(NJdJXmUp zf15k|aGqg^km4&^VdK|^JPUccAH;(FOt?V=yFa)74YxX9*1Lb9-pQGbo}GxzAD{WX zw>g!trzt8r0?Q`c!H$HiF4%fh+dC4(C884=joyp$czjqrLst)3K{ri})&ZC@k} zrp}bY^6A%YKLB%QM^t$fSQQoUSeq{V_|x|bmuA08i5AB5q1>!qB9(_91)K1nQI8|~ zlKQgd1>S1iyqrS3(W|r@=}7;KdT8k^s-k}DT?>m9$(?ooD#B^}j6*htv{#i!!&lw9 tuFGOh1s;3n-!7Sd=SjU}gnDEKCw)&04r%K*2!B${s%87;qL$d literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/res/drawable-xhdpi/ic_bookmark.png b/product/modules/agents/android/client/res/drawable-xhdpi/ic_bookmark.png new file mode 100644 index 0000000000000000000000000000000000000000..82f18a7750326c2c2642e518e8703685690e3fc1 GIT binary patch literal 7078 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 literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/res/drawable-xhdpi/ic_check_default.png b/product/modules/agents/android/client/res/drawable-xhdpi/ic_check_default.png new file mode 100644 index 0000000000000000000000000000000000000000..cf411b455252f1ccd8bb6156490c88abb4d14fcb GIT binary patch literal 8569 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 literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/res/drawable-xhdpi/ic_check_selected.png b/product/modules/agents/android/client/res/drawable-xhdpi/ic_check_selected.png new file mode 100644 index 0000000000000000000000000000000000000000..88b1110261049a5768a200beb3ec64e251257e49 GIT binary patch literal 12609 zcmV-HF}}`;P)6e0xqzC1&c>7cTq3p z@dAY01m5EkNFhLo6DM&J$9A0J68BzY^*W;|=e*zk=A6+;mSjm*;@q_|YaPvKG@3bQ zm;c`TzxVfzC2!r%s|2j``sr_dxV)u+^K1lfDc~&yoM#D~=a2u-;sM@y>iytz*592h zIeL!=-=Aku5B>3PMg?RG+4{sMJ`t*~ub=Mo`N}QJ$`1qrl^oUl9_BvaU6$iGRy-bW zip63_crKAlCOdn2dUhWy8HI&~GZFCA zoSd8*lu*rmIlt#3+z<*-d8^RP|EkpwGGDcHo7eFtNBn+&$`!nN#<6HLdH}CD!sEUB z_U+sL{qKLjSzqrS=fx||hXRc7zVVH3G!z#X&rwKGK^GMjO+(m|u-+mBSAYK zvGg8z>O(22gySe+KVGrr`0?X^>FDTaMHwwW{NWGd>P6@Jxug02H%bB4XFl_p!kU_z z1z7xSFn)SoUfvvq8!j}D6U{?7#Tr;gbJFMf8kC#jJ^D~Yuj>(~HF$S-ckgX)Z{Kn3 z*sNx?3jYegY# z-}=_KI?w#Db2WqX|G%CJ(D(M;c;k(^*Is+=t>C>v&I0hh3QLdZ!QXSwb{S48DNYOs zkH^GGC9qqJR)052QA5tUg>j}x0apdo1Vduw6?3mnrKP1aN=i!RBlxvg{z5Fio|IC9tHJoe zHz!F}*cVL;xvyKS1es)<-=m%4pa3xn(7*S%UN9(LhR|t_DuByU1>_csgmc9S=7{Lu zR6%-#_}#>V0a>hx4|qcy%Wo$}XplbG+S>Zc>C>nGcIworgJeyoCRzy-tpH>7AN}Y@ zOUdbHPM$pZY7}uLR$ogtQ-Rfo`1={zjHd{vr$g-46Cy1~#cDbzzRo7`^|XqGLM#=& z-V}nI?7AvTjVe%AsE(Eh{-8K0B$Zz(PI0w3Wm82aO%p#=4UND-l)B&(oIoWcrmimFgbl~^U!cuROlW$4M`4X4PK)DvDN9&9>#^ypIr z=tF7>!yww2o}MTLSm1nU<;s<_Dl03m1bQw-0jtS)G_4F|!;N{Y7OeQ4=o7nfzsQL_ z;y?Vd_*##PKi-2#`MaAsS_nK44j7^P0)Fv_gA#~@h_!x%mZ{0iMW^}_lIZO-!nYGi z9>>kSQ8dpve6E8!?VLhMRm~KqW}aA67mMU`nhH?_@Jub?25tRa;{)+vFY#boV`Jm* zAA9Vv4a=7=?Mw*X^@6=wg z+D=j$HHr_5_obo|4A>Gxz`=rC2^SYhxTr`1`32(7$w59ru>wJqq1lZaShKPlCxyl1 z1sW=yR7z5D6w=)zeeLZM=ZLj&-`y+81Pa0<9K1n*Bd4rZ>`4t`mDPw;nFgcQ7AqFXBx9ToX-m4 z-oxyxF^-m!L|3=OT3RI9)FQp7n@P?W>A{F&yQiUdn zt0Fv)a0|E|0`qa8Xe&Ya_XOvcfg>gV#_b8`q5u+&?M8Bh!C{Xbwt02+;p{<+c6;NW#DMT$3On@yZKN~XnaZ-w*sIQ0@c;k#Y>ki zy|uQs_F7WSg%nqqPya1bM0K@@w4D&=7*>CBj|5KbBNd8EASWof6~z)ME0J&+_Z1bA zTU`y#W95vSoI5mkf+=uobKz3iL95lT2kVBUE6@Zn!`zi+%L z>Ub4k-FfGoC0P87nKNhJId$sPn}Hpr6G*VL6rd@iV*dUuVjX%({Ehnz)(gT67lb8m zQlXU2oh=1Zr;4AP-4_lcJAxkhzung*HUU{Ip^>coRw>n2;7|9gu@El0Z_2bRIk+?R)o2GM*&g@{65cE_Tg)apqkrmS#%1K+?cl ziWF4?v(^ZY!y`TZr7wMHgXRHxHiKV0((mI@fc}pk>{~{Wbsb7r!~G>FKsjI&a5I@s z%Q2DTuZeYZhxktKC#P?dP{@%;DR48nQVQy7B~n!h=2I{!q#$HF-iy$C#Ex~L2$W}p zuNJS+<5|6H`NLjoR)99jP>RC!22DAG5n@Un{~bi=j>OvWh{ks5IoT+^&25s16TtIO z!sOXxN+_akp;%-|T03OlG)0BFI0$$2SL%d69XN1c|8IZ$TjiHVt%NZv;MQAj_48qo z>#n=*R*J3L3A(f3c51SFBL+H1F=hW|kyrj90djm_wA}>S+(|`JGGmGqPHT|-dfZ%b zT4AQQP3&l!q7tR+a zkdH&{G9N2+KMt|jQMgIv3mVyja5`vK6?-U#0BN@qFb_kPmLP}nDhbybpIJ6ZB; zY9&}$NTAKZ(h1I3yG=G^9^(NDQHJ+Xt2cu8EItcvM&svhP)@(pRC2BoT#wMW08L>9 zp``q|67NkBq|HN*Qog2hQkrnJXK~@uy zyvi~un>R!9YHB1@T4{u9$2uj|(=0a7WW(>I;YO`qFRIB{E)!~ds;YMYLDNt`+VVZlo+3+e z-#`zAR?u&ofLp$Jz7)-vhVaQI5U>rwmg;Gd6d94Jj1A9;k>5gbywkan{r6C22w6p}P9K;UTz>T2wgu47GjL}NNdEw2}6!8(y@Vi&ZxN9O4{ zgG6oGLqG}75{!TOgCG20A0Iu4FF*4lMymk->eZ_YX`a6y_*sh*mP0q_Xo#x-Fj{Hi z(+9=B^&wMiSwKpDWibJ_R*L5?F!{a1bE#g0PZ4HQgqci7v0gcUkKr7GrXH8<4dt!b zDx{oJ6vnZ%Q4gU9hh*+uMYvi?3slopAj$DZ=WqX4!3JbJh@fu0Y8Z!2jj){u5) zl4B#pf ziAA9`zeP7D@S{MN+Z!Vq@(oDCT7Q381IV z{|L5b4;Y2ABFx=&#^D94_9f!ND$HkERAK&CDb7}LXKM4PCN*MIi2pZyi@ zs*Q|ct?O(GFhv)dTn+481^isY{USPBiaqI~ON9^B;Ct~e;@kg%_<)uCNhMOTa5lV7 zo#a(lA^1}Uc2o(PYMN{((^7PSdIE%R&WA&xCJFBo?M+IblP`&IwS+2XNlxVq>Dc|8 z#7^v#kaSBQqPNYe#Z;G`pLGk zn_z$N<-dym2%J8Fxp+psOkTYlW)nhs!HWqBM?MNR2RQ0H z6(uNlQy;WRU!YKu)zkztmx*uos`R(;GqJ8$ek zSgkz#^{;>Zqtm8Mdl!_$6bQG<>`KrE`yHSsc=#o9{^KU=DV{Y$Dwi$eg5XxL{A4>p zSFK;E1?~H0rWz*5?A^Cf3sm~4F9!5rcimB}yY6DCSaZAN5;Q}FWfE(p$U3o4+IMc0 z*wL40f9{q@I4OmNA!;m|KfqB&pbAMqjt1sfuO&TgebRpTv_xr7+qorVL|2F``!6c} zi~_WkNnOylfB*g`wr}756};i#{rBGw0X8%YjpzYNJD|P%4}IuEpNDjN4~18eS9oR8 z#eFY`y!5E}>1O4Cuf+{@Qbh1oCBXGcqUkWgSDJywI>Jv=3vPimLGtg%eFAUNk)EEU z#BB2U!s(Jf`%2aqnG5 zHAM`G5=&YS&{yb)0ZRn+d6%VQK~A2D7v2r|3-rV@hYlV3DOK_|n9@DN!O%zwFu6Z? zUvbSf*L-o#oH_5uo!pLy#!hW3+G1^gTzt>{UMwht+`>GmTE0XIr%sVjJ~RV`mQg^I zbaMdoOiae(U9gwA8tCb>rK?j@#%d{Cdb1SFUCsH-hXl?Z!CNSosrP4xIKNgjAo z?EQa}5ZO_`0^D~uUO>J948`%P)}z2sOAnp3s3hu_NOJKt;?quAVR=RYz>ts$Z6yvo z3_tV)W0*=$49S#^qyXOsKJbCbOs_2>`}wEo)2H78@6#V}xB#aIf^Fv$64?4@QaV2k zl?t%`5@=?6tZ+NY4&a9=2S;D4m2PIDVS-HGeH(Qs4ZMA%oV`(sqHvY?D;G%lCAUaH z{bD+5CBXTa6A%eV!sxLblGyWiN$z^k2;a1svu|!t)=D{<^3l*sFfY(cg-j2je7YoO ztPtO{3&fgKpZPCp0wEpU4MF!j8PP*u`N~%w;*UdSLnA4`PrGpena>)6?+wI&w~>AJ zD?nid>-O*7D8ZfUC5M1pP*)?>C?KZ*uKn~ONrC-Ia(^cQ?vr*J7@VL&OHU*NJvd_u z>+gxCz_6w%pW6}_qY&|BiLt7=ef4!vkJ*H%-nZ7tv0X#`o zl!9%K_E;z&DxD|VB%U`(l9T6(MNMGU&CmRsrlUa55vt-{1mpjpYxrCKs72WsS;ue+ zFzM&#KKHp*1m5eZ0ak1N4;=L?0L!)yzbgKNTP1YlMaiF1B}LQfq;$bNuoQXIeoT=e zrBD=PiA%0ctmPXqqR=F`uh!oa4@uNlB4wAnONtj=DUnHa53 z7PpfY>EU$pGt?>SAJC5N_$84F7zMN*rjzE+msDx3$i+9(#$4Jj8_tQ|aWh_UY|oxO z_u&CQ;g3V6qa!IG$RN_Sv>k6j0T*yAp!)6q5Cm-RepdWPw@avbpOns;E=AMprJxq~ zcgU3+@c{LbUdAdjvz-I4Za^gPe({o!5p?Cf)T0^{_j}3t<2hCIb?3?C%Ws#Gg>dW6CW6gQj9ghj{ce;{9Ps~v{7>gH#D3A6bVCAayQfOeGf1+8&7D+S`j1;l(R## z#ZQkn)OAWKE?fxjGY$BGFOPRgvgs(K8+?x$BOJQgP3P?%QI-~KdX#)%(_^qM`k@EB z*MbY^>FiEP&aAaky!V8hTP-fA99cNa7$PpQm0CE7?O;d6vY$ zE6_+uyGchI4>DbW;_VR4oHg$ed+w#_;?3p9bcqfDxB~_J>fwhU{#RDyoaV#Npr}Vu zK$r^ncA78mBL++-1+C65z#Q6)vgIN1H64&pUx!q$TqY&68koX@l!NU|wwxsUNf%y2 zv6~({nI_9P%=EJoWMCga>?ay#kLF}Q_WoD1o+vrLrkv40sT5s!om5`--t<&OB>xN_ zGT9FdY~tiDiEjIY*e56)V@&0d8V?);8WM-nR0Ye@x;v86bfk+B)`Xd;NUnUBQGmtV zsn@_)WkXAJ13~{zO>p6r&l4sFe1QD_4(R7vGN94{D^L!-Eb{yx z#Mg2}LO{-xwX1=lX$T*(tpn1njjovX2Q&Z=5qNF4Xi6|js8*cd(3b_6gbPBFg~`d4 zt@OFToPDDBj8R&;+9l;Is1twvN-0@%g;XqAm!_7px>lYzwGN3L+$??jpOe(y$3@x? znXyOXc_Tnx=1(RT1f&;lYo#)d^)O+P@=J2b4U(F5iTJXbHLe1Bp{5@IejfVT*S_{A z-scQnZAsv6LRc* znUy!1;pZ(BxusuH1B;Cb(s+sRR9wcQ9R%= zg7H&iLjT6wXeKmj1>}D5i(mXGYr6iKAY6q93>Yi75R`AjugyerAQX_gb(cyhZO7!v z1CnY%0p0Cs_!+c_!eBm!Vs}p;A}F6N!J0)4t!FC zhQ2C6c^VBB2|TBZ(2~rnmV%3Jkb-$@=(t^Is@=g0_0rusDr8`%ciW#y9^il44jJK} z9ruUO5C0US*lTZNrl=bQa19BiBrqUfCG(|u>B$LC0S6BrT#pAlj|cp#tAGKS&`2JT zOA!7T3iuETs73+6asSILI3Pa?5G>0m;0j{E^jb-rKmn~lPG9tuHEry(c+ zNY`AtLP{H^Nb(fiPaE97PCzUCxYKLdMN>>0B?vHOJd^wp*sp&4+5H5Yh zkX}5g<)!t~y$70sLPy1_Ysi7zscu;ll$iPeYKNhdVpu#(*daSWggs4o3O=V^#ol z!2i%7tO}qFnLA)%IziaC@jkJrh=abAOj&iYl++VQPal;OS&-dL0p{`kt_NsyoTNvh z1kY3jC49qbDPMZE6gFI7EXxz12IEw$M_RT&M+0TEL=V3r$>xJJeoj*i5fAdpq!gZ~ z>wY%*>QcebfTlS?_c#q5U``^BoE}Kz6Pl6y!7PRmx zGr;9zxYuH+*z*9=&?t4lV<_OMZ-4vSKO3t8A}HW43b8wpe+?6G1=)3g9DGSEWkG4S z1j(+ZEGHA0S}k_Vanq#fS3nwk((A&&Z_4=?Sx?U5>!sk*J0w(6DFGKZJq389jmcOq zqva>1efL&i>1k=%2J_08dS2~ZslEEWQhveZ^qO_(_RLjJn)Sq4gAm`dLHb^}AFAP$ z_?&b`c8>C=>P|_UDnP4mo533xQEk@yN@-E%r0Wm826_R#C_u*+|MtD_eeYhLK7)=J zF$?cBO67nI1nGF;z#!~|$r6g_(Jr`JBFo;zG#c|YI%(!L#D}@|L@x_1+E_n^ zwQH3djO5a&I#Y4lr%2KKNiYiEyWxLJ>hM+;fUxWd+&@>#_Y#R-6wus45k?xFWaK@$ z;#RTetfmGiG?|>ksq=e#4F}&++sbjOd7!FpCe~$@KHPVM1pEMGXV! z=#zVygjf$3v|B>$$E0ljEGe2?A)z?MjSkp$X%=**0<^v7=#@&udr(k6;3%7-Uvt5EyTXLta$M|AJ=K+i@=?tX#}3e_%wSKV(y6u|rFltmMT zm}X-R!@a3h?@n_;nh5B+23|u~EJga+4Fui$%rnn?|H&tx)Rp(6u7pi5_+uaY*flg{ zZbkvxl+gtknd^15)3xV$8u716sBt%q_-RsDRVEQ%pZFOyv^$}pDXa$90U0Kf5pl_7 z`O*A!DB%(bRLu~7A%zs)Fcgh28nm!=(I36%o=ty{_)f-TS`V<&vLhXMNAm_}d5tLo zNhDMO>H!Hx7;RkwyZYU*p{q0ht?|3Vx)X@)J zFi`+(RY2mARtBeDNKrPAk@2%GpdV6H2@-(5W7{RZ<&QL2o)uq`^~KtQo*)IN@Z&7- z>m~@dwC7q zu$l#UH!fJPU>&JwCRNmSq|G3%4&esr3x|tXbWzHRm+E3FSb|_XRD|Jzh9446lf!%z z69)d8#dNYzK*Lh;lg{~djn)vW*@u$6vYZNceKdz+ul!wXgzw;$X4vgqbIz;}Oi~2) zQUmmm{d9FRZC6Cy!)%Z>Z>?Ch{T(sw=!JDB000pDNkl6`uoZxn}tZS6`LFHmntPG|MZg>M(Dbh22)0=;PfrX4A)BYv5F@S_xC>wo#n zUp}q>&N1qqaN2n2igDyIV)r=)b8o{NC|>vbFfhcC%g%-WOgj1win3`GWt9W!ffJ;otO*Eca~|?6mnEn9g%K&rWvow$ zF!J|wPx$QAZ{`&`ji#yUB&;8d4dCVhf^)EfjW*2oGwGYo8^urVllW^-6L|kj5qO-> zqy_3)&qP?i`5ca@_MJI88T#sDryX5MsjDcRCD*47Llr^|!fa@q035~opLy}c7ylQJ z4?g?sv$|Mg%yU8d*{Xn?4}bW>w}AiGqkxNOQJQ)n!`s07IE@D+K-C#Mz5}_1C7&fp zC8c=~Xnh8nblZTz+0fa9qrutH3nMl4&t4+|=-v=x;eK5#rz_cknIxH5^p(dY@!C`3 z?0b$i3B;s{gM4#}Y7|;ac9@Zu^vr3T6_m-ztg4>@1#Oz~>6>Oh&=1`dUM*xl>!F}O z!_#2#(C{-FLovD8sIPDI_C`utFw> zcBKi#hL}5>*!%yUeksyai_fD-(^x>36k^CW%%MRy$zVW~rcjDh*kZ+v>FtjGBS!T~ z_N_4lVjEeHD!{O@l`|!&bD=ES%MQNoMBHhte;>hj!*{>?-EZ?Dntl#DqJFmXHR&ib zqBFq$mDB_8M+u78)qZ=#jcv4J{fJy0)-OCD|JSiX;7v}I5S`V12IGuQo z<>qlnLXfk{S>`n3VhPW_gh}fjMqdsX=&^MHxJhWo_THm8k2o_&z2yET`=R})m9I^5 zU|;Zd5e>fX+>sZ2nF&2i2J`~h|HO}e^dlX}(kx`yT>NYb&~prs{X~{5Su%6+;>G`y zKzuPun2bUSyTtiz8A76j`K+me(B{qCr2BAo>e8ozEmK zWp@)_*_8B`>Kcq&&iFy21SpvYr^wqu8I+bz(rFMH9)akm;u$6n+Hj z-$MobM^e#${QT!X*R9UZAmFk;ZZrx|7z$o^;e}(r+|?ItFFvt~YA^ zJqW%_NjJh_lB!)Y~ z27K4EDt;Z@&{~ek3~TurS0o;%_2}pv=q{G0>N3^Fy%Mrg5{`t)hys#JV&h{%!t$o% zj6f$IGR7d|Az$i&WFN58)d&3O^o52mcz)ee$cA=sz<#s9+ZZ3aIT7O!d^@SB_HwZXXxbgchReTBeDC&~5oK>lX1ScSSTkZxY$?)PJjqBa<-0LS}!9riNg zGT28KQrE!S2Lz?q#=t2kmlTb6gZ-KYyJVr}{Zzd+X=fL>e-tnH0|EHYn>TOXr?mj* zGGXh4^}0+-dc_r2Od$s7$oh3C;z~RLrznD=5A-jxhNu%-l@pCZYh>XRUF6k)$N zhztWqew1Yyrqr$T$1AxB`ae}bpH5ro$P1RQ!nfH?E6KvX)HL=F(j8Nj?=kxhWjKEg zya`56_Q3t?9-|My{jX;nQ8#)W5&ON<9<2vtVgbU>U$khE!p}|A2JZlxs-P*#v^dK^ zk*1uQn(EG2uMrbyTl!fa9Ad5~!e~hzN(lKJwlT12mXJQWL$ebk%Td3L7lD*!Na(B* zLN^E2pTzQ&>$mF`n|`lFzt^Xm`>DxjZ2;~g{212X!LgaVe?3;e{(%P`(B(+V`<&JK z#}Wg)i&8HLVDWi3-+c2G;Q!m*^}~w@$f8-1Dj~C95X}*%iOur#3mL@cN$C0(LWgc4Q(Ma4YUFI?#N z1kL?fH>~x6#r8E8yCnLV&kV3hpL#%;c_L!7F!%;UDaNIXsqviDXoaq?QvoAuWA#i( z8o{%977^1YN!=NxyjC2Rp=!Y;Y|P;+su*DT1l<^T-$UTt3-mn676lvbz4u=2`D)Rn z&@<}wx8u21kEBypET2{Mx6`z_fu{X*g(HmzcmnNOZzB(;p0!5MT~ri~=pp-b!#?^6 zJ}f^%R90_b43xB0cl8{ofbpDQwlez7F#X6dni%oIrSd%*bXEAHf*$W2$9sJWMTV$*=R4oI2%)bc z8+sd6@+=B8h|{uMFD4i`(n3i$+-8qZ>+}H;-OP!Z9Y2%M0oXI0`3!Q89`KB`H>g+W z$qimJHx^6x1g`f<#cdbsHML|#lO&bb(bJJZn%XEXye^?-~FH~e2?!R74)2|0`&h)g{(@TVLyqbtas3?S%ng&14pIA zgpkgYW`?=kK z)fpz!O|p#8wWq5UuEGx%pJGBoH}bYgGqtyCHe}KwYtTXqgs-`N0?Y5g@=s#5f{=?dSlPQWwG&mKIr3fY{(?CA}8akkCf(>Jb5+(DecOLAr=tA<9#VS-io`t6p`{ zhr)~ARPY8`T&vgT6`0MER@Qo@=r^P&sO*YqVlmY$)eL#*-qO1Jx^9cCYr@=si|}o& zblHlgks!O7-=9MdPg8Imfp+ln{V@xFA{3zSp|UZaaQ*ey&xNA6h35T5ss!Rf2}gmK z9Szt7mE}t|n|xTXr@3*uaeixn~GI<63E@>S&2_JmmHoaC;H> zQ6BFBhRm=nO%~nI+Y|n%gYIB+A8!oEejg92gJeZ{3l}b|Wm(ge1m>%V1v61d1Mxvf zS()(<8gDRFv$tD{uAtFPJXlj~Jc31kJ~nyvcQyh|ans+;wv@9CIb@Tqo@c0FQ|wEs z7Vog%kHhxFzG`+k0eX~SH3L=Jg)<*yzGH?xhGLAKwCjrZHsIzY!S^Zs9s!O$>;Z8c zPf+2Xm1-C)@Yh2Do_sPfft|JHAp8{weL0F)Kzdq^Cluis3Q2xd#Ncf%9c49X?C5#} z9}s1+ryQFyxCfA>i~USbA>G`u%wv~kH(az%Rv<*pS`3aMSp7B)Js25x;O!l~r@5oM zrCSI;v*VSaQFPrIi}*M+&nL*5&KAYhVT8XKdU+GywDf|````hJ`R6SBiGmB%dYIeuW`k)MlEieUw&nQQ~S%c<| zrLjU`O1D2SSCQTw*H(C8Z#Tto?I}wM!@|0$k~U6;*n(L9HNC?M^Q4e!WHk;wT^q}{ zvGiu{cOm?znQHhIFV$wV=J{TgJ8sw+3?FCnlCl2XRLdM8=8EdD{&@&`K5<|s5H$lO zOd(U6q~4&hK?^rMhFn^tQx$6Y>K!U@6m9w4?|%29D||1{A6LK~N{|x~1BQBE zuTC(*8PcwVhR%EheJ3`Nd2wPQMhiWBS4-DJC)f1A!ea>Ev-ra( zV<*RUvY$qdqs;anW9LH;@5fZ(j@EcyFAvC$3m$c$-VkED`%1RHnF;*NL+Eo5^laUQ zi+~-{LnrU>4)uzN8z+ocWFN+IhDe7z3-_=+3*VKuPas^~X1EW*>yZTSJ9XDvgna~y ze}#1O#YY}_M2DzU=!*3oj6#m`Zcv!zf#*} zD56}wLU|?6BNV1Ijm6Pv0A&PlX{?lUJm^x)h3Qp{OttK9|U?{MHweK z+DJK@X{>nZrCPiSenKHKN4-IB`W3%5fJFbo_DPkLzf6wp=qWJ`r8XCZ-l28x)f z-zki+^HEZW!+Z-Lzk93qwKuNc`_-f0C#)N4>tn3^IIwdF0q>??d+fE>UenFv<|dgzUSn&AX=K0II~ukg+%8>&>u zo~L-vdrHebe?xu_I#kfv$6#UivlZhpp$Yh(H;V!WU&>(bFdSUgVGQ3ry#LJ>rl*X- z_xjq`HK>kNCvR2-WM7AOj)U)qyVh(0dyn5#LLchl#;UltUOzz+_|M=06LhI>&bN6> j0q0pSZz}L3Yur={ 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 Y5751+GwB-bumAu607*qoM6N<$g2tis3IG5A literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/res/drawable-xhdpi/ic_logo.png b/product/modules/agents/android/client/res/drawable-xhdpi/ic_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..ca46dfb347d6965411975945e08fe2c59aeaa5fc GIT binary patch literal 6475 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 VkPva6-|ycW%JMKsiL9~z{{X^0KqUYG literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/res/drawable-xhdpi/ic_logo_dark.png b/product/modules/agents/android/client/res/drawable-xhdpi/ic_logo_dark.png new file mode 100644 index 0000000000000000000000000000000000000000..ca46dfb347d6965411975945e08fe2c59aeaa5fc GIT binary patch literal 6475 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 VkPva6-|ycW%JMKsiL9~z{{X^0KqUYG literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/res/drawable-xhdpi/info.png b/product/modules/agents/android/client/res/drawable-xhdpi/info.png new file mode 100644 index 0000000000000000000000000000000000000000..78b917243fe06ee4285fd23acfaa765860f0d5f6 GIT binary patch literal 12733 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 F{{vR1t=Rwo literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/res/drawable-xhdpi/location.png b/product/modules/agents/android/client/res/drawable-xhdpi/location.png new file mode 100644 index 0000000000000000000000000000000000000000..3c93225bb004916c4dd0bdb60512c5a353ad9611 GIT binary patch literal 13926 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 L5mYT^9Q=O(dlrfa literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/res/drawable-xhdpi/repeat_bg.png b/product/modules/agents/android/client/res/drawable-xhdpi/repeat_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..b15eedd675879df70ffd866b85cc70ff59cd3733 GIT binary patch literal 16939 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

      @w9PXH786-xwV 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 literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/res/drawable-xhdpi/wipe.png b/product/modules/agents/android/client/res/drawable-xhdpi/wipe.png new file mode 100644 index 0000000000000000000000000000000000000000..ca047ab527bbcc39c6bcb7e799738eadbf2b4890 GIT binary patch literal 14301 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 a=l=tlWajt_-Riyo0000RnD)5k1)n&3W|M}kk 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 literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/res/drawable-xxhdpi/ic_launcher.png b/product/modules/agents/android/client/res/drawable-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..2c36d39e78e4410901ba46e8461adc4bf845cc72 GIT binary patch literal 9581 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 literal 0 HcmV?d00001 diff --git a/product/modules/agents/android/client/res/drawable-xxhdpi/ic_logo.png b/product/modules/agents/android/client/res/drawable-xxhdpi/ic_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..993ef9971fa6e91196686992607f0df7a1e4501f GIT binary patch literal 10459 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 + + + + + + + + + + + + + + + + + + diff --git a/product/modules/agents/android/client/res/drawable/btn_orange.xml b/product/modules/agents/android/client/res/drawable/btn_orange.xml new file mode 100644 index 000000000..c67fa13d1 --- /dev/null +++ b/product/modules/agents/android/client/res/drawable/btn_orange.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + diff --git a/product/modules/agents/android/client/res/drawable/custom_checkbox.xml b/product/modules/agents/android/client/res/drawable/custom_checkbox.xml new file mode 100644 index 000000000..a0ad1a1a4 --- /dev/null +++ b/product/modules/agents/android/client/res/drawable/custom_checkbox.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/product/modules/agents/android/client/res/drawable/dot.png b/product/modules/agents/android/client/res/drawable/dot.png new file mode 100644 index 0000000000000000000000000000000000000000..7a3361fbec1fd1236c57bd34be595a5aaf9434eb GIT binary patch literal 85 zcmeAS@N?(olHy`uVBq!ia0vp^tRT$61|)m))t&+=8BZ6-5RU7~KmPx>KU~kIz + + + + + + + + \ No newline at end of file diff --git a/product/modules/agents/android/client/res/layout/activity_agent_settings.xml b/product/modules/agents/android/client/res/layout/activity_agent_settings.xml new file mode 100644 index 000000000..ad864a964 --- /dev/null +++ b/product/modules/agents/android/client/res/layout/activity_agent_settings.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/product/modules/agents/android/client/res/layout/activity_alert.xml b/product/modules/agents/android/client/res/layout/activity_alert.xml new file mode 100644 index 000000000..50232ae14 --- /dev/null +++ b/product/modules/agents/android/client/res/layout/activity_alert.xml @@ -0,0 +1,35 @@ + + + + + + +

      XML attributes + *

  3. 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