From 2b9f79dff32b16c5f61dcf4da643cca67c599833 Mon Sep 17 00:00:00 2001 From: Ryan Houdek Date: Sat, 22 Jun 2013 07:45:05 -0500 Subject: [PATCH] [Android] Remove SimonVT menudrawer library. Move to Google's support library for their navigation drawer support. Overall cleanup. --- Externals/android-menudrawer/.gitignore | 30 - Externals/android-menudrawer/.travis.yml | 18 - Externals/android-menudrawer/CHANGELOG.md | 44 - Externals/android-menudrawer/LICENSE | 202 --- Externals/android-menudrawer/README.md | 96 -- .../android-menudrawer/art/menu_arrow.svg | 84 -- Externals/android-menudrawer/checkstyle.xml | 120 -- .../library/AndroidManifest.xml | 8 - .../android-menudrawer/library/build.xml | 92 -- Externals/android-menudrawer/library/pom.xml | 36 - .../library/project.properties | 16 - .../library/res/values/attrs.xml | 43 - .../library/res/values/colors.xml | 6 - .../library/res/values/ids.xml | 20 - .../library/res/values/styles.xml | 11 - .../net/simonvt/menudrawer/BottomDrawer.java | 226 ---- .../menudrawer/BottomStaticDrawer.java | 85 -- .../menudrawer/BuildLayerFrameLayout.java | 99 -- .../net/simonvt/menudrawer/ColorDrawable.java | 170 --- .../simonvt/menudrawer/DraggableDrawer.java | 672 ---------- .../net/simonvt/menudrawer/FloatScroller.java | 175 --- .../simonvt/menudrawer/HorizontalDrawer.java | 207 --- .../net/simonvt/menudrawer/LeftDrawer.java | 212 --- .../simonvt/menudrawer/LeftStaticDrawer.java | 80 -- .../net/simonvt/menudrawer/MenuDrawer.java | 1151 ----------------- .../menudrawer/NoClickThroughFrameLayout.java | 28 - .../simonvt/menudrawer/PeekInterpolator.java | 28 - .../src/net/simonvt/menudrawer/Position.java | 18 - .../net/simonvt/menudrawer/RightDrawer.java | 234 ---- .../simonvt/menudrawer/RightStaticDrawer.java | 87 -- .../src/net/simonvt/menudrawer/Scroller.java | 505 -------- .../menudrawer/SinusoidalInterpolator.java | 15 - .../menudrawer/SmoothInterpolator.java | 12 - .../net/simonvt/menudrawer/StaticDrawer.java | 208 --- .../src/net/simonvt/menudrawer/TopDrawer.java | 216 ---- .../simonvt/menudrawer/TopStaticDrawer.java | 82 -- .../simonvt/menudrawer/VerticalDrawer.java | 216 ---- Externals/android-menudrawer/pom.xml | 126 -- .../samples/AndroidManifest.xml | 48 - .../android-menudrawer/samples/build.xml | 92 -- .../samples/libs/android-support-v4-r10.jar | Bin 349252 -> 0 bytes Externals/android-menudrawer/samples/pom.xml | 47 - .../samples/project.properties | 15 - .../res/drawable-hdpi-v14/menu_arrow.png | Bin 1568 -> 0 bytes .../drawable-hdpi-v14/menu_arrow_bottom.png | Bin 1540 -> 0 bytes .../drawable-hdpi-v14/menu_arrow_right.png | Bin 1520 -> 0 bytes .../res/drawable-hdpi-v14/menu_arrow_top.png | Bin 1529 -> 0 bytes .../drawable-hdpi/ic_action_refresh_dark.png | Bin 3138 -> 0 bytes .../ic_action_select_all_dark.png | Bin 2861 -> 0 bytes .../samples/res/drawable-hdpi/ic_launcher.png | Bin 9397 -> 0 bytes ...ic_menu_moreoverflow_normal_holo_light.png | Bin 148 -> 0 bytes .../md__category_background.9.png | Bin 173 -> 0 bytes .../drawable-hdpi/md__list_focused_holo.9.png | Bin 191 -> 0 bytes .../md__list_longpressed_holo.9.png | Bin 154 -> 0 bytes .../md__list_pressed_holo_dark.9.png | Bin 159 -> 0 bytes ...md__list_selector_disabled_holo_dark.9.png | Bin 189 -> 0 bytes .../samples/res/drawable-hdpi/menu_arrow.png | Bin 1578 -> 0 bytes .../res/drawable-hdpi/menu_arrow_bottom.png | Bin 1508 -> 0 bytes .../res/drawable-hdpi/menu_arrow_right.png | Bin 1524 -> 0 bytes .../res/drawable-hdpi/menu_arrow_top.png | Bin 1483 -> 0 bytes .../res/drawable-mdpi-v14/menu_arrow.png | Bin 891 -> 0 bytes .../drawable-mdpi-v14/menu_arrow_bottom.png | Bin 904 -> 0 bytes .../drawable-mdpi-v14/menu_arrow_right.png | Bin 862 -> 0 bytes .../res/drawable-mdpi-v14/menu_arrow_top.png | Bin 878 -> 0 bytes .../drawable-mdpi/ic_action_refresh_dark.png | Bin 3033 -> 0 bytes .../samples/res/drawable-mdpi/ic_launcher.png | Bin 5237 -> 0 bytes ...ic_menu_moreoverflow_normal_holo_light.png | Bin 131 -> 0 bytes .../md__category_background.9.png | Bin 165 -> 0 bytes .../drawable-mdpi/md__list_focused_holo.9.png | Bin 171 -> 0 bytes .../md__list_longpressed_holo.9.png | Bin 151 -> 0 bytes .../md__list_pressed_holo_dark.9.png | Bin 158 -> 0 bytes ...md__list_selector_disabled_holo_dark.9.png | Bin 172 -> 0 bytes .../samples/res/drawable-mdpi/menu_arrow.png | Bin 869 -> 0 bytes .../res/drawable-mdpi/menu_arrow_bottom.png | Bin 887 -> 0 bytes .../res/drawable-mdpi/menu_arrow_right.png | Bin 855 -> 0 bytes .../res/drawable-mdpi/menu_arrow_top.png | Bin 835 -> 0 bytes .../res/drawable-xhdpi-v14/menu_arrow.png | Bin 1735 -> 0 bytes .../drawable-xhdpi-v14/menu_arrow_bottom.png | Bin 1650 -> 0 bytes .../drawable-xhdpi-v14/menu_arrow_right.png | Bin 1669 -> 0 bytes .../res/drawable-xhdpi-v14/menu_arrow_top.png | Bin 1654 -> 0 bytes .../drawable-xhdpi/ic_action_refresh_dark.png | Bin 3219 -> 0 bytes .../ic_action_select_all_dark.png | Bin 2856 -> 0 bytes .../res/drawable-xhdpi/ic_launcher.png | Bin 14383 -> 0 bytes ...ic_menu_moreoverflow_normal_holo_light.png | Bin 184 -> 0 bytes .../md__category_background.9.png | Bin 179 -> 0 bytes .../md__list_focused_holo.9.png | Bin 203 -> 0 bytes .../md__list_longpressed_holo.9.png | Bin 158 -> 0 bytes .../md__list_pressed_holo_dark.9.png | Bin 163 -> 0 bytes ...md__list_selector_disabled_holo_dark.9.png | Bin 190 -> 0 bytes .../samples/res/drawable-xhdpi/menu_arrow.png | Bin 1723 -> 0 bytes .../res/drawable-xhdpi/menu_arrow_bottom.png | Bin 1592 -> 0 bytes .../res/drawable-xhdpi/menu_arrow_right.png | Bin 1694 -> 0 bytes .../res/drawable-xhdpi/menu_arrow_top.png | Bin 1581 -> 0 bytes ...lector_background_transition_holo_dark.xml | 20 - .../drawable/md__list_selector_holo_dark.xml | 27 - .../res/layout/activity_bottommenu.xml | 21 - .../res/layout/activity_contentsample.xml | 24 - .../res/layout/activity_layoutsample.xml | 63 - .../samples/res/layout/activity_rightmenu.xml | 19 - .../res/layout/activity_staticsample.xml | 19 - .../samples/res/layout/activity_topmenu.xml | 21 - .../res/layout/activity_viewpagersample.xml | 5 - .../res/layout/activity_windowsample.xml | 19 - .../samples/res/layout/list_row_sample.xml | 26 - .../samples/res/layout/main.xml | 33 - .../samples/res/layout/menu_bottom.xml | 30 - .../samples/res/layout/menu_row_category.xml | 5 - .../samples/res/layout/menu_row_item.xml | 5 - .../samples/res/layout/menu_scrollview.xml | 73 -- .../samples/res/layout/menu_top.xml | 30 - .../samples/res/values-v14/colors.xml | 4 - .../samples/res/values-v14/themes.xml | 7 - .../samples/res/values/colors.xml | 6 - .../samples/res/values/strings.xml | 34 - .../samples/res/values/styles.xml | 55 - .../samples/res/values/themes.xml | 23 - .../samples/ActionBarOverlaySample.java | 13 - .../menudrawer/samples/BottomMenuSample.java | 43 - .../menudrawer/samples/ContentSample.java | 218 ---- .../menudrawer/samples/LayoutSample.java | 36 - .../samples/ListActivitySample.java | 91 -- .../menudrawer/samples/RightMenuSample.java | 215 --- .../menudrawer/samples/SamplesActivity.java | 99 -- .../samples/StaticDrawerSample.java | 175 --- .../menudrawer/samples/TopMenuSample.java | 75 -- .../menudrawer/samples/ViewPagerSample.java | 300 ----- .../menudrawer/samples/WindowSample.java | 99 -- Source/Android/.idea/misc.xml | 16 - Source/Android/.idea/modules.xml | 1 - Source/Android/.idea/workspace.xml | 538 ++++---- Source/Android/Android.iml | 11 +- Source/Android/AndroidManifest.xml | 8 +- Source/Android/libs/android-support-v13.jar | Bin 0 -> 501154 bytes .../Android/res/drawable/ic_drawer.png | Bin 2846 -> 2842 bytes Source/Android/res/layout/folderbrowser.xml | 23 +- .../res/layout/folderbrowserfooter.xml | 7 - .../Android/res/layout/gamelist_activity.xml | 20 + .../layout/{main.xml => gamelist_layout.xml} | 7 +- .../Android/res/layout/gamelist_listview.xml | 7 + Source/Android/res/layout/sidemenu.xml | 2 +- Source/Android/res/values/strings.xml | 2 + .../dolphinemu/DolphinEmulator.java | 2 +- .../dolphinemu/dolphinemu/FolderBrowser.java | 4 +- .../dolphinemu/FolderBrowserAdapter.java | 53 + .../dolphinemu/GameListActivity.java | 292 +++++ .../dolphinemu/GameListAdapter.java | 10 +- .../dolphinemu/dolphinemu/GameListView.java | 225 ---- .../dolphinemu/InputConfigActivity.java | 4 +- .../dolphinemu/InputConfigAdapter.java | 4 +- .../dolphinemu/SideMenuAdapter.java | 6 +- Source/Core/DolphinWX/CMakeLists.txt | 5 +- 151 files changed, 702 insertions(+), 8358 deletions(-) delete mode 100644 Externals/android-menudrawer/.gitignore delete mode 100644 Externals/android-menudrawer/.travis.yml delete mode 100644 Externals/android-menudrawer/CHANGELOG.md delete mode 100644 Externals/android-menudrawer/LICENSE delete mode 100644 Externals/android-menudrawer/README.md delete mode 100644 Externals/android-menudrawer/art/menu_arrow.svg delete mode 100644 Externals/android-menudrawer/checkstyle.xml delete mode 100644 Externals/android-menudrawer/library/AndroidManifest.xml delete mode 100644 Externals/android-menudrawer/library/build.xml delete mode 100644 Externals/android-menudrawer/library/pom.xml delete mode 100644 Externals/android-menudrawer/library/project.properties delete mode 100644 Externals/android-menudrawer/library/res/values/attrs.xml delete mode 100644 Externals/android-menudrawer/library/res/values/colors.xml delete mode 100644 Externals/android-menudrawer/library/res/values/ids.xml delete mode 100644 Externals/android-menudrawer/library/res/values/styles.xml delete mode 100644 Externals/android-menudrawer/library/src/net/simonvt/menudrawer/BottomDrawer.java delete mode 100644 Externals/android-menudrawer/library/src/net/simonvt/menudrawer/BottomStaticDrawer.java delete mode 100644 Externals/android-menudrawer/library/src/net/simonvt/menudrawer/BuildLayerFrameLayout.java delete mode 100644 Externals/android-menudrawer/library/src/net/simonvt/menudrawer/ColorDrawable.java delete mode 100644 Externals/android-menudrawer/library/src/net/simonvt/menudrawer/DraggableDrawer.java delete mode 100644 Externals/android-menudrawer/library/src/net/simonvt/menudrawer/FloatScroller.java delete mode 100644 Externals/android-menudrawer/library/src/net/simonvt/menudrawer/HorizontalDrawer.java delete mode 100644 Externals/android-menudrawer/library/src/net/simonvt/menudrawer/LeftDrawer.java delete mode 100644 Externals/android-menudrawer/library/src/net/simonvt/menudrawer/LeftStaticDrawer.java delete mode 100644 Externals/android-menudrawer/library/src/net/simonvt/menudrawer/MenuDrawer.java delete mode 100644 Externals/android-menudrawer/library/src/net/simonvt/menudrawer/NoClickThroughFrameLayout.java delete mode 100644 Externals/android-menudrawer/library/src/net/simonvt/menudrawer/PeekInterpolator.java delete mode 100644 Externals/android-menudrawer/library/src/net/simonvt/menudrawer/Position.java delete mode 100644 Externals/android-menudrawer/library/src/net/simonvt/menudrawer/RightDrawer.java delete mode 100644 Externals/android-menudrawer/library/src/net/simonvt/menudrawer/RightStaticDrawer.java delete mode 100644 Externals/android-menudrawer/library/src/net/simonvt/menudrawer/Scroller.java delete mode 100644 Externals/android-menudrawer/library/src/net/simonvt/menudrawer/SinusoidalInterpolator.java delete mode 100644 Externals/android-menudrawer/library/src/net/simonvt/menudrawer/SmoothInterpolator.java delete mode 100644 Externals/android-menudrawer/library/src/net/simonvt/menudrawer/StaticDrawer.java delete mode 100644 Externals/android-menudrawer/library/src/net/simonvt/menudrawer/TopDrawer.java delete mode 100644 Externals/android-menudrawer/library/src/net/simonvt/menudrawer/TopStaticDrawer.java delete mode 100644 Externals/android-menudrawer/library/src/net/simonvt/menudrawer/VerticalDrawer.java delete mode 100644 Externals/android-menudrawer/pom.xml delete mode 100644 Externals/android-menudrawer/samples/AndroidManifest.xml delete mode 100644 Externals/android-menudrawer/samples/build.xml delete mode 100644 Externals/android-menudrawer/samples/libs/android-support-v4-r10.jar delete mode 100644 Externals/android-menudrawer/samples/pom.xml delete mode 100644 Externals/android-menudrawer/samples/project.properties delete mode 100644 Externals/android-menudrawer/samples/res/drawable-hdpi-v14/menu_arrow.png delete mode 100644 Externals/android-menudrawer/samples/res/drawable-hdpi-v14/menu_arrow_bottom.png delete mode 100644 Externals/android-menudrawer/samples/res/drawable-hdpi-v14/menu_arrow_right.png delete mode 100644 Externals/android-menudrawer/samples/res/drawable-hdpi-v14/menu_arrow_top.png delete mode 100644 Externals/android-menudrawer/samples/res/drawable-hdpi/ic_action_refresh_dark.png delete mode 100644 Externals/android-menudrawer/samples/res/drawable-hdpi/ic_action_select_all_dark.png delete mode 100644 Externals/android-menudrawer/samples/res/drawable-hdpi/ic_launcher.png delete mode 100644 Externals/android-menudrawer/samples/res/drawable-hdpi/ic_menu_moreoverflow_normal_holo_light.png delete mode 100644 Externals/android-menudrawer/samples/res/drawable-hdpi/md__category_background.9.png delete mode 100644 Externals/android-menudrawer/samples/res/drawable-hdpi/md__list_focused_holo.9.png delete mode 100644 Externals/android-menudrawer/samples/res/drawable-hdpi/md__list_longpressed_holo.9.png delete mode 100644 Externals/android-menudrawer/samples/res/drawable-hdpi/md__list_pressed_holo_dark.9.png delete mode 100644 Externals/android-menudrawer/samples/res/drawable-hdpi/md__list_selector_disabled_holo_dark.9.png delete mode 100644 Externals/android-menudrawer/samples/res/drawable-hdpi/menu_arrow.png delete mode 100644 Externals/android-menudrawer/samples/res/drawable-hdpi/menu_arrow_bottom.png delete mode 100644 Externals/android-menudrawer/samples/res/drawable-hdpi/menu_arrow_right.png delete mode 100644 Externals/android-menudrawer/samples/res/drawable-hdpi/menu_arrow_top.png delete mode 100644 Externals/android-menudrawer/samples/res/drawable-mdpi-v14/menu_arrow.png delete mode 100644 Externals/android-menudrawer/samples/res/drawable-mdpi-v14/menu_arrow_bottom.png delete mode 100644 Externals/android-menudrawer/samples/res/drawable-mdpi-v14/menu_arrow_right.png delete mode 100644 Externals/android-menudrawer/samples/res/drawable-mdpi-v14/menu_arrow_top.png delete mode 100644 Externals/android-menudrawer/samples/res/drawable-mdpi/ic_action_refresh_dark.png delete mode 100644 Externals/android-menudrawer/samples/res/drawable-mdpi/ic_launcher.png delete mode 100644 Externals/android-menudrawer/samples/res/drawable-mdpi/ic_menu_moreoverflow_normal_holo_light.png delete mode 100644 Externals/android-menudrawer/samples/res/drawable-mdpi/md__category_background.9.png delete mode 100644 Externals/android-menudrawer/samples/res/drawable-mdpi/md__list_focused_holo.9.png delete mode 100644 Externals/android-menudrawer/samples/res/drawable-mdpi/md__list_longpressed_holo.9.png delete mode 100644 Externals/android-menudrawer/samples/res/drawable-mdpi/md__list_pressed_holo_dark.9.png delete mode 100644 Externals/android-menudrawer/samples/res/drawable-mdpi/md__list_selector_disabled_holo_dark.9.png delete mode 100644 Externals/android-menudrawer/samples/res/drawable-mdpi/menu_arrow.png delete mode 100644 Externals/android-menudrawer/samples/res/drawable-mdpi/menu_arrow_bottom.png delete mode 100644 Externals/android-menudrawer/samples/res/drawable-mdpi/menu_arrow_right.png delete mode 100644 Externals/android-menudrawer/samples/res/drawable-mdpi/menu_arrow_top.png delete mode 100644 Externals/android-menudrawer/samples/res/drawable-xhdpi-v14/menu_arrow.png delete mode 100644 Externals/android-menudrawer/samples/res/drawable-xhdpi-v14/menu_arrow_bottom.png delete mode 100644 Externals/android-menudrawer/samples/res/drawable-xhdpi-v14/menu_arrow_right.png delete mode 100644 Externals/android-menudrawer/samples/res/drawable-xhdpi-v14/menu_arrow_top.png delete mode 100644 Externals/android-menudrawer/samples/res/drawable-xhdpi/ic_action_refresh_dark.png delete mode 100644 Externals/android-menudrawer/samples/res/drawable-xhdpi/ic_action_select_all_dark.png delete mode 100644 Externals/android-menudrawer/samples/res/drawable-xhdpi/ic_launcher.png delete mode 100644 Externals/android-menudrawer/samples/res/drawable-xhdpi/ic_menu_moreoverflow_normal_holo_light.png delete mode 100644 Externals/android-menudrawer/samples/res/drawable-xhdpi/md__category_background.9.png delete mode 100644 Externals/android-menudrawer/samples/res/drawable-xhdpi/md__list_focused_holo.9.png delete mode 100644 Externals/android-menudrawer/samples/res/drawable-xhdpi/md__list_longpressed_holo.9.png delete mode 100644 Externals/android-menudrawer/samples/res/drawable-xhdpi/md__list_pressed_holo_dark.9.png delete mode 100644 Externals/android-menudrawer/samples/res/drawable-xhdpi/md__list_selector_disabled_holo_dark.9.png delete mode 100644 Externals/android-menudrawer/samples/res/drawable-xhdpi/menu_arrow.png delete mode 100644 Externals/android-menudrawer/samples/res/drawable-xhdpi/menu_arrow_bottom.png delete mode 100644 Externals/android-menudrawer/samples/res/drawable-xhdpi/menu_arrow_right.png delete mode 100644 Externals/android-menudrawer/samples/res/drawable-xhdpi/menu_arrow_top.png delete mode 100644 Externals/android-menudrawer/samples/res/drawable/md__list_selector_background_transition_holo_dark.xml delete mode 100644 Externals/android-menudrawer/samples/res/drawable/md__list_selector_holo_dark.xml delete mode 100644 Externals/android-menudrawer/samples/res/layout/activity_bottommenu.xml delete mode 100644 Externals/android-menudrawer/samples/res/layout/activity_contentsample.xml delete mode 100644 Externals/android-menudrawer/samples/res/layout/activity_layoutsample.xml delete mode 100644 Externals/android-menudrawer/samples/res/layout/activity_rightmenu.xml delete mode 100644 Externals/android-menudrawer/samples/res/layout/activity_staticsample.xml delete mode 100644 Externals/android-menudrawer/samples/res/layout/activity_topmenu.xml delete mode 100644 Externals/android-menudrawer/samples/res/layout/activity_viewpagersample.xml delete mode 100644 Externals/android-menudrawer/samples/res/layout/activity_windowsample.xml delete mode 100644 Externals/android-menudrawer/samples/res/layout/list_row_sample.xml delete mode 100644 Externals/android-menudrawer/samples/res/layout/main.xml delete mode 100644 Externals/android-menudrawer/samples/res/layout/menu_bottom.xml delete mode 100644 Externals/android-menudrawer/samples/res/layout/menu_row_category.xml delete mode 100644 Externals/android-menudrawer/samples/res/layout/menu_row_item.xml delete mode 100644 Externals/android-menudrawer/samples/res/layout/menu_scrollview.xml delete mode 100644 Externals/android-menudrawer/samples/res/layout/menu_top.xml delete mode 100644 Externals/android-menudrawer/samples/res/values-v14/colors.xml delete mode 100644 Externals/android-menudrawer/samples/res/values-v14/themes.xml delete mode 100644 Externals/android-menudrawer/samples/res/values/colors.xml delete mode 100644 Externals/android-menudrawer/samples/res/values/strings.xml delete mode 100644 Externals/android-menudrawer/samples/res/values/styles.xml delete mode 100644 Externals/android-menudrawer/samples/res/values/themes.xml delete mode 100644 Externals/android-menudrawer/samples/src/net/simonvt/menudrawer/samples/ActionBarOverlaySample.java delete mode 100644 Externals/android-menudrawer/samples/src/net/simonvt/menudrawer/samples/BottomMenuSample.java delete mode 100644 Externals/android-menudrawer/samples/src/net/simonvt/menudrawer/samples/ContentSample.java delete mode 100644 Externals/android-menudrawer/samples/src/net/simonvt/menudrawer/samples/LayoutSample.java delete mode 100644 Externals/android-menudrawer/samples/src/net/simonvt/menudrawer/samples/ListActivitySample.java delete mode 100644 Externals/android-menudrawer/samples/src/net/simonvt/menudrawer/samples/RightMenuSample.java delete mode 100644 Externals/android-menudrawer/samples/src/net/simonvt/menudrawer/samples/SamplesActivity.java delete mode 100644 Externals/android-menudrawer/samples/src/net/simonvt/menudrawer/samples/StaticDrawerSample.java delete mode 100644 Externals/android-menudrawer/samples/src/net/simonvt/menudrawer/samples/TopMenuSample.java delete mode 100644 Externals/android-menudrawer/samples/src/net/simonvt/menudrawer/samples/ViewPagerSample.java delete mode 100644 Externals/android-menudrawer/samples/src/net/simonvt/menudrawer/samples/WindowSample.java create mode 100644 Source/Android/libs/android-support-v13.jar rename Externals/android-menudrawer/samples/res/drawable-mdpi/ic_action_select_all_dark.png => Source/Android/res/drawable/ic_drawer.png (94%) delete mode 100644 Source/Android/res/layout/folderbrowserfooter.xml create mode 100644 Source/Android/res/layout/gamelist_activity.xml rename Source/Android/res/layout/{main.xml => gamelist_layout.xml} (89%) create mode 100644 Source/Android/res/layout/gamelist_listview.xml create mode 100644 Source/Android/src/org/dolphinemu/dolphinemu/FolderBrowserAdapter.java create mode 100644 Source/Android/src/org/dolphinemu/dolphinemu/GameListActivity.java delete mode 100644 Source/Android/src/org/dolphinemu/dolphinemu/GameListView.java diff --git a/Externals/android-menudrawer/.gitignore b/Externals/android-menudrawer/.gitignore deleted file mode 100644 index fdb137a854..0000000000 --- a/Externals/android-menudrawer/.gitignore +++ /dev/null @@ -1,30 +0,0 @@ -/* - -!.gitignore -!.travis.yml -!CHANGELOG.md -!README.md -!LICENSE -!checkstyle.xml -!pom.xml - -!art/ - -!library/ -library/* -!library/src/ -!library/res/ -!library/AndroidManifest.xml -!library/build.xml -!library/pom.xml -!library/project.properties - -!samples/ -samples/* -!samples/src/ -!samples/res/ -!samples/libs/ -!samples/AndroidManifest.xml -!samples/build.xml -!samples/pom.xml -!samples/project.properties diff --git a/Externals/android-menudrawer/.travis.yml b/Externals/android-menudrawer/.travis.yml deleted file mode 100644 index ee6ec5ca1f..0000000000 --- a/Externals/android-menudrawer/.travis.yml +++ /dev/null @@ -1,18 +0,0 @@ -language: java - -notifications: - email: false - -before_install: - - wget http://dl.google.com/android/android-sdk_r21.0.1-linux.tgz - - tar -zxf android-sdk_r21.0.1-linux.tgz - - export ANDROID_HOME=~/builds/SimonVT/android-menudrawer/android-sdk-linux - - export PATH=${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/platform-tools - - TOOLS=$(android list sdk --no-ui | grep "Android SDK Platform-tools" | cut -d"-" -f1) - - android update sdk --filter "$TOOLS" --no-ui --force - - SDK=$(android list sdk --no-ui | grep ", API 16," | cut -d"-" -f1) - - android update sdk --filter "$SDK" --no-ui --force - -install: - - "mvn package --quiet -DskipTests" - - "mvn verify" diff --git a/Externals/android-menudrawer/CHANGELOG.md b/Externals/android-menudrawer/CHANGELOG.md deleted file mode 100644 index a570a8e420..0000000000 --- a/Externals/android-menudrawer/CHANGELOG.md +++ /dev/null @@ -1,44 +0,0 @@ -Change Log -========== - -Version 2.0.2 *(2013-03-31)* ----------------------------- - * Added listener that makes it possible to disabllow intercepting touch events over - certain views - * Added setter for the maximum animation duration - * Added getter for menu size - * Added methods that enable/disable indicator animation - * Fix: Removed log statements - * Fix: Drawing the active indicator might cause crash if the active view is not a - child of the MenuDrawer - * Fix: Crash in static drawer if no active indicator bitmap was set - -Version 2.0.1 *(2013-02-12)* ----------------------------- - * Indicator now animates between active views - * Fixed restoring state for right/bottom drawer - -Version 2.0.0 *(2013-01-23)* ----------------------------- - - * Major API changes - - * All classes are now in the net.simonvt.menudrawer package. - * MenuDrawerManager no longet exists. Menu is added with MenuDrawer#attach(...). - * Drawer position is now selected with Position enums instead of int constants. - * Width methods/attributes have been renamed to 'size'. - - * Added top/bottom drawer. - * Added static (non-draggable, always visible) drawers. - * The touch bezel size is now configurable with MenuDrawer#setTouchBezelSize(int). - * MenuDrawer#saveState() now only required when dragging the entire window. - * Drawers can now be used in XML layouts. - * Fix: Scroller class caused conflicts with other libraries. - * Fix: No more overdraw when the drawer is closed. - * Fix: Content no longer falls behind when slowly dragging. - - -Version 1.0.0 *(2012-10-30)* ----------------------------- - -Initial release. diff --git a/Externals/android-menudrawer/LICENSE b/Externals/android-menudrawer/LICENSE deleted file mode 100644 index 7a4a3ea242..0000000000 --- a/Externals/android-menudrawer/LICENSE +++ /dev/null @@ -1,202 +0,0 @@ - - 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. \ No newline at end of file diff --git a/Externals/android-menudrawer/README.md b/Externals/android-menudrawer/README.md deleted file mode 100644 index 1773274860..0000000000 --- a/Externals/android-menudrawer/README.md +++ /dev/null @@ -1,96 +0,0 @@ -MenuDrawer -========== - -A slide-out menu implementation, which allows users to navigate between views -in your app. Most commonly the menu is revealed by either dragging the edge -of the screen, or clicking the 'up' button in the action bar. - - -Features --------- - - * The menu can be positioned along all four edges. - * Supports attaching an always visible, non-draggable menu, which is useful - on e.g. tablets. - * The menu can wrap both the content and the entire window. - * Allows the drawer to be opened by dragging the edge, the entire screen or - not at all. - * Can be used in XML layouts. - * Indicator that shows which screen is currently visible. - - -Usage -===== - -This library is very simple to use. It requires no extension of custom classes, -it's simply added to an activity by calling one of the `MenuDrawer#attach(...)` -methods. - -For more examples on how to use this library, check out the sample app. - - -Left menu ---------- -```java -public class SampleActivity extends Activity { - - private MenuDrawer mDrawer; - - @Override - protected void onCreate(Bundle state) { - super.onCreate(state); - mDrawer = MenuDrawer.attach(this); - mDrawer.setContentView(R.layout.activity_sample); - mDrawer.setMenuView(R.layout.menu_sample); - } -} -``` - - -Right menu ----------- -```java -public class SampleActivity extends Activity { - - private MenuDrawer mDrawer; - - @Override - protected void onCreate(Bundle state) { - super.onCreate(state); - mDrawer = MenuDrawer.attach(this, Position.RIGHT); - mDrawer.setContentView(R.layout.activity_sample); - mDrawer.setMenuView(R.layout.menu_sample); - } -} -``` - - -Credits -======= - - * Cyril Mottier for his [articles][1] on the pattern - - -License -======= - - Copyright 2012 Simon Vig Therkildsen - - 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.cyrilmottier.com/?p=658 diff --git a/Externals/android-menudrawer/art/menu_arrow.svg b/Externals/android-menudrawer/art/menu_arrow.svg deleted file mode 100644 index 05f205a3bf..0000000000 --- a/Externals/android-menudrawer/art/menu_arrow.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - diff --git a/Externals/android-menudrawer/checkstyle.xml b/Externals/android-menudrawer/checkstyle.xml deleted file mode 100644 index beb2c4a7e6..0000000000 --- a/Externals/android-menudrawer/checkstyle.xml +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Externals/android-menudrawer/library/AndroidManifest.xml b/Externals/android-menudrawer/library/AndroidManifest.xml deleted file mode 100644 index a77d28a931..0000000000 --- a/Externals/android-menudrawer/library/AndroidManifest.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - diff --git a/Externals/android-menudrawer/library/build.xml b/Externals/android-menudrawer/library/build.xml deleted file mode 100644 index e5eb1dc0d0..0000000000 --- a/Externals/android-menudrawer/library/build.xml +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Externals/android-menudrawer/library/pom.xml b/Externals/android-menudrawer/library/pom.xml deleted file mode 100644 index b5bd881040..0000000000 --- a/Externals/android-menudrawer/library/pom.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - 4.0.0 - - - net.simonvt - android-menudrawer-parent - 2.0.3-SNAPSHOT - ../pom.xml - - - android-menudrawer - Android MenuDrawer - apklib - - - - com.google.android - android - provided - - - - - src - - - - com.jayway.maven.plugins.android.generation2 - android-maven-plugin - true - - - - diff --git a/Externals/android-menudrawer/library/project.properties b/Externals/android-menudrawer/library/project.properties deleted file mode 100644 index c81c2d97f5..0000000000 --- a/Externals/android-menudrawer/library/project.properties +++ /dev/null @@ -1,16 +0,0 @@ -# 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 - -android.library=true -# Project target. -target=android-17 - diff --git a/Externals/android-menudrawer/library/res/values/attrs.xml b/Externals/android-menudrawer/library/res/values/attrs.xml deleted file mode 100644 index c8ec779700..0000000000 --- a/Externals/android-menudrawer/library/res/values/attrs.xml +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Externals/android-menudrawer/library/res/values/colors.xml b/Externals/android-menudrawer/library/res/values/colors.xml deleted file mode 100644 index 2866c6abe6..0000000000 --- a/Externals/android-menudrawer/library/res/values/colors.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - #FF555555 - - diff --git a/Externals/android-menudrawer/library/res/values/ids.xml b/Externals/android-menudrawer/library/res/values/ids.xml deleted file mode 100644 index c6001910b0..0000000000 --- a/Externals/android-menudrawer/library/res/values/ids.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/Externals/android-menudrawer/library/res/values/styles.xml b/Externals/android-menudrawer/library/res/values/styles.xml deleted file mode 100644 index 415be6d229..0000000000 --- a/Externals/android-menudrawer/library/res/values/styles.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - diff --git a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/BottomDrawer.java b/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/BottomDrawer.java deleted file mode 100644 index 17f41e2c4c..0000000000 --- a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/BottomDrawer.java +++ /dev/null @@ -1,226 +0,0 @@ -package net.simonvt.menudrawer; - -import android.app.Activity; -import android.content.Context; -import android.graphics.Canvas; -import android.graphics.drawable.GradientDrawable; -import android.util.AttributeSet; -import android.view.MotionEvent; - -public class BottomDrawer extends VerticalDrawer { - - private int mIndicatorLeft; - - BottomDrawer(Activity activity, int dragMode) { - super(activity, dragMode); - } - - public BottomDrawer(Context context) { - super(context); - } - - public BottomDrawer(Context context, AttributeSet attrs) { - super(context, attrs); - } - - public BottomDrawer(Context context, AttributeSet attrs, int defStyle) { - super(context, attrs, defStyle); - } - - @Override - public void openMenu(boolean animate) { - animateOffsetTo(-mMenuSize, 0, animate); - } - - @Override - public void closeMenu(boolean animate) { - animateOffsetTo(0, 0, animate); - } - - @Override - public void setDropShadowColor(int color) { - final int endColor = color & 0x00FFFFFF; - mDropShadowDrawable = new GradientDrawable(GradientDrawable.Orientation.TOP_BOTTOM, - new int[] { - color, - endColor, - }); - invalidate(); - } - - @Override - protected void onLayout(boolean changed, int l, int t, int r, int b) { - final int width = r - l; - final int height = b - t; - final int offsetPixels = (int) mOffsetPixels; - final int menuSize = mMenuSize; - - mMenuContainer.layout(0, height - menuSize, width, height); - offsetMenu(offsetPixels); - - if (USE_TRANSLATIONS) { - mContentContainer.layout(0, 0, width, height); - } else { - mContentContainer.layout(0, offsetPixels, width, height + offsetPixels); - } - } - - /** - * Offsets the menu relative to its original position based on the position of the content. - * - * @param offsetPixels The number of pixels the content if offset. - */ - private void offsetMenu(int offsetPixels) { - if (mOffsetMenu && mMenuSize != 0) { - final int height = getHeight(); - final int menuSize = mMenuSize; - final float openRatio = (menuSize + (float) offsetPixels) / menuSize; - - if (USE_TRANSLATIONS) { - if (offsetPixels != 0) { - final int offset = (int) (0.25f * (openRatio * menuSize)); - mMenuContainer.setTranslationY(offset); - } else { - mMenuContainer.setTranslationY(height + menuSize); - } - - } else { - final int oldMenuTop = mMenuContainer.getTop(); - final int offsetBy = (int) (0.25f * (openRatio * menuSize)); - final int offset = height - mMenuSize + offsetBy - oldMenuTop; - mMenuContainer.offsetTopAndBottom(offset); - mMenuContainer.setVisibility(offsetPixels == 0 ? INVISIBLE : VISIBLE); - } - } - } - - @Override - protected void drawDropShadow(Canvas canvas, int offsetPixels) { - final int width = getWidth(); - final int height = getHeight(); - - mDropShadowDrawable.setBounds(0, height + offsetPixels, width, height + offsetPixels + mDropShadowSize); - mDropShadowDrawable.draw(canvas); - } - - @Override - protected void drawMenuOverlay(Canvas canvas, int offsetPixels) { - final int width = getWidth(); - final int height = getHeight(); - final float openRatio = ((float) Math.abs(offsetPixels)) / mMenuSize; - - mMenuOverlay.setBounds(0, height + offsetPixels, width, height); - mMenuOverlay.setAlpha((int) (MAX_MENU_OVERLAY_ALPHA * (1.f - openRatio))); - mMenuOverlay.draw(canvas); - } - - @Override - protected void drawIndicator(Canvas canvas, int offsetPixels) { - if (mActiveView != null && isViewDescendant(mActiveView)) { - Integer position = (Integer) mActiveView.getTag(R.id.mdActiveViewPosition); - final int pos = position == null ? 0 : position; - - if (pos == mActivePosition) { - final int height = getHeight(); - final int menuHeight = mMenuSize; - final int indicatorHeight = mActiveIndicator.getHeight(); - - final float openRatio = ((float) Math.abs(offsetPixels)) / menuHeight; - - mActiveView.getDrawingRect(mActiveRect); - offsetDescendantRectToMyCoords(mActiveView, mActiveRect); - final int indicatorWidth = mActiveIndicator.getWidth(); - - final float interpolatedRatio = 1.f - INDICATOR_INTERPOLATOR.getInterpolation((1.f - openRatio)); - final int interpolatedHeight = (int) (indicatorHeight * interpolatedRatio); - - final int indicatorBottom = height + offsetPixels + interpolatedHeight; - final int indicatorTop = indicatorBottom - indicatorHeight; - if (mIndicatorAnimating) { - final int finalLeft = mActiveRect.left + ((mActiveRect.width() - indicatorWidth) / 2); - final int startLeft = mIndicatorStartPos; - final int diff = finalLeft - startLeft; - final int startOffset = (int) (diff * mIndicatorOffset); - mIndicatorLeft = startLeft + startOffset; - } else { - mIndicatorLeft = mActiveRect.left + ((mActiveRect.width() - indicatorWidth) / 2); - } - - canvas.save(); - canvas.clipRect(mIndicatorLeft, height + offsetPixels, mIndicatorLeft + indicatorWidth, - indicatorBottom); - canvas.drawBitmap(mActiveIndicator, mIndicatorLeft, indicatorTop, null); - canvas.restore(); - } - } - } - - @Override - protected int getIndicatorStartPos() { - return mIndicatorLeft; - } - - @Override - protected void initPeekScroller() { - final int dx = -mMenuSize / 3; - mPeekScroller.startScroll(0, 0, dx, 0, PEEK_DURATION); - } - - @Override - protected void onOffsetPixelsChanged(int offsetPixels) { - if (USE_TRANSLATIONS) { - mContentContainer.setTranslationY(offsetPixels); - offsetMenu(offsetPixels); - invalidate(); - } else { - mContentContainer.offsetTopAndBottom(offsetPixels - mContentContainer.getTop()); - offsetMenu(offsetPixels); - invalidate(); - } - } - - ////////////////////////////////////////////////////////////////////// - // Touch handling - ////////////////////////////////////////////////////////////////////// - - @Override - protected boolean isContentTouch(MotionEvent ev) { - return ev.getY() < getHeight() + mOffsetPixels; - } - - @Override - protected boolean onDownAllowDrag(MotionEvent ev) { - final int height = getHeight(); - return (!mMenuVisible && mInitialMotionY >= height - mTouchSize) - || (mMenuVisible && mInitialMotionY <= height + mOffsetPixels); - } - - @Override - protected boolean onMoveAllowDrag(MotionEvent ev, float diff) { - final int height = getHeight(); - return (!mMenuVisible && mInitialMotionY >= height - mTouchSize && (diff < 0)) - || (mMenuVisible && mInitialMotionY <= height + mOffsetPixels); - } - - @Override - protected void onMoveEvent(float dx) { - setOffsetPixels(Math.max(Math.min(mOffsetPixels + dx, 0), -mMenuSize)); - } - - @Override - protected void onUpEvent(MotionEvent ev) { - final int offsetPixels = (int) mOffsetPixels; - - if (mIsDragging) { - mVelocityTracker.computeCurrentVelocity(1000, mMaxVelocity); - final int initialVelocity = (int) mVelocityTracker.getXVelocity(); - mLastMotionY = ev.getY(); - animateOffsetTo(mVelocityTracker.getYVelocity() < 0 ? -mMenuSize : 0, initialVelocity, - true); - - // Close the menu when content is clicked while the menu is visible. - } else if (mMenuVisible && ev.getY() < getHeight() + offsetPixels) { - closeMenu(); - } - } -} diff --git a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/BottomStaticDrawer.java b/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/BottomStaticDrawer.java deleted file mode 100644 index df4b5f4997..0000000000 --- a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/BottomStaticDrawer.java +++ /dev/null @@ -1,85 +0,0 @@ -package net.simonvt.menudrawer; - -import android.app.Activity; -import android.content.Context; -import android.graphics.Canvas; -import android.graphics.drawable.GradientDrawable; -import android.util.AttributeSet; - -public class BottomStaticDrawer extends StaticDrawer { - - private int mIndicatorLeft; - - BottomStaticDrawer(Activity activity, int dragMode) { - super(activity, dragMode); - } - - public BottomStaticDrawer(Context context) { - super(context); - } - - public BottomStaticDrawer(Context context, AttributeSet attrs) { - super(context, attrs); - } - - public BottomStaticDrawer(Context context, AttributeSet attrs, int defStyle) { - super(context, attrs, defStyle); - } - - @Override - protected void initDrawer(Context context, AttributeSet attrs, int defStyle) { - super.initDrawer(context, attrs, defStyle); - mPosition = Position.BOTTOM; - } - - @Override - public void setDropShadowColor(int color) { - final int endColor = color & 0x00FFFFFF; - mDropShadowDrawable = new GradientDrawable(GradientDrawable.Orientation.TOP_BOTTOM, new int[] { - color, - endColor, - }); - invalidate(); - } - - @Override - protected void drawIndicator(Canvas canvas) { - if (mActiveView != null && isViewDescendant(mActiveView)) { - Integer position = (Integer) mActiveView.getTag(R.id.mdActiveViewPosition); - final int pos = position == null ? 0 : position; - - if (pos == mActivePosition) { - final int height = getHeight(); - final int menuHeight = mMenuSize; - final int indicatorHeight = mActiveIndicator.getHeight(); - - mActiveView.getDrawingRect(mActiveRect); - offsetDescendantRectToMyCoords(mActiveView, mActiveRect); - final int indicatorWidth = mActiveIndicator.getWidth(); - - final int indicatorTop = height - menuHeight; - final int indicatorBottom = indicatorTop + indicatorHeight; - if (mIndicatorAnimating) { - final int finalLeft = mActiveRect.left + ((mActiveRect.width() - indicatorWidth) / 2); - final int startLeft = mIndicatorStartPos; - final int diff = finalLeft - startLeft; - final int startOffset = (int) (diff * mIndicatorOffset); - mIndicatorLeft = startLeft + startOffset; - } else { - mIndicatorLeft = mActiveRect.left + ((mActiveRect.width() - indicatorWidth) / 2); - } - - canvas.save(); - canvas.clipRect(mIndicatorLeft, indicatorTop, mIndicatorLeft + indicatorWidth, - indicatorBottom); - canvas.drawBitmap(mActiveIndicator, mIndicatorLeft, indicatorTop, null); - canvas.restore(); - } - } - } - - @Override - protected int getIndicatorStartPos() { - return mIndicatorLeft; - } -} diff --git a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/BuildLayerFrameLayout.java b/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/BuildLayerFrameLayout.java deleted file mode 100644 index 45f5aa13c5..0000000000 --- a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/BuildLayerFrameLayout.java +++ /dev/null @@ -1,99 +0,0 @@ -package net.simonvt.menudrawer; - -import android.content.Context; -import android.graphics.Canvas; -import android.util.AttributeSet; -import android.widget.FrameLayout; - -/** - * FrameLayout which caches the hardware layer if available. - *

- * If it's not posted twice the layer either wont be built on start, or it'll be built twice. - */ -public class BuildLayerFrameLayout extends FrameLayout { - - private boolean mChanged; - - private boolean mHardwareLayersEnabled = true; - - private boolean mAttached; - - private boolean mFirst = true; - - public BuildLayerFrameLayout(Context context) { - super(context); - if (MenuDrawer.USE_TRANSLATIONS) { - setLayerType(LAYER_TYPE_HARDWARE, null); - } - } - - public BuildLayerFrameLayout(Context context, AttributeSet attrs) { - super(context, attrs); - if (MenuDrawer.USE_TRANSLATIONS) { - setLayerType(LAYER_TYPE_HARDWARE, null); - } - } - - public BuildLayerFrameLayout(Context context, AttributeSet attrs, int defStyle) { - super(context, attrs, defStyle); - if (MenuDrawer.USE_TRANSLATIONS) { - setLayerType(LAYER_TYPE_HARDWARE, null); - } - } - - void setHardwareLayersEnabled(boolean enabled) { - mHardwareLayersEnabled = enabled; - } - - @Override - protected void onAttachedToWindow() { - super.onAttachedToWindow(); - mAttached = true; - } - - @Override - protected void onDetachedFromWindow() { - super.onDetachedFromWindow(); - mAttached = false; - } - - @Override - protected void onSizeChanged(int w, int h, int oldw, int oldh) { - super.onSizeChanged(w, h, oldw, oldh); - - if (MenuDrawer.USE_TRANSLATIONS && mHardwareLayersEnabled) { - post(new Runnable() { - @Override - public void run() { - mChanged = true; - invalidate(); - } - }); - } - } - - @Override - protected void dispatchDraw(Canvas canvas) { - super.dispatchDraw(canvas); - - if (mChanged && MenuDrawer.USE_TRANSLATIONS) { - post(new Runnable() { - @Override - public void run() { - if (mAttached) { - final int layerType = getLayerType(); - // If it's already a hardware layer, it'll be built anyway. - if (layerType != LAYER_TYPE_HARDWARE || mFirst) { - mFirst = false; - setLayerType(LAYER_TYPE_HARDWARE, null); - buildLayer(); - setLayerType(LAYER_TYPE_NONE, null); - } - } - } - }); - - mChanged = false; - } - } -} diff --git a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/ColorDrawable.java b/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/ColorDrawable.java deleted file mode 100644 index 10a35e7fae..0000000000 --- a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/ColorDrawable.java +++ /dev/null @@ -1,170 +0,0 @@ -/* - * 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 net.simonvt.menudrawer; - -import android.content.res.Resources; -import android.graphics.Canvas; -import android.graphics.ColorFilter; -import android.graphics.Paint; -import android.graphics.PixelFormat; -import android.graphics.drawable.Drawable; - -/** - * A specialized Drawable that fills the Canvas with a specified color. - * Note that a ColorDrawable ignores the ColorFilter. - *

- *

It can be defined in an XML file with the <color> element.

- * - * @attr ref android.R.styleable#ColorDrawable_color - */ -public class ColorDrawable extends Drawable { - - private ColorState mState; - private final Paint mPaint = new Paint(); - - /** Creates a new black ColorDrawable. */ - public ColorDrawable() { - this(null); - } - - /** - * Creates a new ColorDrawable with the specified color. - * - * @param color The color to draw. - */ - public ColorDrawable(int color) { - this(null); - setColor(color); - } - - private ColorDrawable(ColorState state) { - mState = new ColorState(state); - } - - @Override - public int getChangingConfigurations() { - return super.getChangingConfigurations() | mState.mChangingConfigurations; - } - - @Override - public void draw(Canvas canvas) { - if ((mState.mUseColor >>> 24) != 0) { - mPaint.setColor(mState.mUseColor); - canvas.drawRect(getBounds(), mPaint); - } - } - - /** - * Gets the drawable's color value. - * - * @return int The color to draw. - */ - public int getColor() { - return mState.mUseColor; - } - - /** - * Sets the drawable's color value. This action will clobber the results of prior calls to - * {@link #setAlpha(int)} on this object, which side-affected the underlying color. - * - * @param color The color to draw. - */ - public void setColor(int color) { - if (mState.mBaseColor != color || mState.mUseColor != color) { - invalidateSelf(); - mState.mBaseColor = mState.mUseColor = color; - } - } - - /** - * Returns the alpha value of this drawable's color. - * - * @return A value between 0 and 255. - */ - public int getAlpha() { - return mState.mUseColor >>> 24; - } - - /** - * Sets the color's alpha value. - * - * @param alpha The alpha value to set, between 0 and 255. - */ - public void setAlpha(int alpha) { - alpha += alpha >> 7; // make it 0..256 - int baseAlpha = mState.mBaseColor >>> 24; - int useAlpha = baseAlpha * alpha >> 8; - int oldUseColor = mState.mUseColor; - mState.mUseColor = (mState.mBaseColor << 8 >>> 8) | (useAlpha << 24); - if (oldUseColor != mState.mUseColor) { - invalidateSelf(); - } - } - - /** - * Setting a color filter on a ColorDrawable has no effect. - * - * @param colorFilter Ignore. - */ - public void setColorFilter(ColorFilter colorFilter) { - } - - public int getOpacity() { - switch (mState.mUseColor >>> 24) { - case 255: - return PixelFormat.OPAQUE; - case 0: - return PixelFormat.TRANSPARENT; - } - return PixelFormat.TRANSLUCENT; - } - - @Override - public ConstantState getConstantState() { - mState.mChangingConfigurations = getChangingConfigurations(); - return mState; - } - - static final class ColorState extends ConstantState { - - int mBaseColor; // base color, independent of setAlpha() - int mUseColor; // basecolor modulated by setAlpha() - int mChangingConfigurations; - - ColorState(ColorState state) { - if (state != null) { - mBaseColor = state.mBaseColor; - mUseColor = state.mUseColor; - } - } - - @Override - public Drawable newDrawable() { - return new ColorDrawable(this); - } - - @Override - public Drawable newDrawable(Resources res) { - return new ColorDrawable(this); - } - - @Override - public int getChangingConfigurations() { - return mChangingConfigurations; - } - } -} diff --git a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/DraggableDrawer.java b/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/DraggableDrawer.java deleted file mode 100644 index 77fc98e5d3..0000000000 --- a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/DraggableDrawer.java +++ /dev/null @@ -1,672 +0,0 @@ -package net.simonvt.menudrawer; - -import android.app.Activity; -import android.content.Context; -import android.graphics.Canvas; -import android.os.Build; -import android.os.Bundle; -import android.os.Parcelable; -import android.util.AttributeSet; -import android.view.MotionEvent; -import android.view.VelocityTracker; -import android.view.View; -import android.view.ViewConfiguration; -import android.view.ViewGroup; -import android.view.animation.AccelerateInterpolator; -import android.view.animation.Interpolator; - -public abstract class DraggableDrawer extends MenuDrawer { - - /** - * Key used when saving menu visibility state. - */ - private static final String STATE_MENU_VISIBLE = "net.simonvt.menudrawer.MenuDrawer.menuVisible"; - - /** - * Interpolator used for stretching/retracting the active indicator. - */ - protected static final Interpolator INDICATOR_INTERPOLATOR = new AccelerateInterpolator(); - - /** - * Interpolator used for peeking at the drawer. - */ - private static final Interpolator PEEK_INTERPOLATOR = new PeekInterpolator(); - - /** - * The maximum alpha of the dark menu overlay used for dimming the menu. - */ - protected static final int MAX_MENU_OVERLAY_ALPHA = 185; - - /** - * Default delay from {@link #peekDrawer()} is called until first animation is run. - */ - private static final long DEFAULT_PEEK_START_DELAY = 5000; - - /** - * Default delay between each subsequent animation, after {@link #peekDrawer()} has been called. - */ - private static final long DEFAULT_PEEK_DELAY = 10000; - - /** - * The duration of the peek animation. - */ - protected static final int PEEK_DURATION = 5000; - - /** - * Distance in dp from closed position from where the drawer is considered closed with regards to touch events. - */ - private static final int CLOSE_ENOUGH = 3; - - /** - * Slop before starting a drag. - */ - protected int mTouchSlop; - - /** - * Runnable used when the peek animation is running. - */ - protected final Runnable mPeekRunnable = new Runnable() { - @Override - public void run() { - peekDrawerInvalidate(); - } - }; - - /** - * Runnable used when animating the drawer open/closed. - */ - private final Runnable mDragRunnable = new Runnable() { - @Override - public void run() { - postAnimationInvalidate(); - } - }; - - /** - * Current left position of the content. - */ - protected float mOffsetPixels; - - /** - * Indicates whether the drawer is currently being dragged. - */ - protected boolean mIsDragging; - - /** - * The initial X position of a drag. - */ - protected float mInitialMotionX; - - /** - * The initial Y position of a drag. - */ - protected float mInitialMotionY; - - /** - * The last X position of a drag. - */ - protected float mLastMotionX = -1; - - /** - * The last Y position of a drag. - */ - protected float mLastMotionY = -1; - - /** - * Default delay between each subsequent animation, after {@link #peekDrawer()} has been called. - */ - protected long mPeekDelay; - - /** - * Scroller used for the peek drawer animation. - */ - protected Scroller mPeekScroller; - - /** - * Velocity tracker used when animating the drawer open/closed after a drag. - */ - protected VelocityTracker mVelocityTracker; - - /** - * Maximum velocity allowed when animating the drawer open/closed. - */ - protected int mMaxVelocity; - - /** - * Indicates whether the menu should be offset when dragging the drawer. - */ - protected boolean mOffsetMenu = true; - - /** - * Distance in px from closed position from where the drawer is considered closed with regards to touch events. - */ - protected int mCloseEnough; - - /** - * Runnable used for first call to {@link #startPeek()} after {@link #peekDrawer()} has been called. - */ - private Runnable mPeekStartRunnable; - - /** - * Scroller used when animating the drawer open/closed. - */ - private Scroller mScroller; - - /** - * Indicates whether the current layer type is {@link android.view.View#LAYER_TYPE_HARDWARE}. - */ - private boolean mLayerTypeHardware; - - DraggableDrawer(Activity activity, int dragMode) { - super(activity, dragMode); - } - - public DraggableDrawer(Context context) { - super(context); - } - - public DraggableDrawer(Context context, AttributeSet attrs) { - super(context, attrs); - } - - public DraggableDrawer(Context context, AttributeSet attrs, int defStyle) { - super(context, attrs, defStyle); - } - - @Override - protected void initDrawer(Context context, AttributeSet attrs, int defStyle) { - super.initDrawer(context, attrs, defStyle); - - final ViewConfiguration configuration = ViewConfiguration.get(context); - mTouchSlop = configuration.getScaledTouchSlop(); - mMaxVelocity = configuration.getScaledMaximumFlingVelocity(); - - mScroller = new Scroller(context, MenuDrawer.SMOOTH_INTERPOLATOR); - mPeekScroller = new Scroller(context, DraggableDrawer.PEEK_INTERPOLATOR); - - mCloseEnough = dpToPx(DraggableDrawer.CLOSE_ENOUGH); - } - - public void toggleMenu(boolean animate) { - if (mDrawerState == STATE_OPEN || mDrawerState == STATE_OPENING) { - closeMenu(animate); - } else if (mDrawerState == STATE_CLOSED || mDrawerState == STATE_CLOSING) { - openMenu(animate); - } - } - - public boolean isMenuVisible() { - return mMenuVisible; - } - - public void setMenuSize(final int size) { - mMenuSize = size; - mMenuSizeSet = true; - if (mDrawerState == STATE_OPEN || mDrawerState == STATE_OPENING) { - setOffsetPixels(mMenuSize); - } - requestLayout(); - invalidate(); - } - - public void setOffsetMenuEnabled(boolean offsetMenu) { - if (offsetMenu != mOffsetMenu) { - mOffsetMenu = offsetMenu; - requestLayout(); - invalidate(); - } - } - - public boolean getOffsetMenuEnabled() { - return mOffsetMenu; - } - - public void peekDrawer() { - peekDrawer(DEFAULT_PEEK_START_DELAY, DEFAULT_PEEK_DELAY); - } - - public void peekDrawer(long delay) { - peekDrawer(DEFAULT_PEEK_START_DELAY, delay); - } - - public void peekDrawer(final long startDelay, final long delay) { - if (startDelay < 0) { - throw new IllegalArgumentException("startDelay must be zero or larger."); - } - if (delay < 0) { - throw new IllegalArgumentException("delay must be zero or larger"); - } - - removeCallbacks(mPeekRunnable); - removeCallbacks(mPeekStartRunnable); - - mPeekDelay = delay; - mPeekStartRunnable = new Runnable() { - @Override - public void run() { - startPeek(); - } - }; - postDelayed(mPeekStartRunnable, startDelay); - } - - public void setHardwareLayerEnabled(boolean enabled) { - if (enabled != mHardwareLayersEnabled) { - mHardwareLayersEnabled = enabled; - mMenuContainer.setHardwareLayersEnabled(enabled); - mContentContainer.setHardwareLayersEnabled(enabled); - stopLayerTranslation(); - } - } - - public int getTouchMode() { - return mTouchMode; - } - - public void setTouchMode(int mode) { - if (mTouchMode != mode) { - mTouchMode = mode; - updateTouchAreaSize(); - } - } - - public void setTouchBezelSize(int size) { - mTouchBezelSize = size; - } - - public int getTouchBezelSize() { - return mTouchBezelSize; - } - - /** - * Sets the number of pixels the content should be offset. - * - * @param offsetPixels The number of pixels to offset the content by. - */ - protected void setOffsetPixels(float offsetPixels) { - final int oldOffset = (int) mOffsetPixels; - final int newOffset = (int) offsetPixels; - - mOffsetPixels = offsetPixels; - - if (newOffset != oldOffset) { - onOffsetPixelsChanged(newOffset); - mMenuVisible = newOffset != 0; - } - } - - /** - * Called when the number of pixels the content should be offset by has changed. - * - * @param offsetPixels The number of pixels to offset the content by. - */ - protected abstract void onOffsetPixelsChanged(int offsetPixels); - - /** - * If possible, set the layer type to {@link android.view.View#LAYER_TYPE_HARDWARE}. - */ - protected void startLayerTranslation() { - if (USE_TRANSLATIONS && mHardwareLayersEnabled && !mLayerTypeHardware) { - mLayerTypeHardware = true; - mContentContainer.setLayerType(View.LAYER_TYPE_HARDWARE, null); - mMenuContainer.setLayerType(View.LAYER_TYPE_HARDWARE, null); - } - } - - /** - * If the current layer type is {@link android.view.View#LAYER_TYPE_HARDWARE}, this will set it to - * {@link View#LAYER_TYPE_NONE}. - */ - private void stopLayerTranslation() { - if (mLayerTypeHardware) { - mLayerTypeHardware = false; - mContentContainer.setLayerType(View.LAYER_TYPE_NONE, null); - mMenuContainer.setLayerType(View.LAYER_TYPE_NONE, null); - } - } - - /** - * Compute the touch area based on the touch mode. - */ - protected void updateTouchAreaSize() { - if (mTouchMode == TOUCH_MODE_BEZEL) { - mTouchSize = mTouchBezelSize; - } else if (mTouchMode == TOUCH_MODE_FULLSCREEN) { - mTouchSize = getMeasuredWidth(); - } else { - mTouchSize = 0; - } - } - - /** - * Called when a drag has been ended. - */ - protected void endDrag() { - mIsDragging = false; - - if (mVelocityTracker != null) { - mVelocityTracker.recycle(); - mVelocityTracker = null; - } - } - - /** - * Stops ongoing animation of the drawer. - */ - protected void stopAnimation() { - removeCallbacks(mDragRunnable); - mScroller.abortAnimation(); - stopLayerTranslation(); - } - - /** - * Called when a drawer animation has successfully completed. - */ - private void completeAnimation() { - mScroller.abortAnimation(); - final int finalX = mScroller.getFinalX(); - setOffsetPixels(finalX); - setDrawerState(finalX == 0 ? STATE_CLOSED : STATE_OPEN); - stopLayerTranslation(); - } - - /** - * Moves the drawer to the position passed. - * - * @param position The position the content is moved to. - * @param velocity Optional velocity if called by releasing a drag event. - * @param animate Whether the move is animated. - */ - protected void animateOffsetTo(int position, int velocity, boolean animate) { - endDrag(); - endPeek(); - - final int startX = (int) mOffsetPixels; - final int dx = position - startX; - if (dx == 0 || !animate) { - setOffsetPixels(position); - setDrawerState(position == 0 ? STATE_CLOSED : STATE_OPEN); - stopLayerTranslation(); - return; - } - - int duration; - - velocity = Math.abs(velocity); - if (velocity > 0) { - duration = 4 * Math.round(1000.f * Math.abs((float) dx / velocity)); - } else { - duration = (int) (600.f * Math.abs((float) dx / mMenuSize)); - } - - duration = Math.min(duration, mMaxAnimationDuration); - - if (dx > 0) { - setDrawerState(STATE_OPENING); - mScroller.startScroll(startX, 0, dx, 0, duration); - } else { - setDrawerState(STATE_CLOSING); - mScroller.startScroll(startX, 0, dx, 0, duration); - } - - startLayerTranslation(); - - postAnimationInvalidate(); - } - - /** - * Callback when each frame in the drawer animation should be drawn. - */ - private void postAnimationInvalidate() { - if (mScroller.computeScrollOffset()) { - final int oldX = (int) mOffsetPixels; - final int x = mScroller.getCurrX(); - - if (x != oldX) setOffsetPixels(x); - if (x != mScroller.getFinalX()) { - postOnAnimation(mDragRunnable); - return; - } - } - - completeAnimation(); - } - - /** - * Starts peek drawer animation. - */ - protected void startPeek() { - initPeekScroller(); - - startLayerTranslation(); - peekDrawerInvalidate(); - } - - protected abstract void initPeekScroller(); - - /** - * Callback when each frame in the peek drawer animation should be drawn. - */ - private void peekDrawerInvalidate() { - if (mPeekScroller.computeScrollOffset()) { - final int oldX = (int) mOffsetPixels; - final int x = mPeekScroller.getCurrX(); - if (x != oldX) setOffsetPixels(x); - - if (!mPeekScroller.isFinished()) { - postOnAnimation(mPeekRunnable); - return; - - } else if (mPeekDelay > 0) { - mPeekStartRunnable = new Runnable() { - @Override - public void run() { - startPeek(); - } - }; - postDelayed(mPeekStartRunnable, mPeekDelay); - } - } - - completePeek(); - } - - /** - * Called when the peek drawer animation has successfully completed. - */ - private void completePeek() { - mPeekScroller.abortAnimation(); - - setOffsetPixels(0); - - setDrawerState(STATE_CLOSED); - stopLayerTranslation(); - } - - /** - * Stops ongoing peek drawer animation. - */ - protected void endPeek() { - removeCallbacks(mPeekStartRunnable); - removeCallbacks(mPeekRunnable); - stopLayerTranslation(); - } - - protected boolean isCloseEnough() { - return Math.abs(mOffsetPixels) <= mCloseEnough; - } - - /** - * Returns true if the touch event occurs over the content. - * - * @param ev The motion event. - * @return True if the touch event occurred over the content, false otherwise. - */ - protected abstract boolean isContentTouch(MotionEvent ev); - - /** - * Returns true if dragging the content should be allowed. - * - * @param ev The motion event. - * @return True if dragging the content should be allowed, false otherwise. - */ - protected abstract boolean onDownAllowDrag(MotionEvent ev); - - /** - * Tests scrollability within child views of v given a delta of dx. - * - * @param v View to test for horizontal scrollability - * @param checkV Whether the view should be checked for draggability - * @param dx Delta scrolled in pixels - * @param x X coordinate of the active touch point - * @param y Y coordinate of the active touch point - * @return true if child views of v can be scrolled by delta of dx. - */ - protected boolean canChildScrollHorizontally(View v, boolean checkV, int dx, int x, int y) { - if (v instanceof ViewGroup) { - final ViewGroup group = (ViewGroup) v; - - final int count = group.getChildCount(); - // Count backwards - let topmost views consume scroll distance first. - for (int i = count - 1; i >= 0; i--) { - final View child = group.getChildAt(i); - - final int childLeft = child.getLeft() + supportGetTranslationX(child); - final int childRight = child.getRight() + supportGetTranslationX(child); - final int childTop = child.getTop() + supportGetTranslationY(child); - final int childBottom = child.getBottom() + supportGetTranslationY(child); - - if (x >= childLeft && x < childRight && y >= childTop && y < childBottom - && canChildScrollHorizontally(child, true, dx, x - childLeft, y - childTop)) { - return true; - } - } - } - - return checkV && mOnInterceptMoveEventListener.isViewDraggable(v, dx, x, y); - } - - /** - * Tests scrollability within child views of v given a delta of dx. - * - * @param v View to test for horizontal scrollability - * @param checkV Whether the view should be checked for draggability - * @param dx Delta scrolled in pixels - * @param x X coordinate of the active touch point - * @param y Y coordinate of the active touch point - * @return true if child views of v can be scrolled by delta of dx. - */ - protected boolean canChildScrollVertically(View v, boolean checkV, int dx, int x, int y) { - if (v instanceof ViewGroup) { - final ViewGroup group = (ViewGroup) v; - - final int count = group.getChildCount(); - // Count backwards - let topmost views consume scroll distance first. - for (int i = count - 1; i >= 0; i--) { - final View child = group.getChildAt(i); - - final int childLeft = child.getLeft() + supportGetTranslationX(child); - final int childRight = child.getRight() + supportGetTranslationX(child); - final int childTop = child.getTop() + supportGetTranslationY(child); - final int childBottom = child.getBottom() + supportGetTranslationY(child); - - if (x >= childLeft && x < childRight && y >= childTop && y < childBottom - && canChildScrollVertically(child, true, dx, x - childLeft, y - childTop)) { - return true; - } - } - } - - return checkV && mOnInterceptMoveEventListener.isViewDraggable(v, dx, x, y); - } - - private int supportGetTranslationY(View v) { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { - return (int) v.getTranslationY(); - } - - return 0; - } - - private int supportGetTranslationX(View v) { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { - return (int) v.getTranslationX(); - } - - return 0; - } - - /** - * Returns true if dragging the content should be allowed. - * - * @param ev The motion event. - * @return True if dragging the content should be allowed, false otherwise. - */ - protected abstract boolean onMoveAllowDrag(MotionEvent ev, float dx); - - /** - * Called when a move event has happened while dragging the content is in progress. - * - * @param dx The X difference between the last motion event and the current motion event. - */ - protected abstract void onMoveEvent(float dx); - - /** - * Called when {@link android.view.MotionEvent#ACTION_UP} of {@link android.view.MotionEvent#ACTION_CANCEL} is - * delivered to {@link net.simonvt.menudrawer.MenuDrawer#onTouchEvent(android.view.MotionEvent)}. - * - * @param ev The motion event. - */ - protected abstract void onUpEvent(MotionEvent ev); - - @Override - protected void dispatchDraw(Canvas canvas) { - super.dispatchDraw(canvas); - final int offsetPixels = (int) mOffsetPixels; - - if (offsetPixels != 0) drawMenuOverlay(canvas, offsetPixels); - if (mDropShadowEnabled) drawDropShadow(canvas, offsetPixels); - if (mActiveIndicator != null) drawIndicator(canvas, offsetPixels); - } - - /** - * Called when the content drop shadow should be drawn. - * - * @param canvas The canvas on which to draw. - * @param offsetPixels Value in pixels indicating the offset. - */ - protected abstract void drawDropShadow(Canvas canvas, int offsetPixels); - - /** - * Called when the menu overlay should be drawn. - * - * @param canvas The canvas on which to draw. - * @param offsetPixels Value in pixels indicating the offset. - */ - protected abstract void drawMenuOverlay(Canvas canvas, int offsetPixels); - - /** - * Called when the active indicator should be drawn. - * - * @param canvas The canvas on which to draw. - * @param offsetPixels Value in pixels indicating the offset. - */ - protected abstract void drawIndicator(Canvas canvas, int offsetPixels); - - void saveState(Bundle state) { - final boolean menuVisible = mDrawerState == STATE_OPEN || mDrawerState == STATE_OPENING; - state.putBoolean(STATE_MENU_VISIBLE, menuVisible); - } - - public void restoreState(Parcelable in) { - super.restoreState(in); - Bundle state = (Bundle) in; - final boolean menuOpen = state.getBoolean(STATE_MENU_VISIBLE); - if (menuOpen) { - openMenu(false); - } else { - setOffsetPixels(0); - } - mDrawerState = menuOpen ? STATE_OPEN : STATE_CLOSED; - } -} diff --git a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/FloatScroller.java b/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/FloatScroller.java deleted file mode 100644 index df5b445cd7..0000000000 --- a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/FloatScroller.java +++ /dev/null @@ -1,175 +0,0 @@ -/* - * 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 net.simonvt.menudrawer; - -import android.view.animation.AnimationUtils; -import android.view.animation.Interpolator; - -/** - * This class encapsulates scrolling. The duration of the scroll - * can be passed in the constructor and specifies the maximum time that - * the scrolling animation should take. Past this time, the scrolling is - * automatically moved to its final stage and computeScrollOffset() - * will always return false to indicate that scrolling is over. - */ -public class FloatScroller { - - private float mStart; - private float mFinal; - - private float mCurr; - private long mStartTime; - private int mDuration; - private float mDurationReciprocal; - private float mDeltaX; - private boolean mFinished; - private Interpolator mInterpolator; - - /** - * Create a Scroller with the specified interpolator. If the interpolator is - * null, the default (viscous) interpolator will be used. Specify whether or - * not to support progressive "flywheel" behavior in flinging. - */ - public FloatScroller(Interpolator interpolator) { - mFinished = true; - mInterpolator = interpolator; - } - - /** - * Returns whether the scroller has finished scrolling. - * - * @return True if the scroller has finished scrolling, false otherwise. - */ - public final boolean isFinished() { - return mFinished; - } - - /** - * Force the finished field to a particular value. - * - * @param finished The new finished value. - */ - public final void forceFinished(boolean finished) { - mFinished = finished; - } - - /** - * Returns how long the scroll event will take, in milliseconds. - * - * @return The duration of the scroll in milliseconds. - */ - public final int getDuration() { - return mDuration; - } - - /** - * Returns the current offset in the scroll. - * - * @return The new offset as an absolute distance from the origin. - */ - public final float getCurr() { - return mCurr; - } - - /** - * Returns the start offset in the scroll. - * - * @return The start offset as an absolute distance from the origin. - */ - public final float getStart() { - return mStart; - } - - /** - * Returns where the scroll will end. Valid only for "fling" scrolls. - * - * @return The final offset as an absolute distance from the origin. - */ - public final float getFinal() { - return mFinal; - } - - public boolean computeScrollOffset() { - if (mFinished) { - return false; - } - - int timePassed = (int) (AnimationUtils.currentAnimationTimeMillis() - mStartTime); - - if (timePassed < mDuration) { - float x = timePassed * mDurationReciprocal; - x = mInterpolator.getInterpolation(x); - mCurr = mStart + x * mDeltaX; - - } else { - mCurr = mFinal; - mFinished = true; - } - return true; - } - - public void startScroll(float start, float delta, int duration) { - mFinished = false; - mDuration = duration; - mStartTime = AnimationUtils.currentAnimationTimeMillis(); - mStart = start; - mFinal = start + delta; - mDeltaX = delta; - mDurationReciprocal = 1.0f / (float) mDuration; - } - - /** - * Stops the animation. Contrary to {@link #forceFinished(boolean)}, - * aborting the animating cause the scroller to move to the final x and y - * position - * - * @see #forceFinished(boolean) - */ - public void abortAnimation() { - mCurr = mFinal; - mFinished = true; - } - - /** - * Extend the scroll animation. This allows a running animation to scroll - * further and longer, when used with {@link #setFinal(float)}. - * - * @param extend Additional time to scroll in milliseconds. - * @see #setFinal(float) - */ - public void extendDuration(int extend) { - int passed = timePassed(); - mDuration = passed + extend; - mDurationReciprocal = 1.0f / mDuration; - mFinished = false; - } - - /** - * Returns the time elapsed since the beginning of the scrolling. - * - * @return The elapsed time in milliseconds. - */ - public int timePassed() { - return (int) (AnimationUtils.currentAnimationTimeMillis() - mStartTime); - } - - public void setFinal(float newVal) { - mFinal = newVal; - mDeltaX = mFinal - mStart; - mFinished = false; - } -} diff --git a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/HorizontalDrawer.java b/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/HorizontalDrawer.java deleted file mode 100644 index 6f1c8300f7..0000000000 --- a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/HorizontalDrawer.java +++ /dev/null @@ -1,207 +0,0 @@ -package net.simonvt.menudrawer; - -import android.app.Activity; -import android.content.Context; -import android.util.AttributeSet; -import android.view.MotionEvent; -import android.view.VelocityTracker; - -public abstract class HorizontalDrawer extends DraggableDrawer { - - private static final String TAG = "HorizontalDrawer"; - - HorizontalDrawer(Activity activity, int dragMode) { - super(activity, dragMode); - } - - public HorizontalDrawer(Context context) { - super(context); - } - - public HorizontalDrawer(Context context, AttributeSet attrs) { - super(context, attrs); - } - - public HorizontalDrawer(Context context, AttributeSet attrs, int defStyle) { - super(context, attrs, defStyle); - } - - @Override - protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { - final int widthMode = MeasureSpec.getMode(widthMeasureSpec); - final int heightMode = MeasureSpec.getMode(heightMeasureSpec); - - if (widthMode != MeasureSpec.EXACTLY || heightMode != MeasureSpec.EXACTLY) { - throw new IllegalStateException("Must measure with an exact size"); - } - - final int width = MeasureSpec.getSize(widthMeasureSpec); - final int height = MeasureSpec.getSize(heightMeasureSpec); - - if (!mMenuSizeSet) mMenuSize = (int) (width * 0.8f); - if (mOffsetPixels == -1) openMenu(false); - - final int menuWidthMeasureSpec = getChildMeasureSpec(widthMeasureSpec, 0, mMenuSize); - final int menuHeightMeasureSpec = getChildMeasureSpec(widthMeasureSpec, 0, height); - mMenuContainer.measure(menuWidthMeasureSpec, menuHeightMeasureSpec); - - final int contentWidthMeasureSpec = getChildMeasureSpec(widthMeasureSpec, 0, width); - final int contentHeightMeasureSpec = getChildMeasureSpec(widthMeasureSpec, 0, height); - mContentContainer.measure(contentWidthMeasureSpec, contentHeightMeasureSpec); - - setMeasuredDimension(width, height); - - updateTouchAreaSize(); - } - - @Override - public boolean onInterceptTouchEvent(MotionEvent ev) { - final int action = ev.getAction() & MotionEvent.ACTION_MASK; - - if (action == MotionEvent.ACTION_DOWN && mMenuVisible && isCloseEnough()) { - setOffsetPixels(0); - stopAnimation(); - endPeek(); - setDrawerState(STATE_CLOSED); - } - - // Always intercept events over the content while menu is visible. - if (mMenuVisible && isContentTouch(ev)) return true; - - if (mTouchMode == TOUCH_MODE_NONE) { - return false; - } - - if (action != MotionEvent.ACTION_DOWN) { - if (mIsDragging) return true; - } - - switch (action) { - case MotionEvent.ACTION_DOWN: { - mLastMotionX = mInitialMotionX = ev.getX(); - mLastMotionY = mInitialMotionY = ev.getY(); - final boolean allowDrag = onDownAllowDrag(ev); - - if (allowDrag) { - setDrawerState(mMenuVisible ? STATE_OPEN : STATE_CLOSED); - stopAnimation(); - endPeek(); - mIsDragging = false; - } - break; - } - - case MotionEvent.ACTION_MOVE: { - final float x = ev.getX(); - final float dx = x - mLastMotionX; - final float xDiff = Math.abs(dx); - final float y = ev.getY(); - final float yDiff = Math.abs(y - mLastMotionY); - - if (xDiff > mTouchSlop && xDiff > yDiff) { - if (mOnInterceptMoveEventListener != null && mTouchMode == TOUCH_MODE_FULLSCREEN - && canChildScrollHorizontally(mContentContainer, false, (int) dx, (int) x, (int) y)) { - endDrag(); // Release the velocity tracker - return false; - } - - final boolean allowDrag = onMoveAllowDrag(ev, dx); - - if (allowDrag) { - setDrawerState(STATE_DRAGGING); - mIsDragging = true; - mLastMotionX = x; - mLastMotionY = y; - } - } - break; - } - - /** - * If you click really fast, an up or cancel event is delivered here. - * Just snap content to whatever is closest. - * */ - case MotionEvent.ACTION_CANCEL: - case MotionEvent.ACTION_UP: { - if (Math.abs(mOffsetPixels) > mMenuSize / 2) { - openMenu(); - } else { - closeMenu(); - } - break; - } - } - - if (mVelocityTracker == null) mVelocityTracker = VelocityTracker.obtain(); - mVelocityTracker.addMovement(ev); - - return mIsDragging; - } - - @Override - public boolean onTouchEvent(MotionEvent ev) { - if (!mMenuVisible && !mIsDragging && (mTouchMode == TOUCH_MODE_NONE)) { - return false; - } - final int action = ev.getAction() & MotionEvent.ACTION_MASK; - - if (mVelocityTracker == null) mVelocityTracker = VelocityTracker.obtain(); - mVelocityTracker.addMovement(ev); - - switch (action) { - case MotionEvent.ACTION_DOWN: { - mLastMotionX = mInitialMotionX = ev.getX(); - mLastMotionY = mInitialMotionY = ev.getY(); - final boolean allowDrag = onDownAllowDrag(ev); - - if (allowDrag) { - stopAnimation(); - endPeek(); - startLayerTranslation(); - } - break; - } - - case MotionEvent.ACTION_MOVE: { - if (!mIsDragging) { - final float x = ev.getX(); - final float dx = x - mLastMotionX; - final float xDiff = Math.abs(dx); - final float y = ev.getY(); - final float yDiff = Math.abs(y - mLastMotionY); - - if (xDiff > mTouchSlop && xDiff > yDiff) { - final boolean allowDrag = onMoveAllowDrag(ev, dx); - - if (allowDrag) { - setDrawerState(STATE_DRAGGING); - mIsDragging = true; - mLastMotionX = x - mInitialMotionX > 0 - ? mInitialMotionX + mTouchSlop - : mInitialMotionX - mTouchSlop; - } - } - } - - if (mIsDragging) { - startLayerTranslation(); - - final float x = ev.getX(); - final float dx = x - mLastMotionX; - - mLastMotionX = x; - onMoveEvent(dx); - } - break; - } - - case MotionEvent.ACTION_CANCEL: - case MotionEvent.ACTION_UP: { - onUpEvent(ev); - break; - } - } - - return true; - } -} diff --git a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/LeftDrawer.java b/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/LeftDrawer.java deleted file mode 100644 index 59a4fc4ce2..0000000000 --- a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/LeftDrawer.java +++ /dev/null @@ -1,212 +0,0 @@ -package net.simonvt.menudrawer; - -import android.app.Activity; -import android.content.Context; -import android.graphics.Canvas; -import android.graphics.drawable.GradientDrawable; -import android.util.AttributeSet; -import android.view.MotionEvent; - -public class LeftDrawer extends HorizontalDrawer { - - private int mIndicatorTop; - - LeftDrawer(Activity activity, int dragMode) { - super(activity, dragMode); - } - - public LeftDrawer(Context context) { - super(context); - } - - public LeftDrawer(Context context, AttributeSet attrs) { - super(context, attrs); - } - - public LeftDrawer(Context context, AttributeSet attrs, int defStyle) { - super(context, attrs, defStyle); - } - - @Override - public void openMenu(boolean animate) { - animateOffsetTo(mMenuSize, 0, animate); - } - - @Override - public void closeMenu(boolean animate) { - animateOffsetTo(0, 0, animate); - } - - @Override - public void setDropShadowColor(int color) { - final int endColor = color & 0x00FFFFFF; - mDropShadowDrawable = new GradientDrawable(GradientDrawable.Orientation.RIGHT_LEFT, new int[] { - color, - endColor, - }); - invalidate(); - } - - @Override - protected void onLayout(boolean changed, int l, int t, int r, int b) { - final int width = r - l; - final int height = b - t; - final int offsetPixels = (int) mOffsetPixels; - - mMenuContainer.layout(0, 0, mMenuSize, height); - offsetMenu(offsetPixels); - - if (USE_TRANSLATIONS) { - mContentContainer.layout(0, 0, width, height); - } else { - mContentContainer.layout(offsetPixels, 0, width + offsetPixels, height); - } - } - - /** - * Offsets the menu relative to its original position based on the position of the content. - * - * @param offsetPixels The number of pixels the content if offset. - */ - private void offsetMenu(int offsetPixels) { - if (mOffsetMenu && mMenuSize != 0) { - final int menuWidth = mMenuSize; - final float openRatio = (menuWidth - (float) offsetPixels) / menuWidth; - - if (USE_TRANSLATIONS) { - if (offsetPixels > 0) { - final int menuLeft = (int) (0.25f * (-openRatio * menuWidth)); - mMenuContainer.setTranslationX(menuLeft); - } else { - mMenuContainer.setTranslationX(-menuWidth); - } - - } else { - final int oldMenuLeft = mMenuContainer.getLeft(); - final int offset = (int) (0.25f * (-openRatio * menuWidth)) - oldMenuLeft; - mMenuContainer.offsetLeftAndRight(offset); - mMenuContainer.setVisibility(offsetPixels == 0 ? INVISIBLE : VISIBLE); - } - } - } - - @Override - protected void drawDropShadow(Canvas canvas, int offsetPixels) { - final int height = getHeight(); - - mDropShadowDrawable.setBounds(offsetPixels - mDropShadowSize, 0, offsetPixels, height); - mDropShadowDrawable.draw(canvas); - } - - @Override - protected void drawMenuOverlay(Canvas canvas, int offsetPixels) { - final int height = getHeight(); - final float openRatio = ((float) offsetPixels) / mMenuSize; - - mMenuOverlay.setBounds(0, 0, offsetPixels, height); - mMenuOverlay.setAlpha((int) (MAX_MENU_OVERLAY_ALPHA * (1.f - openRatio))); - mMenuOverlay.draw(canvas); - } - - @Override - protected void drawIndicator(Canvas canvas, int offsetPixels) { - if (mActiveView != null && isViewDescendant(mActiveView)) { - Integer position = (Integer) mActiveView.getTag(R.id.mdActiveViewPosition); - final int pos = position == null ? 0 : position; - - if (pos == mActivePosition) { - final float openRatio = ((float) offsetPixels) / mMenuSize; - - mActiveView.getDrawingRect(mActiveRect); - offsetDescendantRectToMyCoords(mActiveView, mActiveRect); - - final float interpolatedRatio = 1.f - INDICATOR_INTERPOLATOR.getInterpolation((1.f - openRatio)); - final int interpolatedWidth = (int) (mActiveIndicator.getWidth() * interpolatedRatio); - - if (mIndicatorAnimating) { - final int indicatorFinalTop = mActiveRect.top + ((mActiveRect.height() - - mActiveIndicator.getHeight()) / 2); - final int indicatorStartTop = mIndicatorStartPos; - final int diff = indicatorFinalTop - indicatorStartTop; - final int startOffset = (int) (diff * mIndicatorOffset); - mIndicatorTop = indicatorStartTop + startOffset; - } else { - mIndicatorTop = mActiveRect.top + ((mActiveRect.height() - mActiveIndicator.getHeight()) / 2); - } - final int right = offsetPixels; - final int left = right - interpolatedWidth; - - canvas.save(); - canvas.clipRect(left, 0, right, getHeight()); - canvas.drawBitmap(mActiveIndicator, left, mIndicatorTop, null); - canvas.restore(); - } - } - } - - @Override - protected int getIndicatorStartPos() { - return mIndicatorTop; - } - - @Override - protected void initPeekScroller() { - final int dx = mMenuSize / 3; - mPeekScroller.startScroll(0, 0, dx, 0, PEEK_DURATION); - } - - @Override - protected void onOffsetPixelsChanged(int offsetPixels) { - if (USE_TRANSLATIONS) { - mContentContainer.setTranslationX(offsetPixels); - offsetMenu(offsetPixels); - invalidate(); - } else { - mContentContainer.offsetLeftAndRight(offsetPixels - mContentContainer.getLeft()); - offsetMenu(offsetPixels); - invalidate(); - } - } - - ////////////////////////////////////////////////////////////////////// - // Touch handling - ////////////////////////////////////////////////////////////////////// - - @Override - protected boolean isContentTouch(MotionEvent ev) { - return ev.getX() > mOffsetPixels; - } - - @Override - protected boolean onDownAllowDrag(MotionEvent ev) { - return (!mMenuVisible && mInitialMotionX <= mTouchSize) - || (mMenuVisible && mInitialMotionX >= mOffsetPixels); - } - - @Override - protected boolean onMoveAllowDrag(MotionEvent ev, float diff) { - return (!mMenuVisible && mInitialMotionX <= mTouchSize && (diff > 0)) - || (mMenuVisible && mInitialMotionX >= mOffsetPixels); - } - - @Override - protected void onMoveEvent(float dx) { - setOffsetPixels(Math.min(Math.max(mOffsetPixels + dx, 0), mMenuSize)); - } - - @Override - protected void onUpEvent(MotionEvent ev) { - final int offsetPixels = (int) mOffsetPixels; - - if (mIsDragging) { - mVelocityTracker.computeCurrentVelocity(1000, mMaxVelocity); - final int initialVelocity = (int) mVelocityTracker.getXVelocity(); - mLastMotionX = ev.getX(); - animateOffsetTo(mVelocityTracker.getXVelocity() > 0 ? mMenuSize : 0, initialVelocity, true); - - // Close the menu when content is clicked while the menu is visible. - } else if (mMenuVisible && ev.getX() > offsetPixels) { - closeMenu(); - } - } -} diff --git a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/LeftStaticDrawer.java b/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/LeftStaticDrawer.java deleted file mode 100644 index 47fa75a356..0000000000 --- a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/LeftStaticDrawer.java +++ /dev/null @@ -1,80 +0,0 @@ -package net.simonvt.menudrawer; - -import android.app.Activity; -import android.content.Context; -import android.graphics.Canvas; -import android.graphics.drawable.GradientDrawable; -import android.util.AttributeSet; - -public class LeftStaticDrawer extends StaticDrawer { - - private int mIndicatorTop; - - LeftStaticDrawer(Activity activity, int dragMode) { - super(activity, dragMode); - } - - public LeftStaticDrawer(Context context) { - super(context); - } - - public LeftStaticDrawer(Context context, AttributeSet attrs) { - super(context, attrs); - } - - public LeftStaticDrawer(Context context, AttributeSet attrs, int defStyle) { - super(context, attrs, defStyle); - } - - @Override - protected void initDrawer(Context context, AttributeSet attrs, int defStyle) { - super.initDrawer(context, attrs, defStyle); - mPosition = Position.LEFT; - } - - @Override - public void setDropShadowColor(int color) { - final int endColor = color & 0x00FFFFFF; - mDropShadowDrawable = new GradientDrawable(GradientDrawable.Orientation.RIGHT_LEFT, new int[] { - color, - endColor, - }); - invalidate(); - } - - @Override - protected void drawIndicator(Canvas canvas) { - if (mActiveView != null && isViewDescendant(mActiveView)) { - Integer position = (Integer) mActiveView.getTag(R.id.mdActiveViewPosition); - final int pos = position == null ? 0 : position; - - if (pos == mActivePosition) { - mActiveView.getDrawingRect(mActiveRect); - offsetDescendantRectToMyCoords(mActiveView, mActiveRect); - - if (mIndicatorAnimating) { - final int indicatorFinalTop = mActiveRect.top + ((mActiveRect.height() - - mActiveIndicator.getHeight()) / 2); - final int indicatorStartTop = mIndicatorStartPos; - final int diff = indicatorFinalTop - indicatorStartTop; - final int startOffset = (int) (diff * mIndicatorOffset); - mIndicatorTop = indicatorStartTop + startOffset; - } else { - mIndicatorTop = mActiveRect.top + ((mActiveRect.height() - mActiveIndicator.getHeight()) / 2); - } - final int right = mMenuSize; - final int left = right - mActiveIndicator.getWidth(); - - canvas.save(); - canvas.clipRect(left, 0, right, getHeight()); - canvas.drawBitmap(mActiveIndicator, left, mIndicatorTop, null); - canvas.restore(); - } - } - } - - @Override - protected int getIndicatorStartPos() { - return mIndicatorTop; - } -} diff --git a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/MenuDrawer.java b/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/MenuDrawer.java deleted file mode 100644 index 7f998e44b4..0000000000 --- a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/MenuDrawer.java +++ /dev/null @@ -1,1151 +0,0 @@ -package net.simonvt.menudrawer; - -import android.app.Activity; -import android.content.Context; -import android.content.res.TypedArray; -import android.graphics.Bitmap; -import android.graphics.BitmapFactory; -import android.graphics.Rect; -import android.graphics.drawable.Drawable; -import android.os.Build; -import android.os.Bundle; -import android.os.Parcel; -import android.os.Parcelable; -import android.util.AttributeSet; -import android.util.Log; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.view.ViewParent; -import android.view.ViewTreeObserver; -import android.view.animation.Interpolator; - -public abstract class MenuDrawer extends ViewGroup { - - /** - * Callback interface for changing state of the drawer. - */ - public interface OnDrawerStateChangeListener { - - /** - * Called when the drawer state changes. - * - * @param oldState The old drawer state. - * @param newState The new drawer state. - */ - void onDrawerStateChange(int oldState, int newState); - } - - /** - * Callback that is invoked when the drawer is in the process of deciding whether it should intercept the touch - * event. This lets the listener decide if the pointer is on a view that would disallow dragging of the drawer. - * This is only called when the touch mode is {@link #TOUCH_MODE_FULLSCREEN}. - */ - public interface OnInterceptMoveEventListener { - - /** - * Called for each child the pointer i on when the drawer is deciding whether to intercept the touch event. - * - * @param v View to test for draggability - * @param dx Delta drag in pixels - * @param x X coordinate of the active touch point - * @param y Y coordinate of the active touch point - * @return true if view is draggable by delta dx. - */ - boolean isViewDraggable(View v, int dx, int x, int y); - } - - /** - * Tag used when logging. - */ - private static final String TAG = "MenuDrawer"; - - /** - * Indicates whether debug code should be enabled. - */ - private static final boolean DEBUG = false; - - /** - * The time between each frame when animating the drawer. - */ - protected static final int ANIMATION_DELAY = 1000 / 60; - - /** - * The default touch bezel size of the drawer in dp. - */ - private static final int DEFAULT_DRAG_BEZEL_DP = 24; - - /** - * The default drop shadow size in dp. - */ - private static final int DEFAULT_DROP_SHADOW_DP = 6; - - /** - * Drag mode for sliding only the content view. - */ - public static final int MENU_DRAG_CONTENT = 0; - - /** - * Drag mode for sliding the entire window. - */ - public static final int MENU_DRAG_WINDOW = 1; - - /** - * Disallow opening the drawer by dragging the screen. - */ - public static final int TOUCH_MODE_NONE = 0; - - /** - * Allow opening drawer only by dragging on the edge of the screen. - */ - public static final int TOUCH_MODE_BEZEL = 1; - - /** - * Allow opening drawer by dragging anywhere on the screen. - */ - public static final int TOUCH_MODE_FULLSCREEN = 2; - - /** - * Indicates that the drawer is currently closed. - */ - public static final int STATE_CLOSED = 0; - - /** - * Indicates that the drawer is currently closing. - */ - public static final int STATE_CLOSING = 1; - - /** - * Indicates that the drawer is currently being dragged by the user. - */ - public static final int STATE_DRAGGING = 2; - - /** - * Indicates that the drawer is currently opening. - */ - public static final int STATE_OPENING = 4; - - /** - * Indicates that the drawer is currently open. - */ - public static final int STATE_OPEN = 8; - - /** - * Indicates whether to use {@link View#setTranslationX(float)} when positioning views. - */ - static final boolean USE_TRANSLATIONS = Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR1; - - /** - * Time to animate the indicator to the new active view. - */ - static final int INDICATOR_ANIM_DURATION = 800; - - /** - * The maximum animation duration. - */ - private static final int DEFAULT_ANIMATION_DURATION = 600; - - /** - * Interpolator used when animating the drawer open/closed. - */ - protected static final Interpolator SMOOTH_INTERPOLATOR = new SmoothInterpolator(); - - /** - * Drawable used as menu overlay. - */ - protected Drawable mMenuOverlay; - - /** - * Defines whether the drop shadow is enabled. - */ - protected boolean mDropShadowEnabled; - - /** - * Drawable used as content drop shadow onto the menu. - */ - protected Drawable mDropShadowDrawable; - - /** - * The size of the content drop shadow. - */ - protected int mDropShadowSize; - - /** - * Bitmap used to indicate the active view. - */ - protected Bitmap mActiveIndicator; - - /** - * The currently active view. - */ - protected View mActiveView; - - /** - * Position of the active view. This is compared to View#getTag(R.id.mdActiveViewPosition) when drawing the - * indicator. - */ - protected int mActivePosition; - - /** - * Whether the indicator should be animated between positions. - */ - private boolean mAllowIndicatorAnimation; - - /** - * Used when reading the position of the active view. - */ - protected final Rect mActiveRect = new Rect(); - - /** - * Temporary {@link Rect} used for deciding whether the view should be invalidated so the indicator can be redrawn. - */ - private final Rect mTempRect = new Rect(); - - /** - * The custom menu view set by the user. - */ - private View mMenuView; - - /** - * The parent of the menu view. - */ - protected BuildLayerFrameLayout mMenuContainer; - - /** - * The parent of the content view. - */ - protected BuildLayerFrameLayout mContentContainer; - - /** - * The size of the menu (width or height depending on the gravity). - */ - protected int mMenuSize; - - /** - * Indicates whether the menu size has been set explicity either via the theme or by calling - * {@link #setMenuSize(int)}. - */ - protected boolean mMenuSizeSet; - - /** - * Indicates whether the menu is currently visible. - */ - protected boolean mMenuVisible; - - /** - * The drag mode of the drawer. Can be either {@link #MENU_DRAG_CONTENT} or {@link #MENU_DRAG_WINDOW}. - */ - private int mDragMode = MENU_DRAG_CONTENT; - - /** - * The current drawer state. - * - * @see #STATE_CLOSED - * @see #STATE_CLOSING - * @see #STATE_DRAGGING - * @see #STATE_OPENING - * @see #STATE_OPEN - */ - protected int mDrawerState = STATE_CLOSED; - - /** - * The touch bezel size of the drawer in px. - */ - protected int mTouchBezelSize; - - /** - * The touch area size of the drawer in px. - */ - protected int mTouchSize; - - /** - * Listener used to dispatch state change events. - */ - private OnDrawerStateChangeListener mOnDrawerStateChangeListener; - - /** - * Touch mode for the Drawer. - * Possible values are {@link #TOUCH_MODE_NONE}, {@link #TOUCH_MODE_BEZEL} or {@link #TOUCH_MODE_FULLSCREEN} - * Default: {@link #TOUCH_MODE_BEZEL} - */ - protected int mTouchMode = TOUCH_MODE_BEZEL; - - /** - * Indicates whether to use {@link View#LAYER_TYPE_HARDWARE} when animating the drawer. - */ - protected boolean mHardwareLayersEnabled = true; - - /** - * The Activity the drawer is attached to. - */ - private Activity mActivity; - - /** - * Scroller used when animating the indicator to a new position. - */ - private FloatScroller mIndicatorScroller; - - /** - * Runnable used when animating the indicator to a new position. - */ - private Runnable mIndicatorRunnable = new Runnable() { - @Override - public void run() { - animateIndicatorInvalidate(); - } - }; - - /** - * The start position of the indicator when animating it to a new position. - */ - protected int mIndicatorStartPos; - - /** - * [0..1] value indicating the current progress of the animation. - */ - protected float mIndicatorOffset; - - /** - * Whether the indicator is currently animating. - */ - protected boolean mIndicatorAnimating; - - /** - * Bundle used to hold the drawers state. - */ - protected Bundle mState; - - /** - * The maximum duration of open/close animations. - */ - protected int mMaxAnimationDuration = DEFAULT_ANIMATION_DURATION; - - /** - * Callback that lets the listener override intercepting of touch events. - */ - protected OnInterceptMoveEventListener mOnInterceptMoveEventListener; - - /** - * Attaches the MenuDrawer to the Activity. - * - * @param activity The activity that the MenuDrawer will be attached to. - * @return The created MenuDrawer instance. - */ - public static MenuDrawer attach(Activity activity) { - return attach(activity, MENU_DRAG_CONTENT); - } - - /** - * Attaches the MenuDrawer to the Activity. - * - * @param activity The activity the menu drawer will be attached to. - * @param dragMode The drag mode of the drawer. Can be either {@link MenuDrawer#MENU_DRAG_CONTENT} - * or {@link MenuDrawer#MENU_DRAG_WINDOW}. - * @return The created MenuDrawer instance. - */ - public static MenuDrawer attach(Activity activity, int dragMode) { - return attach(activity, dragMode, Position.LEFT); - } - - /** - * Attaches the MenuDrawer to the Activity. - * - * @param activity The activity the menu drawer will be attached to. - * @param position Where to position the menu. - * @return The created MenuDrawer instance. - */ - public static MenuDrawer attach(Activity activity, Position position) { - return attach(activity, MENU_DRAG_CONTENT, position); - } - - /** - * Attaches the MenuDrawer to the Activity. - * - * @param activity The activity the menu drawer will be attached to. - * @param dragMode The drag mode of the drawer. Can be either {@link MenuDrawer#MENU_DRAG_CONTENT} - * or {@link MenuDrawer#MENU_DRAG_WINDOW}. - * @param position Where to position the menu. - * @return The created MenuDrawer instance. - */ - public static MenuDrawer attach(Activity activity, int dragMode, Position position) { - return attach(activity, dragMode, position, false); - } - - /** - * Attaches the MenuDrawer to the Activity. - * - * @param activity The activity the menu drawer will be attached to. - * @param dragMode The drag mode of the drawer. Can be either {@link MenuDrawer#MENU_DRAG_CONTENT} - * or {@link MenuDrawer#MENU_DRAG_WINDOW}. - * @param position Where to position the menu. - * @param attachStatic Whether a static (non-draggable, always visible) drawer should be used. - * @return The created MenuDrawer instance. - */ - public static MenuDrawer attach(Activity activity, int dragMode, Position position, boolean attachStatic) { - MenuDrawer menuDrawer = createMenuDrawer(activity, dragMode, position, attachStatic); - menuDrawer.setId(R.id.md__drawer); - - switch (dragMode) { - case MenuDrawer.MENU_DRAG_CONTENT: - attachToContent(activity, menuDrawer); - break; - - case MenuDrawer.MENU_DRAG_WINDOW: - attachToDecor(activity, menuDrawer); - break; - - default: - throw new RuntimeException("Unknown menu mode: " + dragMode); - } - - return menuDrawer; - } - - /** - * Constructs the appropriate MenuDrawer based on the position. - */ - private static MenuDrawer createMenuDrawer(Activity activity, int dragMode, Position position, - boolean attachStatic) { - if (attachStatic) { - switch (position) { - case LEFT: - return new LeftStaticDrawer(activity, dragMode); - case RIGHT: - return new RightStaticDrawer(activity, dragMode); - case TOP: - return new TopStaticDrawer(activity, dragMode); - case BOTTOM: - return new BottomStaticDrawer(activity, dragMode); - default: - throw new IllegalArgumentException("position must be one of LEFT, TOP, RIGHT or BOTTOM"); - } - } - - switch (position) { - case LEFT: - return new LeftDrawer(activity, dragMode); - case RIGHT: - return new RightDrawer(activity, dragMode); - case TOP: - return new TopDrawer(activity, dragMode); - case BOTTOM: - return new BottomDrawer(activity, dragMode); - default: - throw new IllegalArgumentException("position must be one of LEFT, TOP, RIGHT or BOTTOM"); - } - } - - /** - * Attaches the menu drawer to the content view. - */ - private static void attachToContent(Activity activity, MenuDrawer menuDrawer) { - /** - * Do not call mActivity#setContentView. - * E.g. if using with a ListActivity, Activity#setContentView is overridden and dispatched to - * MenuDrawer#setContentView, which then again would call Activity#setContentView. - */ - ViewGroup content = (ViewGroup) activity.findViewById(android.R.id.content); - content.removeAllViews(); - content.addView(menuDrawer, LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); - } - - /** - * Attaches the menu drawer to the window. - */ - private static void attachToDecor(Activity activity, MenuDrawer menuDrawer) { - ViewGroup decorView = (ViewGroup) activity.getWindow().getDecorView(); - ViewGroup decorChild = (ViewGroup) decorView.getChildAt(0); - - decorView.removeAllViews(); - decorView.addView(menuDrawer, LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); - - menuDrawer.mContentContainer.addView(decorChild, decorChild.getLayoutParams()); - } - - MenuDrawer(Activity activity, int dragMode) { - this(activity); - - mActivity = activity; - mDragMode = dragMode; - } - - public MenuDrawer(Context context) { - this(context, null); - } - - public MenuDrawer(Context context, AttributeSet attrs) { - this(context, attrs, R.attr.menuDrawerStyle); - } - - public MenuDrawer(Context context, AttributeSet attrs, int defStyle) { - super(context, attrs, defStyle); - initDrawer(context, attrs, defStyle); - } - - protected void initDrawer(Context context, AttributeSet attrs, int defStyle) { - setWillNotDraw(false); - setFocusable(false); - - TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.MenuDrawer, R.attr.menuDrawerStyle, - R.style.Widget_MenuDrawer); - - final Drawable contentBackground = a.getDrawable(R.styleable.MenuDrawer_mdContentBackground); - final Drawable menuBackground = a.getDrawable(R.styleable.MenuDrawer_mdMenuBackground); - - mMenuSize = a.getDimensionPixelSize(R.styleable.MenuDrawer_mdMenuSize, -1); - mMenuSizeSet = mMenuSize != -1; - - final int indicatorResId = a.getResourceId(R.styleable.MenuDrawer_mdActiveIndicator, 0); - if (indicatorResId != 0) { - mActiveIndicator = BitmapFactory.decodeResource(getResources(), indicatorResId); - } - - mDropShadowEnabled = a.getBoolean(R.styleable.MenuDrawer_mdDropShadowEnabled, true); - - mDropShadowDrawable = a.getDrawable(R.styleable.MenuDrawer_mdDropShadow); - - if (mDropShadowDrawable == null) { - final int dropShadowColor = a.getColor(R.styleable.MenuDrawer_mdDropShadowColor, 0xFF000000); - setDropShadowColor(dropShadowColor); - } - - mDropShadowSize = a.getDimensionPixelSize(R.styleable.MenuDrawer_mdDropShadowSize, - dpToPx(DEFAULT_DROP_SHADOW_DP)); - - mTouchBezelSize = a.getDimensionPixelSize(R.styleable.MenuDrawer_mdTouchBezelSize, - dpToPx(DEFAULT_DRAG_BEZEL_DP)); - - mAllowIndicatorAnimation = a.getBoolean(R.styleable.MenuDrawer_mdAllowIndicatorAnimation, false); - - mMaxAnimationDuration = a.getInt(R.styleable.MenuDrawer_mdMaxAnimationDuration, DEFAULT_ANIMATION_DURATION); - - a.recycle(); - - mMenuContainer = new BuildLayerFrameLayout(context); - mMenuContainer.setId(R.id.md__menu); - mMenuContainer.setBackgroundDrawable(menuBackground); - super.addView(mMenuContainer, -1, new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); - - mContentContainer = new NoClickThroughFrameLayout(context); - mContentContainer.setId(R.id.md__content); - mContentContainer.setBackgroundDrawable(contentBackground); - super.addView(mContentContainer, -1, new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); - - mMenuOverlay = new ColorDrawable(0xFF000000); - - mIndicatorScroller = new FloatScroller(SMOOTH_INTERPOLATOR); - } - - @Override - public void addView(View child, int index, LayoutParams params) { - int childCount = mMenuContainer.getChildCount(); - if (childCount == 0) { - mMenuContainer.addView(child, index, params); - return; - } - - childCount = mContentContainer.getChildCount(); - if (childCount == 0) { - mContentContainer.addView(child, index, params); - return; - } - - throw new IllegalStateException("MenuDrawer can only hold two child views"); - } - - protected int dpToPx(int dp) { - return (int) (getResources().getDisplayMetrics().density * dp + 0.5f); - } - - protected boolean isViewDescendant(View v) { - ViewParent parent = v.getParent(); - while (parent != null) { - if (parent == this) { - return true; - } - - parent = parent.getParent(); - } - - return false; - } - - @Override - protected void onAttachedToWindow() { - super.onAttachedToWindow(); - getViewTreeObserver().addOnScrollChangedListener(mScrollListener); - } - - @Override - protected void onDetachedFromWindow() { - getViewTreeObserver().removeOnScrollChangedListener(mScrollListener); - super.onDetachedFromWindow(); - } - - /** - * Toggles the menu open and close with animation. - */ - public void toggleMenu() { - toggleMenu(true); - } - - /** - * Toggles the menu open and close. - * - * @param animate Whether open/close should be animated. - */ - public abstract void toggleMenu(boolean animate); - - /** - * Animates the menu open. - */ - public void openMenu() { - openMenu(true); - } - - /** - * Opens the menu. - * - * @param animate Whether open/close should be animated. - */ - public abstract void openMenu(boolean animate); - - /** - * Animates the menu closed. - */ - public void closeMenu() { - closeMenu(true); - } - - /** - * Closes the menu. - * - * @param animate Whether open/close should be animated. - */ - public abstract void closeMenu(boolean animate); - - /** - * Indicates whether the menu is currently visible. - * - * @return True if the menu is open, false otherwise. - */ - public abstract boolean isMenuVisible(); - - /** - * Set the size of the menu drawer when open. - * - * @param size The size of the menu. - */ - public abstract void setMenuSize(int size); - - /** - * Returns the size of the menu. - * - * @return The size of the menu. - */ - public int getMenuSize() { - return mMenuSize; - } - - /** - * Set the active view. - * If the mdActiveIndicator attribute is set, this View will have the indicator drawn next to it. - * - * @param v The active view. - */ - public void setActiveView(View v) { - setActiveView(v, 0); - } - - /** - * Set the active view. - * If the mdActiveIndicator attribute is set, this View will have the indicator drawn next to it. - * - * @param v The active view. - * @param position Optional position, usually used with ListView. v.setTag(R.id.mdActiveViewPosition, position) - * must be called first. - */ - public void setActiveView(View v, int position) { - final View oldView = mActiveView; - mActiveView = v; - mActivePosition = position; - - if (mAllowIndicatorAnimation && oldView != null) { - startAnimatingIndicator(); - } - - invalidate(); - } - - /** - * Sets whether the indicator should be animated between active views. - * - * @param animate Whether the indicator should be animated between active views. - */ - public void setAllowIndicatorAnimation(boolean animate) { - if (animate != mAllowIndicatorAnimation) { - mAllowIndicatorAnimation = animate; - completeAnimatingIndicator(); - } - } - - /** - * Indicates whether the indicator should be animated between active views. - * - * @return Whether the indicator should be animated between active views. - */ - public boolean getAllowIndicatorAnimation() { - return mAllowIndicatorAnimation; - } - - /** - * Scroll listener that checks whether the active view has moved before the drawer is invalidated. - */ - private ViewTreeObserver.OnScrollChangedListener mScrollListener = new ViewTreeObserver.OnScrollChangedListener() { - @Override - public void onScrollChanged() { - if (mActiveView != null && isViewDescendant(mActiveView)) { - mActiveView.getDrawingRect(mTempRect); - offsetDescendantRectToMyCoords(mActiveView, mTempRect); - if (mTempRect.left != mActiveRect.left || mTempRect.top != mActiveRect.top - || mTempRect.right != mActiveRect.right || mTempRect.bottom != mActiveRect.bottom) { - invalidate(); - } - } - } - }; - - /** - * Starts animating the indicator to a new position. - */ - private void startAnimatingIndicator() { - mIndicatorStartPos = getIndicatorStartPos(); - mIndicatorAnimating = true; - mIndicatorScroller.startScroll(0.0f, 1.0f, INDICATOR_ANIM_DURATION); - - animateIndicatorInvalidate(); - } - - /** - * Returns the start position of the indicator. - * - * @return The start position of the indicator. - */ - protected abstract int getIndicatorStartPos(); - - /** - * Callback when each frame in the indicator animation should be drawn. - */ - private void animateIndicatorInvalidate() { - if (mIndicatorScroller.computeScrollOffset()) { - mIndicatorOffset = mIndicatorScroller.getCurr(); - invalidate(); - - if (!mIndicatorScroller.isFinished()) { - postOnAnimation(mIndicatorRunnable); - return; - } - } - - completeAnimatingIndicator(); - } - - /** - * Called when the indicator animation has completed. - */ - private void completeAnimatingIndicator() { - mIndicatorOffset = 1.0f; - mIndicatorAnimating = false; - invalidate(); - } - - /** - * Enables or disables offsetting the menu when dragging the drawer. - * - * @param offsetMenu True to offset the menu, false otherwise. - */ - public abstract void setOffsetMenuEnabled(boolean offsetMenu); - - /** - * Indicates whether the menu is being offset when dragging the drawer. - * - * @return True if the menu is being offset, false otherwise. - */ - public abstract boolean getOffsetMenuEnabled(); - - public int getDrawerState() { - return mDrawerState; - } - - /** - * Register a callback to be invoked when the drawer state changes. - * - * @param listener The callback that will run. - */ - public void setOnDrawerStateChangeListener(OnDrawerStateChangeListener listener) { - mOnDrawerStateChangeListener = listener; - } - - /** - * Register a callback that will be invoked when the drawer is about to intercept touch events. - * - * @param listener The callback that will be invoked. - */ - public void setOnInterceptMoveEventListener(OnInterceptMoveEventListener listener) { - mOnInterceptMoveEventListener = listener; - } - - /** - * Defines whether the drop shadow is enabled. - * - * @param enabled Whether the drop shadow is enabled. - */ - public void setDropShadowEnabled(boolean enabled) { - mDropShadowEnabled = enabled; - invalidate(); - } - - /** - * Sets the color of the drop shadow. - * - * @param color The color of the drop shadow. - */ - public abstract void setDropShadowColor(int color); - - /** - * Sets the drawable of the drop shadow. - * - * @param drawable The drawable of the drop shadow. - */ - public void setDropShadow(Drawable drawable) { - mDropShadowDrawable = drawable; - invalidate(); - } - - /** - * Sets the drawable of the drop shadow. - * - * @param resId The resource identifier of the the drawable. - */ - public void setDropShadow(int resId) { - setDropShadow(getResources().getDrawable(resId)); - } - - /** - * Returns the drawable of the drop shadow. - */ - public Drawable getDropShadow() { - return mDropShadowDrawable; - } - - /** - * Sets the size of the drop shadow. - * - * @param size The size of the drop shadow in px. - */ - public void setDropShadowSize(int size) { - mDropShadowSize = size; - invalidate(); - } - - /** - * Animates the drawer slightly open until the user opens the drawer. - */ - public abstract void peekDrawer(); - - /** - * Animates the drawer slightly open. If delay is larger than 0, this happens until the user opens the drawer. - * - * @param delay The delay (in milliseconds) between each run of the animation. If 0, this animation is only run - * once. - */ - public abstract void peekDrawer(long delay); - - /** - * Animates the drawer slightly open. If delay is larger than 0, this happens until the user opens the drawer. - * - * @param startDelay The delay (in milliseconds) until the animation is first run. - * @param delay The delay (in milliseconds) between each run of the animation. If 0, this animation is only run - * once. - */ - public abstract void peekDrawer(long startDelay, long delay); - - /** - * Enables or disables the user of {@link View#LAYER_TYPE_HARDWARE} when animations views. - * - * @param enabled Whether hardware layers are enabled. - */ - public abstract void setHardwareLayerEnabled(boolean enabled); - - /** - * Sets the maximum duration of open/close animations. - * @param duration The maximum duration in milliseconds. - */ - public void setMaxAnimationDuration(int duration) { - mMaxAnimationDuration = duration; - } - - /** - * Returns the ViewGroup used as a parent for the menu view. - * - * @return The menu view's parent. - */ - public ViewGroup getMenuContainer() { - return mMenuContainer; - } - - /** - * Returns the ViewGroup used as a parent for the content view. - * - * @return The content view's parent. - */ - public ViewGroup getContentContainer() { - if (mDragMode == MENU_DRAG_CONTENT) { - return mContentContainer; - } else { - return (ViewGroup) findViewById(android.R.id.content); - } - } - - /** - * Set the menu view from a layout resource. - * - * @param layoutResId Resource ID to be inflated. - */ - public void setMenuView(int layoutResId) { - mMenuContainer.removeAllViews(); - mMenuView = LayoutInflater.from(getContext()).inflate(layoutResId, mMenuContainer, false); - mMenuContainer.addView(mMenuView); - } - - /** - * Set the menu view to an explicit view. - * - * @param view The menu view. - */ - public void setMenuView(View view) { - setMenuView(view, new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); - } - - /** - * Set the menu view to an explicit view. - * - * @param view The menu view. - * @param params Layout parameters for the view. - */ - public void setMenuView(View view, LayoutParams params) { - mMenuView = view; - mMenuContainer.removeAllViews(); - mMenuContainer.addView(view, params); - } - - /** - * Returns the menu view. - * - * @return The menu view. - */ - public View getMenuView() { - return mMenuView; - } - - /** - * Set the content from a layout resource. - * - * @param layoutResId Resource ID to be inflated. - */ - public void setContentView(int layoutResId) { - switch (mDragMode) { - case MenuDrawer.MENU_DRAG_CONTENT: - mContentContainer.removeAllViews(); - LayoutInflater.from(getContext()).inflate(layoutResId, mContentContainer, true); - break; - - case MenuDrawer.MENU_DRAG_WINDOW: - mActivity.setContentView(layoutResId); - break; - } - } - - /** - * Set the content to an explicit view. - * - * @param view The desired content to display. - */ - public void setContentView(View view) { - setContentView(view, new ViewGroup.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); - } - - /** - * Set the content to an explicit view. - * - * @param view The desired content to display. - * @param params Layout parameters for the view. - */ - public void setContentView(View view, LayoutParams params) { - switch (mDragMode) { - case MenuDrawer.MENU_DRAG_CONTENT: - mContentContainer.removeAllViews(); - mContentContainer.addView(view, params); - break; - - case MenuDrawer.MENU_DRAG_WINDOW: - mActivity.setContentView(view, params); - break; - } - } - - protected void setDrawerState(int state) { - if (state != mDrawerState) { - final int oldState = mDrawerState; - mDrawerState = state; - if (mOnDrawerStateChangeListener != null) mOnDrawerStateChangeListener.onDrawerStateChange(oldState, state); - if (DEBUG) logDrawerState(state); - } - } - - protected void logDrawerState(int state) { - switch (state) { - case STATE_CLOSED: - Log.d(TAG, "[DrawerState] STATE_CLOSED"); - break; - - case STATE_CLOSING: - Log.d(TAG, "[DrawerState] STATE_CLOSING"); - break; - - case STATE_DRAGGING: - Log.d(TAG, "[DrawerState] STATE_DRAGGING"); - break; - - case STATE_OPENING: - Log.d(TAG, "[DrawerState] STATE_OPENING"); - break; - - case STATE_OPEN: - Log.d(TAG, "[DrawerState] STATE_OPEN"); - break; - - default: - Log.d(TAG, "[DrawerState] Unknown: " + state); - } - } - - /** - * Returns the touch mode. - */ - public abstract int getTouchMode(); - - /** - * Sets the drawer touch mode. Possible values are {@link #TOUCH_MODE_NONE}, {@link #TOUCH_MODE_BEZEL} or - * {@link #TOUCH_MODE_FULLSCREEN}. - * - * @param mode The touch mode. - */ - public abstract void setTouchMode(int mode); - - /** - * Sets the size of the touch bezel. - * - * @param size The touch bezel size in px. - */ - public abstract void setTouchBezelSize(int size); - - /** - * Returns the size of the touch bezel in px. - */ - public abstract int getTouchBezelSize(); - - @Override - public void postOnAnimation(Runnable action) { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { - super.postOnAnimation(action); - } else { - postDelayed(action, ANIMATION_DELAY); - } - } - - @Override - protected boolean fitSystemWindows(Rect insets) { - if (mDragMode == MENU_DRAG_WINDOW) { - mMenuContainer.setPadding(0, insets.top, 0, 0); - } - return super.fitSystemWindows(insets); - } - - /** - * Saves the state of the drawer. - * - * @return Returns a Parcelable containing the drawer state. - */ - public final Parcelable saveState() { - if (mState == null) mState = new Bundle(); - saveState(mState); - return mState; - } - - void saveState(Bundle state) { - // State saving isn't required for subclasses. - } - - /** - * Restores the state of the drawer. - * - * @param in A parcelable containing the drawer state. - */ - public void restoreState(Parcelable in) { - mState = (Bundle) in; - } - - @Override - protected Parcelable onSaveInstanceState() { - Parcelable superState = super.onSaveInstanceState(); - SavedState state = new SavedState(superState); - - if (mState == null) mState = new Bundle(); - saveState(mState); - - state.mState = mState; - return state; - } - - @Override - protected void onRestoreInstanceState(Parcelable state) { - SavedState savedState = (SavedState) state; - super.onRestoreInstanceState(savedState.getSuperState()); - - restoreState(savedState.mState); - } - - static class SavedState extends BaseSavedState { - - Bundle mState; - - public SavedState(Parcelable superState) { - super(superState); - } - - public SavedState(Parcel in) { - super(in); - mState = in.readBundle(); - } - - @Override - public void writeToParcel(Parcel dest, int flags) { - super.writeToParcel(dest, flags); - dest.writeBundle(mState); - } - - @SuppressWarnings("UnusedDeclaration") - public static final Creator CREATOR = new Creator() { - @Override - public SavedState createFromParcel(Parcel in) { - return new SavedState(in); - } - - @Override - public SavedState[] newArray(int size) { - return new SavedState[size]; - } - }; - } -} diff --git a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/NoClickThroughFrameLayout.java b/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/NoClickThroughFrameLayout.java deleted file mode 100644 index 9462282cb1..0000000000 --- a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/NoClickThroughFrameLayout.java +++ /dev/null @@ -1,28 +0,0 @@ -package net.simonvt.menudrawer; - -import android.content.Context; -import android.util.AttributeSet; -import android.view.MotionEvent; - -/** - * FrameLayout which doesn't let touch events propagate to views positioned behind it in the view hierarchy. - */ -public class NoClickThroughFrameLayout extends BuildLayerFrameLayout { - - public NoClickThroughFrameLayout(Context context) { - super(context); - } - - public NoClickThroughFrameLayout(Context context, AttributeSet attrs) { - super(context, attrs); - } - - public NoClickThroughFrameLayout(Context context, AttributeSet attrs, int defStyle) { - super(context, attrs, defStyle); - } - - @Override - public boolean onTouchEvent(MotionEvent event) { - return true; - } -} diff --git a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/PeekInterpolator.java b/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/PeekInterpolator.java deleted file mode 100644 index d0c7600f66..0000000000 --- a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/PeekInterpolator.java +++ /dev/null @@ -1,28 +0,0 @@ -package net.simonvt.menudrawer; - -import android.view.animation.Interpolator; - -public class PeekInterpolator implements Interpolator { - - private static final String TAG = "PeekInterpolator"; - - private static final SinusoidalInterpolator SINUSOIDAL_INTERPOLATOR = new SinusoidalInterpolator(); - - @Override - public float getInterpolation(float input) { - float result; - - if (input < 1.f / 3.f) { - result = SINUSOIDAL_INTERPOLATOR.getInterpolation(input * 3); - - } else if (input > 2.f / 3.f) { - final float val = ((input + 1.f / 3.f) - 1.f) * 3.f; - result = 1.f - SINUSOIDAL_INTERPOLATOR.getInterpolation(val); - - } else { - result = 1.f; - } - - return result; - } -} diff --git a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/Position.java b/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/Position.java deleted file mode 100644 index e1a3dd3a46..0000000000 --- a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/Position.java +++ /dev/null @@ -1,18 +0,0 @@ -package net.simonvt.menudrawer; - -/** - * Enums used for positioning the drawer. - */ -public enum Position { - // Positions the drawer to the left of the content. - LEFT, - - // Positions the drawer above the content. - TOP, - - // Positions the drawer to the right of the content. - RIGHT, - - // Positions the drawer below the content. - BOTTOM, -} diff --git a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/RightDrawer.java b/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/RightDrawer.java deleted file mode 100644 index 5d75904aac..0000000000 --- a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/RightDrawer.java +++ /dev/null @@ -1,234 +0,0 @@ -package net.simonvt.menudrawer; - -import android.app.Activity; -import android.content.Context; -import android.graphics.Canvas; -import android.graphics.drawable.GradientDrawable; -import android.util.AttributeSet; -import android.view.MotionEvent; - -public class RightDrawer extends HorizontalDrawer { - - private int mIndicatorTop; - - RightDrawer(Activity activity, int dragMode) { - super(activity, dragMode); - } - - public RightDrawer(Context context) { - super(context); - } - - public RightDrawer(Context context, AttributeSet attrs) { - super(context, attrs); - } - - public RightDrawer(Context context, AttributeSet attrs, int defStyle) { - super(context, attrs, defStyle); - } - - @Override - public void openMenu(boolean animate) { - animateOffsetTo(-mMenuSize, 0, animate); - } - - @Override - public void closeMenu(boolean animate) { - animateOffsetTo(0, 0, animate); - } - - @Override - public void setDropShadowColor(int color) { - final int endColor = color & 0x00FFFFFF; - mDropShadowDrawable = new GradientDrawable(GradientDrawable.Orientation.LEFT_RIGHT, new int[] { - color, - endColor, - }); - invalidate(); - } - - @Override - protected void onLayout(boolean changed, int l, int t, int r, int b) { - final int width = r - l; - final int height = b - t; - final int offsetPixels = (int) mOffsetPixels; - - mMenuContainer.layout(width - mMenuSize, 0, width, height); - offsetMenu(offsetPixels); - - if (USE_TRANSLATIONS) { - mContentContainer.layout(0, 0, width, height); - } else { - mContentContainer.layout(offsetPixels, 0, width + offsetPixels, height); - } - } - - /** - * Offsets the menu relative to its original position based on the position of the content. - * - * @param offsetPixels The number of pixels the content if offset. - */ - private void offsetMenu(int offsetPixels) { - if (mOffsetMenu && mMenuSize != 0) { - final int menuWidth = mMenuSize; - final float openRatio = (menuWidth + (float) offsetPixels) / menuWidth; - - if (USE_TRANSLATIONS) { - if (offsetPixels != 0) { - final int offset = (int) (0.25f * (openRatio * menuWidth)); - mMenuContainer.setTranslationX(offset); - } else { - mMenuContainer.setTranslationX(-menuWidth); - } - - } else { - final int width = getWidth(); - final int oldMenuRight = mMenuContainer.getRight(); - final int newRight = width + (int) (0.25f * (openRatio * menuWidth)); - final int offset = newRight - oldMenuRight; - mMenuContainer.offsetLeftAndRight(offset); - mMenuContainer.setVisibility(offsetPixels == 0 ? INVISIBLE : VISIBLE); - } - } - } - - @Override - protected void drawDropShadow(Canvas canvas, int offsetPixels) { - final int height = getHeight(); - final int width = getWidth(); - final int left = width + offsetPixels; - final int right = left + mDropShadowSize; - - mDropShadowDrawable.setBounds(left, 0, right, height); - mDropShadowDrawable.draw(canvas); - } - - @Override - protected void drawMenuOverlay(Canvas canvas, int offsetPixels) { - final int height = getHeight(); - final int width = getWidth(); - final int left = width + offsetPixels; - final int right = width; - final float openRatio = ((float) Math.abs(offsetPixels)) / mMenuSize; - - mMenuOverlay.setBounds(left, 0, right, height); - mMenuOverlay.setAlpha((int) (MAX_MENU_OVERLAY_ALPHA * (1.f - openRatio))); - mMenuOverlay.draw(canvas); - } - - @Override - protected void drawIndicator(Canvas canvas, int offsetPixels) { - if (mActiveView != null && isViewDescendant(mActiveView)) { - Integer position = (Integer) mActiveView.getTag(R.id.mdActiveViewPosition); - final int pos = position == null ? 0 : position; - - if (pos == mActivePosition) { - final int width = getWidth(); - final int menuWidth = mMenuSize; - final int indicatorWidth = mActiveIndicator.getWidth(); - - final int contentRight = width + offsetPixels; - final float openRatio = ((float) Math.abs(offsetPixels)) / menuWidth; - - mActiveView.getDrawingRect(mActiveRect); - offsetDescendantRectToMyCoords(mActiveView, mActiveRect); - - final float interpolatedRatio = 1.f - INDICATOR_INTERPOLATOR.getInterpolation((1.f - openRatio)); - final int interpolatedWidth = (int) (indicatorWidth * interpolatedRatio); - - final int indicatorRight = contentRight + interpolatedWidth; - final int indicatorLeft = indicatorRight - indicatorWidth; - - if (mIndicatorAnimating) { - final int indicatorFinalTop = mActiveRect.top + ((mActiveRect.height() - - mActiveIndicator.getHeight()) / 2); - final int indicatorStartTop = mIndicatorStartPos; - final int diff = indicatorFinalTop - indicatorStartTop; - final int startOffset = (int) (diff * mIndicatorOffset); - mIndicatorTop = indicatorStartTop + startOffset; - } else { - mIndicatorTop = mActiveRect.top + ((mActiveRect.height() - mActiveIndicator.getHeight()) / 2); - } - - canvas.save(); - canvas.clipRect(contentRight, 0, indicatorRight, getHeight()); - canvas.drawBitmap(mActiveIndicator, indicatorLeft, mIndicatorTop, null); - canvas.restore(); - } - } - } - - @Override - protected int getIndicatorStartPos() { - return mIndicatorTop; - } - - @Override - protected void initPeekScroller() { - final int dx = -mMenuSize / 3; - mPeekScroller.startScroll(0, 0, dx, 0, PEEK_DURATION); - } - - @Override - protected void onOffsetPixelsChanged(int offsetPixels) { - if (USE_TRANSLATIONS) { - mContentContainer.setTranslationX(offsetPixels); - offsetMenu(offsetPixels); - invalidate(); - } else { - mContentContainer.offsetLeftAndRight(offsetPixels - mContentContainer.getLeft()); - offsetMenu(offsetPixels); - invalidate(); - } - } - - ////////////////////////////////////////////////////////////////////// - // Touch handling - ////////////////////////////////////////////////////////////////////// - - @Override - protected boolean isContentTouch(MotionEvent ev) { - return ev.getX() < getWidth() + mOffsetPixels; - } - - @Override - protected boolean onDownAllowDrag(MotionEvent ev) { - final int width = getWidth(); - final int initialMotionX = (int) mInitialMotionX; - - return (!mMenuVisible && initialMotionX >= width - mTouchSize) - || (mMenuVisible && initialMotionX <= width + mOffsetPixels); - } - - @Override - protected boolean onMoveAllowDrag(MotionEvent ev, float diff) { - final int width = getWidth(); - final int initialMotionX = (int) mInitialMotionX; - - return (!mMenuVisible && initialMotionX >= width - mTouchSize && (diff < 0)) - || (mMenuVisible && initialMotionX <= width + mOffsetPixels); - } - - @Override - protected void onMoveEvent(float dx) { - final float newOffset = Math.max(Math.min(mOffsetPixels + dx, 0), -mMenuSize); - setOffsetPixels(newOffset); - } - - @Override - protected void onUpEvent(MotionEvent ev) { - final int offsetPixels = (int) mOffsetPixels; - final int width = getWidth(); - - if (mIsDragging) { - mVelocityTracker.computeCurrentVelocity(1000, mMaxVelocity); - final int initialVelocity = (int) mVelocityTracker.getXVelocity(); - mLastMotionX = ev.getX(); - animateOffsetTo(mVelocityTracker.getXVelocity() > 0 ? 0 : -mMenuSize, initialVelocity, true); - - // Close the menu when content is clicked while the menu is visible. - } else if (mMenuVisible && ev.getX() < width + offsetPixels) { - closeMenu(); - } - } -} diff --git a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/RightStaticDrawer.java b/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/RightStaticDrawer.java deleted file mode 100644 index 2027b43acc..0000000000 --- a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/RightStaticDrawer.java +++ /dev/null @@ -1,87 +0,0 @@ -package net.simonvt.menudrawer; - -import android.app.Activity; -import android.content.Context; -import android.graphics.Canvas; -import android.graphics.drawable.GradientDrawable; -import android.util.AttributeSet; - -public class RightStaticDrawer extends StaticDrawer { - - private int mIndicatorTop; - - RightStaticDrawer(Activity activity, int dragMode) { - super(activity, dragMode); - } - - public RightStaticDrawer(Context context) { - super(context); - } - - public RightStaticDrawer(Context context, AttributeSet attrs) { - super(context, attrs); - } - - public RightStaticDrawer(Context context, AttributeSet attrs, int defStyle) { - super(context, attrs, defStyle); - } - - @Override - protected void initDrawer(Context context, AttributeSet attrs, int defStyle) { - super.initDrawer(context, attrs, defStyle); - mPosition = Position.RIGHT; - } - - @Override - public void setDropShadowColor(int color) { - final int endColor = color & 0x00FFFFFF; - mDropShadowDrawable = new GradientDrawable(GradientDrawable.Orientation.LEFT_RIGHT, new int[] { - color, - endColor, - }); - invalidate(); - } - - @Override - protected void drawIndicator(Canvas canvas) { - if (mActiveView != null && isViewDescendant(mActiveView)) { - Integer position = (Integer) mActiveView.getTag(R.id.mdActiveViewPosition); - final int pos = position == null ? 0 : position; - - if (pos == mActivePosition) { - final int width = getWidth(); - final int menuWidth = mMenuSize; - final int indicatorWidth = mActiveIndicator.getWidth(); - - final int contentRight = width - menuWidth; - - mActiveView.getDrawingRect(mActiveRect); - offsetDescendantRectToMyCoords(mActiveView, mActiveRect); - - final int indicatorRight = contentRight + indicatorWidth; - final int indicatorLeft = contentRight; - - if (mIndicatorAnimating) { - final int indicatorFinalTop = mActiveRect.top + ((mActiveRect.height() - - mActiveIndicator.getHeight()) / 2); - final int indicatorStartTop = mIndicatorStartPos; - final int diff = indicatorFinalTop - indicatorStartTop; - final int startOffset = (int) (diff * mIndicatorOffset); - mIndicatorTop = indicatorStartTop + startOffset; - } else { - mIndicatorTop = mActiveRect.top + ((mActiveRect.height() - mActiveIndicator.getHeight()) / 2); - } - - canvas.save(); - canvas.clipRect(contentRight, 0, indicatorRight, getHeight()); - canvas.drawBitmap(mActiveIndicator, indicatorLeft, mIndicatorTop, null); - canvas.restore(); - } - } - } - - @Override - protected int getIndicatorStartPos() { - return mIndicatorTop; - } -} diff --git a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/Scroller.java b/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/Scroller.java deleted file mode 100644 index 58f0fc54e5..0000000000 --- a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/Scroller.java +++ /dev/null @@ -1,505 +0,0 @@ -/* - * 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 net.simonvt.menudrawer; - -import android.content.Context; -import android.hardware.SensorManager; -import android.os.Build; -import android.util.FloatMath; -import android.view.ViewConfiguration; -import android.view.animation.AnimationUtils; -import android.view.animation.Interpolator; - - -/** - * This class encapsulates scrolling. The duration of the scroll - * can be passed in the constructor and specifies the maximum time that - * the scrolling animation should take. Past this time, the scrolling is - * automatically moved to its final stage and computeScrollOffset() - * will always return false to indicate that scrolling is over. - */ -public class Scroller { - private int mMode; - - private int mStartX; - private int mStartY; - private int mFinalX; - private int mFinalY; - - private int mMinX; - private int mMaxX; - private int mMinY; - private int mMaxY; - - private int mCurrX; - private int mCurrY; - private long mStartTime; - private int mDuration; - private float mDurationReciprocal; - private float mDeltaX; - private float mDeltaY; - private boolean mFinished; - private Interpolator mInterpolator; - private boolean mFlywheel; - - private float mVelocity; - - private static final int DEFAULT_DURATION = 250; - private static final int SCROLL_MODE = 0; - private static final int FLING_MODE = 1; - - private static final float DECELERATION_RATE = (float) (Math.log(0.75) / Math.log(0.9)); - private static final float ALPHA = 800; // pixels / seconds - private static final float START_TENSION = 0.4f; // Tension at start: (0.4 * total T, 1.0 * Distance) - private static final float END_TENSION = 1.0f - START_TENSION; - private static final int NB_SAMPLES = 100; - private static final float[] SPLINE = new float[NB_SAMPLES + 1]; - - private float mDeceleration; - private final float mPpi; - - static { - float xMin = 0.0f; - for (int i = 0; i <= NB_SAMPLES; i++) { - final float t = (float) i / NB_SAMPLES; - float xMax = 1.0f; - float x, tx, coef; - while (true) { - x = xMin + (xMax - xMin) / 2.0f; - coef = 3.0f * x * (1.0f - x); - tx = coef * ((1.0f - x) * START_TENSION + x * END_TENSION) + x * x * x; - if (Math.abs(tx - t) < 1E-5) break; - if (tx > t) xMax = x; - else xMin = x; - } - final float d = coef + x * x * x; - SPLINE[i] = d; - } - SPLINE[NB_SAMPLES] = 1.0f; - - // This controls the viscous fluid effect (how much of it) - sViscousFluidScale = 8.0f; - // must be set to 1.0 (used in viscousFluid()) - sViscousFluidNormalize = 1.0f; - sViscousFluidNormalize = 1.0f / viscousFluid(1.0f); - } - - private static float sViscousFluidScale; - private static float sViscousFluidNormalize; - - /** - * Create a Scroller with the default duration and interpolator. - */ - public Scroller(Context context) { - this(context, null); - } - - /** - * Create a Scroller with the specified interpolator. If the interpolator is - * null, the default (viscous) interpolator will be used. "Flywheel" behavior will - * be in effect for apps targeting Honeycomb or newer. - */ - public Scroller(Context context, Interpolator interpolator) { - this(context, interpolator, - context.getApplicationInfo().targetSdkVersion >= Build.VERSION_CODES.HONEYCOMB); - } - - /** - * Create a Scroller with the specified interpolator. If the interpolator is - * null, the default (viscous) interpolator will be used. Specify whether or - * not to support progressive "flywheel" behavior in flinging. - */ - public Scroller(Context context, Interpolator interpolator, boolean flywheel) { - mFinished = true; - mInterpolator = interpolator; - mPpi = context.getResources().getDisplayMetrics().density * 160.0f; - mDeceleration = computeDeceleration(ViewConfiguration.getScrollFriction()); - mFlywheel = flywheel; - } - - /** - * The amount of friction applied to flings. The default value - * is {@link android.view.ViewConfiguration#getScrollFriction}. - * - * @param friction A scalar dimension-less value representing the coefficient of - * friction. - */ - public final void setFriction(float friction) { - mDeceleration = computeDeceleration(friction); - } - - private float computeDeceleration(float friction) { - return SensorManager.GRAVITY_EARTH // g (m/s^2) - * 39.37f // inch/meter - * mPpi // pixels per inch - * friction; - } - - /** - * - * Returns whether the scroller has finished scrolling. - * - * @return True if the scroller has finished scrolling, false otherwise. - */ - public final boolean isFinished() { - return mFinished; - } - - /** - * Force the finished field to a particular value. - * - * @param finished The new finished value. - */ - public final void forceFinished(boolean finished) { - mFinished = finished; - } - - /** - * Returns how long the scroll event will take, in milliseconds. - * - * @return The duration of the scroll in milliseconds. - */ - public final int getDuration() { - return mDuration; - } - - /** - * Returns the current X offset in the scroll. - * - * @return The new X offset as an absolute distance from the origin. - */ - public final int getCurrX() { - return mCurrX; - } - - /** - * Returns the current Y offset in the scroll. - * - * @return The new Y offset as an absolute distance from the origin. - */ - public final int getCurrY() { - return mCurrY; - } - - /** - * Returns the current velocity. - * - * @return The original velocity less the deceleration. Result may be - * negative. - */ - public float getCurrVelocity() { - return mVelocity - mDeceleration * timePassed() / 2000.0f; - } - - /** - * Returns the start X offset in the scroll. - * - * @return The start X offset as an absolute distance from the origin. - */ - public final int getStartX() { - return mStartX; - } - - /** - * Returns the start Y offset in the scroll. - * - * @return The start Y offset as an absolute distance from the origin. - */ - public final int getStartY() { - return mStartY; - } - - /** - * Returns where the scroll will end. Valid only for "fling" scrolls. - * - * @return The final X offset as an absolute distance from the origin. - */ - public final int getFinalX() { - return mFinalX; - } - - /** - * Returns where the scroll will end. Valid only for "fling" scrolls. - * - * @return The final Y offset as an absolute distance from the origin. - */ - public final int getFinalY() { - return mFinalY; - } - - /** - * Call this when you want to know the new location. If it returns true, - * the animation is not yet finished. loc will be altered to provide the - * new location. - */ - public boolean computeScrollOffset() { - if (mFinished) { - return false; - } - - int timePassed = (int) (AnimationUtils.currentAnimationTimeMillis() - mStartTime); - - if (timePassed < mDuration) { - switch (mMode) { - case SCROLL_MODE: - float x = timePassed * mDurationReciprocal; - - if (mInterpolator == null) - x = viscousFluid(x); - else - x = mInterpolator.getInterpolation(x); - - mCurrX = mStartX + Math.round(x * mDeltaX); - mCurrY = mStartY + Math.round(x * mDeltaY); - break; - case FLING_MODE: - final float t = (float) timePassed / mDuration; - final int index = (int) (NB_SAMPLES * t); - final float tInf = (float) index / NB_SAMPLES; - final float tSup = (float) (index + 1) / NB_SAMPLES; - final float dInf = SPLINE[index]; - final float dSup = SPLINE[index + 1]; - final float distanceCoef = dInf + (t - tInf) / (tSup - tInf) * (dSup - dInf); - - mCurrX = mStartX + Math.round(distanceCoef * (mFinalX - mStartX)); - // Pin to mMinX <= mCurrX <= mMaxX - mCurrX = Math.min(mCurrX, mMaxX); - mCurrX = Math.max(mCurrX, mMinX); - - mCurrY = mStartY + Math.round(distanceCoef * (mFinalY - mStartY)); - // Pin to mMinY <= mCurrY <= mMaxY - mCurrY = Math.min(mCurrY, mMaxY); - mCurrY = Math.max(mCurrY, mMinY); - - if (mCurrX == mFinalX && mCurrY == mFinalY) { - mFinished = true; - } - - break; - } - } else { - mCurrX = mFinalX; - mCurrY = mFinalY; - mFinished = true; - } - return true; - } - - /** - * Start scrolling by providing a starting point and the distance to travel. - * The scroll will use the default value of 250 milliseconds for the - * duration. - * - * @param startX Starting horizontal scroll offset in pixels. Positive - * numbers will scroll the content to the left. - * @param startY Starting vertical scroll offset in pixels. Positive numbers - * will scroll the content up. - * @param dx Horizontal distance to travel. Positive numbers will scroll the - * content to the left. - * @param dy Vertical distance to travel. Positive numbers will scroll the - * content up. - */ - public void startScroll(int startX, int startY, int dx, int dy) { - startScroll(startX, startY, dx, dy, DEFAULT_DURATION); - } - - /** - * Start scrolling by providing a starting point and the distance to travel. - * - * @param startX Starting horizontal scroll offset in pixels. Positive - * numbers will scroll the content to the left. - * @param startY Starting vertical scroll offset in pixels. Positive numbers - * will scroll the content up. - * @param dx Horizontal distance to travel. Positive numbers will scroll the - * content to the left. - * @param dy Vertical distance to travel. Positive numbers will scroll the - * content up. - * @param duration Duration of the scroll in milliseconds. - */ - public void startScroll(int startX, int startY, int dx, int dy, int duration) { - mMode = SCROLL_MODE; - mFinished = false; - mDuration = duration; - mStartTime = AnimationUtils.currentAnimationTimeMillis(); - mStartX = startX; - mStartY = startY; - mFinalX = startX + dx; - mFinalY = startY + dy; - mDeltaX = dx; - mDeltaY = dy; - mDurationReciprocal = 1.0f / (float) mDuration; - } - - /** - * Start scrolling based on a fling gesture. The distance travelled will - * depend on the initial velocity of the fling. - * - * @param startX Starting point of the scroll (X) - * @param startY Starting point of the scroll (Y) - * @param velocityX Initial velocity of the fling (X) measured in pixels per - * second. - * @param velocityY Initial velocity of the fling (Y) measured in pixels per - * second - * @param minX Minimum X value. The scroller will not scroll past this - * point. - * @param maxX Maximum X value. The scroller will not scroll past this - * point. - * @param minY Minimum Y value. The scroller will not scroll past this - * point. - * @param maxY Maximum Y value. The scroller will not scroll past this - * point. - */ - public void fling(int startX, int startY, int velocityX, int velocityY, - int minX, int maxX, int minY, int maxY) { - // Continue a scroll or fling in progress - if (mFlywheel && !mFinished) { - float oldVel = getCurrVelocity(); - - float dx = (float) (mFinalX - mStartX); - float dy = (float) (mFinalY - mStartY); - float hyp = FloatMath.sqrt(dx * dx + dy * dy); - - float ndx = dx / hyp; - float ndy = dy / hyp; - - float oldVelocityX = ndx * oldVel; - float oldVelocityY = ndy * oldVel; - if (Math.signum(velocityX) == Math.signum(oldVelocityX) - && Math.signum(velocityY) == Math.signum(oldVelocityY)) { - velocityX += oldVelocityX; - velocityY += oldVelocityY; - } - } - - mMode = FLING_MODE; - mFinished = false; - - float velocity = FloatMath.sqrt(velocityX * velocityX + velocityY * velocityY); - - mVelocity = velocity; - final double l = Math.log(START_TENSION * velocity / ALPHA); - mDuration = (int) (1000.0 * Math.exp(l / (DECELERATION_RATE - 1.0))); - mStartTime = AnimationUtils.currentAnimationTimeMillis(); - mStartX = startX; - mStartY = startY; - - float coeffX = velocity == 0 ? 1.0f : velocityX / velocity; - float coeffY = velocity == 0 ? 1.0f : velocityY / velocity; - - int totalDistance = - (int) (ALPHA * Math.exp(DECELERATION_RATE / (DECELERATION_RATE - 1.0) * l)); - - mMinX = minX; - mMaxX = maxX; - mMinY = minY; - mMaxY = maxY; - - mFinalX = startX + Math.round(totalDistance * coeffX); - // Pin to mMinX <= mFinalX <= mMaxX - mFinalX = Math.min(mFinalX, mMaxX); - mFinalX = Math.max(mFinalX, mMinX); - - mFinalY = startY + Math.round(totalDistance * coeffY); - // Pin to mMinY <= mFinalY <= mMaxY - mFinalY = Math.min(mFinalY, mMaxY); - mFinalY = Math.max(mFinalY, mMinY); - } - - static float viscousFluid(float x) { - x *= sViscousFluidScale; - if (x < 1.0f) { - x -= (1.0f - (float) Math.exp(-x)); - } else { - float start = 0.36787944117f; // 1/e == exp(-1) - x = 1.0f - (float) Math.exp(1.0f - x); - x = start + x * (1.0f - start); - } - x *= sViscousFluidNormalize; - return x; - } - - /** - * Stops the animation. Contrary to {@link #forceFinished(boolean)}, - * aborting the animating cause the scroller to move to the final x and y - * position - * - * @see #forceFinished(boolean) - */ - public void abortAnimation() { - mCurrX = mFinalX; - mCurrY = mFinalY; - mFinished = true; - } - - /** - * Extend the scroll animation. This allows a running animation to scroll - * further and longer, when used with {@link #setFinalX(int)} or {@link #setFinalY(int)}. - * - * @param extend Additional time to scroll in milliseconds. - * @see #setFinalX(int) - * @see #setFinalY(int) - */ - public void extendDuration(int extend) { - int passed = timePassed(); - mDuration = passed + extend; - mDurationReciprocal = 1.0f / mDuration; - mFinished = false; - } - - /** - * Returns the time elapsed since the beginning of the scrolling. - * - * @return The elapsed time in milliseconds. - */ - public int timePassed() { - return (int) (AnimationUtils.currentAnimationTimeMillis() - mStartTime); - } - - /** - * Sets the final position (X) for this scroller. - * - * @param newX The new X offset as an absolute distance from the origin. - * @see #extendDuration(int) - * @see #setFinalY(int) - */ - public void setFinalX(int newX) { - mFinalX = newX; - mDeltaX = mFinalX - mStartX; - mFinished = false; - } - - /** - * Sets the final position (Y) for this scroller. - * - * @param newY The new Y offset as an absolute distance from the origin. - * @see #extendDuration(int) - * @see #setFinalX(int) - */ - public void setFinalY(int newY) { - mFinalY = newY; - mDeltaY = mFinalY - mStartY; - mFinished = false; - } - - /** - * @hide - */ - public boolean isScrollingInDirection(float xvel, float yvel) { - return !mFinished && Math.signum(xvel) == Math.signum(mFinalX - mStartX) - && Math.signum(yvel) == Math.signum(mFinalY - mStartY); - } -} diff --git a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/SinusoidalInterpolator.java b/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/SinusoidalInterpolator.java deleted file mode 100644 index e79051a06b..0000000000 --- a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/SinusoidalInterpolator.java +++ /dev/null @@ -1,15 +0,0 @@ -package net.simonvt.menudrawer; - -import android.view.animation.Interpolator; - -/** - * Interpolator which, when drawn from 0 to 1, looks like half a sine-wave. Used for smoother opening/closing when - * peeking at the drawer. - */ -public class SinusoidalInterpolator implements Interpolator { - - @Override - public float getInterpolation(float input) { - return (float) (0.5f + 0.5f * Math.sin(input * Math.PI - Math.PI / 2.f)); - } -} diff --git a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/SmoothInterpolator.java b/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/SmoothInterpolator.java deleted file mode 100644 index cfdcb69bf3..0000000000 --- a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/SmoothInterpolator.java +++ /dev/null @@ -1,12 +0,0 @@ -package net.simonvt.menudrawer; - -import android.view.animation.Interpolator; - -public class SmoothInterpolator implements Interpolator { - - @Override - public float getInterpolation(float t) { - t -= 1.0f; - return t * t * t * t * t + 1.0f; - } -} diff --git a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/StaticDrawer.java b/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/StaticDrawer.java deleted file mode 100644 index 879f2c9504..0000000000 --- a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/StaticDrawer.java +++ /dev/null @@ -1,208 +0,0 @@ -package net.simonvt.menudrawer; - -import android.app.Activity; -import android.content.Context; -import android.graphics.Canvas; -import android.util.AttributeSet; - -public abstract class StaticDrawer extends MenuDrawer { - - protected Position mPosition; - - StaticDrawer(Activity activity, int dragMode) { - super(activity, dragMode); - } - - public StaticDrawer(Context context) { - super(context); - } - - public StaticDrawer(Context context, AttributeSet attrs) { - super(context, attrs); - } - - public StaticDrawer(Context context, AttributeSet attrs, int defStyle) { - super(context, attrs, defStyle); - } - - @Override - protected void dispatchDraw(Canvas canvas) { - super.dispatchDraw(canvas); - if (mDropShadowEnabled) drawDropShadow(canvas); - if (mActiveIndicator != null) drawIndicator(canvas); - } - - private void drawDropShadow(Canvas canvas) { - final int width = getWidth(); - final int height = getHeight(); - final int menuSize = mMenuSize; - final int dropShadowSize = mDropShadowSize; - - switch (mPosition) { - case LEFT: - mDropShadowDrawable.setBounds(menuSize - dropShadowSize, 0, menuSize, height); - break; - - case TOP: - mDropShadowDrawable.setBounds(0, menuSize - dropShadowSize, width, menuSize); - break; - - case RIGHT: - mDropShadowDrawable.setBounds(width - menuSize, 0, width - menuSize + dropShadowSize, height); - break; - - case BOTTOM: - mDropShadowDrawable.setBounds(0, height - menuSize, width, height - menuSize + dropShadowSize); - break; - } - - mDropShadowDrawable.draw(canvas); - } - - protected abstract void drawIndicator(Canvas canvas); - - @Override - protected void onLayout(boolean changed, int l, int t, int r, int b) { - final int width = r - l; - final int height = b - t; - - switch (mPosition) { - case LEFT: - mMenuContainer.layout(0, 0, mMenuSize, height); - mContentContainer.layout(mMenuSize, 0, width, height); - break; - - case RIGHT: - mMenuContainer.layout(width - mMenuSize, 0, width, height); - mContentContainer.layout(0, 0, width - mMenuSize, height); - break; - - case TOP: - mMenuContainer.layout(0, 0, width, mMenuSize); - mContentContainer.layout(0, mMenuSize, width, height); - break; - - case BOTTOM: - mMenuContainer.layout(0, height - mMenuSize, width, height); - mContentContainer.layout(0, 0, width, height - mMenuSize); - break; - } - } - - @Override - protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { - final int widthMode = MeasureSpec.getMode(widthMeasureSpec); - final int heightMode = MeasureSpec.getMode(heightMeasureSpec); - - if (widthMode != MeasureSpec.EXACTLY || heightMode != MeasureSpec.EXACTLY) { - throw new IllegalStateException("Must measure with an exact size"); - } - - final int width = MeasureSpec.getSize(widthMeasureSpec); - final int height = MeasureSpec.getSize(heightMeasureSpec); - - if (!mMenuSizeSet) mMenuSize = (int) (height * 0.25f); - - switch (mPosition) { - case LEFT: - case RIGHT: { - final int childHeightMeasureSpec = MeasureSpec.makeMeasureSpec(height, MeasureSpec.EXACTLY); - - final int menuWidth = mMenuSize; - final int menuWidthMeasureSpec = MeasureSpec.makeMeasureSpec(menuWidth, MeasureSpec.EXACTLY); - - final int contentWidth = width - menuWidth; - final int contentWidthMeasureSpec = MeasureSpec.makeMeasureSpec(contentWidth, MeasureSpec.EXACTLY); - - mContentContainer.measure(contentWidthMeasureSpec, childHeightMeasureSpec); - mMenuContainer.measure(menuWidthMeasureSpec, childHeightMeasureSpec); - break; - } - - case TOP: - case BOTTOM: { - final int childWidthMeasureSpec = MeasureSpec.makeMeasureSpec(width, MeasureSpec.EXACTLY); - - final int menuHeight = mMenuSize; - final int menuHeightMeasureSpec = MeasureSpec.makeMeasureSpec(menuHeight, MeasureSpec.EXACTLY); - - final int contentHeight = height - menuHeight; - final int contentHeightMeasureSpec = MeasureSpec.makeMeasureSpec(contentHeight, MeasureSpec.EXACTLY); - - mContentContainer.measure(childWidthMeasureSpec, contentHeightMeasureSpec); - mMenuContainer.measure(childWidthMeasureSpec, menuHeightMeasureSpec); - break; - } - } - - setMeasuredDimension(width, height); - } - - @Override - public void toggleMenu(boolean animate) { - } - - @Override - public void openMenu(boolean animate) { - } - - @Override - public void closeMenu(boolean animate) { - } - - @Override - public boolean isMenuVisible() { - return true; - } - - @Override - public void setMenuSize(int size) { - mMenuSize = size; - mMenuSizeSet = true; - requestLayout(); - invalidate(); - } - - @Override - public void setOffsetMenuEnabled(boolean offsetMenu) { - } - - @Override - public boolean getOffsetMenuEnabled() { - return false; - } - - @Override - public void peekDrawer() { - } - - @Override - public void peekDrawer(long delay) { - } - - @Override - public void peekDrawer(long startDelay, long delay) { - } - - @Override - public void setHardwareLayerEnabled(boolean enabled) { - } - - @Override - public int getTouchMode() { - return TOUCH_MODE_NONE; - } - - @Override - public void setTouchMode(int mode) { - } - - @Override - public void setTouchBezelSize(int size) { - } - - @Override - public int getTouchBezelSize() { - return 0; - } -} diff --git a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/TopDrawer.java b/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/TopDrawer.java deleted file mode 100644 index 0af2c6bad8..0000000000 --- a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/TopDrawer.java +++ /dev/null @@ -1,216 +0,0 @@ -package net.simonvt.menudrawer; - -import android.app.Activity; -import android.content.Context; -import android.graphics.Canvas; -import android.graphics.drawable.GradientDrawable; -import android.util.AttributeSet; -import android.view.MotionEvent; - -public class TopDrawer extends VerticalDrawer { - - private int mIndicatorLeft; - - TopDrawer(Activity activity, int dragMode) { - super(activity, dragMode); - } - - public TopDrawer(Context context) { - super(context); - } - - public TopDrawer(Context context, AttributeSet attrs) { - super(context, attrs); - } - - public TopDrawer(Context context, AttributeSet attrs, int defStyle) { - super(context, attrs, defStyle); - } - - @Override - public void openMenu(boolean animate) { - animateOffsetTo(mMenuSize, 0, animate); - } - - @Override - public void closeMenu(boolean animate) { - animateOffsetTo(0, 0, animate); - } - - @Override - public void setDropShadowColor(int color) { - final int endColor = color & 0x00FFFFFF; - mDropShadowDrawable = new GradientDrawable(GradientDrawable.Orientation.BOTTOM_TOP, - new int[] { - color, - endColor, - }); - invalidate(); - } - - @Override - protected void onLayout(boolean changed, int l, int t, int r, int b) { - final int width = r - l; - final int height = b - t; - final int offsetPixels = (int) mOffsetPixels; - - mMenuContainer.layout(0, 0, width, mMenuSize); - offsetMenu(offsetPixels); - - if (USE_TRANSLATIONS) { - mContentContainer.layout(0, 0, width, height); - } else { - mContentContainer.layout(0, offsetPixels, width, height + offsetPixels); - } - } - - /** - * Offsets the menu relative to its original position based on the position of the content. - * - * @param offsetPixels The number of pixels the content if offset. - */ - private void offsetMenu(int offsetPixels) { - if (mOffsetMenu && mMenuSize != 0) { - final int menuSize = mMenuSize; - final float openRatio = (menuSize - (float) offsetPixels) / menuSize; - - if (USE_TRANSLATIONS) { - if (offsetPixels > 0) { - final int offset = (int) (0.25f * (-openRatio * menuSize)); - mMenuContainer.setTranslationY(offset); - } else { - mMenuContainer.setTranslationY(-menuSize); - } - - } else { - final int oldMenuTop = mMenuContainer.getTop(); - final int offset = (int) (0.25f * (-openRatio * menuSize)) - oldMenuTop; - mMenuContainer.offsetTopAndBottom(offset); - mMenuContainer.setVisibility(offsetPixels == 0 ? INVISIBLE : VISIBLE); - } - } - } - - @Override - protected void drawDropShadow(Canvas canvas, int offsetPixels) { - final int width = getWidth(); - - mDropShadowDrawable.setBounds(0, offsetPixels - mDropShadowSize, width, offsetPixels); - mDropShadowDrawable.draw(canvas); - } - - @Override - protected void drawMenuOverlay(Canvas canvas, int offsetPixels) { - final int width = getWidth(); - final float openRatio = ((float) offsetPixels) / mMenuSize; - - mMenuOverlay.setBounds(0, 0, width, offsetPixels); - mMenuOverlay.setAlpha((int) (MAX_MENU_OVERLAY_ALPHA * (1.f - openRatio))); - mMenuOverlay.draw(canvas); - } - - @Override - protected void drawIndicator(Canvas canvas, int offsetPixels) { - if (mActiveView != null && isViewDescendant(mActiveView)) { - Integer position = (Integer) mActiveView.getTag(R.id.mdActiveViewPosition); - final int pos = position == null ? 0 : position; - - if (pos == mActivePosition) { - final int menuHeight = mMenuSize; - final int indicatorHeight = mActiveIndicator.getHeight(); - - final float openRatio = ((float) offsetPixels) / menuHeight; - - mActiveView.getDrawingRect(mActiveRect); - offsetDescendantRectToMyCoords(mActiveView, mActiveRect); - final int indicatorWidth = mActiveIndicator.getWidth(); - - final float interpolatedRatio = 1.f - INDICATOR_INTERPOLATOR.getInterpolation((1.f - openRatio)); - final int interpolatedHeight = (int) (indicatorHeight * interpolatedRatio); - - final int indicatorTop = offsetPixels - interpolatedHeight; - if (mIndicatorAnimating) { - final int finalLeft = mActiveRect.left + ((mActiveRect.width() - indicatorWidth) / 2); - final int startLeft = mIndicatorStartPos; - final int diff = finalLeft - startLeft; - final int startOffset = (int) (diff * mIndicatorOffset); - mIndicatorLeft = startLeft + startOffset; - } else { - mIndicatorLeft = mActiveRect.left + ((mActiveRect.width() - indicatorWidth) / 2); - } - - canvas.save(); - canvas.clipRect(mIndicatorLeft, indicatorTop, mIndicatorLeft + indicatorWidth, offsetPixels); - canvas.drawBitmap(mActiveIndicator, mIndicatorLeft, indicatorTop, null); - canvas.restore(); - } - } - } - - @Override - protected int getIndicatorStartPos() { - return mIndicatorLeft; - } - - @Override - protected void initPeekScroller() { - final int dx = mMenuSize / 3; - mPeekScroller.startScroll(0, 0, dx, 0, PEEK_DURATION); - } - - @Override - protected void onOffsetPixelsChanged(int offsetPixels) { - if (USE_TRANSLATIONS) { - mContentContainer.setTranslationY(offsetPixels); - offsetMenu(offsetPixels); - invalidate(); - } else { - mContentContainer.offsetTopAndBottom(offsetPixels - mContentContainer.getTop()); - offsetMenu(offsetPixels); - invalidate(); - } - } - - ////////////////////////////////////////////////////////////////////// - // Touch handling - ////////////////////////////////////////////////////////////////////// - - @Override - protected boolean isContentTouch(MotionEvent ev) { - return ev.getY() > mOffsetPixels; - } - - @Override - protected boolean onDownAllowDrag(MotionEvent ev) { - return (!mMenuVisible && mInitialMotionY <= mTouchSize) - || (mMenuVisible && mInitialMotionY >= mOffsetPixels); - } - - @Override - protected boolean onMoveAllowDrag(MotionEvent ev, float diff) { - return (!mMenuVisible && mInitialMotionY <= mTouchSize && (diff > 0)) - || (mMenuVisible && mInitialMotionY >= mOffsetPixels); - } - - @Override - protected void onMoveEvent(float dx) { - setOffsetPixels(Math.min(Math.max(mOffsetPixels + dx, 0), mMenuSize)); - } - - @Override - protected void onUpEvent(MotionEvent ev) { - final int offsetPixels = (int) mOffsetPixels; - - if (mIsDragging) { - mVelocityTracker.computeCurrentVelocity(1000, mMaxVelocity); - final int initialVelocity = (int) mVelocityTracker.getXVelocity(); - mLastMotionY = ev.getY(); - animateOffsetTo(mVelocityTracker.getYVelocity() > 0 ? mMenuSize : 0, initialVelocity, - true); - - // Close the menu when content is clicked while the menu is visible. - } else if (mMenuVisible && ev.getY() > offsetPixels) { - closeMenu(); - } - } -} diff --git a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/TopStaticDrawer.java b/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/TopStaticDrawer.java deleted file mode 100644 index ac846148b1..0000000000 --- a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/TopStaticDrawer.java +++ /dev/null @@ -1,82 +0,0 @@ -package net.simonvt.menudrawer; - -import android.app.Activity; -import android.content.Context; -import android.graphics.Canvas; -import android.graphics.drawable.GradientDrawable; -import android.util.AttributeSet; - -public class TopStaticDrawer extends StaticDrawer { - - private int mIndicatorLeft; - - TopStaticDrawer(Activity activity, int dragMode) { - super(activity, dragMode); - } - - public TopStaticDrawer(Context context) { - super(context); - } - - public TopStaticDrawer(Context context, AttributeSet attrs) { - super(context, attrs); - } - - public TopStaticDrawer(Context context, AttributeSet attrs, int defStyle) { - super(context, attrs, defStyle); - } - - @Override - protected void initDrawer(Context context, AttributeSet attrs, int defStyle) { - super.initDrawer(context, attrs, defStyle); - mPosition = Position.TOP; - } - - @Override - public void setDropShadowColor(int color) { - final int endColor = color & 0x00FFFFFF; - mDropShadowDrawable = new GradientDrawable(GradientDrawable.Orientation.BOTTOM_TOP, new int[] { - color, - endColor, - }); - invalidate(); - } - - @Override - protected void drawIndicator(Canvas canvas) { - if (mActiveView != null && isViewDescendant(mActiveView)) { - Integer position = (Integer) mActiveView.getTag(R.id.mdActiveViewPosition); - final int pos = position == null ? 0 : position; - - if (pos == mActivePosition) { - final int menuHeight = mMenuSize; - final int indicatorHeight = mActiveIndicator.getHeight(); - - mActiveView.getDrawingRect(mActiveRect); - offsetDescendantRectToMyCoords(mActiveView, mActiveRect); - final int indicatorWidth = mActiveIndicator.getWidth(); - - final int indicatorTop = menuHeight - indicatorHeight; - if (mIndicatorAnimating) { - final int finalLeft = mActiveRect.left + ((mActiveRect.width() - indicatorWidth) / 2); - final int startLeft = mIndicatorStartPos; - final int diff = finalLeft - startLeft; - final int startOffset = (int) (diff * mIndicatorOffset); - mIndicatorLeft = startLeft + startOffset; - } else { - mIndicatorLeft = mActiveRect.left + ((mActiveRect.width() - indicatorWidth) / 2); - } - - canvas.save(); - canvas.clipRect(mIndicatorLeft, indicatorTop, mIndicatorLeft + indicatorWidth, menuHeight); - canvas.drawBitmap(mActiveIndicator, mIndicatorLeft, indicatorTop, null); - canvas.restore(); - } - } - } - - @Override - protected int getIndicatorStartPos() { - return mIndicatorLeft; - } -} diff --git a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/VerticalDrawer.java b/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/VerticalDrawer.java deleted file mode 100644 index 415d49896e..0000000000 --- a/Externals/android-menudrawer/library/src/net/simonvt/menudrawer/VerticalDrawer.java +++ /dev/null @@ -1,216 +0,0 @@ -package net.simonvt.menudrawer; - -import android.app.Activity; -import android.content.Context; -import android.util.AttributeSet; -import android.view.MotionEvent; -import android.view.VelocityTracker; - -public abstract class VerticalDrawer extends DraggableDrawer { - - VerticalDrawer(Activity activity, int dragMode) { - super(activity, dragMode); - } - - public VerticalDrawer(Context context) { - super(context); - } - - public VerticalDrawer(Context context, AttributeSet attrs) { - super(context, attrs); - } - - public VerticalDrawer(Context context, AttributeSet attrs, int defStyle) { - super(context, attrs, defStyle); - } - - @Override - protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { - final int widthMode = MeasureSpec.getMode(widthMeasureSpec); - final int heightMode = MeasureSpec.getMode(heightMeasureSpec); - - if (widthMode != MeasureSpec.EXACTLY || heightMode != MeasureSpec.EXACTLY) { - throw new IllegalStateException("Must measure with an exact size"); - } - - final int width = MeasureSpec.getSize(widthMeasureSpec); - final int height = MeasureSpec.getSize(heightMeasureSpec); - - if (!mMenuSizeSet) mMenuSize = (int) (height * 0.25f); - if (mOffsetPixels == -1) openMenu(false); - - final int menuWidthMeasureSpec = getChildMeasureSpec(widthMeasureSpec, 0, width); - final int menuHeightMeasureSpec = getChildMeasureSpec(widthMeasureSpec, 0, mMenuSize); - mMenuContainer.measure(menuWidthMeasureSpec, menuHeightMeasureSpec); - - final int contentWidthMeasureSpec = getChildMeasureSpec(widthMeasureSpec, 0, width); - final int contentHeightMeasureSpec = getChildMeasureSpec(widthMeasureSpec, 0, height); - mContentContainer.measure(contentWidthMeasureSpec, contentHeightMeasureSpec); - - setMeasuredDimension(width, height); - - updateTouchAreaSize(); - } - - @Override - public boolean onInterceptTouchEvent(MotionEvent ev) { - final int action = ev.getAction() & MotionEvent.ACTION_MASK; - - if (action == MotionEvent.ACTION_DOWN && mMenuVisible && isCloseEnough()) { - setOffsetPixels(0); - stopAnimation(); - endPeek(); - setDrawerState(STATE_CLOSED); - } - - // Always intercept events over the content while menu is visible. - if (mMenuVisible && isContentTouch(ev)) { - return true; - } - - if (mTouchMode == TOUCH_MODE_NONE) { - return false; - } - - if (action != MotionEvent.ACTION_DOWN) { - if (mIsDragging) { - return true; - } - } - - switch (action) { - case MotionEvent.ACTION_DOWN: { - mLastMotionX = mInitialMotionX = ev.getX(); - mLastMotionY = mInitialMotionY = ev.getY(); - final boolean allowDrag = onDownAllowDrag(ev); - - if (allowDrag) { - setDrawerState(mMenuVisible ? STATE_OPEN : STATE_CLOSED); - stopAnimation(); - endPeek(); - mIsDragging = false; - } - break; - } - - case MotionEvent.ACTION_MOVE: { - final float x = ev.getX(); - final float dx = x - mLastMotionX; - final float xDiff = Math.abs(dx); - final float y = ev.getY(); - final float dy = y - mLastMotionY; - final float yDiff = Math.abs(dy); - - if (yDiff > mTouchSlop && yDiff > xDiff) { - if (mOnInterceptMoveEventListener != null && mTouchMode == TOUCH_MODE_FULLSCREEN - && canChildScrollVertically(mContentContainer, false, (int) dx, (int) x, (int) y)) { - endDrag(); // Release the velocity tracker - return false; - } - - final boolean allowDrag = onMoveAllowDrag(ev, dy); - - if (allowDrag) { - setDrawerState(STATE_DRAGGING); - mIsDragging = true; - mLastMotionX = x; - mLastMotionY = y; - } - } - break; - } - - /** - * If you click really fast, an up or cancel event is delivered here. Just snap content to - * whatever is closest. - */ - case MotionEvent.ACTION_CANCEL: - case MotionEvent.ACTION_UP: { - if (Math.abs(mOffsetPixels) > mMenuSize / 2) { - openMenu(); - } else { - closeMenu(); - } - break; - } - } - - if (mVelocityTracker == null) { - mVelocityTracker = VelocityTracker.obtain(); - } - mVelocityTracker.addMovement(ev); - - return mIsDragging; - } - - @Override - public boolean onTouchEvent(MotionEvent ev) { - if (!mMenuVisible && !mIsDragging && (mTouchMode == TOUCH_MODE_NONE)) { - return false; - } - final int action = ev.getAction() & MotionEvent.ACTION_MASK; - - if (mVelocityTracker == null) { - mVelocityTracker = VelocityTracker.obtain(); - } - mVelocityTracker.addMovement(ev); - - switch (action) { - case MotionEvent.ACTION_DOWN: { - mLastMotionX = mInitialMotionX = ev.getX(); - mLastMotionY = mInitialMotionY = ev.getY(); - final boolean allowDrag = onDownAllowDrag(ev); - - if (allowDrag) { - stopAnimation(); - endPeek(); - startLayerTranslation(); - } - break; - } - - case MotionEvent.ACTION_MOVE: { - if (!mIsDragging) { - final float x = ev.getX(); - final float dx = x - mLastMotionX; - final float xDiff = Math.abs(dx); - final float y = ev.getY(); - final float dy = y - mLastMotionY; - final float yDiff = Math.abs(dy); - - if (yDiff > mTouchSlop && yDiff > xDiff) { - final boolean allowDrag = onMoveAllowDrag(ev, dy); - - if (allowDrag) { - setDrawerState(STATE_DRAGGING); - mIsDragging = true; - mLastMotionY = y - mInitialMotionY > 0 - ? mInitialMotionY + mTouchSlop - : mInitialMotionY - mTouchSlop; - } - } - } - - if (mIsDragging) { - startLayerTranslation(); - - final float y = ev.getY(); - final float dy = y - mLastMotionY; - - mLastMotionY = y; - onMoveEvent(dy); - } - break; - } - - case MotionEvent.ACTION_CANCEL: - case MotionEvent.ACTION_UP: { - onUpEvent(ev); - break; - } - } - - return true; - } - -} diff --git a/Externals/android-menudrawer/pom.xml b/Externals/android-menudrawer/pom.xml deleted file mode 100644 index eda6dd9125..0000000000 --- a/Externals/android-menudrawer/pom.xml +++ /dev/null @@ -1,126 +0,0 @@ - - - - 4.0.0 - - - org.sonatype.oss - oss-parent - 7 - - - net.simonvt - android-menudrawer-parent - pom - 2.0.3-SNAPSHOT - - Android MenuDrawer (Parent) - A menu drawer implementation which allows dragging of both the content, and the entire window. - https://github.com/SimonVT/android-menudrawer - 2012 - - - library - samples - - - - http://github.com/SimonVT/android-menudrawer/ - scm:git:git://github.com/SimonVT/android-menudrawer.git - scm:git:git@github.com:SimonVT/android-menudrawer.git - HEAD - - - - - Apache License Version 2.0 - http://www.apache.org/licenses/LICENSE-2.0.txt - repo - - - - - GitHub Issues - https://github.com/SimonVT/android-menudrawer/issues - - - - UTF-8 - UTF-8 - - 1.6 - 4.1.1.4 - 16 - - r7 - - - - - - com.google.android - android - ${android.version} - - - - - - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.0 - - ${java.version} - ${java.version} - - - - - com.jayway.maven.plugins.android.generation2 - android-maven-plugin - 3.5.1 - - - ${android.platform} - - - true - - - - - - - org.apache.maven.plugins - maven-release-plugin - 2.4 - - true - - - - - org.apache.maven.plugins - maven-checkstyle-plugin - 2.9.1 - - true - - ../checkstyle.xml - true - - - - verify - - checkstyle - - - - - - - diff --git a/Externals/android-menudrawer/samples/AndroidManifest.xml b/Externals/android-menudrawer/samples/AndroidManifest.xml deleted file mode 100644 index 7323fa61b3..0000000000 --- a/Externals/android-menudrawer/samples/AndroidManifest.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Externals/android-menudrawer/samples/build.xml b/Externals/android-menudrawer/samples/build.xml deleted file mode 100644 index 9eb8fb98ea..0000000000 --- a/Externals/android-menudrawer/samples/build.xml +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Externals/android-menudrawer/samples/libs/android-support-v4-r10.jar b/Externals/android-menudrawer/samples/libs/android-support-v4-r10.jar deleted file mode 100644 index feaf44f8018aba0e3e4f5f8e7115101dcb4d00ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 349252 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π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≫gJt^RpL%VUkx5v?A9{RbW%mb=|mjE@ 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

}5w&g>&-W|FPv=|LVla zWsica<{nJ`^=Lus{>RCYdJ#WZ(tT^P9x5eq`^Ic4h?M)!ZkK#??a~Kr@5~vvt3OJd zuGbZxaZ&XE`*Xh?smszHcdgBMux<7>jo`>a<*WbJy!i8>)Hr}M(spmIk{^GZXIk2S zUURYK&kktCNkr`D5zX$HFy{!{{RzH-AyX|R+rAjt?|Ia7XWOwngA12GZ5O$vbu@Z< z^<0_WyBwQY7cRe-_Tbu||2y@26ZN--SiaoX^y<*%i#I-N?;gu5S|>i>e)DsVkJG=OQzv__&}d({i2vo^8Ot6=y-%#&7aiQ^ ze&T$~GMUbp?Was0O1plN{lT^CgnggTb#)C(|4829-wkC{PBmY-HzncG`|zpi?FBQ;d0K0tl>cvcd$)Z;e#nN|Hy)F%wO8=-y;#G;3>8 zN%l7NV^(LMC4I@-rhlv|aps4E66G~b*5{KJykDm+QT0mb-Mih(J9CTfxa{kEcv_+| zsB)vke$AW*zeIdwQvb|*_)dCP*?Y;_ z&-PQwCRJ&@@$KnT`*=ssmnYR{yEzYf~&HepP?VaeZ)-8M6=ebMiZ#W-+ zMB(s+Uu5aDnSV^WS^S}HDFIpr|WfEplF*_IP$EF+bFxmIa2|WAI@xhiS z3b*(x*XxIbEN_TinX=`0fR3N&#;a)tQv0+eHtDWBGCOg<@}cc}9#2%i{%QA}?9TzO zzRtXSVUomw37J}|huV&_Gds>Zn<*qVZ^8-7cvIzz`4yXf_bn`2`6XnRt)QiTtelHd zj(1_y{vT$GrV8(##U53v^*~Y3NXMTmJwdsxH9JBgjk#Vy`K30Ksie>))yEBr|I2U6 zH+{YouAXvB_pM;+FOP2`{cVa1=libmK74#yn(WWR8??VI^|PwqT02$P?$MUe^&!`l zKd$;7<#K#q_M%A#buLLp6iA5uKe<}cq?XNk#U&lzt^PdQ{GL_Be4TUnT;~fnwG+{j z@gWaC6vdm)T<~$hv-sDs^PO0nH?8zn-Us&(8jmty+@r3>AI&xg1xOtwHP(|PDFK3QyYt<>b(4NA$onxuw zJz+i9{M}zT*Zg5V`F84_kF0IaJdfFg&3VXr^jh*dsg+89B&To7QvShzc%;Ql9$<;+Dlue30bNvxzNy%u{uGM zm1(JK)PY5O@@E(GKG8Utz0sdmFIv3wC>)@P0fBXMatalpEoexFML#IUUWfy z_7vg2c{|RWZO)V1_xgx)o`yuhqv|}7Bn9dBir!)EsTC1z%0@D!k0$0Q#k_RW-1q(n z|D72<@+Z$Oc)-sUw`~odb>W#_ugO9uUv1#&`M*Ni_{WS*52jsBl&sUy= z6)YCh?-JQByl488XWwt?NdN!KSTFL#{-oHZs>n8Fy*)~wS1YY`Ht4tbIE%Z!ELk_M z-txmTyjk0`EtqkeC<{ywgKWnyGwL8YOZ-Z zZ)T&z+K$|V0$Og#+%rl~Pp}NUDQq+IKnwHX9gBG{>g^3L(ihIQedD?8g?l7m*?XyLa(iUgNVuHc)q&aj~l0YX6K?>t;s9KaDNtCTC6uHd&^_i%%rO?M6^Ax|_$Ot?;Wzxc; z-P=yzTjyr=Eos&)59VFF)&!h%DAMSfwt7)P-VvplOTT{*c(_nOPB_+=zm=o7Msm%p zlRt#aY}?#t9^vx);Bu$yHRs0}Ee=*6Ik;;cFY{;1J80@ON9oUfgMbbH$Vr~5t%-Po{IGOTOq&Z(#Q?u+d_ z<2mcL(eK>gJ$hn&tCrod+@~AuV=R#_!_+FfI45FeFRmq>eAkjDcH~dXuIh-u za_>FX7uT)j@vha_Cf<;B(bG}9tWc@%GPfmg)1vN^-YsyK50lV5ANA3`Kj}e{*v9IrxxX~&OfwV^iFpym!*cgBgd>JiAP*z zi<}SgNp3rRp>spiYe~M_7uE&n?OQWpa*W@p;1j+-x!xTz7kMLkHUF3{*S@Z3%dc(C zW)htlvROw~OyCXQk{z4&=I5)cH*)Uo_WfL@zI8%*dBpoKtK#Z-Uwm9~eN|taXZ^Jq zBCT8n%bPeBafx1HQ5V$=@loZP>nJR$HPvF(itUP($%S`suYP&2Y;%jIN$05>y2|q; zt1PmnXXHw^XU{5~qWZC{s5gCO+nMKg?@Ib--77e;`c;+Ep0&}>eJ@!*IrWP7s*Q_8 zh1tSXk2!v(nO!L>ESSuh7lpqMDOJ?sx?!>X^kKJ!C!Yj3-8r?3CN$0f1<@>_k?yLRHQ@Z(3fsIU1hv?@n6Ri?A8VduV(AIIL#Oq+PQL~~2f zpV`8R`?h68Gs@?1sUN<5NU(YJ?C-0ER%ssE`B>ODzU1{oj|F)r!gXiGWtTL{#2aL6 z?VBKR+;eKnt>ACRC+4>c-pqYrFwr&o;MB`Gavxoa*O=ZrDjWRjTZh+!(+ARIW(f;L zncQ1^b@jv(W?O63m8btSvfacQ<}+FE$2q>UT1rdzoylMM$gn-_{tcPF)rTY!iFr z$0mQV?*Crgd8GBN;5%tEmsIQ7t|C$Qv>k0u znny95ell5Qm$B-@Lx%oyzW+XFIFI*F)urRT9lFW4r}wUyyzJ(ybDD=HEIr55YW#Ee z7S;#(pHF5Sb$gdGyJ9-4{(JM=-(2_Xzp-t-L#GW-MXb`^doyX|!xdn((v-p@RH$FpaqwOqgJnPz!q8#SINzBop^dixXh4Qsa5rF=hl@bnxryVGx* zCtuf#eE#)d?THC`Cm*Xk`LLtwBlC;~R*mCAXO3mPnBd;!D17(D!cz(3)IpXT8|Yu`L0vnzC@!n$$y=4tB`-*MD14N3N63HM+{z) zU0!Nm7q24lk{s8CDIa%o6YQ zXPQ>d+ar|Em0tC!B;6om2Iq6n~%LMoPNgZp-#WGb?Z%@m)o3;qOYIWoBRCp z6B(b`Z<#e7e-tu1oT`!59=3ryZG-dk4c5;$J5S$mS?b2b**9}#-z;PK|7}y?`qbpO z^UwY$Nq^Rh>2%(~#s8?eLZbQui(S*>9c=0!I1m4cUDm1l`Shykh9@Fok6J_?%i_0d z$(i;zv}VRfS)H?mH6rrK+ru7Y*2si^j%9wAxa<0%lR<9|me#y}6g%T*%f#bGI!Dzb z)66eFQ=cXpByM;$XWr+(p~b%q+nJBs%b2zvyZU^_m)@RlmCiBiIp>L)%g;}|dNQJO zLgb!(cCs5|br#$S{Vo5%pqAmB$f`eA+IQCV-L9V%*Wt5gI$7xp3$VH zOREG{uaf+JgsWU)ntE9E;)O;Jx!?GEI@CRj;K|#xCj9s+U74248|C}naQ_LdjX0rR z%>HotO08B`oAbBZKXuh=e73gm5no<#PQb~2TF`Xtlq~mf5CmAiBQz#lC~AKXl73 z-!`+>_q$zbxbN80_%A!S%cGTaH@g)5IxVZLbo4^krU~9R&63WU7^?3(w^8B9w{)dx za~o&O?tD6bQpB{H(8#xn8LsvFQ`a2GNIt8*U$)QrUyz4i8 z(JA)H{F%}n-{%h)bRE0SZGM_ve{06yX@;p^eYNA?AKb1Z&$`Cp+{8sjGDqB=E=t|T zaBd?<+R5vio=$$e%zwp&HTF5R>r8t?o##cW&RbcN0{tU9=)T#3)}a5S-pO> zc*PX1oR(U_`K&*CUVo}P=W8dtcN{>wrtmaA%jaA)S_I1}zpK0EAVw$ht+BWG} z-5TqpHM3Hl&d=VI9Q2u;_ql|(-@Lycyxe#XDd(hQK8vv0DRW8t%wFr(w9PlBo!a78 zbT4Ui!xlA!Eu0ayc+Ry1tF=dM zqS~dhoMcTmuhu`5meuIB_J*hQ#09=DmY%)gEdJPPmx%eLr#HN{@|NfB=)ZN*T~S7r zw?9~Y-Xeo}%VjG%%O0h6Jz#PDXm<1i-`hjGrzkAS(^?>Rcy`@7Va_@SIfJTmr{{DB zol}+P*5wx$DBS+u;M03M=jr*6i<(h?@Nrs>-=t*0p7zPrmh*W_bk{G~-&tQng}Wn+3VkQP-jVoV zS!eW)T&4b|PHPQ`1&#Oq%lD>9Tw;wdD}QyZD%C&arNj4sqB9ds&TJ@n5@yU}Qn$tE zh_vhVz(=f8tuDT<4P7mhTIyRV8}{bKwk4PD%InwLXBAGbp8crO+ak2~=9zif4OTyL zqq#H=U-4JIC*bF6^|f!}qT`33`JX=}zUs`>4_BMZ8n!<+x^j78X!}%&Rs8F{?Z3Mu zAD+BU{i^q_m#S4E)@JK3YoGn|QN)1x@7I9t7xJ$byP8ie)10L9sHei@H{+Y!1UV%s z?kW8SK3CpYB(SJ=Ufz1Z#r%h8=I_q)=VceXPwdOEU(2ypW9^MyRYz z`}g|^C-%Nfm0VhpF!_a8qTMp1`3mjnj@M@L6`8M|re^3`x%k8bk!73<`Ij>q;5f<}UUPn1Vehs~kK3;H zr`3;w&)rS?_;!}x_VAd)t#9-%DE7V3M6*R_FFb6uW42Cx zvCn9aD3|LS?)`>yMKnX=6$PF-oSfiwbgqwGNVNN}AKI5D&z$dgy2BugJImtHy$@#P zmt5G+H5&f8H?{EGtqHnECtu-cn>)Yg+rOGyb{9+Dda6#YmC8^3Iw{Szt43+f&Y;fC zCOKTi2WK-@vfVxL_@Jt}(Pr*+%bnAQ(nkc_#gD+u`0fnPzSVS&5B_U+>RO ze{p^}*N!a9ug`ivWZXafU;DV4*B9{yuDeD$Da&^s;96z*?ZCN>+c*5?S|fTR{s9Bq zK?9d4&cjO-rP~U6Oxg`Tm#njGvVEfYSY>z7b73`)Tk@PU&fK1EF!gliDMr%;{9Tb< zefz;X`_%6!)U+`&FdSpTSCARtj$-%-WN>0xYDzF-`fX|m0=L%XH zzhQv{s}`52P?9Kf%aP-m*4I=|=WV|GX#S_x6%#TZDf9o+cs%#zC83oa{BO_Pt3JQ; z`MjBT=kMS5mtjK#udLOxM;(W+81}Qu@_+PrCuVAMO)&TAyo`uT8`dPYDpu`yT^w)F zGi68c*O=8=yLgNDz6{BA%v`%;^Tuu4_by(jAa8T9_Ik3xHW~K{*V*P$iw;iM(@}eR zZ`X#(n_?>$%&T~`JM8Sky333Ge(Bi@U0v|@_3DMKWxFn}xgLAoykE>WZvE`pa_eQe zj{BFM2n%~^!+Lt-pU^g!U8fyp*0ysr{l8|7NGI(V`b>+1@jqMeJVI=YN(uDA}0Y z+9g}zmGk@4pF3)bX1Xu^@9$(R4w~A?QpCpdC9@(eLG--o9)k^SrOd896Z@}kH{5!_ z!RN2UwGWdNt7}y(FK*1(U8A67aw+3_^|6BIr+yzdDADxi3)pmPSCGq`b0xKz+ zZ_PBt7KNUl*OXcuFK883`uNNJeuD#P0*RSNBH4twR<0`K-p;snw{z@_Q+IeRWLGJw zs723F=Mc{Q$8-3mKF8dJ;d(!XU99E`1&N*xTyDc-=6yYd&(mzZmEX1nEMq9MNJ1``9rOO%2UeRY5_;amgV^bXE8Du$54aq8sU zd?81Hg~q%YWLb7A-|US zn*3t?6L9S2V<#yEx1yW3ckcZEN6py!_wV!H;~8GvIC1DuE%#C#p^6Euo$bH2rY+1_ zn6&U%Lf-C6yyX&;o}OZCzWAZK>0#07sgIs!To8Q4`@Z7I$?bpizVq!U`da?Rm&^`!y4{p^hj{g)qYT3)mLIm_aQ7s3}7f4cGT@WRU>d+Y^_?mVCLy)~=dMr7$P zG3RxwS#J71<&P`ADk^vQ^QV?a?B{Om4vlQ_xznO8Iqg}4#HFB`JE2|mX)C6G*Lp9e zBHj4Awd%k(39i5&g7y#lj;G$QylN?QHz580mXjOI_V-zS^11!iTdq%}aBW*&$9jo- z=e^P!e>r#+p7`c8^-aK|oZIq(OJBYUj-59t_r(_zVf~crpP9qIeRr*R@jWMHLh1_L z3Eu5Cn*tAnN>}O_uF*G9Gf}-fcf*Er8-AV7d+~T?IfKbt?PBJQp5;dtE%dvr>UD9E z)yvmRk$i7`s#m8c+&|%QVA=MSbKgjapWJqwDdv#qi`kB)#}1yKpkn*5PT}LWvbHDJ zH4i8-i5y!bv0!cL8kfqI`G&7J-$qT<`sb1)_4%QUn(4tM1-#b}7VZA>+^wh5OKPpr z>Z8FDm*+e#mMK1D7}#T3d1ubUD}EDy)%WS0K9IF!f3Nk$I`Qur=1Qe~Ve@p1yF4xj zAJsMfEDlPAnca)3RGAnU9^f6Y55t`bFT7d#`gkBZeVM0Jdex&8rkZJCkxQR8%Rg|B zyyuq`uwscrt;O=)?{C%S`=9?VAHSb*hMQTVT+fk0*6k*}S-aL|`dr?zjMI1Wtall^ zR%d!mUixz0vX?CHl8+r=X6EO$N$Sw`P+jcWc5UOw+_r5c54hUa^@Jp?ee>L9$I)Ur z&vWTa?bWw!rc}iWZ*yghOp=J@R@$j8D|gaiDf9jl%D45awkcm)_@Hi@_IC#>R<_Gw zUM-pZ)4iJhm>DnOWPTa7v}mJ5%fzkoH&txRnA>Asv`geO&)c1wzQiyW^BmhWuWLeL z?HitzS#h5qm(G9OHl^*UMA|@6OFwL70 zaU@vSd)Bxg3y=5zS*;7VPfYrC=4slC50@Lejwt5lF1V-X-W`&1HRQ^aCI71h+771e z^$$y4mErBStMl*7#a2tWZO(LkPhBYExGe4NmQAg{E`{x8bY8w+b#A%RooSC69v0a? zZ!Gz&w8^Yh-o;7VTjbP-)$%HLZD&8c6R2{Q$GQGZg|kNZs+v&GbGHAyZhqe6r_u83 z>BJAlHfOkRUu3t_^0Rw#w5i1F+NPeGxHU3K$~>PIYD^9Lsp!0C-;%hi&$ku1syM}K z$p!k};5&S0YUiv+XI(yT3 zlTcpSC*dfLwJl~&){1Th9I`DIijFT-X0)h0ydz#xYcXwoz{%^;y^*Jvryt(o_e<=~ ziW~QjDD*aGEOlOL(7^YreQAMcp;a8$=8b*erAW_9=Rdr}#K54yj@%;piFWLg1u418 zD>WylGAT6?y83HvcxHm|b-{o0bSrf$Ynx(Owy+j+&UR^W3Nm2KNeC+VZ#yia;=@6$fYiJ5P%(C_}fvBJJPn(0Pgv}CQr!Cc2Lk4(C6M?Q(16Zqkv z!nMs+w(k-O)w?%y*@+xc3(G&$9(hOfhC@{Vi5^rKcAI zS_E6^_AR>BqAO6+`{e4b!eSpZFNhD=E3F zrN=R2*5qr8QPs`~PJQKHf%YWw8qDis?o z7n9c;1Jfr*2S5FyG23JIrH8C$Nh){eEEb>kex7^I)NgZ}xz)VnG%i`bt6H^5cfNPa z?9PHKUN_Xax)*=G+de0I#>Beg7ndcwZQJns-u0ODH6jraX4+n<%XgZ|@2s2WBzn8j zQCTF*a(n1h=Gimdx_70`_q`l^^s{D>qJFgY(XG8ctdHDg*~!j)`Q*R4Y3QHAOMf`` z^}jg7xqfZgDb~kj=R9BS=IP6hoZ9>~=-aX+j`^Vl{Jym-swXV3^E>+dBdciqk?A2m z2_Z+PN7k^$hki7b3HexB<9yV7qyN$EA96+SA1n{Ob2@lm`}@^D80%I%a<^Fi$nM(T z8Atsi{)pHIe=K&}e?UL7s_aA*9@<*;d;G?@(ebUEtvHFAYp?`Rjwf>!Z zA^&4}SN+5LTK^7f|2xh0F8vEb?T#16{X{htSHxuf%Fv7pT;5gnFgS6dK;1)Oj_bcT zKb~R}T^CT1+I*l(Dr<_k>8C$#t}G#fBEDS#p%-zrDN~UG0#8v^r5A8 z*6D>sXFM!6Ij^ubdZYR=AaJu)&5~_rLwszn?*G4vk^k-1vg4gHi#s{n=Iog$8&mE3H{3iTE0?{8hZpcE!aBtJWDV z_0O=J>}h&&_1vWwR~6*4M5lADyO5c)HbT-=GDp)`V|AZ%zxeM>o3_U-z7@9a!>PJz zi?F4-t6Q6AUGmN1>t>5iO*>`E?XfxA@Aa<5vmW2t*5luJ!-u)%Y0pv1xdFcHJTq?x zzc^>jA-|-)dGoCJdtW97{eRutm1`27nY)Jn{CekgN58E4;C%j3@r=dN7W-emogc1w zE-y1W<>%C`r>&o7e%W)bIHNAw`uMqTKQGL@s;{@hVY-`ob6`gBORHsZZ<^j_ACJ+U zTQ@nXtpAM2-L+rZPp6+ecxchYO|Pf>`(_>ZdEazeqIDU=0^=F8C7gI$+BbAR30<;} zw{FYiZ!za3JLYX(A^qC6`B&-kho=ww_p|-dtTef#Ji&c}obSRmn-He6U$Rdwo+_7H zx#jZW<~r^d+YS2ts!D#Yx8*!q&b9BCjoh)WZO4qxDy_`azTD!m*`i-{`jd?&E-Z3# zN{9P7etxb(noo)Ny zmKvd>oIh2q8k(oXxV0N_xh^^^;k?-8aSM}>?7_zZQ(k;DS?{?>T_8xcN@-q8TBnJV zu8``B+|@3gpRT#>3A(VCSB2m1q{~~&-mTu(0$)|Rr6=)vJ-dD4beUv&zxj5NbT;3wXsZe`fjPJZw7qz1?>VeB9yv~a-x*mJv^fA*Z*^KNrcka0+ zUJ>iI$IM{8`_zxOEZVQFDhmiuD~`KTll@=D&0N%4^lHM<+ef z5PdCSwQ|Wcq1Lk@Zq_SvEL#3PDKY-LtaC||sK~9!A4PVitq{2upt)vYP=xc+4Q(Gn zYwLhC4&E#L$Abw^Gl}B3;q)0e_qDc{Nm>*7C9DB2c-7&g_%b=7#L2A zAvcxKyTLZNn@UJ0RH`7cL0t~SxcA)9*kI{Ui8{YcKNTXQIF{&o=x&qv>^M6pI?8wH zGz~K;hgPTTwQq&|4kvArE;rwD&Z6ouf59I59sD6=M`r+x! zD<2(w_j}%VoAIh)^|neWcW#O`%qnh6UiGmo;PW(}@CE5$THtV>Sygq=XMb-j*{@4*ApXit%`!8 z&Q4N)E$G8tGEK)n>R!d=HM(Bz3+CL*-I#Rh_)pn_hx<$Zxvy>VZ#@~)I61eA>qzX> z`(7eDO1|hZ8NLkbY1{MkYBtm1m!CFmOnQ>t7J62Erm3=hw%2MU?wPg1#`BV+t~M#f z+a=x)emkjRN!jFveat7T|32>bm0M`~xOQD%vB_PrTkAYmE?FTYYUgUFHh+@CiLX5E zYnv}cJyA=4vn+U`@UmAIxAymOuUgS3Y_aljZH>UecB?c4?{l|xl$&l_Ju_JU*hcTg zj^^D~c86?>Ca$Vvm6d(@RS1-WqVY5G$3mOW<0q3?gW-o9gVntXU?LLPTwqp!;iym%>yZMI99kor<%*TlmH#>uZHZJX6;?b6H%R>W#C{}$ZGMu*?!C=N z4E@xdUt7$3vFNz&mIvk{d7{dmzSSqLr5Bz0ID2(LxY@}I<@F(F82 zwU%ns!`~JcK zt(ZS2UPyg5|8V4aVb7i~52{~1QBoB+a{kZt_)n%=UVi4dpIx|mPq?M@hrOr2G<{kB zBU}1t=B+xnsvXA|=N(pf>m8FmsZ2}euQaIO*;3zH$IrsR;KhNj;PJ;@@L&#e;28P9 z=(^pk7jYH%XLU1WQ=*eXi!@{5RbPu~4o|q0RJwF>oP3<7RGfRqH@net+Rd9X4O}Za z7FEc9bo$t_eSsl|#-nb2yPvO``~L{;TM%kI`z+gy6K?gNSFf+$wQJSx)vI=|uHRkr zj;X;aM&~%!7Vj4yl9|g4N{sHDE|5R$*QVF@TT(8eV!}hkwsuLm!~ls!Jcex*mR$>q za>Ff!Ud&_R-7Wde!{E;h*2xExJc_RGy>oTigipzKGHoW#{LcF2FD74j@7_?!_>6Ui z_yN0TZ>JX==#P4K)oA^+%B>YsD*Fv>^d2r~aTem^p0e(`&)J&_0Wxb|ihMAQEDT*> zv}k6Q_pOdqW$i*&S1#2`Ix4a^c%$jR^CrLMl-O+8Be(?2X}xN;)&s@M%VorIpA5NF@8XQ%p1d{zoQmI^gX)zapYI5b(&)HTXsfz_ty zmw`^1?w6et-M5M!-&CopxqSXxE%U5SzOCmozt>$C*)&DQ^HPMI+2XKxxAUu*zVw`$ zIL+(QtyM?oY+0KYVk%;`G$!$q`XVN6^#}5d|KDX?JNotddPVb?Q@7V{kqtJ_-qSZT z{Cn)NbrS>oZ=X2a+OP0fQ)c2vlfF|GZ0Ao|9Qz=1__KxHW7a(yk5%{RJQi&W|2V7X z`p&n!ZRUmwk9FI&|NJg1w)*&PqkD%rIp3fD!Jw{Mqw!d|M(43GkJpcogvy158jp>` z{#&m8-?aRr>b^-IP5pu=_~=|qsX2XW-{Y11g>S3d66Yw|`>MQ3`O_e5bneld1GhMj z&+7S{b6@`BKP5_8--|aIEk0=^ z`)T5VH*fMf3n#y9G19puBZ<*w_NTVaR7f>)+3?e|;oM*pW)H2>_vspkrvjYZpYly<$iU{bc^%CfxMM!L9{b7JVDirp^XHnmTD@mc%h4-cu0Rx_?^JdT+8HZ*I;@;NQ@ zGZ&mW8xwwDuT_z}zu}8JGP_r6YufQTZ~T2%IIgrj-;evZR`H+U_^2~CdQ^qZY+tm_ ziTO&j`s-yYRxFrUWIXGG%kiB`>-Ic2eMd$_>t55bWj1GpCA9DRJ^1*H^|-IOGwUuv z?w5ZzF-?iM=)J6?LrCIRwCh%ZsZFOQ-7*$f9{VlpP|)^^hoqctzHZnW;lFgj>7vEz zI)00~ZZ)2M9=N6Wqd-?@jf<+wQWv2>$%*q<%*ha%=o8{-GIPbG46chIi&h!WxaO1k z)nM6n9oue6CT5O+)MW=;&qO_sHo9%za+9Z6;u&A^y$AQ}CmiA3pJXq-Kj9yPSm9fx zXWMlmty)-JxI6PyqD*>bvt4{v%9CQvcBju=_^wllc3^>oY4eJYR@e9v8n17>_IAgN zj?+tBPPYk08TC9}z9}ra{bWn^MpoO7#p1s&^gFj4-!R{37qi3>N3RCHz;lHX`yX@s zTN3g?sPB=!Ou6peHlsE2DJmsiU!1-RU|efQ_q1&37S-T?NwX;E(LJ!H!p?oYMa`uTI<@w*R}FX}V+ z5xF8+daCxynnhc9?gvz!dj6jsRI9L8{g%4P%D^DVkFQq2b4Ma_4^Lvv1zz$rYZp?Y7z$2i@6AZu@4hoG~pcI)igbu8C@6*g?;- zNqleKtufx5*{#&^RKSJL(PgQF<*K5oi@m)WwcRa5SVUYz*09GtsGa{~@Al2J@1`U- z+1LMkJG=bP{r^Ay9k15+|NpzOol)n={zDN>pPekE<_B!F<%zE=*q5OvaJF^PP7j@$ zAQSP`J5+l7A6_z8Zol@?CWEYkoe?{ozN{13d%mSmbRFO0%{$yC)cJi`Cwlhz(GT2B z@4B_taVM*t6aHe|v?GouFQ714Vsl}f!0aRC%QNzX&Yn$rtlRV~?BW}t-TPFk;@2Gv zFNo&NJ1)CuXYkS3#3LJ`P0HH~`QM3JzvoW!7uad=?s%N&?+}{>2ev03m0~TGO@Gl` zWwUZQ`=i)(xy#t6X<4L9omv)S`?l=$$u$cV3hsQ=_E+1u>7x6Y1qohRTi5b0>DjV7 z%>OlW+ggQN3zrLTOI3U1XEu3bj=9|qi*@Nn9|fnR*jsMZ%Ff^Lb<5)KJC{ujGpOHl zR`p6sz~on#*n3^3uikxSon5}uHPgu-MYpZZe{CQ;J!GL?vBKKjk+V%6UgC|aw#vP+ zdeW}P5`9gfQ@`m;`!C*kSZ2E3@+}2|LYr)!)hB8Gl+ik{(el-nvs3c&v&(y@G#x&E zclCm*nKRAqKIMv1d(*uvkM&<@SknTZcLtY_?aEnoeS`Uny`Ii3ZC978?=HP9lAM3( zeV$q7gGC=zJQA#0Cx~*|KK9xl{`Im@>4AdJW@mf1nfo4CBjvW}?Yudj9{0~mZOgr2 zvhB$3n`<_%&2hUW^lI~^b$-qg6O4~3Em@mpx5szWnb$(nlXXjF&Q18bH(jFENptCZ z&MWUNggNeBatIVS6VW%5ziR2+!*%^#WokUfx9XmM$bBp+TGG;Tb=%aa_a8gME+k~K-jtRUX=+#)oyc7K=t78ROWTb0^$soNZjPJVjwWT$-8sp?d-xf5zkXYYtAb8KzBXlSBg=sT^A z&)dI3Q^?>lXR(QZU1YzGo22(X>&xI?Rs%q=vr#3X6aVVZ?a}-YWf1RP3N@ymAcpbUFbX4 zQNP1nYp!f?GkI$fcz9#Px`&Q7OCBcHgdTiTShMy~L)-d?g1oUe7A&ZIv~c0WK$~R` z3wbgtnEbOUxcpcD*wvQ*KvDF3$JBJw8sYPq6>|C+Kc-!HdAlO;u=kI?rdxrAOCF}y zO!u1*_$;G>_5NaYH>Dj$*=jGjc<&!yy{OXnFn>Y7Vg8TGy!OZZP4@K7&-yXb;qCJu ztzGe170mgoeoSqP=YF~WVE)W@<(pYQWb4*H2JfD&__4dK{=s~%sQYIa6QDU*x#W=?TnX7V@uc&%elc zYGsw5#4g(S(vt~w8PSdO}S$yXOhe2Og*s6z9AIuE<$&=tJv^*o}&mIltHIs{u zTj$?bTOt^Ehuiz@r;xYWA-BFheq^<8%cn{4xzd{1AO0WNb!WoM+AyuuUD}g8v$-$( zdA-?igwg);jjS)JGX>nN4o;nv+t>54_oub*b{nSG-btIj2!zCXPjf3=leg-@AFg7X zlg5$dKV&|9JHBXf_xA|(zCGd>(z4Bp+ea%&5$`tOeNTool4Ym^NhIHKUePZ zU7JN}qGxVt=q28aJ6;@Kt9pD=U~cEH%U;F;q3a)O8yu+6sRY<-% z^48^B<@|~9adA8Ld3_82ynR_p4O9J|OB>{$-SK>puzT8K$9*SP|H#eTC-1d+6MN{{ z-w&<7*8TXdU~p%xn0Hq3X*rhn)BarBXxkIjwC9h7oTArkFU`%Gsd_ujC;qNl=Xbi; zUHzVV+`~6}=SOMRxyDR>6g3Zd7DR+HD#9l|{|;v-BB9VYkT-CX~vsf0~`v znOAptiCO&-`<4KmN9PlZ8sGc=TsP_PlzFlFdnG?V4bWyiTD0P|AX8M4#gyiiwj1xd z7KbgK_BM0H!Iv}o_!GrSOb#g|{p~oc!jyh#y63D(N`9HMz9)V;*v2}&KC-6g-!7JD zRhiSA=Su#WU0iMVZpA_N501Z@j)^Poy3*|N#c%N$Eia4KqN9ARo2qS}%zt9X7+v0@ zu=S_*gU5=K&8-6rq8F*GU@`kT@99-uFGglV+qLO8=6;q?KXCKPFBzGpVngQJg(~Nk zzZEyC(ofQfJyWs6<<@qK^??_sy<4Pvcb@K|>+LMLE7hiMICZ{samH1?OB`}*D_1KW z()%hVqiN^7LQwvp*~_~f_w{Wg64$Ig{7bG;;r8hh|BHN%iSiuOmi!tX_ zv%O1lbzj|zy0UfaitOyb>(3Ug`+M}pbx-9LQmi@7GZgJCecqp3zU0f{9wCM0o{iTH z8OsAUzMffSzJSr%`_qz*D}0g-{n<9$6y841n;EFO8yDD3=%*IO^G()xBj<<7Io1*^n;pKHm+-Fb6h&)*p*gN#-id=^k!D|+{* zrOB5qS4=-u&v<`>O@D9MqaT8i()pE4rmS+m4QJoCENy>Yz>?W_CUG6ltpx8Q=ciO3 z|E86CJ$mP~hkK&^CN$i(*d;6VP9dgzQ_$U3jk3$_-#5&)Jy_zo*YQ%2X%a*M8yj z629WE38w|(vMn2CzD{CEh+DJHuzm3o%_ADK*p;;&6|c+pTwo{g(SDDx;6|yB*V)B3 znswUTkz25J{pEMdwmGP5;6KZCYnAfV-xn4c*qj&K`;&`L;o35{kj9%$*%##lCEtJC zn-MD{a^R>^79aO*r->H?qHNW#u%GU}BRw%-;i;?a%8C;o@4gVReZ_;`@=MZ9X9Y`+ z$LT!l+w6Ma*AjNW@we`nG$}5)G9~6fm6gZ*wiB7$woew@`Cr@}y)s$7xK8@qq`;aD5?|Rh zA1WKY;(xSwP12$52{xK?e=V1+U-Z27y8St0!}@D}i^7g8evt>Yatq&U@icKUFzi9O zVhw%J7SGiu=y$2BpbMZ5-!2U~n0MJhp!T*!*(|oGOUqO=TbXoyZv_M&=?vizT6rkQ zr8#OU^YY%kExEC`Z_MWS*Kod(TY>K{gB_P)nUjiF&xEQE=iatM#u6vQ0d3<<)VXsN3Z%hilxc9vywKM*WcT zz2cKWZ+@7S_g88>{(ED^%I!u;8uA}sd=bX6X2QW_AM)(O#FNbj_H=BR$96L%;sy6r(Rs>y_dV5osL8h6jB(rFBWc@` zf5w@{|1UM-%8I)7H-$7DqWz7>+VeZ)Nlf2FuhU)+Q*;lTqWxkEO|e1n}w=#TjW#r{rYi!>L=uXHD3_>ZS*eWWs+^V-;W96 z6ArIwT+6iWqCvs_2H6>Gat1bgbLOw`HEe!av_4<%i(iZH&3CbEQxh|HRaRDUN)+8G z{N`>NyE5|Ym!Qy~*?zT)GON?HEvLLo#oPWHLO$E#fR z&(%0SyZSB5RX_9og4$UMajtFGm>0bhI(M4o=TD8Q9+~X!2(KHfG!iX6w|2eOP~R9D z;&EAMZI|dN4fmOM4rrxXH_zt0tb1m%&ZKEa*$SU^Br=!Ueg|LsTskjO(UggS;TqoM zO?Zyr@k=ZVEy>I&R)H}<2@`%X;AHS>`s4pETbJ&P*jcqW^vb=2l}-8*!UrV`E(k2V z`k-0z)>59Fa`WAn-S$uB|Hbn0V7QR|l#f2Ubv-h*%wC?kx%v5@b7%g~`TOSm8U`+L9Ns6U^BgQ$c19p-^J=!kFP3fSNm{%w zf5+~c`zroPm)8|+J`=leUTwOE99Mthk`uF4HGT3IznhUCF1dyGw9y^Y$<^~5-;0~? z3@yzKyt=pT@r`v?W_w$e%j}(O{@pyGHE~tiiQIQm(`rH|F4BB5o!9%4@WD&5vz$ue z)~D=x*L9cc>TOAu?n3*H#80nME*&)8)8_f-<-a+F?=R%dxH{?cxfMIurmHlUp9y$T zyr^!$897aro!;SZV!Sq21YhZhC@OpVUm@su67O>7*)IgwpLl&`UD7W04a>fr-!%Qr zm9NE5`Ew?H?=at)SG0QBdynu4Qz4b8%;m;szNlWF!og&)gzZ{DaGC4WAANTVw2w(I zbj#aeti`PrTzn0J<^+r~2+3if_nEVWen1uM_w3*?>G4Csd{0`#HE+dO);-#`Zl+Rp)Ip_%beR13q!Nn z6GS*~&75@2|DVT2$6NW&`~+{DnxCjK+uE@}`~O;QF9nzEnV0Sd|K(@7ne90Ft&9As zHJm;|Wg}0# zy*QVASP-h&*gj+N8-u6*4+XDsJSgn`-cl0$p7~1bT#r@9t>!6x1CK&PiJx+q%EZ9% z2k+WaJd{j7On(*lNie|qz=kzvjzIOkW=8J{$7y7&2-IzW>!GyW^y>0RHJH_w!?A^bI$>MMs zpXVBD4eJ#KDeIO@dNyle)s0=xh2K@h^xo;a7}T3(eB$h5hZZ-sRb^L_J+3w{Owic2 zMCk2}_uO}%*7i>b(v~P#e|+nfkK!|ok|hm8W@#D4NS@R^&#&mbZ{?H=rTy*`7wkDL z7Va#2VxjcWM2U>Ye&=H4+VY$~Pt>1cIm16B+2hy66J0+pb2?WYc-(Ph%5$@$6JE1y zl`s=ox#8*OzJIp^)3=EW z__uXm^i%XrZ(F3cP^^5_arN^F{!i2%T$riMea)@yZc^u?z2{9*CeFWPp^?z)u_pY8 zR;v02v)b50pT5{C*Ei>U1Fxn3-D;T{z{tRmin5k|hBfL{SnjxIC15cJT@|e2p9kMS z;hd3}m!6seI$|L;4>q9G>whroP=LUkt23@#aT4^O*ZpE?f0O-!rhtr(3Kj8_Rn?a1 zKis=q{`o=v7w(<{tVKbV=oh^J(7C%0>?oH1_m9xM}OJl4mB)uIZm1B0h!4qrA4Vo7jiD09Gx%Z zD02M&W(V;XQCU~-t(l$`y5QE%v(- z9RyOBNkG8K+ z3ZFXfM&F%f9IyA>Tsm{+s`nrAn%jepe@qD~P3hlco@yPpX4$u|{I7eTcW$`!bnmH;+!eCxeEH8;?E6l?)%$*{Z0X^{vwlc$o)>(2h&3wB zVYDijjTvSA zv23URKDQ}aoalRjr}}(=#n(d-%bw3!rhfj#;=4+-7a8Vi-1HWidg68c%17lJ)|(g@ zxSDy-(_^0G#%Eb?&<&u}RGD&4bxil$1&4(BOmMsCafXUV1< zSFxRSxF-GxlUVYz)iW~1!ucm^$n~83G|{L@aE4{e%pHA8?cN*{_-54>DK$+;jeq6! zX2Z_;9Xs0BY_xaU+7`lXp8QJp&cFFbI+KO$g+H9;6q>Ht9w+tgOZK~@wm(WI4FZp( zS}j@qWc@_{$@Npt{9yzo=B_1cGZL5>7`A{5Z$>5&2FSsIusu^u(3?9s8Cak!80G64 z;;8HC=cfPf6lnArRjYdU+{2)91B69jI>59o0|NtGtFNP5)XEeGmRL}*2OG@$h zC@w1OLoE{ngC83MgENY?;o|tLbxlc6bxli4O)i1Nl?rH)6haVp5I#%Zu`9@XY4iF(P6h@6F$M3vb5#}>6F!1Z)vjRPdVWc_i(GR*W zTA|)($~Ptkh9WlfV4J6p&r0-2@k}np3^vfth!+Xwf|5)O3?8fu4Av-q`f7yF0(3vY zO9NbmtwCqqje86X45^F^4BjXfm7C(V2r~gd%iNIs;F6-uymaUMyt33H_*^Y|x?Y-* zW^;pqfx(rLfx!;N;&W!CS{#;{TJDsYmx3z~T|D{3FNBGKVKN&7Lja0hLKb-KLNDZT z1}`Y7U<+bUT>976tbNJAz|hXfzz~UI`x7ftY)8Z;&br2_2vlEVPf~2X^XpBR7#KL& z7#J*3oDpI}mNPJ|0W~oak`-$2GBGfG1)ao*V$FLyeAb|64HbldXL2zpd@=014F2p43_2)g-*?AnHl)~vG<2|=Jc)Jtt8zvLhBr(M3@#`p*LveK z88uK;P`RKuz!^?4cD-58K~cbtUQMO>;{x(T>HHdC8#33|yvzIyIK>Hl{viWMGJ5W?(Qv2?67Dyr%o+r=%9;!R=5n z!HiCj`NpSKY^&v9V7Ma6z@Uy|epx17^YJ;Fm(^7~oQZ)Uj|JV)9z}Q!MRzooJ`l*! zsru(HlrS?e>|{qb|9=Td=0h)jN3MNA=6{|1P3;u}1H&$i+V^q=Uh^S=qT-(iVt_JL zPHIUitiyvn0y@^z{hYwdz`!rdzyMn7g@^;qDgt&TC+0X6 zPz}G91-%U@+d;Y=DnY5qshMS|MUYcg5LUu+E+_~Q-e6#mL*_6%>B4JeK`yvo4(sxQ z%=&Cv*&)Wrz%Y>!J%|*#37O@XT#{LqSyJhlmzEETkVGs!U636UHFv*X$Hc%8#)h7x zX7%8;13k$?Pew*gQlOG-dqjct4`v1iJ5KcW#fpBs=EHL^C`qLjsemX@p@9f?yiBLjmm3j>22O0cs}!E23AK9^<2n_J(NfqEsZ3=9qke=smG++9nOC7^Url$V&}k(if~gRKt)nlZ^waV|DuVqjRw zg5HolxB;(iC`kc(3YarX%>Nf70|OHax=;K!<24(U)l-X9-13W(Q$cL7U3plVOvt(M z(%!U3fwtXvJ+t4EiUho8^7MJE=DK!V8IuirKNfz|+mhS{i0yS4b zMuKPf(F+w^j+H=h?8iM=9a~zGnS)E2uw{tQuv?2628L9O#<2Bq+=lz)=cOZAfIY3p-sR(8#>BvIgoS}Y1I71zmv9^H zlA2VS4h~uDrrxl*#@@xwz;KcWy^+dw6}PD&nYpQW47KjHa5CXyU@#D4U{FJG>dQO0 z4fQE1bxusqz)}82K4{|G$Hc(E&Wi5P!smF*%uf$5%0w9p!j+=LQ5@Rx3ag=cXmb*v z;&fi|GEvYFODQu0Lnw+NJ8>HlQk0mMmYEDHri&p73OodiDGciTss!gJXQ!5gB&Opi z(e-2==l*A8V8~`+V2D6*!r?bK{o$OSmzN4{!$Ie%kz9gP7UUr8X~``5?!q2M28N}~ z3=HuouJCwIhAZ4N^U_m`l8RCjQ%H0SsQ6USkUVb(nux}j%t`!6x?{k_s1y9$7f>;Z zob4~Mu6ozU$iT3YnSmhz#pgVqNw-V|-tO@YG9uCIpad!PI!UFAiGd-O4ZTsX@s)Jf zV8%6Q^y~P%fF?~Q28Mi$eyG?FoOWPI-Pp#VL4G)`_3GYVMh1o|Rt5$iln|Z&iv;uW zWhxv^Fz@T>JMC$HP(ol4Cr)c|dJnny!5-paE_rKrGchnE zurn}tq1g9?8>fAk9>SA5G3^EUbE@>DkTZ-74B^ZS42~%Fiu2>N7pFgwDj0-yu;u}% z>w;_pYLhES5UX{G$;qk3#hFQ&IhiGupvl$DWYm^2$W-3u*a{9-28LUT}BLhPNGkTBLMg_OgzWJbo;$6#9^Pq!VuE{xxnMH^K2-dCyxxOIp zl-E5r1_o{+^gf@B8g45ULwhc#g$hg-+r zl10lI85jbY(T9YC4GFm+w;-`Z#oY;FDTsrb{*kRQE2^@Y!OXz$j04@8L}Q|?@gisq zsMwZV+`5L3nSmjKoq+*#aV{c66U>RR2DVWGxz_@UDTBv>$7V7zFl=K+pR7G*h2LDH zbf5wXC?r14k`|Qm4hfx_02&ewW@BIg-G_+q$weFdHbRnvr*kl7k_LI@$33~Wm7u{g zW(I~JgsBV+46E(&7@V4upPX4z8B&y(oDG|iha@>v8G;G!L1Vz&YYYqwpaDBn`>#0S zu^+sO4=G_od;-$e!n25Uz2)>)h@ZbyJmS3oMr(fHVNAIQ2cCchp=RtAPN0rcEA&keVAC@ln+ z)ST4x#FA8q&oPr0D9uhd&i)fLTj_>TTC(}zwg%l7xca$YMbA8L1dW$)pm&Vq{BWC& zQHfwW9h55;Ez~kP%D}*oz=*z};7=fK!$BDu?0gmfJm{hV$a+Eiv#sI#4d%UPU|`5+ zL?0d33&w4kcWNb4U8n-%5=?7fPF!5k%gn%#&5b_d)g6M{HawA!+H`~^3}|VFt#tuP zf~S_<=z7M$z|g^nz8Z601a4ROrskD;mZauFQk@Eji`T!PsN~+UzU>YJ149soP46Oc z+k_mIpeQ92k06`+wq4o|npJy)(X26vCdMX^Jw^UFmzIKp?X&!oclVhX7{b}m*B_vA0hyiPS_F$C?K^Rt9QgR zGBAK{V%0=(OG_$lw;-YnOS2Q?Me}twN;QlO3<4OnwpBWAW5Kb4zm&z zT*Au00NSL9@QX$!ZW|FELEI;TE2wq{UeectZV*LXtouG2zYQqWB(9VJiVczW0H+xY z3=HQP&?mba^6*;$4muSV(7iX<6P@$4%-)Ag3=C|X3=A=dz+qruD9*=iG-ZhnyGycl zE(+O!rra^+i0&2Pb_u8e!WDF&6j#)1cz}hKf#D7hdi%4e6t}71V1w2ln63r2Yu$3z zWYjYz@o)tb14A1t`YPiMHMp$+I~|c(Jd=x6 zf;02db5eaW^HLpia-0(jK*Mu+#cBCPxtJD%{FW!Kv;Gt_14AVbdfWP9J#LHfqzQPD zgDVg5-)764&&a^g#f-iZiMIu}ji6kL)OrUuJ(2jhM<+meYPL$8Z5ay#!&*-Cl|Axp z_^kwounMAJzzjrC!ix!9bLAQ%1H)@(^i3UKyKtM2nm`bfDKK%obuGx+ImL^%B!Wh& zSkXr}oqBOwi_sZ7<50BgWv$C7l&4*O?d?1i2U( zl94T7h$q@ilvIg2Q;1CpcbWltGFUD7a4e{o#>>EvgyNv%lZo{tHd`SD7-}mH>Q-nY z4l|8`N{DZt*N9(dWMG)X!oUF9l!tKAmg!`<#}zTOgSAEl1;Xa6)c_F)%PJJ4BXSP*WYMb6|4dN;D}o5p7HxHl_!vxPQ$wj%{INV3@*!K3B?goNRXm z6y=v?rocv+z^=f(nBe_vX7f9Y3=HSk7#NCBLWbicm0W-sIxrW)-3IE}VCExG2xT%0 z)a+zrVA#iu-ll3fO_uv0xdoDpJd=xki*QV1XUx5zG@p%up+|;+Ar&QHww)!*Vpy_( zSdAGdp!qcXWv3Zi72kgb1_pm7^xEvj6|$TJ&N$fI1D3$rgn*@9P;GW(!bIiIpoJ(H z?cMTgWVr{WQ~@=FvBV81QLHcE(&dVGT{i$QS%OO%lCfG17t5ru0D8mO?H zd%khsHbw@9P8J3R)ET~gx5#oGO0b~12ehOs6?LEm;(pBB1aex49kJGG(-_g`T$jEg%SM#M0?I=u z?N==61z%F$6wlEPs>4Ae->40GsW)V~4!QJ2O(_r=NQn$eAeg}gO2A(6H@!jYyOY@& z7*bFY@cegVIS3`VP+bI-f;KF$C0LM)TxZpF-(g~4_`uG<5R2lXZnMpxNI^T<9HZi*IB( z3mP#H7vb#o)Mo9{&17a^VB|z^Ic)h!mbJ*fh1iWfjp{~T@!P`4!0?Befgueg8m9dv z%VJ2pL#)J>BH)D@_Ba3)t6p{7IiRhwp!NNz2XWl{PqCZe_G1r^xzo-xgH`}=V$_Eh z8JVyx#{)0iKpkm7Da0@%0yR{SpBp~Sr9#^=^v)!vt`*E=|FkF;GFJT3F$#w&x0>+Ff zkQ}s(#Y{h-@?+ah*A!cJ1_l>N^bxYPB2;h@&H}`&m;dG}Mh1r8plM%}#E~RJmc1zD z7HU91rSLYnLAA}gUngsem>C#KK}Xo2xM_hLS#AQQ5Ks(2QU|J|U~<@t6;RZ8v!t_| zvN1616J=oVKyl7OC9<4@oPV%J3}_^H`abt{piNlXoai&nKAN~~1r0t!MuL4SQHm4T z^eblS11-F|nVEPE)YoukVqmaB@#1b>{FY&vEpjW$ugu4^2Nbgxef^q2qjc+8&=+bZ z=;O8rX~Y*AgOC+oNa6(3)Q)KuQ(rMLFz{eZkZw1`V>8OUGNzwE5#?InQ;mH++;0=y zCW9j>1hyUyM;FlH%Q4Y3&|YFD^s{Lq&2bwIN&}E^!nzz6*0}|_Jy>y3Mg$WB1E}eX zdVG|EC4LK#W;Cz|%i^0mWq3g6>ae2kyS!|T-)M;2!Sf~%CibieN>6VK9{ZIrGBE65 zLSHT5Vu#xj#OxeoLLoJ;6mR+g6#^kHoNY?X3=AS%=x5w0IpDSlYZiohD!CX}?KE|N zz3*v828R8t3=F|2xp9LtS$3h8c(9@Xcd$-cEO2HsGXujO4)o&Sk1K8mK$0|K{V0f! zdw~n6DG)zb;T-6+qHP$_C+>yY9<)VNkl@5KYY9r|cRT(XgO*UXVyxzR=8eZD9IMH| zB^)H1AuTn-n}$H%-OQqp2|D)V2gZ3iKYejK0#6!(w{tMFASieE?ll)W&A`AQ2U;?L zl8&wi;Iw(~GBJd|WWTY<t28PMJ=&g2!EZnB!NxL}8BwXi1f%1>vhU_qPMh1q>jOeQ- zlJao70pvqSfOCqvVr^`MAx+<2QJ|#O_JRU=&;trlUXs zUa-OEC20LEXh|OGkpg^0xE%#bDWHgico>{iK|**F52$);bhArrV`gAb)bW*1P#>qgT zt+*WlO8-b%0^U#niR1M*C_-6tW3@fZ1Em2(+JGkwOe;WTWX|&Y{b7s@44@Jj^+*7@$+)e+lLs&+E?_NlNCkoE z3Q#6km+4ohE5^X!qJzHb^4ApHt^fsN5n}xvrqQ4zvO(GC#hS&4Z4}@r1joWBY z@&+4^X(-6O(?8{IZD52fu0=i4b?-mihJp=5xK{;@4@!5S^L?>f$y&+x6?6voY)15j zAR8E%agN0zjV3@#NF))g1qH5^W@0F92mvOncIFqOtSkei;pMfH=6;8sLYmO^bIlsRTJ1PG%Q-H&<{Pb6!mn;c^nj2 zh-n!p6z9%98ma}ljf4e#(furLVl6|M3`9T5m>>< zz`)LoerQE7ZbLw)wFQ?XCTBa9X6B@%7J*x-p!GcnhawLkDaNQim0)6E_>FPmW4r)P zhoW8O0m{s{PJ9gi6aA``n}I=52Hg+Wg>af5oRL@r-GHP5I#4UG1nL<~KY*g~>;2M6 zpskH;%;+814RSc`01a%w{DG~f2{M>Tc;zZ#83u-LR_I0b1_hi3!wiL;1&H0vf7E2B z$}=%AJYhkf_mi{5X*7D=V!fOUPlSW~#40d5bO-1j7iRR5W1Brri;*J)i4BT)Y&$7I z_UxJXR}++YL5(lelP0e@;)PVERIUuEx^FgrjCBH-1RV=M*4uyn}ts9fZ`Op*>XpYtGwo8V7R1!zPa#SI`L+M zkCaR;!aY#2Q>Z4Vf{B4)4#sio4&^wlK}wV=NNkX2aBh&5uYDK32y}KG6MC_sScTIf zP;vyF@Cm6qu?N(YJIIpBxeiIzr|k6Z%eu7cB&>K}t-x3fCFG*{!&k85o$^(Z>-k zwc#}1FCVl)0=z!Rttc@!71C|O^Z+QFW?0FsNM&YV$l^fXM{3)J$AXf~w9I6r{r1=m zmzdU{;>g6npvsCKI{$ld8V(C{q+K4kLg)JL2z@6e1_m8g^zobp6L6Z3rTBEpOb1Dn8$lMJvz6GG#?G-or>7ZAp;4~N0 z2Ly`e8>g5#IT#rjo?r}-%gw@R3zF;6OAE}{1{JG33aalo#TgiiOwb#OJ+pDz0>9o2 zGF^;mGANW(jBeis?dQ3~j6QDgeiKfUVVM|G2oVS&LFUvM+d(N6<1~2ntvGFfrPPq3 z#Ju9fWYGB>nC=HqYww}%D29d`dDPK)7L5L{zmiztxMhOgWd1sE9^ zE;6D|D8-+_X*4VqKqE>8Zk20ZNl_*C7<2t)=lq3-fnlmF1KLd6jk7o{a>-20$xnw_ zhiNd#2gS^5FTderU^p&}Zm{ZYoCd>P3=SMjgF)GQRnGxQB_;+2(0UKlYcaB(;xriM zREL+Y&<+fk*GY3;v28P8v=&O6yzQt)iX6@#goC+Eq$qi1-ODWGx&cO5xD0)}e z#X99PGcYuBpjSWspK)3Siv?&{VVVqz1)0_F`KK{4Fo5=updNoF@g1khnBGvq6aobv zo-7TrJo5jpzE&;If<|IcsuJuW z7i{&_M+0>71V;0CF*{CkVVyUWOPjHqe|g81TN{`d7+$cV_tUjGahsoy-g;H>%uC9z zz|s5zWfW7_6K@wdGBCtUK%aGX=D}$XTG|4|HFjTQKk!@kn1O+zi4px2Mn^xKrV~|N zV7Jf5n)z1*3j@PaPV^ChDgHR^!x}5NN2ix$A7bv{WMKFtj=o1fAOxo!NKGE-kXBGC z_FG;+rHjdA4GD2328Qh{=mYuIaX77jc>`O69F*OT7I@X#GBGghWkGlM@&w$5Vx}k@ zi3v2r^8I<63^OwW!!K6!ddNK)rxi#+gSD>?a=S~)qgc>kQd==*1Qw^^G#Il`!ck6P zrX^6$n3K%=O@)bp!35(x-?!;F?ZlEZRB+t;a%G|8OHM`xh9ZoPS78=T^P$IDLR$Wq z?goXG!|v+o^Q9OVL|o8^l`duDG#BP>>_)yn`s@@hs5WIp@1-1R!)au2X+dg{Uw#Rw z4W62Uc11UGFBIhH;(aeOW`mYh@u3&f#vM3qfH@jRI{;*Eo`U@k&}lOZSkP0XT0c&6 zQO1U`Gyp&b-`>`7?J5rg!)qz@#ZB8M5@j&=W*+5WU^p#?KAN&`4GC@_FgdWLzO{}Ybo(v``l!>(tvGE#D!F=0I4y^zM{rUhJW5+SFH+GI zdVUk?nd$RRb~br=?g@rBh~lKxT4DX;CUlV~LdwG?t~!sLg0x%fRsa I8t9sI02N31 - - - 4.0.0 - - - net.simonvt - android-menudrawer-parent - 2.0.3-SNAPSHOT - ../pom.xml - - - android-menudrawer-sample - Android MenuDrawer Sample - apk - - - - com.google.android - android - provided - - - net.simonvt - android-menudrawer - ${project.version} - apklib - - - com.google.android - support-v4 - ${android-support.version} - - - - - src - - - - com.jayway.maven.plugins.android.generation2 - android-maven-plugin - true - - - - diff --git a/Externals/android-menudrawer/samples/project.properties b/Externals/android-menudrawer/samples/project.properties deleted file mode 100644 index 1561d7a9a1..0000000000 --- a/Externals/android-menudrawer/samples/project.properties +++ /dev/null @@ -1,15 +0,0 @@ -# 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-17 -android.library.reference.1=../library diff --git a/Externals/android-menudrawer/samples/res/drawable-hdpi-v14/menu_arrow.png b/Externals/android-menudrawer/samples/res/drawable-hdpi-v14/menu_arrow.png deleted file mode 100644 index add3b361868afdf4ea5d15f8d3abe0d28d05e7d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1568 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 Cl(3Qj diff --git a/Externals/android-menudrawer/samples/res/drawable-hdpi-v14/menu_arrow_right.png b/Externals/android-menudrawer/samples/res/drawable-hdpi-v14/menu_arrow_right.png deleted file mode 100644 index 4ae9df9b784aefdf8e37e415b6e68a33ffb0c3e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1520 zcmeAS@N?(olHy`uVBq!ia0y~yV31&7U@+ofV_;x#bC6!az`(##?Bp53!NI{%!;#X# zz`(#*9OUlAur&ndolT}7zVg=_M`CttsQof(lS zSz|B3<8^84gwMBbMeV$scmCAbvr~7+tZN8b`6WIk=EukF=?p9zyXsQd+1Y#j{rzup zwK{$M^CxD;%$bp2e*9Q*DQoM^GcH~3Tgu(mU(ERT;>C*#$`_pW-(TOp|I?Z^I=Tl! zmM&cy`Nzjf;Yr;6t5?5TXK0=~apH%@PT9p<&*9aWS!9 z6I~_a!VcOc<}*YHhNXsvPPK{Q(cCP`^dLAm`19-M=jYcSyvDGa@3#Ae#g1y0D+~gw zTo^enUA}xdEId5CQFraEl7p2q&p!{2))8x!xR}fk;5hU0<;(V~uD&vIiSt~=5X6~V zvc|}8(QyU??kUTe6xCp5An?CipDN6?yyxhmA;E|lXc+vXx>t&*&T=g}w(^M2pDrgHl$ckiyv$;?a)b#+bef3Wr0zkhb_E9BlYZD>4x>{!UusZ*D9 zEvi3My==n^dl7MQ?pI%0GLy_a)6>(tKYjX?Wlk6fs2zrWf(}L2n!3#KQK_L zGG$qxusr#!uUb_QL)W!Ccjnx@ecRi1(W1?lTRZeP8Wb1;%uG!Uxs|^*%+#=2qcHJB z6XSv1DMdv=v2k(hx;xIHZ4>r~r{e8vjq-Ogqi@2cbOG-Wd0xqFwDot^#dgF9@?#TsTLhF>^x^tK`c z(;~)#8n3ptwmD|A&vGqazG8uM$fcDrdi&ij?>rpt|55VH*|U{pWo3E~?=*SrS7=sV zBOWoAp)%pip6gww5^8Jz7Ut%@74kdx@Ug&aMWYQ0&FgoRRek^deg22K2Gz&0rWf(rn$jjRY-tlN%%F?j9wjd$l0AG5Tg@vMN$1j#L)(P*! zR(~~g@;${+pd=|NSvYV0eB)oiR_(IQ`PwdjpA}e~_&xi+aFcOFOw5_Wb!v9WAZKmX28>4}Sf+)vlP< zwz*@)n-D%@>pstNqd;M%gg3t){*hmPSyEX`Z8`7V*In0Fz7O@kqZJhw7kB^m?ZpdB z`r^y9TuUDby{TS5Q>fA9H-q}+`QF~%^?OA`e;Wssa!>eu_ik+9|F8*hv9YWZ|J`4^ zcJ1L6)%S{j9KOwX?|em2;-6gw6?-I;POhl*ym<80t5^9u(ku>qmCS5hkXELp^nYGo zag&GRS^u|h-~MJeas0JR%-;%u$_b6qqN3$aT)p$=PktD;`K)qZXp_+&uBbeZ)AbK+ hgiieb#lNzialcyHeVfH1^$ZLQ44$rjF6*2UngEnBzf1rC diff --git a/Externals/android-menudrawer/samples/res/drawable-hdpi-v14/menu_arrow_top.png b/Externals/android-menudrawer/samples/res/drawable-hdpi-v14/menu_arrow_top.png deleted file mode 100644 index ab4ed80eea6459084c10ef25f77d174148b97ea8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1529 zcmeAS@N?(olHy`uVBq!ia0y~yU@&4}V36QoV_;y|!LjZk0|Ns~v6E*A2L}g74M$1` z0|NtNage(c!@6@aFF}&&j=qiz3>*8o|0J?9FfecyctjR6Fo+xmVMfscUnd3z2FViF zh?3y^w370~qEv?R@^Zb*yzJuS#DY}4{G#;P?`)(P7+51cT^vIq-1kO!dniYWT&?l- zF}i4$wQ7>5(-o6l0fA}iI|>3W9L-64=ype=X-9CuLw0*^M^`q%BU5+G_04A$Z(7Gz zx-==2r5xH|ZWz&m;2OXWxyy#$RVOLza zV#S1`NrtBLzA^-}JwN?0M{xgJ^B4OWIP8Dri*mW%cv&JO(dBn8q_3e)4?NKGw1)E}!T8$(VyrSX!<(Ur8{~c-SGf z#qfY5_b=_l)d{*U^wku0@ISc6`@BEVKjH3z`=YY;IcQFr~@V+{|o~v9a;5MT?Y9srFw# zd)BwAqT)wcdiryjxpIpn6IlU zEC|qg%JlJ#m)hjY?(Xh|Teq4rIiEe+Y`M_Gb#dVT>XOgS3hQ4S}O32gmrhKVMczyFB53_HA#d`G2k_E9EvM7=Af0Nv=YG zt_FpzRR)Xg z2df1d6ZFpb`ud)^a%D=~^2@c$+jB0mG#~u(;>C-%*RF}V9&3K4vT9--%iV@$-|bJC zpKss@$;!x>uR~70Nt29~~LVxp;1J zp4CB?y8$g4-(#AZ9J`Nx+OT`~Y?u3+4}G>)V4Aw(3PY=g{fmv#Zl^dULpEiaNR<^8 zZQ8SQ=S*#mqr1$^%^xQxCyRgo{@q3U60f`IDcc0rm(RpPy7z?KvSAW*SdbNZpzsv` z%qj(~Kogy^-E$k|yf#?xY<(#DC4uqfvs+J#1h3w)kx;xp=kRuh8t%ni%Pu|J==ZoG zlj}?5h9VEN>as zhQ`P1uV20Ta!!7}`oi#Y;dSLgD;_`kVA=Odv2n7#tG$Akk?Mt)jEj2oEhD~2XJu!5 zPoF;B-b$vgY0ftD_UVz+rf%K3HS^o|@60#;3M^B~bzxLul6Fj4q!BYY$SUoirRtXj zZC4Lw88}?Ld^woW)qxggKl<-2YQ@3v4&YWypU0oe=>Q2(-{SP0%;S2rD%(uWo zFs|)Ar(XPn1^=^O*nTGbl>U!-4=bjpZ@zhH zL6}g|wKM0>|8Erf6F%{}c&=5>ujA*=ozwd9`{j!lFQQgoJ;tD-IVb9;!!Pf`!jJPK tE~?yG_5ZC)dZWXGa)amkI+Opgm+Vk{@1v!+l7WGN!PC{xWt~$(69Dot!y^Cy diff --git a/Externals/android-menudrawer/samples/res/drawable-hdpi/ic_action_refresh_dark.png b/Externals/android-menudrawer/samples/res/drawable-hdpi/ic_action_refresh_dark.png deleted file mode 100644 index bb9d855f77692343e173f814ca1e546393b707d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3138 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 aF$e^SKRo#LmKp;C1B0ilpUXO@geCxpf9~}F diff --git a/Externals/android-menudrawer/samples/res/drawable-hdpi/ic_action_select_all_dark.png b/Externals/android-menudrawer/samples/res/drawable-hdpi/ic_action_select_all_dark.png deleted file mode 100644 index c87c3f8370f1de51f35c46e1798638e415865406..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2861 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 diff --git a/Externals/android-menudrawer/samples/res/drawable-hdpi/ic_launcher.png b/Externals/android-menudrawer/samples/res/drawable-hdpi/ic_launcher.png deleted file mode 100644 index 96a442e5b8e9394ccf50bab9988cb2316026245d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9397 zcmeAS@N?(olHy`uVBq!ia0y~yVDJE84mJh`hS0a0-5D4d*pj^6T^PXNr}OT51_lPs z0*}aI1_p5<5N1rDe+i_Iv#h`|9i$hG&sBb4WnfUg=jq}YQgQ3-oXS0_p{4KlXTM)% z_54op^Lex7Bv@12SlnG)=QPfk(XMfEMuyLvUKK5WlfoXUIY~Wky^=>HE3~9cT-pR? zvM!nVGH=$r{O_{oVnVCmfBm<@>iIqI?LTc6+E;4YwHNRHJ!jRe{ePpg|6U6Sw`e%t zzW-m2Ue()ji`p#F`SDE0XXNY5eidW=xvl=+wE16oYo8a#olvZty3zTXk!6@8XHS8J ztX0aJWrrjT50_+INYm%k?$~;$uRy;^b)uqGCG%^oJDZ*t`OUELk~+Kn{P@zba(%>auq?e;*Xpo?f@D{19~i;9bvPm_whRh9hyzNM;Vx8!#X zMT;KJj)e9{v&5eqnOprWruh4Mv-)?M%k}r~xE}cXtN*>%*X7L499_TrE$4bos|gHu zOAec@x~jFd?Xbj4y~xxzmqfqz=T!Z;_yb1>0wj( z9L24ItLy(i-2Lx4KQp!ZMm~$&R45Go6-F2(Dwc2zZOq@{Yqc-Vn1JhU!2L+ z8)BU&{J5_fVubsU<&u;U@6Yt~7e@xiwW@Oyz}#-`XC2O!2%odHVj3XY3;`UA_CBW0I`?iohui zOpLBCH*~W_2QH~ODzQqSt?Ab-{o?qa)qhSrt)5jLQ}Xo|LyO0^MpRkmbW+H*~BiiKtKK?Q`i-ub2hI%_q>o?zS`%FUs?I~ck}K^mgz=| z&iy?nxWB?xXm&Wu$uLef_w&_8tqMjrR&(^LFQ_;$u{AEEb=`ckSo6JBXJ_kkr@i}b zX1n3>i`{jGfA@Z`FL>m?yG*0*b$5PAQNi@!c^kWa?I^msUEWq9+bV%)mwJqY(&9DG zRh0Nr-PUivR{l5dX7z`x;!Dq$fBiQ7>e-AH8@z(09=)6;B^(mjl`7G}sF(sa2@A+G%PHf9RANFF~LFcPvmXwd?4*Jck7(R`>rRw_V9bv z9+{ec!(%FETcoE?Z-esUR&`y*O(|PEGar9swU{+|H_!CvDV1*Xb_(hE&tskcbxy9i z)8flh?h771A2K)B{C1qFV}nlX|Js9(*yo}Mo+EjlV^b!OtkhaCH#JuP(n8252q1uOeO@%3@nmQCM! zp~3a&><-T4!%OFGi@rN6c)rTUD{Vo`w(}KUoZk2MKXbr5)-Zp&xo2Nam66&Tan3+K zxl`t^rt{kmwuy_2`EK(SZ@DaY^^HZ<%7rhNdzdO8pZxFyx3iM&ed8jd(kJI07x~X) zkCFS}SLj#Bx5*^k#%kipCn=Xqj_ywA?J%CEyvW0TXH~3EEsN)F=PT1oJgoccXZBm4 ziQoBAM$7c!MceB$);}~#{W|IS z=PL`>|2B^M&6~XC-*Y_{sk^pI_R6h2XENDlw&LzK2fwT94lEbFWTO1qa#Nh&thA%6 zr;D#QQGT12lIb_?*^`;d=WX;p@35JW+IORealtE#s;AnX5sk%?s}gz~kL-Kyod09$ z&jat{ALai)xABQ&&A(b{x$8#q)y?j&wEy)Rs+C-dJ@#9! zGGpVReN!ff?_p;#JO8iccXYk;TC1LpDeH^+MYhzm3UJsxs8wib_%8R{_8{w~J?)&O z^QvzwpDAP4!)~7UVAJgQ<2Qnw*S{{D$=iGLib-0PKKtK55qGnS_tLwQ_x%bl|9|Xt z&7HtCb`vL-@lKvRIV<+75UotuVb6VQEPKAz@8@GPW&oE=UwsGsV|aeud%Ipu@>D?3%VoY>C+VyXTP?lFB68Z!NLF_y2aIpxI)!}Tp5ZoP%Gtd1|9+kRu;=fE`U;5BhY z9O<$pN9`ouTt8Cw>S&6~k}Z*kjIxZp);Wi)Fcx|LVB*ZRGrlAkZT1XdRleAndC#rq zvq#5~8A{^Q|2;a)p!2awTsL82ldY9QhMWRxQ@9fcYxk+|htxAqYJ@i|kJ{AzNwnsJ zVo{~V$%yi)-{U6zh!AO4HPZAon&omVYxl&=tvma^9$))By4+@VY_x2C{mmM_?fxRW z_3N#*f5-}z%ABi|=qbs(5wguS_>WfB&%0rTMy6Zm+I*e0T<+`1g?i0frcX|fa+zy0 zA-$G2c#pOCiCB%p0ayaKE7;U@#>#s zN&oNU5FOt-Kb^%n7vIl*`)dQ=$&UP&JhSuWs`_#L7rcIT*{=)<`!{l%eAmZyAFH@O z^}*HxdpE&_23s#Z(db#9;FtL@Xx23)W9{0BtETm6DM!DY?6h)2v;L-U0smy?2sJIZ z=OGfU5MO>#)%Z@)-^@J^zSfJD{rSA*X7tZXiQbQvW*gnRecPk%zu@cbXYcKJ8n^l9 zKTCo2nb(sS=fpSY{l2=>rTm|6HD8smaS?y=$&SiTKRzaIjStPAeQf5+HCE3iEKe%- zl{-=TbARvcnS1Z=e>E%P``Y#$H(bmu9?z4@nRTRdV_}NnvVudayaIHK)SoqKUeIuG z?zYJhILYSWsNu-Pyy4fsl|Py!j=CfS)&!`8?>Qd2DlolbN!{W8`U;8qZ=d>qiQD~N zce(7t&VIEc=W{k$-+OI-Iqzw3b=mg)xBQ;lnVGzcdd)v~%IEn-y>-vpm%n?x#Qxh! z{i1KPw-;38>YpvxvT|0|3!`c`h2Pe${XG)bG`COOdsg<+yv^3%-xTFX7k~IszTNK1 zmT0-GA1`O#PsQ!^}<1(~{Z9&{5CJkv14$aQMvvoCWePJ6Jz z>BaA*3w{{!7grv5>UE3zi&dlF>B-x8E7dPYru_Xp+spZXZ>D~){oMXN-r*LX zfAp?f|8q`G`uOl<#@ez!b8_3>tpssKTiw#_lf`A zE%UCsS1Op@)@{f>@R=KI{&85Z25b>$!e;;#cNtM1hq`PQ$0F_otFv)uZ(a=@e+se6_TfQ#5)*bruy4TrT zS+RfP_djkts`l;e?DNULnUhnV$tfRWaVm*>mp;8>e(JGfoDv+Im9H|-ZQZ;#_^ry@ zQ$NqXo3^?<$M<~XZnZ~euB$x!A$~Qt{8>iX`;3j%)sy$`t~%qh^vt`n8E2nunH`(< zt>V%=b??6lf^TQ{vd#S-9%OJXLa~e2b7@6rmf%;;)1OMG{mMA=A>+)63YV>U9;^70 z%UCBKd3Pr#{#TcM{SW!NAJ?5mMT~%R(xFL#L;v*HNJs|Q(LV+>G3pamnBR$mVFPpUq)WPV1F#WwU>}Q~uz4bNT!gUq0_~+WNZYNk~`LvNOMDZ<+p% zdjiwdj2#o)RxL=oSIK8*_}-yA_WFq<5B7fC(IC;yyI@;_i-4}orq|(LyX=l0_&v2R z(p6xq#r#RTdn}}!1e$*BI~SuO_nSxKi+`m)*P^DZ_*L z$2@7{b>q?V&Mf_IG-plPo+^#qY32!Qg4XtkII!-oFieb-$;zB}>%Pg=MLw&$*pv_V zOyR1v)A}Yji=ETu1cS?kGUGSg0vZP^SPo9PlqXOr-m%^2kJr!VJFJTdG*nLe@cg|K0VMA7x7)5|2f!i!ERJ}*2a_}tiTPZ#_4xZ}Rx|0_p-zsGYd*w;;f z=iqNv%c%N`yJqmNS~2V3{rnW}bJYq_3aTXw6+{D^KFD5eSaq;;^>0JNP#4xCN)aL_ ze;p7>pX#_QcEw{3LCJp?^ABgntA5F}J8?qvjKlRWky(sOr*A#^Y0Af2igW%fx&P>h zbNs;*7dA2O?u#h4YM1|#WA=Ve>umWS;%0C6%(E$3aqO@}C+DlvCW{$3pWSD-j*8oO zNH4@Wk+=D)&a;hLKaAvB7|y+IcRY4v&#Tz|r>*PW&#CjeAYoznGC1g2zMI6CO-=!l zDl?zD_UQO2I(_(ZNlhx@=#7nYK0FC8I`d0B*w^ip?AHd(PuD*&wXd<7>Kr!r)Hhq{ z9bX&si{DS1f9Zv9U}w9*Bpm}`**oDE8d(`<&9C1V!fGvaW$~&-TDANJ2G+c;>8__+ ztXTHjvmKlz+Aw7)$IInhXP$d^7cFVf`ZTSV;g)9Rx>n)oj%j_G#fED))O`~1v-)Gx z7x7tVP3P&?-x_D?_kUmA6Ll%+>!oCi>X-4K-aP)-5&iD3UU~k$NqPIG*J&9WZ2Y+) zVcc{Puq};(zJ?S58potJ^x$CeO)zQ(?Ry|U)sAD=xqA&;`b`2?-s|} z!;7!2eE+~#e}7YAwZz^nf&YI0(UQ0m{V{Cw;%19`>}dt_YwNi*)~$TfQFu%Lfi9Z| zv%clulAg{}cdy>7S(-1mqV*eZh`OKtnPR~X$I};dp6I2YofQ0I`TLq#-S*$uw&mZC z%4^WgvgLkTVDGL`+q+dz;m@C6+LdRe=O1S-f1g;CVjDT_oUx{cThgnoPgy@4$f>SQ zG-3|hoZ$P^^iNIn%6Qcq>xkjbApEJrrV7Q{&!Lm$+?f^@X4Ot2CloezC4o-DDcl+YuGu z&G9?&g890?%2`_{I%;0&m{{qhXK>v$&8&VUFxmZZo^|E-_&;XyKkl5ie6*tZ=dt_uPR-x* zO@HOpRVLDzkyUrMFAMqOU-D9McRNe)<%3F3Hf9SdPh2#qY3}AyRnap z+c~*#n}Nah4F*TNUM^%`RTi+0W8R%o#t(|mTa?c~34Xt`Z~NYdkMI1tu>ZsH_w`)& z_q^#|lG$b`CTMVMQ{m(0J>Q+hKfK#tWtV)qMZf0B^F6=$_aFLna%;tVugeV6&oAd? zzOTW2_E}roTG5FWalg+jj&Koi4Bh*Auiv{}D|Y>LH*ENLF?B_k7Moz^ciojY?jCK` zIrV4h3&D(SCph^`jvu(oHz)6cQ;*%}md_SnXB6-F_O1Te?C?LP)8oHZ#?_wt|LlkQ z{A1Vk{<2)Z|1Eajzc0%_zvTZnVKHB&8)F9>%c(zWKa{$@3S9AOk}1pjs3ju%V!e-j zDoYgp{3h;2yH}=w*iW^a_72y?oPCbgANwwDmf-TjI%{FioI+uTEy0&!#8-ue9&LkiD zzrb}%LSb{tludWCSzc~lzNMqpZmWYF$2Onn9KmaH*-3wAi);Fv=@8VEjVnC(Z>FPn zSI3Nn%R8lF75v$E8=a{ACcd;QOdx1RLeA%ntx%w<0MK1OK zHYV0ui}hDlQt_Zpns$9(_(#HX2sH(7VN z9a*sOyn&)`_2*lq1^K^cOnz25?P;akg$0T`;+ZFGglxlyQF5H+Zyg0hUc}i z9~<>d6PM#SR_mLy-(jlL#*Et)b-j5pXJlIQ)(2mk@XR+pl#R8{u_WWj6_$<6j5`Ay zzLy3FgeVI)xi*U`-m`aTZe&Up(9B7&Q+l~CC*r}8i<|f@K7{`_t*(<@F1G5%|5fj` z8#MKIZ1@psHpxrIWIg}!jU6+Tx~A@2d@g^3QpW?+j5e)f9eOEmmDFS3EfM>sclQ(D z(~YdlDr?xH`)%*_|JFg>cDMW4fB%)~wz|$-tobVBX_J$?^OJ8^JwDra zOYON{lUBA)+SPEU^up=qz8@7c=3v&65b8M+d*J=#C3@?4J6Ex&Zuz>geE*5ezx&U5 ze2KpF-?W)cO@(`zQ`5Aa(IIAPtWJ@8Cmwt$&S?4}T4HVZafwwu!tSP%QeIqV2$?m# zQ|DMztCBUhRrgK=?0Z z*%<9jp|7qkT_7eeqJ1@HNk+67U+uzI;Rh0YFHOzaGx>$ltF0S@y56uaSaexohC$24 zTQX516G|Nq=F}}04GrwrXtwaZ0=wICSG%byrgbH6pYMDp9!jZgayUB5g*L6rNN(G4``YUJzi(cS*qLMV?n&tdk;Hk5QXeeYJg#Pf+Jm)Ad!0 z>%OeNzq7s}ZP{|hFaCOUZGpV!ZvEi5vi)42b@E1HSH`T;BdH$ig_qnsQ#bGXncdTS zZD&Spl{yx2Jm>d8*Tp)m0z5r^{KaohI={J7XD$Ep())rp3-up_KHoDtxz9>6U{3kx zs^#*mnj)JGr+3$6KSj*1dJKr@`c#Tz#?J>5d@ScgRKfYXk%kjP@JL|iS z{lDe)yC3rFTfN`nw)p2X&dr}9k6lr_^7ExmZjANqTR(UH%GkCwDpK?KIt%rf^1E+& z!o!&Q-*I2q)qK6+M_}@q($^1{->(mNx2yJWo2qu3|Jx(~npC9fcC}^LoWFZ+%k-Ndb941zL-?_l+t#c^sBQDoRhu&K|Fp(-{gLq+4pO2 z-nRVmK$)Fq(xxfe4g9C}$Jevo|93F`rd_ePHow&49nSo68ac^bAx@`5oI;)%hN-T| zzozB9=g-!3b>-8KeXrXV9NxVx_tmY%^Ic>(f8KDp8~$c;!ONB>DpkLg?b9wdOGj=i z%K6WbdvniJcQgNu)vp{y)~nmUjkr8*rR3_5>3ef)zPg1qc|*O|FHSt`;d{>N zi|aGy_#J2LH|%^nd#%;|9~WnCd%S$B(Iob(4%K?;Nu_7D+gaPc+3BxPdtX)m;lg%# z1*5jI@>v@%rcO#v3h$dMF|X*u?Juw5V{_7G-#!s5cFyK?rO@q-0#0>7*Wd1`Tvxtd zbaL0mplQ0#(wh!7l`N3w?d|obmh8{D$@_k37E3S=|2d^zQY^KOIHG*2j8@ zi0g9rDM^`f@?`3+;$ME3GtRy>r|0Vn`JE_=RITA%@eOoy(2c&?3nT2a7u2r=9yJ*cJqFV=r%cOcoSaDEs2eQlj(0t{XDS4Jd2xBm2SZlr)HsntHRV^uH#0>( zn`rPvS#8VpZ1=V2=1E^(^F3(m+LsGccKW={c`#xP$%V|5vBiA8(Zr zxHWg#%44UQC#}D+HU04PVDsv2y)LhvCkL(OP3}>jAXFgow^DY?c5%L9vCA9(mIVhE zEtPqwed{Ev#ZhLxL<5hfu>sF*&y^l+e^aecAGCJ%%4)nDi6>9y_UpXWQv2O+v9jjb zXYsqGKO^^>Cx)$$P>N{`=lvZ*zjrm~|OOWOwF- zgt4%y3N$H~YwnF}56kwuy>{M~w97YNWxSuW|Mvsg>j!n#*S|OJVO#96(8@J=lg`t4 zyT7w}C)g*lG1feZo&I^A|GqgFCvGj-b-VJS_xz>ydp}(ZSj#gxq-IJ8ud%UZ?@Tr& z-$yCzo~nziLKX&jt_aHt(dz8$x&Gd7l2=}jtm&~8Tg`UNnR?f+`b_2W%4wd{o-Wxt z#c#R$_REX!<^=an7dABdeAxTl4#@|l;`8Kque;y5tyiHs{mzaqQa3-u-lzHe!N^GC? zM!oX;cll;q*g8=`DJ$3TjO0-#5lI1qiHd!^i3go+loFJm8o#f6)ZZ*$(6H~rUGq&j zsl9Wpmvx;CQFiH6EMm*%4P?2dbxg}li*5C#b(+t5djcf8GR~!OwS8r8-nyhPreR`; z?$j<-KcyVb3B}WnNPJ?=O)_k4}PwXY}?qhl}#`(nd|JP4ZaIE2CUS&cl%M{vJk^#kDG;D+fH2&a5Q?Pa_Loo z&lHWTvvk|fcCWm#s5g0oh|gR3YZ7bz%JW?4j{C#ovog_TiS>k&PXj6vnOe2_gqwGD z*m%}#-n{vB(eWpj1l8QtSB7MTWQVTWD$yz9d3BNsoAk}1Ut2S-zF`g!x%l#|Y(N8_ zhsbOBt0@xio2uB)T@*<%SP}6gn7fflm{nkx;uGDYi!J8PiO^dew&u9R&6y!dk6HxO zk1pBU+jZwmgn^i8n1J-Qm0901UQb^%DRb60J`D%k zGEEcOALwSe97$NqTPX57?uBaH^SXjFC%u3scY4 z*%@IvvA3&CR%ngqlFM%%8EaBDUndWvs=W}1UwzhwQP0iXo>n|dYYphaJ zzkGFD^uC`*fBu#gR%efTG<9k@O;dCG7L&dBTI=3*>YeH)epNksritIrwfpWiuf6}` zL)Z1tM-S^|q+<;e7kez$5KB(pWMX>x^6r;yu6Bd;WQ+Z!ENbc;m6(g_W_F({A@wo2AI1@``^e4Ko4=O6a)?NRQsQT)f(#%H@UcS(fuUU3&vQ&YdO z)|&_NiaSCi8B$t`5uHV66V(&~*06?P&&X3P+ykJ-_5{ zU!pMm$bZ&<88r^SYc>}#Ffgc=xJHzuB$lLFB^RY8mZUNm85kPs8d&NY8HE^FS{WNz z85`*um|GbbteBK^21P?|eoAIqC0v7{S%`tTm65rXu^B`|dDh1e(DEZsS3j3^P6wp1|bKuG^ZhQaVtUEr1WtP+{ zUnc!$yob73Gr0OCPhZ{Jws_I$AH_5GNli70SGE9wAN)05LIrOZygeqxmQwxu4dZ>c YA7U*w(t^tv7#J8lUHx3vIVCg!0HI7c0ssI2 diff --git a/Externals/android-menudrawer/samples/res/drawable-hdpi/md__list_focused_holo.9.png b/Externals/android-menudrawer/samples/res/drawable-hdpi/md__list_focused_holo.9.png deleted file mode 100644 index 555270842a739eb45d404ab473ad38a4c730240c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 191 zcmeAS@N?(olHy`uVBq!ia0y~yVBiK}4mJh`hLvl|)fgBUSc;uILpV4%IBGajIv5xj zI14-?iy0WWJ3*My{N(Ai3=9m3o-U3d5>uy6xX9UHz~l1%h_1|G!(HvxJKJRs8_s$B zN7Ho9wM*;|6=M2SCa^d!oVSdH>A)yU%?AmsAUkO`*$Xm73U#|OHJ{2?T sqx4JV1vBrYobd5f_-S=);t^@3U@5MBrIvFT7#J8lUHx3vIVCg!04LBvx&QzG diff --git a/Externals/android-menudrawer/samples/res/drawable-hdpi/md__list_longpressed_holo.9.png b/Externals/android-menudrawer/samples/res/drawable-hdpi/md__list_longpressed_holo.9.png deleted file mode 100644 index 4ea7afa00e2bfe057472ed5a196080fc80ad7383..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 154 zcmeAS@N?(olHy`uVBq!ia0y~yVBiK}4mJh`hLvl|)fgBUSc;uILpV4%IBGajIv5xj zI14-?iy0WWJ3*My{N(Ai3=9l5o-U3d5>t~CW>mH@^8Rr@#9{E6hgo?_<3eWUC9@@r z1w&d`Ji`9WU!YawtLAC=_<(gYqg3;M&POxTB^dtP6`dKzRnf)3z`)??>gTe~DWM4f Dc={?% diff --git a/Externals/android-menudrawer/samples/res/drawable-hdpi/md__list_pressed_holo_dark.9.png b/Externals/android-menudrawer/samples/res/drawable-hdpi/md__list_pressed_holo_dark.9.png deleted file mode 100644 index 5654cd69429fd0a3502a05b5f827bffab89cc7e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 159 zcmeAS@N?(olHy`uVBq!ia0y~yVBiK}4mJh`hLvl|)fgBUSc;uILpV4%IBGajIv5xj zI14-?iy0WWJ3*My{N(Ai3=9m8o-U3d5>t~6?){p=$ot3rP(i|;ubRxtQw)V;*{v*I z>&`vq;vs0H5c#pbY1IkSnJPznnBViTW$^q{Z|U7`m&(9k@KwUn(K0=Rfq{X+)78&q Iol`;+0KG>nw*UYD diff --git a/Externals/android-menudrawer/samples/res/drawable-hdpi/md__list_selector_disabled_holo_dark.9.png b/Externals/android-menudrawer/samples/res/drawable-hdpi/md__list_selector_disabled_holo_dark.9.png deleted file mode 100644 index f6fd30dcdc9c39c836e509486854f9da03486892..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 189 zcmeAS@N?(olHy`uVBq!ia0y~yU=U|uU~uGMV_;yg`fKmSz`(##?Bp53!NI{%!;#X# zz`(#+;1OBOz`)%J!i?r8Pp@TQV2Jm0aSVxQeS6)Iufc)C<>JA~vnz5Z=O-sW_KK1I zynIoEJ2&H{Gm9A&O0Q*?A6BTIlsmI0PDu|2>e{#Gzu=2IyiWW_x}Z1={Fje&Se5mQ dnc)iKxBG%6i8r}=85kHCJYD@<);T3K0RVh^IoSXJ diff --git a/Externals/android-menudrawer/samples/res/drawable-hdpi/menu_arrow.png b/Externals/android-menudrawer/samples/res/drawable-hdpi/menu_arrow.png deleted file mode 100644 index c28d98f3bb435334b7852718214161d780896fce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1578 zcmeAS@N?(olHy`uVBq!ia0y~yV31&7U@+ofV_;x#bC6!az`(##?Bp53!NI{%!;#X# zz`(#+;1OBOz#wuMgc(H(e4Q8=7$i$vBT9nv(@M${i&7cN%ggmL^RkPR6AM!H@{7`E zzq65IU|?PD>Eaj?(Ry~qd4J(diR1gv-=3McOm}NQ-IgsE!n9%)4(ytd(-YUj&YyRt ztv)f>*=ELplNI-7R486-o@DazRHL-lnPU?ERW~XW3}rsJPY?|_q9yin%F8pq-!xv+ zv?Sd`R0OI}HdVV#G{ zqGv^xSD%0GT)S3x_u92*XU(6#eQLe)p1phb9^9m}e$^_u%{k0WQ!p8fl-LC@r^ZVsI;PKLghbz3qLpJ_D6F`PZ~r?RT5>WD$lpR1Tp59(lK0dyGpSISUYHB&=W@Z|SxNF9kJw^YiWH_m#YyRDJ*BREa4^qNAfrLqlgTo$^uX%43FKlTJRlICJLA zu=Urye`mgtcKqp;`piwy#e?G_uY#w`-QM2bhb2~bgFN>vV(bc7I%Qs4TU(iCs*H7} zr$O=YUTO2DyLa!hFRM7uci%}jdZjIc)$wD;4n03NH~70$^#VuB5Tz_FC)>8U{zhfr z-rVf_`0-=y!n)<*d_SXCoRLvoBy{Cpg^k?)^7nDO@4sI^vruZtVEOpma1+eWqpAt1Bx%TwNV*yS0PadTK+5 zi_)wqm(p*SMQ}`<62!;g(RTRZx|J(eiuE544!u|I%HZ&%$Z~6d#*Z16C(alub!E*G z^ICp6x6xri+Q&(Zl5GoxCNeJIbl^5NkKbQsYhq&ZWR?4#ln?Xm^cb8%L#Hp&uwu{` zG-do?U-f0h!!t9D_azuaTvuUXcv-fad)2D6&KI(Rd()n&p5AnCS7mZWcv{CjhA`mqxyIuu=U8#(UX>{+r%W2X*PhVwIjS~i$Zo;+FG*w{Esmo2{h z@~2HlHmyb3X&jTjy_iy1Sorbn)6>(Nd_COGAFi&ZR@82KV|$LGl3@4IEj4!cUli>;bmk9pgFGV-G-yP;(w}nd5>bCCOxpR`&QoEX; zpOz|p>3Ub~5U;80#L&&n&As~Zu0CwMUt(FpAm4pqzWD7+Z{EB)wKjVDx7N6` zKOK%F8J;!qoqzf%7xRmwd|w_reV#JWLnY+0$=<%l zEUf~ZBK;c~?C$Tc|Ns2p!GrOy4K2Pn?pby}r1SWvPn(u%oO<@{+qYQ)kG4+vwDhq> z{nMhIUvF>E|9|Yv>C(H~ro^`yY@Xg>Gi#Y3!{xVS`F53`mh4~GwUDJYH#ax>@|K*1 z0Y4rT?KJvXW4Bu4RGEUnkInB+uV~g=@{jGSjkHnR1gBsI1_lOCS3j3^P6*8o|0J?9FfecyctjR6Fo+xmVMfscUnd3z2FViF zh?3y^w370~qEv?R@^Zb*yzJuS#DY}4{G#;P?`)(P7+76AT^vIq+^4iuXD0l1-NHJT->L^esa+l*DgX0HgS%HIVtpnK{*~H(K9BVaL zoX~wYYth=yZSjVN@yCwXEnl`u(^yit`qJfd&8NNhhJSrEr~G~8_b?HzRwvHjx%21$ z7wC1fzw_5$YNL?x#%>vrRhu>$#d>;n7FJa3xbpt{|8G}z3Mhl*CiCoFXgJg7`~@Qi zh0_TJGt$!1>a_Ir{|grTuglHJ`E%*coj=AW=4eel^*O=dg{7@6?<#F=?W^0jZ$Iy# z#Qaw};@+1pTiCB3T(wGTw$xkA4Lf)4b{%Eirn zIBWXprC}>Wq#8^c9&*p%+^@TO_3B?!r%rXq&CT6*G2_V}^Xvl>IhmP1lk@W4u_!cc z(9Ze7dLo9EiShoud-rr(gzvX_q`fh zlA@a6ZB4Mxngz_{`k(9B+S+nWcP(&caW*k4)eyOK?%X-IhfdC=rCY`1e*1GUE=fvC zI&}Z?T( z!XdRuflr@3du8CZcMp@M_6d=$l&*`%J#c=?`A|t-@f_n+cx3u z_uX*{ov{t}i_99%)>l+$R5You{1FngoVjR`60gULhnIZj@TA>IK5Wx@AxB_;X-XM3r2cXvO0_wHTt`s?2QH(Z5yRIOXyI&~E^`y`~NKM(V3l6d!a)d{^W>BEtc zk#-X-(`_E@)4ef&(caeA-=m_VWu2X!>)u@1|LlSrNZgaz20lY;G|#CSvlu1#;UwS+Z|$H2Yf6YRWu&_UtRo0sm~b zyl9r|Y9nt`aO>G`wca(RP2hpef##>zkmOp|G#pR;|wh}Hny6{lP8Oq z|EHkoUiUA}mO{C;o}C7nN-C^;IGiHjRyA^%}!oH2q&)}Wgjh~OFN_})tGyb+B`1L~8qs|T& zcs-UV=3M$1Iia!8c0TiuhOpIN75=PqRGX4h=h4=(VP?PWRv}%TS8btN#O_~>QZZe) z!Q~P6XJwAi)l-&EKE>a8?|bC>m1;`drVsPg@}~VTN=s|dZ@)^0Uib{@3H{U$+b2;Mv?O1EHu+pTd1KcG8O-##e)2=%`$Zk1QoU;FnVFvKtxNfTtZ4WY-m%7JuHSJN z5!qe-3>;T(-I`@=Y59|F`xFlOsD^0=LcP?~-X;Gtv*Mcf_tJ?I9h+9K?hY*Vw<=~i zf0QGeH7sz6{lfL9pc3NCq+_6ue ziahJ;>LknJIa5so;y5oVFnl_iQsrbH78d69{MoZO=fsvTSrLH~=gwVwY}V|KFD(ou zk?!v9Vv{D++?jmNN8EXr218R%f4}zaTemV=`_?t>QGGdKQN@zus+LwyCe%E9_b%_W zpX z?djEpiM9Th7Hj8UVqkI1JJH_W&U%SaDaC5a<~^$e4CGU*yck$!&YE>9H#0M_IceGT z3sP&|bhPFi+#zn2c#2`>%$bu~TU!rp+O#RCVS_~2;U+GP@ZW#`?fLYnXrab39tZ6Z zt*H)Hw^p&uzB-BfM7B#vx4JNt_O(rHLDd*0d*-#?#cq2;?ivi0lrCRPqpH;3E z-x7QC=FJ^HAD?CkmivvSs}GZ;FYGu*S&LY7Hk ziV?%DzC6=TdeDx}ep}A3z%YWeqhS!Wb7LBZBEo=POU%&sLwquEUsPE6_y?gft`1_yN z^hl9TRTVuZrE*PiHN0+R1sU|Ao|>UmQhz0_IcfXC}HbJ9MU$lw9cy zOK3~_)?9l+@lP((%KHWk7vB4y6JEp^u&7pATKdk;hkifPf6SDzn6UMH-;_lb5%KZ- zd^|h>hIcnH|74i{r#Zkh>3d%DL4l45QghF8GWPZLIY}JonK5zS23x0t)h<19OX_-E zvrHUf#0x(#tu)(yJGbRi`;tv2M^r*h7?xN02jjRlJ0~VCen0WdhC|nFJmr*vd9Po;F1F+N z+;f`qr=>1f|L@A3J8Re-?BDhpRsTp8Pn_{iApr&k1_n=8KbLh*2~7Y>UA9~R diff --git a/Externals/android-menudrawer/samples/res/drawable-hdpi/menu_arrow_top.png b/Externals/android-menudrawer/samples/res/drawable-hdpi/menu_arrow_top.png deleted file mode 100644 index 41f6c6a8597f61331d20b2545f251d5e9e5f6a3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1483 zcmeAS@N?(olHy`uVBq!ia0y~yU@&4}V36QoV_;y|!LjZk0|Ns~v6E*A2L}g74M$1` z0|NtNage(c!@6@aFF}&&j=qiz3>*8o|0J?9FfecyctjR6Fo+xmVMfscUnd3z2FViF zh?3y^w370~qEv?R@^Zb*yzJuS#DY}4{G#;P?`)(P7+AGET^vIq+^>dvduw}2T-_rq z?7rU3chTe)3pT-$g(n)$ooeNFWVOQ+zISm+JN7cV?Iz_Hhind-ZDU^DpIowV^*(hG_Y}o7CTwze(%J zwBUk8D$!y$pHKNc`+>uUu2ZMHN;O1+UVp7Jb!Mu=6y1ES?;pQP)9dP(YKDItZ{4@Zop{go_u%Z=v)w29T-$fD%VU>(LXs`RUxozH zB$h0OQ@z>hPm*WOnX_fWi4!MIsHT*6mP<}_zM^dC6#j!TeuG9!@yD~fJ3Z! z@_(OyvF+Tsb4xWpZL7)K&@t$XhE1U*A$UktENp8yZz@+O`xYIXYtA4ox68? zfBpXb_x5eu_PnrJe&omtna8ufZ@>9VEm`UO-vw8*c52;ZYeEj^}oSZcd zD@B+-E>aQd-1G6{$MxLY+$x8wlqUT=;bCiM7nlBc_Ishq!~9|%hd3FUeQ((K79C~YV+*yV)gq9O3QzIdsQ-=r^RU%q^)8fWEfn~d zARd~Vn|p2N&YenA^8ZZGl-_@TzLbQ-hy1)eBctalj!%*LtNfGAsP;$PzDh@zNkPfU zi!VL?sBmbP)1QS#HFN3&mb4hgEL`L4>}+=8a05qb*YB%^KkDRCBxlW>`SH>1n1d?! z4V=!{&fjo^{Y_bQN_x6_<34fe^Z6YfL65?ig_7zt4&C2ipuWWOWTw%~oXwjzi@tsP z_E1~Ex=q`*iAl@I?BQZ-o+4VS?9scEebs{eKNF&UY+ZX+Sg@0&Y^@YSdY#92=A}n6 zZrsf?|LnZ-^wU$iJoy{!EiD)3=kfFNYnt|ZxScYOOW4i6O`z=Jom)0lCMok3yiDnx&`LxkrzZUSGO2Y4Pse(f{)&K9GM9bN1}ntdPgY zj=3?_iEiksSMS^G%QGYSfH*%3ljlQ|28Iv#c5%9W4}`}V!d$j!a_ z^hhI*tdOt`!+W(^-sV#@i*(5Zv?t*_;5s{LiC)l)4l_Th32e2d;0Y0{a3GF z|F6Z(HPe36_U+%@{r%6s?_fD^RDMR^;=GGRFVpiJ-f5x2N&(%B^;|cf*~fHDjOd(s yV_;yoa8)~#fq{Xg*vT`5gM)*kh9jke zfq{Xuz$3Dlfr0lr2s1iq%&uTyV2~_vjVKAuPb(=;EJ|f4FE7{2%*!rLPAo{(%P&fw z{mw>;fr06Vr;B5VN9WXOzW&02B5n7J-%nYzRO*uCE!VkWE~?uEFGs1c)Hfv_pSF~H zS`EvgSq?vbFm6ir_TZ5I*Vy8aaY2DwRWU(WA@{OJV#=E{GU7qXB^k$e+r6J$JpZI+ zdB@C$Uj-(5EWf-dLg!R~M#}p)Zz7(EI=G1RAOG8yXfq|qj9XDJEG&%aQ1*_+ix;nq z(Q98a<$SAvr|;!O8zXWeKMJuem~#4QyWRZvl7guW8r|L9?^^}(rI;8vVy{R0T&~e+ zd7-xGy0f!$V(j(%Ob)ROf}EkD?`JQQ3>8s5dd7C9kD8^0#f`YNJB1xwM0(x+G922L zTh92R*F{Nx`Lbn6L8tb=i%|_*YFK=ta1M*$*IzaJ!Z&Z;yfHvSCI8NO-Ja}BhIx!H z6c=4Na^%S66eG?2>$^)8N@DXFKg^i9o3VtShiA`=_wT>&F0E!Rh?Z)Y7os&)Mox}z zS8HRv$}Ugt_QSEp#>TT2-TAxG#q^C@ZeHHIiK|wXq)RpYh|kQE4XCdEU8~e(Sj@(| zynlgIMQFI{XiO&d<1_I7mn&amRln%_D2??7Pts5gOG@G4juU{P@9iKv6K4@kUf!+`ahdXk%N(f8ncMd+qjq zb>qg3z>N`Gq?uMtxElS>*IYBHkzV~ vz{BlOY&UM_)$E)e-c?47#KJUJR*x37@2+K5zTZ^Bx|Ec zbJ7$B!G(PCe9q^Mmu?JmJz6$t_VMce^7lKR->KG|=;6}pw9v8npum#MU#j2!KNV(q zn5;Iru&1~8ZBW_n*rI}h3#%_?l+^A2zcy}t{onP0Z{EDwGkeaQn#t#%Z~puDZ>pQx zWY5ZZ^#N=qo!E5FU$S7sHk7}vbJv8VB+xf0L$?=@85ST zu=1;Ao!G}`aOK{;c_pQ#p?O=Qs(=6bwTn%t|M+ab<;IhJ)a;d4`X?yV6ctSh(wf>n zd-iM_W*6P*r?1LLNUV6Qom_pyfTz5sMkgvVQjl38+i2#I?Wrl1l{@W>jVJ3&Kb`nw zd)pi54_l9JdXs21H*dlZkvCWD6B)WCT3512$VO~@lp&K=Y$0>rVX2qSK0C21GfzDK z9NKj7f%uV*L)Q)-V9PS-KJ=$C!iKRxYB%pA9)YN}VcJiMc8c|%v8ZR2-g+}j58oP_}yXV0B`w)kSkoD2NF8{^o9?6rrd7yNrG?=xqw$|s3l zx6GwMiG}|pf^KZ+TiiPT{Moa%GiS`0Ft^<8%l!HC|FX227L$pd) z{daw!&ssRyYG>y^bGC~s{S0!?=53FD`?ZRDqK8VM?B9IWM_pExjn>u@*Bo}*)VXhH zvwnGBw8KpMt(Bt#^O=@n(=`kR@rg72ewFh+%9+c<%d2Vd|2^{wTbA`nM+kwj%lwhbnQ}8nEP2xbP0l+XkKCwh|> diff --git a/Externals/android-menudrawer/samples/res/drawable-mdpi-v14/menu_arrow_right.png b/Externals/android-menudrawer/samples/res/drawable-mdpi-v14/menu_arrow_right.png deleted file mode 100644 index 21deedfcac7d3b13b0f4c25c7af3a59c83bff87a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 862 zcmeAS@N?(olHy`uVBq!ia0y~yU=UznU{K^>V_;yoa8)~#fq{Xg*vT`5gM)*kh9jke zfq{XsILO_JVcj{ImmtY>M_)$E)e-c?47#KJUJR*x37p(V?ey7c1@%nr}LbpC=$ug1oVm)-_H ziaJ)bByEj~-Tq%wC8T#VcWgvi`kepy^MBf(KcgYm>5?@4wCdaMzlD0;4o~w^o%VQ# zemrFEo-Rfn8lNHCapMb`DIDTwvFB@la@ChblALg ztEvQ(>}R9dXZJCmY2<%@DrJ*;gN;M9mWohYOP0~hdo0ZduM6y8yyJLX?bo}B96y&8 z86SB6eSgvJySD}2cr6W5w=vAx8l}1*G0vh#~Cb6mJ|g0?k%m8>vwr?5N((Q){>nFN%5BFsaJed~-7 zZ9hZ=MHn-#y#6Y9OGbY|)Y?rSEB;u!q;mKb)CaG=YX4!*!hXINU#ns)Wb%BMUpDTs zJtVYVvFYE>pFi`J)NV#fGa9~q@L<91mnB*f0{6NEvXF>@lO&iRIk5Y&D5UmA--~p)TQ#$Se?_0>TmO~ z$TK${h%O0JusQfgT&q{@Uo?BK+u`eP%WgA-K0F*g<)zcokBlb_|Hc33|HrW5>XJ*B Us`APh7#J8lUHx3vIVCg!0C4$#lmGw# diff --git a/Externals/android-menudrawer/samples/res/drawable-mdpi-v14/menu_arrow_top.png b/Externals/android-menudrawer/samples/res/drawable-mdpi-v14/menu_arrow_top.png deleted file mode 100644 index 1f5d61a278e0b804d6b9ab93fa7d90f9e1bbfbcd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 878 zcmeAS@N?(olHy`uVBq!ia0y~yU{GXWU=ZM7V_;yIaY!tkfq{Xg*vT`5gM)*kh9jke zfq{XsILO_JVcj{ImmtY>M_)$E)e-c?47#KJUJR*x37emPT2L3f|R9tDmAckayD5wz0g zcu;$$LjY?UXXF0lv?oPB*KgjuSxsKxoB)T%%BxwNbNrQFFg@W~A{xYbSM}O_#m5tt zPk0)mcfDcV*`-&mXefXBDzU|B;e>tK0S zxBIT$G!K=XIcC+ytNhuV?yR?;v&YGR`^hQ~m8efYYd*hz{d!Wpy}nqtX<1oW-JN^) z>KgOp3ph{AU;OKdV+Z@I{N~NuwWgku;bAjXo7^ck<$j9M&+6pl$BQC#x`mY3w@__R)u@+|O~eKg7N=ifTjk|*+pB~!eXp1XGKTB_1Sk3$n2WEM?X zS+zH=rBCMZx4)M^vo~e`b!YtYwdU6n?vFEm6}LXTq^`1cO5A#N`vsmRcbP6-Tl@dZ zmoG^Q0vC8!+lLEWQlCA0_DrXRAEr)WOSNF3X%`%0zH(VTu-m|+I{0qK;~ zqiLIU+YTpgc*$<25YCWfZffdkIrm(;y1M$K8aw}qtJ{}lZo8RtPlBh7t#`8y+f54w zlYo66Dr~%O-@cs|x_xA1LtFLCMrmVcTcM?AzpNZ96J+D(AC7$=+ mY<^RJD#a*o_uaZe_T@>ljGi{F*v-Jez~JfX=d#Wzp$Py6^@s)l diff --git a/Externals/android-menudrawer/samples/res/drawable-mdpi/ic_action_refresh_dark.png b/Externals/android-menudrawer/samples/res/drawable-mdpi/ic_action_refresh_dark.png deleted file mode 100644 index bd611e8e24d2e211a94d1658a49c823c4201716f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3033 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 C29#?6 diff --git a/Externals/android-menudrawer/samples/res/drawable-mdpi/ic_menu_moreoverflow_normal_holo_light.png b/Externals/android-menudrawer/samples/res/drawable-mdpi/ic_menu_moreoverflow_normal_holo_light.png deleted file mode 100644 index 01d681697f799729aa60bcc03878b8718ef5f705..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 131 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}UY;(FArXh)Uf;;epuofI zn7;hXk$^K(<{o0YprFFF|8z)r#5AG1Yv*$^Fyt}Jv@H9+Y8C^-4Tchi6KoFb3=9eE jFBlk#8R{7urbosd+I%o|6aRY#1_lOCS3j3^P62j=4^Zu$?-I8%GOURH6P2Ixipt-2v+6H2+a6>FTr8kVSe^IjBZavQ(u<8 SbYx&)VDNPHb6Mw<&;$Up(KLtv diff --git a/Externals/android-menudrawer/samples/res/drawable-mdpi/md__list_focused_holo.9.png b/Externals/android-menudrawer/samples/res/drawable-mdpi/md__list_focused_holo.9.png deleted file mode 100644 index 00f05d8c97e7963f23dc48a79ec0b09b88d52e20..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 171 zcmeAS@N?(olHy`uVBq!ia0y~yVBi2@4mJh`h9ms@x)~T4Sc;uILpV4%IBGajIv5xj zI14-?iy0WWJ3*My{N(Ai3=9muo-U3d5>tD79C;fY1elknGfSSZkgss!Fq+WV_wb)ql1{DGd2)`S!@o4yre V42YU?i-CcG!PC{xWt~$(697vjH7@`F diff --git a/Externals/android-menudrawer/samples/res/drawable-mdpi/md__list_longpressed_holo.9.png b/Externals/android-menudrawer/samples/res/drawable-mdpi/md__list_longpressed_holo.9.png deleted file mode 100644 index 3bf8e03623c94b68d31963ffe7e59c72c3dcc059..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 151 zcmeAS@N?(olHy`uVBq!ia0y~yVBi2@4mJh`h9ms@x)~T4Sc;uILpV4%IBGajIv5xj zI14-?iy0WWJ3*My{N(Ai3=9mGo-U3d5>t~CW>mH@a{g&g;+Rp{)+l(&A&`~*rP?u{ y2-OJ;!d(+BLt~6?){p=$oZ!|i46oEul1LdSlBa@C*nY4 z{!0_J9HA2poHspUxHx7V@R-QS6OjM!cw6swyHo~-e~lvMp^1B@GcYhPc)I$ztaD0e F0sv%bET{kg diff --git a/Externals/android-menudrawer/samples/res/drawable-mdpi/md__list_selector_disabled_holo_dark.9.png b/Externals/android-menudrawer/samples/res/drawable-mdpi/md__list_selector_disabled_holo_dark.9.png deleted file mode 100644 index 92da2f0dd3711a2ceb843768cafd6b91a2807b43..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 172 zcmeAS@N?(olHy`uVBq!ia0y~yVBlw9V9@4ZV_;xd{`yiD0|Ns~v6E*A2L}g74M$1` z0|NtRfk$L90|R#_2s4_WJiV5Ifx*wy#WBRA^X(Nwz6Jvx=fK_S?cLuuE2wB)SrHrY zMzcBIjXPlCc_xMX-vetUE~(DV72GQ%BO~+YLD7-48>!h%+l4_qV>5-@r@6U)Fa_Ti W^tiFeV_;yoa8)~#fq{Xg*vT`5gM)*kh9jke zfq{Xuz$3Dlfr0lr2s1iq%&uTyV2~_vjVKAuPb(=;EJ|f4FE7{2%*!rLPAo{(%P&fw z{mw>;fr06fr;B5VN9WdQzW&02B5n7J-*0jCR$byOeJo0|FC$0Tg~h!|T5MC%`AMQ} zADBHN91;%3XQUi$Tk?ZFVxy9S^C9=%T>(NuIUY+?eS=p_Id`T|ae~rP*`z(ME9cMo z{A6Bn`wU4xe!u*V?ccg{XXd0}2EoAS=-JC7bj&<8rCS7!pFVv$?xD$= z*SmHHX#7|@#lJz+1h5olh!c5SVN)i=+x;??}}V2y?gdd-R*6QU9LPY+dcpM*|V{n;jAHE z%oi9BC@d1+ym@o~?p?c{+`k{b+M(s}LpKJ&w0Eo*tZi)mD+uTgF?!)!ZKiY?v^pvBH!MhvoXhab#P@a2@yEL6t@_a`6yG{32rQ7k%y1-kY3S;P zTeok&7rN-2_Rdi@^E$)Dj1Wz+?z1jmL>#s!N?csIQgi-f1BQ;tlZ72!${ALixnpE( zy!hIrGTsMYt8&x+u_}1G%shGWWX{f*GM))DecG5C8)EgQ&+L%8^zzHz8oTv;JUkXf z3XBTVPe;bB->$OMgwbS4&`LMo%TY-iBkmT8|9P%8%Wl3t{{!g;72|wgAD^20_wH?b z#l+Asv$DMWdrwDSi$MI0%C~Rc;;>+-g@A`M%c zo13q^c#*Me+7<1~C(e|a&DO25nYSf#Ry4z;lPRA*fB8~!Q1HQ@8^3@5KF;v1BZK+C zu|I$QTz63lEMnQQ_R9aw!unb(mA+oSapT6k%voiz2P~h=x^ngE)wvZm`=YkDo(f~o zIGC_uX2&9@4mqWuu&}Tm50y{nExUp#GoL6PLM_)$E)e-c?47#KJUJR*x37*4Jcm8{h&<)y4D zHPua{qOxLVS#Ffn>VOqd`J0M&JfFAu`mOBs#R(E^iI-n)ah|l~$5C6m7WW-3=YQ1L zJ^k?EL&N>|@~6`_U;O>R(E=>K`f8SFgzc&jt#wx{Srj3-0jL6T!hnN&wZh?NMV6r^Qdb=|u{%3EZ&%y2 zckkUfvu54$SDP#!a3xw}f`z^Pc?q7j%OP5-AD=Yt+__WjSMc%Avg=jnJ$K#Ge)GnS zfQYqW2Oodb$Xn&1BDC`SnKLz7Q@uE^Z0~$^U*Y;Z1&-w(+?qc`x@g;LHaI>ku;5Wh zZr4hlQPo&sXKVX6Co%CL$Nn#8S*IFxcXvPi`t@u7fr|bLUe>Y)2W_UTQ<&(&5_Kb2 zXnIG1+GNk=7cdGluVj}8_Ox_vS5sFHzVh5pC1c*c z%T`hTzccKgF07f$Q4;!Sl2Yx@C-J}Tcm9!|_hQF`<%zq09@)EPOUkVI^Ys_}KUw#y zURkLAW2gN6nh7^}=BfYq%a^<;{C~ddqS~q$z3E)x>lh9k?^r&=T#-v*vfCT!-eW;( zlQZZ3&wIAl>i%Zg>t=s;`MbHhmoCz$Z@c8rRmdKI;Vst0E?)YkN^Mx diff --git a/Externals/android-menudrawer/samples/res/drawable-mdpi/menu_arrow_right.png b/Externals/android-menudrawer/samples/res/drawable-mdpi/menu_arrow_right.png deleted file mode 100644 index 3222d034e9d310f481d1dcded81587abfaa5ec5b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 855 zcmeAS@N?(olHy`uVBq!ia0y~yU=UznU{K^>V_;yoa8)~#fq{Xg*vT`5gM)*kh9jke zfq{XsILO_JVcj{ImmtY>M_)$E)e-c?47#KJUJR*x37FL*6;J@eV;kAT!f2-Y2nSBxYuR7m6is1F29^P zD{+SAt;*OCyZQGs%w}(IKm71-*4C=<<(EBMc2u}77EU#hx}Rw>i(SOkR=Crpzk2UH zq1-)+PA5{mmR{;Rn&kQLd5YECx}(O|v$pyf9%!ja4|bl|U$ysN@BR1nyicP8Hu=ul z67|+9@Wj+p_N+@Trx?xL6|*kMXr>L*3)_2>O?;Q>+R zTQKbz-@NS8%gR@J`YjKBRknM+LWVR~gzwys4|Y9%{4s(dzv$Xgd}%|&k)(|ZGJLBAD)`rHt=Mt({ddiK3`T1YCTwUvAiU`n<1gjur^NGmzL4Al-I7`>@x6)=YO7GqX#LAzEt}KA3YpeEHG_%gf&wHAA(g-mlP`BhJmB zcllZOoByjjmuUU2*(c=l`&inoJx!}c7F~Ry9@8GPOxO3Jo4PPxzdm34W8D*xK7m}H z?KfX~<{lH!a5*x2Yt-)ujn@sl8$8dQdiv>1QeyLjQ~v;muFSWz`(%Z M>FVdQ&MBb@0G}y+vH$=8 diff --git a/Externals/android-menudrawer/samples/res/drawable-mdpi/menu_arrow_top.png b/Externals/android-menudrawer/samples/res/drawable-mdpi/menu_arrow_top.png deleted file mode 100644 index cde43fd2b15284a1fb3657bc0a63a4eeeb683c5d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 835 zcmeAS@N?(olHy`uVBq!ia0y~yU{GXWU=ZM7V_;yIaY!tkfq{Xg*vT`5gM)*kh9jke zfq{XsILO_JVcj{ImmtY>M_)$E)e-c?47#KJUJR*x377&x;Tb-cyA58ofYLM()(OS z|LY{R44$~8HM0~VlGe=d+SqEhrS_V7e68Rgri1(!{006neB8O-E?Q;jR$Z=1U8WjN zy=o$>zvf-%i<%_#HDXp{;{2I6H($4^emhgpXZhvc(%B5W)huSSdtaAW_4ugG7U60Y zd?t|hx1p)@`x%Y`waK2h-j;1QtZR_iza;2o=+2mTO(!y9m9i%)Fo|`$Udh`o|EO60 zE?0nPmGA-AFU74+9~Xyc@m^CrG@FG%a&MfzTY;(re`4$gzZ zRQ#8h?XcSEO~*b~ym8xNKBHcegC%BVNS64~larPjp1o}KbE5s*!!x2?Qx?jYe|2Br zE_2+ru~to}vv2Xm7mfGdi~s*yt#G;DMJb-W`Jnomz0$pI@`?M`u9|G^d1v8&&ZeDP zqt@C^^mt<_!&eqqSG@C%g#=I7>#x7kf20V$E(x7`N6FAzn%Q=#P-jZH(aakhGJjci z+4miPY@M}r*1L|SYcFQ_I4`{5YBu}q;fWq8l5Lt_s`kD=n>M-cw!C%R5Q{wSk5*>myDoVbXF8qNvx z-4-X-*xgUFn=c-^I<#$`oXkT#zl;8>uii>OnzWJQ%r=Jv{_a}^7Bw>6N8c3f{Ig$R z#^j^74^`~Fr~4o_&1k04hIJS89hdBG^x-JAntSPK(anzxd-v9{z27Ow_fSypp>Uw% q#t4%KNhj|ae_Q*Z#eGN1f9U`rGrnLgjzR_o1_n=8KbLh*2~7a(qHb3J diff --git a/Externals/android-menudrawer/samples/res/drawable-xhdpi-v14/menu_arrow.png b/Externals/android-menudrawer/samples/res/drawable-xhdpi-v14/menu_arrow.png deleted file mode 100644 index 6bdcc62e1a554be900ba3fbc2784e88db70a160d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1735 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 Oz~JfX=d#Wzp$Py{jrd&v diff --git a/Externals/android-menudrawer/samples/res/drawable-xhdpi-v14/menu_arrow_right.png b/Externals/android-menudrawer/samples/res/drawable-xhdpi-v14/menu_arrow_right.png deleted file mode 100644 index 85591b81d5911d09543213e38f17ecfc58b0b726..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1669 zcmeAS@N?(olHy`uVBq!ia0y~yU{GLSU~uAKV_;w~bGx#Xfq{Xg*vT`5gM)*kh9jke zfq{XsILO_JVcj{ImmtY>M_)$E)e-c?47#KJUJR*x37^K&OFk_t5L>UGK2FViF zh?3y^w370~qEv?R@^Zb*yzJuS#DY}4{G#;P?`)(P7+9Zrx;TbpIG>I3_DBwwIOi-p z`AkpeNfkA_00C`{SPs2gt+SoNyR1tu=Pul$Ew7-}u|Vm^0&erX+r7I4j>Kk~=k2=W z8n{78!_G+Un8b0li+1*7VNd3 zTy^$$`|`Jp_FrXR${xJovv%#;XR~KZ7i&#b5^O%3c6!I%cW1tR`(~T>-rKe5L0VJ$ z;l%E%Sz8+%Bsr%{pT2zZ$t6LNku$AqY<#A7wY+@tiq?%)Ww3M`T{oB{CSGTjyVffCpgzb9c@88w(o((hR>Mh!xGT9(5CWfQ+_~VcJ zckSAxmY1KuSK*_SZtHQu2^@#G#1%xIW-kozaGd{8XQHCd!is+~e8;DsK7HDraRZn9 zx?_v2wp2B+zYyE;gm+C~V05(h7X@#Y|Gxr?i$9w?J3G()v4j2W|CSbc6&n#vj!+X5 z6A$61>dG(QzyH5&^XAQr5ArW&Wv~h@3|+umZZ)@#)jJ}k^OG=>#KOv=qED+|y~+~$ zFp1>=D`&^W_WJUqE~}JIqt*Hwe?*9ji|=o^znbCA;S<@JoI4gwGjYd8Ph z%#Vv^L`6ltdHnb>OW9$jS#qx&)EvH_5PDj_YUl3Vw;R7U=3Q{{48PLcViNdlj$dse`;qG{76RlYo%^aX+s5IG0 z?5R^&sypwm4Az${CV@(^$v@Kg9V?Oh%TrADapS%4iyYxk3 z=ZRGgZBwT=N0us06bKFTOeV4nitQg(JWOW%UM%pWv=2}d=qW9a1H5FoU8 z`Ol-rrkij(l+2ttQ?jY}3yX?{yZjQ<1?}H=?6bDEu9n$r!W~fJ5vI(rlg)!e-tO^< z#Jt3+H_k^B{<#=PTsa_L9$pgdAS`>Tv`df0fzfY&^4;b4lV=nas%(thUREMpp=EXT z&Y>>~PP{RRH<#X@x_9s1HNU-faoC8$+oK#?7j` z^?Aub0nCNc7?RNUvt zmt9H?r&KKs3_h42THR65lXLS>ww-qDK^6fUBVl3T`bR3QCt1(d^KoDJvixVu^_T|B z^n<5Poyw1njy_%y_@pGO#X2=;rhkR*lmm}v3jY7_;K2ianTS7q-g$1Hj(_Poc~sL$ z`|)qn4wWlgw3Hv8dGWt6gLQxVv}x1odX6Rq{+PM5X2RlQ#k&;FFg07w<++%8xuK|} z&YHrdWjA5AI~~os_3&ddxF=VDVIfGeSZF4y0GN8v%C9oeTFS7L)VDz6541b3=9kmp00i_>zopr0P`{SegFUf diff --git a/Externals/android-menudrawer/samples/res/drawable-xhdpi-v14/menu_arrow_top.png b/Externals/android-menudrawer/samples/res/drawable-xhdpi-v14/menu_arrow_top.png deleted file mode 100644 index b81c74749dd04192b11d99990800287fa089c693..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1654 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 Kb6Mw<&;$TAn;@+K diff --git a/Externals/android-menudrawer/samples/res/drawable-xhdpi/ic_action_select_all_dark.png b/Externals/android-menudrawer/samples/res/drawable-xhdpi/ic_action_select_all_dark.png deleted file mode 100644 index f193a8bb3189d555e19da136c81a892e879c67fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2856 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 diff --git a/Externals/android-menudrawer/samples/res/drawable-xhdpi/md__list_focused_holo.9.png b/Externals/android-menudrawer/samples/res/drawable-xhdpi/md__list_focused_holo.9.png deleted file mode 100644 index b545f8e57871c0a11cfeddb22bbd9d7f5014959b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 203 zcmeAS@N?(olHy`uVBq!ia0y~yVBiB`4mJh`26+$Niwq15EX7WqAsieW95oy%9SjT% zoCO|{#S9GGogmC;e)9BM1_p*)PZ!4!jfs0F-sWsD;BkFFHSeKB-$mOyp5I?c^gWch z-rv=K-D=*+w0EX1GeE8VNeS)9kfz`)??>gTe~DWM4f D`hiDf diff --git a/Externals/android-menudrawer/samples/res/drawable-xhdpi/md__list_longpressed_holo.9.png b/Externals/android-menudrawer/samples/res/drawable-xhdpi/md__list_longpressed_holo.9.png deleted file mode 100644 index eda10e6123e1e1383c4617228ec0c96680d60dc7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 158 zcmeAS@N?(olHy`uVBq!ia0y~yVBiB`4mJh`26+$Niwq15EX7WqAsieW95oy%9SjT% zoCO|{#S9GGogmC;e)9BM1_lNPPZ!4!jfu$#Gb-B{xqtMx1s*(O%+nLV7IxRdaaX6I zu&3070|zpWe6d-ZyJWwc+pgOl@x443T>9p%`1p8cx&%YrImy|zOvgZGF?hQAxvXAU4v`k0wQc51@BcG% b)7iI)2+hklcKQwj0|SGntDnm{r-UW|a&$z} diff --git a/Externals/android-menudrawer/samples/res/drawable-xhdpi/menu_arrow.png b/Externals/android-menudrawer/samples/res/drawable-xhdpi/menu_arrow.png deleted file mode 100644 index b15993723728c411ebcd61a16d4fbd718ee432d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1723 zcmeAS@N?(olHy`uVBq!ia0y~yU{GLSU~uAKV_;w~bGx#Xfq{Xg*vT`5gM)*kh9jke zfq{Xuz$3DlfkApb2s6e>O_X6^V2~_vjVKAuPb(=;EJ|f4FE7{2%*!rLPAo{(%P&fw z{mw>;fq~7!)5S3)qw(&njrqc!BFFZdZ?>L&gR`(8=Xl>_ZUGCH7fU*nu7=9|XAn|f z72G5e7~|^h$;Gm0R~wV7lE?KUPKzE&={YU3UJhCzZWnWe1R-^V9H-mYeY?D4>P&m(;qd#m=oQ=9B*KL7md1FS!q!?i?@ zZ(0+l)a9WmD!9>bnV(B^)a$qA`S<>aWN?)g*L`~v8L1&6qv&#F(;7y_BMsMXF)mm- zMZVYY&!3;4J&zaGar!jyTkPDoZ{3n9f|^ek7^)pS6x68 z)uOF_Ce8hf9md8pZk~HuWdDwh-{pW_$>Yb5rx`9gUV67q^XUWurL$*}8Qd6o7(P6E z_Uzm|%i?EE|NsB@Y>?kowRc_C)+l+wqcbaKbhvH&{6&&sueg3(h_SKp{r4XWBiQ~_ z`l|@}sR+Hi9>vcnVR~#1g8^fLj6+gN%97_VFE3ALV`rZmX5TK=Si7Km$2w`{MIy%O zof$nHo6gJ$@;WMKQ(>?x{)01j#x1!Q9U6zvEM{<G+QNa zrRdUsZP)yn?HwAubLaFkdN51OnmN-mZeNY%t!we-JU0+EO3EK(PZe4Ar<5rur@Kzqh}> z{zLJ>Mn1_GELIGWN?w{v*`7at-Y(S1Qu=7OG{FL zU~X$WcSq6FQ~NHzb@=~Q;f>I)hcSBB1MmGUd%z*Xv@2r!!A52Y4&hyWEGD`lFTSy4 z{#DF*@$JZG=O3yIvbXvxe^|O8+jO<+juRloAI#e2V1ZkPs+spHF?F!q>aNx6zql=iJCc|E*4!g8IrjC0% zi`5M+EhTT6?R!1TK!kByuJr9~(r4Z<-7q_rBXm)$VXd@z-jr$6r%NYtJ@8OjB;DKQ z?Gk+^hV{ceiOqZq-t5XNEi2m=qczpZ^7KT8fR!O93S~CsMjLEqP-qqCnklPPWM*#u z_UY5q*O!)h?@jb^W@_+JV`j)OkkJ6`~ zd-6=A)}=Y6tWeiFzsh;}XoOMH9Ph{#d(X_bBQPWR7EqZ!wZM3~~ za+iaH@`mhx&g+~OUQll7&{}F|s@Lhkt!O8eyz2Zs+uz^5yu7@>_UpB`|JPUE)mr5H mJ5G7cx7zNGZSn?xxZg*%#t2WSl44+BVDNPHb6Mw<&;$T11Nl?{ diff --git a/Externals/android-menudrawer/samples/res/drawable-xhdpi/menu_arrow_bottom.png b/Externals/android-menudrawer/samples/res/drawable-xhdpi/menu_arrow_bottom.png deleted file mode 100644 index 77a088fdce593e8698eb371931b06957bf719e71..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1592 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 E0Nls_Y5)KL diff --git a/Externals/android-menudrawer/samples/res/drawable-xhdpi/menu_arrow_top.png b/Externals/android-menudrawer/samples/res/drawable-xhdpi/menu_arrow_top.png deleted file mode 100644 index 2c2f7490089673f30609b955d561e52e18676584..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1581 zcmeAS@N?(olHy`uVBq!ia0y~yU~pn!U{K&-V_;xdma%Rp0|Ns~v6E*A2L}g74M$1` z0|NtNage(c!@6@aFF}&&j=qiz3>*8o|0J?9FfecyctjR6Fi5WlVa7PAi82ff43Z_T z5hcO-X(i=}MX3zs<>h*rdD+Fui3O>8`9P)#3;B?Tydh?e6Mp2WJ+Xg06KBx!i1UR{}<~SZy>61;) zdD9TTDfPXjROazQkFZYFiH^qNv7X_N=H1_Wf8)F5->UZBOM7;$&-Z7&*qf`nZn2gv zJI4Iw^p(D?v%mhI#Sp>9&aT_)bTDdV2*;AMdE2kY=uIyvE_N2kGUV;hR1o2isb$*m ztjKcr;fDe_X0sUt%vfDSXGiEwcU^xyno+=$@zBY{A8!m~T$EcfOtRW5+EqODGKx1p z*tMXgsiSJ%(X6dv3`=FYk7}hIG!SuNX316&+W7cJ3%z5H3lBYbV^ESN!L;Ziznh!en)32;rk0%#nD;vdFgP6!_{#P*Z_alC zmUFg=<^9$64`YPBnjCs&d`{eH;e?9H%9U+hiu)E?cN`0lkdSatIbrue%yr^o`6FND zrf9IZDOeo&puo|_a_;WK7@6lu8k}?dIGZN09yjRj>3PAF`6YRS#P@Ya68Ke?|K>Fl@C8NYD;7OH7BDB%~q>tN!< z(SG=k>x%}>vPU%x&&1tqxfoe4wAbpVv%B5izIU&zO6%3DS4GlzZIxO-2?}sLW`5WE z@SaNFGMpfQK@;JkTq|L@(4OUTLb`S)|r zjvXuXbaj^sce=PW9=s5c?#5%R-1z*C^iyfw#tV+|Q&WzP#`SXCAj z1jI#0FV44lAY`kw?i`PD&Es~5Eic&beqdfL#*rocqmAYM4)eq2Ce0Ua^KW4?JZ)~$ zXmE;u%OQiq=KsW7BS*{5#?Tir8b+ZMMh#c=(-ptiIrkNKyp35n%9&f_&G$W=B$<0}(VoM+%r{P- zetz`m(GL$FF8m+f=&<4q_wOV7J_fwh{{5#cy_!+Htk;}l^xwRB^JU$dH6@GI-fO<~>GO@{D_3f|*VpfV{NqQ&krSVT8-M+6 zsj~bfRHQnG^J>sa6<%K6s~@=Hr#mWa)k~l3utvC-DMRLvFAt;T`i@6$-@g6Y^yBu) zlb)uFuM{2ctzxM0n=x-*+1xpEp2*3|Usd7T9K{mAxPfa+m&6S%J9&?rIos4OYl(IL zxsc?{%qSw;aG`P0y2;wc#>R&(UcC6>#fufESDbtOH|E>a+O+$c^Ug0<%UbM~wKOg3 zx$3`-RW@?(B&B3;SQ{$K%uqCwdim_xvlG95{Sw*dWINyCLUd!_`C_ZN+iu>xX*d7; zbQ@dSzwEP$W^m4De9YN;@{y3@)6YMpj9tv?Dij%>NiZJn-m5Rb@k5ZSo{yjZ|GMP+ zac=^{!^7*(pFR6`s^4G8@9YQCvixeXWo>9;=GCFgd4)rEn9fx*+&&t;ucLK6T#@X3|{ diff --git a/Externals/android-menudrawer/samples/res/drawable/md__list_selector_background_transition_holo_dark.xml b/Externals/android-menudrawer/samples/res/drawable/md__list_selector_background_transition_holo_dark.xml deleted file mode 100644 index 1d43396d8a..0000000000 --- a/Externals/android-menudrawer/samples/res/drawable/md__list_selector_background_transition_holo_dark.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - diff --git a/Externals/android-menudrawer/samples/res/drawable/md__list_selector_holo_dark.xml b/Externals/android-menudrawer/samples/res/drawable/md__list_selector_holo_dark.xml deleted file mode 100644 index bd71aa8b6e..0000000000 --- a/Externals/android-menudrawer/samples/res/drawable/md__list_selector_holo_dark.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - - - - - - - diff --git a/Externals/android-menudrawer/samples/res/layout/activity_bottommenu.xml b/Externals/android-menudrawer/samples/res/layout/activity_bottommenu.xml deleted file mode 100644 index ee576195e2..0000000000 --- a/Externals/android-menudrawer/samples/res/layout/activity_bottommenu.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - diff --git a/Externals/android-menudrawer/samples/res/layout/activity_contentsample.xml b/Externals/android-menudrawer/samples/res/layout/activity_contentsample.xml deleted file mode 100644 index 54140e71e7..0000000000 --- a/Externals/android-menudrawer/samples/res/layout/activity_contentsample.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - diff --git a/Externals/android-menudrawer/samples/res/layout/activity_layoutsample.xml b/Externals/android-menudrawer/samples/res/layout/activity_layoutsample.xml deleted file mode 100644 index 83684116b4..0000000000 --- a/Externals/android-menudrawer/samples/res/layout/activity_layoutsample.xml +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/Externals/android-menudrawer/samples/res/layout/activity_rightmenu.xml b/Externals/android-menudrawer/samples/res/layout/activity_rightmenu.xml deleted file mode 100644 index ad1a6b7601..0000000000 --- a/Externals/android-menudrawer/samples/res/layout/activity_rightmenu.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - diff --git a/Externals/android-menudrawer/samples/res/layout/activity_staticsample.xml b/Externals/android-menudrawer/samples/res/layout/activity_staticsample.xml deleted file mode 100644 index e6cb5622c7..0000000000 --- a/Externals/android-menudrawer/samples/res/layout/activity_staticsample.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - diff --git a/Externals/android-menudrawer/samples/res/layout/activity_topmenu.xml b/Externals/android-menudrawer/samples/res/layout/activity_topmenu.xml deleted file mode 100644 index d288cfa5aa..0000000000 --- a/Externals/android-menudrawer/samples/res/layout/activity_topmenu.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/Externals/android-menudrawer/samples/res/layout/activity_viewpagersample.xml b/Externals/android-menudrawer/samples/res/layout/activity_viewpagersample.xml deleted file mode 100644 index 6efa747ebe..0000000000 --- a/Externals/android-menudrawer/samples/res/layout/activity_viewpagersample.xml +++ /dev/null @@ -1,5 +0,0 @@ - - \ No newline at end of file diff --git a/Externals/android-menudrawer/samples/res/layout/activity_windowsample.xml b/Externals/android-menudrawer/samples/res/layout/activity_windowsample.xml deleted file mode 100644 index a23003f22b..0000000000 --- a/Externals/android-menudrawer/samples/res/layout/activity_windowsample.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - diff --git a/Externals/android-menudrawer/samples/res/layout/list_row_sample.xml b/Externals/android-menudrawer/samples/res/layout/list_row_sample.xml deleted file mode 100644 index edd6d1f67a..0000000000 --- a/Externals/android-menudrawer/samples/res/layout/list_row_sample.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - diff --git a/Externals/android-menudrawer/samples/res/layout/main.xml b/Externals/android-menudrawer/samples/res/layout/main.xml deleted file mode 100644 index 6dd71bd26a..0000000000 --- a/Externals/android-menudrawer/samples/res/layout/main.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - -