From 180aabe2db6ce8d37d584c02a7c1c72d12c6182d Mon Sep 17 00:00:00 2001 From: bunnei Date: Wed, 17 Jul 2019 20:00:17 -0400 Subject: [PATCH] (jroweboy) Remove existing code in src/android Move src/citra_android to src/android/app/src/main/jni Disable gdbstub breakpoints on android (could be done better) Disable LOD_BIAS for GLES (not support on gles) --- src/CMakeLists.txt | 8 +- src/android/.gitignore | 65 +- src/android/app/CMakeLists.txt | 44 + .../ExampleInstrumentedTest.java | 4 +- src/android/app/src/main/AndroidManifest.xml | 72 +- src/android/app/src/main/cpp/CMakeLists.txt | 16 - src/android/app/src/main/cpp/logging/log.cpp | 15 - .../src/main/cpp/logging/logcat_backend.cpp | 38 - .../app/src/main/cpp/logging/logcat_backend.h | 22 - .../app/src/main/cpp/native_interface.cpp | 22 - .../app/src/main/cpp/native_interface.h | 16 - .../src/main/cpp/ui/main/main_activity.cpp | 31 - src/android/app/src/main/ic_citra-web.png | Bin 44326 -> 0 bytes .../citra_android/DolphinApplication.java | 23 + .../citra/citra_android/NativeLibrary.java | 428 +++++++++ .../activities/CustomFilePickerActivity.java | 29 + .../activities/EmulationActivity.java | 649 +++++++++++++ .../citra_android/adapters/GameAdapter.java | 251 +++++ .../adapters/GameRowPresenter.java | 73 ++ .../adapters/SettingsRowPresenter.java | 46 + .../dialogs/GameDetailsDialog.java | 97 ++ .../dialogs/MotionAlertDialog.java | 174 ++++ .../fragments/CustomFilePickerFragment.java | 22 + .../fragments/EmulationFragment.java | 491 ++++++++++ .../citra_android/fragments/MenuFragment.java | 78 ++ .../org/citra/citra_android/model/Game.java | 96 ++ .../citra_android/model/GameDatabase.java | 292 ++++++ .../citra_android/model/GameProvider.java | 155 +++ .../citra_android/model/TvSettingsItem.java | 30 + .../model/settings/FloatSetting.java | 28 + .../model/settings/IntSetting.java | 28 + .../citra_android/model/settings/Setting.java | 57 ++ .../model/settings/SettingSection.java | 55 ++ .../model/settings/StringSetting.java | 28 + .../model/settings/view/CheckBoxSetting.java | 56 ++ .../model/settings/view/DateTimeSetting.java | 41 + .../model/settings/view/HeaderSetting.java | 17 + .../settings/view/InputBindingSetting.java | 52 + .../model/settings/view/SettingsItem.java | 115 +++ .../settings/view/SingleChoiceSetting.java | 73 ++ .../model/settings/view/SliderSetting.java | 119 +++ .../model/settings/view/SubmenuSetting.java | 25 + .../citra_android/overlay/InputOverlay.java | 907 ++++++++++++++++++ .../overlay/InputOverlayDrawableButton.java | 137 +++ .../overlay/InputOverlayDrawableDpad.java | 206 ++++ .../overlay/InputOverlayDrawableJoystick.java | 264 +++++ .../DirectoryInitializationService.java | 233 +++++ .../services/USBPermService.java | 19 + .../ui/DividerItemDecoration.java | 157 +++ .../ui/NVidiaShieldWorkaroundView.java | 25 + .../ui/input/gamecube/ControllerFragment.java | 6 + .../gamecube/ControllerFragmentPresenter.java | 6 + .../gamecube/ControllerFragmentView.java | 6 + .../ui/main/CustomTitleView.java | 82 ++ .../citra_android/ui/main/MainActivity.java | 213 ++++ .../citra_android/ui/main/MainPresenter.java | 90 ++ .../citra/citra_android/ui/main/MainView.java | 45 + .../citra_android/ui/main/TvMainActivity.java | 269 ++++++ .../ui/platform/PlatformGamesFragment.java | 88 ++ .../ui/platform/PlatformGamesPresenter.java | 47 + .../ui/platform/PlatformGamesView.java | 38 + .../ui/settings/SettingsActivity.java | 266 +++++ .../settings/SettingsActivityPresenter.java | 220 +++++ .../ui/settings/SettingsActivityView.java | 140 +++ .../ui/settings/SettingsAdapter.java | 402 ++++++++ .../ui/settings/SettingsFragment.java | 189 ++++ .../settings/SettingsFragmentPresenter.java | 297 ++++++ .../ui/settings/SettingsFragmentView.java | 104 ++ .../ui/settings/SettingsFrameLayout.java | 56 ++ .../viewholder/CheckBoxSettingViewHolder.java | 56 ++ .../viewholder/DateTimeViewHolder.java | 49 + .../settings/viewholder/HeaderViewHolder.java | 37 + .../InputBindingSettingViewHolder.java | 53 + .../viewholder/SettingViewHolder.java | 51 + .../viewholder/SingleChoiceViewHolder.java | 48 + .../settings/viewholder/SliderViewHolder.java | 49 + .../viewholder/SubmenuViewHolder.java | 48 + .../utils/AddDirectoryHelper.java | 44 + .../citra/citra_android/utils/Animations.java | 29 + .../utils/ControllerMappingHelper.java | 83 ++ .../utils/DirectoryStateReceiver.java | 28 + .../citra/citra_android/utils/EGLHelper.java | 389 ++++++++ .../utils/FileBrowserHelper.java | 59 ++ .../utils/GameBannerRequestHandler.java | 30 + .../citra_android/utils/Java_GCAdapter.java | 161 ++++ .../org/citra/citra_android/utils/Log.java | 53 + .../utils/PermissionsHandler.java | 72 ++ .../citra_android/utils/PicassoUtils.java | 50 + .../citra_android/utils/SettingsFile.java | 301 ++++++ .../citra_android/utils/StartupHandler.java | 31 + .../viewholders/GameViewHolder.java | 40 + .../viewholders/TvGameViewHolder.java | 37 + .../viewholders/TvSettingsViewHolder.java | 22 + .../org/citra_emu/citra/CitraApplication.java | 13 - .../main/java/org/citra_emu/citra/LOG.java | 41 - .../citra_emu/citra/ui/main/MainActivity.java | 58 -- .../org/citra_emu/citra/utils/FileUtil.java | 19 - .../citra_emu/citra/utils/PermissionUtil.java | 32 - .../app/src/main}/jni/CMakeLists.txt | 0 .../app/src/main}/jni/button_manager.cpp | 2 +- .../app/src/main}/jni/button_manager.h | 0 .../app/src/main}/jni/config.cpp | 6 +- .../app/src/main}/jni/config.h | 0 .../app/src/main}/jni/default_ini.h | 0 .../src/main}/jni/emu_window/emu_window.cpp | 6 +- .../app/src/main}/jni/emu_window/emu_window.h | 2 +- .../app/src/main}/jni/game_info.cpp | 2 +- .../app/src/main}/jni/game_info.h | 0 .../app/src/main}/jni/native.cpp | 11 +- .../app/src/main}/jni/native.h | 0 .../src/main}/jni/ndk_helper/CMakeLists.txt | 0 .../src/main}/jni/ndk_helper/GLContext.cpp | 0 .../app/src/main}/jni/ndk_helper/GLContext.h | 0 .../app/src/main}/jni/ndk_helper/gl3stub.c | 0 .../app/src/main}/jni/ndk_helper/gl3stub.cpp | 0 .../app/src/main}/jni/ndk_helper/gl3stub.h | 0 .../main/res/animator/button_elevation.xml | 22 + .../res/animator/menu_slide_in_from_left.xml | 20 + .../res/animator/menu_slide_in_from_right.xml | 20 + .../res/animator/menu_slide_out_to_left.xml | 21 + .../res/animator/menu_slide_out_to_right.xml | 21 + .../src/main/res/animator/settings_enter.xml | 28 + .../src/main/res/animator/settings_exit.xml | 28 + .../main/res/animator/settings_pop_enter.xml | 28 + .../main/res/animator/setttings_pop_exit.xml | 27 + .../src/main/res/color/button_text_color.xml | 9 + .../src/main/res/drawable-hdpi/button_a.png | Bin 0 -> 7081 bytes .../res/drawable-hdpi/button_a_pressed.png | Bin 0 -> 7019 bytes .../src/main/res/drawable-hdpi/button_b.png | Bin 0 -> 6671 bytes .../res/drawable-hdpi/button_b_pressed.png | Bin 0 -> 6636 bytes .../main/res/drawable-hdpi/button_home.png | Bin 0 -> 7842 bytes .../res/drawable-hdpi/button_home_pressed.png | Bin 0 -> 8127 bytes .../src/main/res/drawable-hdpi/button_l.png | Bin 0 -> 2324 bytes .../res/drawable-hdpi/button_l_pressed.png | Bin 0 -> 2279 bytes .../src/main/res/drawable-hdpi/button_r.png | Bin 0 -> 2842 bytes .../res/drawable-hdpi/button_r_pressed.png | Bin 0 -> 2756 bytes .../main/res/drawable-hdpi/button_select.png | Bin 0 -> 7646 bytes .../drawable-hdpi/button_select_pressed.png | Bin 0 -> 5882 bytes .../main/res/drawable-hdpi/button_start.png | Bin 0 -> 8549 bytes .../drawable-hdpi/button_start_pressed.png | Bin 0 -> 8250 bytes .../src/main/res/drawable-hdpi/button_x.png | Bin 0 -> 7042 bytes .../res/drawable-hdpi/button_x_pressed.png | Bin 0 -> 7073 bytes .../src/main/res/drawable-hdpi/button_y.png | Bin 0 -> 6953 bytes .../res/drawable-hdpi/button_y_pressed.png | Bin 0 -> 6953 bytes .../src/main/res/drawable-hdpi/button_zl.png | Bin 0 -> 4308 bytes .../res/drawable-hdpi/button_zl_pressed.png | Bin 0 -> 4284 bytes .../src/main/res/drawable-hdpi/button_zr.png | Bin 0 -> 4696 bytes .../res/drawable-hdpi/button_zr_pressed.png | Bin 0 -> 4617 bytes .../app/src/main/res/drawable-hdpi/dpad.png | Bin 0 -> 2831 bytes .../dpad_pressed_one_direction.png | Bin 0 -> 3876 bytes .../dpad_pressed_two_directions.png | Bin 0 -> 4368 bytes .../app/src/main/res/drawable-hdpi/ic_add.png | Bin 0 -> 132 bytes .../src/main/res/drawable-hdpi/ic_company.png | Bin 0 -> 183 bytes .../src/main/res/drawable-hdpi/ic_country.png | Bin 0 -> 917 bytes .../main/res/drawable-hdpi/ic_launcher.png | Bin 0 -> 2037 bytes .../src/main/res/drawable-hdpi/ic_play.png | Bin 0 -> 194 bytes .../src/main/res/drawable-hdpi/ic_refresh.png | Bin 0 -> 382 bytes .../res/drawable-hdpi/ic_settings_core.png | Bin 0 -> 228 bytes .../app/src/main/res/drawable-hdpi/stick.png | Bin 0 -> 6641 bytes .../res/drawable-hdpi/stick_c_pressed.png | Bin 0 -> 6579 bytes .../src/main/res/drawable-hdpi/stick_main.png | Bin 0 -> 10330 bytes .../res/drawable-hdpi/stick_main_pressed.png | Bin 0 -> 10102 bytes .../res/drawable-hdpi/stick_main_range.png | Bin 0 -> 8003 bytes .../main/res/drawable-mdpi/ic_quickload.png | Bin 0 -> 256 bytes .../main/res/drawable-mdpi/ic_quicksave.png | Bin 0 -> 174 bytes .../main/res/drawable-mdpi/ic_screenshot.png | Bin 0 -> 236 bytes .../src/main/res/drawable-xhdpi/button_a.png | Bin 0 -> 9766 bytes .../res/drawable-xhdpi/button_a_pressed.png | Bin 0 -> 9638 bytes .../src/main/res/drawable-xhdpi/button_b.png | Bin 0 -> 9267 bytes .../res/drawable-xhdpi/button_b_pressed.png | Bin 0 -> 9138 bytes .../main/res/drawable-xhdpi/button_home.png | Bin 0 -> 10706 bytes .../drawable-xhdpi/button_home_pressed.png | Bin 0 -> 11152 bytes .../src/main/res/drawable-xhdpi/button_l.png | Bin 0 -> 3266 bytes .../res/drawable-xhdpi/button_l_pressed.png | Bin 0 -> 3139 bytes .../src/main/res/drawable-xhdpi/button_r.png | Bin 0 -> 3928 bytes .../res/drawable-xhdpi/button_r_pressed.png | Bin 0 -> 3770 bytes .../main/res/drawable-xhdpi/button_select.png | Bin 0 -> 9514 bytes .../drawable-xhdpi/button_select_pressed.png | Bin 0 -> 7575 bytes .../main/res/drawable-xhdpi/button_start.png | Bin 0 -> 11639 bytes .../drawable-xhdpi/button_start_pressed.png | Bin 0 -> 11368 bytes .../src/main/res/drawable-xhdpi/button_x.png | Bin 0 -> 9595 bytes .../res/drawable-xhdpi/button_x_pressed.png | Bin 0 -> 9514 bytes .../src/main/res/drawable-xhdpi/button_y.png | Bin 0 -> 9654 bytes .../res/drawable-xhdpi/button_y_pressed.png | Bin 0 -> 9559 bytes .../src/main/res/drawable-xhdpi/button_zl.png | Bin 0 -> 5989 bytes .../res/drawable-xhdpi/button_zl_pressed.png | Bin 0 -> 5741 bytes .../src/main/res/drawable-xhdpi/button_zr.png | Bin 0 -> 6498 bytes .../res/drawable-xhdpi/button_zr_pressed.png | Bin 0 -> 6280 bytes .../app/src/main/res/drawable-xhdpi/dpad.png | Bin 0 -> 3975 bytes .../dpad_pressed_one_direction.png | Bin 0 -> 5911 bytes .../dpad_pressed_two_directions.png | Bin 0 -> 6761 bytes .../src/main/res/drawable-xhdpi/ic_add.png | Bin 0 -> 114 bytes .../src/main/res/drawable-xhdpi/ic_citra.png | Bin 0 -> 11816 bytes .../main/res/drawable-xhdpi/ic_company.png | Bin 0 -> 136 bytes .../main/res/drawable-xhdpi/ic_country.png | Bin 0 -> 1220 bytes .../main/res/drawable-xhdpi/ic_launcher.png | Bin 0 -> 2692 bytes .../src/main/res/drawable-xhdpi/ic_play.png | Bin 0 -> 214 bytes .../main/res/drawable-xhdpi/ic_refresh.png | Bin 0 -> 499 bytes .../res/drawable-xhdpi/ic_settings_core.png | Bin 0 -> 190 bytes .../src/main/res/drawable-xhdpi/stick_c.png | Bin 0 -> 9224 bytes .../res/drawable-xhdpi/stick_c_pressed.png | Bin 0 -> 9117 bytes .../main/res/drawable-xhdpi/stick_main.png | Bin 0 -> 14460 bytes .../res/drawable-xhdpi/stick_main_pressed.png | Bin 0 -> 14164 bytes .../res/drawable-xhdpi/stick_main_range.png | Bin 0 -> 12885 bytes .../src/main/res/drawable-xxhdpi/button_a.png | Bin 0 -> 16215 bytes .../res/drawable-xxhdpi/button_a_pressed.png | Bin 0 -> 16083 bytes .../src/main/res/drawable-xxhdpi/button_b.png | Bin 0 -> 15469 bytes .../res/drawable-xxhdpi/button_b_pressed.png | Bin 0 -> 15230 bytes .../main/res/drawable-xxhdpi/button_home.png | Bin 0 -> 17167 bytes .../drawable-xxhdpi/button_home_pressed.png | Bin 0 -> 18065 bytes .../src/main/res/drawable-xxhdpi/button_l.png | Bin 0 -> 5261 bytes .../res/drawable-xxhdpi/button_l_pressed.png | Bin 0 -> 5158 bytes .../src/main/res/drawable-xxhdpi/button_r.png | Bin 0 -> 6300 bytes .../res/drawable-xxhdpi/button_r_pressed.png | Bin 0 -> 6186 bytes .../res/drawable-xxhdpi/button_select.png | Bin 0 -> 9003 bytes .../drawable-xxhdpi/button_select_pressed.png | Bin 0 -> 4310 bytes .../main/res/drawable-xxhdpi/button_start.png | Bin 0 -> 18860 bytes .../drawable-xxhdpi/button_start_pressed.png | Bin 0 -> 18680 bytes .../src/main/res/drawable-xxhdpi/button_x.png | Bin 0 -> 16243 bytes .../res/drawable-xxhdpi/button_x_pressed.png | Bin 0 -> 16050 bytes .../src/main/res/drawable-xxhdpi/button_y.png | Bin 0 -> 16145 bytes .../res/drawable-xxhdpi/button_y_pressed.png | Bin 0 -> 16011 bytes .../main/res/drawable-xxhdpi/button_zl.png | Bin 0 -> 9798 bytes .../res/drawable-xxhdpi/button_zl_pressed.png | Bin 0 -> 9595 bytes .../main/res/drawable-xxhdpi/button_zr.png | Bin 0 -> 10561 bytes .../res/drawable-xxhdpi/button_zr_pressed.png | Bin 0 -> 10330 bytes .../app/src/main/res/drawable-xxhdpi/dpad.png | Bin 0 -> 6257 bytes .../dpad_pressed_one_direction.png | Bin 0 -> 10857 bytes .../dpad_pressed_two_directions.png | Bin 0 -> 13024 bytes .../src/main/res/drawable-xxhdpi/ic_add.png | Bin 0 -> 114 bytes .../src/main/res/drawable-xxhdpi/ic_citra.png | Bin 0 -> 18058 bytes .../main/res/drawable-xxhdpi/ic_company.png | Bin 0 -> 196 bytes .../main/res/drawable-xxhdpi/ic_country.png | Bin 0 -> 1877 bytes .../main/res/drawable-xxhdpi/ic_launcher.png | Bin 0 -> 4122 bytes .../src/main/res/drawable-xxhdpi/ic_play.png | Bin 0 -> 279 bytes .../main/res/drawable-xxhdpi/ic_refresh.png | Bin 0 -> 727 bytes .../res/drawable-xxhdpi/ic_settings_core.png | Bin 0 -> 251 bytes .../src/main/res/drawable-xxhdpi/stick_c.png | Bin 0 -> 15331 bytes .../res/drawable-xxhdpi/stick_c_pressed.png | Bin 0 -> 15091 bytes .../main/res/drawable-xxhdpi/stick_main.png | Bin 0 -> 23524 bytes .../drawable-xxhdpi/stick_main_pressed.png | Bin 0 -> 23565 bytes .../res/drawable-xxhdpi/stick_main_range.png | Bin 0 -> 23781 bytes .../main/res/drawable-xxxhdpi/button_a.png | Bin 0 -> 9092 bytes .../res/drawable-xxxhdpi/button_a_pressed.png | Bin 0 -> 11445 bytes .../main/res/drawable-xxxhdpi/button_b.png | Bin 0 -> 8999 bytes .../res/drawable-xxxhdpi/button_b_pressed.png | Bin 0 -> 13954 bytes .../main/res/drawable-xxxhdpi/button_home.png | Bin 0 -> 11657 bytes .../main/res/drawable-xxxhdpi/button_l.png | Bin 0 -> 3761 bytes .../res/drawable-xxxhdpi/button_l_pressed.png | Bin 0 -> 4908 bytes .../res/drawable-xxxhdpi/button_pressed.png | Bin 0 -> 15982 bytes .../main/res/drawable-xxxhdpi/button_r.png | Bin 0 -> 4640 bytes .../res/drawable-xxxhdpi/button_r_pressed.png | Bin 0 -> 5874 bytes .../res/drawable-xxxhdpi/button_select.png | Bin 0 -> 19909 bytes .../button_select_pressed.png | Bin 0 -> 15182 bytes .../res/drawable-xxxhdpi/button_start.png | Bin 0 -> 10986 bytes .../drawable-xxxhdpi/button_start_pressed.png | Bin 0 -> 13486 bytes .../main/res/drawable-xxxhdpi/button_x.png | Bin 0 -> 9009 bytes .../res/drawable-xxxhdpi/button_x_pressed.png | Bin 0 -> 11325 bytes .../main/res/drawable-xxxhdpi/button_y.png | Bin 0 -> 9361 bytes .../res/drawable-xxxhdpi/button_y_pressed.png | Bin 0 -> 11750 bytes .../main/res/drawable-xxxhdpi/button_zl.png | Bin 0 -> 6040 bytes .../drawable-xxxhdpi/button_zl_pressed.png | Bin 0 -> 7831 bytes .../main/res/drawable-xxxhdpi/button_zr.png | Bin 0 -> 6525 bytes .../drawable-xxxhdpi/button_zr_pressed.png | Bin 0 -> 8344 bytes .../src/main/res/drawable-xxxhdpi/dpad.png | Bin 0 -> 4473 bytes .../dpad_pressed_one_direction.png | Bin 0 -> 15695 bytes .../dpad_pressed_two_directions.png | Bin 0 -> 20649 bytes .../src/main/res/drawable-xxxhdpi/ic_add.png | Bin 0 -> 119 bytes .../main/res/drawable-xxxhdpi/ic_company.png | Bin 0 -> 142 bytes .../main/res/drawable-xxxhdpi/ic_country.png | Bin 0 -> 2537 bytes .../main/res/drawable-xxxhdpi/ic_launcher.png | Bin 0 -> 18058 bytes .../src/main/res/drawable-xxxhdpi/ic_play.png | Bin 0 -> 356 bytes .../main/res/drawable-xxxhdpi/ic_refresh.png | Bin 0 -> 965 bytes .../res/drawable-xxxhdpi/ic_settings_core.png | Bin 0 -> 318 bytes .../src/main/res/drawable-xxxhdpi/stick_c.png | Bin 0 -> 8892 bytes .../res/drawable-xxxhdpi/stick_c_pressed.png | Bin 0 -> 13811 bytes .../main/res/drawable-xxxhdpi/stick_main.png | Bin 0 -> 13527 bytes .../drawable-xxxhdpi/stick_main_pressed.png | Bin 0 -> 15703 bytes .../res/drawable-xxxhdpi/stick_main_range.png | Bin 0 -> 20400 bytes .../app/src/main/res/drawable/ic_add.xml | 5 - .../app/src/main/res/drawable/ic_add_tv.png | Bin 0 -> 1699 bytes .../src/main/res/drawable/ic_refresh_tv.png | Bin 0 -> 1934 bytes .../main/res/drawable/ic_settings_core_tv.png | Bin 0 -> 318 bytes .../res/drawable/ic_settings_graphics_tv.png | Bin 0 -> 569 bytes .../app/src/main/res/drawable/no_banner.png | Bin 0 -> 929 bytes .../main/res/drawable/oval_ripple_grey.xml | 8 + .../drawable/tv_card_background_gamecube.xml | 8 + .../layout-television/activity_emulation.xml | 44 + .../layout-television/fragment_emulation.xml | 7 + .../res/layout/activity_add_directory.xml | 27 + .../main/res/layout/activity_emulation.xml | 17 + .../app/src/main/res/layout/activity_main.xml | 24 +- .../src/main/res/layout/activity_settings.xml | 5 + .../src/main/res/layout/activity_tv_main.xml | 7 + .../app/src/main/res/layout/card_game.xml | 66 ++ .../main/res/layout/dialog_game_details.xml | 130 +++ .../src/main/res/layout/dialog_seekbar.xml | 37 + .../main/res/layout/fragment_emulation.xml | 46 + .../app/src/main/res/layout/fragment_grid.xml | 15 + .../main/res/layout/fragment_ingame_menu.xml | 44 + .../src/main/res/layout/fragment_settings.xml | 15 + .../src/main/res/layout/list_item_setting.xml | 39 + .../res/layout/list_item_setting_checkbox.xml | 50 + .../res/layout/list_item_settings_header.xml | 18 + .../res/layout/sysclock_datetime_picker.xml | 25 + .../app/src/main/res/layout/titleview.xml | 7 + .../app/src/main/res/layout/tv_title.xml | 31 + .../src/main/res/menu/menu_add_directory.xml | 11 + .../app/src/main/res/menu/menu_emulation.xml | 43 + .../app/src/main/res/menu/menu_game_grid.xml | 16 + .../app/src/main/res/menu/menu_settings.xml | 11 + .../main/res/mipmap-anydpi-v26/ic_citra.xml | 5 - .../res/mipmap-anydpi-v26/ic_citra_round.xml | 5 - .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 + .../app/src/main/res/mipmap-hdpi/ic_citra.png | Bin 2949 -> 0 bytes .../main/res/mipmap-hdpi/ic_citra_round.png | Bin 5207 -> 0 bytes .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 3056 bytes .../mipmap-hdpi/ic_launcher_foreground.png | Bin 6285 -> 0 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 5024 bytes .../app/src/main/res/mipmap-mdpi/ic_citra.png | Bin 1555 -> 0 bytes .../main/res/mipmap-mdpi/ic_citra_round.png | Bin 2979 -> 0 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2096 bytes .../mipmap-mdpi/ic_launcher_foreground.png | Bin 3644 -> 0 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 2858 bytes .../src/main/res/mipmap-xhdpi/ic_citra.png | Bin 4345 -> 0 bytes .../main/res/mipmap-xhdpi/ic_citra_round.png | Bin 7785 -> 0 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 4569 bytes .../mipmap-xhdpi/ic_launcher_foreground.png | Bin 9166 -> 0 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 7098 bytes .../src/main/res/mipmap-xxhdpi/ic_citra.png | Bin 7407 -> 0 bytes .../main/res/mipmap-xxhdpi/ic_citra_round.png | Bin 12975 -> 0 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 6464 bytes .../mipmap-xxhdpi/ic_launcher_foreground.png | Bin 15434 -> 0 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 10676 bytes .../src/main/res/mipmap-xxxhdpi/ic_citra.png | Bin 10820 -> 0 bytes .../res/mipmap-xxxhdpi/ic_citra_round.png | Bin 18933 -> 0 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 9250 bytes .../mipmap-xxxhdpi/ic_launcher_foreground.png | Bin 23235 -> 0 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 15523 bytes .../integers.xml} | 2 +- .../src/main/res/values-w1050dp/dimens.xml | 6 + .../src/main/res/values-w500dp/integers.xml | 4 + .../src/main/res/values-w750dp/integers.xml | 4 + .../app/src/main/res/values-w820dp/dimens.xml | 5 + .../app/src/main/res/values/arrays.xml | 69 ++ .../app/src/main/res/values/colors.xml | 5 +- .../app/src/main/res/values/dimens.xml | 11 + .../app/src/main/res/values/integers.xml | 65 ++ .../app/src/main/res/values/strings.xml | 220 +++++ .../app/src/main/res/values/styles.xml | 46 +- .../citra_android}/ExampleUnitTest.java | 4 +- src/android/build.gradle | 2 +- src/android/code-style-java.xml | 137 ++- .../gradle/wrapper/gradle-wrapper.properties | 4 +- .../arm/dyncom/arm_dyncom_interpreter.cpp | 4 + .../renderer_opengl/gl_rasterizer.cpp | 5 +- .../renderer_opengl/gl_rasterizer_cache.cpp | 14 + .../renderer_opengl/renderer_opengl.cpp | 5 +- 359 files changed, 11670 insertions(+), 447 deletions(-) create mode 100644 src/android/app/CMakeLists.txt rename src/android/app/src/androidTest/java/org/{citra_emu/citra => citra/citra_android}/ExampleInstrumentedTest.java (84%) delete mode 100644 src/android/app/src/main/cpp/CMakeLists.txt delete mode 100644 src/android/app/src/main/cpp/logging/log.cpp delete mode 100644 src/android/app/src/main/cpp/logging/logcat_backend.cpp delete mode 100644 src/android/app/src/main/cpp/logging/logcat_backend.h delete mode 100644 src/android/app/src/main/cpp/native_interface.cpp delete mode 100644 src/android/app/src/main/cpp/native_interface.h delete mode 100644 src/android/app/src/main/cpp/ui/main/main_activity.cpp delete mode 100644 src/android/app/src/main/ic_citra-web.png create mode 100644 src/android/app/src/main/java/org/citra/citra_android/DolphinApplication.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/NativeLibrary.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/activities/CustomFilePickerActivity.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/activities/EmulationActivity.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/adapters/GameAdapter.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/adapters/GameRowPresenter.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/adapters/SettingsRowPresenter.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/dialogs/GameDetailsDialog.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/dialogs/MotionAlertDialog.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/fragments/CustomFilePickerFragment.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/fragments/EmulationFragment.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/fragments/MenuFragment.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/model/Game.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/model/GameDatabase.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/model/GameProvider.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/model/TvSettingsItem.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/model/settings/FloatSetting.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/model/settings/IntSetting.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/model/settings/Setting.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/model/settings/SettingSection.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/model/settings/StringSetting.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/model/settings/view/CheckBoxSetting.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/model/settings/view/DateTimeSetting.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/model/settings/view/HeaderSetting.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/model/settings/view/InputBindingSetting.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/model/settings/view/SettingsItem.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/model/settings/view/SingleChoiceSetting.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/model/settings/view/SliderSetting.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/model/settings/view/SubmenuSetting.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/overlay/InputOverlay.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/overlay/InputOverlayDrawableButton.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/overlay/InputOverlayDrawableDpad.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/overlay/InputOverlayDrawableJoystick.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/services/DirectoryInitializationService.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/services/USBPermService.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/ui/DividerItemDecoration.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/ui/NVidiaShieldWorkaroundView.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/ui/input/gamecube/ControllerFragment.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/ui/input/gamecube/ControllerFragmentPresenter.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/ui/input/gamecube/ControllerFragmentView.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/ui/main/CustomTitleView.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/ui/main/MainActivity.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/ui/main/MainPresenter.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/ui/main/MainView.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/ui/main/TvMainActivity.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/ui/platform/PlatformGamesFragment.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/ui/platform/PlatformGamesPresenter.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/ui/platform/PlatformGamesView.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/ui/settings/SettingsActivity.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/ui/settings/SettingsActivityPresenter.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/ui/settings/SettingsActivityView.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/ui/settings/SettingsAdapter.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/ui/settings/SettingsFragment.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/ui/settings/SettingsFragmentPresenter.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/ui/settings/SettingsFragmentView.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/ui/settings/SettingsFrameLayout.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/ui/settings/viewholder/CheckBoxSettingViewHolder.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/ui/settings/viewholder/DateTimeViewHolder.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/ui/settings/viewholder/HeaderViewHolder.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/ui/settings/viewholder/InputBindingSettingViewHolder.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/ui/settings/viewholder/SettingViewHolder.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/ui/settings/viewholder/SingleChoiceViewHolder.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/ui/settings/viewholder/SliderViewHolder.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/ui/settings/viewholder/SubmenuViewHolder.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/utils/AddDirectoryHelper.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/utils/Animations.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/utils/ControllerMappingHelper.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/utils/DirectoryStateReceiver.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/utils/EGLHelper.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/utils/FileBrowserHelper.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/utils/GameBannerRequestHandler.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/utils/Java_GCAdapter.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/utils/Log.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/utils/PermissionsHandler.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/utils/PicassoUtils.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/utils/SettingsFile.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/utils/StartupHandler.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/viewholders/GameViewHolder.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/viewholders/TvGameViewHolder.java create mode 100644 src/android/app/src/main/java/org/citra/citra_android/viewholders/TvSettingsViewHolder.java delete mode 100644 src/android/app/src/main/java/org/citra_emu/citra/CitraApplication.java delete mode 100644 src/android/app/src/main/java/org/citra_emu/citra/LOG.java delete mode 100644 src/android/app/src/main/java/org/citra_emu/citra/ui/main/MainActivity.java delete mode 100644 src/android/app/src/main/java/org/citra_emu/citra/utils/FileUtil.java delete mode 100644 src/android/app/src/main/java/org/citra_emu/citra/utils/PermissionUtil.java rename src/{citra_android => android/app/src/main}/jni/CMakeLists.txt (100%) rename src/{citra_android => android/app/src/main}/jni/button_manager.cpp (99%) rename src/{citra_android => android/app/src/main}/jni/button_manager.h (100%) rename src/{citra_android => android/app/src/main}/jni/config.cpp (98%) rename src/{citra_android => android/app/src/main}/jni/config.h (100%) rename src/{citra_android => android/app/src/main}/jni/default_ini.h (100%) rename src/{citra_android => android/app/src/main}/jni/emu_window/emu_window.cpp (93%) rename src/{citra_android => android/app/src/main}/jni/emu_window/emu_window.h (97%) rename src/{citra_android => android/app/src/main}/jni/game_info.cpp (98%) rename src/{citra_android => android/app/src/main}/jni/game_info.h (100%) rename src/{citra_android => android/app/src/main}/jni/native.cpp (98%) rename src/{citra_android => android/app/src/main}/jni/native.h (100%) rename src/{citra_android => android/app/src/main}/jni/ndk_helper/CMakeLists.txt (100%) rename src/{citra_android => android/app/src/main}/jni/ndk_helper/GLContext.cpp (100%) rename src/{citra_android => android/app/src/main}/jni/ndk_helper/GLContext.h (100%) rename src/{citra_android => android/app/src/main}/jni/ndk_helper/gl3stub.c (100%) rename src/{citra_android => android/app/src/main}/jni/ndk_helper/gl3stub.cpp (100%) rename src/{citra_android => android/app/src/main}/jni/ndk_helper/gl3stub.h (100%) create mode 100644 src/android/app/src/main/res/animator/button_elevation.xml create mode 100644 src/android/app/src/main/res/animator/menu_slide_in_from_left.xml create mode 100644 src/android/app/src/main/res/animator/menu_slide_in_from_right.xml create mode 100644 src/android/app/src/main/res/animator/menu_slide_out_to_left.xml create mode 100644 src/android/app/src/main/res/animator/menu_slide_out_to_right.xml create mode 100644 src/android/app/src/main/res/animator/settings_enter.xml create mode 100644 src/android/app/src/main/res/animator/settings_exit.xml create mode 100644 src/android/app/src/main/res/animator/settings_pop_enter.xml create mode 100644 src/android/app/src/main/res/animator/setttings_pop_exit.xml create mode 100644 src/android/app/src/main/res/color/button_text_color.xml create mode 100644 src/android/app/src/main/res/drawable-hdpi/button_a.png create mode 100644 src/android/app/src/main/res/drawable-hdpi/button_a_pressed.png create mode 100644 src/android/app/src/main/res/drawable-hdpi/button_b.png create mode 100644 src/android/app/src/main/res/drawable-hdpi/button_b_pressed.png create mode 100644 src/android/app/src/main/res/drawable-hdpi/button_home.png create mode 100644 src/android/app/src/main/res/drawable-hdpi/button_home_pressed.png create mode 100644 src/android/app/src/main/res/drawable-hdpi/button_l.png create mode 100644 src/android/app/src/main/res/drawable-hdpi/button_l_pressed.png create mode 100644 src/android/app/src/main/res/drawable-hdpi/button_r.png create mode 100644 src/android/app/src/main/res/drawable-hdpi/button_r_pressed.png create mode 100644 src/android/app/src/main/res/drawable-hdpi/button_select.png create mode 100644 src/android/app/src/main/res/drawable-hdpi/button_select_pressed.png create mode 100644 src/android/app/src/main/res/drawable-hdpi/button_start.png create mode 100644 src/android/app/src/main/res/drawable-hdpi/button_start_pressed.png create mode 100644 src/android/app/src/main/res/drawable-hdpi/button_x.png create mode 100644 src/android/app/src/main/res/drawable-hdpi/button_x_pressed.png create mode 100644 src/android/app/src/main/res/drawable-hdpi/button_y.png create mode 100644 src/android/app/src/main/res/drawable-hdpi/button_y_pressed.png create mode 100644 src/android/app/src/main/res/drawable-hdpi/button_zl.png create mode 100644 src/android/app/src/main/res/drawable-hdpi/button_zl_pressed.png create mode 100644 src/android/app/src/main/res/drawable-hdpi/button_zr.png create mode 100644 src/android/app/src/main/res/drawable-hdpi/button_zr_pressed.png create mode 100644 src/android/app/src/main/res/drawable-hdpi/dpad.png create mode 100644 src/android/app/src/main/res/drawable-hdpi/dpad_pressed_one_direction.png create mode 100644 src/android/app/src/main/res/drawable-hdpi/dpad_pressed_two_directions.png create mode 100644 src/android/app/src/main/res/drawable-hdpi/ic_add.png create mode 100644 src/android/app/src/main/res/drawable-hdpi/ic_company.png create mode 100644 src/android/app/src/main/res/drawable-hdpi/ic_country.png create mode 100644 src/android/app/src/main/res/drawable-hdpi/ic_launcher.png create mode 100644 src/android/app/src/main/res/drawable-hdpi/ic_play.png create mode 100644 src/android/app/src/main/res/drawable-hdpi/ic_refresh.png create mode 100644 src/android/app/src/main/res/drawable-hdpi/ic_settings_core.png create mode 100644 src/android/app/src/main/res/drawable-hdpi/stick.png create mode 100644 src/android/app/src/main/res/drawable-hdpi/stick_c_pressed.png create mode 100644 src/android/app/src/main/res/drawable-hdpi/stick_main.png create mode 100644 src/android/app/src/main/res/drawable-hdpi/stick_main_pressed.png create mode 100644 src/android/app/src/main/res/drawable-hdpi/stick_main_range.png create mode 100644 src/android/app/src/main/res/drawable-mdpi/ic_quickload.png create mode 100644 src/android/app/src/main/res/drawable-mdpi/ic_quicksave.png create mode 100644 src/android/app/src/main/res/drawable-mdpi/ic_screenshot.png create mode 100644 src/android/app/src/main/res/drawable-xhdpi/button_a.png create mode 100644 src/android/app/src/main/res/drawable-xhdpi/button_a_pressed.png create mode 100644 src/android/app/src/main/res/drawable-xhdpi/button_b.png create mode 100644 src/android/app/src/main/res/drawable-xhdpi/button_b_pressed.png create mode 100644 src/android/app/src/main/res/drawable-xhdpi/button_home.png create mode 100644 src/android/app/src/main/res/drawable-xhdpi/button_home_pressed.png create mode 100644 src/android/app/src/main/res/drawable-xhdpi/button_l.png create mode 100644 src/android/app/src/main/res/drawable-xhdpi/button_l_pressed.png create mode 100644 src/android/app/src/main/res/drawable-xhdpi/button_r.png create mode 100644 src/android/app/src/main/res/drawable-xhdpi/button_r_pressed.png create mode 100644 src/android/app/src/main/res/drawable-xhdpi/button_select.png create mode 100644 src/android/app/src/main/res/drawable-xhdpi/button_select_pressed.png create mode 100644 src/android/app/src/main/res/drawable-xhdpi/button_start.png create mode 100644 src/android/app/src/main/res/drawable-xhdpi/button_start_pressed.png create mode 100644 src/android/app/src/main/res/drawable-xhdpi/button_x.png create mode 100644 src/android/app/src/main/res/drawable-xhdpi/button_x_pressed.png create mode 100644 src/android/app/src/main/res/drawable-xhdpi/button_y.png create mode 100644 src/android/app/src/main/res/drawable-xhdpi/button_y_pressed.png create mode 100644 src/android/app/src/main/res/drawable-xhdpi/button_zl.png create mode 100644 src/android/app/src/main/res/drawable-xhdpi/button_zl_pressed.png create mode 100644 src/android/app/src/main/res/drawable-xhdpi/button_zr.png create mode 100644 src/android/app/src/main/res/drawable-xhdpi/button_zr_pressed.png create mode 100644 src/android/app/src/main/res/drawable-xhdpi/dpad.png create mode 100644 src/android/app/src/main/res/drawable-xhdpi/dpad_pressed_one_direction.png create mode 100644 src/android/app/src/main/res/drawable-xhdpi/dpad_pressed_two_directions.png create mode 100644 src/android/app/src/main/res/drawable-xhdpi/ic_add.png create mode 100644 src/android/app/src/main/res/drawable-xhdpi/ic_citra.png create mode 100644 src/android/app/src/main/res/drawable-xhdpi/ic_company.png create mode 100644 src/android/app/src/main/res/drawable-xhdpi/ic_country.png create mode 100644 src/android/app/src/main/res/drawable-xhdpi/ic_launcher.png create mode 100644 src/android/app/src/main/res/drawable-xhdpi/ic_play.png create mode 100644 src/android/app/src/main/res/drawable-xhdpi/ic_refresh.png create mode 100644 src/android/app/src/main/res/drawable-xhdpi/ic_settings_core.png create mode 100644 src/android/app/src/main/res/drawable-xhdpi/stick_c.png create mode 100644 src/android/app/src/main/res/drawable-xhdpi/stick_c_pressed.png create mode 100644 src/android/app/src/main/res/drawable-xhdpi/stick_main.png create mode 100644 src/android/app/src/main/res/drawable-xhdpi/stick_main_pressed.png create mode 100644 src/android/app/src/main/res/drawable-xhdpi/stick_main_range.png create mode 100644 src/android/app/src/main/res/drawable-xxhdpi/button_a.png create mode 100644 src/android/app/src/main/res/drawable-xxhdpi/button_a_pressed.png create mode 100644 src/android/app/src/main/res/drawable-xxhdpi/button_b.png create mode 100644 src/android/app/src/main/res/drawable-xxhdpi/button_b_pressed.png create mode 100644 src/android/app/src/main/res/drawable-xxhdpi/button_home.png create mode 100644 src/android/app/src/main/res/drawable-xxhdpi/button_home_pressed.png create mode 100644 src/android/app/src/main/res/drawable-xxhdpi/button_l.png create mode 100644 src/android/app/src/main/res/drawable-xxhdpi/button_l_pressed.png create mode 100644 src/android/app/src/main/res/drawable-xxhdpi/button_r.png create mode 100644 src/android/app/src/main/res/drawable-xxhdpi/button_r_pressed.png create mode 100644 src/android/app/src/main/res/drawable-xxhdpi/button_select.png create mode 100644 src/android/app/src/main/res/drawable-xxhdpi/button_select_pressed.png create mode 100644 src/android/app/src/main/res/drawable-xxhdpi/button_start.png create mode 100644 src/android/app/src/main/res/drawable-xxhdpi/button_start_pressed.png create mode 100644 src/android/app/src/main/res/drawable-xxhdpi/button_x.png create mode 100644 src/android/app/src/main/res/drawable-xxhdpi/button_x_pressed.png create mode 100644 src/android/app/src/main/res/drawable-xxhdpi/button_y.png create mode 100644 src/android/app/src/main/res/drawable-xxhdpi/button_y_pressed.png create mode 100644 src/android/app/src/main/res/drawable-xxhdpi/button_zl.png create mode 100644 src/android/app/src/main/res/drawable-xxhdpi/button_zl_pressed.png create mode 100644 src/android/app/src/main/res/drawable-xxhdpi/button_zr.png create mode 100644 src/android/app/src/main/res/drawable-xxhdpi/button_zr_pressed.png create mode 100644 src/android/app/src/main/res/drawable-xxhdpi/dpad.png create mode 100644 src/android/app/src/main/res/drawable-xxhdpi/dpad_pressed_one_direction.png create mode 100644 src/android/app/src/main/res/drawable-xxhdpi/dpad_pressed_two_directions.png create mode 100644 src/android/app/src/main/res/drawable-xxhdpi/ic_add.png create mode 100644 src/android/app/src/main/res/drawable-xxhdpi/ic_citra.png create mode 100644 src/android/app/src/main/res/drawable-xxhdpi/ic_company.png create mode 100644 src/android/app/src/main/res/drawable-xxhdpi/ic_country.png create mode 100644 src/android/app/src/main/res/drawable-xxhdpi/ic_launcher.png create mode 100644 src/android/app/src/main/res/drawable-xxhdpi/ic_play.png create mode 100644 src/android/app/src/main/res/drawable-xxhdpi/ic_refresh.png create mode 100644 src/android/app/src/main/res/drawable-xxhdpi/ic_settings_core.png create mode 100644 src/android/app/src/main/res/drawable-xxhdpi/stick_c.png create mode 100644 src/android/app/src/main/res/drawable-xxhdpi/stick_c_pressed.png create mode 100644 src/android/app/src/main/res/drawable-xxhdpi/stick_main.png create mode 100644 src/android/app/src/main/res/drawable-xxhdpi/stick_main_pressed.png create mode 100644 src/android/app/src/main/res/drawable-xxhdpi/stick_main_range.png create mode 100644 src/android/app/src/main/res/drawable-xxxhdpi/button_a.png create mode 100644 src/android/app/src/main/res/drawable-xxxhdpi/button_a_pressed.png create mode 100644 src/android/app/src/main/res/drawable-xxxhdpi/button_b.png create mode 100644 src/android/app/src/main/res/drawable-xxxhdpi/button_b_pressed.png create mode 100644 src/android/app/src/main/res/drawable-xxxhdpi/button_home.png create mode 100644 src/android/app/src/main/res/drawable-xxxhdpi/button_l.png create mode 100644 src/android/app/src/main/res/drawable-xxxhdpi/button_l_pressed.png create mode 100644 src/android/app/src/main/res/drawable-xxxhdpi/button_pressed.png create mode 100644 src/android/app/src/main/res/drawable-xxxhdpi/button_r.png create mode 100644 src/android/app/src/main/res/drawable-xxxhdpi/button_r_pressed.png create mode 100644 src/android/app/src/main/res/drawable-xxxhdpi/button_select.png create mode 100644 src/android/app/src/main/res/drawable-xxxhdpi/button_select_pressed.png create mode 100644 src/android/app/src/main/res/drawable-xxxhdpi/button_start.png create mode 100644 src/android/app/src/main/res/drawable-xxxhdpi/button_start_pressed.png create mode 100644 src/android/app/src/main/res/drawable-xxxhdpi/button_x.png create mode 100644 src/android/app/src/main/res/drawable-xxxhdpi/button_x_pressed.png create mode 100644 src/android/app/src/main/res/drawable-xxxhdpi/button_y.png create mode 100644 src/android/app/src/main/res/drawable-xxxhdpi/button_y_pressed.png create mode 100644 src/android/app/src/main/res/drawable-xxxhdpi/button_zl.png create mode 100644 src/android/app/src/main/res/drawable-xxxhdpi/button_zl_pressed.png create mode 100644 src/android/app/src/main/res/drawable-xxxhdpi/button_zr.png create mode 100644 src/android/app/src/main/res/drawable-xxxhdpi/button_zr_pressed.png create mode 100644 src/android/app/src/main/res/drawable-xxxhdpi/dpad.png create mode 100644 src/android/app/src/main/res/drawable-xxxhdpi/dpad_pressed_one_direction.png create mode 100644 src/android/app/src/main/res/drawable-xxxhdpi/dpad_pressed_two_directions.png create mode 100644 src/android/app/src/main/res/drawable-xxxhdpi/ic_add.png create mode 100644 src/android/app/src/main/res/drawable-xxxhdpi/ic_company.png create mode 100644 src/android/app/src/main/res/drawable-xxxhdpi/ic_country.png create mode 100644 src/android/app/src/main/res/drawable-xxxhdpi/ic_launcher.png create mode 100644 src/android/app/src/main/res/drawable-xxxhdpi/ic_play.png create mode 100644 src/android/app/src/main/res/drawable-xxxhdpi/ic_refresh.png create mode 100644 src/android/app/src/main/res/drawable-xxxhdpi/ic_settings_core.png create mode 100644 src/android/app/src/main/res/drawable-xxxhdpi/stick_c.png create mode 100644 src/android/app/src/main/res/drawable-xxxhdpi/stick_c_pressed.png create mode 100644 src/android/app/src/main/res/drawable-xxxhdpi/stick_main.png create mode 100644 src/android/app/src/main/res/drawable-xxxhdpi/stick_main_pressed.png create mode 100644 src/android/app/src/main/res/drawable-xxxhdpi/stick_main_range.png delete mode 100644 src/android/app/src/main/res/drawable/ic_add.xml create mode 100644 src/android/app/src/main/res/drawable/ic_add_tv.png create mode 100644 src/android/app/src/main/res/drawable/ic_refresh_tv.png create mode 100644 src/android/app/src/main/res/drawable/ic_settings_core_tv.png create mode 100644 src/android/app/src/main/res/drawable/ic_settings_graphics_tv.png create mode 100644 src/android/app/src/main/res/drawable/no_banner.png create mode 100644 src/android/app/src/main/res/drawable/oval_ripple_grey.xml create mode 100644 src/android/app/src/main/res/drawable/tv_card_background_gamecube.xml create mode 100644 src/android/app/src/main/res/layout-television/activity_emulation.xml create mode 100644 src/android/app/src/main/res/layout-television/fragment_emulation.xml create mode 100644 src/android/app/src/main/res/layout/activity_add_directory.xml create mode 100644 src/android/app/src/main/res/layout/activity_emulation.xml create mode 100644 src/android/app/src/main/res/layout/activity_settings.xml create mode 100644 src/android/app/src/main/res/layout/activity_tv_main.xml create mode 100644 src/android/app/src/main/res/layout/card_game.xml create mode 100644 src/android/app/src/main/res/layout/dialog_game_details.xml create mode 100644 src/android/app/src/main/res/layout/dialog_seekbar.xml create mode 100644 src/android/app/src/main/res/layout/fragment_emulation.xml create mode 100644 src/android/app/src/main/res/layout/fragment_grid.xml create mode 100644 src/android/app/src/main/res/layout/fragment_ingame_menu.xml create mode 100644 src/android/app/src/main/res/layout/fragment_settings.xml create mode 100644 src/android/app/src/main/res/layout/list_item_setting.xml create mode 100644 src/android/app/src/main/res/layout/list_item_setting_checkbox.xml create mode 100644 src/android/app/src/main/res/layout/list_item_settings_header.xml create mode 100644 src/android/app/src/main/res/layout/sysclock_datetime_picker.xml create mode 100644 src/android/app/src/main/res/layout/titleview.xml create mode 100644 src/android/app/src/main/res/layout/tv_title.xml create mode 100644 src/android/app/src/main/res/menu/menu_add_directory.xml create mode 100644 src/android/app/src/main/res/menu/menu_emulation.xml create mode 100644 src/android/app/src/main/res/menu/menu_game_grid.xml create mode 100644 src/android/app/src/main/res/menu/menu_settings.xml delete mode 100644 src/android/app/src/main/res/mipmap-anydpi-v26/ic_citra.xml delete mode 100644 src/android/app/src/main/res/mipmap-anydpi-v26/ic_citra_round.xml create mode 100644 src/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 src/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml delete mode 100644 src/android/app/src/main/res/mipmap-hdpi/ic_citra.png delete mode 100644 src/android/app/src/main/res/mipmap-hdpi/ic_citra_round.png create mode 100644 src/android/app/src/main/res/mipmap-hdpi/ic_launcher.png delete mode 100644 src/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png create mode 100644 src/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png delete mode 100644 src/android/app/src/main/res/mipmap-mdpi/ic_citra.png delete mode 100644 src/android/app/src/main/res/mipmap-mdpi/ic_citra_round.png create mode 100644 src/android/app/src/main/res/mipmap-mdpi/ic_launcher.png delete mode 100644 src/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png create mode 100644 src/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png delete mode 100644 src/android/app/src/main/res/mipmap-xhdpi/ic_citra.png delete mode 100644 src/android/app/src/main/res/mipmap-xhdpi/ic_citra_round.png create mode 100644 src/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png delete mode 100644 src/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png create mode 100644 src/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png delete mode 100644 src/android/app/src/main/res/mipmap-xxhdpi/ic_citra.png delete mode 100644 src/android/app/src/main/res/mipmap-xxhdpi/ic_citra_round.png create mode 100644 src/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png delete mode 100644 src/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png create mode 100644 src/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png delete mode 100644 src/android/app/src/main/res/mipmap-xxxhdpi/ic_citra.png delete mode 100644 src/android/app/src/main/res/mipmap-xxxhdpi/ic_citra_round.png create mode 100644 src/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png delete mode 100644 src/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png create mode 100644 src/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png rename src/android/app/src/main/res/{values/ic_launcher_background.xml => values-w1000dp/integers.xml} (52%) create mode 100644 src/android/app/src/main/res/values-w1050dp/dimens.xml create mode 100644 src/android/app/src/main/res/values-w500dp/integers.xml create mode 100644 src/android/app/src/main/res/values-w750dp/integers.xml create mode 100644 src/android/app/src/main/res/values-w820dp/dimens.xml create mode 100644 src/android/app/src/main/res/values/arrays.xml create mode 100644 src/android/app/src/main/res/values/dimens.xml create mode 100644 src/android/app/src/main/res/values/integers.xml create mode 100644 src/android/app/src/main/res/values/strings.xml rename src/android/app/src/test/java/org/{citra_emu/citra => citra/citra_android}/ExampleUnitTest.java (91%) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 9aeae6e91..349b34def 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -103,10 +103,6 @@ add_subdirectory(network) add_subdirectory(input_common) add_subdirectory(tests) -if(ANDROID) - add_subdirectory(citra_android/jni) -endif() - if (ENABLE_SDL2) add_subdirectory(citra) endif() @@ -114,8 +110,10 @@ endif() if (ENABLE_QT) add_subdirectory(citra_qt) endif() + if (ANDROID) - add_subdirectory(android/app/src/main/cpp) + include_directories(android/app/src/main) + add_subdirectory(android/app/src/main/jni) else() add_subdirectory(dedicated_room) endif() diff --git a/src/android/.gitignore b/src/android/.gitignore index 5edb4eeb0..6214df797 100644 --- a/src/android/.gitignore +++ b/src/android/.gitignore @@ -1,10 +1,59 @@ +# Built application files +*.apk +*.ap_ + +# Files for the ART/Dalvik VM +*.dex + +# Java class files +*.class + +# Generated files +bin/ +gen/ +out/ + +# Gradle files +.gradle/ +build/ + +# Local configuration file (sdk path, etc) +local.properties + +# Proguard folder generated by Eclipse +proguard/ + +# Log Files +*.log + +# Android Studio Navigation editor temp files +.navigation/ + +# Android Studio captures folder +captures/ + +# IntelliJ *.iml -.gradle -/local.properties -/.idea/libraries -/.idea/modules.xml -/.idea/workspace.xml -.DS_Store -/build -/captures +.idea/ + +# Keystore files +# Uncomment the following line if you do not want to check your keystore files in. +#*.jks + +# External native build folder generated in Android Studio 2.2 and later .externalNativeBuild + +# Google Services (e.g. APIs or Firebase) +google-services.json + +# Freeline +freeline.py +freeline/ +freeline_project_description.json + +# fastlane +fastlane/report.xml +fastlane/Preview.html +fastlane/screenshots +fastlane/test_output +fastlane/readme.md diff --git a/src/android/app/CMakeLists.txt b/src/android/app/CMakeLists.txt new file mode 100644 index 000000000..f8e6e8b3d --- /dev/null +++ b/src/android/app/CMakeLists.txt @@ -0,0 +1,44 @@ +# For more information about using CMake with Android Studio, read the +# documentation: https://d.android.com/studio/projects/add-native-code.html + +# Sets the minimum version of CMake required to build the native library. + +cmake_minimum_required(VERSION 3.4.1) + +# Creates and names a library, sets it as either STATIC +# or SHARED, and provides the relative paths to its source code. +# You can define multiple libraries, and CMake builds them for you. +# Gradle automatically packages shared libraries with your APK. + +add_library( # Sets the name of the library. + native-lib + + # Sets the library as a shared library. + SHARED + + # Provides a relative path to your source file(s). + src/main/cpp/native-lib.cpp ) + +# Searches for a specified prebuilt library and stores the path as a +# variable. Because CMake includes system libraries in the search path by +# default, you only need to specify the name of the public NDK library +# you want to add. CMake verifies that the library exists before +# completing its build. + +find_library( # Sets the name of the path variable. + log-lib + + # Specifies the name of the NDK library that + # you want CMake to locate. + log ) + +# Specifies libraries CMake should link to your target library. You +# can link multiple libraries, such as libraries you define in this +# build script, prebuilt third-party libraries, or system libraries. + +target_link_libraries( # Specifies the target library. + native-lib + + # Links the target library to the log library + # included in the NDK. + ${log-lib} ) \ No newline at end of file diff --git a/src/android/app/src/androidTest/java/org/citra_emu/citra/ExampleInstrumentedTest.java b/src/android/app/src/androidTest/java/org/citra/citra_android/ExampleInstrumentedTest.java similarity index 84% rename from src/android/app/src/androidTest/java/org/citra_emu/citra/ExampleInstrumentedTest.java rename to src/android/app/src/androidTest/java/org/citra/citra_android/ExampleInstrumentedTest.java index 7055de885..19a29bef4 100644 --- a/src/android/app/src/androidTest/java/org/citra_emu/citra/ExampleInstrumentedTest.java +++ b/src/android/app/src/androidTest/java/org/citra/citra_android/ExampleInstrumentedTest.java @@ -1,4 +1,4 @@ -package org.citra_emu.citra; +package org.citra.citra_android; import android.content.Context; import android.support.test.InstrumentationRegistry; @@ -21,6 +21,6 @@ public class ExampleInstrumentedTest { // Context of the app under test. Context appContext = InstrumentationRegistry.getTargetContext(); - assertEquals("org.citra_emu.citra_android", appContext.getPackageName()); + assertEquals("org.citra.citra_android", appContext.getPackageName()); } } diff --git a/src/android/app/src/main/AndroidManifest.xml b/src/android/app/src/main/AndroidManifest.xml index c1e38446a..52b38bcad 100644 --- a/src/android/app/src/main/AndroidManifest.xml +++ b/src/android/app/src/main/AndroidManifest.xml @@ -1,39 +1,91 @@ + package="org.citra.citra_android"> - + - + + + android:banner="@drawable/ic_citra"> + android:theme="@style/Citra"> - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + \ No newline at end of file diff --git a/src/android/app/src/main/cpp/CMakeLists.txt b/src/android/app/src/main/cpp/CMakeLists.txt deleted file mode 100644 index f3a7e0131..000000000 --- a/src/android/app/src/main/cpp/CMakeLists.txt +++ /dev/null @@ -1,16 +0,0 @@ -cmake_minimum_required(VERSION 3.8) - -add_library(citra-android SHARED - logging/log.cpp - logging/logcat_backend.cpp - logging/logcat_backend.h - native_interface.cpp - native_interface.h - ui/main/main_activity.cpp - ) - -# find Android's log library -find_library(log-lib log) - -target_link_libraries(citra-android ${log-lib} core common inih) -target_include_directories(citra-android PRIVATE "../../../../../" "./") diff --git a/src/android/app/src/main/cpp/logging/log.cpp b/src/android/app/src/main/cpp/logging/log.cpp deleted file mode 100644 index 044f4eb4c..000000000 --- a/src/android/app/src/main/cpp/logging/log.cpp +++ /dev/null @@ -1,15 +0,0 @@ -#include "common/logging/log.h" -#include "native_interface.h" - -namespace Log { -extern "C" { -JNICALL void Java_org_citra_1emu_citra_LOG_logEntry(JNIEnv* env, jclass type, jint level, - jstring file_name, jint line_number, - jstring function, jstring msg) { - using CitraJNI::GetJString; - FmtLogMessage(Class::Frontend, static_cast(level), GetJString(env, file_name).data(), - static_cast(line_number), GetJString(env, function).data(), - GetJString(env, msg).data()); -} -} -} // namespace Log diff --git a/src/android/app/src/main/cpp/logging/logcat_backend.cpp b/src/android/app/src/main/cpp/logging/logcat_backend.cpp deleted file mode 100644 index 17b6ae1a0..000000000 --- a/src/android/app/src/main/cpp/logging/logcat_backend.cpp +++ /dev/null @@ -1,38 +0,0 @@ -// Copyright 2019 Citra Emulator Project -// Licensed under GPLv2 or any later version -// Refer to the license.txt file included. - -#include -#include "common/assert.h" -#include "common/logging/text_formatter.h" -#include "logcat_backend.h" - -namespace Log { -void LogcatBackend::Write(const Entry& entry) { - android_LogPriority priority; - switch (entry.log_level) { - case Level::Trace: - priority = ANDROID_LOG_VERBOSE; - break; - case Level::Debug: - priority = ANDROID_LOG_DEBUG; - break; - case Level::Info: - priority = ANDROID_LOG_INFO; - break; - case Level::Warning: - priority = ANDROID_LOG_WARN; - break; - case Level::Error: - priority = ANDROID_LOG_ERROR; - break; - case Level::Critical: - priority = ANDROID_LOG_FATAL; - break; - case Level::Count: - UNREACHABLE(); - } - - __android_log_print(priority, "citra", "%s\n", FormatLogMessage(entry).c_str()); -} -} // namespace Log \ No newline at end of file diff --git a/src/android/app/src/main/cpp/logging/logcat_backend.h b/src/android/app/src/main/cpp/logging/logcat_backend.h deleted file mode 100644 index f3bac4762..000000000 --- a/src/android/app/src/main/cpp/logging/logcat_backend.h +++ /dev/null @@ -1,22 +0,0 @@ -// Copyright 2019 Citra Emulator Project -// Licensed under GPLv2 or any later version -// Refer to the license.txt file included. - -#pragma once - -#include "common/logging/backend.h" - -namespace Log { -class LogcatBackend : public Backend { -public: - static const char* Name() { - return "Logcat"; - } - - const char* GetName() const override { - return Name(); - } - - void Write(const Entry& entry) override; -}; -} // namespace Log diff --git a/src/android/app/src/main/cpp/native_interface.cpp b/src/android/app/src/main/cpp/native_interface.cpp deleted file mode 100644 index fc4d73b77..000000000 --- a/src/android/app/src/main/cpp/native_interface.cpp +++ /dev/null @@ -1,22 +0,0 @@ -// Copyright 2019 Citra Emulator Project -// Licensed under GPLv2 or any later version -// Refer to the license.txt file included. - -#include "native_interface.h" - -namespace CitraJNI { -jint JNI_OnLoad(JavaVM* vm, void* reserved) { - return JNI_VERSION_1_6; -} - -std::string GetJString(JNIEnv* env, jstring jstr) { - std::string result = ""; - if (!jstr) - return result; - - const char* s = env->GetStringUTFChars(jstr, nullptr); - result = s; - env->ReleaseStringUTFChars(jstr, s); - return result; -} -} // namespace CitraJNI diff --git a/src/android/app/src/main/cpp/native_interface.h b/src/android/app/src/main/cpp/native_interface.h deleted file mode 100644 index a7b99cb51..000000000 --- a/src/android/app/src/main/cpp/native_interface.h +++ /dev/null @@ -1,16 +0,0 @@ -// Copyright 2019 Citra Emulator Project -// Licensed under GPLv2 or any later version -// Refer to the license.txt file included. - -#pragma once - -#include -#include - -namespace CitraJNI { -extern "C" { -jint JNI_OnLoad(JavaVM* vm, void* reserved); -} - -std::string GetJString(JNIEnv* env, jstring jstr); -} // namespace CitraJNI diff --git a/src/android/app/src/main/cpp/ui/main/main_activity.cpp b/src/android/app/src/main/cpp/ui/main/main_activity.cpp deleted file mode 100644 index b99ba1890..000000000 --- a/src/android/app/src/main/cpp/ui/main/main_activity.cpp +++ /dev/null @@ -1,31 +0,0 @@ -// Copyright 2019 Citra Emulator Project -// Licensed under GPLv2 or any later version -// Refer to the license.txt file included. - -#include "common/common_paths.h" -#include "common/file_util.h" -#include "common/logging/filter.h" -#include "common/logging/log.h" -#include "core/settings.h" -#include "logging/logcat_backend.h" -#include "native_interface.h" - -namespace MainActivity { -extern "C" { -JNICALL void Java_org_citra_1emu_citra_ui_main_MainActivity_initUserPath(JNIEnv* env, jclass type, - jstring path) { - FileUtil::SetUserPath(CitraJNI::GetJString(env, path) + '/'); -} - -JNICALL void Java_org_citra_1emu_citra_ui_main_MainActivity_initLogging(JNIEnv* env, jclass type) { - Log::Filter log_filter(Log::Level::Debug); - log_filter.ParseFilterString(Settings::values.log_filter); - Log::SetGlobalFilter(log_filter); - - const std::string& log_dir = FileUtil::GetUserPath(FileUtil::UserPath::LogDir); - FileUtil::CreateFullPath(log_dir); - Log::AddBackend(std::make_unique(log_dir + LOG_FILE)); - Log::AddBackend(std::make_unique()); -} -}; -}; // namespace MainActivity diff --git a/src/android/app/src/main/ic_citra-web.png b/src/android/app/src/main/ic_citra-web.png deleted file mode 100644 index 129946a37216c54a4a32057fac0dc36cb3fa7a14..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44326 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 VcYoN;G7#`{-sB>t(#YfP{{kd`qRRjP diff --git a/src/android/app/src/main/java/org/citra/citra_android/DolphinApplication.java b/src/android/app/src/main/java/org/citra/citra_android/DolphinApplication.java new file mode 100644 index 000000000..e2eae92b4 --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/DolphinApplication.java @@ -0,0 +1,23 @@ +package org.citra.citra_android; + +import android.app.Application; + +import org.citra.citra_android.model.GameDatabase; +import org.citra.citra_android.services.DirectoryInitializationService; +import org.citra.citra_android.utils.PermissionsHandler; + +public class DolphinApplication extends Application +{ + public static GameDatabase databaseHelper; + + @Override + public void onCreate() + { + super.onCreate(); + + if (PermissionsHandler.hasWriteAccess(getApplicationContext())) + DirectoryInitializationService.startService(getApplicationContext()); + + databaseHelper = new GameDatabase(this); + } +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/NativeLibrary.java b/src/android/app/src/main/java/org/citra/citra_android/NativeLibrary.java new file mode 100644 index 000000000..6a9b5afe3 --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/NativeLibrary.java @@ -0,0 +1,428 @@ +/* + * Copyright 2013 Dolphin Emulator Project + * Licensed under GPLv2+ + * Refer to the license.txt file included. + */ + +package org.citra.citra_android; + +import android.app.AlertDialog; +import android.view.Surface; + +import org.citra.citra_android.activities.EmulationActivity; +import org.citra.citra_android.utils.Log; + +import java.lang.ref.WeakReference; + +/** + * Class which contains methods that interact + * with the native side of the Dolphin code. + */ +public final class NativeLibrary +{ + public static WeakReference sEmulationActivity = new WeakReference<>(null); + + /** + * Button type for use in onTouchEvent + */ + public static final class ButtonType + { + public static final int BUTTON_A = 700; + public static final int BUTTON_B = 701; + public static final int BUTTON_X = 702; + public static final int BUTTON_Y = 703; + public static final int BUTTON_START = 704; + public static final int BUTTON_SELECT = 705; + public static final int BUTTON_HOME = 706; + public static final int BUTTON_ZL = 707; + public static final int BUTTON_ZR = 708; + public static final int DPAD_UP = 709; + public static final int DPAD_DOWN = 710; + public static final int DPAD_LEFT = 711; + public static final int DPAD_RIGHT = 712; + public static final int STICK_LEFT = 713; + public static final int STICK_LEFT_UP = 714; + public static final int STICK_LEFT_DOWN = 715; + public static final int STICK_LEFT_LEFT = 716; + public static final int STICK_LEFT_RIGHT = 717; + public static final int STICK_C = 718; + public static final int STICK_C_UP = 719; + public static final int STICK_C_DOWN = 720; + public static final int STICK_C_LEFT = 771; + public static final int STICK_C_RIGHT = 772; + public static final int TRIGGER_L = 773; + public static final int TRIGGER_R = 774; + } + + /** + * Button states + */ + public static final class ButtonState + { + public static final int RELEASED = 0; + public static final int PRESSED = 1; + } + + private NativeLibrary() + { + // Disallows instantiation. + } + + /** + * Default touchscreen device + */ + public static final String TouchScreenDevice = "Touchscreen"; + + /** + * Handles button press events for a gamepad. + * + * @param Device The input descriptor of the gamepad. + * @param Button Key code identifying which button was pressed. + * @param Action Mask identifying which action is happening (button pressed down, or button released). + * @return If we handled the button press. + */ + public static native boolean onGamePadEvent(String Device, int Button, int Action); + + /** + * Handles gamepad movement events. + * + * @param Device The device ID of the gamepad. + * @param Axis The axis ID + * @param x_axis The value of the x-axis represented by the given ID. + * @param y_axis The value of the y-axis represented by the given ID + */ + public static native boolean onGamePadMoveEvent(String Device, int Axis, float x_axis, float y_axis); + + /** + * Handles gamepad movement events. + * + * @param Device The device ID of the gamepad. + * @param Axis_id The axis ID + * @param axis_val The value of the axis represented by the given ID. + */ + public static native boolean onGamePadAxisEvent(String Device, int Axis_id, float axis_val); + + /** + * Handles touch events. + * + * @param x_axis The value of the x-axis. + * @param y_axis The value of the y-axis + * @param pressed To identify if the touch held down or released. + */ + public static native void onTouchEvent(float x_axis, float y_axis, boolean pressed); + + /** + * Handles touch movement. + * + * @param x_axis The value of the instantaneous x-axis. + * @param y_axis The value of the instantaneous y-axis. + */ + public static native void onTouchMoved(float x_axis, float y_axis); + + public static native String GetUserSetting(String gameID, String Section, String Key); + + public static native void SetUserSetting(String gameID, String Section, String Key, String Value); + + public static native void InitGameIni(String gameID); + + /** + * Gets a value from a key in the given ini-based config file. + * + * @param configFile The ini-based config file to get the value from. + * @param Section The section key that the actual key is in. + * @param Key The key to get the value from. + * @param Default The value to return in the event the given key doesn't exist. + * @return the value stored at the key, or a default value if it doesn't exist. + */ + public static native String GetConfig(String configFile, String Section, String Key, + String Default); + + /** + * Sets a value to a key in the given ini config file. + * + * @param configFile The ini-based config file to add the value to. + * @param Section The section key for the ini key + * @param Key The actual ini key to set. + * @param Value The string to set the ini key to. + */ + public static native void SetConfig(String configFile, String Section, String Key, String Value); + + /** + * Gets the embedded banner within the given ISO/ROM. + * + * @param filename the file path to the ISO/ROM. + * @return an integer array containing the color data for the banner. + */ + public static native int[] GetBanner(String filename); + + /** + * Gets the embedded title of the given ISO/ROM. + * + * @param filename The file path to the ISO/ROM. + * @return the embedded title of the ISO/ROM. + */ + public static native String GetTitle(String filename); + + public static native String GetDescription(String filename); + + public static native String GetGameId(String filename); + + public static native int GetCountry(String filename); + + public static native String GetCompany(String filename); + + public static native long GetFilesize(String filename); + + public static native int GetPlatform(String filename); + + /** + * Gets the Dolphin version string. + * + * @return the Dolphin version string. + */ + public static native String GetVersionString(); + + public static native String GetGitRevision(); + + /** + * Saves a screen capture of the game + */ + public static native void SaveScreenShot(); + + /** + * Saves a game state to the slot number. + * + * @param slot The slot location to save state to. + * @param wait If false, returns as early as possible. + * If true, returns once the savestate has been written to disk. + */ + public static native void SaveState(int slot, boolean wait); + + /** + * Saves a game state to the specified path. + * + * @param path The path to save state to. + * @param wait If false, returns as early as possible. + * If true, returns once the savestate has been written to disk. + */ + public static native void SaveStateAs(String path, boolean wait); + + /** + * Loads a game state from the slot number. + * + * @param slot The slot location to load state from. + */ + public static native void LoadState(int slot); + + /** + * Loads a game state from the specified path. + * + * @param path The path to load state from. + */ + public static native void LoadStateAs(String path); + + /** + * Sets the current working user directory + * If not set, it auto-detects a location + */ + public static native void SetUserDirectory(String directory); + + /** + * Returns the current working user directory + */ + public static native String GetUserDirectory(); + + // Create the config.ini file. + public static native void CreateConfigFile(); + + public static native int DefaultCPUCore(); + + /** + * Begins emulation. + */ + public static native void Run(String path); + + /** + * Begins emulation from the specified savestate. + */ + public static native void Run(String path, String savestatePath, boolean deleteSavestate); + + public static native void ChangeDisc(String path); + + // Surface Handling + public static native void SurfaceChanged(Surface surf); + + public static native void SurfaceDestroyed(); + + /** + * Unpauses emulation from a paused state. + */ + public static native void UnPauseEmulation(); + + /** + * Pauses emulation. + */ + public static native void PauseEmulation(); + + /** + * Stops emulation. + */ + public static native void StopEmulation(); + + /** + * Returns true if emulation is running (or is paused). + */ + public static native boolean IsRunning(); + + /** + * Enables or disables CPU block profiling + * + * @param enable + */ + public static native void SetProfiling(boolean enable); + + /** + * Writes out the block profile results + */ + public static native void WriteProfileResults(); + + /** + * Native EGL functions not exposed by Java bindings + **/ + public static native void eglBindAPI(int api); + + /** + * Provides a way to refresh the connections on Wiimotes + */ + public static native void RefreshWiimotes(); + + /** + * Returns the performance stats for the current game + **/ + public static native double[] GetPerfStats(); + + /** + * The methods C++ uses to find references to Java classes and methods + * are really expensive. Rather than calling them every time we want to + * run them, do it once when we load the native library. + */ + private static native void CacheClassesAndMethods(); + + /** + * Switches the screen layout. + */ + public static native void SwitchScreenLayout(); + + /** + * Swaps the top and bottom screens. + */ + public static native void SwapScreens(); + + static + { + try + { + System.loadLibrary("main"); + } + catch (UnsatisfiedLinkError ex) + { + Log.error("[NativeLibrary] " + ex.toString()); + } + + CacheClassesAndMethods(); + } + + private static boolean alertResult = false; + + public static boolean displayAlertMsg(final String caption, final String text, + final boolean yesNo) + { + Log.error("[NativeLibrary] Alert: " + text); + final EmulationActivity emulationActivity = sEmulationActivity.get(); + boolean result = false; + if (emulationActivity == null) + { + Log.warning("[NativeLibrary] EmulationActivity is null, can't do panic alert."); + } + else + { + // Create object used for waiting. + final Object lock = new Object(); + AlertDialog.Builder builder = new AlertDialog.Builder(emulationActivity) + .setTitle(caption) + .setMessage(text); + + // If not yes/no dialog just have one button that dismisses modal, + // otherwise have a yes and no button that sets alertResult accordingly. + if (!yesNo) + { + builder + .setCancelable(false) + .setPositiveButton("OK", (dialog, whichButton) -> + { + dialog.dismiss(); + synchronized (lock) + { + lock.notify(); + } + }); + } + else + { + alertResult = false; + + builder + .setPositiveButton("Yes", (dialog, whichButton) -> + { + alertResult = true; + dialog.dismiss(); + synchronized (lock) + { + lock.notify(); + } + }) + .setNegativeButton("No", (dialog, whichButton) -> + { + alertResult = false; + dialog.dismiss(); + synchronized (lock) + { + lock.notify(); + } + }); + } + + // Show the AlertDialog on the main thread. + emulationActivity.runOnUiThread(() -> builder.show()); + + // Wait for the lock to notify that it is complete. + synchronized (lock) + { + try + { + lock.wait(); + } + catch (Exception e) + { + } + } + + if (yesNo) + result = alertResult; + } + return result; + } + + public static void setEmulationActivity(EmulationActivity emulationActivity) + { + Log.verbose("[NativeLibrary] Registering EmulationActivity."); + sEmulationActivity = new WeakReference<>(emulationActivity); + } + + public static void clearEmulationActivity() + { + Log.verbose("[NativeLibrary] Unregistering EmulationActivity."); + + sEmulationActivity.clear(); + } +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/activities/CustomFilePickerActivity.java b/src/android/app/src/main/java/org/citra/citra_android/activities/CustomFilePickerActivity.java new file mode 100644 index 000000000..06b5a4886 --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/activities/CustomFilePickerActivity.java @@ -0,0 +1,29 @@ +package org.citra.citra_android.activities; + +import android.os.Environment; +import android.support.annotation.Nullable; + +import com.nononsenseapps.filepicker.AbstractFilePickerFragment; +import com.nononsenseapps.filepicker.FilePickerActivity; + +import org.citra.citra_android.fragments.CustomFilePickerFragment; + +import java.io.File; + +public class CustomFilePickerActivity extends FilePickerActivity + +{ + @Override + protected AbstractFilePickerFragment getFragment( + @Nullable final String startPath, final int mode, final boolean allowMultiple, + final boolean allowCreateDir, final boolean allowExistingFile, + final boolean singleClick) + { + AbstractFilePickerFragment fragment = new CustomFilePickerFragment(); + // startPath is allowed to be null. In that case, default folder should be SD-card and not "/" + fragment.setArgs( + startPath != null ? startPath : Environment.getExternalStorageDirectory().getPath(), + mode, allowMultiple, allowCreateDir, allowExistingFile, singleClick); + return fragment; + } +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/activities/EmulationActivity.java b/src/android/app/src/main/java/org/citra/citra_android/activities/EmulationActivity.java new file mode 100644 index 000000000..125a44bff --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/activities/EmulationActivity.java @@ -0,0 +1,649 @@ +package org.citra.citra_android.activities; + +import android.app.AlertDialog; +import android.content.Intent; +import android.content.SharedPreferences; +import android.os.Bundle; +import android.os.Handler; +import android.preference.PreferenceManager; +import android.support.annotation.IntDef; +import android.support.v4.app.ActivityOptionsCompat; +import android.support.v4.app.Fragment; +import android.support.v4.app.FragmentActivity; +import android.support.v4.app.FragmentManager; +import android.support.v7.app.AppCompatActivity; +import android.text.TextUtils; +import android.util.SparseIntArray; +import android.view.InputDevice; +import android.view.KeyEvent; +import android.view.LayoutInflater; +import android.view.Menu; +import android.view.MenuItem; +import android.view.MotionEvent; +import android.view.View; +import android.widget.ImageView; +import android.widget.SeekBar; +import android.widget.TextView; +import android.widget.Toast; + +import com.squareup.picasso.Callback; +import com.squareup.picasso.Picasso; + +import org.citra.citra_android.NativeLibrary; +import org.citra.citra_android.R; +import org.citra.citra_android.fragments.EmulationFragment; +import org.citra.citra_android.fragments.MenuFragment; +import org.citra.citra_android.ui.main.MainPresenter; +import org.citra.citra_android.utils.Animations; +import org.citra.citra_android.utils.ControllerMappingHelper; + +import java.lang.annotation.Retention; +import java.util.List; + +import static android.view.MotionEvent.AXIS_RZ; +import static android.view.MotionEvent.AXIS_X; +import static android.view.MotionEvent.AXIS_Y; +import static android.view.MotionEvent.AXIS_Z; +import static java.lang.annotation.RetentionPolicy.SOURCE; + +public final class EmulationActivity extends AppCompatActivity +{ + private static final String BACKSTACK_NAME_MENU = "menu"; + private static final String BACKSTACK_NAME_SUBMENU = "submenu"; + public static final int REQUEST_CHANGE_DISC = 1; + + private View mDecorView; + private ImageView mImageView; + private EmulationFragment mEmulationFragment; + + private SharedPreferences mPreferences; + private ControllerMappingHelper mControllerMappingHelper; + + // So that MainActivity knows which view to invalidate before the return animation. + private int mPosition; + + private boolean mDeviceHasTouchScreen; + private boolean mMenuVisible; + private boolean mBackPressedOnce; + + private boolean activityRecreated; + private String mScreenPath; + private String mSelectedTitle; + private String mPath; + + public static final String EXTRA_SELECTED_GAME = "SelectedGame"; + public static final String EXTRA_SELECTED_TITLE = "SelectedTitle"; + public static final String EXTRA_SCREEN_PATH = "ScreenPath"; + public static final String EXTRA_GRID_POSITION = "GridPosition"; + + @Retention(SOURCE) + @IntDef({MENU_ACTION_EDIT_CONTROLS_PLACEMENT, MENU_ACTION_TOGGLE_CONTROLS, MENU_ACTION_ADJUST_SCALE, + MENU_ACTION_EXIT, MENU_ACTION_TOGGLE_PREF_STATS, MENU_ACTION_SWITCH_SCREEN_LAYOUT, + MENU_ACTION_SWAP_SCREENS, MENU_ACTION_RESET_OVERLAY}) + public @interface MenuAction + { + } + + public static final int MENU_ACTION_EDIT_CONTROLS_PLACEMENT = 0; + public static final int MENU_ACTION_TOGGLE_CONTROLS = 1; + public static final int MENU_ACTION_ADJUST_SCALE = 2; + public static final int MENU_ACTION_EXIT = 3; + public static final int MENU_ACTION_TOGGLE_PREF_STATS = 4; + public static final int MENU_ACTION_SWITCH_SCREEN_LAYOUT = 5; + public static final int MENU_ACTION_SWAP_SCREENS = 6; + public static final int MENU_ACTION_RESET_OVERLAY = 7; + + private static SparseIntArray buttonsActionsMap = new SparseIntArray(); + + static + { + buttonsActionsMap.append(R.id.menu_emulation_edit_layout, + EmulationActivity.MENU_ACTION_EDIT_CONTROLS_PLACEMENT); + buttonsActionsMap.append(R.id.menu_emulation_toggle_controls, + EmulationActivity.MENU_ACTION_TOGGLE_CONTROLS); + buttonsActionsMap + .append(R.id.menu_emulation_adjust_scale, EmulationActivity.MENU_ACTION_ADJUST_SCALE); + buttonsActionsMap.append(R.id.menu_emulation_toggle_perf_stats, + EmulationActivity.MENU_ACTION_TOGGLE_PREF_STATS); + buttonsActionsMap.append(R.id.menu_exit, EmulationActivity.MENU_ACTION_EXIT); + buttonsActionsMap.append(R.id.menu_emulation_switch_screen_layout, + EmulationActivity.MENU_ACTION_SWITCH_SCREEN_LAYOUT); + buttonsActionsMap.append(R.id.menu_emulation_swap_screens, + EmulationActivity.MENU_ACTION_SWAP_SCREENS); + buttonsActionsMap + .append(R.id.menu_emulation_reset_overlay, EmulationActivity.MENU_ACTION_RESET_OVERLAY); + } + + public static void launch(FragmentActivity activity, String path, String title, + String screenshotPath, int position, View sharedView) + { + Intent launcher = new Intent(activity, EmulationActivity.class); + + launcher.putExtra(EXTRA_SELECTED_GAME, path); + launcher.putExtra(EXTRA_SELECTED_TITLE, title); + launcher.putExtra(EXTRA_SCREEN_PATH, screenshotPath); + launcher.putExtra(EXTRA_GRID_POSITION, position); + + ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation( + activity, + sharedView, + "image_game_screenshot"); + + // I believe this warning is a bug. Activities are FragmentActivity from the support lib + //noinspection RestrictedApi + activity.startActivityForResult(launcher, MainPresenter.REQUEST_EMULATE_GAME, + options.toBundle()); + } + + @Override + protected void onCreate(Bundle savedInstanceState) + { + super.onCreate(savedInstanceState); + + if (savedInstanceState == null) + { + // Get params we were passed + Intent gameToEmulate = getIntent(); + mPath = gameToEmulate.getStringExtra(EXTRA_SELECTED_GAME); + mSelectedTitle = gameToEmulate.getStringExtra(EXTRA_SELECTED_TITLE); + mScreenPath = gameToEmulate.getStringExtra(EXTRA_SCREEN_PATH); + mPosition = gameToEmulate.getIntExtra(EXTRA_GRID_POSITION, -1); + activityRecreated = false; + } + else + { + activityRecreated = true; + restoreState(savedInstanceState); + } + + mDeviceHasTouchScreen = getPackageManager().hasSystemFeature("android.hardware.touchscreen"); + mControllerMappingHelper = new ControllerMappingHelper(); + + int themeId; + if (mDeviceHasTouchScreen) + { + themeId = R.style.CitraEmulation; + + // Get a handle to the Window containing the UI. + mDecorView = getWindow().getDecorView(); + mDecorView.setOnSystemUiVisibilityChangeListener(visibility -> + { + if ((visibility & View.SYSTEM_UI_FLAG_FULLSCREEN) == 0) + { + // Go back to immersive fullscreen mode in 3s + Handler handler = new Handler(getMainLooper()); + handler.postDelayed(this::enableFullscreenImmersive, 3000 /* 3s */); + } + }); + // Set these options now so that the SurfaceView the game renders into is the right size. + enableFullscreenImmersive(); + } + else + { + themeId = R.style.CitraEmulationTv; + } + + setTheme(themeId); + + setContentView(R.layout.activity_emulation); + + mImageView = findViewById(R.id.image_screenshot); + + // Find or create the EmulationFragment + mEmulationFragment = (EmulationFragment) getSupportFragmentManager() + .findFragmentById(R.id.frame_emulation_fragment); + if (mEmulationFragment == null) + { + mEmulationFragment = EmulationFragment.newInstance(mPath); + getSupportFragmentManager().beginTransaction() + .add(R.id.frame_emulation_fragment, mEmulationFragment) + .commit(); + } + + if (savedInstanceState == null) + { + // Picasso will take a while to load these big-ass screenshots. So don't run + // the animation until we say so. + postponeEnterTransition(); + + Picasso.with(this) + .load(mScreenPath) + .noFade() + .noPlaceholder() + .into(mImageView, new Callback() + { + @Override + public void onSuccess() + { + supportStartPostponedEnterTransition(); + } + + @Override + public void onError() + { + // Still have to do this, or else the app will crash. + supportStartPostponedEnterTransition(); + } + }); + + Animations.fadeViewOut(mImageView) + .setStartDelay(2000) + .withEndAction(() -> mImageView.setVisibility(View.GONE)); + } + else + { + mImageView.setVisibility(View.GONE); + } + + if (mDeviceHasTouchScreen) + { + setTitle(mSelectedTitle); + } + + mPreferences = PreferenceManager.getDefaultSharedPreferences(this); + + } + + @Override + protected void onSaveInstanceState(Bundle outState) + { + outState.putString(EXTRA_SELECTED_GAME, mPath); + outState.putString(EXTRA_SELECTED_TITLE, mSelectedTitle); + outState.putString(EXTRA_SCREEN_PATH, mScreenPath); + outState.putInt(EXTRA_GRID_POSITION, mPosition); + super.onSaveInstanceState(outState); + } + + protected void restoreState(Bundle savedInstanceState) + { + mPath = savedInstanceState.getString(EXTRA_SELECTED_GAME); + mSelectedTitle = savedInstanceState.getString(EXTRA_SELECTED_TITLE); + mScreenPath = savedInstanceState.getString(EXTRA_SCREEN_PATH); + mPosition = savedInstanceState.getInt(EXTRA_GRID_POSITION); + } + + @Override + public void onBackPressed() + { + if (!mDeviceHasTouchScreen) + { + boolean popResult = getSupportFragmentManager().popBackStackImmediate( + BACKSTACK_NAME_SUBMENU, FragmentManager.POP_BACK_STACK_INCLUSIVE); + if (!popResult) + { + toggleMenu(); + } + } + else + { + if (mBackPressedOnce) { + mEmulationFragment.stopEmulation(); + exitWithAnimation(); + } + else + { + mBackPressedOnce = true; + Toast.makeText(this, "Press back again to exit", Toast.LENGTH_SHORT).show(); + } + + Handler mHandler = new Handler(); + mHandler.postDelayed(new Runnable() + { + @Override public void run() + { + mBackPressedOnce = false; + mHandler.removeCallbacks(this); + } + }, 2000); + } + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent result) + { + } + + private void enableFullscreenImmersive() + { + // It would be nice to use IMMERSIVE_STICKY, but that doesn't show the toolbar. + mDecorView.setSystemUiVisibility( + View.SYSTEM_UI_FLAG_LAYOUT_STABLE | + View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | + View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | + View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | + View.SYSTEM_UI_FLAG_FULLSCREEN | + View.SYSTEM_UI_FLAG_IMMERSIVE); + } + + private void toggleMenu() + { + boolean result = getSupportFragmentManager().popBackStackImmediate( + BACKSTACK_NAME_MENU, FragmentManager.POP_BACK_STACK_INCLUSIVE); + mMenuVisible = false; + + if (!result) + { + // Removing the menu failed, so that means it wasn't visible. Add it. + Fragment fragment = MenuFragment.newInstance(mSelectedTitle); + getSupportFragmentManager().beginTransaction() + .setCustomAnimations( + R.animator.menu_slide_in_from_left, + R.animator.menu_slide_out_to_left, + R.animator.menu_slide_in_from_left, + R.animator.menu_slide_out_to_left) + .add(R.id.frame_menu, fragment) + .addToBackStack(BACKSTACK_NAME_MENU) + .commit(); + mMenuVisible = true; + } + } + + public void exitWithAnimation() + { + runOnUiThread(() -> + { + Picasso.with(EmulationActivity.this) + .invalidate(mScreenPath); + + Picasso.with(EmulationActivity.this) + .load(mScreenPath) + .noFade() + .noPlaceholder() + .into(mImageView, new Callback() + { + @Override + public void onSuccess() + { + showScreenshot(); + } + + @Override + public void onError() + { + finish(); + } + }); + }); + } + + private void showScreenshot() + { + Animations.fadeViewIn(mImageView) + .withEndAction(afterShowingScreenshot); + } + + private Runnable afterShowingScreenshot = new Runnable() + { + @Override + public void run() + { + setResult(mPosition); + supportFinishAfterTransition(); + } + }; + + @Override + public boolean onCreateOptionsMenu(Menu menu) + { + // Inflate the menu; this adds items to the action bar if it is present. + getMenuInflater().inflate(R.menu.menu_emulation, menu); + return true; + } + + @SuppressWarnings("WrongConstant") + @Override + public boolean onOptionsItemSelected(MenuItem item) + { + int action = buttonsActionsMap.get(item.getItemId(), -1); + if (action >= 0) + { + handleMenuAction(action); + } + return true; + } + + public void handleMenuAction(@MenuAction int menuAction) + { + switch (menuAction) + { + // Edit the placement of the controls + case MENU_ACTION_EDIT_CONTROLS_PLACEMENT: + editControlsPlacement(); + break; + + // Enable/Disable specific buttons or the entire input overlay. + case MENU_ACTION_TOGGLE_CONTROLS: + toggleControls(); + return; + + // Adjust the scale of the overlay controls. + case MENU_ACTION_ADJUST_SCALE: + adjustScale(); + return; + + // Toggle the visibility of the Performance stats TextView + case MENU_ACTION_TOGGLE_PREF_STATS: + mEmulationFragment.togglePerfStatsVisibility(); + return; + + // Switch the layout of the screens + case MENU_ACTION_SWITCH_SCREEN_LAYOUT: + NativeLibrary.SwitchScreenLayout(); + return; + + // Swap the top and bottom screen locations + case MENU_ACTION_SWAP_SCREENS: + NativeLibrary.SwapScreens(); + return; + + // Reset overlay placement + case MENU_ACTION_RESET_OVERLAY: + resetOverlay(); + break; + + case MENU_ACTION_EXIT: + toggleMenu(); // Hide the menu (it will be showing since we just clicked it) + mEmulationFragment.stopEmulation(); + exitWithAnimation(); + return; + } + } + + + private void editControlsPlacement() + { + if (mEmulationFragment.isConfiguringControls()) + { + mEmulationFragment.stopConfiguringControls(); + } + else + { + mEmulationFragment.startConfiguringControls(); + } + } + + // Gets button presses + @Override + public boolean dispatchKeyEvent(KeyEvent event) + { + if (mMenuVisible) + { + return super.dispatchKeyEvent(event); + } + + int action; + + switch (event.getAction()) + { + case KeyEvent.ACTION_DOWN: + // Handling the case where the back button is pressed. + if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) + { + onBackPressed(); + return true; + } + + // Normal key events. + action = NativeLibrary.ButtonState.PRESSED; + break; + case KeyEvent.ACTION_UP: + action = NativeLibrary.ButtonState.RELEASED; + break; + default: + return false; + } + InputDevice input = event.getDevice(); + return NativeLibrary.onGamePadEvent(input.getDescriptor(), event.getKeyCode(), action); + } + + private void toggleControls() + { + final SharedPreferences.Editor editor = mPreferences.edit(); + boolean[] enabledButtons = new boolean[14]; + AlertDialog.Builder builder = new AlertDialog.Builder(this); + builder.setTitle(R.string.emulation_toggle_controls); + + for (int i = 0; i < enabledButtons.length; i++) + { + enabledButtons[i] = mPreferences.getBoolean("buttonToggle" + i, true); + } + builder.setMultiChoiceItems(R.array.n3dsButtons, enabledButtons, + (dialog, indexSelected, isChecked) -> editor + .putBoolean("buttonToggle" + indexSelected, isChecked)); + + + builder.setNeutralButton(getString(R.string.emulation_toggle_all), + (dialogInterface, i) -> mEmulationFragment.toggleInputOverlayVisibility()); + builder.setPositiveButton(getString(R.string.ok), (dialogInterface, i) -> + { + editor.apply(); + + mEmulationFragment.refreshInputOverlay(); + }); + + AlertDialog alertDialog = builder.create(); + alertDialog.show(); + } + + private void adjustScale() + { + LayoutInflater inflater = LayoutInflater.from(this); + View view = inflater.inflate(R.layout.dialog_seekbar, null); + + final SeekBar seekbar = view.findViewById(R.id.seekbar); + final TextView value = view.findViewById(R.id.text_value); + final TextView units = view.findViewById(R.id.text_units); + + seekbar.setMax(150); + seekbar.setProgress(mPreferences.getInt("controlScale", 50)); + seekbar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() + { + public void onStartTrackingTouch(SeekBar seekBar) + { + // Do nothing + } + + public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) + { + value.setText(String.valueOf(progress + 50)); + } + + public void onStopTrackingTouch(SeekBar seekBar) + { + // Do nothing + } + }); + + value.setText(String.valueOf(seekbar.getProgress() + 50)); + units.setText("%"); + + AlertDialog.Builder builder = new AlertDialog.Builder(this); + builder.setTitle(R.string.emulation_control_scale); + builder.setView(view); + builder.setPositiveButton(getString(R.string.ok), (dialogInterface, i) -> + { + SharedPreferences.Editor editor = mPreferences.edit(); + editor.putInt("controlScale", seekbar.getProgress()); + editor.apply(); + + mEmulationFragment.refreshInputOverlay(); + }); + + AlertDialog alertDialog = builder.create(); + alertDialog.show(); + } + + private void resetOverlay() + { + new AlertDialog.Builder(this) + .setTitle(getString(R.string.emulation_touch_overlay_reset)) + .setPositiveButton(R.string.yes, (dialogInterface, i) -> + { + mEmulationFragment.resetInputOverlay(); + }) + .setNegativeButton(R.string.cancel, (dialogInterface, i) -> + { + }) + .create() + .show(); + } + + @Override + public boolean dispatchGenericMotionEvent(MotionEvent event) + { + if (mMenuVisible) + { + return false; + } + + if (((event.getSource() & InputDevice.SOURCE_CLASS_JOYSTICK) == 0)) + { + return super.dispatchGenericMotionEvent(event); + } + + // Don't attempt to do anything if we are disconnecting a device. + if (event.getActionMasked() == MotionEvent.ACTION_CANCEL) + return true; + + InputDevice input = event.getDevice(); + List motions = input.getMotionRanges(); + + float[] axisValues = {0.0f, 0.0f}; + for (InputDevice.MotionRange range : motions) + { + boolean consumed = false; + int axis = range.getAxis(); + float origValue = event.getAxisValue(axis); + float value = mControllerMappingHelper.scaleAxis(input, axis, origValue); + + if (axis == AXIS_X || axis == AXIS_Z) + { + axisValues[0] = value; + } + else if (axis == AXIS_Y || axis == AXIS_RZ) + { + axisValues[1] = value; + } + + // If the input is still in the "flat" area, that means it's really zero. + // This is used to compensate for imprecision in joysticks. + if (Math.abs(axisValues[0]) > range.getFlat() || Math.abs(axisValues[1]) > range.getFlat()) + { + consumed = NativeLibrary.onGamePadMoveEvent(input.getDescriptor(), axis, axisValues[0], axisValues[1]); + } + else + { + consumed = NativeLibrary.onGamePadMoveEvent(input.getDescriptor(), axis, 0.0f, 0.0f); + } + + return NativeLibrary.onGamePadAxisEvent(input.getDescriptor(),axis, value) || consumed; + } + + return false; + } + + public boolean isActivityRecreated() + { + return activityRecreated; + } +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/adapters/GameAdapter.java b/src/android/app/src/main/java/org/citra/citra_android/adapters/GameAdapter.java new file mode 100644 index 000000000..bd17e758e --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/adapters/GameAdapter.java @@ -0,0 +1,251 @@ +package org.citra.citra_android.adapters; + +import android.database.Cursor; +import android.database.DataSetObserver; +import android.graphics.Rect; +import android.support.v4.app.FragmentActivity; +import android.support.v7.widget.RecyclerView; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import org.citra.citra_android.R; +import org.citra.citra_android.activities.EmulationActivity; +import org.citra.citra_android.model.GameDatabase; +import org.citra.citra_android.utils.Log; +import org.citra.citra_android.utils.PicassoUtils; +import org.citra.citra_android.viewholders.GameViewHolder; + +/** + * This adapter gets its information from a database Cursor. This fact, paired with the usage of + * ContentProviders and Loaders, allows for efficient display of a limited view into a (possibly) + * large dataset. + */ +public final class GameAdapter extends RecyclerView.Adapter implements + View.OnClickListener +{ + private Cursor mCursor; + private GameDataSetObserver mObserver; + + private boolean mDatasetValid; + + /** + * Initializes the adapter's observer, which watches for changes to the dataset. The adapter will + * display no data until a Cursor is supplied by a CursorLoader. + */ + public GameAdapter() + { + mDatasetValid = false; + mObserver = new GameDataSetObserver(); + } + + /** + * Called by the LayoutManager when it is necessary to create a new view. + * + * @param parent The RecyclerView (I think?) the created view will be thrown into. + * @param viewType Not used here, but useful when more than one type of child will be used in the RecyclerView. + * @return The created ViewHolder with references to all the child view's members. + */ + @Override + public GameViewHolder onCreateViewHolder(ViewGroup parent, int viewType) + { + // Create a new view. + View gameCard = LayoutInflater.from(parent.getContext()) + .inflate(R.layout.card_game, parent, false); + + gameCard.setOnClickListener(this); + + // Use that view to create a ViewHolder. + return new GameViewHolder(gameCard); + } + + /** + * Called by the LayoutManager when a new view is not necessary because we can recycle + * an existing one (for example, if a view just scrolled onto the screen from the bottom, we + * can use the view that just scrolled off the top instead of inflating a new one.) + * + * @param holder A ViewHolder representing the view we're recycling. + * @param position The position of the 'new' view in the dataset. + */ + @Override + public void onBindViewHolder(GameViewHolder holder, int position) + { + if (mDatasetValid) + { + if (mCursor.moveToPosition(position)) + { + String screenPath = mCursor.getString(GameDatabase.GAME_COLUMN_SCREENSHOT_PATH); + PicassoUtils.loadGameBanner(holder.imageScreenshot, screenPath, + mCursor.getString(GameDatabase.GAME_COLUMN_PATH)); + + holder.textGameTitle.setText(mCursor.getString(GameDatabase.GAME_COLUMN_TITLE)); + holder.textCompany.setText(mCursor.getString(GameDatabase.GAME_COLUMN_COMPANY)); + + // TODO These shouldn't be necessary once the move to a DB-based model is complete. + holder.gameId = mCursor.getString(GameDatabase.GAME_COLUMN_GAME_ID); + holder.path = mCursor.getString(GameDatabase.GAME_COLUMN_PATH); + holder.title = mCursor.getString(GameDatabase.GAME_COLUMN_TITLE); + holder.description = mCursor.getString(GameDatabase.GAME_COLUMN_DESCRIPTION); + holder.country = mCursor.getInt(GameDatabase.GAME_COLUMN_COUNTRY); + holder.company = mCursor.getString(GameDatabase.GAME_COLUMN_COMPANY); + holder.screenshotPath = mCursor.getString(GameDatabase.GAME_COLUMN_SCREENSHOT_PATH); + } + else + { + Log.error("[GameAdapter] Can't bind view; Cursor is not valid."); + } + } + else + { + Log.error("[GameAdapter] Can't bind view; dataset is not valid."); + } + } + + /** + * Called by the LayoutManager to find out how much data we have. + * + * @return Size of the dataset. + */ + @Override + public int getItemCount() + { + if (mDatasetValid && mCursor != null) + { + return mCursor.getCount(); + } + Log.error("[GameAdapter] Dataset is not valid."); + return 0; + } + + /** + * Return the contents of the _id column for a given row. + * + * @param position The row for which Android wants an ID. + * @return A valid ID from the database, or 0 if not available. + */ + @Override + public long getItemId(int position) + { + if (mDatasetValid && mCursor != null) + { + if (mCursor.moveToPosition(position)) + { + return mCursor.getLong(GameDatabase.COLUMN_DB_ID); + } + } + + Log.error("[GameAdapter] Dataset is not valid."); + return 0; + } + + /** + * Tell Android whether or not each item in the dataset has a stable identifier. + * Which it does, because it's a database, so always tell Android 'true'. + * + * @param hasStableIds ignored. + */ + @Override + public void setHasStableIds(boolean hasStableIds) + { + super.setHasStableIds(true); + } + + /** + * When a load is finished, call this to replace the existing data with the newly-loaded + * data. + * + * @param cursor The newly-loaded Cursor. + */ + public void swapCursor(Cursor cursor) + { + // Sanity check. + if (cursor == mCursor) + { + return; + } + + // Before getting rid of the old cursor, disassociate it from the Observer. + final Cursor oldCursor = mCursor; + if (oldCursor != null && mObserver != null) + { + oldCursor.unregisterDataSetObserver(mObserver); + } + + mCursor = cursor; + if (mCursor != null) + { + // Attempt to associate the new Cursor with the Observer. + if (mObserver != null) + { + mCursor.registerDataSetObserver(mObserver); + } + + mDatasetValid = true; + } + else + { + mDatasetValid = false; + } + + notifyDataSetChanged(); + } + + /** + * Launches the game that was clicked on. + * + * @param view The card representing the game the user wants to play. + */ + @Override + public void onClick(View view) + { + GameViewHolder holder = (GameViewHolder) view.getTag(); + + EmulationActivity.launch((FragmentActivity) view.getContext(), + holder.path, + holder.title, + holder.screenshotPath, + holder.getAdapterPosition(), + holder.imageScreenshot); + } + + public static class SpacesItemDecoration extends RecyclerView.ItemDecoration + { + private int space; + + public SpacesItemDecoration(int space) + { + this.space = space; + } + + @Override + public void getItemOffsets(Rect outRect, View view, RecyclerView parent, + RecyclerView.State state) + { + outRect.left = space; + outRect.right = space; + outRect.bottom = space; + outRect.top = space; + } + } + + private final class GameDataSetObserver extends DataSetObserver + { + @Override + public void onChanged() + { + super.onChanged(); + + mDatasetValid = true; + notifyDataSetChanged(); + } + + @Override + public void onInvalidated() + { + super.onInvalidated(); + + mDatasetValid = false; + notifyDataSetChanged(); + } + } +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/adapters/GameRowPresenter.java b/src/android/app/src/main/java/org/citra/citra_android/adapters/GameRowPresenter.java new file mode 100644 index 000000000..bff54864b --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/adapters/GameRowPresenter.java @@ -0,0 +1,73 @@ +package org.citra.citra_android.adapters; + +import android.content.Context; +import android.graphics.drawable.Drawable; +import android.support.v17.leanback.widget.ImageCardView; +import android.support.v17.leanback.widget.Presenter; +import android.support.v4.content.ContextCompat; +import android.view.ViewGroup; +import android.widget.ImageView; + +import org.citra.citra_android.R; +import org.citra.citra_android.model.Game; +import org.citra.citra_android.utils.PicassoUtils; +import org.citra.citra_android.viewholders.TvGameViewHolder; + +/** + * The Leanback library / docs call this a Presenter, but it works very + * similarly to a RecyclerView.Adapter. + */ +public final class GameRowPresenter extends Presenter +{ + @Override + public ViewHolder onCreateViewHolder(ViewGroup parent) + { + // Create a new view. + ImageCardView gameCard = new ImageCardView(parent.getContext()); + + gameCard.setMainImageAdjustViewBounds(true); + gameCard.setMainImageDimensions(48, 48); + gameCard.setMainImageScaleType(ImageView.ScaleType.CENTER_CROP); + + gameCard.setFocusable(true); + gameCard.setFocusableInTouchMode(true); + + // Use that view to create a ViewHolder. + return new TvGameViewHolder(gameCard); + } + + @Override + public void onBindViewHolder(ViewHolder viewHolder, Object item) + { + TvGameViewHolder holder = (TvGameViewHolder) viewHolder; + Game game = (Game) item; + + String screenPath = game.getScreenshotPath(); + + holder.imageScreenshot.setImageDrawable(null); + PicassoUtils.loadGameBanner(holder.imageScreenshot, screenPath, game.getPath()); + + holder.cardParent.setTitleText(game.getTitle()); + holder.cardParent.setContentText(game.getCompany()); + + // TODO These shouldn't be necessary once the move to a DB-based model is complete. + holder.gameId = game.getGameId(); + holder.path = game.getPath(); + holder.title = game.getTitle(); + holder.description = game.getDescription(); + holder.country = game.getCountry(); + holder.company = game.getCompany(); + holder.screenshotPath = game.getScreenshotPath(); + + // Set the platform-dependent background color of the card + Context context = holder.cardParent.getContext(); + Drawable background = ContextCompat.getDrawable(context, R.drawable.tv_card_background_gamecube); + holder.cardParent.setInfoAreaBackground(background); + } + + @Override + public void onUnbindViewHolder(ViewHolder viewHolder) + { + // no op + } +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/adapters/SettingsRowPresenter.java b/src/android/app/src/main/java/org/citra/citra_android/adapters/SettingsRowPresenter.java new file mode 100644 index 000000000..77c8c9ad8 --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/adapters/SettingsRowPresenter.java @@ -0,0 +1,46 @@ +package org.citra.citra_android.adapters; + +import android.content.res.Resources; +import android.support.v17.leanback.widget.ImageCardView; +import android.support.v17.leanback.widget.Presenter; +import android.view.ViewGroup; + +import org.citra.citra_android.model.TvSettingsItem; +import org.citra.citra_android.viewholders.TvSettingsViewHolder; + +public final class SettingsRowPresenter extends Presenter +{ + public Presenter.ViewHolder onCreateViewHolder(ViewGroup parent) + { + // Create a new view. + ImageCardView settingsCard = new ImageCardView(parent.getContext()); + + settingsCard.setMainImageAdjustViewBounds(true); + settingsCard.setMainImageDimensions(192, 160); + + + settingsCard.setFocusable(true); + settingsCard.setFocusableInTouchMode(true); + + // Use that view to create a ViewHolder. + return new TvSettingsViewHolder(settingsCard); + } + + public void onBindViewHolder(Presenter.ViewHolder viewHolder, Object item) + { + TvSettingsViewHolder holder = (TvSettingsViewHolder) viewHolder; + TvSettingsItem settingsItem = (TvSettingsItem) item; + + Resources resources = holder.cardParent.getResources(); + + holder.itemId = settingsItem.getItemId(); + + holder.cardParent.setTitleText(resources.getString(settingsItem.getLabelId())); + holder.cardParent.setMainImage(resources.getDrawable(settingsItem.getIconId(), null)); + } + + public void onUnbindViewHolder(Presenter.ViewHolder viewHolder) + { + // no op + } +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/dialogs/GameDetailsDialog.java b/src/android/app/src/main/java/org/citra/citra_android/dialogs/GameDetailsDialog.java new file mode 100644 index 000000000..7e62dcae7 --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/dialogs/GameDetailsDialog.java @@ -0,0 +1,97 @@ +package org.citra.citra_android.dialogs; + +import android.app.AlertDialog; +import android.app.Dialog; +import android.os.Bundle; +import android.support.design.widget.FloatingActionButton; +import android.support.v4.app.DialogFragment; +import android.view.ViewGroup; +import android.widget.ImageView; +import android.widget.TextView; + +import com.squareup.picasso.Picasso; + +import org.citra.citra_android.R; +import org.citra.citra_android.activities.EmulationActivity; + +import de.hdodenhof.circleimageview.CircleImageView; + +public final class GameDetailsDialog extends DialogFragment +{ + private static final String ARG_GAME_TITLE = "game_title"; + private static final String ARG_GAME_DESCRIPTION = "game_description"; + private static final String ARG_GAME_COUNTRY = "game_country"; + private static final String ARG_GAME_DATE = "game_date"; + private static final String ARG_GAME_PATH = "game_path"; + private static final String ARG_GAME_SCREENSHOT_PATH = "game_screenshot_path"; + + // TODO Add all of this to the Loader in GameActivity.java + public static GameDetailsDialog newInstance(String title, String description, int country, + String company, String path, String screenshotPath) + { + GameDetailsDialog fragment = new GameDetailsDialog(); + + Bundle arguments = new Bundle(); + arguments.putString(ARG_GAME_TITLE, title); + arguments.putString(ARG_GAME_DESCRIPTION, description); + arguments.putInt(ARG_GAME_COUNTRY, country); + arguments.putString(ARG_GAME_DATE, company); + arguments.putString(ARG_GAME_PATH, path); + arguments.putString(ARG_GAME_SCREENSHOT_PATH, screenshotPath); + fragment.setArguments(arguments); + + return fragment; + } + + @Override + public Dialog onCreateDialog(Bundle savedInstanceState) + { + AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); + ViewGroup contents = (ViewGroup) getActivity().getLayoutInflater() + .inflate(R.layout.dialog_game_details, null); + + final ImageView imageGameScreen = contents.findViewById(R.id.image_game_screen); + CircleImageView circleBanner = contents.findViewById(R.id.circle_banner); + + TextView textTitle = contents.findViewById(R.id.text_game_title); + TextView textDescription = contents.findViewById(R.id.text_company); + + TextView textCountry = contents.findViewById(R.id.text_country); + TextView textDate = contents.findViewById(R.id.text_date); + + FloatingActionButton buttonLaunch = contents.findViewById(R.id.button_launch); + + int countryIndex = getArguments().getInt(ARG_GAME_COUNTRY); + String country = getResources().getStringArray(R.array.countryNames)[countryIndex]; + + textTitle.setText(getArguments().getString(ARG_GAME_TITLE)); + textDescription.setText(getArguments().getString(ARG_GAME_DESCRIPTION)); + textCountry.setText(country); + textDate.setText(getArguments().getString(ARG_GAME_DATE)); + + buttonLaunch.setOnClickListener(view -> + { + // Start the emulation activity and send the path of the clicked ROM to it. + EmulationActivity.launch(getActivity(), + getArguments().getString(ARG_GAME_PATH), + getArguments().getString(ARG_GAME_TITLE), + getArguments().getString(ARG_GAME_SCREENSHOT_PATH), + -1, + imageGameScreen); + }); + + // Fill in the view contents. + Picasso.with(imageGameScreen.getContext()) + .load(getArguments().getString(ARG_GAME_SCREENSHOT_PATH)) + .fit() + .centerCrop() + .noFade() + .noPlaceholder() + .into(imageGameScreen); + + circleBanner.setImageResource(R.drawable.no_banner); + + builder.setView(contents); + return builder.create(); + } +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/dialogs/MotionAlertDialog.java b/src/android/app/src/main/java/org/citra/citra_android/dialogs/MotionAlertDialog.java new file mode 100644 index 000000000..25421d034 --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/dialogs/MotionAlertDialog.java @@ -0,0 +1,174 @@ +package org.citra.citra_android.dialogs; + +import android.app.AlertDialog; +import android.content.Context; +import android.content.SharedPreferences; +import android.preference.PreferenceManager; +import android.view.InputDevice; +import android.view.KeyEvent; +import android.view.MotionEvent; + +import org.citra.citra_android.model.settings.view.InputBindingSetting; +import org.citra.citra_android.utils.ControllerMappingHelper; +import org.citra.citra_android.utils.Log; + +import java.util.List; + +/** + * {@link AlertDialog} derivative that listens for + * motion events from controllers and joysticks. + */ +public final class MotionAlertDialog extends AlertDialog +{ + // The selected input preference + private final InputBindingSetting setting; + private final ControllerMappingHelper mControllerMappingHelper; + private boolean mWaitingForEvent = true; + + /** + * Constructor + * + * @param context The current {@link Context}. + * @param setting The Preference to show this dialog for. + */ + public MotionAlertDialog(Context context, InputBindingSetting setting) + { + super(context); + + this.setting = setting; + this.mControllerMappingHelper = new ControllerMappingHelper(); + } + + public boolean onKeyEvent(int keyCode, KeyEvent event) + { + Log.debug("[MotionAlertDialog] Received key event: " + event.getAction()); + switch (event.getAction()) + { + case KeyEvent.ACTION_DOWN: + if (!mControllerMappingHelper.shouldKeyBeIgnored(event.getDevice(), keyCode)) + { + saveKeyInput(event); + } + // Even if we ignore the key, we still consume it. Thus return true regardless. + return true; + + default: + return false; + } + } + + @Override + public boolean dispatchKeyEvent(KeyEvent event) + { + // Handle this key if we care about it, otherwise pass it down the framework + return onKeyEvent(event.getKeyCode(), event) || super.dispatchKeyEvent(event); + } + + @Override + public boolean dispatchGenericMotionEvent(MotionEvent event) + { + // Handle this event if we care about it, otherwise pass it down the framework + return onMotionEvent(event) || super.dispatchGenericMotionEvent(event); + } + + private boolean onMotionEvent(MotionEvent event) + { + if ((event.getSource() & InputDevice.SOURCE_CLASS_JOYSTICK) == 0) + return false; + if (event.getAction() != MotionEvent.ACTION_MOVE) + return false; + + InputDevice input = event.getDevice(); + + List motionRanges = input.getMotionRanges(); + + int numMovedAxis = 0; + float axisMoveValue = 0.0f; + InputDevice.MotionRange lastMovedRange = null; + char lastMovedDir = '?'; + if (mWaitingForEvent) + { + // Get only the axis that seem to have moved (more than .5) + for (InputDevice.MotionRange range : motionRanges) + { + int axis = range.getAxis(); + float origValue = event.getAxisValue(axis); + float value = mControllerMappingHelper.scaleAxis(input, axis, origValue); + if (Math.abs(value) > 0.5f) + { + // It is common to have multiple axis with the same physical input. For example, + // shoulder butters are provided as both AXIS_LTRIGGER and AXIS_BRAKE. + // To handle this, we ignore an axis motion that's the exact same as a motion + // we already saw. This way, we ignore axis with two names, but catch the case + // where a joystick is moved in two directions. + // ref: bottom of https://developer.android.com/training/game-controllers/controller-input.html + if (value != axisMoveValue) + { + axisMoveValue = value; + numMovedAxis++; + lastMovedRange = range; + lastMovedDir = value < 0.0f ? '-' : '+'; + } + } + } + + // If only one axis moved, that's the winner. + if (numMovedAxis == 1) + { + mWaitingForEvent = false; + saveMotionInput(input, lastMovedRange, lastMovedDir); + } + } + + return true; + } + + /** + * Saves the provided key input setting both to the INI file (so native code can use it) and as + * an Android preference (so it persists correctly and is human-readable.) + * + * @param keyEvent KeyEvent of this key press. + */ + private void saveKeyInput(KeyEvent keyEvent) + { + InputDevice device = keyEvent.getDevice(); + String bindStr = "Device '" + device.getDescriptor() + "'-Button " + keyEvent.getKeyCode(); + String uiString = device.getName() + ": Button " + keyEvent.getKeyCode(); + + saveInput(bindStr, uiString); + } + + /** + * Saves the provided motion input setting both to the INI file (so native code can use it) and as + * an Android preference (so it persists correctly and is human-readable.) + * + * @param device InputDevice from which the input event originated. + * @param motionRange MotionRange of the movement + * @param axisDir Either '-' or '+' + */ + private void saveMotionInput(InputDevice device, InputDevice.MotionRange motionRange, + char axisDir) + { + String bindStr = + "Device '" + device.getDescriptor() + "'-Axis " + motionRange.getAxis() + axisDir; + String uiString = device.getName() + ": Axis " + motionRange.getAxis() + axisDir; + + saveInput(bindStr, uiString); + } + + /** + * Save the input string to settings and SharedPreferences, then dismiss this Dialog. + */ + private void saveInput(String bind, String ui) + { + setting.setValue(bind); + + SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(getContext()); + SharedPreferences.Editor editor = preferences.edit(); + + editor.putString(setting.getKey(), ui); + editor.apply(); + + dismiss(); + } +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/fragments/CustomFilePickerFragment.java b/src/android/app/src/main/java/org/citra/citra_android/fragments/CustomFilePickerFragment.java new file mode 100644 index 000000000..f2bc01a38 --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/fragments/CustomFilePickerFragment.java @@ -0,0 +1,22 @@ +package org.citra.citra_android.fragments; + +import android.net.Uri; +import android.support.annotation.NonNull; +import android.support.v4.content.FileProvider; + +import com.nononsenseapps.filepicker.FilePickerFragment; + +import java.io.File; + +public class CustomFilePickerFragment extends FilePickerFragment +{ + @NonNull + @Override + public Uri toUri(@NonNull final File file) + { + return FileProvider + .getUriForFile(getContext(), + getContext().getApplicationContext().getPackageName() + ".filesprovider", + file); + } +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/fragments/EmulationFragment.java b/src/android/app/src/main/java/org/citra/citra_android/fragments/EmulationFragment.java new file mode 100644 index 000000000..c79305254 --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/fragments/EmulationFragment.java @@ -0,0 +1,491 @@ +package org.citra.citra_android.fragments; + +import android.content.Context; +import android.content.IntentFilter; +import android.content.SharedPreferences; +import android.os.Bundle; +import android.os.Handler; +import android.preference.PreferenceManager; +import android.support.v4.app.Fragment; +import android.support.v4.content.LocalBroadcastManager; +import android.view.LayoutInflater; +import android.view.Surface; +import android.view.SurfaceHolder; +import android.view.SurfaceView; +import android.view.View; +import android.view.ViewGroup; +import android.widget.Button; +import android.widget.TextView; +import android.widget.Toast; + +import org.citra.citra_android.NativeLibrary; +import org.citra.citra_android.R; +import org.citra.citra_android.activities.EmulationActivity; +import org.citra.citra_android.overlay.InputOverlay; +import org.citra.citra_android.services.DirectoryInitializationService; +import org.citra.citra_android.services.DirectoryInitializationService.DirectoryInitializationState; +import org.citra.citra_android.utils.DirectoryStateReceiver; +import org.citra.citra_android.utils.Log; + +public final class EmulationFragment extends Fragment implements SurfaceHolder.Callback +{ + private static final String KEY_GAMEPATH = "gamepath"; + + private static final Handler perfStatsUpdateHandler = new Handler(); + + private SharedPreferences mPreferences; + + private InputOverlay mInputOverlay; + + private EmulationState mEmulationState; + + private DirectoryStateReceiver directoryStateReceiver; + + private EmulationActivity activity; + + private TextView mPerfStats; + + private Runnable perfStatsUpdater; + + public static EmulationFragment newInstance(String gamePath) + { + + Bundle args = new Bundle(); + args.putString(KEY_GAMEPATH, gamePath); + + EmulationFragment fragment = new EmulationFragment(); + fragment.setArguments(args); + return fragment; + } + + @Override + public void onAttach(Context context) + { + super.onAttach(context); + + if (context instanceof EmulationActivity) + { + activity = (EmulationActivity) context; + NativeLibrary.setEmulationActivity((EmulationActivity) context); + } + else + { + throw new IllegalStateException("EmulationFragment must have EmulationActivity parent"); + } + } + + /** + * Initialize anything that doesn't depend on the layout / views in here. + */ + @Override + public void onCreate(Bundle savedInstanceState) + { + super.onCreate(savedInstanceState); + + // So this fragment doesn't restart on configuration changes; i.e. rotation. + setRetainInstance(true); + + mPreferences = PreferenceManager.getDefaultSharedPreferences(getActivity()); + + String gamePath = getArguments().getString(KEY_GAMEPATH); + mEmulationState = new EmulationState(gamePath); + } + + /** + * Initialize the UI and start emulation in here. + */ + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) + { + View contents = inflater.inflate(R.layout.fragment_emulation, container, false); + + SurfaceView surfaceView = contents.findViewById(R.id.surface_emulation); + surfaceView.getHolder().addCallback(this); + + mInputOverlay = contents.findViewById(R.id.surface_input_overlay); + if (mInputOverlay != null) + { + // If the input overlay was previously disabled, then don't show it. + if (!mPreferences.getBoolean("showInputOverlay", true)) + { + mInputOverlay.setVisibility(View.GONE); + } + } + + Button doneButton = contents.findViewById(R.id.done_control_config); + if (doneButton != null) + { + doneButton.setOnClickListener(v -> stopConfiguringControls()); + } + + mPerfStats = contents.findViewById(R.id.perf_stats_text); + if (mPerfStats != null) + { + // If the overlay was previously disabled, then don't show it. + if (!mPreferences.getBoolean("showPerfStats", true)) + { + mPerfStats.setVisibility(View.GONE); + } + else + { + updatePerfStats(); + } + } + + // The new Surface created here will get passed to the native code via onSurfaceChanged. + + return contents; + } + + @Override + public void onResume() + { + super.onResume(); + if (DirectoryInitializationService.areDolphinDirectoriesReady()) + { + mEmulationState.run(activity.isActivityRecreated()); + } + else + { + setupDolphinDirectoriesThenStartEmulation(); + } + } + + @Override + public void onPause() + { + if (directoryStateReceiver != null) + { + LocalBroadcastManager.getInstance(getActivity()).unregisterReceiver(directoryStateReceiver); + directoryStateReceiver = null; + } + + mEmulationState.pause(); + super.onPause(); + } + + @Override + public void onDetach() + { + NativeLibrary.clearEmulationActivity(); + super.onDetach(); + } + + private void setupDolphinDirectoriesThenStartEmulation() + { + IntentFilter statusIntentFilter = new IntentFilter( + DirectoryInitializationService.BROADCAST_ACTION); + + directoryStateReceiver = + new DirectoryStateReceiver(directoryInitializationState -> + { + if (directoryInitializationState == + DirectoryInitializationState.DOLPHIN_DIRECTORIES_INITIALIZED) + { + mEmulationState.run(activity.isActivityRecreated()); + } + else if (directoryInitializationState == + DirectoryInitializationState.EXTERNAL_STORAGE_PERMISSION_NEEDED) + { + Toast.makeText(getContext(), R.string.write_permission_needed, Toast.LENGTH_SHORT) + .show(); + } + else if (directoryInitializationState == + DirectoryInitializationState.CANT_FIND_EXTERNAL_STORAGE) + { + Toast.makeText(getContext(), R.string.external_storage_not_mounted, + Toast.LENGTH_SHORT) + .show(); + } + }); + + // Registers the DirectoryStateReceiver and its intent filters + LocalBroadcastManager.getInstance(getActivity()).registerReceiver( + directoryStateReceiver, + statusIntentFilter); + DirectoryInitializationService.startService(getActivity()); + } + + public void toggleInputOverlayVisibility() + { + SharedPreferences.Editor editor = mPreferences.edit(); + + // If the overlay is currently set to INVISIBLE + if (!mPreferences.getBoolean("showInputOverlay", false)) + { + // Set it to VISIBLE + mInputOverlay.setVisibility(View.VISIBLE); + editor.putBoolean("showInputOverlay", true); + } + else + { + // Set it to INVISIBLE + mInputOverlay.setVisibility(View.GONE); + editor.putBoolean("showInputOverlay", false); + } + + editor.apply(); + } + + public void refreshInputOverlay() + { + mInputOverlay.refreshControls(); + } + + public void resetInputOverlay() + { + mInputOverlay.resetButtonPlacement(); + } + + public void togglePerfStatsVisibility() + { + SharedPreferences.Editor editor = mPreferences.edit(); + + // If the overlay is currently set to INVISIBLE + if (!mPreferences.getBoolean("showPerfStats", false)) + { + updatePerfStats(); + // Set it to VISIBLE + mPerfStats.setVisibility(View.VISIBLE); + editor.putBoolean("showPerfStats", true); + } + else + { + stopPerfStatsUpdates(); + // Set it to INVISIBLE + mPerfStats.setVisibility(View.GONE); + editor.putBoolean("showPerfStats", false); + } + + editor.apply(); + } + + private void updatePerfStats() + { + final int SYSTEM_FPS = 0; + final int FPS = 1; + final int FRAMETIME = 2; + final int SPEED = 3; + + perfStatsUpdater = () -> + { + double perfStats[] = NativeLibrary.GetPerfStats(); + mPerfStats + .setText(String.format("FPS: %.5s\nFrametime: %.7sms\nSpeed: %.4s%%", perfStats[FPS], + perfStats[FRAMETIME] * 1000.0, perfStats[SPEED] * 100.0)); + + perfStatsUpdateHandler.postDelayed(perfStatsUpdater, 3000 /* 3s */); + }; + perfStatsUpdateHandler.post(perfStatsUpdater); + } + + private void stopPerfStatsUpdates() + { + if (perfStatsUpdater != null) + { + perfStatsUpdateHandler.removeCallbacks(perfStatsUpdater); + } + } + + @Override + public void surfaceCreated(SurfaceHolder holder) + { + // We purposely don't do anything here. + // All work is done in surfaceChanged, which we are guaranteed to get even for surface creation. + } + + @Override + public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) + { + Log.debug("[EmulationFragment] Surface changed. Resolution: " + width + "x" + height); + mEmulationState.newSurface(holder.getSurface()); + } + + @Override + public void surfaceDestroyed(SurfaceHolder holder) + { + mEmulationState.clearSurface(); + } + + public void stopEmulation() + { + mEmulationState.stop(); + } + + public void startConfiguringControls() + { + getView().findViewById(R.id.done_control_config).setVisibility(View.VISIBLE); + mInputOverlay.setIsInEditMode(true); + } + + public void stopConfiguringControls() + { + getView().findViewById(R.id.done_control_config).setVisibility(View.GONE); + mInputOverlay.setIsInEditMode(false); + } + + public boolean isConfiguringControls() + { + return mInputOverlay.isInEditMode(); + } + + private static class EmulationState + { + private enum State + { + STOPPED, RUNNING, PAUSED + } + + private final String mGamePath; + private Thread mEmulationThread; + private State state; + private Surface mSurface; + private boolean mRunWhenSurfaceIsValid; + + EmulationState(String gamePath) + { + mGamePath = gamePath; + // Starting state is stopped. + state = State.STOPPED; + } + + // Getters for the current state + + public synchronized boolean isStopped() + { + return state == State.STOPPED; + } + + public synchronized boolean isPaused() + { + return state == State.PAUSED; + } + + public synchronized boolean isRunning() + { + return state == State.RUNNING; + } + + // State changing methods + + public synchronized void stop() + { + if (state != State.STOPPED) + { + Log.debug("[EmulationFragment] Stopping emulation."); + state = State.STOPPED; + NativeLibrary.StopEmulation(); + } + else + { + Log.warning("[EmulationFragment] Stop called while already stopped."); + } + } + + public synchronized void pause() + { + if (state != State.PAUSED) + { + state = State.PAUSED; + Log.debug("[EmulationFragment] Pausing emulation."); + + // Release the surface before pausing, since emulation has to be running for that. + NativeLibrary.SurfaceDestroyed(); + NativeLibrary.PauseEmulation(); + } + else + { + Log.warning("[EmulationFragment] Pause called while already paused."); + } + } + + public synchronized void run(boolean isActivityRecreated) + { + if (isActivityRecreated) + { + if (NativeLibrary.IsRunning()) + { + state = State.PAUSED; + } + } + else + { + Log.debug("[EmulationFragment] activity resumed or fresh start"); + } + + // If the surface is set, run now. Otherwise, wait for it to get set. + if (mSurface != null) + { + runWithValidSurface(); + } + else + { + mRunWhenSurfaceIsValid = true; + } + } + + // Surface callbacks + public synchronized void newSurface(Surface surface) + { + mSurface = surface; + if (mRunWhenSurfaceIsValid) + { + runWithValidSurface(); + } + } + + public synchronized void clearSurface() + { + if (mSurface == null) + { + Log.warning("[EmulationFragment] clearSurface called, but surface already null."); + } + else + { + mSurface = null; + Log.debug("[EmulationFragment] Surface destroyed."); + + if (state == State.RUNNING) + { + NativeLibrary.SurfaceDestroyed(); + state = State.PAUSED; + } + else if (state == State.PAUSED) + { + Log.warning("[EmulationFragment] Surface cleared while emulation paused."); + } + else + { + Log.warning("[EmulationFragment] Surface cleared while emulation stopped."); + } + } + } + + private void runWithValidSurface() + { + mRunWhenSurfaceIsValid = false; + if (state == State.STOPPED) + { + mEmulationThread = new Thread(() -> + { + NativeLibrary.SurfaceChanged(mSurface); + Log.debug("[EmulationFragment] Starting emulation thread."); + NativeLibrary.Run(mGamePath); + }, "NativeEmulation"); + mEmulationThread.start(); + + } + else if (state == State.PAUSED) + { + Log.debug("[EmulationFragment] Resuming emulation."); + NativeLibrary.SurfaceChanged(mSurface); + NativeLibrary.UnPauseEmulation(); + } + else + { + Log.debug("[EmulationFragment] Bug, run called while already running."); + } + state = State.RUNNING; + } + } +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/fragments/MenuFragment.java b/src/android/app/src/main/java/org/citra/citra_android/fragments/MenuFragment.java new file mode 100644 index 000000000..30c404f90 --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/fragments/MenuFragment.java @@ -0,0 +1,78 @@ +package org.citra.citra_android.fragments; + +import android.os.Bundle; +import android.support.annotation.Nullable; +import android.support.v4.app.Fragment; +import android.util.SparseIntArray; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.Button; +import android.widget.LinearLayout; +import android.widget.TextView; + +import org.citra.citra_android.R; +import org.citra.citra_android.activities.EmulationActivity; + +public final class MenuFragment extends Fragment implements View.OnClickListener +{ + private static final String KEY_TITLE = "title"; + private static SparseIntArray buttonsActionsMap = new SparseIntArray(); + + static + { + buttonsActionsMap.append(R.id.menu_emulation_toggle_perf_stats, + EmulationActivity.MENU_ACTION_TOGGLE_PREF_STATS); + buttonsActionsMap.append(R.id.menu_exit, EmulationActivity.MENU_ACTION_EXIT); + buttonsActionsMap.append(R.id.menu_emulation_switch_screen_layout, + EmulationActivity.MENU_ACTION_SWITCH_SCREEN_LAYOUT); + buttonsActionsMap.append(R.id.menu_emulation_swap_screens, + EmulationActivity.MENU_ACTION_SWAP_SCREENS); + } + + public static MenuFragment newInstance(String title) + { + MenuFragment fragment = new MenuFragment(); + + Bundle arguments = new Bundle(); + arguments.putSerializable(KEY_TITLE, title); + fragment.setArguments(arguments); + + return fragment; + } + + @Nullable + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) + { + View rootView = inflater.inflate(R.layout.fragment_ingame_menu, container, false); + + LinearLayout options = rootView.findViewById(R.id.layout_options); + for (int childIndex = 0; childIndex < options.getChildCount(); childIndex++) + { + Button button = (Button) options.getChildAt(childIndex); + + button.setOnClickListener(this); + } + + TextView titleText = rootView.findViewById(R.id.text_game_title); + String title = getArguments().getString(KEY_TITLE); + if (title != null) + { + titleText.setText(title); + } + + return rootView; + } + + @SuppressWarnings("WrongConstant") + @Override + public void onClick(View button) + { + int action = buttonsActionsMap.get(button.getId()); + if (action >= 0) + { + ((EmulationActivity) getActivity()).handleMenuAction(action); + } + } +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/model/Game.java b/src/android/app/src/main/java/org/citra/citra_android/model/Game.java new file mode 100644 index 000000000..ea524fdf0 --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/model/Game.java @@ -0,0 +1,96 @@ +package org.citra.citra_android.model; + +import android.content.ContentValues; +import android.database.Cursor; +import android.os.Environment; + +public final class Game +{ + private static final String PATH_SCREENSHOT_FOLDER = + "file://" + Environment.getExternalStorageDirectory().getPath() + "/citra-emu/ScreenShots/"; + + private String mTitle; + private String mDescription; + private String mPath; + private String mGameId; + private String mScreenshotPath; + private String mCompany; + + private int mCountry; + + public Game(String title, String description, int country, String path, + String gameId, String company, String screenshotPath) + { + mTitle = title; + mDescription = description; + mCountry = country; + mPath = path; + mGameId = gameId; + mCompany = company; + mScreenshotPath = screenshotPath; + } + + public String getTitle() + { + return mTitle; + } + + public String getDescription() + { + return mDescription; + } + + public String getCompany() + { + return mCompany; + } + + public int getCountry() + { + return mCountry; + } + + public String getPath() + { + return mPath; + } + + public String getGameId() + { + return mGameId; + } + + public String getScreenshotPath() + { + return mScreenshotPath; + } + + public static ContentValues asContentValues(String title, String description, + int country, String path, String gameId, String company) + { + ContentValues values = new ContentValues(); + + String screenPath = PATH_SCREENSHOT_FOLDER + gameId + "/" + gameId + "-1.png"; + + values.put(GameDatabase.KEY_GAME_TITLE, title); + values.put(GameDatabase.KEY_GAME_DESCRIPTION, description); + values.put(GameDatabase.KEY_GAME_COUNTRY, country); + values.put(GameDatabase.KEY_GAME_PATH, path); + values.put(GameDatabase.KEY_GAME_ID, gameId); + values.put(GameDatabase.KEY_GAME_COMPANY, company); + values.put(GameDatabase.KEY_GAME_SCREENSHOT_PATH, screenPath); + + return values; + } + + public static Game fromCursor(Cursor cursor) + { + return new Game(cursor.getString(GameDatabase.GAME_COLUMN_TITLE), + cursor.getString(GameDatabase.GAME_COLUMN_DESCRIPTION), + cursor.getInt(GameDatabase.GAME_COLUMN_COUNTRY), + cursor.getString(GameDatabase.GAME_COLUMN_PATH), + cursor.getString(GameDatabase.GAME_COLUMN_GAME_ID), + cursor.getString(GameDatabase.GAME_COLUMN_COMPANY), + cursor.getString(GameDatabase.GAME_COLUMN_SCREENSHOT_PATH)); + } +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/model/GameDatabase.java b/src/android/app/src/main/java/org/citra/citra_android/model/GameDatabase.java new file mode 100644 index 000000000..f893fff71 --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/model/GameDatabase.java @@ -0,0 +1,292 @@ +package org.citra.citra_android.model; + +import android.content.ContentValues; +import android.content.Context; +import android.database.Cursor; +import android.database.sqlite.SQLiteDatabase; +import android.database.sqlite.SQLiteOpenHelper; + +import org.citra.citra_android.NativeLibrary; +import org.citra.citra_android.utils.Log; + +import java.io.File; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; + +import rx.Observable; + +/** + * A helper class that provides several utilities simplifying interaction with + * the SQLite database. + */ +public final class GameDatabase extends SQLiteOpenHelper +{ + private static final int DB_VERSION = 1; + + public static final int COLUMN_DB_ID = 0; + + public static final int GAME_COLUMN_PATH = 1; + public static final int GAME_COLUMN_TITLE = 2; + public static final int GAME_COLUMN_DESCRIPTION = 3; + public static final int GAME_COLUMN_COUNTRY = 4; + public static final int GAME_COLUMN_GAME_ID = 5; + public static final int GAME_COLUMN_COMPANY = 6; + public static final int GAME_COLUMN_SCREENSHOT_PATH = 7; + + public static final int FOLDER_COLUMN_PATH = 1; + + public static final String KEY_DB_ID = "_id"; + + public static final String KEY_GAME_PATH = "path"; + public static final String KEY_GAME_TITLE = "title"; + public static final String KEY_GAME_DESCRIPTION = "description"; + public static final String KEY_GAME_COUNTRY = "country"; + public static final String KEY_GAME_ID = "game_id"; + public static final String KEY_GAME_COMPANY = "company"; + public static final String KEY_GAME_SCREENSHOT_PATH = "screenshot_path"; + + public static final String KEY_FOLDER_PATH = "path"; + + public static final String TABLE_NAME_FOLDERS = "folders"; + public static final String TABLE_NAME_GAMES = "games"; + + private static final String TYPE_PRIMARY = " INTEGER PRIMARY KEY"; + private static final String TYPE_INTEGER = " INTEGER"; + private static final String TYPE_STRING = " TEXT"; + + private static final String CONSTRAINT_UNIQUE = " UNIQUE"; + + private static final String SEPARATOR = ", "; + + private static final String SQL_CREATE_GAMES = "CREATE TABLE " + TABLE_NAME_GAMES + "(" + + KEY_DB_ID + TYPE_PRIMARY + SEPARATOR + + KEY_GAME_PATH + TYPE_STRING + SEPARATOR + + KEY_GAME_TITLE + TYPE_STRING + SEPARATOR + + KEY_GAME_DESCRIPTION + TYPE_STRING + SEPARATOR + + KEY_GAME_COUNTRY + TYPE_INTEGER + SEPARATOR + + KEY_GAME_ID + TYPE_STRING + SEPARATOR + + KEY_GAME_COMPANY + TYPE_STRING + SEPARATOR + + KEY_GAME_SCREENSHOT_PATH + TYPE_STRING + ")"; + + private static final String SQL_CREATE_FOLDERS = "CREATE TABLE " + TABLE_NAME_FOLDERS + "(" + + KEY_DB_ID + TYPE_PRIMARY + SEPARATOR + + KEY_FOLDER_PATH + TYPE_STRING + CONSTRAINT_UNIQUE + ")"; + + private static final String SQL_DELETE_FOLDERS = "DROP TABLE IF EXISTS " + TABLE_NAME_FOLDERS; + private static final String SQL_DELETE_GAMES = "DROP TABLE IF EXISTS " + TABLE_NAME_GAMES; + + public GameDatabase(Context context) + { + // Superclass constructor builds a database or uses an existing one. + super(context, "games.db", null, DB_VERSION); + } + + @Override + public void onCreate(SQLiteDatabase database) + { + Log.debug("[GameDatabase] GameDatabase - Creating database..."); + + execSqlAndLog(database, SQL_CREATE_GAMES); + execSqlAndLog(database, SQL_CREATE_FOLDERS); + } + + @Override + public void onDowngrade(SQLiteDatabase database, int oldVersion, int newVersion) + { + Log.verbose("[GameDatabase] Downgrades not supporting, clearing databases.."); + execSqlAndLog(database, SQL_DELETE_FOLDERS); + execSqlAndLog(database, SQL_CREATE_FOLDERS); + + execSqlAndLog(database, SQL_DELETE_GAMES); + execSqlAndLog(database, SQL_CREATE_GAMES); + } + + @Override + public void onUpgrade(SQLiteDatabase database, int oldVersion, int newVersion) + { + Log.info("[GameDatabase] Upgrading database from schema version " + oldVersion + " to " + + newVersion); + + // Delete all the games + execSqlAndLog(database, SQL_DELETE_GAMES); + execSqlAndLog(database, SQL_CREATE_GAMES); + + Log.verbose("[GameDatabase] Re-scanning library with new schema."); + scanLibrary(database); + } + + public void scanLibrary(SQLiteDatabase database) + { + // Before scanning known folders, go through the game table and remove any entries for which the file itself is missing. + Cursor fileCursor = database.query(TABLE_NAME_GAMES, + null, // Get all columns. + null, // Get all rows. + null, + null, // No grouping. + null, + null); // Order of games is irrelevant. + + // Possibly overly defensive, but ensures that moveToNext() does not skip a row. + fileCursor.moveToPosition(-1); + + while (fileCursor.moveToNext()) + { + String gamePath = fileCursor.getString(GAME_COLUMN_PATH); + File game = new File(gamePath); + + if (!game.exists()) + { + Log.error("[GameDatabase] Game file no longer exists. Removing from the library: " + + gamePath); + database.delete(TABLE_NAME_GAMES, + KEY_DB_ID + " = ?", + new String[]{Long.toString(fileCursor.getLong(COLUMN_DB_ID))}); + } + } + + + // Get a cursor listing all the folders the user has added to the library. + Cursor folderCursor = database.query(TABLE_NAME_FOLDERS, + null, // Get all columns. + null, // Get all rows. + null, + null, // No grouping. + null, + null); // Order of folders is irrelevant. + + Set allowedExtensions = new HashSet(Arrays.asList( + ".3ds", ".3ds", ".3dsx", ".elf", ".axf", ".cci", ".cxi", ".app")); + + // Possibly overly defensive, but ensures that moveToNext() does not skip a row. + folderCursor.moveToPosition(-1); + + // Iterate through all results of the DB query (i.e. all folders in the library.) + while (folderCursor.moveToNext()) + { + + String folderPath = folderCursor.getString(FOLDER_COLUMN_PATH); + File folder = new File(folderPath); + + Log.info("[GameDatabase] Reading files from library folder: " + folderPath); + + // Iterate through every file in the folder. + File[] children = folder.listFiles(); + + if (children != null) + { + for (File file : children) + { + if (!file.isHidden() && !file.isDirectory()) + { + String filePath = file.getPath(); + + int extensionStart = filePath.lastIndexOf('.'); + if (extensionStart > 0) + { + String fileExtension = filePath.substring(extensionStart); + + // Check that the file has an extension we care about before trying to read out of it. + if (allowedExtensions.contains(fileExtension.toLowerCase())) + { + String name = NativeLibrary.GetTitle(filePath); + + // If the game's title field is empty, use the filename. + if (name.isEmpty()) + { + name = filePath.substring(filePath.lastIndexOf("/") + 1); + } + + String gameId = NativeLibrary.GetGameId(filePath); + + // If the game's ID field is empty, use the filename without extension. + if (gameId.isEmpty()) + { + gameId = filePath.substring(filePath.lastIndexOf("/") + 1, + filePath.lastIndexOf(".")); + } + + ContentValues game = Game.asContentValues(name, + NativeLibrary.GetDescription(filePath).replace("\n", " "), + NativeLibrary.GetCountry(filePath), + filePath, + gameId, + NativeLibrary.GetCompany(filePath)); + + // Try to update an existing game first. + int rowsMatched = database.update(TABLE_NAME_GAMES, // Which table to update. + game, + // The values to fill the row with. + KEY_GAME_ID + " = ?", + // The WHERE clause used to find the right row. + new String[]{game.getAsString( + KEY_GAME_ID)}); // The ? in WHERE clause is replaced with this, + // which is provided as an array because there + // could potentially be more than one argument. + + // If update fails, insert a new game instead. + if (rowsMatched == 0) + { + Log.verbose("[GameDatabase] Adding game: " + game.getAsString(KEY_GAME_TITLE)); + database.insert(TABLE_NAME_GAMES, null, game); + } + else + { + Log.verbose("[GameDatabase] Updated game: " + game.getAsString(KEY_GAME_TITLE)); + } + } + } + } + } + } + // If the folder is empty because it no longer exists, remove it from the library. + else if (!folder.exists()) + { + Log.error( + "[GameDatabase] Folder no longer exists. Removing from the library: " + folderPath); + database.delete(TABLE_NAME_FOLDERS, + KEY_DB_ID + " = ?", + new String[]{Long.toString(folderCursor.getLong(COLUMN_DB_ID))}); + } + else + { + Log.error("[GameDatabase] Folder contains no games: " + folderPath); + } + } + + fileCursor.close(); + folderCursor.close(); + database.close(); + } + + public Observable getGames() + { + return Observable.create(subscriber -> + { + Log.info("[GameDatabase] Reading games list..."); + + SQLiteDatabase database = getReadableDatabase(); + Cursor resultCursor = database.query( + TABLE_NAME_GAMES, + null, + null, + null, + null, + null, + KEY_GAME_TITLE + " ASC" + ); + + // Pass the result cursor to the consumer. + subscriber.onNext(resultCursor); + + // Tell the consumer we're done; it will unsubscribe implicitly. + subscriber.onCompleted(); + }); + } + + private void execSqlAndLog(SQLiteDatabase database, String sql) + { + Log.verbose("[GameDatabase] Executing SQL: " + sql); + database.execSQL(sql); + } +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/model/GameProvider.java b/src/android/app/src/main/java/org/citra/citra_android/model/GameProvider.java new file mode 100644 index 000000000..c01da610f --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/model/GameProvider.java @@ -0,0 +1,155 @@ +package org.citra.citra_android.model; + +import android.content.ContentProvider; +import android.content.ContentValues; +import android.database.Cursor; +import android.database.sqlite.SQLiteDatabase; +import android.net.Uri; +import android.support.annotation.NonNull; + +import org.citra.citra_android.BuildConfig; +import org.citra.citra_android.utils.Log; + +/** + * Provides an interface allowing Activities to interact with the SQLite database. + * CRUD methods in this class can be called by Activities using getContentResolver(). + */ +public final class GameProvider extends ContentProvider +{ + public static final String REFRESH_LIBRARY = "refresh"; + + public static final String AUTHORITY = "content://" + BuildConfig.APPLICATION_ID + ".provider"; + public static final Uri URI_FOLDER = + Uri.parse(AUTHORITY + "/" + GameDatabase.TABLE_NAME_FOLDERS + "/"); + public static final Uri URI_GAME = + Uri.parse(AUTHORITY + "/" + GameDatabase.TABLE_NAME_GAMES + "/"); + public static final Uri URI_REFRESH = Uri.parse(AUTHORITY + "/" + REFRESH_LIBRARY + "/"); + + public static final String MIME_TYPE_FOLDER = "vnd.android.cursor.item/vnd.dolphin.folder"; + public static final String MIME_TYPE_GAME = "vnd.android.cursor.item/vnd.dolphin.game"; + + + private GameDatabase mDbHelper; + + @Override + public boolean onCreate() + { + Log.info("[GameProvider] Creating Content Provider..."); + + mDbHelper = new GameDatabase(getContext()); + + return true; + } + + @Override + public Cursor query(@NonNull Uri uri, String[] projection, String selection, + String[] selectionArgs, String sortOrder) + { + Log.info("[GameProvider] Querying URI: " + uri); + + SQLiteDatabase db = mDbHelper.getReadableDatabase(); + + String table = uri.getLastPathSegment(); + + if (table == null) + { + Log.error("[GameProvider] Badly formatted URI: " + uri); + return null; + } + + Cursor cursor = db.query(table, projection, selection, selectionArgs, null, null, sortOrder); + cursor.setNotificationUri(getContext().getContentResolver(), uri); + + return cursor; + } + + @Override + public String getType(@NonNull Uri uri) + { + Log.verbose("[GameProvider] Getting MIME type for URI: " + uri); + String lastSegment = uri.getLastPathSegment(); + + if (lastSegment == null) + { + Log.error("[GameProvider] Badly formatted URI: " + uri); + return null; + } + + if (lastSegment.equals(GameDatabase.TABLE_NAME_FOLDERS)) + { + return MIME_TYPE_FOLDER; + } + else if (lastSegment.equals(GameDatabase.TABLE_NAME_GAMES)) + { + return MIME_TYPE_GAME; + } + + Log.error("[GameProvider] Unknown MIME type for URI: " + uri); + return null; + } + + @Override + public Uri insert(@NonNull Uri uri, ContentValues values) + { + Log.info("[GameProvider] Inserting row at URI: " + uri); + + SQLiteDatabase database = mDbHelper.getWritableDatabase(); + String table = uri.getLastPathSegment(); + + long id = -1; + + if (table != null) + { + if (table.equals(REFRESH_LIBRARY)) + { + Log.info( + "[GameProvider] URI specified table REFRESH_LIBRARY. No insertion necessary; refreshing library contents..."); + mDbHelper.scanLibrary(database); + return uri; + } + + id = database.insertWithOnConflict(table, null, values, SQLiteDatabase.CONFLICT_IGNORE); + + // If insertion was successful... + if (id > 0) + { + // If we just added a folder, add its contents to the game list. + if (table.equals(GameDatabase.TABLE_NAME_FOLDERS)) + { + mDbHelper.scanLibrary(database); + } + + // Notify the UI that its contents should be refreshed. + getContext().getContentResolver().notifyChange(uri, null); + uri = Uri.withAppendedPath(uri, Long.toString(id)); + } + else + { + Log.error("[GameProvider] Row already exists: " + uri + " id: " + id); + } + } + else + { + Log.error("[GameProvider] Badly formatted URI: " + uri); + } + + database.close(); + + return uri; + } + + @Override + public int delete(@NonNull Uri uri, String selection, String[] selectionArgs) + { + Log.error("[GameProvider] Delete operations unsupported. URI: " + uri); + return 0; + } + + @Override + public int update(@NonNull Uri uri, ContentValues values, String selection, + String[] selectionArgs) + { + Log.error("[GameProvider] Update operations unsupported. URI: " + uri); + return 0; + } +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/model/TvSettingsItem.java b/src/android/app/src/main/java/org/citra/citra_android/model/TvSettingsItem.java new file mode 100644 index 000000000..7f8d84b66 --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/model/TvSettingsItem.java @@ -0,0 +1,30 @@ +package org.citra.citra_android.model; + +public final class TvSettingsItem +{ + private final int mItemId; + private final int mIconId; + private final int mLabelId; + + public TvSettingsItem(int itemId, int iconId, int labelId) + { + mItemId = itemId; + mIconId = iconId; + mLabelId = labelId; + } + + public int getItemId() + { + return mItemId; + } + + public int getIconId() + { + return mIconId; + } + + public int getLabelId() + { + return mLabelId; + } +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/model/settings/FloatSetting.java b/src/android/app/src/main/java/org/citra/citra_android/model/settings/FloatSetting.java new file mode 100644 index 000000000..659eab9c8 --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/model/settings/FloatSetting.java @@ -0,0 +1,28 @@ +package org.citra.citra_android.model.settings; + +public final class FloatSetting extends Setting +{ + private float mValue; + + public FloatSetting(String key, String section, int file, float value) + { + super(key, section, file); + mValue = value; + } + + public float getValue() + { + return mValue; + } + + public void setValue(float value) + { + mValue = value; + } + + @Override + public String getValueAsString() + { + return Float.toString(mValue); + } +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/model/settings/IntSetting.java b/src/android/app/src/main/java/org/citra/citra_android/model/settings/IntSetting.java new file mode 100644 index 000000000..bd1603749 --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/model/settings/IntSetting.java @@ -0,0 +1,28 @@ +package org.citra.citra_android.model.settings; + +public final class IntSetting extends Setting +{ + private int mValue; + + public IntSetting(String key, String section, int file, int value) + { + super(key, section, file); + mValue = value; + } + + public int getValue() + { + return mValue; + } + + public void setValue(int value) + { + mValue = value; + } + + @Override + public String getValueAsString() + { + return Integer.toString(mValue); + } +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/model/settings/Setting.java b/src/android/app/src/main/java/org/citra/citra_android/model/settings/Setting.java new file mode 100644 index 000000000..ede86a6bd --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/model/settings/Setting.java @@ -0,0 +1,57 @@ +package org.citra.citra_android.model.settings; + +/** + * Abstraction for a setting item as read from / written to Dolphin's configuration ini files. + * These files generally consist of a key/value pair, though the type of value is ambiguous and + * must be inferred at read-time. The type of value determines which child of this class is used + * to represent the Setting. + */ +public abstract class Setting +{ + private String mKey; + private String mSection; + private int mFile; + + /** + * Base constructor. + * + * @param key Everything to the left of the = in a line from the ini file. + * @param section The corresponding recent section header; e.g. [Core] or [Enhancements] without the brackets. + * @param file The ini file the Setting is stored in. + */ + public Setting(String key, String section, int file) + { + mKey = key; + mSection = section; + mFile = file; + } + + /** + * @return The identifier used to write this setting to the ini file. + */ + public String getKey() + { + return mKey; + } + + /** + * @return The name of the header under which this Setting should be written in the ini file. + */ + public String getSection() + { + return mSection; + } + + /** + * @return The ini file the Setting is stored in. + */ + public int getFile() + { + return mFile; + } + + /** + * @return A representation of this Setting's backing value converted to a String (e.g. for serialization). + */ + public abstract String getValueAsString(); +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/model/settings/SettingSection.java b/src/android/app/src/main/java/org/citra/citra_android/model/settings/SettingSection.java new file mode 100644 index 000000000..c08f13192 --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/model/settings/SettingSection.java @@ -0,0 +1,55 @@ +package org.citra.citra_android.model.settings; + +import java.util.HashMap; + +/** + * A semantically-related group of Settings objects. These Settings are + * internally stored as a HashMap. + */ +public final class SettingSection +{ + private String mName; + + private HashMap mSettings = new HashMap<>(); + + /** + * Create a new SettingSection with no Settings in it. + * + * @param name The header of this section; e.g. [Core] or [Enhancements] without the brackets. + */ + public SettingSection(String name) + { + mName = name; + } + + public String getName() + { + return mName; + } + + /** + * Convenience method; inserts a value directly into the backing HashMap. + * + * @param setting The Setting to be inserted. + */ + public void putSetting(Setting setting) + { + mSettings.put(setting.getKey(), setting); + } + + /** + * Convenience method; gets a value directly from the backing HashMap. + * + * @param key Used to retrieve the Setting. + * @return A Setting object (you should probably cast this before using) + */ + public Setting getSetting(String key) + { + return mSettings.get(key); + } + + public HashMap getSettings() + { + return mSettings; + } +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/model/settings/StringSetting.java b/src/android/app/src/main/java/org/citra/citra_android/model/settings/StringSetting.java new file mode 100644 index 000000000..daa0c8237 --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/model/settings/StringSetting.java @@ -0,0 +1,28 @@ +package org.citra.citra_android.model.settings; + +public final class StringSetting extends Setting +{ + private String mValue; + + public StringSetting(String key, String section, int file, String value) + { + super(key, section, file); + mValue = value; + } + + public String getValue() + { + return mValue; + } + + public void setValue(String value) + { + mValue = value; + } + + @Override + public String getValueAsString() + { + return mValue; + } +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/model/settings/view/CheckBoxSetting.java b/src/android/app/src/main/java/org/citra/citra_android/model/settings/view/CheckBoxSetting.java new file mode 100644 index 000000000..ea37405c1 --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/model/settings/view/CheckBoxSetting.java @@ -0,0 +1,56 @@ +package org.citra.citra_android.model.settings.view; + +import org.citra.citra_android.model.settings.IntSetting; +import org.citra.citra_android.model.settings.Setting; + +public final class CheckBoxSetting extends SettingsItem +{ + private boolean mDefaultValue; + + public CheckBoxSetting(String key, String section, int file, int titleId, int descriptionId, + boolean defaultValue, Setting setting) + { + super(key, section, file, setting, titleId, descriptionId); + mDefaultValue = defaultValue; + } + + public boolean isChecked() + { + if (getSetting() == null) + { + return mDefaultValue; + } + + IntSetting setting = (IntSetting) getSetting(); + return setting.getValue() == 1; + } + + /** + * Write a value to the backing boolean. If that boolean was previously null, + * initializes a new one and returns it, so it can be added to the Hashmap. + * + * @param checked Pretty self explanatory. + * @return null if overwritten successfully; otherwise, a newly created BooleanSetting. + */ + public IntSetting setChecked(boolean checked) + { + if (getSetting() == null) + { + IntSetting setting = new IntSetting(getKey(), getSection(), getFile(), checked ? 1 : 0); + setSetting(setting); + return setting; + } + else + { + IntSetting setting = (IntSetting) getSetting(); + setting.setValue(checked ? 1 : 0); + return null; + } + } + + @Override + public int getType() + { + return TYPE_CHECKBOX; + } +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/model/settings/view/DateTimeSetting.java b/src/android/app/src/main/java/org/citra/citra_android/model/settings/view/DateTimeSetting.java new file mode 100644 index 000000000..1989104bf --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/model/settings/view/DateTimeSetting.java @@ -0,0 +1,41 @@ +package org.citra.citra_android.model.settings.view; + +import org.citra.citra_android.model.settings.Setting; +import org.citra.citra_android.model.settings.StringSetting; + +public final class DateTimeSetting extends SettingsItem +{ + private String mDefaultValue; + + public DateTimeSetting(String key, String section, int file, int titleId, int descriptionId, + String defaultValue, Setting setting) + { + super(key, section, file, setting, titleId, descriptionId); + mDefaultValue = defaultValue; + } + + public String getValue() + { + if (getSetting() != null) + { + StringSetting setting = (StringSetting) getSetting(); + return setting.getValue(); + } + else + { + return mDefaultValue; + } + } + public StringSetting setSelectedValue(String datetime) + { + StringSetting setting = new StringSetting(getKey(), getSection(), getFile(), datetime); + setSetting(setting); + return setting; + } + + @Override + public int getType() + { + return TYPE_DATETIME_SETTING; + } +} \ No newline at end of file diff --git a/src/android/app/src/main/java/org/citra/citra_android/model/settings/view/HeaderSetting.java b/src/android/app/src/main/java/org/citra/citra_android/model/settings/view/HeaderSetting.java new file mode 100644 index 000000000..34c3c246a --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/model/settings/view/HeaderSetting.java @@ -0,0 +1,17 @@ +package org.citra.citra_android.model.settings.view; + +import org.citra.citra_android.model.settings.Setting; + +public final class HeaderSetting extends SettingsItem +{ + public HeaderSetting(String key, Setting setting, int titleId, int descriptionId) + { + super(key, null, 0, setting, titleId, descriptionId); + } + + @Override + public int getType() + { + return SettingsItem.TYPE_HEADER; + } +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/model/settings/view/InputBindingSetting.java b/src/android/app/src/main/java/org/citra/citra_android/model/settings/view/InputBindingSetting.java new file mode 100644 index 000000000..a8f3e873a --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/model/settings/view/InputBindingSetting.java @@ -0,0 +1,52 @@ +package org.citra.citra_android.model.settings.view; + +import org.citra.citra_android.model.settings.Setting; +import org.citra.citra_android.model.settings.StringSetting; + +public final class InputBindingSetting extends SettingsItem +{ + public InputBindingSetting(String key, String section, int file, int titleId, Setting setting) + { + super(key, section, file, setting, titleId, 0); + } + + public String getValue() + { + if (getSetting() == null) + { + return ""; + } + + StringSetting setting = (StringSetting) getSetting(); + return setting.getValue(); + } + + /** + * Write a value to the backing string. If that string was previously null, + * initializes a new one and returns it, so it can be added to the Hashmap. + * + * @param bind The input that will be bound + * @return null if overwritten successfully; otherwise, a newly created StringSetting. + */ + public StringSetting setValue(String bind) + { + if (getSetting() == null) + { + StringSetting setting = new StringSetting(getKey(), getSection(), getFile(), bind); + setSetting(setting); + return setting; + } + else + { + StringSetting setting = (StringSetting) getSetting(); + setting.setValue(bind); + return null; + } + } + + @Override + public int getType() + { + return TYPE_INPUT_BINDING; + } +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/model/settings/view/SettingsItem.java b/src/android/app/src/main/java/org/citra/citra_android/model/settings/view/SettingsItem.java new file mode 100644 index 000000000..d77a9f972 --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/model/settings/view/SettingsItem.java @@ -0,0 +1,115 @@ +package org.citra.citra_android.model.settings.view; + +import org.citra.citra_android.model.settings.Setting; + +/** + * ViewModel abstraction for an Item in the RecyclerView powering SettingsFragments. + * Each one corresponds to a {@link Setting} object, so this class's subclasses + * should vaguely correspond to those subclasses. There are a few with multiple analogues + * and a few with none (Headers, for example, do not correspond to anything in the ini + * file.) + */ +public abstract class SettingsItem +{ + public static final int TYPE_HEADER = 0; + public static final int TYPE_CHECKBOX = 1; + public static final int TYPE_SINGLE_CHOICE = 2; + public static final int TYPE_SLIDER = 3; + public static final int TYPE_SUBMENU = 4; + public static final int TYPE_INPUT_BINDING = 5; + public static final int TYPE_DATETIME_SETTING = 6; + + private String mKey; + private String mSection; + private int mFile; + + private Setting mSetting; + + private int mNameId; + private int mDescriptionId; + + /** + * Base constructor. Takes a key / section name in case the third parameter, the Setting, + * is null; in which case, one can be constructed and saved using the key / section. + * + * @param key Identifier for the Setting represented by this Item. + * @param section Section to which the Setting belongs. + * @param setting A possibly-null backing Setting, to be modified on UI events. + * @param nameId Resource ID for a text string to be displayed as this setting's name. + * @param descriptionId Resource ID for a text string to be displayed as this setting's description. + */ + public SettingsItem(String key, String section, int file, Setting setting, int nameId, + int descriptionId) + { + mKey = key; + mSection = section; + mFile = file; + mSetting = setting; + mNameId = nameId; + mDescriptionId = descriptionId; + } + + /** + * @return The identifier for the backing Setting. + */ + public String getKey() + { + return mKey; + } + + /** + * @return The header under which the backing Setting belongs. + */ + public String getSection() + { + return mSection; + } + + /** + * @return The file the backing Setting is saved to. + */ + public int getFile() + { + return mFile; + } + + /** + * @return The backing Setting, possibly null. + */ + public Setting getSetting() + { + return mSetting; + } + + /** + * Replace the backing setting with a new one. Generally used in cases where + * the backing setting is null. + * + * @param setting A non-null Setting. + */ + public void setSetting(Setting setting) + { + mSetting = setting; + } + + /** + * @return A resource ID for a text string representing this Setting's name. + */ + public int getNameId() + { + return mNameId; + } + + public int getDescriptionId() + { + return mDescriptionId; + } + + /** + * Used by {@link org.citra.citra_android.ui.settings.SettingsAdapter}'s onCreateViewHolder() + * method to determine which type of ViewHolder should be created. + * + * @return An integer (ideally, one of the constants defined in this file) + */ + public abstract int getType(); +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/model/settings/view/SingleChoiceSetting.java b/src/android/app/src/main/java/org/citra/citra_android/model/settings/view/SingleChoiceSetting.java new file mode 100644 index 000000000..0d4975eab --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/model/settings/view/SingleChoiceSetting.java @@ -0,0 +1,73 @@ +package org.citra.citra_android.model.settings.view; + +import org.citra.citra_android.model.settings.IntSetting; +import org.citra.citra_android.model.settings.Setting; + +public final class SingleChoiceSetting extends SettingsItem +{ + private int mDefaultValue; + + private int mChoicesId; + private int mValuesId; + + public SingleChoiceSetting(String key, String section, int file, int titleId, int descriptionId, + int choicesId, int valuesId, int defaultValue, Setting setting) + { + super(key, section, file, setting, titleId, descriptionId); + mValuesId = valuesId; + mChoicesId = choicesId; + mDefaultValue = defaultValue; + } + + public int getChoicesId() + { + return mChoicesId; + } + + public int getValuesId() + { + return mValuesId; + } + + public int getSelectedValue() + { + if (getSetting() != null) + { + IntSetting setting = (IntSetting) getSetting(); + return setting.getValue(); + } + else + { + return mDefaultValue; + } + } + + /** + * Write a value to the backing int. If that int was previously null, + * initializes a new one and returns it, so it can be added to the Hashmap. + * + * @param selection New value of the int. + * @return null if overwritten successfully otherwise; a newly created IntSetting. + */ + public IntSetting setSelectedValue(int selection) + { + if (getSetting() == null) + { + IntSetting setting = new IntSetting(getKey(), getSection(), getFile(), selection); + setSetting(setting); + return setting; + } + else + { + IntSetting setting = (IntSetting) getSetting(); + setting.setValue(selection); + return null; + } + } + + @Override + public int getType() + { + return TYPE_SINGLE_CHOICE; + } +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/model/settings/view/SliderSetting.java b/src/android/app/src/main/java/org/citra/citra_android/model/settings/view/SliderSetting.java new file mode 100644 index 000000000..a9ba6e110 --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/model/settings/view/SliderSetting.java @@ -0,0 +1,119 @@ +package org.citra.citra_android.model.settings.view; + +import org.citra.citra_android.model.settings.FloatSetting; +import org.citra.citra_android.model.settings.IntSetting; +import org.citra.citra_android.model.settings.Setting; +import org.citra.citra_android.utils.Log; +import org.citra.citra_android.utils.SettingsFile; + +public final class SliderSetting extends SettingsItem +{ + private int mMax; + private int mDefaultValue; + + private String mUnits; + + public SliderSetting(String key, String section, int file, int titleId, int descriptionId, + int max, String units, int defaultValue, Setting setting) + { + super(key, section, file, setting, titleId, descriptionId); + mMax = max; + mUnits = units; + mDefaultValue = defaultValue; + } + + public int getMax() + { + return mMax; + } + + public int getSelectedValue() + { + Setting setting = getSetting(); + + if (setting == null) + { + return mDefaultValue; + } + + if (setting instanceof IntSetting) + { + IntSetting intSetting = (IntSetting) setting; + return intSetting.getValue(); + } + else if (setting instanceof FloatSetting) + { + FloatSetting floatSetting = (FloatSetting) setting; + if (floatSetting.getKey().equals(SettingsFile.KEY_FRAME_LIMIT)) + { + return Math.round(floatSetting.getValue() * 100); + } + else + { + return Math.round(floatSetting.getValue()); + } + } + else + { + Log.error("[SliderSetting] Error casting setting type."); + return -1; + } + } + + /** + * Write a value to the backing int. If that int was previously null, + * initializes a new one and returns it, so it can be added to the Hashmap. + * + * @param selection New value of the int. + * @return null if overwritten successfully otherwise; a newly created IntSetting. + */ + public IntSetting setSelectedValue(int selection) + { + if (getSetting() == null) + { + IntSetting setting = new IntSetting(getKey(), getSection(), getFile(), selection); + setSetting(setting); + return setting; + } + else + { + IntSetting setting = (IntSetting) getSetting(); + setting.setValue(selection); + return null; + } + } + + /** + * Write a value to the backing float. If that float was previously null, + * initializes a new one and returns it, so it can be added to the Hashmap. + * + * @param selection New value of the float. + * @return null if overwritten successfully otherwise; a newly created FloatSetting. + */ + public FloatSetting setSelectedValue(float selection) + { + if (getSetting() == null) + { + FloatSetting setting = new FloatSetting(getKey(), getSection(), getFile(), selection); + setSetting(setting); + return setting; + } + else + { + FloatSetting setting = (FloatSetting) getSetting(); + setting.setValue(selection); + return null; + } + } + + public String getUnits() + { + return mUnits; + } + + @Override + public int getType() + { + return TYPE_SLIDER; + } +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/model/settings/view/SubmenuSetting.java b/src/android/app/src/main/java/org/citra/citra_android/model/settings/view/SubmenuSetting.java new file mode 100644 index 000000000..710c964a9 --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/model/settings/view/SubmenuSetting.java @@ -0,0 +1,25 @@ +package org.citra.citra_android.model.settings.view; + +import org.citra.citra_android.model.settings.Setting; + +public final class SubmenuSetting extends SettingsItem +{ + private String mMenuKey; + + public SubmenuSetting(String key, Setting setting, int titleId, int descriptionId, String menuKey) + { + super(key, null, 0, setting, titleId, descriptionId); + mMenuKey = menuKey; + } + + public String getMenuKey() + { + return mMenuKey; + } + + @Override + public int getType() + { + return TYPE_SUBMENU; + } +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/overlay/InputOverlay.java b/src/android/app/src/main/java/org/citra/citra_android/overlay/InputOverlay.java new file mode 100644 index 000000000..c3a13727f --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/overlay/InputOverlay.java @@ -0,0 +1,907 @@ +/** + * Copyright 2013 Dolphin Emulator Project + * Licensed under GPLv2+ + * Refer to the license.txt file included. + */ + +package org.citra.citra_android.overlay; + +import android.app.Activity; +import android.content.Context; +import android.content.SharedPreferences; +import android.content.res.Configuration; +import android.content.res.Resources; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.graphics.Canvas; +import android.graphics.Rect; +import android.graphics.drawable.Drawable; +import android.preference.PreferenceManager; +import android.util.AttributeSet; +import android.util.DisplayMetrics; +import android.view.MotionEvent; +import android.view.SurfaceView; +import android.view.View; +import android.view.Display; +import android.view.View.OnTouchListener; + +import org.citra.citra_android.NativeLibrary; +import org.citra.citra_android.NativeLibrary.ButtonState; +import org.citra.citra_android.NativeLibrary.ButtonType; +import org.citra.citra_android.R; + +import java.util.HashSet; +import java.util.Set; + +/** + * Draws the interactive input overlay on top of the + * {@link SurfaceView} that is rendering emulation. + */ +public final class InputOverlay extends SurfaceView implements OnTouchListener +{ + private final Set overlayButtons = new HashSet<>(); + private final Set overlayDpads = new HashSet<>(); + private final Set overlayJoysticks = new HashSet<>(); + + private boolean mIsInEditMode = false; + private InputOverlayDrawableButton mButtonBeingConfigured; + private InputOverlayDrawableDpad mDpadBeingConfigured; + private InputOverlayDrawableJoystick mJoystickBeingConfigured; + + private SharedPreferences mPreferences; + + /** + * Resizes a {@link Bitmap} by a given scale factor + * + * @param context The current {@link Context} + * @param bitmap The {@link Bitmap} to scale. + * @param scale The scale factor for the bitmap. + * @return The scaled {@link Bitmap} + */ + public static Bitmap resizeBitmap(Context context, Bitmap bitmap, float scale) + { + // Determine the button size based on the smaller screen dimension. + // This makes sure the buttons are the same size in both portrait and landscape. + DisplayMetrics dm = context.getResources().getDisplayMetrics(); + int minDimension = Math.min(dm.widthPixels, dm.heightPixels); + + return Bitmap.createScaledBitmap(bitmap, + (int) (minDimension * scale), + (int) (minDimension * scale), + true); + } + + /** + * Constructor + * + * @param context The current {@link Context}. + * @param attrs {@link AttributeSet} for parsing XML attributes. + */ + public InputOverlay(Context context, AttributeSet attrs) + { + super(context, attrs); + + mPreferences = PreferenceManager.getDefaultSharedPreferences(getContext()); + if (!mPreferences.getBoolean("OverlayInit", false)) { + defaultOverlay(); + } + + // Load the controls. + refreshControls(); + + // Set the on touch listener. + setOnTouchListener(this); + + // Force draw + setWillNotDraw(false); + + // Request focus for the overlay so it has priority on presses. + requestFocus(); + } + + @Override + public void draw(Canvas canvas) + { + super.draw(canvas); + + for (InputOverlayDrawableButton button : overlayButtons) + { + button.draw(canvas); + } + + for (InputOverlayDrawableDpad dpad : overlayDpads) + { + dpad.draw(canvas); + } + + for (InputOverlayDrawableJoystick joystick : overlayJoysticks) + { + joystick.draw(canvas); + } + } + + @Override + public boolean onTouch(View v, MotionEvent event) + { + if (isInEditMode()) + { + return onTouchWhileEditing(event); + } + + int pointerIndex = event.getActionIndex(); + + if (mPreferences.getBoolean("isTouchEnabled", true)) + { + switch (event.getAction()) + { + case MotionEvent.ACTION_DOWN: + case MotionEvent.ACTION_POINTER_DOWN: + NativeLibrary.onTouchEvent(event.getX(pointerIndex), event.getY(pointerIndex), true); + break; + case MotionEvent.ACTION_MOVE: + NativeLibrary.onTouchMoved(event.getX(), event.getY()); + break; + case MotionEvent.ACTION_UP: + case MotionEvent.ACTION_POINTER_UP: + // We dont really care where the touch has been released. We only care whether it has been + // released or not. + NativeLibrary.onTouchEvent(0, 0, false); + break; + } + } + + for (InputOverlayDrawableButton button : overlayButtons) + { + // Determine the button state to apply based on the MotionEvent action flag. + switch (event.getAction() & MotionEvent.ACTION_MASK) + { + case MotionEvent.ACTION_DOWN: + case MotionEvent.ACTION_POINTER_DOWN: + // If a pointer enters the bounds of a button, press that button. + if (button.getBounds() + .contains((int) event.getX(pointerIndex), (int) event.getY(pointerIndex))) + { + button.setPressedState(true); + button.setTrackId(event.getPointerId(pointerIndex)); + NativeLibrary.onGamePadEvent(NativeLibrary.TouchScreenDevice, button.getId(), + ButtonState.PRESSED); + } + break; + case MotionEvent.ACTION_UP: + case MotionEvent.ACTION_POINTER_UP: + // If a pointer ends, release the button it was pressing. + if (button.getTrackId() == event.getPointerId(pointerIndex)) + { + button.setPressedState(false); + NativeLibrary.onGamePadEvent(NativeLibrary.TouchScreenDevice, button.getId(), + ButtonState.RELEASED); + } + break; + } + } + + for (InputOverlayDrawableDpad dpad : overlayDpads) + { + // Determine the button state to apply based on the MotionEvent action flag. + switch (event.getAction() & MotionEvent.ACTION_MASK) + { + case MotionEvent.ACTION_DOWN: + case MotionEvent.ACTION_POINTER_DOWN: + // If a pointer enters the bounds of a button, press that button. + if (dpad.getBounds() + .contains((int) event.getX(pointerIndex), (int) event.getY(pointerIndex))) + { + boolean up = false; + boolean down = false; + boolean left = false; + boolean right = false; + if (dpad.getBounds().top + (dpad.getHeight() / 3) > (int) event.getY(pointerIndex)) + { + NativeLibrary.onGamePadEvent(NativeLibrary.TouchScreenDevice, dpad.getId(0), + ButtonState.PRESSED); + up = true; + } + if (dpad.getBounds().bottom - (dpad.getHeight() / 3) < (int) event.getY(pointerIndex)) + { + NativeLibrary.onGamePadEvent(NativeLibrary.TouchScreenDevice, dpad.getId(1), + ButtonState.PRESSED); + down = true; + } + if (dpad.getBounds().left + (dpad.getWidth() / 3) > (int) event.getX(pointerIndex)) + { + NativeLibrary.onGamePadEvent(NativeLibrary.TouchScreenDevice, dpad.getId(2), + ButtonState.PRESSED); + left = true; + } + if (dpad.getBounds().right - (dpad.getWidth() / 3) < (int) event.getX(pointerIndex)) + { + NativeLibrary.onGamePadEvent(NativeLibrary.TouchScreenDevice, dpad.getId(3), + ButtonState.PRESSED); + right = true; + } + + setDpadState(dpad, up, down, left, right); + dpad.setTrackId(event.getPointerId(pointerIndex)); + } + break; + case MotionEvent.ACTION_UP: + case MotionEvent.ACTION_POINTER_UP: + // If a pointer ends, release the buttons. + if (dpad.getTrackId() == event.getPointerId(pointerIndex)) + { + for (int i = 0; i < 4; i++) + { + dpad.setState(InputOverlayDrawableDpad.STATE_DEFAULT); + NativeLibrary.onGamePadEvent(NativeLibrary.TouchScreenDevice, dpad.getId(i), + ButtonState.RELEASED); + } + } + break; + } + } + + for (InputOverlayDrawableJoystick joystick : overlayJoysticks) + { + joystick.TrackEvent(event); + int axisID = joystick.getId(); + float[] axises = joystick.getAxisValues(); + + NativeLibrary + .onGamePadMoveEvent(NativeLibrary.TouchScreenDevice, axisID, axises[0], axises[1]); + } + + invalidate(); + + return true; + } + + public boolean onTouchWhileEditing(MotionEvent event) + { + int pointerIndex = event.getActionIndex(); + int fingerPositionX = (int) event.getX(pointerIndex); + int fingerPositionY = (int) event.getY(pointerIndex); + + // Maybe combine Button and Joystick as subclasses of the same parent? + // Or maybe create an interface like IMoveableHUDControl? + + for (InputOverlayDrawableButton button : overlayButtons) + { + // Determine the button state to apply based on the MotionEvent action flag. + switch (event.getAction() & MotionEvent.ACTION_MASK) + { + case MotionEvent.ACTION_DOWN: + case MotionEvent.ACTION_POINTER_DOWN: + // If no button is being moved now, remember the currently touched button to move. + if (mButtonBeingConfigured == null && + button.getBounds().contains(fingerPositionX, fingerPositionY)) + { + mButtonBeingConfigured = button; + mButtonBeingConfigured.onConfigureTouch(event); + } + break; + case MotionEvent.ACTION_MOVE: + if (mButtonBeingConfigured != null) + { + mButtonBeingConfigured.onConfigureTouch(event); + invalidate(); + return true; + } + break; + + case MotionEvent.ACTION_UP: + case MotionEvent.ACTION_POINTER_UP: + if (mButtonBeingConfigured == button) + { + // Persist button position by saving new place. + saveControlPosition(mButtonBeingConfigured.getId(), + mButtonBeingConfigured.getBounds().left, + mButtonBeingConfigured.getBounds().top); + mButtonBeingConfigured = null; + } + break; + } + } + + for (InputOverlayDrawableDpad dpad : overlayDpads) + { + // Determine the button state to apply based on the MotionEvent action flag. + switch (event.getAction() & MotionEvent.ACTION_MASK) + { + case MotionEvent.ACTION_DOWN: + case MotionEvent.ACTION_POINTER_DOWN: + // If no button is being moved now, remember the currently touched button to move. + if (mButtonBeingConfigured == null && + dpad.getBounds().contains(fingerPositionX, fingerPositionY)) + { + mDpadBeingConfigured = dpad; + mDpadBeingConfigured.onConfigureTouch(event); + } + break; + case MotionEvent.ACTION_MOVE: + if (mDpadBeingConfigured != null) + { + mDpadBeingConfigured.onConfigureTouch(event); + invalidate(); + return true; + } + break; + + case MotionEvent.ACTION_UP: + case MotionEvent.ACTION_POINTER_UP: + if (mDpadBeingConfigured == dpad) + { + // Persist button position by saving new place. + saveControlPosition(mDpadBeingConfigured.getId(0), + mDpadBeingConfigured.getBounds().left, mDpadBeingConfigured.getBounds().top); + mDpadBeingConfigured = null; + } + break; + } + } + + for (InputOverlayDrawableJoystick joystick : overlayJoysticks) + { + switch (event.getAction()) + { + case MotionEvent.ACTION_DOWN: + case MotionEvent.ACTION_POINTER_DOWN: + if (mJoystickBeingConfigured == null && + joystick.getBounds().contains(fingerPositionX, fingerPositionY)) + { + mJoystickBeingConfigured = joystick; + mJoystickBeingConfigured.onConfigureTouch(event); + } + break; + case MotionEvent.ACTION_MOVE: + if (mJoystickBeingConfigured != null) + { + mJoystickBeingConfigured.onConfigureTouch(event); + invalidate(); + } + break; + case MotionEvent.ACTION_UP: + case MotionEvent.ACTION_POINTER_UP: + if (mJoystickBeingConfigured != null) + { + saveControlPosition(mJoystickBeingConfigured.getId(), + mJoystickBeingConfigured.getBounds().left, + mJoystickBeingConfigured.getBounds().top); + mJoystickBeingConfigured = null; + } + break; + } + } + + return true; + } + + private void setDpadState(InputOverlayDrawableDpad dpad, boolean up, boolean down, boolean left, + boolean right) + { + if (up) + { + if (left) + dpad.setState(InputOverlayDrawableDpad.STATE_PRESSED_UP_LEFT); + else if (right) + dpad.setState(InputOverlayDrawableDpad.STATE_PRESSED_UP_RIGHT); + else + dpad.setState(InputOverlayDrawableDpad.STATE_PRESSED_UP); + } + else if (down) + { + if (left) + dpad.setState(InputOverlayDrawableDpad.STATE_PRESSED_DOWN_LEFT); + else if (right) + dpad.setState(InputOverlayDrawableDpad.STATE_PRESSED_DOWN_RIGHT); + else + dpad.setState(InputOverlayDrawableDpad.STATE_PRESSED_DOWN); + } + else if (left) + { + dpad.setState(InputOverlayDrawableDpad.STATE_PRESSED_LEFT); + } + else if (right) + { + dpad.setState(InputOverlayDrawableDpad.STATE_PRESSED_RIGHT); + } + } + + private void addOverlayControls(String orientation) + { + if (mPreferences.getBoolean("buttonToggle0", true)) + { + overlayButtons.add(initializeOverlayButton(getContext(), R.drawable.button_a, + R.drawable.button_a_pressed, ButtonType.BUTTON_A, orientation)); + } + if (mPreferences.getBoolean("buttonToggle1", true)) + { + overlayButtons.add(initializeOverlayButton(getContext(), R.drawable.button_b, + R.drawable.button_b_pressed, ButtonType.BUTTON_B, orientation)); + } + if (mPreferences.getBoolean("buttonToggle2", true)) + { + overlayButtons.add(initializeOverlayButton(getContext(), R.drawable.button_x, + R.drawable.button_x_pressed, ButtonType.BUTTON_X, orientation)); + } + if (mPreferences.getBoolean("buttonToggle3", true)) + { + overlayButtons.add(initializeOverlayButton(getContext(), R.drawable.button_y, + R.drawable.button_y_pressed, ButtonType.BUTTON_Y, orientation)); + } + if (mPreferences.getBoolean("buttonToggle4", true)) + { + overlayButtons.add(initializeOverlayButton(getContext(), R.drawable.button_l, + R.drawable.button_l_pressed, ButtonType.TRIGGER_L, orientation)); + } + if (mPreferences.getBoolean("buttonToggle5", true)) + { + overlayButtons.add(initializeOverlayButton(getContext(), R.drawable.button_r, + R.drawable.button_r_pressed, ButtonType.TRIGGER_R, orientation)); + } + if (mPreferences.getBoolean("buttonToggle6", false)) + { + overlayButtons.add(initializeOverlayButton(getContext(), R.drawable.button_zl, + R.drawable.button_zl_pressed, ButtonType.BUTTON_ZL, orientation)); + } + if (mPreferences.getBoolean("buttonToggle7", false)) + { + overlayButtons.add(initializeOverlayButton(getContext(), R.drawable.button_zr, + R.drawable.button_zr_pressed, ButtonType.BUTTON_ZR, orientation)); + } + if (mPreferences.getBoolean("buttonToggle8", true)) + { + overlayButtons.add(initializeOverlayButton(getContext(), R.drawable.button_start, + R.drawable.button_start_pressed, ButtonType.BUTTON_START, orientation)); + } + if (mPreferences.getBoolean("buttonToggle9", true)) + { + overlayButtons.add(initializeOverlayButton(getContext(), R.drawable.button_select, + R.drawable.button_select_pressed, ButtonType.BUTTON_SELECT, orientation)); + } + if (mPreferences.getBoolean("buttonToggle10", true)) + { + overlayButtons.add(initializeOverlayButton(getContext(), R.drawable.button_home, + R.drawable.button_home_pressed, ButtonType.BUTTON_HOME, orientation)); + } + if (mPreferences.getBoolean("buttonToggle11", false)) + { + overlayDpads.add(initializeOverlayDpad(getContext(), R.drawable.dpad, + R.drawable.dpad_pressed_one_direction, + R.drawable.dpad_pressed_two_directions, + ButtonType.DPAD_UP, ButtonType.DPAD_DOWN, + ButtonType.DPAD_LEFT, ButtonType.DPAD_RIGHT, orientation)); + } + if (mPreferences.getBoolean("buttonToggle12", true)) + { + overlayJoysticks.add(initializeOverlayJoystick(getContext(), R.drawable.stick_main_range, + R.drawable.stick_main, R.drawable.stick_main_pressed, + ButtonType.STICK_LEFT, orientation)); + } + if (mPreferences.getBoolean("buttonToggle13", false)) + { + overlayJoysticks.add(initializeOverlayJoystick(getContext(), R.drawable.stick_main_range, + R.drawable.stick_c, R.drawable.stick_c_pressed, ButtonType.STICK_C, orientation)); + } + } + + public void refreshControls() + { + // Remove all the overlay buttons from the HashSet. + overlayButtons.removeAll(overlayButtons); + overlayDpads.removeAll(overlayDpads); + overlayJoysticks.removeAll(overlayJoysticks); + + String orientation = + getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT ? + "-Portrait" : ""; + + if (mPreferences.getBoolean("showInputOverlay", true)) + { + // Add all the enabled overlay items back to the HashSet. + addOverlayControls(orientation); + } + + invalidate(); + } + + private void saveControlPosition(int sharedPrefsId, int x, int y) + { + final SharedPreferences sPrefs = PreferenceManager.getDefaultSharedPreferences(getContext()); + SharedPreferences.Editor sPrefsEditor = sPrefs.edit(); + sPrefsEditor.putFloat(sharedPrefsId + "-X", x); + sPrefsEditor.putFloat(sharedPrefsId + "-Y", y); + sPrefsEditor.apply(); + } + + /** + * Initializes an InputOverlayDrawableButton, given by resId, with all of the + * parameters set for it to be properly shown on the InputOverlay. + *

+ * This works due to the way the X and Y coordinates are stored within + * the {@link SharedPreferences}. + *

+ * In the input overlay configuration menu, + * once a touch event begins and then ends (ie. Organizing the buttons to one's own liking for the overlay). + * the X and Y coordinates of the button at the END of its touch event + * (when you remove your finger/stylus from the touchscreen) are then stored + * within a SharedPreferences instance so that those values can be retrieved here. + *

+ * This has a few benefits over the conventional way of storing the values + * (ie. within the Dolphin ini file). + *

+ *

+ * Technically no modifications should need to be performed on the returned + * InputOverlayDrawableButton. Simply add it to the HashSet of overlay items and wait + * for Android to call the onDraw method. + * + * @param context The current {@link Context}. + * @param defaultResId The resource ID of the {@link Drawable} to get the {@link Bitmap} of (Default State). + * @param pressedResId The resource ID of the {@link Drawable} to get the {@link Bitmap} of (Pressed State). + * @param buttonId Identifier for determining what type of button the initialized InputOverlayDrawableButton represents. + * @return An {@link InputOverlayDrawableButton} with the correct drawing bounds set. + */ + private static InputOverlayDrawableButton initializeOverlayButton(Context context, + int defaultResId, int pressedResId, int buttonId, String orientation) + { + // Resources handle for fetching the initial Drawable resource. + final Resources res = context.getResources(); + + // SharedPreference to retrieve the X and Y coordinates for the InputOverlayDrawableButton. + final SharedPreferences sPrefs = PreferenceManager.getDefaultSharedPreferences(context); + + // Decide scale based on button ID and user preference + float scale; + + switch (buttonId) + { + case ButtonType.BUTTON_HOME: + case ButtonType.BUTTON_START: + case ButtonType.BUTTON_SELECT: + scale = 0.0625f; + break; + case ButtonType.TRIGGER_L: + case ButtonType.TRIGGER_R: + case ButtonType.BUTTON_ZL: + case ButtonType.BUTTON_ZR: + scale = 0.25f; + break; + default: + scale = 0.125f; + break; + } + + scale *= (sPrefs.getInt("controlScale", 50) + 50); + scale /= 100; + + // Initialize the InputOverlayDrawableButton. + final Bitmap defaultStateBitmap = + resizeBitmap(context, BitmapFactory.decodeResource(res, defaultResId), scale); + final Bitmap pressedStateBitmap = + resizeBitmap(context, BitmapFactory.decodeResource(res, pressedResId), scale); + final InputOverlayDrawableButton overlayDrawable = + new InputOverlayDrawableButton(res, defaultStateBitmap, pressedStateBitmap, buttonId); + + // The X and Y coordinates of the InputOverlayDrawableButton on the InputOverlay. + // These were set in the input overlay configuration menu. + String xKey; + String yKey; + + xKey = buttonId + orientation + "-X"; + yKey = buttonId + orientation + "-Y"; + + int drawableX = (int) sPrefs.getFloat(xKey, 0f); + int drawableY = (int) sPrefs.getFloat(yKey, 0f); + + int width = overlayDrawable.getWidth(); + int height = overlayDrawable.getHeight(); + + // Now set the bounds for the InputOverlayDrawableButton. + // This will dictate where on the screen (and the what the size) the InputOverlayDrawableButton will be. + overlayDrawable.setBounds(drawableX, drawableY, drawableX + width, drawableY + height); + + // Need to set the image's position + overlayDrawable.setPosition(drawableX, drawableY); + + return overlayDrawable; + } + + /** + * Initializes an {@link InputOverlayDrawableDpad} + * + * @param context The current {@link Context}. + * @param defaultResId The {@link Bitmap} resource ID of the default sate. + * @param pressedOneDirectionResId The {@link Bitmap} resource ID of the pressed sate in one direction. + * @param pressedTwoDirectionsResId The {@link Bitmap} resource ID of the pressed sate in two directions. + * @param buttonUp Identifier for the up button. + * @param buttonDown Identifier for the down button. + * @param buttonLeft Identifier for the left button. + * @param buttonRight Identifier for the right button. + * @return the initialized {@link InputOverlayDrawableDpad} + */ + private static InputOverlayDrawableDpad initializeOverlayDpad(Context context, + int defaultResId, + int pressedOneDirectionResId, + int pressedTwoDirectionsResId, + int buttonUp, + int buttonDown, + int buttonLeft, + int buttonRight, + String orientation) + { + // Resources handle for fetching the initial Drawable resource. + final Resources res = context.getResources(); + + // SharedPreference to retrieve the X and Y coordinates for the InputOverlayDrawableDpad. + final SharedPreferences sPrefs = PreferenceManager.getDefaultSharedPreferences(context); + + // Decide scale based on button ID and user preference + float scale; + + switch (buttonUp) + { + case ButtonType.DPAD_UP: + scale = 0.275f; + break; + default: + scale = 0.2125f; + break; + } + + scale *= (sPrefs.getInt("controlScale", 50) + 50); + scale /= 100; + + // Initialize the InputOverlayDrawableDpad. + final Bitmap defaultStateBitmap = + resizeBitmap(context, BitmapFactory.decodeResource(res, defaultResId), scale); + final Bitmap pressedOneDirectionStateBitmap = + resizeBitmap(context, BitmapFactory.decodeResource(res, pressedOneDirectionResId), + scale); + final Bitmap pressedTwoDirectionsStateBitmap = + resizeBitmap(context, BitmapFactory.decodeResource(res, pressedTwoDirectionsResId), + scale); + final InputOverlayDrawableDpad overlayDrawable = + new InputOverlayDrawableDpad(res, defaultStateBitmap, + pressedOneDirectionStateBitmap, pressedTwoDirectionsStateBitmap, + buttonUp, buttonDown, buttonLeft, buttonRight); + + // The X and Y coordinates of the InputOverlayDrawableDpad on the InputOverlay. + // These were set in the input overlay configuration menu. + int drawableX = (int) sPrefs.getFloat(buttonUp + orientation + "-X", 0f); + int drawableY = (int) sPrefs.getFloat(buttonUp + orientation + "-Y", 0f); + + int width = overlayDrawable.getWidth(); + int height = overlayDrawable.getHeight(); + + // Now set the bounds for the InputOverlayDrawableDpad. + // This will dictate where on the screen (and the what the size) the InputOverlayDrawableDpad will be. + overlayDrawable.setBounds(drawableX, drawableY, drawableX + width, drawableY + height); + + // Need to set the image's position + overlayDrawable.setPosition(drawableX, drawableY); + + return overlayDrawable; + } + + /** + * Initializes an {@link InputOverlayDrawableJoystick} + * + * @param context The current {@link Context} + * @param resOuter Resource ID for the outer image of the joystick (the static image that shows the circular bounds). + * @param defaultResInner Resource ID for the default inner image of the joystick (the one you actually move around). + * @param pressedResInner Resource ID for the pressed inner image of the joystick. + * @param joystick Identifier for which joystick this is. + * @return the initialized {@link InputOverlayDrawableJoystick}. + */ + private static InputOverlayDrawableJoystick initializeOverlayJoystick(Context context, + int resOuter, int defaultResInner, int pressedResInner, int joystick, String orientation) + { + // Resources handle for fetching the initial Drawable resource. + final Resources res = context.getResources(); + + // SharedPreference to retrieve the X and Y coordinates for the InputOverlayDrawableJoystick. + final SharedPreferences sPrefs = PreferenceManager.getDefaultSharedPreferences(context); + + // Decide scale based on user preference + float scale = 0.275f; + scale *= (sPrefs.getInt("controlScale", 50) + 50); + scale /= 100; + + // Initialize the InputOverlayDrawableJoystick. + final Bitmap bitmapOuter = + resizeBitmap(context, BitmapFactory.decodeResource(res, resOuter), scale); + final Bitmap bitmapInnerDefault = BitmapFactory.decodeResource(res, defaultResInner); + final Bitmap bitmapInnerPressed = BitmapFactory.decodeResource(res, pressedResInner); + + // The X and Y coordinates of the InputOverlayDrawableButton on the InputOverlay. + // These were set in the input overlay configuration menu. + int drawableX = (int) sPrefs.getFloat(joystick + orientation + "-X", 0f); + int drawableY = (int) sPrefs.getFloat(joystick + orientation + "-Y", 0f); + + // Decide inner scale based on joystick ID + float innerScale; + + switch (joystick) + { + case ButtonType.STICK_C: + innerScale = 1.833f; + break; + default: + innerScale = 1.375f; + break; + } + + // Now set the bounds for the InputOverlayDrawableJoystick. + // This will dictate where on the screen (and the what the size) the InputOverlayDrawableJoystick will be. + int outerSize = bitmapOuter.getWidth(); + Rect outerRect = new Rect(drawableX, drawableY, drawableX + outerSize, drawableY + outerSize); + Rect innerRect = new Rect(0, 0, (int) (outerSize / innerScale), (int) (outerSize / innerScale)); + + // Send the drawableId to the joystick so it can be referenced when saving control position. + final InputOverlayDrawableJoystick overlayDrawable + = new InputOverlayDrawableJoystick(res, bitmapOuter, + bitmapInnerDefault, bitmapInnerPressed, + outerRect, innerRect, joystick); + + // Need to set the image's position + overlayDrawable.setPosition(drawableX, drawableY); + + return overlayDrawable; + } + + public void setIsInEditMode(boolean isInEditMode) + { + mIsInEditMode = isInEditMode; + } + + private void defaultOverlay() + { + if (!mPreferences.getBoolean("OverlayInit", false)) + { + // It's possible that a user has created their overlay before this was added + // Only change the overlay if the 'A' button is not in the upper corner. + // GameCube + if (mPreferences.getFloat(ButtonType.BUTTON_A + "-X", 0f) == 0f) + { + defaultOverlayLandscape(); + } + if (mPreferences.getFloat(ButtonType.BUTTON_A + "-Portrait" + "-X", 0f) == 0f) + { + defaultOverlayPortrait(); + } + } + + SharedPreferences.Editor sPrefsEditor = mPreferences.edit(); + sPrefsEditor.putBoolean("OverlayInit", true); + sPrefsEditor.apply(); + } + + public void resetButtonPlacement() + { + boolean isLandscape = + getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE; + + if (isLandscape) { + defaultOverlayLandscape(); + } + else { + defaultOverlayPortrait(); + } + + refreshControls(); + } + + private void defaultOverlayLandscape() + { + SharedPreferences.Editor sPrefsEditor = mPreferences.edit(); + // Get screen size + Display display = ((Activity) getContext()).getWindowManager().getDefaultDisplay(); + DisplayMetrics outMetrics = new DisplayMetrics(); + display.getMetrics(outMetrics); + float maxX = outMetrics.heightPixels; + float maxY = outMetrics.widthPixels; + // Height and width changes depending on orientation. Use the larger value for height. + if (maxY > maxX) + { + float tmp = maxX; + maxX = maxY; + maxY = tmp; + } + Resources res = getResources(); + + // Each value is a percent from max X/Y stored as an int. Have to bring that value down + // to a decimal before multiplying by MAX X/Y. + sPrefsEditor.putFloat(ButtonType.BUTTON_A + "-X", (((float)res.getInteger(R.integer.N3DS_BUTTON_A_X) / 1000) * maxX)); + sPrefsEditor.putFloat(ButtonType.BUTTON_A + "-Y", (((float)res.getInteger(R.integer.N3DS_BUTTON_A_Y) / 1000) * maxY)); + sPrefsEditor.putFloat(ButtonType.BUTTON_B + "-X", (((float)res.getInteger(R.integer.N3DS_BUTTON_B_X) / 1000) * maxX)); + sPrefsEditor.putFloat(ButtonType.BUTTON_B + "-Y", (((float)res.getInteger(R.integer.N3DS_BUTTON_B_Y) / 1000) * maxY)); + sPrefsEditor.putFloat(ButtonType.BUTTON_X + "-X", (((float)res.getInteger(R.integer.N3DS_BUTTON_X_X) / 1000) * maxX)); + sPrefsEditor.putFloat(ButtonType.BUTTON_X + "-Y", (((float)res.getInteger(R.integer.N3DS_BUTTON_X_Y) / 1000) * maxY)); + sPrefsEditor.putFloat(ButtonType.BUTTON_Y + "-X", (((float)res.getInteger(R.integer.N3DS_BUTTON_Y_X) / 1000) * maxX)); + sPrefsEditor.putFloat(ButtonType.BUTTON_Y + "-Y", (((float)res.getInteger(R.integer.N3DS_BUTTON_Y_Y) / 1000) * maxY)); + sPrefsEditor.putFloat(ButtonType.BUTTON_ZL + "-X", (((float)res.getInteger(R.integer.N3DS_BUTTON_ZL_X) / 1000) * maxX)); + sPrefsEditor.putFloat(ButtonType.BUTTON_ZL + "-Y", (((float)res.getInteger(R.integer.N3DS_BUTTON_ZL_Y) / 1000) * maxY)); + sPrefsEditor.putFloat(ButtonType.BUTTON_ZR + "-X", (((float)res.getInteger(R.integer.N3DS_BUTTON_ZR_X) / 1000) * maxX)); + sPrefsEditor.putFloat(ButtonType.BUTTON_ZR + "-Y", (((float)res.getInteger(R.integer.N3DS_BUTTON_ZR_Y) / 1000) * maxY)); + sPrefsEditor.putFloat(ButtonType.DPAD_UP + "-X", (((float)res.getInteger(R.integer.N3DS_BUTTON_UP_X) / 1000) * maxX)); + sPrefsEditor.putFloat(ButtonType.DPAD_UP + "-Y", (((float)res.getInteger(R.integer.N3DS_BUTTON_UP_Y) / 1000) * maxY)); + sPrefsEditor.putFloat(ButtonType.TRIGGER_L + "-X", (((float)res.getInteger(R.integer.N3DS_TRIGGER_L_X) / 1000) * maxX)); + sPrefsEditor.putFloat(ButtonType.TRIGGER_L + "-Y", (((float)res.getInteger(R.integer.N3DS_TRIGGER_L_Y) / 1000) * maxY)); + sPrefsEditor.putFloat(ButtonType.TRIGGER_R + "-X", (((float)res.getInteger(R.integer.N3DS_TRIGGER_R_X) / 1000) * maxX)); + sPrefsEditor.putFloat(ButtonType.TRIGGER_R + "-Y", (((float)res.getInteger(R.integer.N3DS_TRIGGER_R_Y) / 1000) * maxY)); + sPrefsEditor.putFloat(ButtonType.BUTTON_START + "-X", (((float)res.getInteger(R.integer.N3DS_BUTTON_START_X) / 1000) * maxX)); + sPrefsEditor.putFloat(ButtonType.BUTTON_START + "-Y", (((float)res.getInteger(R.integer.N3DS_BUTTON_START_Y) / 1000) * maxY)); + sPrefsEditor.putFloat(ButtonType.BUTTON_SELECT + "-X", (((float)res.getInteger(R.integer.N3DS_BUTTON_SELECT_X) / 1000) * maxX)); + sPrefsEditor.putFloat(ButtonType.BUTTON_SELECT + "-Y", (((float)res.getInteger(R.integer.N3DS_BUTTON_SELECT_Y) / 1000) * maxY)); + sPrefsEditor.putFloat(ButtonType.BUTTON_HOME + "-X", (((float)res.getInteger(R.integer.N3DS_BUTTON_HOME_X) / 1000) * maxX)); + sPrefsEditor.putFloat(ButtonType.BUTTON_HOME + "-Y", (((float)res.getInteger(R.integer.N3DS_BUTTON_HOME_Y) / 1000) * maxY)); + sPrefsEditor.putFloat(ButtonType.STICK_C + "-X", (((float)res.getInteger(R.integer.N3DS_STICK_C_X) / 1000) * maxX)); + sPrefsEditor.putFloat(ButtonType.STICK_C + "-Y", (((float)res.getInteger(R.integer.N3DS_STICK_C_Y) / 1000) * maxY)); + sPrefsEditor.putFloat(ButtonType.STICK_LEFT + "-X", (((float)res.getInteger(R.integer.N3DS_STICK_MAIN_X) / 1000) * maxX)); + sPrefsEditor.putFloat(ButtonType.STICK_LEFT + "-Y", (((float)res.getInteger(R.integer.N3DS_STICK_MAIN_Y) / 1000) * maxY)); + + // We want to commit right away, otherwise the overlay could load before this is saved. + sPrefsEditor.commit(); + } + + private void defaultOverlayPortrait() + { + SharedPreferences.Editor sPrefsEditor = mPreferences.edit(); + // Get screen size + Display display = ((Activity) getContext()).getWindowManager().getDefaultDisplay(); + DisplayMetrics outMetrics = new DisplayMetrics(); + display.getMetrics(outMetrics); + float maxX = outMetrics.heightPixels; + float maxY = outMetrics.widthPixels; + // Height and width changes depending on orientation. Use the larger value for height. + if (maxY < maxX) + { + float tmp = maxX; + maxX = maxY; + maxY = tmp; + } + Resources res = getResources(); + String portrait = "-Portrait"; + + // Each value is a percent from max X/Y stored as an int. Have to bring that value down + // to a decimal before multiplying by MAX X/Y. + sPrefsEditor.putFloat(ButtonType.BUTTON_A + portrait + "-X", (((float)res.getInteger(R.integer.N3DS_BUTTON_A_PORTRAIT_X) / 1000) * maxX)); + sPrefsEditor.putFloat(ButtonType.BUTTON_A + portrait + "-Y", (((float)res.getInteger(R.integer.N3DS_BUTTON_A_PORTRAIT_Y) / 1000) * maxY)); + sPrefsEditor.putFloat(ButtonType.BUTTON_B + portrait + "-X", (((float)res.getInteger(R.integer.N3DS_BUTTON_B_PORTRAIT_X) / 1000) * maxX)); + sPrefsEditor.putFloat(ButtonType.BUTTON_B + portrait + "-Y", (((float)res.getInteger(R.integer.N3DS_BUTTON_B_PORTRAIT_Y) / 1000) * maxY)); + sPrefsEditor.putFloat(ButtonType.BUTTON_X + portrait + "-X", (((float)res.getInteger(R.integer.N3DS_BUTTON_X_PORTRAIT_X) / 1000) * maxX)); + sPrefsEditor.putFloat(ButtonType.BUTTON_X + portrait + "-Y", (((float)res.getInteger(R.integer.N3DS_BUTTON_X_PORTRAIT_Y) / 1000) * maxY)); + sPrefsEditor.putFloat(ButtonType.BUTTON_Y + portrait + "-X", (((float)res.getInteger(R.integer.N3DS_BUTTON_Y_PORTRAIT_X) / 1000) * maxX)); + sPrefsEditor.putFloat(ButtonType.BUTTON_Y + portrait + "-Y", (((float)res.getInteger(R.integer.N3DS_BUTTON_Y_PORTRAIT_Y) / 1000) * maxY)); + sPrefsEditor.putFloat(ButtonType.BUTTON_ZL + portrait + "-X", (((float)res.getInteger(R.integer.N3DS_BUTTON_ZL_PORTRAIT_X) / 1000) * maxX)); + sPrefsEditor.putFloat(ButtonType.BUTTON_ZL + portrait + "-Y", (((float)res.getInteger(R.integer.N3DS_BUTTON_ZL_PORTRAIT_Y) / 1000) * maxY)); + sPrefsEditor.putFloat(ButtonType.BUTTON_ZR + portrait + "-X", (((float)res.getInteger(R.integer.N3DS_BUTTON_ZR_PORTRAIT_X) / 1000) * maxX)); + sPrefsEditor.putFloat(ButtonType.BUTTON_ZR + portrait + "-Y", (((float)res.getInteger(R.integer.N3DS_BUTTON_ZR_PORTRAIT_Y) / 1000) * maxY)); + sPrefsEditor.putFloat(ButtonType.DPAD_UP + portrait + "-X", (((float)res.getInteger(R.integer.N3DS_BUTTON_UP_PORTRAIT_X) / 1000) * maxX)); + sPrefsEditor.putFloat(ButtonType.DPAD_UP + portrait + "-Y", (((float)res.getInteger(R.integer.N3DS_BUTTON_UP_PORTRAIT_Y) / 1000) * maxY)); + sPrefsEditor.putFloat(ButtonType.TRIGGER_L + portrait + "-X", (((float)res.getInteger(R.integer.N3DS_TRIGGER_L_PORTRAIT_X) / 1000) * maxX)); + sPrefsEditor.putFloat(ButtonType.TRIGGER_L + portrait + "-Y", (((float)res.getInteger(R.integer.N3DS_TRIGGER_L_PORTRAIT_Y) / 1000) * maxY)); + sPrefsEditor.putFloat(ButtonType.TRIGGER_R + portrait + "-X", (((float)res.getInteger(R.integer.N3DS_TRIGGER_R_PORTRAIT_X) / 1000) * maxX)); + sPrefsEditor.putFloat(ButtonType.TRIGGER_R + portrait + "-Y", (((float)res.getInteger(R.integer.N3DS_TRIGGER_R_PORTRAIT_Y) / 1000) * maxY)); + sPrefsEditor.putFloat(ButtonType.BUTTON_START + portrait + "-X", (((float)res.getInteger(R.integer.N3DS_BUTTON_START_PORTRAIT_X) / 1000) * maxX)); + sPrefsEditor.putFloat(ButtonType.BUTTON_START + portrait + "-Y", (((float)res.getInteger(R.integer.N3DS_BUTTON_START_PORTRAIT_Y) / 1000) * maxY)); + sPrefsEditor.putFloat(ButtonType.BUTTON_SELECT + portrait + "-X", (((float)res.getInteger(R.integer.N3DS_BUTTON_SELECT_PORTRAIT_X) / 1000) * maxX)); + sPrefsEditor.putFloat(ButtonType.BUTTON_SELECT + portrait + "-Y", (((float)res.getInteger(R.integer.N3DS_BUTTON_SELECT_PORTRAIT_Y) / 1000) * maxY)); + sPrefsEditor.putFloat(ButtonType.BUTTON_HOME + portrait + "-X", (((float)res.getInteger(R.integer.N3DS_BUTTON_HOME_PORTRAIT_X) / 1000) * maxX)); + sPrefsEditor.putFloat(ButtonType.BUTTON_HOME + portrait + "-Y", (((float)res.getInteger(R.integer.N3DS_BUTTON_HOME_PORTRAIT_Y) / 1000) * maxY)); + sPrefsEditor.putFloat(ButtonType.STICK_C + portrait + "-X", (((float)res.getInteger(R.integer.N3DS_STICK_C_PORTRAIT_X) / 1000) * maxX)); + sPrefsEditor.putFloat(ButtonType.STICK_C + portrait + "-Y", (((float)res.getInteger(R.integer.N3DS_STICK_C_PORTRAIT_Y) / 1000) * maxY)); + sPrefsEditor.putFloat(ButtonType.STICK_LEFT + portrait + "-X", (((float)res.getInteger(R.integer.N3DS_STICK_MAIN_PORTRAIT_X) / 1000) * maxX)); + sPrefsEditor.putFloat(ButtonType.STICK_LEFT + portrait + "-Y", (((float)res.getInteger(R.integer.N3DS_STICK_MAIN_PORTRAIT_Y) / 1000) * maxY)); + + // We want to commit right away, otherwise the overlay could load before this is saved. + sPrefsEditor.commit(); + } + + public boolean isInEditMode() + { + return mIsInEditMode; + } +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/overlay/InputOverlayDrawableButton.java b/src/android/app/src/main/java/org/citra/citra_android/overlay/InputOverlayDrawableButton.java new file mode 100644 index 000000000..ec9f81c3c --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/overlay/InputOverlayDrawableButton.java @@ -0,0 +1,137 @@ +/** + * Copyright 2013 Dolphin Emulator Project + * Licensed under GPLv2+ + * Refer to the license.txt file included. + */ + +package org.citra.citra_android.overlay; + +import android.content.res.Resources; +import android.graphics.Bitmap; +import android.graphics.Canvas; +import android.graphics.Rect; +import android.graphics.drawable.BitmapDrawable; +import android.view.MotionEvent; + +/** + * Custom {@link BitmapDrawable} that is capable + * of storing it's own ID. + */ +public final class InputOverlayDrawableButton +{ + // The ID identifying what type of button this Drawable represents. + private int mButtonType; + private int mTrackId; + private int mPreviousTouchX, mPreviousTouchY; + private int mControlPositionX, mControlPositionY; + private int mWidth; + private int mHeight; + private BitmapDrawable mDefaultStateBitmap; + private BitmapDrawable mPressedStateBitmap; + private boolean mPressedState = false; + + /** + * Constructor + * + * @param res {@link Resources} instance. + * @param defaultStateBitmap {@link Bitmap} to use with the default state Drawable. + * @param pressedStateBitmap {@link Bitmap} to use with the pressed state Drawable. + * @param buttonType Identifier for this type of button. + */ + public InputOverlayDrawableButton(Resources res, Bitmap defaultStateBitmap, + Bitmap pressedStateBitmap, int buttonType) + { + mDefaultStateBitmap = new BitmapDrawable(res, defaultStateBitmap); + mPressedStateBitmap = new BitmapDrawable(res, pressedStateBitmap); + mButtonType = buttonType; + + mWidth = mDefaultStateBitmap.getIntrinsicWidth(); + mHeight = mDefaultStateBitmap.getIntrinsicHeight(); + } + + /** + * Gets this InputOverlayDrawableButton's button ID. + * + * @return this InputOverlayDrawableButton's button ID. + */ + public int getId() + { + return mButtonType; + } + + public void setTrackId(int trackId) + { + mTrackId = trackId; + } + + public int getTrackId() + { + return mTrackId; + } + + public boolean onConfigureTouch(MotionEvent event) + { + int pointerIndex = event.getActionIndex(); + int fingerPositionX = (int) event.getX(pointerIndex); + int fingerPositionY = (int) event.getY(pointerIndex); + switch (event.getAction()) + { + case MotionEvent.ACTION_DOWN: + mPreviousTouchX = fingerPositionX; + mPreviousTouchY = fingerPositionY; + break; + case MotionEvent.ACTION_MOVE: + mControlPositionX += fingerPositionX - mPreviousTouchX; + mControlPositionY += fingerPositionY - mPreviousTouchY; + setBounds(mControlPositionX, mControlPositionY, getWidth() + mControlPositionX, + getHeight() + mControlPositionY); + mPreviousTouchX = fingerPositionX; + mPreviousTouchY = fingerPositionY; + break; + + } + return true; + } + + public void setPosition(int x, int y) + { + mControlPositionX = x; + mControlPositionY = y; + } + + public void draw(Canvas canvas) + { + getCurrentStateBitmapDrawable().draw(canvas); + } + + private BitmapDrawable getCurrentStateBitmapDrawable() + { + return mPressedState ? mPressedStateBitmap : mDefaultStateBitmap; + } + + public void setBounds(int left, int top, int right, int bottom) + { + mDefaultStateBitmap.setBounds(left, top, right, bottom); + mPressedStateBitmap.setBounds(left, top, right, bottom); + } + + public Rect getBounds() + { + return mDefaultStateBitmap.getBounds(); + } + + public int getWidth() + { + return mWidth; + } + + public int getHeight() + { + return mHeight; + } + + public void setPressedState(boolean isPressed) + { + mPressedState = isPressed; + } +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/overlay/InputOverlayDrawableDpad.java b/src/android/app/src/main/java/org/citra/citra_android/overlay/InputOverlayDrawableDpad.java new file mode 100644 index 000000000..1b0ee6829 --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/overlay/InputOverlayDrawableDpad.java @@ -0,0 +1,206 @@ +/** + * Copyright 2016 Dolphin Emulator Project + * Licensed under GPLv2+ + * Refer to the license.txt file included. + */ + +package org.citra.citra_android.overlay; + +import android.content.res.Resources; +import android.graphics.Bitmap; +import android.graphics.Canvas; +import android.graphics.Rect; +import android.graphics.drawable.BitmapDrawable; +import android.view.MotionEvent; + +/** + * Custom {@link BitmapDrawable} that is capable + * of storing it's own ID. + */ +public final class InputOverlayDrawableDpad +{ + // The ID identifying what type of button this Drawable represents. + private int[] mButtonType = new int[4]; + private int mTrackId; + private int mPreviousTouchX, mPreviousTouchY; + private int mControlPositionX, mControlPositionY; + private int mWidth; + private int mHeight; + private BitmapDrawable mDefaultStateBitmap; + private BitmapDrawable mPressedOneDirectionStateBitmap; + private BitmapDrawable mPressedTwoDirectionsStateBitmap; + private int mPressState = STATE_DEFAULT; + + public static final int STATE_DEFAULT = 0; + public static final int STATE_PRESSED_UP = 1; + public static final int STATE_PRESSED_DOWN = 2; + public static final int STATE_PRESSED_LEFT = 3; + public static final int STATE_PRESSED_RIGHT = 4; + public static final int STATE_PRESSED_UP_LEFT = 5; + public static final int STATE_PRESSED_UP_RIGHT = 6; + public static final int STATE_PRESSED_DOWN_LEFT = 7; + public static final int STATE_PRESSED_DOWN_RIGHT = 8; + + /** + * Constructor + * + * @param res {@link Resources} instance. + * @param defaultStateBitmap {@link Bitmap} of the default state. + * @param pressedOneDirectionStateBitmap {@link Bitmap} of the pressed state in one direction. + * @param pressedTwoDirectionsStateBitmap {@link Bitmap} of the pressed state in two direction. + * @param buttonUp Identifier for the up button. + * @param buttonDown Identifier for the down button. + * @param buttonLeft Identifier for the left button. + * @param buttonRight Identifier for the right button. + */ + public InputOverlayDrawableDpad(Resources res, + Bitmap defaultStateBitmap, + Bitmap pressedOneDirectionStateBitmap, + Bitmap pressedTwoDirectionsStateBitmap, + int buttonUp, int buttonDown, + int buttonLeft, int buttonRight) + { + mDefaultStateBitmap = new BitmapDrawable(res, defaultStateBitmap); + mPressedOneDirectionStateBitmap = new BitmapDrawable(res, pressedOneDirectionStateBitmap); + mPressedTwoDirectionsStateBitmap = new BitmapDrawable(res, pressedTwoDirectionsStateBitmap); + + mWidth = mDefaultStateBitmap.getIntrinsicWidth(); + mHeight = mDefaultStateBitmap.getIntrinsicHeight(); + + mButtonType[0] = buttonUp; + mButtonType[1] = buttonDown; + mButtonType[2] = buttonLeft; + mButtonType[3] = buttonRight; + } + + public void draw(Canvas canvas) + { + int px = mControlPositionX + (getWidth() / 2); + int py = mControlPositionY + (getHeight() / 2); + switch (mPressState) + { + case STATE_DEFAULT: + mDefaultStateBitmap.draw(canvas); + break; + case STATE_PRESSED_UP: + mPressedOneDirectionStateBitmap.draw(canvas); + break; + case STATE_PRESSED_RIGHT: + canvas.save(); + canvas.rotate(90, px, py); + mPressedOneDirectionStateBitmap.draw(canvas); + canvas.restore(); + break; + case STATE_PRESSED_DOWN: + canvas.save(); + canvas.rotate(180, px, py); + mPressedOneDirectionStateBitmap.draw(canvas); + canvas.restore(); + break; + case STATE_PRESSED_LEFT: + canvas.save(); + canvas.rotate(270, px, py); + mPressedOneDirectionStateBitmap.draw(canvas); + canvas.restore(); + break; + case STATE_PRESSED_UP_LEFT: + mPressedTwoDirectionsStateBitmap.draw(canvas); + break; + case STATE_PRESSED_UP_RIGHT: + canvas.save(); + canvas.rotate(90, px, py); + mPressedTwoDirectionsStateBitmap.draw(canvas); + canvas.restore(); + break; + case STATE_PRESSED_DOWN_RIGHT: + canvas.save(); + canvas.rotate(180, px, py); + mPressedTwoDirectionsStateBitmap.draw(canvas); + canvas.restore(); + break; + case STATE_PRESSED_DOWN_LEFT: + canvas.save(); + canvas.rotate(270, px, py); + mPressedTwoDirectionsStateBitmap.draw(canvas); + canvas.restore(); + break; + } + } + + /** + * Gets one of the InputOverlayDrawableDpad's button IDs. + * + * @return the requested InputOverlayDrawableDpad's button ID. + */ + public int getId(int direction) + { + return mButtonType[direction]; + } + + public void setTrackId(int trackId) + { + mTrackId = trackId; + } + + public int getTrackId() + { + return mTrackId; + } + + public boolean onConfigureTouch(MotionEvent event) + { + int pointerIndex = event.getActionIndex(); + int fingerPositionX = (int) event.getX(pointerIndex); + int fingerPositionY = (int) event.getY(pointerIndex); + switch (event.getAction()) + { + case MotionEvent.ACTION_DOWN: + mPreviousTouchX = fingerPositionX; + mPreviousTouchY = fingerPositionY; + break; + case MotionEvent.ACTION_MOVE: + mControlPositionX += fingerPositionX - mPreviousTouchX; + mControlPositionY += fingerPositionY - mPreviousTouchY; + setBounds(mControlPositionX, mControlPositionY, getWidth() + mControlPositionX, + getHeight() + mControlPositionY); + mPreviousTouchX = fingerPositionX; + mPreviousTouchY = fingerPositionY; + break; + + } + return true; + } + + public void setPosition(int x, int y) + { + mControlPositionX = x; + mControlPositionY = y; + } + + public void setBounds(int left, int top, int right, int bottom) + { + mDefaultStateBitmap.setBounds(left, top, right, bottom); + mPressedOneDirectionStateBitmap.setBounds(left, top, right, bottom); + mPressedTwoDirectionsStateBitmap.setBounds(left, top, right, bottom); + } + + public Rect getBounds() + { + return mDefaultStateBitmap.getBounds(); + } + + public int getWidth() + { + return mWidth; + } + + public int getHeight() + { + return mHeight; + } + + public void setState(int pressState) + { + mPressState = pressState; + } +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/overlay/InputOverlayDrawableJoystick.java b/src/android/app/src/main/java/org/citra/citra_android/overlay/InputOverlayDrawableJoystick.java new file mode 100644 index 000000000..c1f65b1d8 --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/overlay/InputOverlayDrawableJoystick.java @@ -0,0 +1,264 @@ +/** + * Copyright 2013 Dolphin Emulator Project + * Licensed under GPLv2+ + * Refer to the license.txt file included. + */ + +package org.citra.citra_android.overlay; + +import android.content.res.Resources; +import android.graphics.Bitmap; +import android.graphics.Canvas; +import android.graphics.Rect; +import android.graphics.drawable.BitmapDrawable; +import android.view.MotionEvent; + +/** + * Custom {@link BitmapDrawable} that is capable + * of storing it's own ID. + */ +public final class InputOverlayDrawableJoystick +{ + private final int[] axisIDs = {0, 0, 0, 0}; + private final float[] axises = {0f, 0f}; + private int trackId = -1; + private int mJoystickType; + private int mControlPositionX, mControlPositionY; + private int mPreviousTouchX, mPreviousTouchY; + private int mWidth; + private int mHeight; + private Rect mVirtBounds; + private Rect mOrigBounds; + private BitmapDrawable mOuterBitmap; + private BitmapDrawable mDefaultStateInnerBitmap; + private BitmapDrawable mPressedStateInnerBitmap; + private BitmapDrawable mBoundsBoxBitmap; + private boolean mPressedState = false; + + /** + * Constructor + * + * @param res {@link Resources} instance. + * @param bitmapOuter {@link Bitmap} which represents the outer non-movable part of the joystick. + * @param bitmapInnerDefault {@link Bitmap} which represents the default inner movable part of the joystick. + * @param bitmapInnerPressed {@link Bitmap} which represents the pressed inner movable part of the joystick. + * @param rectOuter {@link Rect} which represents the outer joystick bounds. + * @param rectInner {@link Rect} which represents the inner joystick bounds. + * @param joystick Identifier for which joystick this is. + */ + public InputOverlayDrawableJoystick(Resources res, Bitmap bitmapOuter, + Bitmap bitmapInnerDefault, Bitmap bitmapInnerPressed, + Rect rectOuter, Rect rectInner, int joystick) + { + axisIDs[0] = joystick + 1; // Up + axisIDs[1] = joystick + 2; // Down + axisIDs[2] = joystick + 3; // Left + axisIDs[3] = joystick + 4; // Right + mJoystickType = joystick; + + mOuterBitmap = new BitmapDrawable(res, bitmapOuter); + mDefaultStateInnerBitmap = new BitmapDrawable(res, bitmapInnerDefault); + mPressedStateInnerBitmap = new BitmapDrawable(res, bitmapInnerPressed); + mBoundsBoxBitmap = new BitmapDrawable(res, bitmapOuter); + mWidth = bitmapOuter.getWidth(); + mHeight = bitmapOuter.getHeight(); + + setBounds(rectOuter); + mDefaultStateInnerBitmap.setBounds(rectInner); + mPressedStateInnerBitmap.setBounds(rectInner); + mVirtBounds = getBounds(); + mOrigBounds = mOuterBitmap.copyBounds(); + mBoundsBoxBitmap.setAlpha(0); + mBoundsBoxBitmap.setBounds(getVirtBounds()); + SetInnerBounds(); + } + + /** + * Gets this InputOverlayDrawableJoystick's button ID. + * + * @return this InputOverlayDrawableJoystick's button ID. + */ + public int getId() + { + return mJoystickType; + } + + public void draw(Canvas canvas) + { + mOuterBitmap.draw(canvas); + getCurrentStateBitmapDrawable().draw(canvas); + mBoundsBoxBitmap.draw(canvas); + } + + public void TrackEvent(MotionEvent event) + { + int pointerIndex = event.getActionIndex(); + + switch (event.getAction() & MotionEvent.ACTION_MASK) + { + case MotionEvent.ACTION_DOWN: + case MotionEvent.ACTION_POINTER_DOWN: + if (getBounds().contains((int) event.getX(pointerIndex), (int) event.getY(pointerIndex))) + { + mPressedState = true; + mOuterBitmap.setAlpha(0); + mBoundsBoxBitmap.setAlpha(255); + getVirtBounds().offset((int) event.getX(pointerIndex) - getVirtBounds().centerX(), + (int) event.getY(pointerIndex) - getVirtBounds().centerY()); + mBoundsBoxBitmap.setBounds(getVirtBounds()); + trackId = event.getPointerId(pointerIndex); + } + break; + case MotionEvent.ACTION_UP: + case MotionEvent.ACTION_POINTER_UP: + if (trackId == event.getPointerId(pointerIndex)) + { + mPressedState = false; + axises[0] = axises[1] = 0.0f; + mOuterBitmap.setAlpha(255); + mBoundsBoxBitmap.setAlpha(0); + setVirtBounds(new Rect(mOrigBounds.left, mOrigBounds.top, mOrigBounds.right, + mOrigBounds.bottom)); + setBounds(new Rect(mOrigBounds.left, mOrigBounds.top, mOrigBounds.right, + mOrigBounds.bottom)); + SetInnerBounds(); + trackId = -1; + } + break; + } + + if (trackId == -1) + return; + + for (int i = 0; i < event.getPointerCount(); i++) + { + if (trackId == event.getPointerId(i)) + { + float touchX = event.getX(i); + float touchY = event.getY(i); + float maxY = getVirtBounds().bottom; + float maxX = getVirtBounds().right; + touchX -= getVirtBounds().centerX(); + maxX -= getVirtBounds().centerX(); + touchY -= getVirtBounds().centerY(); + maxY -= getVirtBounds().centerY(); + final float AxisX = touchX / maxX; + final float AxisY = touchY / maxY; + axises[0] = AxisX; + axises[1] = AxisY; + + SetInnerBounds(); + } + } + } + + public boolean onConfigureTouch(MotionEvent event) + { + int pointerIndex = event.getActionIndex(); + int fingerPositionX = (int) event.getX(pointerIndex); + int fingerPositionY = (int) event.getY(pointerIndex); + switch (event.getAction()) + { + case MotionEvent.ACTION_DOWN: + mPreviousTouchX = fingerPositionX; + mPreviousTouchY = fingerPositionY; + break; + case MotionEvent.ACTION_MOVE: + int deltaX = fingerPositionX - mPreviousTouchX; + int deltaY = fingerPositionY - mPreviousTouchY; + mControlPositionX += deltaX; + mControlPositionY += deltaY; + setBounds(new Rect(mControlPositionX, mControlPositionY, + mOuterBitmap.getIntrinsicWidth() + mControlPositionX, + mOuterBitmap.getIntrinsicHeight() + mControlPositionY)); + setVirtBounds(new Rect(mControlPositionX, mControlPositionY, + mOuterBitmap.getIntrinsicWidth() + mControlPositionX, + mOuterBitmap.getIntrinsicHeight() + mControlPositionY)); + SetInnerBounds(); + setOrigBounds(new Rect(new Rect(mControlPositionX, mControlPositionY, + mOuterBitmap.getIntrinsicWidth() + mControlPositionX, + mOuterBitmap.getIntrinsicHeight() + mControlPositionY))); + mPreviousTouchX = fingerPositionX; + mPreviousTouchY = fingerPositionY; + break; + } + return true; + } + + + public float[] getAxisValues() + { + return axises; + } + + public int[] getAxisIDs() + { + return axisIDs; + } + + private void SetInnerBounds() + { + int X = getVirtBounds().centerX() + (int) ((axises[0]) * (getVirtBounds().width() / 2)); + int Y = getVirtBounds().centerY() + (int) ((axises[1]) * (getVirtBounds().height() / 2)); + + if (X > getVirtBounds().centerX() + (getVirtBounds().width() / 2)) + X = getVirtBounds().centerX() + (getVirtBounds().width() / 2); + if (X < getVirtBounds().centerX() - (getVirtBounds().width() / 2)) + X = getVirtBounds().centerX() - (getVirtBounds().width() / 2); + if (Y > getVirtBounds().centerY() + (getVirtBounds().height() / 2)) + Y = getVirtBounds().centerY() + (getVirtBounds().height() / 2); + if (Y < getVirtBounds().centerY() - (getVirtBounds().height() / 2)) + Y = getVirtBounds().centerY() - (getVirtBounds().height() / 2); + + int width = mPressedStateInnerBitmap.getBounds().width() / 2; + int height = mPressedStateInnerBitmap.getBounds().height() / 2; + mDefaultStateInnerBitmap.setBounds(X - width, Y - height, X + width, Y + height); + mPressedStateInnerBitmap.setBounds(mDefaultStateInnerBitmap.getBounds()); + } + + public void setPosition(int x, int y) + { + mControlPositionX = x; + mControlPositionY = y; + } + + private BitmapDrawable getCurrentStateBitmapDrawable() + { + return mPressedState ? mPressedStateInnerBitmap : mDefaultStateInnerBitmap; + } + + public void setBounds(Rect bounds) + { + mOuterBitmap.setBounds(bounds); + } + + public Rect getBounds() + { + return mOuterBitmap.getBounds(); + } + + private void setVirtBounds(Rect bounds) + { + mVirtBounds = bounds; + } + + private void setOrigBounds(Rect bounds) + { + mOrigBounds = bounds; + } + + private Rect getVirtBounds() + { + return mVirtBounds; + } + + public int getWidth() + { + return mWidth; + } + + public int getHeight() + { + return mHeight; + } +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/services/DirectoryInitializationService.java b/src/android/app/src/main/java/org/citra/citra_android/services/DirectoryInitializationService.java new file mode 100644 index 000000000..a658261fc --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/services/DirectoryInitializationService.java @@ -0,0 +1,233 @@ +/** + * Copyright 2014 Dolphin Emulator Project + * Licensed under GPLv2+ + * Refer to the license.txt file included. + */ + +package org.citra.citra_android.services; + +import android.app.IntentService; +import android.content.Context; +import android.content.Intent; +import android.content.SharedPreferences; +import android.os.Environment; +import android.preference.PreferenceManager; +import android.support.v4.content.LocalBroadcastManager; + +import org.citra.citra_android.NativeLibrary; +import org.citra.citra_android.utils.Log; +import org.citra.citra_android.utils.PermissionsHandler; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.util.concurrent.atomic.AtomicBoolean; + + +/** + * A service that spawns its own thread in order to copy several binary and shader files + * from the Dolphin APK to the external file system. + */ +public final class DirectoryInitializationService extends IntentService +{ + public static final String BROADCAST_ACTION = "org.citra.citra_android.BROADCAST"; + + public static final String EXTRA_STATE = "directoryState"; + private static volatile DirectoryInitializationState directoryState = null; + private static String userPath; + private static AtomicBoolean isDolphinDirectoryInitializationRunning = new AtomicBoolean(false); + + public enum DirectoryInitializationState + { + DOLPHIN_DIRECTORIES_INITIALIZED, + EXTERNAL_STORAGE_PERMISSION_NEEDED, + CANT_FIND_EXTERNAL_STORAGE + } + + public DirectoryInitializationService() + { + // Superclass constructor is called to name the thread on which this service executes. + super("DirectoryInitializationService"); + } + + public static void startService(Context context) + { + Intent intent = new Intent(context, DirectoryInitializationService.class); + context.startService(intent); + } + + @Override + protected void onHandleIntent(Intent intent) + { + isDolphinDirectoryInitializationRunning.set(true); + + if (directoryState != DirectoryInitializationState.DOLPHIN_DIRECTORIES_INITIALIZED) + { + if (PermissionsHandler.hasWriteAccess(this)) + { + if (setDolphinUserDirectory()) + { + initializeInternalStorage(); + CreateUserDirectories(); + NativeLibrary.CreateConfigFile(); + directoryState = DirectoryInitializationState.DOLPHIN_DIRECTORIES_INITIALIZED; + } + else + { + directoryState = DirectoryInitializationState.CANT_FIND_EXTERNAL_STORAGE; + } + } + else + { + directoryState = DirectoryInitializationState.EXTERNAL_STORAGE_PERMISSION_NEEDED; + } + } + + isDolphinDirectoryInitializationRunning.set(false); + sendBroadcastState(directoryState); + } + + private boolean setDolphinUserDirectory() + { + if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) + { + File externalPath = Environment.getExternalStorageDirectory(); + if (externalPath != null) + { + userPath = externalPath.getAbsolutePath() + "/citra-emu"; + Log.debug("[DirectoryInitializationService] User Dir: " + userPath); + // NativeLibrary.SetUserDirectory(userPath); + return true; + } + + } + + return false; + } + + private void initializeInternalStorage() + { + File sysDirectory = new File(getFilesDir(), "Sys"); + + SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this); + String revision = NativeLibrary.GetGitRevision(); + if (!preferences.getString("sysDirectoryVersion", "").equals(revision)) + { + // There is no extracted Sys directory, or there is a Sys directory from another + // version of Dolphin that might contain outdated files. Let's (re-)extract Sys. + deleteDirectoryRecursively(sysDirectory); + copyAssetFolder("Sys", sysDirectory, true); + + SharedPreferences.Editor editor = preferences.edit(); + editor.putString("sysDirectoryVersion", revision); + editor.apply(); + } + + // Let the native code know where the Sys directory is. + SetSysDirectory(sysDirectory.getPath()); + } + + private static void deleteDirectoryRecursively(File file) + { + if (file.isDirectory()) + { + for (File child : file.listFiles()) + deleteDirectoryRecursively(child); + } + file.delete(); + } + + public static boolean areDolphinDirectoriesReady() + { + return directoryState == DirectoryInitializationState.DOLPHIN_DIRECTORIES_INITIALIZED; + } + + public static String getUserDirectory() + { + if (directoryState == null) + { + throw new IllegalStateException("DirectoryInitializationService has to run at least once!"); + } + else if (isDolphinDirectoryInitializationRunning.get()) + { + throw new IllegalStateException( + "DirectoryInitializationService has to finish running first!"); + } + return userPath; + + } + + private void sendBroadcastState(DirectoryInitializationState state) + { + Intent localIntent = + new Intent(BROADCAST_ACTION) + .putExtra(EXTRA_STATE, state); + LocalBroadcastManager.getInstance(this).sendBroadcast(localIntent); + } + + private void copyAsset(String asset, File output, Boolean overwrite) + { + Log.verbose("[DirectoryInitializationService] Copying File " + asset + " to " + output); + + try + { + if (!output.exists() || overwrite) + { + InputStream in = getAssets().open(asset); + OutputStream out = new FileOutputStream(output); + copyFile(in, out); + in.close(); + out.close(); + } + } + catch (IOException e) + { + Log.error("[DirectoryInitializationService] Failed to copy asset file: " + asset + + e.getMessage()); + } + } + + private void copyAssetFolder(String assetFolder, File outputFolder, Boolean overwrite) + { + Log.verbose("[DirectoryInitializationService] Copying Folder " + assetFolder + " to " + + outputFolder); + + try + { + boolean createdFolder = false; + for (String file : getAssets().list(assetFolder)) + { + if (!createdFolder) + { + outputFolder.mkdir(); + createdFolder = true; + } + copyAssetFolder(assetFolder + File.separator + file, new File(outputFolder, file), + overwrite); + copyAsset(assetFolder + File.separator + file, new File(outputFolder, file), overwrite); + } + } + catch (IOException e) + { + Log.error("[DirectoryInitializationService] Failed to copy asset folder: " + assetFolder + + e.getMessage()); + } + } + + private void copyFile(InputStream in, OutputStream out) throws IOException + { + byte[] buffer = new byte[1024]; + int read; + + while ((read = in.read(buffer)) != -1) + { + out.write(buffer, 0, read); + } + } + + private static native void CreateUserDirectories(); + + private static native void SetSysDirectory(String path); +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/services/USBPermService.java b/src/android/app/src/main/java/org/citra/citra_android/services/USBPermService.java new file mode 100644 index 000000000..975857815 --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/services/USBPermService.java @@ -0,0 +1,19 @@ +package org.citra.citra_android.services; + +import android.app.IntentService; +import android.content.Intent; + +public final class USBPermService extends IntentService +{ + public USBPermService() + { + super("USBPermService"); + } + + // Needed when extending IntentService. + // We don't care about the results of the intent handler for this. + @Override + protected void onHandleIntent(Intent intent) + { + } +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/ui/DividerItemDecoration.java b/src/android/app/src/main/java/org/citra/citra_android/ui/DividerItemDecoration.java new file mode 100644 index 000000000..355cbd7f5 --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/ui/DividerItemDecoration.java @@ -0,0 +1,157 @@ +package org.citra.citra_android.ui; + +import android.content.Context; +import android.content.res.TypedArray; +import android.graphics.Canvas; +import android.graphics.Rect; +import android.graphics.drawable.Drawable; +import android.support.v7.widget.LinearLayoutManager; +import android.support.v7.widget.RecyclerView; +import android.util.AttributeSet; +import android.view.View; + +/** + * Implementation from: + * https://gist.github.com/lapastillaroja/858caf1a82791b6c1a36 + */ +public final class DividerItemDecoration extends RecyclerView.ItemDecoration +{ + + private Drawable mDivider; + private boolean mShowFirstDivider = false; + private boolean mShowLastDivider = false; + + + public DividerItemDecoration(Context context, AttributeSet attrs) + { + final TypedArray a = context + .obtainStyledAttributes(attrs, new int[]{android.R.attr.listDivider}); + mDivider = a.getDrawable(0); + a.recycle(); + } + + public DividerItemDecoration(Context context, AttributeSet attrs, boolean showFirstDivider, + boolean showLastDivider) + { + this(context, attrs); + mShowFirstDivider = showFirstDivider; + mShowLastDivider = showLastDivider; + } + + public DividerItemDecoration(Drawable divider) + { + mDivider = divider; + } + + public DividerItemDecoration(Drawable divider, boolean showFirstDivider, + boolean showLastDivider) + { + this(divider); + mShowFirstDivider = showFirstDivider; + mShowLastDivider = showLastDivider; + } + + @Override + public void getItemOffsets(Rect outRect, View view, RecyclerView parent, + RecyclerView.State state) + { + super.getItemOffsets(outRect, view, parent, state); + if (mDivider == null) + { + return; + } + if (parent.getChildPosition(view) < 1) + { + return; + } + + if (getOrientation(parent) == LinearLayoutManager.VERTICAL) + { + outRect.top = mDivider.getIntrinsicHeight(); + } + else + { + outRect.left = mDivider.getIntrinsicWidth(); + } + } + + @Override + public void onDrawOver(Canvas c, RecyclerView parent, RecyclerView.State state) + { + if (mDivider == null) + { + super.onDrawOver(c, parent, state); + return; + } + + // Initialization needed to avoid compiler warning + int left = 0, right = 0, top = 0, bottom = 0, size; + int orientation = getOrientation(parent); + int childCount = parent.getChildCount(); + + if (orientation == LinearLayoutManager.VERTICAL) + { + size = mDivider.getIntrinsicHeight(); + left = parent.getPaddingLeft(); + right = parent.getWidth() - parent.getPaddingRight(); + } + else + { //horizontal + size = mDivider.getIntrinsicWidth(); + top = parent.getPaddingTop(); + bottom = parent.getHeight() - parent.getPaddingBottom(); + } + + for (int i = mShowFirstDivider ? 0 : 1; i < childCount; i++) + { + View child = parent.getChildAt(i); + RecyclerView.LayoutParams params = (RecyclerView.LayoutParams) child.getLayoutParams(); + + if (orientation == LinearLayoutManager.VERTICAL) + { + top = child.getTop() - params.topMargin; + bottom = top + size; + } + else + { //horizontal + left = child.getLeft() - params.leftMargin; + right = left + size; + } + mDivider.setBounds(left, top, right, bottom); + mDivider.draw(c); + } + + // show last divider + if (mShowLastDivider && childCount > 0) + { + View child = parent.getChildAt(childCount - 1); + RecyclerView.LayoutParams params = (RecyclerView.LayoutParams) child.getLayoutParams(); + if (orientation == LinearLayoutManager.VERTICAL) + { + top = child.getBottom() + params.bottomMargin; + bottom = top + size; + } + else + { // horizontal + left = child.getRight() + params.rightMargin; + right = left + size; + } + mDivider.setBounds(left, top, right, bottom); + mDivider.draw(c); + } + } + + private int getOrientation(RecyclerView parent) + { + if (parent.getLayoutManager() instanceof LinearLayoutManager) + { + LinearLayoutManager layoutManager = (LinearLayoutManager) parent.getLayoutManager(); + return layoutManager.getOrientation(); + } + else + { + throw new IllegalStateException( + "DividerItemDecoration can only be used with a LinearLayoutManager."); + } + } +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/ui/NVidiaShieldWorkaroundView.java b/src/android/app/src/main/java/org/citra/citra_android/ui/NVidiaShieldWorkaroundView.java new file mode 100644 index 000000000..44c6b82a4 --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/ui/NVidiaShieldWorkaroundView.java @@ -0,0 +1,25 @@ +/** + * Copyright 2013 Dolphin Emulator Project + * Licensed under GPLv2+ + * Refer to the license.txt file included. + */ + +package org.citra.citra_android.ui; + +import android.content.Context; +import android.util.AttributeSet; +import android.view.View; + +/** + * Work around a bug with the nVidia Shield. + */ +public final class NVidiaShieldWorkaroundView extends View +{ + public NVidiaShieldWorkaroundView(Context context, AttributeSet attrs) + { + super(context, attrs); + + // Setting this seems to workaround the bug + setWillNotDraw(false); + } +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/ui/input/gamecube/ControllerFragment.java b/src/android/app/src/main/java/org/citra/citra_android/ui/input/gamecube/ControllerFragment.java new file mode 100644 index 000000000..8eb509c79 --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/ui/input/gamecube/ControllerFragment.java @@ -0,0 +1,6 @@ +package org.citra.citra_android.ui.input.gamecube; + + +public class ControllerFragment +{ +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/ui/input/gamecube/ControllerFragmentPresenter.java b/src/android/app/src/main/java/org/citra/citra_android/ui/input/gamecube/ControllerFragmentPresenter.java new file mode 100644 index 000000000..036ca4ac8 --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/ui/input/gamecube/ControllerFragmentPresenter.java @@ -0,0 +1,6 @@ +package org.citra.citra_android.ui.input.gamecube; + + +public class ControllerFragmentPresenter +{ +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/ui/input/gamecube/ControllerFragmentView.java b/src/android/app/src/main/java/org/citra/citra_android/ui/input/gamecube/ControllerFragmentView.java new file mode 100644 index 000000000..83ab52bb2 --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/ui/input/gamecube/ControllerFragmentView.java @@ -0,0 +1,6 @@ +package org.citra.citra_android.ui.input.gamecube; + + +public interface ControllerFragmentView +{ +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/ui/main/CustomTitleView.java b/src/android/app/src/main/java/org/citra/citra_android/ui/main/CustomTitleView.java new file mode 100644 index 000000000..cc54d50b4 --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/ui/main/CustomTitleView.java @@ -0,0 +1,82 @@ +package org.citra.citra_android.ui.main; + +import android.content.Context; +import android.graphics.drawable.Drawable; +import android.support.v17.leanback.widget.TitleViewAdapter; +import android.util.AttributeSet; +import android.view.LayoutInflater; +import android.view.View; +import android.widget.LinearLayout; +import android.widget.TextView; + +import org.citra.citra_android.R; + +public class CustomTitleView extends LinearLayout implements TitleViewAdapter.Provider +{ + private final TextView mTitleView; + private final View mBadgeView; + + private final TitleViewAdapter mTitleViewAdapter = new TitleViewAdapter() + { + @Override + public View getSearchAffordanceView() + { + return null; + } + + @Override + public void setTitle(CharSequence titleText) + { + CustomTitleView.this.setTitle(titleText); + } + + @Override + public void setBadgeDrawable(Drawable drawable) + { + CustomTitleView.this.setBadgeDrawable(drawable); + } + }; + + public CustomTitleView(Context context) + { + this(context, null); + } + + public CustomTitleView(Context context, AttributeSet attrs) + { + this(context, attrs, 0); + } + + public CustomTitleView(Context context, AttributeSet attrs, int defStyle) + { + super(context, attrs, defStyle); + View root = LayoutInflater.from(context).inflate(R.layout.tv_title, this); + mTitleView = root.findViewById(R.id.title); + mBadgeView = root.findViewById(R.id.badge); + } + + public void setTitle(CharSequence title) + { + if (title != null) + { + mTitleView.setText(title); + mTitleView.setVisibility(View.VISIBLE); + mBadgeView.setVisibility(View.VISIBLE); + } + } + + public void setBadgeDrawable(Drawable drawable) + { + if (drawable != null) + { + mTitleView.setVisibility(View.GONE); + mBadgeView.setVisibility(View.VISIBLE); + } + } + + @Override + public TitleViewAdapter getTitleViewAdapter() + { + return mTitleViewAdapter; + } +} \ No newline at end of file diff --git a/src/android/app/src/main/java/org/citra/citra_android/ui/main/MainActivity.java b/src/android/app/src/main/java/org/citra/citra_android/ui/main/MainActivity.java new file mode 100644 index 000000000..23e528d75 --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/ui/main/MainActivity.java @@ -0,0 +1,213 @@ +package org.citra.citra_android.ui.main; + +import android.content.Intent; +import android.content.pm.PackageManager; +import android.database.Cursor; +import android.os.Bundle; +import android.support.annotation.Nullable; +import android.support.design.widget.FloatingActionButton; +import android.support.v7.app.AppCompatActivity; +import android.support.v7.widget.Toolbar; +import android.view.Menu; +import android.view.MenuInflater; +import android.view.MenuItem; +import android.widget.Toast; + +import org.citra.citra_android.R; +import org.citra.citra_android.model.GameProvider; +import org.citra.citra_android.services.DirectoryInitializationService; +import org.citra.citra_android.ui.platform.PlatformGamesFragment; +import org.citra.citra_android.ui.platform.PlatformGamesView; +import org.citra.citra_android.ui.settings.SettingsActivity; +import org.citra.citra_android.utils.AddDirectoryHelper; +import org.citra.citra_android.utils.FileBrowserHelper; +import org.citra.citra_android.utils.PermissionsHandler; +import org.citra.citra_android.utils.StartupHandler; + +/** + * The main Activity of the Lollipop style UI. Manages several PlatformGamesFragments, which + * individually display a grid of available games for each Fragment, in a tabbed layout. + */ +public final class MainActivity extends AppCompatActivity implements MainView +{ + private Toolbar mToolbar; + private int mFrameLayoutId; + private PlatformGamesFragment mPlatformGamesFragment; + private FloatingActionButton mFab; + + private MainPresenter mPresenter = new MainPresenter(this); + + @Override + protected void onCreate(Bundle savedInstanceState) + { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); + + findViews(); + + setSupportActionBar(mToolbar); + + mFrameLayoutId = R.id.games_platform_frame; + + // Set up the FAB. + mFab.setOnClickListener(view -> mPresenter.onFabClick()); + + mPresenter.onCreate(); + + // Stuff in this block only happens when this activity is newly created (i.e. not a rotation) + if (savedInstanceState == null) + StartupHandler.HandleInit(this); + + if (PermissionsHandler.hasWriteAccess(this)) + { + mPlatformGamesFragment = new PlatformGamesFragment(); + getSupportFragmentManager().beginTransaction().add(mFrameLayoutId, mPlatformGamesFragment) + .commit(); + } + } + + @Override + protected void onResume() + { + super.onResume(); + mPresenter.addDirIfNeeded(new AddDirectoryHelper(this)); + } + + // TODO: Replace with a ButterKnife injection. + private void findViews() + { + mToolbar = findViewById(R.id.toolbar_main); + mFab = findViewById(R.id.button_add_directory); + } + + @Override + public boolean onCreateOptionsMenu(Menu menu) + { + MenuInflater inflater = getMenuInflater(); + inflater.inflate(R.menu.menu_game_grid, menu); + return true; + } + + /** + * MainView + */ + + @Override + public void setVersionString(String version) + { + mToolbar.setSubtitle(version); + } + + @Override + public void refresh() + { + getContentResolver().insert(GameProvider.URI_REFRESH, null); + refreshFragment(); + } + + @Override + public void refreshFragmentScreenshot(int fragmentPosition) + { + // Invalidate Picasso image so that the new screenshot is animated in. + PlatformGamesView fragment = getPlatformGamesView(); + + if (fragment != null) + { + fragment.refreshScreenshotAtPosition(fragmentPosition); + } + } + + @Override + public void launchSettingsActivity(String menuTag) + { + SettingsActivity.launch(this, menuTag, ""); + } + + @Override + public void launchFileListActivity() + { + FileBrowserHelper.openDirectoryPicker(this); + } + + @Override + public void showGames(Cursor games) + { + // no-op. Handled by PlatformGamesFragment. + } + + /** + * @param requestCode An int describing whether the Activity that is returning did so successfully. + * @param resultCode An int describing what Activity is giving us this callback. + * @param result The information the returning Activity is providing us. + */ + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent result) + { + switch (requestCode) + { + case MainPresenter.REQUEST_ADD_DIRECTORY: + // If the user picked a file, as opposed to just backing out. + if (resultCode == MainActivity.RESULT_OK) + { + mPresenter.onDirectorySelected(FileBrowserHelper.getSelectedDirectory(result)); + } + break; + + case MainPresenter.REQUEST_EMULATE_GAME: + mPresenter.refreshFragmentScreenshot(resultCode); + break; + } + } + + @Override + public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) + { + switch (requestCode) + { + case PermissionsHandler.REQUEST_CODE_WRITE_PERMISSION: + if (grantResults[0] == PackageManager.PERMISSION_GRANTED) + { + DirectoryInitializationService.startService(this); + + mPlatformGamesFragment = new PlatformGamesFragment(); + getSupportFragmentManager().beginTransaction().add(mFrameLayoutId, mPlatformGamesFragment) + .commit(); + } + else + { + Toast.makeText(this, R.string.write_permission_needed, Toast.LENGTH_SHORT) + .show(); + } + break; + default: + super.onRequestPermissionsResult(requestCode, permissions, grantResults); + break; + } + } + + /** + * Called by the framework whenever any actionbar/toolbar icon is clicked. + * + * @param item The icon that was clicked on. + * @return True if the event was handled, false to bubble it up to the OS. + */ + @Override + public boolean onOptionsItemSelected(MenuItem item) + { + return mPresenter.handleOptionSelection(item.getItemId()); + } + + private void refreshFragment() + { + if (mPlatformGamesFragment != null) + { + mPlatformGamesFragment.refresh(); + } + } + + @Nullable + private PlatformGamesView getPlatformGamesView() + { + return (PlatformGamesView) getSupportFragmentManager().findFragmentById(mFrameLayoutId); + } +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/ui/main/MainPresenter.java b/src/android/app/src/main/java/org/citra/citra_android/ui/main/MainPresenter.java new file mode 100644 index 000000000..ed9419afd --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/ui/main/MainPresenter.java @@ -0,0 +1,90 @@ +package org.citra.citra_android.ui.main; + + +import org.citra.citra_android.BuildConfig; +import org.citra.citra_android.DolphinApplication; +import org.citra.citra_android.R; +import org.citra.citra_android.model.GameDatabase; +import org.citra.citra_android.utils.AddDirectoryHelper; +import org.citra.citra_android.utils.SettingsFile; + +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public final class MainPresenter +{ + public static final int REQUEST_ADD_DIRECTORY = 1; + public static final int REQUEST_EMULATE_GAME = 2; + + private final MainView mView; + private String mDirToAdd; + + public MainPresenter(MainView view) + { + mView = view; + } + + public void onCreate() + { + String versionName = BuildConfig.VERSION_NAME; + mView.setVersionString(versionName); + } + + public void onFabClick() + { + mView.launchFileListActivity(); + } + + public boolean handleOptionSelection(int itemId) + { + switch (itemId) + { + case R.id.menu_settings_core: + mView.launchSettingsActivity(SettingsFile.FILE_NAME_CONFIG); + return true; + + case R.id.menu_refresh: + GameDatabase databaseHelper = DolphinApplication.databaseHelper; + databaseHelper.scanLibrary(databaseHelper.getWritableDatabase()); + mView.refresh(); + return true; + + case R.id.button_add_directory: + mView.launchFileListActivity(); + return true; + } + + return false; + } + + public void addDirIfNeeded(AddDirectoryHelper helper) + { + if (mDirToAdd != null) + { + helper.addDirectory(mDirToAdd, mView::refresh); + + mDirToAdd = null; + } + } + + public void onDirectorySelected(String dir) + { + mDirToAdd = dir; + } + + public void refreshFragmentScreenshot(int resultCode) + { + mView.refreshFragmentScreenshot(resultCode); + } + + + public void loadGames() + { + GameDatabase databaseHelper = DolphinApplication.databaseHelper; + + databaseHelper.getGames() + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(games -> mView.showGames(games)); + } +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/ui/main/MainView.java b/src/android/app/src/main/java/org/citra/citra_android/ui/main/MainView.java new file mode 100644 index 000000000..7a2c3338a --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/ui/main/MainView.java @@ -0,0 +1,45 @@ +package org.citra.citra_android.ui.main; + +import android.database.Cursor; + +/** + * Abstraction for the screen that shows on application launch. + * Implementations will differ primarily to target touch-screen + * or non-touch screen devices. + */ +public interface MainView +{ + /** + * Pass the view the native library's version string. Displaying + * it is optional. + * + * @param version A string pulled from native code. + */ + void setVersionString(String version); + + /** + * Tell the view to refresh its contents. + */ + void refresh(); + + /** + * Tell the view to tell the currently displayed {@link android.support.v4.app.Fragment} + * to refresh the screenshot at the given position in its list of games. + * + * @param fragmentPosition An index corresponding to the list or grid of games. + */ + void refreshFragmentScreenshot(int fragmentPosition); + + + void launchSettingsActivity(String menuTag); + + void launchFileListActivity(); + + /** + * To be called when an asynchronous database read completes. Passes the + * result, in this case a {@link Cursor} to the view. + * + * @param games A Cursor containing the games read from the database. + */ + void showGames(Cursor games); +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/ui/main/TvMainActivity.java b/src/android/app/src/main/java/org/citra/citra_android/ui/main/TvMainActivity.java new file mode 100644 index 000000000..4065ffe42 --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/ui/main/TvMainActivity.java @@ -0,0 +1,269 @@ +package org.citra.citra_android.ui.main; + +import android.content.Intent; +import android.content.pm.PackageManager; +import android.database.Cursor; +import android.os.Bundle; +import android.support.v17.leanback.app.BrowseFragment; +import android.support.v17.leanback.app.BrowseSupportFragment; +import android.support.v17.leanback.database.CursorMapper; +import android.support.v17.leanback.widget.ArrayObjectAdapter; +import android.support.v17.leanback.widget.CursorObjectAdapter; +import android.support.v17.leanback.widget.HeaderItem; +import android.support.v17.leanback.widget.ListRow; +import android.support.v17.leanback.widget.ListRowPresenter; +import android.support.v4.app.FragmentActivity; +import android.support.v4.app.FragmentManager; +import android.support.v4.content.ContextCompat; +import android.widget.Toast; + +import org.citra.citra_android.R; +import org.citra.citra_android.activities.EmulationActivity; +import org.citra.citra_android.adapters.GameRowPresenter; +import org.citra.citra_android.adapters.SettingsRowPresenter; +import org.citra.citra_android.model.Game; +import org.citra.citra_android.model.TvSettingsItem; +import org.citra.citra_android.services.DirectoryInitializationService; +import org.citra.citra_android.ui.settings.SettingsActivity; +import org.citra.citra_android.utils.AddDirectoryHelper; +import org.citra.citra_android.utils.FileBrowserHelper; +import org.citra.citra_android.utils.PermissionsHandler; +import org.citra.citra_android.utils.StartupHandler; +import org.citra.citra_android.viewholders.TvGameViewHolder; + +public final class TvMainActivity extends FragmentActivity implements MainView +{ + private MainPresenter mPresenter = new MainPresenter(this); + + private BrowseSupportFragment mBrowseFragment; + + private ArrayObjectAdapter mRowsAdapter; + + @Override + protected void onCreate(Bundle savedInstanceState) + { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_tv_main); + + setupUI(); + + mPresenter.onCreate(); + + // Stuff in this block only happens when this activity is newly created (i.e. not a rotation) + if (savedInstanceState == null) + StartupHandler.HandleInit(this); + } + + @Override + protected void onResume() + { + super.onResume(); + mPresenter.addDirIfNeeded(new AddDirectoryHelper(this)); + } + + void setupUI() + { + final FragmentManager fragmentManager = getSupportFragmentManager(); + mBrowseFragment = new BrowseSupportFragment(); + fragmentManager + .beginTransaction() + .add(R.id.content, mBrowseFragment, "BrowseFragment") + .commit(); + + // Set display parameters for the BrowseFragment + mBrowseFragment.setHeadersState(BrowseFragment.HEADERS_ENABLED); + mBrowseFragment.setBrandColor(ContextCompat.getColor(this, R.color.citra_orange_dark)); + buildRowsAdapter(); + + mBrowseFragment.setOnItemViewClickedListener( + (itemViewHolder, item, rowViewHolder, row) -> + { + // Special case: user clicked on a settings row item. + if (item instanceof TvSettingsItem) + { + TvSettingsItem settingsItem = (TvSettingsItem) item; + mPresenter.handleOptionSelection(settingsItem.getItemId()); + } + else + { + TvGameViewHolder holder = (TvGameViewHolder) itemViewHolder; + + // Start the emulation activity and send the path of the clicked ISO to it. + EmulationActivity.launch(TvMainActivity.this, + holder.path, + holder.title, + holder.screenshotPath, + -1, + holder.imageScreenshot); + } + }); + } + + /** + * MainView + */ + + @Override + public void setVersionString(String version) + { + mBrowseFragment.setTitle(version); + } + + @Override + public void refresh() + { + recreate(); + } + + @Override + public void refreshFragmentScreenshot(int fragmentPosition) + { + mRowsAdapter.notifyArrayItemRangeChanged(0, mRowsAdapter.size()); + } + + @Override + public void launchSettingsActivity(String menuTag) + { + SettingsActivity.launch(this, menuTag, ""); + } + + @Override + public void launchFileListActivity() + { + FileBrowserHelper.openDirectoryPicker(this); + } + + @Override + public void showGames(Cursor games) + { + ListRow row = buildGamesRow(games); + + // Add row to the adapter only if it is not empty. + if (row != null) + { + mRowsAdapter.add(games); + } + } + + /** + * Callback from AddDirectoryActivity. Applies any changes necessary to the GameGridActivity. + * + * @param requestCode An int describing whether the Activity that is returning did so successfully. + * @param resultCode An int describing what Activity is giving us this callback. + * @param result The information the returning Activity is providing us. + */ + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent result) + { + switch (requestCode) + { + case MainPresenter.REQUEST_ADD_DIRECTORY: + // If the user picked a file, as opposed to just backing out. + if (resultCode == MainActivity.RESULT_OK) + { + mPresenter.onDirectorySelected(FileBrowserHelper.getSelectedDirectory(result)); + } + break; + + case MainPresenter.REQUEST_EMULATE_GAME: + mPresenter.refreshFragmentScreenshot(resultCode); + break; + } + } + + @Override + public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) + { + switch (requestCode) + { + case PermissionsHandler.REQUEST_CODE_WRITE_PERMISSION: + if (grantResults[0] == PackageManager.PERMISSION_GRANTED) + { + DirectoryInitializationService.startService(this); + loadGames(); + } + else + { + Toast.makeText(this, R.string.write_permission_needed, Toast.LENGTH_SHORT) + .show(); + } + break; + default: + super.onRequestPermissionsResult(requestCode, permissions, grantResults); + break; + } + } + + private void buildRowsAdapter() + { + mRowsAdapter = new ArrayObjectAdapter(new ListRowPresenter()); + + if (PermissionsHandler.hasWriteAccess(this)) + { + loadGames(); + } + + mRowsAdapter.add(buildSettingsRow()); + + mBrowseFragment.setAdapter(mRowsAdapter); + } + + private void loadGames() + { + mPresenter.loadGames(); + } + + private ListRow buildGamesRow(Cursor games) + { + // Create an adapter for this row. + CursorObjectAdapter row = new CursorObjectAdapter(new GameRowPresenter()); + + // If cursor is empty, don't return a Row. + if (!games.moveToFirst()) + { + return null; + } + + row.changeCursor(games); + row.setMapper(new CursorMapper() + { + @Override + protected void bindColumns(Cursor cursor) + { + // No-op? Not sure what this does. + } + + @Override + protected Object bind(Cursor cursor) + { + return Game.fromCursor(cursor); + } + }); + + // Create the row, passing it the filled adapter and the header, and give it to the master adapter. + return new ListRow(null, row); + } + + private ListRow buildSettingsRow() + { + ArrayObjectAdapter rowItems = new ArrayObjectAdapter(new SettingsRowPresenter()); + + rowItems.add(new TvSettingsItem(R.id.menu_settings_core, + R.drawable.ic_settings_core_tv, + R.string.grid_menu_core_settings)); + + rowItems.add(new TvSettingsItem(R.id.button_add_directory, + R.drawable.ic_add_tv, + R.string.add_directory_title)); + + rowItems.add(new TvSettingsItem(R.id.menu_refresh, + R.drawable.ic_refresh_tv, + R.string.grid_menu_refresh)); + + // Create a header for this row. + HeaderItem header = + new HeaderItem(R.string.preferences_settings, getString(R.string.preferences_settings)); + + return new ListRow(header, rowItems); + } +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/ui/platform/PlatformGamesFragment.java b/src/android/app/src/main/java/org/citra/citra_android/ui/platform/PlatformGamesFragment.java new file mode 100644 index 000000000..e87012130 --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/ui/platform/PlatformGamesFragment.java @@ -0,0 +1,88 @@ +package org.citra.citra_android.ui.platform; + +import android.database.Cursor; +import android.os.Bundle; +import android.support.annotation.Nullable; +import android.support.v4.app.Fragment; +import android.support.v7.widget.GridLayoutManager; +import android.support.v7.widget.RecyclerView; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import org.citra.citra_android.R; +import org.citra.citra_android.adapters.GameAdapter; + +public final class PlatformGamesFragment extends Fragment implements PlatformGamesView +{ + private static final String ARG_PLATFORM = "platform"; + + private PlatformGamesPresenter mPresenter = new PlatformGamesPresenter(this); + + private GameAdapter mAdapter; + private RecyclerView mRecyclerView; + + @Override + public void onCreate(Bundle savedInstanceState) + { + super.onCreate(savedInstanceState); + } + + @Nullable + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) + { + View rootView = inflater.inflate(R.layout.fragment_grid, container, false); + + findViews(rootView); + + mPresenter.onCreateView(); + + return rootView; + } + + @Override + public void onViewCreated(View view, Bundle savedInstanceState) + { + int columns = getResources().getInteger(R.integer.game_grid_columns); + RecyclerView.LayoutManager layoutManager = new GridLayoutManager(getActivity(), columns); + mAdapter = new GameAdapter(); + + mRecyclerView.setLayoutManager(layoutManager); + mRecyclerView.setAdapter(mAdapter); + + mRecyclerView.addItemDecoration(new GameAdapter.SpacesItemDecoration(8)); + } + + @Override + public void refreshScreenshotAtPosition(int position) + { + mAdapter.notifyItemChanged(position); + } + + @Override + public void refresh() + { + mPresenter.refresh(); + } + + @Override + public void onItemClick(String gameId) + { + // No-op for now + } + + @Override + public void showGames(Cursor games) + { + if (mAdapter != null) + { + mAdapter.swapCursor(games); + } + } + + private void findViews(View root) + { + mRecyclerView = root.findViewById(R.id.grid_games); + } +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/ui/platform/PlatformGamesPresenter.java b/src/android/app/src/main/java/org/citra/citra_android/ui/platform/PlatformGamesPresenter.java new file mode 100644 index 000000000..513717ba5 --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/ui/platform/PlatformGamesPresenter.java @@ -0,0 +1,47 @@ +package org.citra.citra_android.ui.platform; + + +import org.citra.citra_android.DolphinApplication; +import org.citra.citra_android.model.GameDatabase; +import org.citra.citra_android.utils.Log; + +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public final class PlatformGamesPresenter +{ + private final PlatformGamesView mView; + + public PlatformGamesPresenter(PlatformGamesView view) + { + mView = view; + } + + public void onCreateView() + { + loadGames(); + } + + public void refresh() + { + Log.debug("[PlatformGamesPresenter] : Refreshing..."); + loadGames(); + } + + private void loadGames() + { + Log.debug("[PlatformGamesPresenter] : Loading games..."); + + GameDatabase databaseHelper = DolphinApplication.databaseHelper; + + databaseHelper.getGames() + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(games -> + { + Log.debug("[PlatformGamesPresenter] : Load finished, swapping cursor..."); + + mView.showGames(games); + }); + } +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/ui/platform/PlatformGamesView.java b/src/android/app/src/main/java/org/citra/citra_android/ui/platform/PlatformGamesView.java new file mode 100644 index 000000000..6551b5af2 --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/ui/platform/PlatformGamesView.java @@ -0,0 +1,38 @@ +package org.citra.citra_android.ui.platform; + +import android.database.Cursor; + +/** + * Abstraction for a screen representing a single platform's games. + */ +public interface PlatformGamesView +{ + /** + * Tell the view to refresh its contents. + */ + void refresh(); + + /** + * Tell the view that a certain game's screenshot has been updated, + * and should be redrawn on-screen. + * + * @param position The index of the game that should be redrawn. + */ + void refreshScreenshotAtPosition(int position); + + /** + * Pass a click event to the view's Presenter. Typically called from the + * view's list adapter. + * + * @param gameId The ID of the game that was clicked. + */ + void onItemClick(String gameId); + + /** + * To be called when an asynchronous database read completes. Passes the + * result, in this case a {@link Cursor}, to the view. + * + * @param games A Cursor containing the games read from the database. + */ + void showGames(Cursor games); +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/ui/settings/SettingsActivity.java b/src/android/app/src/main/java/org/citra/citra_android/ui/settings/SettingsActivity.java new file mode 100644 index 000000000..1a18ebc7c --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/ui/settings/SettingsActivity.java @@ -0,0 +1,266 @@ +package org.citra.citra_android.ui.settings; + +import android.app.ProgressDialog; +import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; +import android.os.Bundle; +import android.provider.Settings; +import android.support.v4.app.FragmentTransaction; +import android.support.v4.content.LocalBroadcastManager; +import android.support.v7.app.AppCompatActivity; +import android.view.Menu; +import android.view.MenuInflater; +import android.view.MenuItem; +import android.widget.Toast; + +import org.citra.citra_android.R; +import org.citra.citra_android.model.settings.SettingSection; +import org.citra.citra_android.services.DirectoryInitializationService; +import org.citra.citra_android.utils.DirectoryStateReceiver; +import org.citra.citra_android.utils.Log; + +import java.util.ArrayList; +import java.util.HashMap; + +public final class SettingsActivity extends AppCompatActivity implements SettingsActivityView +{ + private static final String ARG_FILE_NAME = "file_name"; + private static final String ARG_GAME_ID = "game_id"; + + private static final String FRAGMENT_TAG = "settings"; + private SettingsActivityPresenter mPresenter = new SettingsActivityPresenter(this); + + private ProgressDialog dialog; + + public static void launch(Context context, String menuTag, String gameId) + { + Intent settings = new Intent(context, SettingsActivity.class); + settings.putExtra(ARG_FILE_NAME, menuTag); + settings.putExtra(ARG_GAME_ID, gameId); + + context.startActivity(settings); + } + + @Override + protected void onCreate(Bundle savedInstanceState) + { + super.onCreate(savedInstanceState); + + setContentView(R.layout.activity_settings); + + Intent launcher = getIntent(); + String filename = launcher.getStringExtra(ARG_FILE_NAME); + String gameID = launcher.getStringExtra(ARG_GAME_ID); + + mPresenter.onCreate(savedInstanceState, filename, gameID); + } + + @Override + public boolean onCreateOptionsMenu(Menu menu) + { + MenuInflater inflater = getMenuInflater(); + inflater.inflate(R.menu.menu_settings, menu); + + return true; + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) + { + return mPresenter.handleOptionsItem(item.getItemId()); + } + + @Override + protected void onSaveInstanceState(Bundle outState) + { + // Critical: If super method is not called, rotations will be busted. + super.onSaveInstanceState(outState); + mPresenter.saveState(outState); + } + + @Override + protected void onStart() + { + super.onStart(); + mPresenter.onStart(); + } + + /** + * If this is called, the user has left the settings screen (potentially through the + * home button) and will expect their changes to be persisted. So we kick off an + * IntentService which will do so on a background thread. + */ + @Override + protected void onStop() + { + super.onStop(); + + mPresenter.onStop(isFinishing()); + } + + @Override + public void onBackPressed() + { + mPresenter.onBackPressed(); + } + + + @Override + public void showSettingsFragment(String menuTag, boolean addToStack, String gameID) + { + FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); + + if (addToStack) + { + if (areSystemAnimationsEnabled()) + { + transaction.setCustomAnimations( + R.animator.settings_enter, + R.animator.settings_exit, + R.animator.settings_pop_enter, + R.animator.setttings_pop_exit); + } + + transaction.addToBackStack(null); + mPresenter.addToStack(); + } + transaction.replace(R.id.frame_content, SettingsFragment.newInstance(menuTag, gameID), FRAGMENT_TAG); + + transaction.commit(); + } + + private boolean areSystemAnimationsEnabled() + { + float duration = Settings.Global.getFloat( + getContentResolver(), + Settings.Global.ANIMATOR_DURATION_SCALE, 1); + float transition = Settings.Global.getFloat( + getContentResolver(), + Settings.Global.TRANSITION_ANIMATION_SCALE, 1); + return duration != 0 && transition != 0; + } + + @Override + public void startDirectoryInitializationService(DirectoryStateReceiver receiver, IntentFilter filter) + { + LocalBroadcastManager.getInstance(this).registerReceiver( + receiver, + filter); + DirectoryInitializationService.startService(this); + } + + @Override + public void stopListeningToDirectoryInitializationService(DirectoryStateReceiver receiver) + { + LocalBroadcastManager.getInstance(this).unregisterReceiver(receiver); + } + + @Override + public void showLoading() + { + if (dialog == null) + { + dialog = new ProgressDialog(this); + dialog.setMessage(getString(R.string.load_settings)); + dialog.setIndeterminate(true); + } + + dialog.show(); + } + + @Override + public void hideLoading() + { + dialog.dismiss(); + } + + @Override + public void showPermissionNeededHint() + { + Toast.makeText(this, R.string.write_permission_needed, Toast.LENGTH_SHORT) + .show(); + } + + @Override + public void showExternalStorageNotMountedHint() + { + Toast.makeText(this, R.string.external_storage_not_mounted, Toast.LENGTH_SHORT) + .show(); + } + + @Override + public HashMap getSettings(int file) + { + return mPresenter.getSettings(file); + } + + @Override + public void setSettings(ArrayList> settings) + { + mPresenter.setSettings(settings); + } + + @Override + public void onSettingsFileLoaded(ArrayList> settings) + { + SettingsFragmentView fragment = getFragment(); + + if (fragment != null) + { + fragment.onSettingsFileLoaded(settings); + } + } + + @Override + public void onSettingsFileNotFound() + { + SettingsFragmentView fragment = getFragment(); + + if (fragment != null) + { + fragment.loadDefaultSettings(); + } + } + + @Override + public void showToastMessage(String message) + { + Toast.makeText(this, message, Toast.LENGTH_SHORT).show(); + } + + @Override + public void popBackStack() + { + getSupportFragmentManager().popBackStackImmediate(); + } + + @Override + public void onSettingChanged() + { + mPresenter.onSettingChanged(); + } + + @Override + public void onGcPadSettingChanged(String key, int value) + { + mPresenter.onGcPadSettingChanged(key, value); + } + + @Override + public void onWiimoteSettingChanged(String section, int value) + { + mPresenter.onWiimoteSettingChanged(section, value); + } + + @Override + public void onExtensionSettingChanged(String key, int value) + { + mPresenter.onExtensionSettingChanged(key, value); + } + + private SettingsFragment getFragment() + { + return (SettingsFragment) getSupportFragmentManager().findFragmentByTag(FRAGMENT_TAG); + } +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/ui/settings/SettingsActivityPresenter.java b/src/android/app/src/main/java/org/citra/citra_android/ui/settings/SettingsActivityPresenter.java new file mode 100644 index 000000000..ce96ef7de --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/ui/settings/SettingsActivityPresenter.java @@ -0,0 +1,220 @@ +package org.citra.citra_android.ui.settings; + +import android.content.IntentFilter; +import android.os.Bundle; +import android.text.TextUtils; + +import org.citra.citra_android.NativeLibrary; +import org.citra.citra_android.R; +import org.citra.citra_android.model.settings.SettingSection; +import org.citra.citra_android.services.DirectoryInitializationService; +import org.citra.citra_android.services.DirectoryInitializationService.DirectoryInitializationState; +import org.citra.citra_android.utils.DirectoryStateReceiver; +import org.citra.citra_android.utils.Log; +import org.citra.citra_android.utils.SettingsFile; + +import java.io.File; +import java.util.ArrayList; +import java.util.HashMap; + +public final class SettingsActivityPresenter +{ + private static final String KEY_SHOULD_SAVE = "should_save"; + + private SettingsActivityView mView; + + private ArrayList> mSettings = new ArrayList<>(); + + private int mStackCount; + + private boolean mShouldSave; + + private DirectoryStateReceiver directoryStateReceiver; + + private String menuTag; + private String gameId; + + public SettingsActivityPresenter(SettingsActivityView view) + { + mView = view; + } + + public void onCreate(Bundle savedInstanceState, String menuTag, String gameId) + { + if (savedInstanceState == null) + { + this.menuTag = menuTag; + this.gameId = gameId; + } + else + { + mShouldSave = savedInstanceState.getBoolean(KEY_SHOULD_SAVE); + } + } + + public void onStart() + { + prepareDolphinDirectoriesIfNeeded(); + } + + void loadSettingsUI() + { + if (mSettings.isEmpty()) + { + if (!TextUtils.isEmpty(gameId)) + { + mSettings.add(SettingsFile.SETTINGS_DOLPHIN, SettingsFile.readFile("../GameSettings/" + gameId, mView)); + } + else + { + mSettings.add(SettingsFile.SETTINGS_DOLPHIN, SettingsFile.readFile(SettingsFile.FILE_NAME_CONFIG, mView)); + } + } + + mView.showSettingsFragment(menuTag, false, gameId); + mView.onSettingsFileLoaded(mSettings); + } + + private void prepareDolphinDirectoriesIfNeeded() + { + File configFile = new File(DirectoryInitializationService.getUserDirectory() + "/config/"+SettingsFile.FILE_NAME_CONFIG + ".ini"); + if(!configFile.exists()) { + + } + if (DirectoryInitializationService.areDolphinDirectoriesReady()) { + loadSettingsUI(); + } else { + mView.showLoading(); + IntentFilter statusIntentFilter = new IntentFilter( + DirectoryInitializationService.BROADCAST_ACTION); + + directoryStateReceiver = + new DirectoryStateReceiver(directoryInitializationState -> + { + if (directoryInitializationState == DirectoryInitializationState.DOLPHIN_DIRECTORIES_INITIALIZED) + { + mView.hideLoading(); + loadSettingsUI(); + } + else if (directoryInitializationState == DirectoryInitializationState.EXTERNAL_STORAGE_PERMISSION_NEEDED) + { + mView.showPermissionNeededHint(); + mView.hideLoading(); + } + else if (directoryInitializationState == DirectoryInitializationState.CANT_FIND_EXTERNAL_STORAGE) + { + mView.showExternalStorageNotMountedHint(); + mView.hideLoading(); + } + }); + + mView.startDirectoryInitializationService(directoryStateReceiver, statusIntentFilter); + } + } + + public void setSettings(ArrayList> settings) + { + mSettings = settings; + } + + public HashMap getSettings(int file) + { + return mSettings.get(file); + } + + public void onStop(boolean finishing) + { + if (directoryStateReceiver != null) + { + mView.stopListeningToDirectoryInitializationService(directoryStateReceiver); + directoryStateReceiver = null; + } + + if (mSettings != null && finishing && mShouldSave) + { + if (!TextUtils.isEmpty(gameId)) { + Log.debug("[SettingsActivity] Settings activity stopping. Saving settings to INI..."); + // Needed workaround for now due to an odd bug in how it handles saving two different settings sections to the same file. It won't save GFX settings if it follows the normal saving pattern + if (menuTag.equals("Dolphin")) + { + SettingsFile.saveFile("../GameSettings/" + gameId, mSettings.get(SettingsFile.SETTINGS_DOLPHIN), mView); + } + mView.showToastMessage("Saved settings for " + gameId); + } else { + Log.debug("[SettingsActivity] Settings activity stopping. Saving settings to INI..."); + SettingsFile.saveFile(SettingsFile.FILE_NAME_CONFIG, mSettings.get(SettingsFile.SETTINGS_DOLPHIN), mView); + mView.showToastMessage("Saved settings to INI files"); + } + } + } + + public void addToStack() + { + mStackCount++; + } + + public void onBackPressed() + { + if (mStackCount > 0) + { + mView.popBackStack(); + mStackCount--; + } + else + { + mView.finish(); + } + } + + public boolean handleOptionsItem(int itemId) + { + switch (itemId) + { + case R.id.menu_save_exit: + mView.finish(); + return true; + } + + return false; + } + + public void onSettingChanged() + { + mShouldSave = true; + } + + public void saveState(Bundle outState) + { + outState.putBoolean(KEY_SHOULD_SAVE, mShouldSave); + } + + public void onGcPadSettingChanged(String key, int value) + { + if (value != 0) // Not disabled + { + mView.showSettingsFragment(key + (value / 6), true, gameId); + } + } + + public void onWiimoteSettingChanged(String section, int value) + { + switch (value) + { + case 1: + mView.showSettingsFragment(section, true, gameId); + break; + + case 2: + mView.showToastMessage("Please make sure Continuous Scanning is enabled in Core Settings."); + break; + } + } + + public void onExtensionSettingChanged(String key, int value) + { + if (value != 0) // None + { + mView.showSettingsFragment(key + value, true, gameId); + } + } +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/ui/settings/SettingsActivityView.java b/src/android/app/src/main/java/org/citra/citra_android/ui/settings/SettingsActivityView.java new file mode 100644 index 000000000..38bfc91da --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/ui/settings/SettingsActivityView.java @@ -0,0 +1,140 @@ +package org.citra.citra_android.ui.settings; + +import android.content.IntentFilter; + +import org.citra.citra_android.model.settings.SettingSection; +import org.citra.citra_android.utils.DirectoryStateReceiver; + +import java.util.ArrayList; +import java.util.HashMap; + +/** + * Abstraction for the Activity that manages SettingsFragments. + */ +public interface SettingsActivityView +{ + /** + * Show a new SettingsFragment. + * + * @param menuTag Identifier for the settings group that should be displayed. + * @param addToStack Whether or not this fragment should replace a previous one. + */ + void showSettingsFragment(String menuTag, boolean addToStack, String gameId); + + /** + * Called by a contained Fragment to get access to the Setting HashMap + * loaded from disk, so that each Fragment doesn't need to perform its own + * read operation. + * + * @param file The settings file to load. + * @return A possibly null HashMap of Settings. + */ + HashMap getSettings(int file); + + /** + * Used to provide the Activity with Settings HashMaps if a Fragment already + * has one; for example, if a rotation occurs, the Fragment will not be killed, + * but the Activity will, so the Activity needs to have its HashMaps resupplied. + * + * @param settings The ArrayList of all the Settings HashMaps. + */ + void setSettings(ArrayList> settings); + + /** + * Called when an asynchronous load operation completes. + * + * @param settings The (possibly null) result of the ini load operation. + */ + void onSettingsFileLoaded(ArrayList> settings); + + /** + * Called when an asynchronous load operation fails. + */ + void onSettingsFileNotFound(); + + /** + * Display a popup text message on screen. + * + * @param message The contents of the onscreen message. + */ + void showToastMessage(String message); + + /** + * Show the previous fragment. + */ + void popBackStack(); + + /** + * End the activity. + */ + void finish(); + + /** + * Called by a containing Fragment to tell the Activity that a setting was changed; + * unless this has been called, the Activity will not save to disk. + */ + void onSettingChanged(); + + /** + * Called by a containing Fragment to tell the containing Activity that a GCPad's setting + * was modified. + * + * @param key Identifier for the GCPad that was modified. + * @param value New setting for the GCPad. + */ + void onGcPadSettingChanged(String key, int value); + + /** + * Called by a containing Fragment to tell the containing Activity that a Wiimote's setting + * was modified. + * + * @param section Identifier for Wiimote that was modified; Wiimotes are identified by their section, + * not their key. + * @param value New setting for the Wiimote. + */ + void onWiimoteSettingChanged(String section, int value); + + /** + * Called by a containing Fragment to tell the containing Activity that an extension setting + * was modified. + * + * @param key Identifier for the extension that was modified. + * @param value New setting for the extension. + */ + void onExtensionSettingChanged(String key, int value); + + /** + * Show loading dialog while loading the settings + */ + void showLoading(); + + /** + * Hide the loading the dialog + */ + void hideLoading(); + + /** + * Show a hint to the user that the app needs write to external storage access + */ + void showPermissionNeededHint(); + + /** + * Show a hint to the user that the app needs the external storage to be mounted + */ + void showExternalStorageNotMountedHint(); + + /** + * Start the DirectoryInitializationService and listen for the result. + * + * @param receiver the broadcast receiver for the DirectoryInitializationService + * @param filter the Intent broadcasts to be received. + */ + void startDirectoryInitializationService(DirectoryStateReceiver receiver, IntentFilter filter); + + /** + * Stop listening to the DirectoryInitializationService. + * + * @param receiver The broadcast receiver to unregister. + */ + void stopListeningToDirectoryInitializationService(DirectoryStateReceiver receiver); +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/ui/settings/SettingsAdapter.java b/src/android/app/src/main/java/org/citra/citra_android/ui/settings/SettingsAdapter.java new file mode 100644 index 000000000..30ed52962 --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/ui/settings/SettingsAdapter.java @@ -0,0 +1,402 @@ +package org.citra.citra_android.ui.settings; + +import android.content.Context; +import android.content.DialogInterface; +import android.content.SharedPreferences; +import android.preference.PreferenceManager; +import android.support.v17.leanback.widget.picker.TimePicker; +import android.support.v7.app.AlertDialog; +import android.support.v7.widget.RecyclerView; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.DatePicker; +import android.widget.SeekBar; +import android.widget.TextView; + +import org.citra.citra_android.R; +import org.citra.citra_android.dialogs.MotionAlertDialog; +import org.citra.citra_android.model.settings.FloatSetting; +import org.citra.citra_android.model.settings.IntSetting; +import org.citra.citra_android.model.settings.StringSetting; +import org.citra.citra_android.model.settings.view.CheckBoxSetting; +import org.citra.citra_android.model.settings.view.DateTimeSetting; +import org.citra.citra_android.model.settings.view.InputBindingSetting; +import org.citra.citra_android.model.settings.view.SettingsItem; +import org.citra.citra_android.model.settings.view.SingleChoiceSetting; +import org.citra.citra_android.model.settings.view.SliderSetting; +import org.citra.citra_android.model.settings.view.SubmenuSetting; +import org.citra.citra_android.ui.settings.viewholder.CheckBoxSettingViewHolder; +import org.citra.citra_android.ui.settings.viewholder.DateTimeViewHolder; +import org.citra.citra_android.ui.settings.viewholder.HeaderViewHolder; +import org.citra.citra_android.ui.settings.viewholder.InputBindingSettingViewHolder; +import org.citra.citra_android.ui.settings.viewholder.SettingViewHolder; +import org.citra.citra_android.ui.settings.viewholder.SingleChoiceViewHolder; +import org.citra.citra_android.ui.settings.viewholder.SliderViewHolder; +import org.citra.citra_android.ui.settings.viewholder.SubmenuViewHolder; +import org.citra.citra_android.utils.Log; +import org.citra.citra_android.utils.SettingsFile; + +import java.util.ArrayList; + +public final class SettingsAdapter extends RecyclerView.Adapter + implements DialogInterface.OnClickListener, SeekBar.OnSeekBarChangeListener +{ + private SettingsFragmentView mView; + private Context mContext; + private ArrayList mSettings; + + private SettingsItem mClickedItem; + private int mSeekbarProgress; + + private AlertDialog mDialog; + private TextView mTextSliderValue; + + public SettingsAdapter(SettingsFragmentView view, Context context) + { + mView = view; + mContext = context; + } + + @Override + public SettingViewHolder onCreateViewHolder(ViewGroup parent, int viewType) + { + View view; + LayoutInflater inflater = LayoutInflater.from(parent.getContext()); + + switch (viewType) + { + case SettingsItem.TYPE_HEADER: + view = inflater.inflate(R.layout.list_item_settings_header, parent, false); + return new HeaderViewHolder(view, this); + + case SettingsItem.TYPE_CHECKBOX: + view = inflater.inflate(R.layout.list_item_setting_checkbox, parent, false); + return new CheckBoxSettingViewHolder(view, this); + + case SettingsItem.TYPE_SINGLE_CHOICE: + view = inflater.inflate(R.layout.list_item_setting, parent, false); + return new SingleChoiceViewHolder(view, this); + + case SettingsItem.TYPE_SLIDER: + view = inflater.inflate(R.layout.list_item_setting, parent, false); + return new SliderViewHolder(view, this); + + case SettingsItem.TYPE_SUBMENU: + view = inflater.inflate(R.layout.list_item_setting, parent, false); + return new SubmenuViewHolder(view, this); + + case SettingsItem.TYPE_INPUT_BINDING: + view = inflater.inflate(R.layout.list_item_setting, parent, false); + return new InputBindingSettingViewHolder(view, this, mContext); + + case SettingsItem.TYPE_DATETIME_SETTING: + view = inflater.inflate(R.layout.list_item_setting, parent, false); + return new DateTimeViewHolder(view, this); + + + default: + Log.error("[SettingsAdapter] Invalid view type: " + viewType); + return null; + } + } + + @Override + public void onBindViewHolder(SettingViewHolder holder, int position) + { + holder.bind(getItem(position)); + } + + private SettingsItem getItem(int position) + { + return mSettings.get(position); + } + + @Override + public int getItemCount() + { + if (mSettings != null) + { + return mSettings.size(); + } + else + { + return 0; + } + } + + @Override + public int getItemViewType(int position) + { + return getItem(position).getType(); + } + + public void setSettings(ArrayList settings) + { + mSettings = settings; + notifyDataSetChanged(); + } + + public void onBooleanClick(CheckBoxSetting item, int position, boolean checked) + { + IntSetting setting = item.setChecked(checked); + notifyItemChanged(position); + + if (setting != null) + { + mView.putSetting(setting); + } + + mView.onSettingChanged(); + } + + public void onSingleChoiceClick(SingleChoiceSetting item) + { + mClickedItem = item; + + int value = getSelectionForSingleChoiceValue(item); + + AlertDialog.Builder builder = new AlertDialog.Builder(mView.getActivity()); + + builder.setTitle(item.getNameId()); + builder.setSingleChoiceItems(item.getChoicesId(), value, this); + + mDialog = builder.show(); + } + + public void onDateTimeClick(DateTimeSetting item){ + mClickedItem = item; + + AlertDialog.Builder builder = new AlertDialog.Builder(mView.getActivity()); + + LayoutInflater inflater = LayoutInflater.from(mView.getActivity()); + View view = inflater.inflate(R.layout.sysclock_datetime_picker, null); + + DatePicker dp = (DatePicker) view.findViewById(R.id.date_picker); + TimePicker tp = (TimePicker) view.findViewById(R.id.time_picker); + + //set date and time to substrings of settingValue; format = 2018-12-24 04:20:69 (alright maybe not that 69) + String settingValue = item.getValue(); + dp.updateDate(Integer.parseInt(settingValue.substring(0, 4)), Integer.parseInt(settingValue.substring(5, 7)) - 1, Integer.parseInt(settingValue.substring(8, 10))); + + tp.setIs24Hour(true); + tp.setHour(Integer.parseInt(settingValue.substring(11, 12))); + tp.setMinute(Integer.parseInt(settingValue.substring(14, 15))); + + DialogInterface.OnClickListener ok = new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + //set it + int year = dp.getYear(); + if (year < 2000){ + year = 2000; + } + String month = ("00" + (dp.getMonth() + 1)).substring(String.valueOf(dp.getMonth() + 1).length()); + String day = ("00" + dp.getDayOfMonth()).substring(String.valueOf(dp.getDayOfMonth()).length()); + String hr = ("00" + tp.getHour()).substring(String.valueOf(tp.getHour()).length()); + String min = ("00" + tp.getMinute()).substring(String.valueOf(tp.getMinute()).length()); + String datetime = year + "-" + month + "-" + day + " " + hr + ":" + min + ":01"; + mView.putSetting(new StringSetting(item.getKey(), item.getSection(), item.getFile(), datetime)); + mView.onSettingChanged(); + mClickedItem = null; + mSeekbarProgress = -1; + closeDialog(); + } + }; + DialogInterface.OnClickListener cancel = new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + closeDialog(); + } + }; + builder.setView(view); + builder.setPositiveButton("Set", ok); + builder.setNegativeButton("Cancel", cancel); + mDialog = builder.show(); + } + public void onSliderClick(SliderSetting item) + { + mClickedItem = item; + mSeekbarProgress = item.getSelectedValue(); + AlertDialog.Builder builder = new AlertDialog.Builder(mView.getActivity()); + + LayoutInflater inflater = LayoutInflater.from(mView.getActivity()); + View view = inflater.inflate(R.layout.dialog_seekbar, null); + + builder.setTitle(item.getNameId()); + builder.setView(view); + builder.setPositiveButton(R.string.ok, this); + builder.setNegativeButton(R.string.cancel, this); + mDialog = builder.show(); + + mTextSliderValue = view.findViewById(R.id.text_value); + mTextSliderValue.setText(String.valueOf(mSeekbarProgress)); + + TextView units = view.findViewById(R.id.text_units); + units.setText(item.getUnits()); + + SeekBar seekbar = view.findViewById(R.id.seekbar); + + seekbar.setMax(item.getMax()); + seekbar.setProgress(mSeekbarProgress); + + seekbar.setOnSeekBarChangeListener(this); + } + + public void onSubmenuClick(SubmenuSetting item) + { + mView.loadSubMenu(item.getMenuKey()); + } + + public void onInputBindingClick(final InputBindingSetting item, final int position) + { + final MotionAlertDialog dialog = new MotionAlertDialog(mContext, item); + dialog.setTitle(R.string.input_binding); + dialog.setMessage(String.format(mContext.getString(R.string.input_binding_descrip), mContext.getString(item.getNameId()))); + dialog.setButton(AlertDialog.BUTTON_NEGATIVE, mContext.getString(R.string.cancel), this); + dialog.setButton(AlertDialog.BUTTON_NEUTRAL, mContext.getString(R.string.clear), (dialogInterface, i) -> + { + item.setValue(""); + + SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(mContext); + SharedPreferences.Editor editor = sharedPreferences.edit(); + editor.remove(item.getKey()); + editor.apply(); + }); + dialog.setOnDismissListener(dialog1 -> + { + StringSetting setting = new StringSetting(item.getKey(), item.getSection(), item.getFile(), item.getValue()); + notifyItemChanged(position); + + if (setting != null) + { + mView.putSetting(setting); + } + + mView.onSettingChanged(); + }); + dialog.setCanceledOnTouchOutside(false); + dialog.show(); + } + + @Override + public void onClick(DialogInterface dialog, int which) + { + if (mClickedItem instanceof SingleChoiceSetting) + { + SingleChoiceSetting scSetting = (SingleChoiceSetting) mClickedItem; + + int value = getValueForSingleChoiceSelection(scSetting, which); + + // Get the backing Setting, which may be null (if for example it was missing from the file) + IntSetting setting = scSetting.setSelectedValue(value); + if (setting != null) + { + mView.putSetting(setting); + } + + closeDialog(); + } + else if (mClickedItem instanceof SliderSetting) + { + SliderSetting sliderSetting = (SliderSetting) mClickedItem; + if (sliderSetting.getSetting() instanceof FloatSetting) + { + float value; + + if (sliderSetting.getKey().equals(SettingsFile.KEY_FRAME_LIMIT)) + { + value = mSeekbarProgress / 100.0f; + } + else + { + value = (float) mSeekbarProgress; + } + + FloatSetting setting = sliderSetting.setSelectedValue(value); + if (setting != null) + { + mView.putSetting(setting); + } + } + else + { + IntSetting setting = sliderSetting.setSelectedValue(mSeekbarProgress); + if (setting != null) + { + mView.putSetting(setting); + } + } + } + + mView.onSettingChanged(); + mClickedItem = null; + mSeekbarProgress = -1; + } + + public void closeDialog() + { + if (mDialog != null) + { + mDialog.dismiss(); + mDialog = null; + } + } + + @Override + public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) + { + mSeekbarProgress = progress; + mTextSliderValue.setText(String.valueOf(mSeekbarProgress)); + } + + @Override + public void onStartTrackingTouch(SeekBar seekBar) + { + } + + @Override + public void onStopTrackingTouch(SeekBar seekBar) + { + } + + private int getValueForSingleChoiceSelection(SingleChoiceSetting item, int which) + { + int valuesId = item.getValuesId(); + + if (valuesId > 0) + { + int[] valuesArray = mContext.getResources().getIntArray(valuesId); + return valuesArray[which]; + } + else + { + return which; + } + } + + private int getSelectionForSingleChoiceValue(SingleChoiceSetting item) + { + int value = item.getSelectedValue(); + int valuesId = item.getValuesId(); + + if (valuesId > 0) + { + int[] valuesArray = mContext.getResources().getIntArray(valuesId); + for (int index = 0; index < valuesArray.length; index++) + { + int current = valuesArray[index]; + if (current == value) + { + return index; + } + } + } + else + { + return value; + } + + return -1; + } +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/ui/settings/SettingsFragment.java b/src/android/app/src/main/java/org/citra/citra_android/ui/settings/SettingsFragment.java new file mode 100644 index 000000000..7224f51b3 --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/ui/settings/SettingsFragment.java @@ -0,0 +1,189 @@ +package org.citra.citra_android.ui.settings; + +import android.app.Activity; +import android.content.Context; +import android.os.Bundle; +import android.support.annotation.Nullable; +import android.support.v4.app.Fragment; +import android.support.v7.widget.LinearLayoutManager; +import android.support.v7.widget.RecyclerView; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import org.citra.citra_android.R; +import org.citra.citra_android.model.settings.Setting; +import org.citra.citra_android.model.settings.SettingSection; +import org.citra.citra_android.model.settings.view.SettingsItem; +import org.citra.citra_android.ui.DividerItemDecoration; +import org.citra.citra_android.utils.SettingsFile; + +import java.util.ArrayList; +import java.util.HashMap; + +public final class SettingsFragment extends Fragment implements SettingsFragmentView +{ + private static final String ARGUMENT_MENU_TAG = "menu_tag"; + private static final String ARGUMENT_GAME_ID = "game_id"; + + private SettingsFragmentPresenter mPresenter = new SettingsFragmentPresenter(this); + private SettingsActivityView mActivity; + + private SettingsAdapter mAdapter; + + public static Fragment newInstance(String menuTag, String gameId) + { + SettingsFragment fragment = new SettingsFragment(); + + Bundle arguments = new Bundle(); + arguments.putString(ARGUMENT_MENU_TAG, menuTag); + arguments.putString(ARGUMENT_GAME_ID, gameId); + + fragment.setArguments(arguments); + return fragment; + } + + @Override + public void onAttach(Context context) + { + super.onAttach(context); + + mActivity = (SettingsActivityView) context; + mPresenter.onAttach(); + } + + /** + * This version of onAttach is needed for versions below Marshmallow. + * + * @param activity + */ + @Override + public void onAttach(Activity activity) + { + super.onAttach(activity); + + mActivity = (SettingsActivityView) activity; + mPresenter.onAttach(); + } + + @Override + public void onCreate(Bundle savedInstanceState) + { + super.onCreate(savedInstanceState); + + setRetainInstance(true); + String menuTag = getArguments().getString(ARGUMENT_MENU_TAG); + String gameId = getArguments().getString(ARGUMENT_GAME_ID); + + mAdapter = new SettingsAdapter(this, getActivity()); + + mPresenter.onCreate(menuTag, gameId); + } + + @Nullable + @Override + public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) + { + return inflater.inflate(R.layout.fragment_settings, container, false); + } + + @Override + public void onViewCreated(View view, @Nullable Bundle savedInstanceState) + { + LinearLayoutManager manager = new LinearLayoutManager(getActivity()); + + RecyclerView recyclerView = view.findViewById(R.id.list_settings); + + recyclerView.setAdapter(mAdapter); + recyclerView.setLayoutManager(manager); + recyclerView.addItemDecoration(new DividerItemDecoration(getActivity(), null)); + + SettingsActivityView activity = (SettingsActivityView) getActivity(); + + ArrayList> settings = new ArrayList<>(); + settings.add(SettingsFile.SETTINGS_DOLPHIN, activity.getSettings(SettingsFile.SETTINGS_DOLPHIN)); + mPresenter.onViewCreated(settings); + } + + @Override + public void onDetach() + { + super.onDetach(); + mActivity = null; + + if (mAdapter != null) + { + mAdapter.closeDialog(); + } + } + + @Override + public void onSettingsFileLoaded(ArrayList> settings) + { + mPresenter.setSettings(settings); + } + + @Override + public void passSettingsToActivity(ArrayList> settings) + { + if (mActivity != null) + { + mActivity.setSettings(settings); + } + } + + @Override + public void showSettingsList(ArrayList settingsList) + { + mAdapter.setSettings(settingsList); + } + + @Override + public void loadDefaultSettings() + { + mPresenter.loadDefaultSettings(); + } + + @Override + public void loadSubMenu(String menuKey) + { + mActivity.showSettingsFragment(menuKey, true, getArguments().getString(ARGUMENT_GAME_ID)); + } + + @Override + public void showToastMessage(String message) + { + mActivity.showToastMessage(message); + } + + @Override + public void putSetting(Setting setting) + { + mPresenter.putSetting(setting); + } + + @Override + public void onSettingChanged() + { + mActivity.onSettingChanged(); + } + + @Override + public void onGcPadSettingChanged(String key, int value) + { + mActivity.onGcPadSettingChanged(key, value); + } + + @Override + public void onWiimoteSettingChanged(String section, int value) + { + mActivity.onWiimoteSettingChanged(section, value); + } + + @Override + public void onExtensionSettingChanged(String key, int value) + { + mActivity.onExtensionSettingChanged(key, value); + } + +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/ui/settings/SettingsFragmentPresenter.java b/src/android/app/src/main/java/org/citra/citra_android/ui/settings/SettingsFragmentPresenter.java new file mode 100644 index 000000000..fdd29e5b1 --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/ui/settings/SettingsFragmentPresenter.java @@ -0,0 +1,297 @@ +package org.citra.citra_android.ui.settings; + +import android.text.TextUtils; + +import org.citra.citra_android.R; +import org.citra.citra_android.model.settings.IntSetting; +import org.citra.citra_android.model.settings.Setting; +import org.citra.citra_android.model.settings.SettingSection; +import org.citra.citra_android.model.settings.view.CheckBoxSetting; +import org.citra.citra_android.model.settings.view.DateTimeSetting; +import org.citra.citra_android.model.settings.view.HeaderSetting; +import org.citra.citra_android.model.settings.view.SettingsItem; +import org.citra.citra_android.model.settings.view.SingleChoiceSetting; +import org.citra.citra_android.model.settings.view.SliderSetting; +import org.citra.citra_android.utils.EGLHelper; +import org.citra.citra_android.utils.SettingsFile; + +import java.util.ArrayList; +import java.util.HashMap; + +public final class SettingsFragmentPresenter +{ + private SettingsFragmentView mView; + + private String mMenuTag; + private String mGameID; + + private ArrayList> mSettings; + private ArrayList mSettingsList; + + private int mControllerNumber; + private int mControllerType; + + public SettingsFragmentPresenter(SettingsFragmentView view) + { + mView = view; + } + + public void onCreate(String menuTag, String gameId) + { + mGameID = gameId; + mMenuTag = menuTag; + + } + + public void onViewCreated(ArrayList> settings) + { + setSettings(settings); + } + + /** + * If the screen is rotated, the Activity will forget the settings map. This fragment + * won't, though; so rather than have the Activity reload from disk, have the fragment pass + * the settings map back to the Activity. + */ + public void onAttach() + { + if (mSettings != null) + { + mView.passSettingsToActivity(mSettings); + } + } + + public void putSetting(Setting setting) + { + mSettings.get(setting.getFile()).get(setting.getSection()).putSetting(setting); + } + + public void loadDefaultSettings() + { + loadSettingsList(); + } + + public void setSettings(ArrayList> settings) + { + if (mSettingsList == null && settings != null) + { + mSettings = settings; + + loadSettingsList(); + } + else + { + mView.showSettingsList(mSettingsList); + } + } + + private void loadSettingsList() + { + if (!TextUtils.isEmpty(mGameID)) + { + mView.getActivity().setTitle("Game Settings: " + mGameID); + } + ArrayList sl = new ArrayList<>(); + + switch (mMenuTag) + { + case SettingsFile.FILE_NAME_CONFIG: + addCoreSettings(sl); + sl.add(new HeaderSetting(null, null, R.string.video_backend, 0)); + addGraphicsSettings(sl); + break; + default: + mView.showToastMessage("Unimplemented menu"); + return; + } + + mSettingsList = sl; + mView.showSettingsList(mSettingsList); + } + + private void addCoreSettings(ArrayList sl) + { + Setting useCpuJit = null; + Setting audioStretch = null; + Setting region = null; + Setting systemClock = null; + Setting dateTime = null; + + if (!mSettings.get(SettingsFile.SETTINGS_DOLPHIN).isEmpty()) + { + useCpuJit = mSettings.get(SettingsFile.SETTINGS_DOLPHIN).get(SettingsFile.SECTION_CORE).getSetting(SettingsFile.KEY_CPU_JIT); + audioStretch = mSettings.get(SettingsFile.SETTINGS_DOLPHIN).get(SettingsFile.SECTION_AUDIO).getSetting(SettingsFile.KEY_ENABLE_AUDIO_STRETCHING); + region = mSettings.get(SettingsFile.SETTINGS_DOLPHIN).get(SettingsFile.SECTION_SYSTEM).getSetting(SettingsFile.KEY_REGION_VALUE); + systemClock = mSettings.get(SettingsFile.SETTINGS_DOLPHIN).get(SettingsFile.SECTION_SYSTEM).getSetting(SettingsFile.KEY_INIT_CLOCK); + dateTime = mSettings.get(SettingsFile.SETTINGS_DOLPHIN).get(SettingsFile.SECTION_SYSTEM).getSetting(SettingsFile.KEY_INIT_TIME); + } + else + { + mView.passSettingsToActivity(mSettings); + } + + String defaultCpuCore = System.getProperty("os.arch"); + switch (defaultCpuCore) + { + case "x86_64": + sl.add(new CheckBoxSetting(SettingsFile.KEY_CPU_JIT, SettingsFile.SECTION_CORE, + SettingsFile.SETTINGS_DOLPHIN, R.string.cpu_jit, 0, true, useCpuJit)); + break; + case "aarch64": + default: + break; + } + sl.add(new SingleChoiceSetting(SettingsFile.KEY_REGION_VALUE, SettingsFile.SECTION_SYSTEM,SettingsFile.SETTINGS_DOLPHIN, R.string.region, 0, R.array.regionNames, R.array.regionValues, -1, region)); + sl.add(new CheckBoxSetting(SettingsFile.KEY_ENABLE_AUDIO_STRETCHING, SettingsFile.SECTION_AUDIO, SettingsFile.SETTINGS_DOLPHIN, R.string.audio_stretch, R.string.audio_stretch_description, false, audioStretch)); + sl.add(new SingleChoiceSetting(SettingsFile.KEY_INIT_CLOCK, SettingsFile.SECTION_SYSTEM, SettingsFile.SETTINGS_DOLPHIN, R.string.init_clock, R.string.init_clock_descrip, R.array.systemClockNames, R.array.systemClockValues, 0, systemClock)); + sl.add(new DateTimeSetting(SettingsFile.KEY_INIT_TIME, SettingsFile.SECTION_SYSTEM, SettingsFile.SETTINGS_DOLPHIN, R.string.init_time, R.string.init_time_descrip, "2000-01-01 00:00:01", dateTime)); + } + + private void addGraphicsSettings(ArrayList sl) + { + Setting hardwareRenderer = null; + Setting hardwareShader = null; + Setting shadersAccurateMul = null; + Setting shadersAccurateGs = null; + Setting shaderJitEnable = null; + Setting resolutionFactor = null; + Setting vsyncEnable = null; + Setting frameLimitEnable = null; + Setting frameLimitValue = null; + Setting stereoscopyEnable = null; + Setting stereoscopyDepth = null; + + if (!mSettings.get(SettingsFile.SETTINGS_DOLPHIN).isEmpty()) + { + hardwareRenderer = mSettings.get(SettingsFile.SETTINGS_DOLPHIN).get(SettingsFile.SECTION_RENDERER).getSetting(SettingsFile.KEY_HW_RENDERER); + hardwareShader = mSettings.get(SettingsFile.SETTINGS_DOLPHIN).get(SettingsFile.SECTION_RENDERER).getSetting(SettingsFile.KEY_HW_SHADER); + shadersAccurateMul = mSettings.get(SettingsFile.SETTINGS_DOLPHIN).get(SettingsFile.SECTION_RENDERER).getSetting(SettingsFile.KEY_SHADERS_ACCURATE_MUL); + shadersAccurateGs = mSettings.get(SettingsFile.SETTINGS_DOLPHIN).get(SettingsFile.SECTION_RENDERER).getSetting(SettingsFile.KEY_SHADERS_ACCURATE_GS); + shaderJitEnable = mSettings.get(SettingsFile.SETTINGS_DOLPHIN).get(SettingsFile.SECTION_RENDERER).getSetting(SettingsFile.KEY_USE_SHADER_JIT); + resolutionFactor = mSettings.get(SettingsFile.SETTINGS_DOLPHIN).get(SettingsFile.SECTION_RENDERER).getSetting(SettingsFile.KEY_RESOLUTION_FACTOR); + vsyncEnable = mSettings.get(SettingsFile.SETTINGS_DOLPHIN).get(SettingsFile.SECTION_RENDERER).getSetting(SettingsFile.KEY_USE_VSYNC); + frameLimitEnable = mSettings.get(SettingsFile.SETTINGS_DOLPHIN).get(SettingsFile.SECTION_RENDERER).getSetting(SettingsFile.KEY_FRAME_LIMIT_ENABLED); + frameLimitValue = mSettings.get(SettingsFile.SETTINGS_DOLPHIN).get(SettingsFile.SECTION_RENDERER).getSetting(SettingsFile.KEY_FRAME_LIMIT); + stereoscopyEnable = mSettings.get(SettingsFile.SETTINGS_DOLPHIN).get(SettingsFile.SECTION_RENDERER).getSetting(SettingsFile.KEY_STEREOSCOPY); + stereoscopyDepth = mSettings.get(SettingsFile.SETTINGS_DOLPHIN).get(SettingsFile.SECTION_RENDERER).getSetting(SettingsFile.KEY_FACTOR_3D); + } + else + { + mView.passSettingsToActivity(mSettings); + } + + if (mSettings.get(SettingsFile.SETTINGS_DOLPHIN).isEmpty()) + { + mView.passSettingsToActivity(mSettings); + } + + sl.add(new CheckBoxSetting(SettingsFile.KEY_HW_RENDERER, SettingsFile.SECTION_RENDERER, SettingsFile.SETTINGS_DOLPHIN, R.string.hw_renderer, 0, true, hardwareRenderer)); + sl.add(new CheckBoxSetting(SettingsFile.KEY_HW_SHADER, SettingsFile.SECTION_RENDERER, SettingsFile.SETTINGS_DOLPHIN, R.string.hw_shaders, R.string.hw_shaders_descrip, true, hardwareShader)); + sl.add(new CheckBoxSetting(SettingsFile.KEY_SHADERS_ACCURATE_MUL, SettingsFile.SECTION_RENDERER, SettingsFile.SETTINGS_DOLPHIN, R.string.shaders_accurate_mul, 0, false, shadersAccurateMul)); + sl.add(new CheckBoxSetting(SettingsFile.KEY_SHADERS_ACCURATE_GS, SettingsFile.SECTION_RENDERER, SettingsFile.SETTINGS_DOLPHIN, R.string.shaders_accurate_gs , 0, false, shadersAccurateGs)); + sl.add(new CheckBoxSetting(SettingsFile.KEY_USE_SHADER_JIT, SettingsFile.SECTION_RENDERER, SettingsFile.SETTINGS_DOLPHIN, R.string.use_shader_jit, 0, true, shaderJitEnable)); + sl.add(new SliderSetting(SettingsFile.KEY_RESOLUTION_FACTOR, SettingsFile.SECTION_RENDERER, SettingsFile.SETTINGS_DOLPHIN, R.string.internal_resolution, R.string.internal_resolution_descrip, 10, "x", 0, resolutionFactor)); + sl.add(new CheckBoxSetting(SettingsFile.KEY_USE_VSYNC, SettingsFile.SECTION_RENDERER, SettingsFile.SETTINGS_DOLPHIN, R.string.vsync , 0, false, vsyncEnable)); + sl.add(new CheckBoxSetting(SettingsFile.KEY_FRAME_LIMIT_ENABLED, SettingsFile.SECTION_RENDERER, SettingsFile.SETTINGS_DOLPHIN, R.string.overclock_enable, 0, false, frameLimitEnable)); + sl.add(new SliderSetting(SettingsFile.KEY_FRAME_LIMIT, SettingsFile.SECTION_RENDERER, SettingsFile.SETTINGS_DOLPHIN, R.string.overclock_title, R.string.overclock_enable_description, 500, "%", 100, frameLimitValue)); + + // Todo: Implement ColorPickerSetting + // sl.add(new ColorPickerSetting(SettingsFile.KEY_BACKGROUND_RED,SettingsFile.KEY_BACKGROUND_GREEN,SettingsFile.KEY_BACKGROUND_BLUE, SettingsFile.SECTION_RENDERER, SettingsFile.SETTINGS_DOLPHIN, R.string., R.string., Color.BLACK, backgroundColor)); + + /* + Check if we support stereo + If we support desktop GL then we must support at least OpenGL 3.2 + If we only support OpenGLES then we need both OpenGLES 3.1 and AEP + */ + EGLHelper helper = new EGLHelper(EGLHelper.EGL_OPENGL_ES2_BIT); + + if ((helper.supportsOpenGL() && helper.GetVersion() >= 320) || + (helper.supportsGLES3() && helper.GetVersion() >= 310 && helper.SupportsExtension("GL_ANDROID_extension_pack_es31a"))) + { + sl.add(new CheckBoxSetting(SettingsFile.KEY_STEREOSCOPY, SettingsFile.SECTION_RENDERER, SettingsFile.SETTINGS_DOLPHIN, R.string.stereoscopy, R.string.stereoscopy_descrip, false, stereoscopyEnable)); + sl.add(new SliderSetting(SettingsFile.KEY_FACTOR_3D, SettingsFile.SECTION_RENDERER, SettingsFile.SETTINGS_DOLPHIN, R.string.sterescopy_depth,R.string.sterescopy_depth_descrip,100,"%",0, stereoscopyDepth)); + } + + } + + + private void addGcPadSubSettings(ArrayList sl, int gcPadNumber, int gcPadType) + { + /* + if (gcPadType == 1) // Emulated + { + Setting bindA = mSettings.get(SettingsFile.SETTINGS_DOLPHIN).get(SettingsFile.SECTION_BINDINGS).getSetting(SettingsFile.KEY_GCBIND_A + gcPadNumber); + Setting bindB = mSettings.get(SettingsFile.SETTINGS_DOLPHIN).get(SettingsFile.SECTION_BINDINGS).getSetting(SettingsFile.KEY_GCBIND_B + gcPadNumber); + Setting bindX = mSettings.get(SettingsFile.SETTINGS_DOLPHIN).get(SettingsFile.SECTION_BINDINGS).getSetting(SettingsFile.KEY_GCBIND_X + gcPadNumber); + Setting bindY = mSettings.get(SettingsFile.SETTINGS_DOLPHIN).get(SettingsFile.SECTION_BINDINGS).getSetting(SettingsFile.KEY_GCBIND_Y + gcPadNumber); + Setting bindZ = mSettings.get(SettingsFile.SETTINGS_DOLPHIN).get(SettingsFile.SECTION_BINDINGS).getSetting(SettingsFile.KEY_GCBIND_Z + gcPadNumber); + Setting bindStart = mSettings.get(SettingsFile.SETTINGS_DOLPHIN).get(SettingsFile.SECTION_BINDINGS).getSetting(SettingsFile.KEY_GCBIND_START + gcPadNumber); + Setting bindControlUp = mSettings.get(SettingsFile.SETTINGS_DOLPHIN).get(SettingsFile.SECTION_BINDINGS).getSetting(SettingsFile.KEY_GCBIND_CONTROL_UP + gcPadNumber); + Setting bindControlDown = mSettings.get(SettingsFile.SETTINGS_DOLPHIN).get(SettingsFile.SECTION_BINDINGS).getSetting(SettingsFile.KEY_GCBIND_CONTROL_DOWN + gcPadNumber); + Setting bindControlLeft = mSettings.get(SettingsFile.SETTINGS_DOLPHIN).get(SettingsFile.SECTION_BINDINGS).getSetting(SettingsFile.KEY_GCBIND_CONTROL_LEFT + gcPadNumber); + Setting bindControlRight = mSettings.get(SettingsFile.SETTINGS_DOLPHIN).get(SettingsFile.SECTION_BINDINGS).getSetting(SettingsFile.KEY_GCBIND_CONTROL_RIGHT + gcPadNumber); + Setting bindCUp = mSettings.get(SettingsFile.SETTINGS_DOLPHIN).get(SettingsFile.SECTION_BINDINGS).getSetting(SettingsFile.KEY_GCBIND_C_UP + gcPadNumber); + Setting bindCDown = mSettings.get(SettingsFile.SETTINGS_DOLPHIN).get(SettingsFile.SECTION_BINDINGS).getSetting(SettingsFile.KEY_GCBIND_C_DOWN + gcPadNumber); + Setting bindCLeft = mSettings.get(SettingsFile.SETTINGS_DOLPHIN).get(SettingsFile.SECTION_BINDINGS).getSetting(SettingsFile.KEY_GCBIND_C_LEFT + gcPadNumber); + Setting bindCRight = mSettings.get(SettingsFile.SETTINGS_DOLPHIN).get(SettingsFile.SECTION_BINDINGS).getSetting(SettingsFile.KEY_GCBIND_C_RIGHT + gcPadNumber); + Setting bindTriggerL = mSettings.get(SettingsFile.SETTINGS_DOLPHIN).get(SettingsFile.SECTION_BINDINGS).getSetting(SettingsFile.KEY_GCBIND_TRIGGER_L + gcPadNumber); + Setting bindTriggerR = mSettings.get(SettingsFile.SETTINGS_DOLPHIN).get(SettingsFile.SECTION_BINDINGS).getSetting(SettingsFile.KEY_GCBIND_TRIGGER_R + gcPadNumber); + Setting bindDPadUp = mSettings.get(SettingsFile.SETTINGS_DOLPHIN).get(SettingsFile.SECTION_BINDINGS).getSetting(SettingsFile.KEY_GCBIND_DPAD_UP + gcPadNumber); + Setting bindDPadDown = mSettings.get(SettingsFile.SETTINGS_DOLPHIN).get(SettingsFile.SECTION_BINDINGS).getSetting(SettingsFile.KEY_GCBIND_DPAD_DOWN + gcPadNumber); + Setting bindDPadLeft = mSettings.get(SettingsFile.SETTINGS_DOLPHIN).get(SettingsFile.SECTION_BINDINGS).getSetting(SettingsFile.KEY_GCBIND_DPAD_LEFT + gcPadNumber); + Setting bindDPadRight = mSettings.get(SettingsFile.SETTINGS_DOLPHIN).get(SettingsFile.SECTION_BINDINGS).getSetting(SettingsFile.KEY_GCBIND_DPAD_RIGHT + gcPadNumber); + + sl.add(new HeaderSetting(null, null, R.string.generic_buttons, 0)); + sl.add(new InputBindingSetting(SettingsFile.KEY_GCBIND_A + gcPadNumber, SettingsFile.SECTION_BINDINGS, SettingsFile.SETTINGS_DOLPHIN, R.string.button_a, bindA)); + sl.add(new InputBindingSetting(SettingsFile.KEY_GCBIND_B + gcPadNumber, SettingsFile.SECTION_BINDINGS, SettingsFile.SETTINGS_DOLPHIN, R.string.button_b, bindB)); + sl.add(new InputBindingSetting(SettingsFile.KEY_GCBIND_X + gcPadNumber, SettingsFile.SECTION_BINDINGS, SettingsFile.SETTINGS_DOLPHIN, R.string.button_x, bindX)); + sl.add(new InputBindingSetting(SettingsFile.KEY_GCBIND_Y + gcPadNumber, SettingsFile.SECTION_BINDINGS, SettingsFile.SETTINGS_DOLPHIN, R.string.button_y, bindY)); + sl.add(new InputBindingSetting(SettingsFile.KEY_GCBIND_Z + gcPadNumber, SettingsFile.SECTION_BINDINGS, SettingsFile.SETTINGS_DOLPHIN, R.string.button_z, bindZ)); + sl.add(new InputBindingSetting(SettingsFile.KEY_GCBIND_START + gcPadNumber, SettingsFile.SECTION_BINDINGS, SettingsFile.SETTINGS_DOLPHIN, R.string.button_start, bindStart)); + + sl.add(new HeaderSetting(null, null, R.string.controller_control, 0)); + sl.add(new InputBindingSetting(SettingsFile.KEY_GCBIND_CONTROL_UP + gcPadNumber, SettingsFile.SECTION_BINDINGS, SettingsFile.SETTINGS_DOLPHIN, R.string.generic_up, bindControlUp)); + sl.add(new InputBindingSetting(SettingsFile.KEY_GCBIND_CONTROL_DOWN + gcPadNumber, SettingsFile.SECTION_BINDINGS, SettingsFile.SETTINGS_DOLPHIN, R.string.generic_down, bindControlDown)); + sl.add(new InputBindingSetting(SettingsFile.KEY_GCBIND_CONTROL_LEFT + gcPadNumber, SettingsFile.SECTION_BINDINGS, SettingsFile.SETTINGS_DOLPHIN, R.string.generic_left, bindControlLeft)); + sl.add(new InputBindingSetting(SettingsFile.KEY_GCBIND_CONTROL_RIGHT + gcPadNumber, SettingsFile.SECTION_BINDINGS, SettingsFile.SETTINGS_DOLPHIN, R.string.generic_right, bindControlRight)); + + sl.add(new HeaderSetting(null, null, R.string.controller_c, 0)); + sl.add(new InputBindingSetting(SettingsFile.KEY_GCBIND_C_UP + gcPadNumber, SettingsFile.SECTION_BINDINGS, SettingsFile.SETTINGS_DOLPHIN, R.string.generic_up, bindCUp)); + sl.add(new InputBindingSetting(SettingsFile.KEY_GCBIND_C_DOWN + gcPadNumber, SettingsFile.SECTION_BINDINGS, SettingsFile.SETTINGS_DOLPHIN, R.string.generic_down, bindCDown)); + sl.add(new InputBindingSetting(SettingsFile.KEY_GCBIND_C_LEFT + gcPadNumber, SettingsFile.SECTION_BINDINGS, SettingsFile.SETTINGS_DOLPHIN, R.string.generic_left, bindCLeft)); + sl.add(new InputBindingSetting(SettingsFile.KEY_GCBIND_C_RIGHT + gcPadNumber, SettingsFile.SECTION_BINDINGS, SettingsFile.SETTINGS_DOLPHIN, R.string.generic_right, bindCRight)); + + sl.add(new HeaderSetting(null, null, R.string.controller_trig, 0)); + sl.add(new InputBindingSetting(SettingsFile.KEY_GCBIND_TRIGGER_L + gcPadNumber, SettingsFile.SECTION_BINDINGS, SettingsFile.SETTINGS_DOLPHIN, R.string.trigger_left, bindTriggerL)); + sl.add(new InputBindingSetting(SettingsFile.KEY_GCBIND_TRIGGER_R + gcPadNumber, SettingsFile.SECTION_BINDINGS, SettingsFile.SETTINGS_DOLPHIN, R.string.trigger_right, bindTriggerR)); + + sl.add(new HeaderSetting(null, null, R.string.controller_dpad, 0)); + sl.add(new InputBindingSetting(SettingsFile.KEY_GCBIND_DPAD_UP + gcPadNumber, SettingsFile.SECTION_BINDINGS, SettingsFile.SETTINGS_DOLPHIN, R.string.generic_up, bindDPadUp)); + sl.add(new InputBindingSetting(SettingsFile.KEY_GCBIND_DPAD_DOWN + gcPadNumber, SettingsFile.SECTION_BINDINGS, SettingsFile.SETTINGS_DOLPHIN, R.string.generic_down, bindDPadDown)); + sl.add(new InputBindingSetting(SettingsFile.KEY_GCBIND_DPAD_LEFT + gcPadNumber, SettingsFile.SECTION_BINDINGS, SettingsFile.SETTINGS_DOLPHIN, R.string.generic_left, bindDPadLeft)); + sl.add(new InputBindingSetting(SettingsFile.KEY_GCBIND_DPAD_RIGHT + gcPadNumber, SettingsFile.SECTION_BINDINGS, SettingsFile.SETTINGS_DOLPHIN, R.string.generic_right, bindDPadRight)); + } + else // Adapter + { + Setting rumble = mSettings.get(SettingsFile.SETTINGS_DOLPHIN).get(SettingsFile.SECTION_CORE).getSetting(SettingsFile.KEY_GCADAPTER_RUMBLE + gcPadNumber); + Setting bongos = mSettings.get(SettingsFile.SETTINGS_DOLPHIN).get(SettingsFile.SECTION_CORE).getSetting(SettingsFile.KEY_GCADAPTER_BONGOS + gcPadNumber); + + sl.add(new CheckBoxSetting(SettingsFile.KEY_GCADAPTER_RUMBLE + gcPadNumber, SettingsFile.SECTION_CORE, SettingsFile.SETTINGS_DOLPHIN, R.string.gc_adapter_rumble, R.string.gc_adapter_rumble_description, false, rumble)); + sl.add(new CheckBoxSetting(SettingsFile.KEY_GCADAPTER_BONGOS + gcPadNumber, SettingsFile.SECTION_CORE, SettingsFile.SETTINGS_DOLPHIN, R.string.gc_adapter_bongos, R.string.gc_adapter_bongos_description, false, bongos)); + } + */ + } + + private boolean getInvertedBooleanValue(int file, String section, String key, boolean defaultValue) + { + try + { + return ((IntSetting) mSettings.get(file).get(section).getSetting(key)).getValue() != 1; + } + catch (NullPointerException ex) + { + return defaultValue; + } + } + +} \ No newline at end of file diff --git a/src/android/app/src/main/java/org/citra/citra_android/ui/settings/SettingsFragmentView.java b/src/android/app/src/main/java/org/citra/citra_android/ui/settings/SettingsFragmentView.java new file mode 100644 index 000000000..a108eb98c --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/ui/settings/SettingsFragmentView.java @@ -0,0 +1,104 @@ +package org.citra.citra_android.ui.settings; + +import android.support.v4.app.FragmentActivity; + +import org.citra.citra_android.model.settings.Setting; +import org.citra.citra_android.model.settings.SettingSection; +import org.citra.citra_android.model.settings.view.SettingsItem; + +import java.util.ArrayList; +import java.util.HashMap; + +/** + * Abstraction for a screen showing a list of settings. Instances of + * this type of view will each display a layer of the setting hierarchy. + */ +public interface SettingsFragmentView +{ + /** + * Called by the containing Activity to notify the Fragment that an + * asynchronous load operation completed. + * + * @param settings The (possibly null) result of the ini load operation. + */ + void onSettingsFileLoaded(ArrayList> settings); + + /** + * Pass a settings HashMap to the containing activity, so that it can + * share the HashMap with other SettingsFragments; useful so that rotations + * do not require an additional load operation. + * + * @param settings An ArrayList containing all the settings HashMaps. + */ + void passSettingsToActivity(ArrayList> settings); + + /** + * Pass an ArrayList to the View so that it can be displayed on screen. + * + * @param settingsList The result of converting the HashMap to an ArrayList + */ + void showSettingsList(ArrayList settingsList); + + /** + * Called by the containing Activity when an asynchronous load operation fails. + * Instructs the Fragment to load the settings screen with defaults selected. + */ + void loadDefaultSettings(); + + /** + * @return The Fragment's containing activity. + */ + FragmentActivity getActivity(); + + /** + * Tell the Fragment to tell the containing Activity to show a new + * Fragment containing a submenu of settings. + * + * @param menuKey Identifier for the settings group that should be shown. + */ + void loadSubMenu(String menuKey); + + /** + * Tell the Fragment to tell the containing activity to display a toast message. + * + * @param message Text to be shown in the Toast + */ + void showToastMessage(String message); + + /** + * Have the fragment add a setting to the HashMap. + * + * @param setting The (possibly previously missing) new setting. + */ + void putSetting(Setting setting); + + /** + * Have the fragment tell the containing Activity that a setting was modified. + */ + void onSettingChanged(); + + /** + * Have the fragment tell the containing Activity that a GCPad's setting was modified. + * + * @param key Identifier for the GCPad that was modified. + * @param value New setting for the GCPad. + */ + void onGcPadSettingChanged(String key, int value); + + /** + * Have the fragment tell the containing Activity that a Wiimote's setting was modified. + * + * @param section Identifier for Wiimote that was modified; Wiimotes are identified by their section, + * not their key. + * @param value New setting for the Wiimote. + */ + void onWiimoteSettingChanged(String section, int value); + + /** + * Have the fragment tell the containing Activity that an extension setting was modified. + * + * @param key Identifier for the extension that was modified. + * @param value New setting for the extension. + */ + void onExtensionSettingChanged(String key, int value); +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/ui/settings/SettingsFrameLayout.java b/src/android/app/src/main/java/org/citra/citra_android/ui/settings/SettingsFrameLayout.java new file mode 100644 index 000000000..855397efd --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/ui/settings/SettingsFrameLayout.java @@ -0,0 +1,56 @@ +package org.citra.citra_android.ui.settings; + +import android.content.Context; +import android.util.AttributeSet; +import android.widget.FrameLayout; + +/** + * FrameLayout subclass with few Properties added to simplify animations. + */ +public final class SettingsFrameLayout extends FrameLayout +{ + private float mVisibleness = 1.0f; + + public SettingsFrameLayout(Context context) + { + super(context); + } + + public SettingsFrameLayout(Context context, AttributeSet attrs) + { + super(context, attrs); + } + + public SettingsFrameLayout(Context context, AttributeSet attrs, int defStyleAttr) + { + super(context, attrs, defStyleAttr); + } + + public SettingsFrameLayout(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) + { + super(context, attrs, defStyleAttr, defStyleRes); + } + + public float getYFraction() + { + return getY() / getHeight(); + } + + public void setYFraction(float yFraction) + { + final int height = getHeight(); + setY((height > 0) ? (yFraction * height) : -9999); + } + + public float getVisibleness() + { + return mVisibleness; + } + + public void setVisibleness(float visibleness) + { + setScaleX(visibleness); + setScaleY(visibleness); + setAlpha(visibleness); + } +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/ui/settings/viewholder/CheckBoxSettingViewHolder.java b/src/android/app/src/main/java/org/citra/citra_android/ui/settings/viewholder/CheckBoxSettingViewHolder.java new file mode 100644 index 000000000..9f0d4dc08 --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/ui/settings/viewholder/CheckBoxSettingViewHolder.java @@ -0,0 +1,56 @@ +package org.citra.citra_android.ui.settings.viewholder; + +import android.view.View; +import android.widget.CheckBox; +import android.widget.TextView; + +import org.citra.citra_android.R; +import org.citra.citra_android.model.settings.view.CheckBoxSetting; +import org.citra.citra_android.model.settings.view.SettingsItem; +import org.citra.citra_android.ui.settings.SettingsAdapter; + +public final class CheckBoxSettingViewHolder extends SettingViewHolder +{ + private CheckBoxSetting mItem; + + private TextView mTextSettingName; + private TextView mTextSettingDescription; + + private CheckBox mCheckbox; + + public CheckBoxSettingViewHolder(View itemView, SettingsAdapter adapter) + { + super(itemView, adapter); + } + + @Override + protected void findViews(View root) + { + mTextSettingName = root.findViewById(R.id.text_setting_name); + mTextSettingDescription = root.findViewById(R.id.text_setting_description); + mCheckbox = root.findViewById(R.id.checkbox); + } + + @Override + public void bind(SettingsItem item) + { + mItem = (CheckBoxSetting) item; + + mTextSettingName.setText(item.getNameId()); + + if (item.getDescriptionId() > 0) + { + mTextSettingDescription.setText(item.getDescriptionId()); + } + + mCheckbox.setChecked(mItem.isChecked()); + } + + @Override + public void onClick(View clicked) + { + mCheckbox.toggle(); + + getAdapter().onBooleanClick(mItem, getAdapterPosition(), mCheckbox.isChecked()); + } +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/ui/settings/viewholder/DateTimeViewHolder.java b/src/android/app/src/main/java/org/citra/citra_android/ui/settings/viewholder/DateTimeViewHolder.java new file mode 100644 index 000000000..ab8ea8afd --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/ui/settings/viewholder/DateTimeViewHolder.java @@ -0,0 +1,49 @@ +package org.citra.citra_android.ui.settings.viewholder; + +import android.view.View; +import android.widget.TextView; + +import org.citra.citra_android.R; +import org.citra.citra_android.model.settings.view.DateTimeSetting; +import org.citra.citra_android.model.settings.view.SettingsItem; +import org.citra.citra_android.ui.settings.SettingsAdapter; +import org.citra.citra_android.utils.Log; + +public final class DateTimeViewHolder extends SettingViewHolder +{ + private DateTimeSetting mItem; + + private TextView mTextSettingName; + private TextView mTextSettingDescription; + + public DateTimeViewHolder(View itemView, SettingsAdapter adapter) + { + super(itemView, adapter); + } + + @Override + protected void findViews(View root) + { + mTextSettingName = root.findViewById(R.id.text_setting_name); + Log.error("test " + mTextSettingName); + mTextSettingDescription = root.findViewById(R.id.text_setting_description); + Log.error("test " + mTextSettingDescription); + } + + @Override + public void bind(SettingsItem item) + { + mItem = (DateTimeSetting) item; + mTextSettingName.setText(item.getNameId()); + if (item.getDescriptionId() > 0) + { + mTextSettingDescription.setText(item.getDescriptionId()); + } + } + + @Override + public void onClick(View clicked) + { + getAdapter().onDateTimeClick(mItem); + } +} \ No newline at end of file diff --git a/src/android/app/src/main/java/org/citra/citra_android/ui/settings/viewholder/HeaderViewHolder.java b/src/android/app/src/main/java/org/citra/citra_android/ui/settings/viewholder/HeaderViewHolder.java new file mode 100644 index 000000000..a01e94051 --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/ui/settings/viewholder/HeaderViewHolder.java @@ -0,0 +1,37 @@ +package org.citra.citra_android.ui.settings.viewholder; + +import android.view.View; +import android.widget.TextView; + +import org.citra.citra_android.R; +import org.citra.citra_android.model.settings.view.SettingsItem; +import org.citra.citra_android.ui.settings.SettingsAdapter; + +public final class HeaderViewHolder extends SettingViewHolder +{ + private TextView mHeaderName; + + public HeaderViewHolder(View itemView, SettingsAdapter adapter) + { + super(itemView, adapter); + itemView.setOnClickListener(null); + } + + @Override + protected void findViews(View root) + { + mHeaderName = root.findViewById(R.id.text_header_name); + } + + @Override + public void bind(SettingsItem item) + { + mHeaderName.setText(item.getNameId()); + } + + @Override + public void onClick(View clicked) + { + // no-op + } +} \ No newline at end of file diff --git a/src/android/app/src/main/java/org/citra/citra_android/ui/settings/viewholder/InputBindingSettingViewHolder.java b/src/android/app/src/main/java/org/citra/citra_android/ui/settings/viewholder/InputBindingSettingViewHolder.java new file mode 100644 index 000000000..19cb0355e --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/ui/settings/viewholder/InputBindingSettingViewHolder.java @@ -0,0 +1,53 @@ +package org.citra.citra_android.ui.settings.viewholder; + +import android.content.Context; +import android.content.SharedPreferences; +import android.preference.PreferenceManager; +import android.view.View; +import android.widget.TextView; + +import org.citra.citra_android.R; +import org.citra.citra_android.model.settings.view.InputBindingSetting; +import org.citra.citra_android.model.settings.view.SettingsItem; +import org.citra.citra_android.ui.settings.SettingsAdapter; + +public final class InputBindingSettingViewHolder extends SettingViewHolder +{ + private InputBindingSetting mItem; + + private TextView mTextSettingName; + private TextView mTextSettingDescription; + + private Context mContext; + + public InputBindingSettingViewHolder(View itemView, SettingsAdapter adapter, Context context) + { + super(itemView, adapter); + + mContext = context; + } + + @Override + protected void findViews(View root) + { + mTextSettingName = root.findViewById(R.id.text_setting_name); + mTextSettingDescription = root.findViewById(R.id.text_setting_description); + } + + @Override + public void bind(SettingsItem item) + { + SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(mContext); + + mItem = (InputBindingSetting) item; + + mTextSettingName.setText(item.getNameId()); + mTextSettingDescription.setText(sharedPreferences.getString(mItem.getKey(), "")); + } + + @Override + public void onClick(View clicked) + { + getAdapter().onInputBindingClick(mItem, getAdapterPosition()); + } +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/ui/settings/viewholder/SettingViewHolder.java b/src/android/app/src/main/java/org/citra/citra_android/ui/settings/viewholder/SettingViewHolder.java new file mode 100644 index 000000000..0824ae468 --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/ui/settings/viewholder/SettingViewHolder.java @@ -0,0 +1,51 @@ +package org.citra.citra_android.ui.settings.viewholder; + +import android.support.v7.widget.RecyclerView; +import android.view.View; + +import org.citra.citra_android.model.settings.view.SettingsItem; +import org.citra.citra_android.ui.settings.SettingsAdapter; + +public abstract class SettingViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener +{ + private SettingsAdapter mAdapter; + + public SettingViewHolder(View itemView, SettingsAdapter adapter) + { + super(itemView); + + mAdapter = adapter; + + itemView.setOnClickListener(this); + + findViews(itemView); + } + + protected SettingsAdapter getAdapter() + { + return mAdapter; + } + + /** + * Gets handles to all this ViewHolder's child views using their XML-defined identifiers. + * + * @param root The newly inflated top-level view. + */ + protected abstract void findViews(View root); + + /** + * Called by the adapter to set this ViewHolder's child views to display the list item + * it must now represent. + * + * @param item The list item that should be represented by this ViewHolder. + */ + public abstract void bind(SettingsItem item); + + /** + * Called when this ViewHolder's view is clicked on. Implementations should usually pass + * this event up to the adapter. + * + * @param clicked The view that was clicked on. + */ + public abstract void onClick(View clicked); +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/ui/settings/viewholder/SingleChoiceViewHolder.java b/src/android/app/src/main/java/org/citra/citra_android/ui/settings/viewholder/SingleChoiceViewHolder.java new file mode 100644 index 000000000..8eb09d5bc --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/ui/settings/viewholder/SingleChoiceViewHolder.java @@ -0,0 +1,48 @@ +package org.citra.citra_android.ui.settings.viewholder; + +import android.view.View; +import android.widget.TextView; + +import org.citra.citra_android.R; +import org.citra.citra_android.model.settings.view.SettingsItem; +import org.citra.citra_android.model.settings.view.SingleChoiceSetting; +import org.citra.citra_android.ui.settings.SettingsAdapter; + +public final class SingleChoiceViewHolder extends SettingViewHolder +{ + private SingleChoiceSetting mItem; + + private TextView mTextSettingName; + private TextView mTextSettingDescription; + + public SingleChoiceViewHolder(View itemView, SettingsAdapter adapter) + { + super(itemView, adapter); + } + + @Override + protected void findViews(View root) + { + mTextSettingName = root.findViewById(R.id.text_setting_name); + mTextSettingDescription = root.findViewById(R.id.text_setting_description); + } + + @Override + public void bind(SettingsItem item) + { + mItem = (SingleChoiceSetting) item; + + mTextSettingName.setText(item.getNameId()); + + if (item.getDescriptionId() > 0) + { + mTextSettingDescription.setText(item.getDescriptionId()); + } + } + + @Override + public void onClick(View clicked) + { + getAdapter().onSingleChoiceClick(mItem); + } +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/ui/settings/viewholder/SliderViewHolder.java b/src/android/app/src/main/java/org/citra/citra_android/ui/settings/viewholder/SliderViewHolder.java new file mode 100644 index 000000000..dafed6007 --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/ui/settings/viewholder/SliderViewHolder.java @@ -0,0 +1,49 @@ +package org.citra.citra_android.ui.settings.viewholder; + +import android.view.View; +import android.widget.TextView; + +import org.citra.citra_android.R; +import org.citra.citra_android.model.settings.view.SettingsItem; +import org.citra.citra_android.model.settings.view.SliderSetting; +import org.citra.citra_android.ui.settings.SettingsAdapter; + +public final class SliderViewHolder extends SettingViewHolder +{ + private SliderSetting mItem; + + private TextView mTextSettingName; + private TextView mTextSettingDescription; + + public SliderViewHolder(View itemView, SettingsAdapter adapter) + { + super(itemView, adapter); + } + + @Override + protected void findViews(View root) + { + mTextSettingName = root.findViewById(R.id.text_setting_name); + mTextSettingDescription = root.findViewById(R.id.text_setting_description); + } + + @Override + public void bind(SettingsItem item) + { + mItem = (SliderSetting) item; + + mTextSettingName.setText(item.getNameId()); + + if (item.getDescriptionId() > 0) + { + mTextSettingDescription.setText(item.getDescriptionId()); + } + } + + @Override + public void onClick(View clicked) + { + getAdapter().onSliderClick(mItem); + } +} + diff --git a/src/android/app/src/main/java/org/citra/citra_android/ui/settings/viewholder/SubmenuViewHolder.java b/src/android/app/src/main/java/org/citra/citra_android/ui/settings/viewholder/SubmenuViewHolder.java new file mode 100644 index 000000000..c28ba1d95 --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/ui/settings/viewholder/SubmenuViewHolder.java @@ -0,0 +1,48 @@ +package org.citra.citra_android.ui.settings.viewholder; + +import android.view.View; +import android.widget.TextView; + +import org.citra.citra_android.R; +import org.citra.citra_android.model.settings.view.SettingsItem; +import org.citra.citra_android.model.settings.view.SubmenuSetting; +import org.citra.citra_android.ui.settings.SettingsAdapter; + +public final class SubmenuViewHolder extends SettingViewHolder +{ + private SubmenuSetting mItem; + + private TextView mTextSettingName; + private TextView mTextSettingDescription; + + public SubmenuViewHolder(View itemView, SettingsAdapter adapter) + { + super(itemView, adapter); + } + + @Override + protected void findViews(View root) + { + mTextSettingName = root.findViewById(R.id.text_setting_name); + mTextSettingDescription = root.findViewById(R.id.text_setting_description); + } + + @Override + public void bind(SettingsItem item) + { + mItem = (SubmenuSetting) item; + + mTextSettingName.setText(item.getNameId()); + + if (item.getDescriptionId() > 0) + { + mTextSettingDescription.setText(item.getDescriptionId()); + } + } + + @Override + public void onClick(View clicked) + { + getAdapter().onSubmenuClick(mItem); + } +} \ No newline at end of file diff --git a/src/android/app/src/main/java/org/citra/citra_android/utils/AddDirectoryHelper.java b/src/android/app/src/main/java/org/citra/citra_android/utils/AddDirectoryHelper.java new file mode 100644 index 000000000..2096a1111 --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/utils/AddDirectoryHelper.java @@ -0,0 +1,44 @@ +package org.citra.citra_android.utils; + +import android.content.AsyncQueryHandler; +import android.content.ContentValues; +import android.content.Context; +import android.net.Uri; + +import org.citra.citra_android.model.GameDatabase; +import org.citra.citra_android.model.GameProvider; + +public class AddDirectoryHelper +{ + private Context mContext; + + public interface AddDirectoryListener + { + void onDirectoryAdded(); + } + + public AddDirectoryHelper(Context context) + { + this.mContext = context; + } + + public void addDirectory(String dir, AddDirectoryListener addDirectoryListener) + { + AsyncQueryHandler handler = new AsyncQueryHandler(mContext.getContentResolver()) + { + @Override + protected void onInsertComplete(int token, Object cookie, Uri uri) + { + addDirectoryListener.onDirectoryAdded(); + } + }; + + ContentValues file = new ContentValues(); + file.put(GameDatabase.KEY_FOLDER_PATH, dir); + + handler.startInsert(0, // We don't need to identify this call to the handler + null, // We don't need to pass additional data to the handler + GameProvider.URI_FOLDER, // Tell the GameProvider we are adding a folder + file); + } +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/utils/Animations.java b/src/android/app/src/main/java/org/citra/citra_android/utils/Animations.java new file mode 100644 index 000000000..8633a08ba --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/utils/Animations.java @@ -0,0 +1,29 @@ +package org.citra.citra_android.utils; + +import android.view.View; +import android.view.ViewPropertyAnimator; + +public final class Animations +{ + private Animations() + { + } + + public static ViewPropertyAnimator fadeViewIn(View view) + { + view.setVisibility(View.VISIBLE); + + return view.animate() + .withLayer() + .setDuration(100) + .alpha(1.0f); + } + + public static ViewPropertyAnimator fadeViewOut(View view) + { + return view.animate() + .withLayer() + .setDuration(300) + .alpha(0.0f); + } +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/utils/ControllerMappingHelper.java b/src/android/app/src/main/java/org/citra/citra_android/utils/ControllerMappingHelper.java new file mode 100644 index 000000000..2b703ec8a --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/utils/ControllerMappingHelper.java @@ -0,0 +1,83 @@ +package org.citra.citra_android.utils; + +import android.view.InputDevice; +import android.view.KeyEvent; +import android.view.MotionEvent; + +/** + * Some controllers have incorrect mappings. This class has special-case fixes for them. + */ +public class ControllerMappingHelper +{ + /** + * Some controllers report extra button presses that can be ignored. + */ + public boolean shouldKeyBeIgnored(InputDevice inputDevice, int keyCode) + { + if (isDualShock4(inputDevice)) + { + // The two analog triggers generate analog motion events as well as a keycode. + // We always prefer to use the analog values, so throw away the button press + // Even though the triggers are L/R2, without mappings they generate L/R1 events. + return keyCode == KeyEvent.KEYCODE_BUTTON_L1 || keyCode == KeyEvent.KEYCODE_BUTTON_R1; + } + return false; + } + + /** + * Scale an axis to be zero-centered with a proper range. + */ + public float scaleAxis(InputDevice inputDevice, int axis, float value) + { + if (isDualShock4(inputDevice)) + { + // Android doesn't have correct mappings for this controller's triggers. It reports them + // as RX & RY, centered at -1.0, and with a range of [-1.0, 1.0] + // Scale them to properly zero-centered with a range of [0.0, 1.0]. + if (axis == MotionEvent.AXIS_RX || axis == MotionEvent.AXIS_RY) + { + return (value + 1) / 2.0f; + } + } + else if (isXboxOneWireless(inputDevice)) + { + // Same as the DualShock 4, the mappings are missing. + if (axis == MotionEvent.AXIS_Z || axis == MotionEvent.AXIS_RZ) + { + return (value + 1) / 2.0f; + } + if (axis == MotionEvent.AXIS_GENERIC_1) + { + // This axis is stuck at ~.5. Ignore it. + return 0.0f; + } + } + else if (isMogaPro2Hid(inputDevice)) + { + // This controller has a broken axis that reports a constant value. Ignore it. + if (axis == MotionEvent.AXIS_GENERIC_1) + { + return 0.0f; + } + } + return value; + } + + private boolean isDualShock4(InputDevice inputDevice) + { + // Sony DualShock 4 controller + return inputDevice.getVendorId() == 0x54c && inputDevice.getProductId() == 0x9cc; + } + + private boolean isXboxOneWireless(InputDevice inputDevice) + { + // Microsoft Xbox One controller + return inputDevice.getVendorId() == 0x45e && inputDevice.getProductId() == 0x2e0; + } + + private boolean isMogaPro2Hid(InputDevice inputDevice) + { + // Moga Pro 2 HID + return inputDevice.getVendorId() == 0x20d6 && inputDevice.getProductId() == 0x6271; + } +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/utils/DirectoryStateReceiver.java b/src/android/app/src/main/java/org/citra/citra_android/utils/DirectoryStateReceiver.java new file mode 100644 index 000000000..f3182d532 --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/utils/DirectoryStateReceiver.java @@ -0,0 +1,28 @@ +package org.citra.citra_android.utils; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; + +import org.citra.citra_android.services.DirectoryInitializationService; +import org.citra.citra_android.services.DirectoryInitializationService.DirectoryInitializationState; + +import rx.functions.Action1; + +public class DirectoryStateReceiver extends BroadcastReceiver +{ + Action1 callback; + + public DirectoryStateReceiver(Action1 callback) + { + this.callback = callback; + } + + @Override + public void onReceive(Context context, Intent intent) + { + DirectoryInitializationState state = (DirectoryInitializationState) intent + .getSerializableExtra(DirectoryInitializationService.EXTRA_STATE); + callback.call(state); + } +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/utils/EGLHelper.java b/src/android/app/src/main/java/org/citra/citra_android/utils/EGLHelper.java new file mode 100644 index 000000000..b82bd9542 --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/utils/EGLHelper.java @@ -0,0 +1,389 @@ +/** + * Copyright 2013 Dolphin Emulator Project + * Licensed under GPLv2+ + * Refer to the license.txt file included. + */ + +package org.citra.citra_android.utils; + +import android.opengl.GLES30; + +import org.citra.citra_android.NativeLibrary; + +import javax.microedition.khronos.egl.EGL10; +import javax.microedition.khronos.egl.EGLConfig; +import javax.microedition.khronos.egl.EGLContext; +import javax.microedition.khronos.egl.EGLDisplay; +import javax.microedition.khronos.egl.EGLSurface; +import javax.microedition.khronos.opengles.GL10; + +/** + * Utility class that abstracts all the stuff about + * EGL initialization out of the way if all that is + * wanted is to query the underlying GL API for information. + */ +public final class EGLHelper +{ + private final EGL10 mEGL; + private final EGLDisplay mDisplay; + private EGLConfig[] mEGLConfigs; + private EGLContext mEGLContext; + private EGLSurface mEGLSurface; + private GL10 mGL; + + // GL support flags + private boolean supportGL; + private boolean supportGLES2; + private boolean supportGLES3; + + // Renderable type bitmasks + public static final int EGL_OPENGL_ES_BIT = 0x0001; + public static final int EGL_OPENGL_ES2_BIT = 0x0004; + public static final int EGL_OPENGL_BIT = 0x0008; + public static final int EGL_OPENGL_ES3_BIT_KHR = 0x0040; + + // API types + public static final int EGL_OPENGL_ES_API = 0x30A0; + public static final int EGL_OPENGL_API = 0x30A2; + + /** + * Constructor + *

+ * Initializes the underlying {@link EGLSurface} with a width and height of 1. + * This is useful if all you need to use this class for is to query information + * from specific API contexts. + * + * @param renderableType Bitmask indicating which types of client API contexts + * the framebuffer config must support. + */ + public EGLHelper(int renderableType) + { + this(1, 1, renderableType); + } + + /** + * Constructor + * + * @param width Width of the underlying {@link EGLSurface}. + * @param height Height of the underlying {@link EGLSurface}. + * @param renderableType Bitmask indicating which types of client API contexts + * the framebuffer config must support. + */ + public EGLHelper(int width, int height, int renderableType) + { + // Initialize handle to an EGL display. + mEGL = (EGL10) EGLContext.getEGL(); + mDisplay = mEGL.eglGetDisplay(EGL10.EGL_DEFAULT_DISPLAY); + + // If a display is present, initialize EGL. + if (mDisplay != EGL10.EGL_NO_DISPLAY) + { + int[] version = new int[2]; + if (mEGL.eglInitialize(mDisplay, version)) + { + // Detect supported GL APIs, initialize configs, etc. + detect(); + + // Create context and surface + create(width, height, renderableType); + } + else + { + Log.error("[EGLHelper] Error initializing EGL."); + } + } + else + { + Log.error("[EGLHelper] Error initializing EGL display."); + } + } + + /** + * Releases all resources associated with this helper. + *

+ * This should be called whenever this helper is no longer needed. + */ + public void closeHelper() + { + mEGL.eglTerminate(mDisplay); + } + + /** + * Gets information through EGL.
+ *

+ * Index 0: Vendor
+ * Index 1: Version
+ * Index 2: Renderer
+ * Index 3: Extensions
+ * + * @return information retrieved through EGL. + */ + public String[] getEGLInfo() + { + return new String[]{ + mGL.glGetString(GL10.GL_VENDOR), + mGL.glGetString(GL10.GL_VERSION), + mGL.glGetString(GL10.GL_RENDERER), + mGL.glGetString(GL10.GL_EXTENSIONS), + }; + } + + /** + * Whether or not this device supports OpenGL. + * + * @return true if this device supports OpenGL; false otherwise. + */ + public boolean supportsOpenGL() + { + return supportGL; + } + + /** + * Whether or not this device supports OpenGL ES 2. + *
+ * Note that if this returns true, then OpenGL ES 1 is also supported. + * + * @return true if this device supports OpenGL ES 2; false otherwise. + */ + public boolean supportsGLES2() + { + return supportGLES2; + } + + /** + * Whether or not this device supports OpenGL ES 3. + *
+ * Note that if this returns true, then OpenGL ES 1 and 2 are also supported. + * + * @return true if this device supports OpenGL ES 3; false otherwise. + */ + public boolean supportsGLES3() + { + return supportGLES3; + } + + /** + * Gets the underlying {@link EGL10} instance. + * + * @return the underlying {@link EGL10} instance. + */ + public EGL10 getEGL() + { + return mEGL; + } + + /** + * Gets the underlying {@link GL10} instance. + * + * @return the underlying {@link GL10} instance. + */ + public GL10 getGL() + { + return mGL; + } + + /** + * Gets the underlying {@link EGLDisplay}. + * + * @return the underlying {@link EGLDisplay} + */ + public EGLDisplay getDisplay() + { + return mDisplay; + } + + /** + * Gets all supported framebuffer configurations for this device. + * + * @return all supported framebuffer configurations for this device. + */ + public EGLConfig[] getConfigs() + { + return mEGLConfigs; + } + + /** + * Gets the underlying {@link EGLContext}. + * + * @return the underlying {@link EGLContext}. + */ + public EGLContext getContext() + { + return mEGLContext; + } + + /** + * Gets the underlying {@link EGLSurface}. + * + * @return the underlying {@link EGLSurface}. + */ + public EGLSurface getSurface() + { + return mEGLSurface; + } + + // Detects the specific kind of GL modes that are supported + private boolean detect() + { + // Get total number of configs available. + int[] numConfigs = new int[1]; + if (!mEGL.eglGetConfigs(mDisplay, null, 0, numConfigs)) + { + Log.error("[EGLHelper] Error retrieving number of EGL configs available."); + return false; + } + + // Now get all the configurations + mEGLConfigs = new EGLConfig[numConfigs[0]]; + if (!mEGL.eglGetConfigs(mDisplay, mEGLConfigs, mEGLConfigs.length, numConfigs)) + { + Log.error("[EGLHelper] Error retrieving all EGL configs."); + return false; + } + + for (EGLConfig mEGLConfig : mEGLConfigs) + { + int[] attribVal = new int[1]; + boolean ret = + mEGL.eglGetConfigAttrib(mDisplay, mEGLConfig, EGL10.EGL_RENDERABLE_TYPE, attribVal); + if (ret) + { + if ((attribVal[0] & EGL_OPENGL_BIT) != 0) + supportGL = true; + + if ((attribVal[0] & EGL_OPENGL_ES2_BIT) != 0) + supportGLES2 = true; + + if ((attribVal[0] & EGL_OPENGL_ES3_BIT_KHR) != 0) + supportGLES3 = true; + } + } + + return true; + } + + // Creates the context and surface. + private void create(int width, int height, int renderableType) + { + int[] attribs = { + EGL10.EGL_WIDTH, width, + EGL10.EGL_HEIGHT, height, + EGL10.EGL_NONE + }; + + // Initially we just assume GLES2 will be the default context. + int EGL_CONTEXT_CLIENT_VERSION = 0x3098; + int[] ctx_attribs = { + EGL_CONTEXT_CLIENT_VERSION, 2, + EGL10.EGL_NONE + }; + + // Determine the type of context that will be created + // and change the attribute arrays accordingly. + switch (renderableType) + { + case EGL_OPENGL_ES_BIT: + ctx_attribs[1] = 1; + break; + + case EGL_OPENGL_BIT: + ctx_attribs[0] = EGL10.EGL_NONE; + break; + + case EGL_OPENGL_ES3_BIT_KHR: + ctx_attribs[1] = 3; + break; + + case EGL_OPENGL_ES2_BIT: + default: // Fall-back to GLES 2. + ctx_attribs[1] = 2; + break; + } + if (renderableType == EGL_OPENGL_BIT) + NativeLibrary.eglBindAPI(EGL_OPENGL_API); + else + NativeLibrary.eglBindAPI(EGL_OPENGL_ES_API); + + mEGLContext = + mEGL.eglCreateContext(mDisplay, mEGLConfigs[0], EGL10.EGL_NO_CONTEXT, ctx_attribs); + mEGLSurface = mEGL.eglCreatePbufferSurface(mDisplay, mEGLConfigs[0], attribs); + mEGL.eglMakeCurrent(mDisplay, mEGLSurface, mEGLSurface, mEGLContext); + mGL = (GL10) mEGLContext.getGL(); + } + + /** + * Simplified call to {@link GL10#glGetString(int)} + *

+ * Accepts the following constants: + *

    + *
  • GL_VENDOR - Company responsible for the GL implementation.
  • + *
  • GL_VERSION - Version or release number.
  • + *
  • GL_RENDERER - Name of the renderer
  • + *
  • GL_SHADING_LANGUAGE_VERSION - Version or release number of the shading language
  • + *
+ * + * @param glEnum A symbolic constant within {@link GL10}. + * @return the string information represented by {@code glEnum}. + */ + public String glGetString(int glEnum) + { + return mGL.glGetString(glEnum); + } + + /** + * Simplified call to {@link GLES30#glGetStringi(int, int)} + *

+ * Accepts the following constants: + *

    + *
  • GL_VENDOR - Company responsible for the GL implementation.
  • + *
  • GL_VERSION - Version or release number.
  • + *
  • GL_RENDERER - Name of the renderer
  • + *
  • GL_SHADING_LANGUAGE_VERSION - Version or release number of the shading language
  • + *
  • GL_EXTENSIONS - Extension string supported by the implementation at {@code index}.
  • + *
+ * + * @param glEnum A symbolic GL constant + * @param index The index of the string to return. + * @return the string information represented by {@code glEnum} and {@code index}. + */ + public String glGetStringi(int glEnum, int index) + { + return GLES30.glGetStringi(glEnum, index); + } + + public boolean SupportsExtension(String extension) + { + int[] num_ext = new int[1]; + GLES30.glGetIntegerv(GLES30.GL_NUM_EXTENSIONS, num_ext, 0); + + for (int i = 0; i < num_ext[0]; ++i) + { + String ext = GLES30.glGetStringi(GLES30.GL_EXTENSIONS, i); + if (ext.equals(extension)) + return true; + } + return false; + } + + public int GetVersion() + { + int[] major = new int[1]; + int[] minor = new int[1]; + GLES30.glGetIntegerv(GLES30.GL_MAJOR_VERSION, major, 0); + GLES30.glGetIntegerv(GLES30.GL_MINOR_VERSION, minor, 0); + return major[0] * 100 + minor[0] * 10; + } + + /** + * Simplified call to {@link GL10#glGetIntegerv(int, int[], int) + * + * @param glEnum A symbolic GL constant. + * @return the integer information represented by {@code glEnum}. + */ + public int glGetInteger(int glEnum) + { + int[] val = new int[1]; + mGL.glGetIntegerv(glEnum, val, 0); + return val[0]; + } +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/utils/FileBrowserHelper.java b/src/android/app/src/main/java/org/citra/citra_android/utils/FileBrowserHelper.java new file mode 100644 index 000000000..9752d61dc --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/utils/FileBrowserHelper.java @@ -0,0 +1,59 @@ +package org.citra.citra_android.utils; + +import android.content.Intent; +import android.net.Uri; +import android.os.Environment; +import android.support.annotation.Nullable; +import android.support.v4.app.FragmentActivity; + +import com.nononsenseapps.filepicker.FilePickerActivity; +import com.nononsenseapps.filepicker.Utils; + +import org.citra.citra_android.activities.CustomFilePickerActivity; +import org.citra.citra_android.ui.main.MainPresenter; + +import java.io.File; +import java.util.List; + +public final class FileBrowserHelper +{ + public static void openDirectoryPicker(FragmentActivity activity) + { + Intent i = new Intent(activity, CustomFilePickerActivity.class); + + i.putExtra(FilePickerActivity.EXTRA_ALLOW_MULTIPLE, false); + i.putExtra(FilePickerActivity.EXTRA_ALLOW_CREATE_DIR, false); + i.putExtra(FilePickerActivity.EXTRA_MODE, FilePickerActivity.MODE_DIR); + i.putExtra(FilePickerActivity.EXTRA_START_PATH, + Environment.getExternalStorageDirectory().getPath()); + + activity.startActivityForResult(i, MainPresenter.REQUEST_ADD_DIRECTORY); + } + + public static void openFilePicker(FragmentActivity activity, int requestCode) + { + Intent i = new Intent(activity, CustomFilePickerActivity.class); + + i.putExtra(FilePickerActivity.EXTRA_ALLOW_MULTIPLE, false); + i.putExtra(FilePickerActivity.EXTRA_ALLOW_CREATE_DIR, false); + i.putExtra(FilePickerActivity.EXTRA_MODE, FilePickerActivity.MODE_FILE); + i.putExtra(FilePickerActivity.EXTRA_START_PATH, + Environment.getExternalStorageDirectory().getPath()); + + activity.startActivityForResult(i, requestCode); + } + + @Nullable + public static String getSelectedDirectory(Intent result) + { + // Use the provided utility method to parse the result + List files = Utils.getSelectedFilesFromResult(result); + if (!files.isEmpty()) + { + File file = Utils.getFileForUri(files.get(0)); + return file.getAbsolutePath(); + } + + return null; + } +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/utils/GameBannerRequestHandler.java b/src/android/app/src/main/java/org/citra/citra_android/utils/GameBannerRequestHandler.java new file mode 100644 index 000000000..063808d9f --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/utils/GameBannerRequestHandler.java @@ -0,0 +1,30 @@ +package org.citra.citra_android.utils; + +import android.graphics.Bitmap; + +import com.squareup.picasso.Picasso; +import com.squareup.picasso.Request; +import com.squareup.picasso.RequestHandler; + +import org.citra.citra_android.NativeLibrary; + +import java.nio.IntBuffer; + +public class GameBannerRequestHandler extends RequestHandler +{ + @Override + public boolean canHandleRequest(Request data) + { + return "iso".equals(data.uri.getScheme()); + } + + @Override + public Result load(Request request, int networkPolicy) + { + String url = request.uri.getHost() + request.uri.getPath(); + int[] vector = NativeLibrary.GetBanner(url); + Bitmap bitmap = Bitmap.createBitmap(48, 48, Bitmap.Config.RGB_565); + bitmap.copyPixelsFromBuffer(IntBuffer.wrap(vector)); + return new Result(bitmap, Picasso.LoadedFrom.DISK); + } +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/utils/Java_GCAdapter.java b/src/android/app/src/main/java/org/citra/citra_android/utils/Java_GCAdapter.java new file mode 100644 index 000000000..1538d6c96 --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/utils/Java_GCAdapter.java @@ -0,0 +1,161 @@ +package org.citra.citra_android.utils; + +import android.app.Activity; +import android.app.PendingIntent; +import android.content.Context; +import android.content.Intent; +import android.hardware.usb.UsbConfiguration; +import android.hardware.usb.UsbConstants; +import android.hardware.usb.UsbDevice; +import android.hardware.usb.UsbDeviceConnection; +import android.hardware.usb.UsbEndpoint; +import android.hardware.usb.UsbInterface; +import android.hardware.usb.UsbManager; +import android.widget.Toast; + +import org.citra.citra_android.NativeLibrary; +import org.citra.citra_android.services.USBPermService; + +import java.util.HashMap; +import java.util.Map; + +public class Java_GCAdapter +{ + public static UsbManager manager; + static byte[] controller_payload = new byte[37]; + + static UsbDeviceConnection usb_con; + static UsbInterface usb_intf; + static UsbEndpoint usb_in; + static UsbEndpoint usb_out; + + private static void RequestPermission() + { + Context context = NativeLibrary.sEmulationActivity.get(); + if (context != null) + { + HashMap devices = manager.getDeviceList(); + for (Map.Entry pair : devices.entrySet()) + { + UsbDevice dev = pair.getValue(); + if (dev.getProductId() == 0x0337 && dev.getVendorId() == 0x057e) + { + if (!manager.hasPermission(dev)) + { + Intent intent = new Intent(); + PendingIntent pend_intent; + intent.setClass(context, USBPermService.class); + pend_intent = PendingIntent.getService(context, 0, intent, 0); + manager.requestPermission(dev, pend_intent); + } + } + } + } + else + { + Log.warning("Cannot request GameCube Adapter permission as EmulationActivity is null."); + } + + } + + public static void Shutdown() + { + usb_con.close(); + } + + public static int GetFD() + { + return usb_con.getFileDescriptor(); + } + + public static boolean QueryAdapter() + { + HashMap devices = manager.getDeviceList(); + for (Map.Entry pair : devices.entrySet()) + { + UsbDevice dev = pair.getValue(); + if (dev.getProductId() == 0x0337 && dev.getVendorId() == 0x057e) + { + if (manager.hasPermission(dev)) + return true; + else + RequestPermission(); + } + } + return false; + } + + public static void InitAdapter() + { + byte[] init = {0x13}; + usb_con.bulkTransfer(usb_in, init, init.length, 0); + } + + public static int Input() + { + return usb_con.bulkTransfer(usb_in, controller_payload, controller_payload.length, 16); + } + + public static int Output(byte[] rumble) + { + return usb_con.bulkTransfer(usb_out, rumble, 5, 16); + } + + public static boolean OpenAdapter() + { + HashMap devices = manager.getDeviceList(); + for (Map.Entry pair : devices.entrySet()) + { + UsbDevice dev = pair.getValue(); + if (dev.getProductId() == 0x0337 && dev.getVendorId() == 0x057e) + { + if (manager.hasPermission(dev)) + { + usb_con = manager.openDevice(dev); + + Log.info("GCAdapter: Number of configurations: " + dev.getConfigurationCount()); + Log.info("GCAdapter: Number of interfaces: " + dev.getInterfaceCount()); + + if (dev.getConfigurationCount() > 0 && dev.getInterfaceCount() > 0) + { + UsbConfiguration conf = dev.getConfiguration(0); + usb_intf = conf.getInterface(0); + usb_con.claimInterface(usb_intf, true); + + Log.info("GCAdapter: Number of endpoints: " + usb_intf.getEndpointCount()); + + if (usb_intf.getEndpointCount() == 2) + { + for (int i = 0; i < usb_intf.getEndpointCount(); ++i) + if (usb_intf.getEndpoint(i).getDirection() == UsbConstants.USB_DIR_IN) + usb_in = usb_intf.getEndpoint(i); + else + usb_out = usb_intf.getEndpoint(i); + + InitAdapter(); + return true; + } + else + { + usb_con.releaseInterface(usb_intf); + } + } + + final Activity emulationActivity = NativeLibrary.sEmulationActivity.get(); + if (emulationActivity != null) + { + emulationActivity.runOnUiThread(() -> Toast.makeText(emulationActivity, + "GameCube Adapter couldn't be opened. Please re-plug the device.", + Toast.LENGTH_LONG).show()); + } + else + { + Log.warning("Cannot show toast for GameCube Adapter failure."); + } + usb_con.close(); + } + } + } + return false; + } +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/utils/Log.java b/src/android/app/src/main/java/org/citra/citra_android/utils/Log.java new file mode 100644 index 000000000..c92df416a --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/utils/Log.java @@ -0,0 +1,53 @@ +package org.citra.citra_android.utils; + +import org.citra.citra_android.BuildConfig; + +/** + * Contains methods that call through to {@link android.util.Log}, but + * with the same TAG automatically provided. Also no-ops VERBOSE and DEBUG log + * levels in release builds. + */ +public final class Log +{ + private static final String TAG = "Citra Frontend"; + + private Log() + { + } + + public static void verbose(String message) + { + if (BuildConfig.DEBUG) + { + android.util.Log.v(TAG, message); + } + } + + public static void debug(String message) + { + if (BuildConfig.DEBUG) + { + android.util.Log.d(TAG, message); + } + } + + public static void info(String message) + { + android.util.Log.i(TAG, message); + } + + public static void warning(String message) + { + android.util.Log.w(TAG, message); + } + + public static void error(String message) + { + android.util.Log.e(TAG, message); + } + + public static void wtf(String message) + { + android.util.Log.wtf(TAG, message); + } +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/utils/PermissionsHandler.java b/src/android/app/src/main/java/org/citra/citra_android/utils/PermissionsHandler.java new file mode 100644 index 000000000..77c84c669 --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/utils/PermissionsHandler.java @@ -0,0 +1,72 @@ +package org.citra.citra_android.utils; + +import android.annotation.TargetApi; +import android.app.AlertDialog; +import android.content.Context; +import android.content.DialogInterface; +import android.content.pm.PackageManager; +import android.os.Build; +import android.support.v4.app.FragmentActivity; +import android.support.v4.content.ContextCompat; +import android.widget.Toast; + +import org.citra.citra_android.R; + +import static android.Manifest.permission.WRITE_EXTERNAL_STORAGE; + +public class PermissionsHandler +{ + public static final int REQUEST_CODE_WRITE_PERMISSION = 500; + + @TargetApi(Build.VERSION_CODES.M) + public static boolean checkWritePermission(final FragmentActivity activity) + { + if (android.os.Build.VERSION.SDK_INT < Build.VERSION_CODES.M) + { + return true; + } + + int hasWritePermission = ContextCompat.checkSelfPermission(activity, WRITE_EXTERNAL_STORAGE); + + if (hasWritePermission != PackageManager.PERMISSION_GRANTED) + { + if (activity.shouldShowRequestPermissionRationale(WRITE_EXTERNAL_STORAGE)) + { + showMessageOKCancel(activity, activity.getString(R.string.write_permission_needed), + (dialog, which) -> activity.requestPermissions(new String[]{WRITE_EXTERNAL_STORAGE}, + REQUEST_CODE_WRITE_PERMISSION)); + return false; + } + + activity.requestPermissions(new String[]{WRITE_EXTERNAL_STORAGE}, + REQUEST_CODE_WRITE_PERMISSION); + return false; + } + + return true; + } + + public static boolean hasWriteAccess(Context context) + { + if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) + { + int hasWritePermission = ContextCompat.checkSelfPermission(context, WRITE_EXTERNAL_STORAGE); + return hasWritePermission == PackageManager.PERMISSION_GRANTED; + } + + return true; + } + + private static void showMessageOKCancel(final FragmentActivity activity, String message, + DialogInterface.OnClickListener okListener) + { + new AlertDialog.Builder(activity) + .setMessage(message) + .setPositiveButton(android.R.string.ok, okListener) + .setNegativeButton(android.R.string.cancel, (dialogInterface, i) -> + Toast.makeText(activity, R.string.write_permission_needed, Toast.LENGTH_SHORT) + .show()) + .create() + .show(); + } +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/utils/PicassoUtils.java b/src/android/app/src/main/java/org/citra/citra_android/utils/PicassoUtils.java new file mode 100644 index 000000000..b37d5c375 --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/utils/PicassoUtils.java @@ -0,0 +1,50 @@ +package org.citra.citra_android.utils; + +import android.graphics.Bitmap; +import android.net.Uri; +import android.widget.ImageView; + +import com.squareup.picasso.Picasso; + +import org.citra.citra_android.R; + +import java.io.File; +import java.net.URI; + +public class PicassoUtils +{ + public static void loadGameBanner(ImageView imageView, String screenshotPath, String gamePath) + { + File file = new File(URI.create(screenshotPath.replaceAll(" ", "%20"))); + if (file.exists()) + { + // Fill in the view contents. + Picasso.with(imageView.getContext()) + .load(screenshotPath) + .fit() + .centerCrop() + .noFade() + .noPlaceholder() + .config(Bitmap.Config.RGB_565) + .error(R.drawable.no_banner) + .into(imageView); + } + else + { + Picasso picassoInstance = new Picasso.Builder(imageView.getContext()) + .addRequestHandler(new GameBannerRequestHandler()) + .build(); + + picassoInstance + .load(Uri.parse("iso:/" + gamePath)) + .fit() + .noFade() + .noPlaceholder() + .config(Bitmap.Config.RGB_565) + .error(R.drawable.no_banner) + .into(imageView); + } + + + } +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/utils/SettingsFile.java b/src/android/app/src/main/java/org/citra/citra_android/utils/SettingsFile.java new file mode 100644 index 000000000..9e5003a09 --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/utils/SettingsFile.java @@ -0,0 +1,301 @@ +package org.citra.citra_android.utils; + +import android.support.annotation.NonNull; + +import org.citra.citra_android.model.settings.FloatSetting; +import org.citra.citra_android.model.settings.IntSetting; +import org.citra.citra_android.model.settings.Setting; +import org.citra.citra_android.model.settings.SettingSection; +import org.citra.citra_android.model.settings.StringSetting; +import org.citra.citra_android.services.DirectoryInitializationService; +import org.citra.citra_android.ui.settings.SettingsActivityView; +import org.ini4j.Wini; + +import java.io.BufferedReader; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileReader; +import java.io.IOException; +import java.util.HashMap; +import java.util.Set; + +/** + * A HashMap that constructs a new SettingSection instead of returning null + * when getting a key not already in the map + */ +final class SettingsSectionMap extends HashMap +{ + @Override + public SettingSection get(Object key) + { + if (!(key instanceof String)) + { + return null; + } + + String stringKey = (String) key; + + if (!super.containsKey(stringKey)) + { + SettingSection section = new SettingSection(stringKey); + super.put(stringKey, section); + return section; + } + return super.get(key); + } +} + +/** + * Contains static methods for interacting with .ini files in which settings are stored. + */ +public final class SettingsFile +{ + public static final int SETTINGS_DOLPHIN = 0; + + public static final String FILE_NAME_CONFIG = "config"; + + public static final String SECTION_CONTROLS = "Controls"; + public static final String SECTION_CORE = "Core"; + public static final String SECTION_RENDERER = "Renderer"; + public static final String SECTION_LAYOUT = "Layout"; + public static final String SECTION_AUDIO = "Audio"; + public static final String SECTION_SYSTEM = "System"; + public static final String SECTION_CAMERA = "Camera"; + public static final String SECTION_MISC = "Miscellaneous"; + public static final String SECTION_DEBUGGING = "Debugging"; + public static final String SECTION_WEBSERVICE = "WebService"; + + public static final String KEY_CPU_JIT = "use_cpu_jit"; + + public static final String KEY_HW_RENDERER = "use_hw_renderer"; + public static final String KEY_HW_SHADER = "use_hw_shader"; + public static final String KEY_SHADERS_ACCURATE_MUL = "shaders_accurate_mul"; + public static final String KEY_SHADERS_ACCURATE_GS = "shaders_accurate_gs"; + public static final String KEY_USE_SHADER_JIT = "use_shader_jit"; + public static final String KEY_USE_VSYNC = "use_vsync"; + public static final String KEY_RESOLUTION_FACTOR = "resolution_factor"; + public static final String KEY_FRAME_LIMIT_ENABLED = "use_frame_limit"; + public static final String KEY_FRAME_LIMIT = "frame_limit"; + public static final String KEY_BACKGROUND_RED = "bg_red"; + public static final String KEY_BACKGROUND_BLUE = "bg_blue"; + public static final String KEY_BACKGROUND_GREEN = "bg_green"; + public static final String KEY_STEREOSCOPY = "toggle_3d"; + public static final String KEY_FACTOR_3D = "factor_3d"; + + public static final String KEY_LAYOUT_OPTION = "layout_option"; + public static final String KEY_SWAP_SCREEN = "swap_screen"; + + public static final String KEY_AUDIO_OUTPUT_ENGINE = "output_engine"; + public static final String KEY_ENABLE_AUDIO_STRETCHING = "enable_audio_stretching"; + public static final String KEY_VOLUME = "volume"; + + public static final String KEY_USE_VIRTUAL_SD = "use_virtual_sd"; + + public static final String KEY_IS_NEW_3DS = "is_new_3ds"; + public static final String KEY_REGION_VALUE = "region_value"; + public static final String KEY_INIT_CLOCK = "init_clock"; + public static final String KEY_INIT_TIME = "init_time"; + + public static final String KEY_CAMERA_OUTER_RIGHT_NAME = "camera_outer_right_name"; + public static final String KEY_CAMERA_OUTER_RIGHT_CONFIG = "camera_outer_right_config"; + public static final String KEY_CAMERA_OUTER_RIGHT_FLIP = "camera_outer_right_flip"; + public static final String KEY_CAMERA_OUTER_LEFT_FLIP = "camera_outer_left_flip"; + public static final String KEY_CAMERA_INNER_NAME = "camera_inner_name"; + public static final String KEY_CAMERA_INNER_CONFIG = "camera_inner_config"; + public static final String KEY_CAMERA_INNER_FLIP = "camera_inner_flip"; + + public static final String KEY_LOG_FILTER = "log_filter"; + + private SettingsFile() + { + } + + /** + * Reads a given .ini file from disk and returns it as a HashMap of SettingSections, themselves + * effectively a HashMap of key/value settings. If unsuccessful, outputs an error telling why it + * failed. + * + * @param fileName The name of the settings file without a path or extension. + * @param view The current view. + * @return An Observable that emits a HashMap of the file's contents, then completes. + */ + public static HashMap readFile(final String fileName, + SettingsActivityView view) + { + HashMap sections = new SettingsSectionMap(); + + File ini = getSettingsFile(fileName); + + BufferedReader reader = null; + + try + { + reader = new BufferedReader(new FileReader(ini)); + + SettingSection current = null; + for (String line; (line = reader.readLine()) != null; ) + { + if (line.startsWith("[") && line.endsWith("]")) + { + current = sectionFromLine(line); + sections.put(current.getName(), current); + } + else if ((current != null)) + { + Setting setting = settingFromLine(current, line, fileName); + if (setting != null) + { + current.putSetting(setting); + } + } + } + } + catch (FileNotFoundException e) + { + Log.error("[SettingsFile] File not found: " + fileName + ".ini: " + e.getMessage()); + view.onSettingsFileNotFound(); + } + catch (IOException e) + { + Log.error("[SettingsFile] Error reading from: " + fileName + ".ini: " + e.getMessage()); + view.onSettingsFileNotFound(); + } + finally + { + if (reader != null) + { + try + { + reader.close(); + } + catch (IOException e) + { + Log.error("[SettingsFile] Error closing: " + fileName + ".ini: " + e.getMessage()); + } + } + } + + return sections; + } + + /** + * Saves a Settings HashMap to a given .ini file on disk. If unsuccessful, outputs an error + * telling why it failed. + * + * @param fileName The target filename without a path or extension. + * @param sections The HashMap containing the Settings we want to serialize. + * @param view The current view. + * @return An Observable representing the operation. + */ + public static void saveFile(final String fileName, final HashMap sections, + SettingsActivityView view) + { + File ini = getSettingsFile(fileName); + + Wini writer = null; + try + { + writer = new Wini(ini); + + Set keySet = sections.keySet(); + for (String key : keySet) + { + SettingSection section = sections.get(key); + writeSection(writer, section); + } + writer.store(); + } + catch (IOException e) + { + Log.error("[SettingsFile] File not found: " + fileName + ".ini: " + e.getMessage()); + view.showToastMessage("Error saving " + fileName + ".ini: " + e.getMessage()); + } + } + + @NonNull + private static File getSettingsFile(String fileName) + { + return new File( + DirectoryInitializationService.getUserDirectory() + "/config/" + fileName + ".ini"); + } + + private static SettingSection sectionFromLine(String line) + { + String sectionName = line.substring(1, line.length() - 1); + return new SettingSection(sectionName); + } + + /** + * For a line of text, determines what type of data is being represented, and returns + * a Setting object containing this data. + * + * @param current The section currently being parsed by the consuming method. + * @param line The line of text being parsed. + * @param fileName The name of the ini file the setting is in. + * @return A typed Setting containing the key/value contained in the line. + */ + private static Setting settingFromLine(SettingSection current, String line, String fileName) + { + String[] splitLine = line.split("="); + + if (splitLine.length != 2) + { + Log.warning("Skipping invalid config line \"" + line + "\""); + return null; + } + + String key = splitLine[0].trim(); + String value = splitLine[1].trim(); + + if(value.isEmpty()){ + Log.warning("Skipping null value in config line \"" + line + "\""); + return null; + } + + int file = SETTINGS_DOLPHIN; + + try + { + int valueAsInt = Integer.valueOf(value); + + return new IntSetting(key, current.getName(), file, valueAsInt); + } + catch (NumberFormatException ex) + { + } + + try + { + float valueAsFloat = Float.valueOf(value); + + return new FloatSetting(key, current.getName(), file, valueAsFloat); + } + catch (NumberFormatException ex) + { + } + + return new StringSetting(key, current.getName(), file, value); + } + + /** + * Writes the contents of a Section HashMap to disk. + * + * @param parser A Wini pointed at a file on disk. + * @param section A section containing settings to be written to the file. + */ + private static void writeSection(Wini parser, SettingSection section) + { + // Write the section header. + String header = section.getName(); + + // Write this section's values. + HashMap settings = section.getSettings(); + Set keySet = settings.keySet(); + + for (String key : keySet) + { + Setting setting = settings.get(key); + parser.put(header, setting.getKey(), setting.getValueAsString()); + } + } +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/utils/StartupHandler.java b/src/android/app/src/main/java/org/citra/citra_android/utils/StartupHandler.java new file mode 100644 index 000000000..d54944c02 --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/utils/StartupHandler.java @@ -0,0 +1,31 @@ +package org.citra.citra_android.utils; + +import android.content.Intent; +import android.os.Bundle; +import android.support.v4.app.FragmentActivity; +import android.text.TextUtils; + +import org.citra.citra_android.activities.EmulationActivity; + +public final class StartupHandler +{ + public static void HandleInit(FragmentActivity parent) + { + // Ask the user to grant write permission if it's not already granted + PermissionsHandler.checkWritePermission(parent); + + String start_file = ""; + Bundle extras = parent.getIntent().getExtras(); + if (extras != null) + start_file = extras.getString("AutoStartFile"); + + if (!TextUtils.isEmpty(start_file)) + { + // Start the emulation activity, send the ISO passed in and finish the main activity + Intent emulation_intent = new Intent(parent, EmulationActivity.class); + emulation_intent.putExtra("SelectedGame", start_file); + parent.startActivity(emulation_intent); + parent.finish(); + } + } +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/viewholders/GameViewHolder.java b/src/android/app/src/main/java/org/citra/citra_android/viewholders/GameViewHolder.java new file mode 100644 index 000000000..7599110a7 --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/viewholders/GameViewHolder.java @@ -0,0 +1,40 @@ +package org.citra.citra_android.viewholders; + +import android.support.v7.widget.RecyclerView; +import android.view.View; +import android.widget.ImageView; +import android.widget.TextView; + +import org.citra.citra_android.R; + +/** + * A simple class that stores references to views so that the GameAdapter doesn't need to + * keep calling findViewById(), which is expensive. + */ +public class GameViewHolder extends RecyclerView.ViewHolder +{ + public ImageView imageScreenshot; + public TextView textGameTitle; + public TextView textCompany; + + public String gameId; + + // TODO Not need any of this stuff. Currently only the properties dialog needs it. + public String path; + public String title; + public String description; + public int country; + public String company; + public String screenshotPath; + + public GameViewHolder(View itemView) + { + super(itemView); + + itemView.setTag(this); + + imageScreenshot = itemView.findViewById(R.id.image_game_screen); + textGameTitle = itemView.findViewById(R.id.text_game_title); + textCompany = itemView.findViewById(R.id.text_company); + } +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/viewholders/TvGameViewHolder.java b/src/android/app/src/main/java/org/citra/citra_android/viewholders/TvGameViewHolder.java new file mode 100644 index 000000000..07e37b688 --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/viewholders/TvGameViewHolder.java @@ -0,0 +1,37 @@ +package org.citra.citra_android.viewholders; + +import android.support.v17.leanback.widget.ImageCardView; +import android.support.v17.leanback.widget.Presenter; +import android.view.View; +import android.widget.ImageView; + +/** + * A simple class that stores references to views so that the GameAdapter doesn't need to + * keep calling findViewById(), which is expensive. + */ +public final class TvGameViewHolder extends Presenter.ViewHolder +{ + public ImageCardView cardParent; + + public ImageView imageScreenshot; + + public String gameId; + + // TODO Not need any of this stuff. Currently only the properties dialog needs it. + public String path; + public String title; + public String description; + public int country; + public String company; + public String screenshotPath; + + public TvGameViewHolder(View itemView) + { + super(itemView); + + itemView.setTag(this); + + cardParent = (ImageCardView) itemView; + imageScreenshot = cardParent.getMainImageView(); + } +} diff --git a/src/android/app/src/main/java/org/citra/citra_android/viewholders/TvSettingsViewHolder.java b/src/android/app/src/main/java/org/citra/citra_android/viewholders/TvSettingsViewHolder.java new file mode 100644 index 000000000..40831378a --- /dev/null +++ b/src/android/app/src/main/java/org/citra/citra_android/viewholders/TvSettingsViewHolder.java @@ -0,0 +1,22 @@ +package org.citra.citra_android.viewholders; + +import android.support.v17.leanback.widget.ImageCardView; +import android.support.v17.leanback.widget.Presenter; +import android.view.View; + +public final class TvSettingsViewHolder extends Presenter.ViewHolder +{ + public ImageCardView cardParent; + + // Determines what action to take when this item is clicked. + public int itemId; + + public TvSettingsViewHolder(View itemView) + { + super(itemView); + + itemView.setTag(this); + + cardParent = (ImageCardView) itemView; + } +} diff --git a/src/android/app/src/main/java/org/citra_emu/citra/CitraApplication.java b/src/android/app/src/main/java/org/citra_emu/citra/CitraApplication.java deleted file mode 100644 index 10cb52783..000000000 --- a/src/android/app/src/main/java/org/citra_emu/citra/CitraApplication.java +++ /dev/null @@ -1,13 +0,0 @@ -// Copyright 2018 Citra Emulator Project -// Licensed under GPLv2 or any later version -// Refer to the license.txt file included. - -package org.citra_emu.citra; - -import android.app.Application; - -public class CitraApplication extends Application { - static { - System.loadLibrary("citra-android"); - } -} diff --git a/src/android/app/src/main/java/org/citra_emu/citra/LOG.java b/src/android/app/src/main/java/org/citra_emu/citra/LOG.java deleted file mode 100644 index c52f30b68..000000000 --- a/src/android/app/src/main/java/org/citra_emu/citra/LOG.java +++ /dev/null @@ -1,41 +0,0 @@ -package org.citra_emu.citra; - -public class LOG { - - private interface LOG_LEVEL { - int TRACE = 0, DEBUG = 1, INFO = 2, WARNING = 3, ERROR = 4, CRITICAL = 5; - } - - public static void TRACE(String msg, Object... args) { - LOG(LOG_LEVEL.TRACE, msg, args); - } - - public static void DEBUG(String msg, Object... args) { - LOG(LOG_LEVEL.DEBUG, msg, args); - } - - public static void INFO(String msg, Object... args) { - LOG(LOG_LEVEL.INFO, msg, args); - } - - public static void WARNING(String msg, Object... args) { - LOG(LOG_LEVEL.WARNING, msg, args); - } - - public static void ERROR(String msg, Object... args) { - LOG(LOG_LEVEL.ERROR, msg, args); - } - - public static void CRITICAL(String msg, Object... args) { - LOG(LOG_LEVEL.CRITICAL, msg, args); - } - - private static void LOG(int level, String msg, Object... args) { - StackTraceElement trace = Thread.currentThread().getStackTrace()[4]; - logEntry(level, trace.getFileName(), trace.getLineNumber(), trace.getMethodName(), - String.format(msg, args)); - } - - private static native void logEntry(int level, String file_name, int line_number, - String function, String message); -} diff --git a/src/android/app/src/main/java/org/citra_emu/citra/ui/main/MainActivity.java b/src/android/app/src/main/java/org/citra_emu/citra/ui/main/MainActivity.java deleted file mode 100644 index 5b4f3d3bc..000000000 --- a/src/android/app/src/main/java/org/citra_emu/citra/ui/main/MainActivity.java +++ /dev/null @@ -1,58 +0,0 @@ -// Copyright 2018 Citra Emulator Project -// Licensed under GPLv2 or any later version -// Refer to the license.txt file included. - -package org.citra_emu.citra.ui.main; - -import android.Manifest; -import android.content.pm.PackageManager; -import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.v7.app.AlertDialog; -import android.support.v7.app.AppCompatActivity; - -import org.citra_emu.citra.R; -import org.citra_emu.citra.utils.FileUtil; -import org.citra_emu.citra.utils.PermissionUtil; - -public final class MainActivity extends AppCompatActivity { - - // Java enums suck - private interface PermissionCodes { int INITIALIZE = 0; } - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_main); - - PermissionUtil.verifyPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE, - PermissionCodes.INITIALIZE); - } - - @Override - public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, - @NonNull int[] grantResults) { - switch (requestCode) { - case PermissionCodes.INITIALIZE: - if (grantResults[0] == PackageManager.PERMISSION_GRANTED) { - initUserPath(FileUtil.getUserPath().toString()); - initLogging(); - } else { - AlertDialog.Builder dialog = - new AlertDialog.Builder(this) - .setTitle("Permission Error") - .setMessage("Citra requires storage permissions to function.") - .setCancelable(false) - .setPositiveButton("OK", (dialogInterface, which) -> { - PermissionUtil.verifyPermission( - MainActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE, - PermissionCodes.INITIALIZE); - }); - dialog.show(); - } - } - } - - private static native void initUserPath(String path); - private static native void initLogging(); -} diff --git a/src/android/app/src/main/java/org/citra_emu/citra/utils/FileUtil.java b/src/android/app/src/main/java/org/citra_emu/citra/utils/FileUtil.java deleted file mode 100644 index 5346c5352..000000000 --- a/src/android/app/src/main/java/org/citra_emu/citra/utils/FileUtil.java +++ /dev/null @@ -1,19 +0,0 @@ -// Copyright 2019 Citra Emulator Project -// Licensed under GPLv2 or any later version -// Refer to the license.txt file included. - -package org.citra_emu.citra.utils; - -import android.os.Environment; - -import java.io.File; - -public class FileUtil { - public static File getUserPath() { - File storage = Environment.getExternalStorageDirectory(); - File userPath = new File(storage, "citra"); - if (!userPath.isDirectory()) - userPath.mkdir(); - return userPath; - } -} diff --git a/src/android/app/src/main/java/org/citra_emu/citra/utils/PermissionUtil.java b/src/android/app/src/main/java/org/citra_emu/citra/utils/PermissionUtil.java deleted file mode 100644 index 33c8129e5..000000000 --- a/src/android/app/src/main/java/org/citra_emu/citra/utils/PermissionUtil.java +++ /dev/null @@ -1,32 +0,0 @@ -// Copyright 2019 Citra Emulator Project -// Licensed under GPLv2 or any later version -// Refer to the license.txt file included. - -package org.citra_emu.citra.utils; - -import android.app.Activity; -import android.content.pm.PackageManager; -import android.support.v4.app.ActivityCompat; -import android.support.v4.content.ContextCompat; - -public class PermissionUtil { - - /** - * Checks a permission, if needed shows a dialog to request it - * - * @param activity the activity requiring the permission - * @param permission the permission needed - * @param requestCode supplied to the callback to determine the next action - */ - public static void verifyPermission(Activity activity, String permission, int requestCode) { - if (ContextCompat.checkSelfPermission(activity, permission) == - PackageManager.PERMISSION_GRANTED) { - // call the callback called by requestPermissions - activity.onRequestPermissionsResult(requestCode, new String[] {permission}, - new int[] {PackageManager.PERMISSION_GRANTED}); - return; - } - - ActivityCompat.requestPermissions(activity, new String[] {permission}, requestCode); - } -} diff --git a/src/citra_android/jni/CMakeLists.txt b/src/android/app/src/main/jni/CMakeLists.txt similarity index 100% rename from src/citra_android/jni/CMakeLists.txt rename to src/android/app/src/main/jni/CMakeLists.txt diff --git a/src/citra_android/jni/button_manager.cpp b/src/android/app/src/main/jni/button_manager.cpp similarity index 99% rename from src/citra_android/jni/button_manager.cpp rename to src/android/app/src/main/jni/button_manager.cpp index f8f4890c1..fcacc9d88 100644 --- a/src/citra_android/jni/button_manager.cpp +++ b/src/android/app/src/main/jni/button_manager.cpp @@ -9,12 +9,12 @@ #include #include #include -#include "citra_android/jni/button_manager.h" #include "common/logging/log.h" #include "common/math_util.h" #include "common/param_package.h" #include "input_common/main.h" #include "input_common/sdl/sdl.h" +#include "jni/button_manager.h" namespace InputManager { diff --git a/src/citra_android/jni/button_manager.h b/src/android/app/src/main/jni/button_manager.h similarity index 100% rename from src/citra_android/jni/button_manager.h rename to src/android/app/src/main/jni/button_manager.h diff --git a/src/citra_android/jni/config.cpp b/src/android/app/src/main/jni/config.cpp similarity index 98% rename from src/citra_android/jni/config.cpp rename to src/android/app/src/main/jni/config.cpp index c36ae2d8f..046830dbb 100644 --- a/src/citra_android/jni/config.cpp +++ b/src/android/app/src/main/jni/config.cpp @@ -8,9 +8,6 @@ #include #include -#include "citra_android/jni/button_manager.h" -#include "citra_android/jni/config.h" -#include "citra_android/jni/default_ini.h" #include "common/file_util.h" #include "common/logging/log.h" #include "common/param_package.h" @@ -18,6 +15,9 @@ #include "core/settings.h" #include "input_common/main.h" #include "input_common/udp/client.h" +#include "jni/button_manager.h" +#include "jni/config.h" +#include "jni/default_ini.h" Config::Config() { // TODO: Don't hardcode the path; let the frontend decide where to put the config files. diff --git a/src/citra_android/jni/config.h b/src/android/app/src/main/jni/config.h similarity index 100% rename from src/citra_android/jni/config.h rename to src/android/app/src/main/jni/config.h diff --git a/src/citra_android/jni/default_ini.h b/src/android/app/src/main/jni/default_ini.h similarity index 100% rename from src/citra_android/jni/default_ini.h rename to src/android/app/src/main/jni/default_ini.h diff --git a/src/citra_android/jni/emu_window/emu_window.cpp b/src/android/app/src/main/jni/emu_window/emu_window.cpp similarity index 93% rename from src/citra_android/jni/emu_window/emu_window.cpp rename to src/android/app/src/main/jni/emu_window/emu_window.cpp index 6965f43fe..cd5b0d632 100644 --- a/src/citra_android/jni/emu_window/emu_window.cpp +++ b/src/android/app/src/main/jni/emu_window/emu_window.cpp @@ -6,9 +6,6 @@ #include #include #include -#include "citra_android/jni/button_manager.h" -#include "citra_android/jni/emu_window/emu_window.h" -#include "citra_android/jni/ndk_helper/GLContext.h" #include "common/logging/log.h" #include "common/scm_rev.h" #include "common/string_util.h" @@ -17,6 +14,9 @@ #include "input_common/keyboard.h" #include "input_common/main.h" #include "input_common/motion_emu.h" +#include "jni/button_manager.h" +#include "jni/emu_window/emu_window.h" +#include "jni/ndk_helper/GLContext.h" #include "network/network.h" void EmuWindow_Android::OnSurfaceChanged(ANativeWindow* surface) { diff --git a/src/citra_android/jni/emu_window/emu_window.h b/src/android/app/src/main/jni/emu_window/emu_window.h similarity index 97% rename from src/citra_android/jni/emu_window/emu_window.h rename to src/android/app/src/main/jni/emu_window/emu_window.h index 4e7a8686d..317a0bda8 100644 --- a/src/citra_android/jni/emu_window/emu_window.h +++ b/src/android/app/src/main/jni/emu_window/emu_window.h @@ -6,8 +6,8 @@ #include #include -#include "citra_android/jni/ndk_helper/GLContext.h" #include "core/frontend/emu_window.h" +#include "jni/ndk_helper/GLContext.h" class EmuWindow_Android : public Frontend::EmuWindow { public: diff --git a/src/citra_android/jni/game_info.cpp b/src/android/app/src/main/jni/game_info.cpp similarity index 98% rename from src/citra_android/jni/game_info.cpp rename to src/android/app/src/main/jni/game_info.cpp index 48d47cf6d..7ad400635 100644 --- a/src/citra_android/jni/game_info.cpp +++ b/src/android/app/src/main/jni/game_info.cpp @@ -6,12 +6,12 @@ #include #include -#include "citra_android/jni/game_info.h" #include "common/string_util.h" #include "core/hle/service/am/am.h" #include "core/hle/service/fs/archive.h" #include "core/loader/loader.h" #include "core/loader/smdh.h" +#include "jni/game_info.h" namespace GameInfo { std::vector GetSMDHData(std::string physical_name) { diff --git a/src/citra_android/jni/game_info.h b/src/android/app/src/main/jni/game_info.h similarity index 100% rename from src/citra_android/jni/game_info.h rename to src/android/app/src/main/jni/game_info.h diff --git a/src/citra_android/jni/native.cpp b/src/android/app/src/main/jni/native.cpp similarity index 98% rename from src/citra_android/jni/native.cpp rename to src/android/app/src/main/jni/native.cpp index 3049b278d..129a2053f 100644 --- a/src/citra_android/jni/native.cpp +++ b/src/android/app/src/main/jni/native.cpp @@ -12,12 +12,6 @@ #include #include -#include "../../common/file_util.h" -#include "citra_android/jni/button_manager.h" -#include "citra_android/jni/config.h" -#include "citra_android/jni/emu_window/emu_window.h" -#include "citra_android/jni/game_info.h" -#include "citra_android/jni/native.h" #include "common/common_paths.h" #include "common/file_util.h" #include "common/logging/backend.h" @@ -34,6 +28,11 @@ #include "core/loader/loader.h" #include "core/movie.h" #include "core/settings.h" +#include "jni/button_manager.h" +#include "jni/config.h" +#include "jni/emu_window/emu_window.h" +#include "jni/game_info.h" +#include "jni/native.h" #include "network/network.h" #include "video_core/renderer_base.h" #include "video_core/video_core.h" diff --git a/src/citra_android/jni/native.h b/src/android/app/src/main/jni/native.h similarity index 100% rename from src/citra_android/jni/native.h rename to src/android/app/src/main/jni/native.h diff --git a/src/citra_android/jni/ndk_helper/CMakeLists.txt b/src/android/app/src/main/jni/ndk_helper/CMakeLists.txt similarity index 100% rename from src/citra_android/jni/ndk_helper/CMakeLists.txt rename to src/android/app/src/main/jni/ndk_helper/CMakeLists.txt diff --git a/src/citra_android/jni/ndk_helper/GLContext.cpp b/src/android/app/src/main/jni/ndk_helper/GLContext.cpp similarity index 100% rename from src/citra_android/jni/ndk_helper/GLContext.cpp rename to src/android/app/src/main/jni/ndk_helper/GLContext.cpp diff --git a/src/citra_android/jni/ndk_helper/GLContext.h b/src/android/app/src/main/jni/ndk_helper/GLContext.h similarity index 100% rename from src/citra_android/jni/ndk_helper/GLContext.h rename to src/android/app/src/main/jni/ndk_helper/GLContext.h diff --git a/src/citra_android/jni/ndk_helper/gl3stub.c b/src/android/app/src/main/jni/ndk_helper/gl3stub.c similarity index 100% rename from src/citra_android/jni/ndk_helper/gl3stub.c rename to src/android/app/src/main/jni/ndk_helper/gl3stub.c diff --git a/src/citra_android/jni/ndk_helper/gl3stub.cpp b/src/android/app/src/main/jni/ndk_helper/gl3stub.cpp similarity index 100% rename from src/citra_android/jni/ndk_helper/gl3stub.cpp rename to src/android/app/src/main/jni/ndk_helper/gl3stub.cpp diff --git a/src/citra_android/jni/ndk_helper/gl3stub.h b/src/android/app/src/main/jni/ndk_helper/gl3stub.h similarity index 100% rename from src/citra_android/jni/ndk_helper/gl3stub.h rename to src/android/app/src/main/jni/ndk_helper/gl3stub.h diff --git a/src/android/app/src/main/res/animator/button_elevation.xml b/src/android/app/src/main/res/animator/button_elevation.xml new file mode 100644 index 000000000..b6a0974a0 --- /dev/null +++ b/src/android/app/src/main/res/animator/button_elevation.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/src/android/app/src/main/res/animator/menu_slide_in_from_left.xml b/src/android/app/src/main/res/animator/menu_slide_in_from_left.xml new file mode 100644 index 000000000..4612aee13 --- /dev/null +++ b/src/android/app/src/main/res/animator/menu_slide_in_from_left.xml @@ -0,0 +1,20 @@ + + + + + + + + \ No newline at end of file diff --git a/src/android/app/src/main/res/animator/menu_slide_in_from_right.xml b/src/android/app/src/main/res/animator/menu_slide_in_from_right.xml new file mode 100644 index 000000000..3f1495c75 --- /dev/null +++ b/src/android/app/src/main/res/animator/menu_slide_in_from_right.xml @@ -0,0 +1,20 @@ + + + + + + + + \ No newline at end of file diff --git a/src/android/app/src/main/res/animator/menu_slide_out_to_left.xml b/src/android/app/src/main/res/animator/menu_slide_out_to_left.xml new file mode 100644 index 000000000..0e21cf848 --- /dev/null +++ b/src/android/app/src/main/res/animator/menu_slide_out_to_left.xml @@ -0,0 +1,21 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/android/app/src/main/res/animator/menu_slide_out_to_right.xml b/src/android/app/src/main/res/animator/menu_slide_out_to_right.xml new file mode 100644 index 000000000..78edf872c --- /dev/null +++ b/src/android/app/src/main/res/animator/menu_slide_out_to_right.xml @@ -0,0 +1,21 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/android/app/src/main/res/animator/settings_enter.xml b/src/android/app/src/main/res/animator/settings_enter.xml new file mode 100644 index 000000000..23ba7b802 --- /dev/null +++ b/src/android/app/src/main/res/animator/settings_enter.xml @@ -0,0 +1,28 @@ + + + + + + + + + + \ No newline at end of file diff --git a/src/android/app/src/main/res/animator/settings_exit.xml b/src/android/app/src/main/res/animator/settings_exit.xml new file mode 100644 index 000000000..fece2c34e --- /dev/null +++ b/src/android/app/src/main/res/animator/settings_exit.xml @@ -0,0 +1,28 @@ + + + + + + + + + + \ No newline at end of file diff --git a/src/android/app/src/main/res/animator/settings_pop_enter.xml b/src/android/app/src/main/res/animator/settings_pop_enter.xml new file mode 100644 index 000000000..36c8a27e7 --- /dev/null +++ b/src/android/app/src/main/res/animator/settings_pop_enter.xml @@ -0,0 +1,28 @@ + + + + + + + + + + \ No newline at end of file diff --git a/src/android/app/src/main/res/animator/setttings_pop_exit.xml b/src/android/app/src/main/res/animator/setttings_pop_exit.xml new file mode 100644 index 000000000..dd16018f2 --- /dev/null +++ b/src/android/app/src/main/res/animator/setttings_pop_exit.xml @@ -0,0 +1,27 @@ + + + + + + + + + + \ No newline at end of file diff --git a/src/android/app/src/main/res/color/button_text_color.xml b/src/android/app/src/main/res/color/button_text_color.xml new file mode 100644 index 000000000..f8c103e03 --- /dev/null +++ b/src/android/app/src/main/res/color/button_text_color.xml @@ -0,0 +1,9 @@ + + + + + + diff --git a/src/android/app/src/main/res/drawable-hdpi/button_a.png b/src/android/app/src/main/res/drawable-hdpi/button_a.png new file mode 100644 index 0000000000000000000000000000000000000000..bd76083b92f00e327b69bae25c4430a36dd11651 GIT binary patch literal 7081 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 Tami&o00000NkvXXu0mjf3WGm# literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-hdpi/button_a_pressed.png b/src/android/app/src/main/res/drawable-hdpi/button_a_pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..46a1010230c7b685c4d5f2b30fd14b620949e1ed GIT binary patch literal 7019 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

} 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 literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-hdpi/button_home_pressed.png b/src/android/app/src/main/res/drawable-hdpi/button_home_pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..611a493f8ed7f862c829827eec9e39b294cdc842 GIT binary patch literal 8127 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 Qha`ZKoVsjN)PoU6%c;0RXTagGRb- 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 literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-hdpi/button_l_pressed.png b/src/android/app/src/main/res/drawable-hdpi/button_l_pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..40872bea0586cac444de0ffd2fe6f69bdbfa5fc1 GIT binary patch literal 2279 zcmb7Gc{J1w7yglL2BEyRN|Z!m7-bn{GWKj4QppL?Ej|GYQ;jUEXwl&bz0vNH+2HKB1c3*uXZT5MPAUmIA;TYGsW95^+mIf+ddVQwf77%E z=w#vL&{Gr7h}9#Bg92%p-I%%f#XOZ=ubsKXh}moL=Ljk56rH0`QH!?SeD~mL+^+ia z%u|6|TK@(#4Kbgo-@yR_4n?rX#?>=}EF9CfLW1RF2YR1wTA|3UlzMfFc5G%9XRCoS z6YuNA(iC#b$^N(b0}ul3^O{KZkC+pE=yx!TVV?WbHJt0Gv|OQqfyeK<-o~+%g0CmT z$}j(lQ!Cy-Y!=VYrXDr=!E1^~gq3>;i&;&Q-xYc?(sDWgMZiFfDLn3$R*!0}deb(h zXg@FbSAaV&!SOxg8k^}yzn%hW{HC6%G%{&;fXmT9Z7rRsC6cc)h#sfK&OVwUB@Tn< z+6F^MS7Q4+cQ%)7ePm=1hQyIHQH-N)3nX9=Es8rlnh5o{8dE+sH@lk5bFugaZ`&|E zXt7PlHQJguV$1ONXN|P16N;Q{opgB$L!D_of3b0rE&vi@$!7#mBYQvN&-181JD8G} z5JDv6xTm_`ya+`Zm6>5wwV4aMwe_5+nd6NVHxcpfzIoE~_`=l3(QDzW!>*=zww2PS zJo%8&uONHrlLg0 zAMTQB=!4Qt;!N;vQ)d$@YSHYMh5W&`l;x=#EBE#$DhJP)d1^Axg;TglE}>ZqMPZJh zt>Sxi6K@viKlbn}w65my^g+niU zlslkO$ST_4bghwuH2?~IKs}_dI$G}uCUl4uV8lpyH7&}g4JC>bu0q&Igo*X0=$hU+1Gq|beLB5&RCkyjIBut9kITsimNW% zdsPJ$b>#t=FuHDLmGdiMIA{X_3TSXcn&o+9MM~=t4PEXA3>JWgrm1FC@I1(2r1LaFvilE~jRnurxCIC6k_BN9%Ta0#`8`&Fn)_?-h1>`>5>& zrw~aL@(H#F5ErvPp(7<+wykc^OVHC`%OI7liv%S_2~NE;c<*F4vPcSi-ARu~*KC}& zs`O^Vz;W3l-V`&6iEvlD&;T;F8c8v*MK3jQ3=CM-S~Y^YNTFEf$+LFxC7n z&KN?lqU6%v6vs@TJKM^9w}@sfOAi*`pOJeK@y)WRu-4?EGMQR-fSp>qf7)wR?gvwZ zd7n+#2u~FM6l?kOvanBks0}Gs@Wz3uGJi=-o6pb8q;1bLAQbK;qedCH%a!+&*n2~9 zNa;$>HkJk#jw!xeyvcspmL!~w%!u;rhgk1WK&-~lUy!P^_W)6$&T0Ilca%j)r&UU8Qy2VZ_tgtIZMN_jHWI@SOCb062t%ZRY14~^b8qes)|%UP|e zN>oKaTgazfb`1LPxvYG|?VsC?GaC>rH30zz2qk@w`j4!TwT2xCBoX~#v)!dIq}I+T zq_#xyhu2ho&<7pog^GY``&Y|#k3P8lRbP|rDKp$c{<4~aTJX8esX1StW`5EMZY&sE z+ZrUxbkQQ^6Vak?{CiHs@5`Q6JDHqQqtw){{UvZs-lFcX%MthYEoWr8btou53$1&T z@%z(F)*8r)f0zEa6uuNLFRo@1=e!>#@^<{E9^LICFK1GRk|T(3lYpes{l{xsv-UI>gX=uQz4>NE2FkB zjP!r_VqY7GkjTaasW)-h!$di}#=8AUN8R~uH))yXt>FW~DV&h1Uw>WZXzvqXwX@92 zd~(=oJV9Ji(bKgs<(AgM*Jd23|o=f+_vxAVvGJN z+9*_OQ)hCMCLOYy22Wp`91zLQ;a=%z9^1P!ouM=xi}YW;Rs>j1f0>Aj)Bh^L-CBkH z6?b6rY;UxF9M%FG6>!|;RQ|Z&DvEcHu6}!cJUQ*|orid*+ZQSpq8?@#G|fZkI(3Z# z`z9Cu6-t|j8B7999)=7BmC@rvf5}(d!q?u$*8yhd?Ql#0R9-ATxFIUpTu>;t`s4u8H6KwsNfs|I2H_kRH2<~tGq literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-hdpi/button_r.png b/src/android/app/src/main/res/drawable-hdpi/button_r.png new file mode 100644 index 0000000000000000000000000000000000000000..04d27f82f45612d599984c534f4b7cef0e8b63ab GIT binary patch literal 2842 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 O084WO?75kH!hZl;luRxF literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-hdpi/button_r_pressed.png b/src/android/app/src/main/res/drawable-hdpi/button_r_pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..bdbf9f78650b9ff6ef801a116ab53f6127080e45 GIT binary patch literal 2756 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 literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-hdpi/button_select.png b/src/android/app/src/main/res/drawable-hdpi/button_select.png new file mode 100644 index 0000000000000000000000000000000000000000..efec90ade1434bc260fe222166fd4ed3e44b8b21 GIT binary patch literal 7646 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%0AM$X8Xmn@D+U2RK+9 zfZZI%TbF^dlY))kn*BPT-l#jH6~al>&%u##Z-*%C`Rf>}O{oY|QBcc2{M3?BwwO zEo>|-9EIpt=w&*tW3sRRW_AvhAWH|}Gk#l_fike)L7ZO=XC4aEMtbV?f%A4h8+pZ~ z&-{2t@w;T@#m=pA;`T$h1SlNFU`hi~&Qw!VKsqTVkw>h<5kRt^*k z5r(HO{->t5UyL0YH1ZiQ6pzu0(VM(S>x4SEp<3RL!cU4f4VSXEe@bt?NHb#ZrH zTuPRrI7Rp=&Klo_RBiRs!d^C&^3l??`$ue|wVod>nf*Q@JXP9#bY=%KL=K?xjf<#|3T{o|!lm?u!`?Yl+S{}kS4^GNV2oj&1deAwy`45R(q zIKJvcJX(x<)*GdZI+VO(gkY;g*wX004J#3&By$V6T1lx6wHo$Ftl3z$)%V zn?Pr6m%@C7DeUJzM;dlj1^`&dgE;7!B#OwuP7B+3x*YT4M46oVX{={9XE7!`2nIeJ z{Dxnb=W?QK(UgNPa}9wBZ4D%X7Q+18Y_H2$0|0O%w_%|dCZrrlY&5fvpK!K(7ZqjB zC(PzvE~I+`I;IjoDzEZC<-M#ZdqPL$i(HRZlSkYZX1;^04QA z=38hY&Q>;6?sPp-;iUd`+&~+_l8+1>PqD5aggcwC&pEm3gdA;JN6 zu&df%FUF*`!NyfAVJ==`#78jdzWl7W;z4kVkJ!brvA78_hP@>nEZ}lxU?(zgWJq;c z??$DUBkbnGv9n8JjGKED=5q=2n2M7)Nm3QJ4Hj&;5cG1Kz3iiVY#AWNMR%2jicd@#F}LaoAs|(9BHQnL;~WoH$WPp_3js%|;F!Mw@%gRR2pESnVn*Nn*t4 zxB^5tyw9tT`27EZMVnszo!7{*bkQn_Z9Sxj&rV$}TfIfnB(p8Bh z@?-&Eh@5zEVKmY&$ M07*qoM6N<$f}|x|&;S4c literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-hdpi/button_select_pressed.png b/src/android/app/src/main/res/drawable-hdpi/button_select_pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..6c2564489b0e98e7ede026427b2160e39014ae14 GIT binary patch literal 5882 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 Q%>V!Z07*qoM6N<$f-tV~KmY&$ literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-hdpi/button_start.png b/src/android/app/src/main/res/drawable-hdpi/button_start.png new file mode 100644 index 0000000000000000000000000000000000000000..0c2f395b8cc7fb0e271d6d9092f8705cd32b7a0f GIT binary patch literal 8549 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 literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-hdpi/button_start_pressed.png b/src/android/app/src/main/res/drawable-hdpi/button_start_pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..6be57cddc2c962cfa226cfaacdad1f829d0cf21b GIT binary patch literal 8250 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

k7+6O<&ar1OCB?P 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 iqp1ajtod4<<(k#1BlTp!uvGg` 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 literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xhdpi/button_x_pressed.png b/src/android/app/src/main/res/drawable-xhdpi/button_x_pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..bbd92dd7aa62dba11ccbbbdf51511557cd5472c3 GIT binary patch literal 9514 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 literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xhdpi/button_y.png b/src/android/app/src/main/res/drawable-xhdpi/button_y.png new file mode 100644 index 0000000000000000000000000000000000000000..6a047253399920b0b447e3a0cc6af87c415f08cc GIT binary patch literal 9654 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

K2<& z{ZXXWY`-6S_m*pJ-R~yV)qk)up1x1R5W}wHVekwo?7kh3hN5IY)9`}qUrMW;z zsTTOs=CVZ@_7LGt`=hk<1Bd}-f7*Z9ZKa5uS?>MI3z9HcQ~qq?rjU7FC~{`CZ-3;! zT6_1QzpHvV-r_Oh6h`H|CUNv0&3#dZ=28@_J!Tpyp208p)+J5;78J~m7E)#ajJw}T z1vsYbJP8saCfD4p3P-LUT%V@~8Y_UX0!G#Us4Du^rce0&W} zQ(tcqMn_ysP-uT#E&DLfk9-z=+aj_Cb(wcgRR z0xvA)`6c+QI&SJCO41T;HkL?D98xE;;L`faUErGk%Oq^RJA#C?PPbqRsJO|x2vJEX zm49qYD~ptW^tnBw>(QKLo0I_qinh{>^!7fk+s8u&EmAp7M#$`}DKgmhh5~MYEJ;mv z*b`Y@IE zm>x$zX=m={T><773+&^l2~>6!9|#gh(WbJIX9FIe5i^Du5sJI&)2MNp1$z~!4~J^f z7qtf+I^+ii(5Ojs7_QBf(jcX*J(EV1;SuF-UDfc_>eEJDKxpuplOe3W&_BfI-rsi? zFox4#R~~7@fCQlvy85HZg+pUJXbwkYC=_&!XAe1L!xP4@!Bv2VJBl%M`?dz22;_t+ zd06)Y10~)Ob#&y9xI~7%)F8h>!$N)PoN^@1E9;izXZ@!cYA1VpV4#7yKdj zoux#M8?Ufij)28`6~Xn5BtOhw(0IDl_}A$sl}Umv?Z-1$L6GEWW%xd4Yv(!lHkbu*fkzlfw{eD1x5iHNRyiIS;gW-4xF9own7|VqkK-adS z(C>}TG*u{c!{IE3oFGYWB{3igS9RsjOk47}{cgaCUv1l7(ayC9#wCfd+kf2nE7H=K zWDERLgyx4*kK6VZevbZUA-FSNdgPi=8HkPH;} zZl39^+-S{G-P`9b8jOg+y7TK>cK9}deF3t=Q2 zCz&Vc1z*=^<13LviXE)`qsu>O3o1yB;R;o>=HFa6V6;!JbE^2IqpF=Y6gO`i|EaHa zZ!UzdX~fV*`DHF**8+g#u-vkM+WY8%i;{v3Qi^AdzbVhJ8ErF;&|-5~T1!5LN%&L8 zmmjd2+g}cuN}bf)1~Kol)7~J%JtUfT%BrPssP+6p_DvOVQVIFysx(^{%Ijw`KBr&l z&+{2Taycv?Zl9{~h!4M*daB_!2SGE2t`22Tc-^*$s;fH5XnJ_IiN^z`T8FV#_IcCY zwGeDJ_}-}@kL45gwYtcbTy4)c7eP|rug%KJXAX;8f*(?gXunjM?0{I{Xuz$9+HBsfO>~tNocWg=Oml@x8VxUg*Vl#gu(= z?_8TA8o)R4>FOXLOE4=rGIC78$jj2eJ|Gl(8~jLi2i37Mb|txPJd>d|VI9?lGhmB} zm!){Z!d@zVyRv$tQH>=o-P5J_E@X9B??g=i%GbL55EE_pNq|Qc%)XmxU${Yx~ zv?h#0GBJOHwwj`PgE?D@1AyO>YdP{IoZI(V5m59kf6;12LrZp-q-*>3eve}Q#pOx$ z&GSRgX{FMsmsf0Nljrfg6+bP0!~v#B)%|m$YTEckv$91?skKW1muv1e&K2E}+zetr zempgIm2)$Hw_m$k<&de-dhNJyu-;=hwOkV>-RqpU^V3K(jr+7?y@6YW1m}rQ3(LX# zPlgr#Vm_iiabi)nB6UpM@3=lv=$_B_J}_qia$0V^N^(jhU*+~^bV1qij}3L9aluAi z4ml-J#o&a~pF5QO-rbWos-jPxOr)IL!dYFOmx~_MzB^^9$ZO>#TtRS)@?8mT%e~&D zI+XAKfC|yle>h2)6f_?E;#aB6l{S+VFyzxk=~ffOH1Zy#rZE*_TrVTQvGd+`<(y1@ z4%vTA^|=N~Auf0D}jtu^f9eyh_RykDUK~+4RP38#hnjSM^?&mgV!OA2r!H`f5P~*CW+xGB6elx zDv>cXZiZiY1Z!@B1A?XQbdHcHI*C+ZjyN!vRG)i>_kSqTMX6G-C#PN+AnPX|;&R`$ zalx;6BBa71Y`U$fk~sn5r>go#aYnfXFmcv|iEx}GbWQzsf4OQBasmfMA#(Z+TQ_~p zPrifNFHyY;)Xh_V*&1w3yK*ICA^}3+R1M{Yme_z-YcOIquP*u+FO#?b9ko0$ci)NU zp#Yk4Cb3Bo)5Orv)Crp7Bp1onN+a0zs(-~H6PSnSmw>N6~?@jC`?mC=ezEf~V z&|K>v11>6@J#dni#_La1>ju;NmT>RHqFUn=HvJsqI1G^@qO`Md=DP9gxMU_qhFd@shF(?dji~P!sYaD6o z51tYE*1oFPf4oSAG-h&yB8cK0GAhMWX5Zu5J{pHIzPFIwkxWhoTmR*>4${A}%o^Zk zsAdXLZW%3xF;n>y+zBgq^AwwICHaZ}rf#@2rpN3uZQ-YhZjorddXN9>Oqr9>2Slk-|lB0A94Na6nGmJ3#N zpvgml*BAs@%204L*iT1E2Yl%EuZ;!$9xHbpEWpyW*Z6{xzj%O_HN)cp3Hc6)%z}yO z!ZhN?(@t9pk&f;2=Z!U|)?oTIjyZjUsRr4^Dbre^X~=Qq&Ao#iCY`|fgLB)toh||f z8UAz8T|2_A?of>2mE-wcG+e3*nR?#bWKq4;O*j=sLEQc_-XYqVOYrdJG-R~7&F=iO z2iu7}T1sE2aKp=1)%9~sky{8nFymwr5>~1)Ua>bX9(Ic3HRZ{jJ#i$}Xe((IMZC14 zz~J`>#AZkCK{*nD?feiXa>9sQkB-&*Yawsc(4w8NH7d_9=lq+1$tQB2UL^ykyQkmh z-*(s#ldqC-*`B${MD7DH@o>-vyUde=qGuNc!Amaxq)u35D#SI7e5Fch>Nf<) z7kkbfoF>^0>lB$KDVslqS*@6NNVsL{hY0#~Pi+uiUX4dHKHwA?P#_&Nb9*vhnGRb# zuz=W2EzSrRWrvt6zV=;ovg_YaOL1-0$X}P;&-!fN=PwW9W6jZyI-DrVKlH&5Q`I|6 z`QbMBDl1@DA=IRvN24k8aZ^Tfj&2I(G58y&$_jgA=n_7ZjacZI0r}l;>N!`~mQOw{ z1^sd$>5v-nF#U*n)J;XC@x^}RU!iDu;#$8~L8nwzhNeGy`SwFRvP3F3?b-0{S-x{C z?R=%a){73@WA#!jL~J`e;^ixEO9vGyVoO-H*=uas{yC7?zES&Y5B-;o_Y+&#rrZ_R zs{iz&+E}`Rjq&mq5gWD`&qK#n%lGZ|ZpM!rZh{IWFT(FuCj|-$JNc1S|35O_uigGY z3VU~us*)QGd!7x*rtA5`*d}1tig{dE+H$fuqxKQa>w&lAme`oO{o;B80Is5{*8c2l z$WctMhTD%>S&HN;X=T@EmSu$RqP-+YAbi4f%j>3R9uFDzX9#E7(``l-b-(U^$RN5#F*Y|4)T zA|8~)``M9E_bgF7_l-Kw;tnp9nw&L?;_&WwUcOw`@-wHLW%pxZW#}W}5quNf@_>_RKe2|GktXgUNdz*4xJdJiQg6dO!gM zOQgM1dB7pS^7`$oLH^PgBKLdkB{-mz^aOGJwLvqnwk0`c@AUFbD{@K(xHHy2V(w?w z$V{|ST(6Rgg4=weLE9w)np)|gIEL>^4D7mbIMIR2sh}Z#gjn?8eHx)*;z^x9_a$8& zKcaol7r)-(>n=^`n{-ND-Q_Lu_^X=u+uQg%$lCcj+!;VjMD(GMh`5l5w4tb!tfaK8 zxaeJ3Rz$>xd;InP0eE=XyEumYFF;I4Ov+GHMpjZ>R{THk9e`l!a_tVl@E^ldFGv3% n8(#-N$==J>fnC$X#>v6J!NxwsXVBrlWGX;YRZpc(84>kA25}qt literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xhdpi/button_y_pressed.png b/src/android/app/src/main/res/drawable-xhdpi/button_y_pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..757e20ee5d0c028e96b78f5df21b2465c4995f0b GIT binary patch literal 9559 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 literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xhdpi/button_zl.png b/src/android/app/src/main/res/drawable-xhdpi/button_zl.png new file mode 100644 index 0000000000000000000000000000000000000000..a7604e31d49c17b0a20b3452b6a337fea146387d GIT binary patch literal 5989 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 literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xhdpi/button_zl_pressed.png b/src/android/app/src/main/res/drawable-xhdpi/button_zl_pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..9dc62442d8e14ca9da748d4a77a60e536d0dc74b GIT binary patch literal 5741 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 literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xhdpi/button_zr.png b/src/android/app/src/main/res/drawable-xhdpi/button_zr.png new file mode 100644 index 0000000000000000000000000000000000000000..657e120afbb50921940dd1ebc77cff1e5a665f50 GIT binary patch literal 6498 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 literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xhdpi/button_zr_pressed.png b/src/android/app/src/main/res/drawable-xhdpi/button_zr_pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..33e8a3a0c15ad52e4ce9e8a1090d173b6d4c19fb GIT binary patch literal 6280 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 literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xhdpi/dpad.png b/src/android/app/src/main/res/drawable-xhdpi/dpad.png new file mode 100644 index 0000000000000000000000000000000000000000..fb04fd3fe1bafba8ccbc996e91f9445e1b796d3a GIT binary patch literal 3975 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 literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xhdpi/dpad_pressed_one_direction.png b/src/android/app/src/main/res/drawable-xhdpi/dpad_pressed_one_direction.png new file mode 100644 index 0000000000000000000000000000000000000000..7cf85d806e944bffa557f5caea7d115e0ccb343d GIT binary patch literal 5911 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 literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xhdpi/ic_add.png b/src/android/app/src/main/res/drawable-xhdpi/ic_add.png new file mode 100644 index 0000000000000000000000000000000000000000..eb6e9be684c6d9828bcd1e216c292bfefa976ad8 GIT binary patch literal 114 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 literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xhdpi/ic_refresh.png b/src/android/app/src/main/res/drawable-xhdpi/ic_refresh.png new file mode 100644 index 0000000000000000000000000000000000000000..8f8b3743f66527cdf1d7366b02f331a2a5b9aeeb GIT binary patch literal 499 zcmV3Fwr2)R1~4hjZ!E{*c%ZqbfHi4<#AAsEmH=_fS&1rQuhIUgMs0ITZ%$1c8dY0l?KIEx&W9JR$H2S0$3LipKTl9k@}&%Xd-~A zY2)Vt7#Uu?iW~;8URjDlwi&=)`7zC|smlP)=%3&hm20rG04}H>TOHf_NZ_|;1CYMn_pZR)U)IjCW#<+sQrPoU){K7TM*B pC!V@$kA?aut9iny0cwD-^9m&Pdjsxd;b#B<002ovPDHLkV1lt&;1B=+ literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xhdpi/ic_settings_core.png b/src/android/app/src/main/res/drawable-xhdpi/ic_settings_core.png new file mode 100644 index 0000000000000000000000000000000000000000..6d00c290ad08d94f3cfae4da49963aa752abc74b GIT binary patch literal 190 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 bVP|DhWnpA_ami&o00000NkvXXu0mjfG2}ID literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xhdpi/stick_main.png b/src/android/app/src/main/res/drawable-xhdpi/stick_main.png new file mode 100644 index 0000000000000000000000000000000000000000..cc2d7c00f6507af5ebe4931d8dc52bf141deed11 GIT binary patch literal 14460 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 I!X)JX02vB@bN~PV literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xhdpi/stick_main_pressed.png b/src/android/app/src/main/res/drawable-xhdpi/stick_main_pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..4e59c15545b83c242c0a195af77d915ba43642a9 GIT binary patch literal 14164 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 literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xhdpi/stick_main_range.png b/src/android/app/src/main/res/drawable-xhdpi/stick_main_range.png new file mode 100644 index 0000000000000000000000000000000000000000..aa0bacbdd9ba568d3f75013531a57dceacf45566 GIT binary patch literal 12885 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 literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xxhdpi/button_a.png b/src/android/app/src/main/res/drawable-xxhdpi/button_a.png new file mode 100644 index 0000000000000000000000000000000000000000..05c6357c546274fc5d329cbed637da6279ec790b GIT binary patch literal 16215 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 E0GjXRRR910 literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xxhdpi/button_home_pressed.png b/src/android/app/src/main/res/drawable-xxhdpi/button_home_pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..ac4ba19c43f224fe3709b4474a368391e7b1f76a GIT binary patch literal 18065 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

K%9vKSc)# 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 literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xxhdpi/button_l_pressed.png b/src/android/app/src/main/res/drawable-xxhdpi/button_l_pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..f1cd89d25254b053d2af74d95a4413b770498b8b GIT binary patch literal 5158 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 aA}kPY9*-Y(BmQmP0Sxs`^giBnjru>pz__sh literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xxhdpi/button_r.png b/src/android/app/src/main/res/drawable-xxhdpi/button_r.png new file mode 100644 index 0000000000000000000000000000000000000000..8beaf45f1d87e5179576cc673c79f0c8570dd4ee GIT binary patch literal 6300 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 eRUIsC;d*dO8y}Ye_rhN_o literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xxhdpi/button_r_pressed.png b/src/android/app/src/main/res/drawable-xxhdpi/button_r_pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..917c9d0f5cd08183a74ddf9f1afa8c76e6cda6d8 GIT binary patch literal 6186 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 QIp70Od3DG~S@W>}0q3!A`v3p{ literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xxhdpi/button_select.png b/src/android/app/src/main/res/drawable-xxhdpi/button_select.png new file mode 100644 index 0000000000000000000000000000000000000000..41b430b4034024ab631c4aec8bcb2267d6ad3e92 GIT binary patch literal 9003 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 D0l1#U literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xxhdpi/button_select_pressed.png b/src/android/app/src/main/res/drawable-xxhdpi/button_select_pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..ac290a415a77ee3766716cf4c43423a8e90952e3 GIT binary patch literal 4310 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 KCQlBLWB&{1T!BIW literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xxhdpi/button_start.png b/src/android/app/src/main/res/drawable-xxhdpi/button_start.png new file mode 100644 index 0000000000000000000000000000000000000000..7fa6e86c84feadd2d7782787868047889e89063b GIT binary patch literal 18860 zcmW(+Wmp_dvz=WQcPBUmCs=^suvl<+x4c1vyDlz46C8pQ2%g|B!QC~uyW3)y@BWx) zp6TxC?y5T7)p9CQRapiTjT8+408BYqDRlq2&TaB;)C|;Lw<^WQ&Uk%b5pbT&a-F4eqjlGw*1uN)T8|vk4_L~ z0NfK^&_KZ;rY%dV`_8ksSS93Je*p*#506Pp)Z$%UM~<*2drpY3e1B=79j@-wVTOKk z&J70*$gn$m&7;#l$`mjoT|<$^p%n`s=rg-x?gxb&x$*^fL}Ntt=gC?VB&>t~$hwfC zeu`h?iK552g(s(=(t-4)z|`8Zff7#9=JDZ7u}p|KQuhH=B*o7v+d4PmNq>Lc1mJpo zQiCR=%Tfn=4Odlt#0V#>x~1#n5_ z!aCh7e2-fj6_#kBe{U6kI-o!#aGB|55SwC|vp%My=XJ+_vcix96zD)3C>uOsN~t-x zkhNg!aY*|=r%$;H1|GkrVm~)$Cp>4M;lgO6GW#$pO!2sNw|L}c`tiO240Ji)-uG{k z6rn1PQ%mX16uWEcZPnVdmOc^X`)8EGnkKT-sdTpKbyjAk-}b(%_%-MFqrypIvI9d7 zhK2{wK!fLDBQ>N>-PBi6SX$)*Gahc^V@N;tw4b&c*Xs$vd!!u@^CY~Mh{J}6Az5c} z{g{$?2v7y!_M(*cVU;n8J*MxaT%&J#I(YYtG*vyFY!|lCZ>rhBlWR9oSkN+i=tj@9 z(xtUWkyx_;W&*!K(iJJPs;scV?3o&$60~}8#1c|L%(;DIK5c`ppDIH!Jdy1;I&Z-M z=hzf|ThP$+{v%pFak(n^A9(HdE6rk9c@3%L*uxCWe)g)kQYXqZf1ST59k((6OjVZtLP#keBVAzMArSq}1XVw%s zG4PLCGAa=JrmJIjnFGYdN6fT2h#Nc47tvxxTY*nUbHM3U5*?tqKBfbczU26FrG^oH99_K5F@~cAGZQqQpbM zy3#^kd@-~+)|a2TW?99re`q8TJ{avN?+Vg{x&8aG5NxN5Gbj41SW2KR^1E;PXH{KP z0^J*kY|vxNn`SHIuo6DS@gt!o`?ZhxZ7Z~&Vop3ZzwM}frLXBUG29gxp9*qV=ULHU zOfs)I^q4hzX91>DgNa46HGKa-YfN@~So;))#eON+f#Kjv$#EW&*62;TCzq4((|PLh zfS$bPzXYRE+@C9+VHIytQ7H42YOoJ+r$bCQ;3EW-HYEq1)l=yssCMen7^MiC^OdcP zoV$*wGWXwfKN)Ayo$XZH;metl)LUSehgRZ!9MiX#yRR#kZeK`U?Z?`ZcFb4#g^TGr zWR@Qj(EyVZjr^`_7|UMm@0Ir<0UGIxFt6ZY3Vx3ATNOSrnDrjq=U8_aG#)b^V{lHHA3Uod)09G zvln9^;E?n1J0@txX(i`o8nt}^UTxRZ1uD}xITYzhrlW>c^M?jEEWV8XY4bmjgK;W9 zcyVCrmWmK{IdGlax-r&Z96}Vn7SkN20WC0(JGOsPCSwSG4@cjDb71+kBWP0pWbabc zz2S8ThCwrirr#luq@r_%*taol*LYX^mnM) z7j3#?5?PK-8Ge<ecNoL&;7T-fhsvA`(#~Eg*NmLt~t`rt8HHgdv-_nsB`Et(B zFI8pS^3R!@FVa5BX&;ER^qp7XS#yN8tg3R~7MUkPADm;Xp>m4`bQ2ll8By0|^81i` zMxgN^rNhswS|pePZ!ft^>%R#8xT!}{rE48|C8_}_G~oyYSH3V7^Geoa=FrtI(~Qd* zv@*7=;NbT>!GAr`2cC1GCjC9M5Y6oQkJx7T1S7MnOm(Z}i#A)v&rLW0b zciL6epU!UKNOn0K1#b~4yZjo$^R|DRxVXOgVXQry)z%=6{Z|p}H_c>94bt)(Y>5cw zACB}t!}c^5{RZnG@)oNLjILmB#e>MMpOP!mS^c3^E!|IIS@~OSa%VLg3bGksATBf$hIY$fu2aS%u&gxjM9mrN5Jv;ei4M{0b5wx0B)kNetqO50v(>`T=Plx1;vwIV4 z{x{QScUn*RAmTwbL^<+KvUb8m?5*NP=!QVCWUGAxYSy<*M2H&3CP10fV7*}b-gEHx zDmv#5fx#F;I!lOve_EWQv8N5?S>h30Ag-{YM^d?HjAEAh=`B`z1+vX0OurBsyV`B5 z8xN`Kpp7D!mx?nl-8uVHayY&p6G4}mcP^Zx5z13K?(=AF$AVe;3ENXD?3-!e@|C#$ z^6&=7wZB7GmQk@VHs?BvSfAy3!atCTtQsDQITdAos_|n+ny|=(9V$iH4(KhSYuJRB ze^#u|+uXL@Z{4y`)XU&2(Gaq)?V5fqaSSD@F<@RQC%nqFc;YTPZ*~Pa$4pUK4{E5L zyQkcD%l6I&{6Nw023q)x7mWYwU(bZ8R;+J(zj)|zrJV^y#G7TI9M4Flaq$deq7rY> z_GqO`37F1>9$Vh)Fgg4ie|x2x^$n;(rOH#13Udq(+u#Uor!tixWT`|-bxO`=HPZ0b z)ho7qp9DnIZCLQwN8jM8U+??y)S&Adpp4}$OQBUUA-N=@FGZh!wd#kHtqxV?r zh%9i!fxIVY$`f7k5e>&=yC@0WCQjYbn^sSbbK>}lCR$B$#DrAjfg%PY->n)rck}-! zutbJ-1+9Cn#%Dj$IXR^YC*T+S9r5%S!gV#!(am@NMi8_1fncx6mA*stcO0e6zt}s4 z^-~WX^-x6u9O2+y$3G9ep-u11uEJpV;lRxr0l2BCyS|nHFl@-68?hst#jsas6Fib>^Rh@Nmj^yD1T=M z<1pNe1*)V$N!n8~Q3j8DNQi>UFgg-*RzHZvYc9b{Qs`%bV&*Qz&8vw=xLvSP+p<(R zYPnE5!OpEz8%C}UKkhNyQ_NSXe%fW<3Ur^-b78O)?yLE)8Z)rFbL*5 zsBYpu36`O_B?9z!$Y*AY?~!0bqcW|$8o>JTq z1^&nu2$k|!GedKC#@ZtReaoR1k@ZO6Jn%?gUM=CK)5aoYk|=vo5GC*MJ9CQ#Q_w>3 z-c`k&$mC=mvi6wdQ7Vjp0j|(9oKq0J;B;8*tL!-Ln_MBKT-lR{tY(M^h&I`Y%&H0G zKS@M7mlP=8N4mp+=yz3VqEcLJTWQoiCS7QPdgHc;yl6NbJc=qzheSdWpgGidC|W13 zuzcxNUG@RoII2D5O*%n@cb{$&*mfTmSH-=9?m!TPg7P)o`m6C{XkB(QK|rJ+PY&#v zV~X9o7@rKgSrG=&?F9WpoYZsK-sAWU8IFoyAyb{8j5z6RV`?l%YLtgzAVHhYsUHjQ z0|ej-?=aa+ps9*^ym4v~qVbE#A)F0{7{~8h$H4y<8Zz-MXBQk9vx{!x`nkLL* zcJJ$rO8OSr^Asz{P>*A+p}*G8n~Miu`QF-9*GNDPC8E`p50aL-03&~*Kg#1mv|$B@ zVkNp07;;B6Nx*pIJM@JkWRr@nr$}CPXKt;#6kOA88nyXk9?f|=c-kld5Xz%a6;FFr z2ypUT7kzzVoVXpIi5nL!?ZLSV! z%(dE1x+oCSUDo*)8GwA?cj!s5iH4u6U^_toYTtO=qc>|jg8@N7IQWo|I4^jS4vHoR z2|o{X?m>3>$0&Dfl1Hyw4l%`uH;4(BdN*?;pQ8jWhGE}MX$K!uX$zR(;gyRI5sbHj zNtzvjsLGMjdN}~}FYF24PbIrq6oOtnMlhaf{@+MA!N2gB<7Z`q*JWjRPcQ*jFZ>m* zjtGK{6QLjDe^<+ zL3k)oyPwUuva6L+MW#s{KQGa_@11fQlB?z~IBFCD39cw)uHwrl`Pb$TITvv;wSouz z*R>v@%=1l|wX!fTf{54N@Agkd(%P{ibc}>*+0!IpyztI~|!#Ya%mu37%NdDV?{1)$s4X5a} zsl0N5LT)3g7Q2!t@L#8zJ$C)d%YJdecDg3SR$ke5f?n+-ErWg{do!dQw;C$68aiGI z#_O2G*WVR9Ay5!Gj>Tx@VLTw$5!cMJL?L%AllQgi0%dO_Sd+9!NY1H=z+LKfj%va6 z8R~S{{yZHAcYaLS!zlSiKdi9+hdpo2zDz5@%~h$0MKy%7c=qWx||aei~F*|1p1HhvE)}(a8s!i-A9lw-#KR z8<)Zhr#%N;O}}QzgIP!8*_4 zCV!yd44s>Fp>y5^1s(`e4|_QOd)BhUqeetI>e5%Yb;@?zd_`@fea^~?RVsq!qGElg z`!@d)OFT(|PYy}>Z+Mp*9^SG<>wXUo#X+A)#KO$r7hD)F;%a2VpQk>8M?0Iu5UE>J zJ>Ceez-4zCcZ0sdc+z~4GqoSJCh21I-XL2Ss~8Obrth0KiPU5eSsKVuXT!ukeO~}7 zN5>IfDaOE|XOWF9g=sJleZ+KJ5&Hrk9Q&Up2}#F55OcK2Ia!Wl8e*LQY zKm&+(S1B|%C?9RV3MWUR@EIgkqZ5)bV2uyH>sYdu;@hYuf1z(dE)~dOD2nE-`L(cs zi5ee9S|D=vYT7(8(<|kftq&1G;|03%lHg)hzR8di1c7G-PjcSXL}P8#L(eZ3agGS! zceET;gib~vg3GvTxIH}`OBH)s=z)YMiGd&HZ9Hxa`#xDO5soXDdy>N^NPLK;IMJzW zZh24VM}#_hkh*DvTMbglN--UUDV}lY47?_}s??mK+&YooP7XjqtWsEdk!FX{!x28y z7hi~mP#jfj8fDbqL!jhc$ZDI zTK)p$uBb5JXcJOSN}U_Ug0CV%?4X(R9Sr>hB$1+l|5@>b{r+v0+Z6%Fe$Tb2x&lUx zXXeCv3iHmO2Yvz{?t-ryK@8w`KnF_Ylns!?!TjoIAE>|H>W`?}t*yiVD~klsqNEO) zwMRhTDS^o6;Q#Ca3leJ8ArLDxuR%V#4s33)r*ijXr<2D4QQ39t`}-*ZUZ<{La5dE2(`M}#wv5zvaR82gC# z6iENi%wQ^&m;7|9of&v*PKeUf4L;7Rn1U*85)nxyYs$0uW2L}SN!P`@X+EvQgs>K) zaf>5DltRpVt5mc1?@%#vE6_rg8hViTJ?|v!p_#jP_*E}>(EwiDn+rN1oe=CD70mxG=7@=%j8;_>l^R9WwYMkvE0ldEuyEz zH_;%)t7V>R9vp- zzUahQ-i-LZzcl@vallt@x`Il9Ex3HpriCLKpHrW$i zY7NsmE6xm^Sai(O@02ut?YpXx=QlnV)*0O?DIg=NsMTK*A64` zkz3cCZ+5H5?vb+f=}ddt;)*lzs>f1p=d8B`^PTgv`a3aAa*cX3$zF;ySw@BIIQ&*u!@(h@xTWxq~nuo%j&SGN6GEmS#rvO z5QBF0fdKE3{YmafWcKJ3!MVl}v-Web=xuTpMPl>a;3b!36L`vFArwo_5cv#^iE5x+ zo$u#q_Wk*zDDU7^B{btnP zBy3lm2zqN8f3Hh33QyPxeU@Iml_cxOmTwRw9J*pDyd6GY0c zZ!lo;gA!YfBOL$Tj`;bme;@ea_c3r$cPM?&w!VXGKAaR3;*N)8Eqlse;k)t?=O5x@ zS4sPPyshN*zT{cPM4BlpV-|^?ruVYvTjyN9+2;&475gXOBO8-GFp2g}v=)l3L+DA5 z;9ae^#POj-%Gp=jXZzNJ)7=V}SlV`c4axF|vv^zFrTE3~l)RH_I+| zIh`R^5)Wk`VVqTz{!bS=*_ub0h}Cx~7Go-o^<{}!onC^Ad4;SBV>LW3t|S-)iGOXy zTCczUZfwhi8olA0)#HBBtyHQd1S!!Hc9B3_4a^dE17{gv;5N>)di;{UpI7X#v2gYt zeIYHa*cbv4R&y7G7pEc1kL=e?ZnyjxnnD&du(X=+vV6eUs znCjfm>)71xzy0U`==PDHXLXdOo^@J++g+bd%=O%BOXAiaKfee#F{H?bn z;)TYpp+FlDv-df;F635Vb+x><8sW*gTRc6k#;NHddG)fZu!ZNmu`^^hoR95!#GC}% zG+J6usx*kSr-~-5zZgZ}Zk_yPV9&gGu6~tOm~6OC`e`cH<=K7o6iM@?p3k>@#!Y!n zJWLBJ{l*+at%q3E&(Mr=wj5}9{?zO#E+AZ^-uFV=&fR;g+vaJ1rl}wrQV}$jTUjA6 z&qySyl*VUwEgC(j$OhvfiO{P5Ywv@S^yHktzGUGm& zTKiXtr+qd6r^`{mSPcN~J(FezVuRQ3JokJ{6V^2!Dot{;BI>DbUH$eXOs=5suPiMZ z+foq}SJn>t^65hX6c`BcZJ6W`qu}!|aMsQC4-Ob=kbI}6ualjbCs%5oFx;7Ykh$g9 zHsD5q)tE|;6(>BbZSx+nnX=##6NgjVUt1K`A&Q}e{r-LLn{OMc=;tjH-A`YUoyopg z^w98rEq&fUD;yUZT+pSRHA#@#1s54b_^?Isg*oQW-I^l^Q~7!CQ7t>lxSjYPat#WC zF}|^e4M{t>buYY;KMy3!ZoQVZS0p<}?=QX7ar|)Sy|#o<)Hmtxo^CivcGlc^-+<1h zHHxjMRC)OCQ6_(2wc$?|dr39_z8D`TvC2IfniM)4ab@TVezVZ5DzSa-f)b`GP8u4> zszA_<%z2G`*RgfTTIPG6`rWSqu}p)%4Aso2ixDxQeHZQDysvloHp4#_(e}XRkjhJ7jcUh!D0-R)SieOQ`tDE7Inz^JIdBK+Z zokx-$VQK(`AvqzVSVM~9r_QgS=lcncZ8^vDh?-|6tOuX{x0-c-jPCO@RExGIyh)S> z3%kjg#u%gZxL0xV4mk%8r9d@W`&WHw_L!K^bqu$PGSVOAN==Nmg86re6B@dR(vqgB zz#WV_N>a7I;IjS?TI-fe{BLCh^mfte&-;I?;%?ZU4L6pmO{fewdrD8TR#P16%zYh{ zCfl@?H(khfXTtcDbW^Nn>5KMuzCmzo_MjNdCvNEy4^aH1(xJ+F#!joWlNH3+ z^5o7`#4=lTb*h-ylF8IjE@Kl+C97A7`$Q@hF3$V!;z+i3*bvN0Vh*$sOos4F@uHOe z__1dBSQ6alZn^Q?qLj^b+~L3&!18q50n0MGQklw@=X>bv3tvU!aI?l#`PuHxI<@6I zGIu+6_g+DCOLc!@|5Q5Jc##S-Q~Sn4Z<~zhg{4#H+0o_0-lv;J;rC)fn(+J{iNC)C zIrn|6%sa&uMBDE)(C--#CZGnldTd_OLCDykGcFtk{8NMSumrWt%m!qIxEE4_#jbX1 z=Wk)-zQ-qu^w`unr6fBT(ZPQe;+#SMvS0i^)F&2YI&_bP-gp?*-%PdZ`uf3<4}Uz` zvv{WSad7c;Q>@5B%=k&_k2>P<3?JV4w{sW~0OlwkgjaAcl<6u6IK1V;9k7XK(0>NQDA8p`kH_NpI%W1fVS5 zO^2E5yf1EKC#AXFp8oU6uvQY~s{#*E)y4gOWVJj6zcq}~C809%Ya%EC4n}OErT?KJ zC!=a+=392wr*-*ykSM9jyso{U^1$Wzn-{Ks3KN%l7&&^z=;Zg2z; z1jU8?TflpJ)X#8J_qr$X#yza+kO{8hLa=+Mc&2Yak%7@V`TY&7%0vrISy}d4W)11! zqDz$q=rEhMxve1%;x=^TbU54Uzoj+ya9H^JW);<-beAGxvWeEN_*MY!@6#KrEpBmd zH5iFQAWZSFB-N7o7y)buGi_+U-&$S7EKWbXt>fRpm7#iI+~%I!JaT zPDx&hydmExO#S`_KvWsqP!d{>~PZ&=}4rz=A0ys~J!e8!m^}aW59tiNj~tM1MnsiGejG7E0{%0P zC2haKGl8%7)w=78msaidk{cE-6WSXjUNkpJY+~&POmI8i4u_AHU-pO3CvOG`JQx>h zGc!r__DYhTF#N2|C)7T6AVhk;-~n6VDjlcx6xmc`$9i^hF541kLS!%JVeKfM^&kC3 z(0qk$9K=%9G^;JcJvq%z56~y-oA?o0WZM56MC4DlwLOO0@k718GEnp%SxQGxH!coX zTn~1u(gwAACsYF;(xdeR_lA8pX87A%l7+CMOI-^Gp)(+5}@TWzAZlS8Na6n7dD7@?y(H zcr2Fr7sF#?2@Ow?f6#|?emxLBuiaZUxGWV?DRWMpt`yB|Ypt|{y5SVut$Fhwat65H z+>LiZOKCH2MQYE@_Z0Y^{YRG@f8p~Vjm=-o!M!}#a2a5&?i?!Lb2l57wm%T>(MGkv zq_+*NSiH3bNSnB(yFP34BtH7ML>0XaJV-ZuDGpLX9nX85h}(Xdh^Y);V#1R+t+=<$ zO&d_LBvjF$78k4fm3QaWZvVSM>3Tb=?k1>l-ABZ;zPW-SE9S9RnGkV{d7A^V)^D9$ zV!8h8_w(4kM#uvQK_^m_?F`I`S+dcv1!`%)W?tthsTou%;BH%}u&&$s0&V~#fM z=4bz>JC%B0n&gXjh*_vh%h)@0HEro5g8x20WGRP_d5ulVmJ<0}i0&-xnlF5^uq}07 zXq1lbs4Nua-u6f|R6|w{Z>zgT=W;laP1?qP>pmxdtm&7FE%s&f@5wB$@CPW zD)oy>k(lP5$&-l=Bv$AH0$>JTzRzy>_t_776sf&#TOlhGG1lz;ClwUm(B+RJSs&(?cl`lPKG74!^E^PO_i;=XwdD%ay2s&KyaQF zaCbe9>4OA`Vw_8zq`ut>v$Gu!-^^O%4!iw#7i?e)*MD?7n{g{|cCJf)zMBnakj@~G z4Qp$;Co^6WRu;h>Te6#KIuiWO(vZ?;w>ollrgw@1^H{#CKJ;n5rdtfk!Fss(Frj1L z8c^~hDj%rAxo^c>z1EDpV&&hcE)})cVpL?K!Y`e2AIW%gUZcapan@%0a=$3~bo|7d z$0XR!eb4TD+?#*QBGEwlGIBoGN{a%FB96|-WW4*r9HPX6V0H*zI7-NKcI-zV#wHN; zzR#FjZO7=&uD$9zv6HAFTWvUxRCrc5K*tcQKA6)sIr`{w3{!y+A8DO42H1ZOU9t_B zb7sgu zHvS__A629=R(IsM&MqwU`nf0aKg*YMiF5zZ^$I*^)oPuA^(z%c|HH0!`8f8J!pg93 zRVmqvq6~X+pZ(9(8_JDxw6-f5+t#~2x*or!S)u&nb3}4lZFTOAu`rAVaD>Iyk?ZTm ztsmv5NGf-wGJm_jUU>Ki_j1T(YOvLN`nz$vE9NnAV^I$-q77()M3 z9(`>(CWZrSj%NPLc`n?DXVUz6TNOi5p3cWcitYfXH~2tK&b2-0Ln9rb9(`uq7YCC#Lrr2gqn zN!6Ijr?$wYqxAW(j_}*>`x(qK5i+z4iaqB_DIz1X;5WF>`-x)%K@0?{ zcue!r3a*3*cXN>eK4#0l3XGT6XC8KmZ%;|?bpJiyls4l{AVGBFjIb2PQ~KBT}`?)w|r>t-SZG9Ee; z&rN^j{!Ohb>i?|B6n_=4I)m$31eY4@9PhI^+YiJl*tsI|Vn<_l&bl_R_P|8*Yq;9g zp=@N)PYoQ!$lB9${HOQ2Ai8e>aQas!?oO;c7Td&GIgDLB#z@Y$9&Kdkhhs6G`fWjx z$GO4?IT0%}w}np!d_~!*&gAiZ3;jc_i)n#lNDhly9acPC>8!Lv+ArH)I%eI^N=!xJ z%gfw5W^SiJ!S^ZL3GG;3tlYWud(0-#iPvLFsMpb4n}rRZ{}lU&b+NI>vWvf{MU4X- z$oO*2ZA^S>-Cv`YH?p7~&K!`CNcG>y>pJ3WIQG0C`E~aQp-zfrdATW#imQd}>KG{> z?QN<@j2DV?16!(RxllbE5)oGE+Q4@A%c;Rb+sy5sMwId+m^W)?bltXfH^Cs_?BCjy z!tZJK$}yysXukrjp)~recTdlc3tBgE*)h*!9jDjZbfzbt7=REAG;rtzMh?Z4ALWte z%Nm>^+`yJDkGN??8EBB#A)gs@#VkWwbrRsPPl8A4F~&9TJ*<>8wizPsS%|y!a5@_j zFy%xllo)tCsP1!X_{)4<7hc(qG=dA5y*hs^SnS9^ zuY|cJ&4dwgx(@hOOP1F|@63Z`CV8cK9Wo?!z1saIcprlwUtr6bd6UG?mFB3x`@5%g z$7c~cm7FxPXmnY06p(zr>P*5S3(+i*glGRme^=r`XRxP{;`PP(6nbY!vn0XO(~-MO z?u1Tw_J02O-p?OeP*NOVvVX2H`g)C0N5HqH@uZa2m;b}k)O)QW!&UCjL6oiQbfd97 z^+=ZR_dMw~FPiZ(KNVq$3xuD^pBfJb<24!&+Q@hAJwv|u1PTS-_lwVE4;58Q#%c%d ze)ONWgmCJ;47uTO`*FEzlkX=X76+AiGHl)O zdX!)bqQxjby!aN6eW;~}ikWH~Z$E3yLBvz8uR%t)zlD15lImAjWU@^K2qf|O;JnB zO?}CyRrnWz?t2VbEQxoB1vKn-p(ut2a2T&mD6D>bv891uvBGv zeE9;Op3Q#qGPPDq&#tvq`SE$q+wwv4{&(rn)L9w7h081Mf?U=&D^A}az`MHy8CL+& z6`kA(-htWG+`+E^H9(kZYe-St+N_8r-1=-{|8O>I65EA*#>2EyWA0=QsSHd(cB0_a@vI%Qg*VH?&S*h^`0x+mUYhJE zx`LP}z5ucA=>@z`COh5FOn9>c<9y@5<*SbfB|#^qF#>?bgARy7LuDO_)}2GFEM;?8 zP`9_b2O`DTFc`uw{`RPaG(<=X61Ti@_)>iyj?OhlwuoUZYV9MI8XH86q>M!6*#$a~aT+4LFc1_?OTH8>Mi!)g3vmB5d#A?QE}pQ} zYQ(&%cD6Z^>|NAEuH!n&aqk5VhZdEKP4&g5O=mXH0lgAw^a&D-Z^Il)=2YaH`@<(>xY&mB;yL@*!Gn*j(4^avlU2^ELDR_p%tWKfY9Yv^r)G z{53LuC>Vc2hCARxfZz1ZW$skMDda`&bkh2ZWIJRh>JI-dS)W$Z5{9?PtTXSX`h30x zKY1?jHqS9#I>}A+KRHOrj6f2@e?(4*J_a}Ng^wzhyZgDX=y>wqmzyo|Y-!%5b!Mkw zd3|`7XOE~#IWS~wwqx+D{>mCh>Gu7~s{)%lHmIR_!X|DOdN%1*TYBgOX#D>z&?bG@ znxj9a$|6#6qo#XHC)$MLLPSd8)7+O!6RTQ#351aE$TNX)pac-Qgz>0+O`+TekW<}B z{#EygPt#+DWw0fA!+sdP54mwbb<+~)Kl#DjTxAkd(S)T0XFO6ri#?y*lQ}|HBsL7? zIn^%V!a&?ai@**jX?1!m#JDSDTBFS1j`y|%vWP%+%Sb*g-TcMBBiHw%Rm$>@U=Y-h zq+vQR{JlI?>$(e6iYP#2>wetIB{je+HCvMYQ6@1im*;ANI*a^%i0zWl-wPhgzLd@F z*?HOxft%7CXbM})yx%a@3sCYZd>bhs_MJ*uNZ@(0--VJMHUk)EAfmVwD&E%uFd)h+ zD=@$c+pKHm@W z?DLmf?DAjt=9|hYFX~zUZ_XE8%;O=oeoEPv??)j;@A6emK*;Y z4~ldrX1KtTS`2u%W&fk$y~N#s;=Ej^l#}ZoX52soWm9eoDH0mMoMncQ;s7L#?GveA zTXShw`XEJFwmDw^rkwuc-+SZF2~<^A6^8Q9;C#t&`D3zlzP6yuBz^_G8TCT$yPP>& zz5b)_u^FayBI9Fp18_oRCl$4(rLVC^ss?am7XNGE#8u^aC?$T0V{dK;pgkFH-Ctp= zx@bUR|0@Q&0Id9u^PHPvK-oAvjxO}ONHKV<*IOfRnCQSe0yql_$R!QXpn*aXgzXQs zL7y<9P6T?GGoM1yvlZ@rI=ZWUnQfMkp}9w+L_@^>u)kQJ>&@5b3*UaHdGa(5esw(G zB`dw_ltVereIK1$vnIBE{Zq8ry{Qh=M&^(CX$^~6bCO53IT=ZDYq8Jh7 zOux>A_+#PpU_1F@$WPI2XNWX3QF{c0WQE7{cAe+@RmfCU%=mk`bz(& zqauzDL0)Yk5C4}vd+O8svY2Z&T!zH$`j`IEYYH;L2s%9^{ zlSZ=Dm`qXy$YoxhG~X#LxI;54v2OJ7>anl7S>c#Pw4LX^TdNsQy=zn3I_zqF`p)Mj z;5^o@1(Pdc%F^$joi%0 zDiGmiGOdSdM9dvllHr|6-D0PB^*m`6BrSyMDB)6jhf2dnb{!lr6 zLZJG@RZBFdJz*2k*-?Ek1TvENwcdx0O#5Mb0hNzJh9Y@WRb71o``ije`3>0XN@aRF>W?>FLD(b`9q8Q-<+r)xmr|?F` zN-1zjsC>X8g@XZ4%tWPYiE27;S4YVEhWw##?k%TIJr^!D7I??8XOe#U@Zo#BBP95O zos)Uzpr^?n6A1WLX+`!~mR>e*Rdq(!6@=04WyrjBz~@=~7D_HXPXBH%k@|nR0Uco^ z)JmW(dMdkN00{g!ZC#2kKaq0AK8#Sa14c-_FF6guH`j@lwiynlM2h(7(!X>;W(ndu+6|cv4EN>%3(G%Qc)yG~;hD3lmcn!nH zGrqY-{)dN`732?_MLHg2?V|gsrJLgMB~^xTXZlk0&CCnwQ$a|Gjw$5}Yo!8zww_($ z{4xySO4Q7>T>dCE38q`u;!z(@Bf&}id(Rn!Ir>Ey0jj9|$I_J<5uTl(8GnZ7%A4aB zij&3_c^EThBMW0<8e`0zpS~oI%_p$+bpNhT%HoK%ZB+iBJuGB5mnz40 zN2SZn>DPju($@i1JjUF1@)~uQnK61g??`wD@(&P!DLDsk`RsB_`nM>J)VUk9VvY|i zH0zkDe?K%DA{`25Bl592&4mD5I9BN@AS)75wn*v;1rmg{;Z3npekJaZP6iz-K?JE> zqI&|O1zIu1sJ0Lf(>Gu?&hXou-t??SDRDWl(bmwSO1}WKOUR1N7I>W(xqM=h4-^2?Ag}rb8vxQgIB(3B&IrW53s>QP{2xkWIj9&45@`~i( zYz11RfWOWt=#@FOeW#N7SI*3~nVAd{VFtKRt&VqbHdys;nofQo~_wNhP&IPlIa(mwC^OTGDvKwLFK-Bm!x z2M_>M^G6x_8OAFnCG1fiT>7&%i)kN=S&N2+JdLD(!KX$781JKQrnCp+3Sd$mIb<(G zl_dtb##T^RR1v z5r>m=2_Vb5;_p0G>aT}sH0;^EbC&{w`qyMK%}2=fA9%H1RYVcib3rU}lTFm-U9w2?oPw=*bFWoT51*nnYm7IfRqcNP}xQV|#g$ z1G-7e^LDRo-iml+h6)K^dGm+nkTo+K9$=~(WwH*@m_Z+Q zQ%ZD!N%@R#$&{NsC%3k{Jd*x*EEAAE@g9Vv8seSB_We@S0O zd@4E_73j_-*jH-9Fb|f=d3RCrYVnLJXa6_TRA+iEg(c;>0VS{0SttfiU!}9alOi#d zja^%a6sy(FV@a_X`W4!@a`u2BtFHhIP4MgAnKl0M$ZZ{Gdg=+51NX;J<0ms%LkQoV zb94I?1Bk#e0sG?q52>bomVSM1*sE5#rwf}Ur#Nf|uYEkf8kjt3k28R1BWT3pbUcj} zzH>=gE1=2NfIbMc+x(%wBQnbahT$~tw=yPb8Z+#j?!KmZDo3nJ zGxY}5#F8(sJaflLtPRb=0nYo-LKSEiuB)>-O6{j7#?v*XhUEz=$4~$Wo_wTLsped? z{$By+tFI>2lxkdc=!U&R{f(DC6*$ybVW*_VGk^Y9L7qrzkIB$u7uZvNe`9$U z?px7>2Sk50`-LLM6IOSpHDD@h)-qH{efrGNqzq#+SG7C`tB?`@{gc`h!pqZGJO(c* zqmC>(lhh}79J%||=>`TuaDr0qA2OLZ!VYaC$;+Gx?#2+9%7G$DUjr13 z8YPiX-uNddH{suX4#mO+A_CDL-;$eYQ4!M-(nPY9B~lrkm;S-diQwB~k zIkziMp!Y;K$8vDL#!v90oh@(d-jRm1MdTH942Jb+7jcG9RIe#Kl8@{f^}}t#Vj184 zq*0xhP?=1>NDpHnjIpVmVXbVQCXdYeTlTp3B}D&7tYWRXVNq_oC^~i&0C2={2c`Yf z9c-*Ior!dRnWArpD-B`?BfbX9{LyKq!K7dWaDoRn-eqm-5q$%*zJXgBR6auSUk*JN zJp{IFrY+yP1_Ik(lFrz(wgm*x%MACjOWQL4*bu#BTqQb-AE$1wMpWSBD1xr(vUa8A z0+Udmre>O3dCn{8TE@n!`HP$_zlf1GNdcySL=TsL;CCgaoFU?PI$h;r9sg))`t{J&-ku!I`+ zcs`FRZ&Y#yRI&D_Z1tYAMC*6GOwTiRCarg3;rL8$I*&fICUVeDQDNoaUOlK)?I}hzj842gFX3*Es4e|&wQGuh z=6Hf?FTsw!Bj_XtdlDs8F)BV2IT;ya$atzNMQLMfZcjjP#K;hCvzPFR9u)Y)Ge}zj z?VSusxoFu#ng7);vv8r|QS$O?bk=|t9`%YMRemi4+O#p~BbqGU6*_687{Vu64^S}2 z`hEu?;mM4*OBm&#CK#BV!mpX(ho>-8>mWR#1xsphJlBRg#2`g$JU%_TR!Q#1x{qr_ z>O(Qo)Pw_<3ld+WxCp8L29eNd<%){CjI35c7}z&Zp5k{Dj3V!?L$Zc6z_h(_>-K1S z%&Ky9$pm|>@7SK39CtCW*6Ba_@ZF@WgRJEN8gDAf0$DF!)q9;13BRzN^mgM%@ys>i z{qj);p~YZEI%ZUeBO_%Izs>&pZ{R0L>F-sma0!6{bl8!O-tc2TTG~U2Uu{N zm=qtCOLV>u(cVALS;>1-*)~tc-8NKAvo?13S_aRJ`N(16pO`=l`YLggU#N`^=!Oa6 zFJbkj1OYS7M{{hx3ZBFqA1m2Ri{~&aJ2dbTAz|k@HyR!M*d!_4&Xi|Zq(Uvx76Hc}c*hly1lSF`@SjTP=y@qPSaV zHuh`oE|U^8iI?dV_aM^W9y}~9Nq{hphq0S{+LG96Jz!oGd-}He6iX;R7CZYwa1QU_ z6}pA4)p&3Yk4s7t2;*MdOT*?Ru>}dFGSne(-TS5Wet>V`M|c}Kua5m?cwS19fWQ{K zpSG19WJbqWGvjDq+@9yLr0|=@{+h$%6$|Y94tM}{CN0N~O58__zr+8V()LVn@yBFzzi;5?tf>vXyMwSC$_pGia#03z6r zduR+~HjdV>2&_oZcQ@TNEIsmD6*Ojmm@$ome2jXY;pG&4C<{ptsq5%o+)kmI;!~## z>2FSwU}@MLW<|x&vGRTfA?i_SB`h z5SREm9pV!r+ncIxZlJH9e-Z#zV?XY!T851NVJi~UdyMpQ$GS3`H21RhKjbTYX}s@f)l9=$5y zC-5GU{cP=N1n)l0wvYsoI!K%NF4{;T=!D;tR&Nk>yGl|0(Y*yP^{wef^eT@|-O;_T zjQflXF5oC8O9|>jFRvYV=PA051ON`vM%+c4Xb5OB7c`_n`Mc)b)VnU^rM|0UaQ#xZ z`l&V#RD@r}JYS$Am_ly3sXcluV*-?sLdhpKU>9~`lt>e1TEb6U=P~AL@Le;Mzwd;a zq+N6A@g7{?P`3EKfzgw|xPeo6&p(wfEl0ISk7Z8)pzJKe81KMtT17!n{o+_}C2Cf1 ztE^+wl0>kAlXKX?v9&X({!DWb6QjbTSC48+PZrZSfpeJYe2wv_Ze-$f) z097Ob1>@L;?X(U-u+=)iL<2G^M%L<$rfhe*Lz{`c*$Tu}CL7N*j{4x`N|?bUF5?Prti(}Yj}=aUGLk?D!Q~jT5P?`l0V%#rXK)qsUf80p_mBjrAPErsh+zY^ zU=0Ro01DJPTac*;S3S(iO?w?|E^5I|k1;#HYDOx-MI^9*tGLLMNKs{PLBp)*MOup^(!XogjbwLFw>)`CUoYyle+Jd4K;R-~aGkHxbzCc^y;z~Y zw~z#|L=prwj5v*9J=S3iLGr-|=v5=YOo)28(Y?(=nk|Bw%N4_lC?bn#OyMeK)J0^0 zkDGqfrcD5Q7No6&%u8YBV&~VeAv2-VZ=Jos7#L zXRv?;%=0a}g_~HEI=)><0yshv02D+JMi_Cd#u!EshaU0ozz#51ZWXA!H5X>SV5RZc?820M;rkJ;YW~s2{jc7I`dS0SlPH4Cknb5H4p0$UR*^*!Srm{#7HMQSjWjYyQkn{R4EOq$mkA^RI)p{QM+*GpXFnA3 zgE&9}KosH1Aq+oaU?fqjDNkvnK`5aBl?za*z(wS_7$}8$eM8F>|3BJFy{s`QjqaE*8@NTjS zlJNha5kZ6)7RU#-03f|ADj4T0J0G;tA}xPBoO(Bw6egGnpZ_LI@92Yc=0%wL02@&!3|Cqm&9)a zktOH6%yzd56NtY7%Rcz?4%W^kTrFZ9u}>D5cxLU_vUpkX$&Bpz5)u;RAesA|bEALq zTP$j?bm0tdSeRb}*^`uW5gCjVFWs<8oKV7S$jHPYo%gKp=`S)%IG-RAD4md+*)RtV z^k0=?$s?+6-|Z6VRLCh!DI)Pj|8Bxs%;a!Bb5Mi#p0nuEk;SNUf5Vv4u(KBO|-u3>@#$#GVHFpO2qgGC6-@>8t`OX@90Zq1wAPDdC=&vt7km=4;~au*`C zk3-f^>Vr3N$@;mucX9m~{%^N7l>7)ec)!O~=i{<@79$s-bF`U66x(i;3Yi6z#4Ty` z;|@=J8vJuwp3Q4&qBt*d;v0$;G>xSx9K3$MAX#sXSLWRi8;2No1SgXwV8sSV`p|O^ z>i(rWGSB-6O(_)>PLNtQK3+>ItYLDF|E*Y_aIYMT&Ly0JKJ?9+|8vVdp&*OEL26vc zSU@M!H(YQp68NKi@*wV_t>zHLjMbpESyZZ1E6dXpxNoAu!LI^!ZyZ5C8&ix8gX5FM zJ||h8(4u1Og)ENoE!RV{9_%Lo_+;!e$&#`O_qUXzpQEsjO$tUzet%i%;);!M?90bu zB$MGNjL(4l@6^9eve8pD*MJbExS*}1(-g8XusH?ymmy^suLdkV9+OPhuEzFC7hz=d zR;-DE$iPMk*NIb(fy2f|uPQcR11}^h;FW^Nd|G)R$p8_B@D}|ysikHbb^o01(c~(k zbU-IUaj*MQ+~-~d!6sn@$ob%Sf)`Gh5V7#L@W+$}s@XXioZk>#;Skn)w;Jj1^X)t><$7JAZ&_@IZ& zCGxK^o*h!~E&#OEo2?WM`_NiCHfUwu;|0{4@uw>xk*6H<--HS(i7_Z}=OVD41ZI;ii6 z2Rm7Oe69ZMudiP$k~AdG9`ao#j-oFD=bl_d27TCrVf=<*iWskx90yj&1=rA&dG4wX zvD?`QMPe8;J96%tmcB)TZUSbs@EmCH%C6($$$X)eNK!W!k2EnkaCidjiAH8HfqZ(Zn>u4!!fo zTCJxrW-IYtr#bfYPVvEYlq6joL;zuBiX+;t^GWi6CLvI}c=$7u5b6>|$5;|+36jR0 zbG>$dWO4OlPSTtpghCO+8ya&dS^KSF3@Rw7{$|}|XD`C0Vo%S;HhlVH>uT#6`kA0) z@3WgV8iFx~j{NoD*yU$`*&k>i`(URoWK3v*b1i5UZNsrC`G1vLrHD6F{s{r|T-@C7 z@fP+h5Gds^eFo11dw%TwA?1>|Cbh8{`Qao9L3+>*omFO_qEVjJ563%PQ9a~bGO<<_ zLwg5wA82d>`&xJ3!*0S;41vN$YWLtkh~tBAX8oGQeEmB>YYeGacq%4Cf?)VDn08*8 zJ^od|C!GE;m5k8e311pn@4mZFthN7AssPK1aL{+N%iPB76igoeli$9!q&+m_2Q73V zn!qr9S;>RkHLKLJ8pxgw5&)hmx}@<}`+>G4q)XGl%>8t@E1b}R)NN5UGS2%J-mdC5 zANL+D8hcAEjlk^51<;BWD;5E?jje@#*r~bt3pUXmCi1u47zk0}VW@6RJ*^!riFUVr z)P;XwSP^dbZCx9@i`I|e;~vEIDmn<28$37v;Al>9f8GL5NIc2pGR*@o%B-XgtQ|iaV2+PiCw~1|Sa%!N zC{%f&Yl+$VCH-KuV}b;8qRcvl#{uT4)DM_xWztr`GI}x{c*Uc12?NYR*}x0R$=_Jl z(5}EE?`mH~Gca2#IAbjGJ5k~n_BeJVq`Ic+l^DlhuT9dNtQt34WnVguYyp^UvDDunz-|JXi4h`tP4^}7ZhzrHsHl@Cfcl@! zSO;!iHB5eT{C<&rZRoA%j!&Vx^0x}aoiut;yx^5|;Ud_4U@r!|4u zm(h|j49M{Kk8oDa8EW2-@GW`{T$8FG0txuWu+!S;Bw|=Sp^7;qQBJp$=Z7DVqOQeHXL{qWnQ&hBl^Nf*fBlR zrTdnd8&86PFom=fWyZV6&=i!6(FruF89J`*urR~6Bjz(Z%s=m;?ev(zf^<8zOmUu? zLo|PYXJ98|NprOV4Bpb$ca$!k|J+QlmHPQLhPz#AVy&$rEnB5CLmVb4yki60=}+JT zirky(UioAiKOhu*AY2k#eRk8z`-^4$6G*0n^^AV@e5;SY?D<-u;5Fu)e+=m?K&_3+ z)=M49Ps1%x!0B{>NnD~iLoR3j?g*Od-}Pky$#iq3L8{WVGVm2MwO1q%ITZkC^4+8D zmo92*1NNQ7l)BfZ7)W<11|pafOvHb8Xtt`508W5m1w2N_F4td@sMm9*M`~o1x~9S7 zbO`{{uAJAP&SIRV~1A2=p-ME zOUdwjlq)FhVDe}o_y{G2i?Dk|L%anoq>u{xff*uNX=PXtxL{;G_C^r~g#Q4<{A<4| zPPO;n;n-FJaDdiY;ri~xC%7Q4x5z9R5D?mIgB?9}Dupl4qYgkr!g!7v9)#wfnSk-+ zPRkEPt3t(bG0M>I4o7h)<9hkC!PNA^;x0`x2i2r#hIMGRVG<4u zY+cplCk($0bk?>|v}@=Gs&|IsQ;ybe_HZe$8lGAiamU?4xu;Fm)=R^c#s9CBtjDa^ zZc_~HtA@-Gb;RpwIDQH7=rq_5J4hI_WC-z5H4c)q@Us5DJg$5!It}Lkvm?e3!~Hql6ObPaB&+W zK2?ul1rjTF6!H8?tVN$y-jgYsF;%%*TeId7k-&pS>T0SdM!8bPvWIJ`I3WY z6%}PVNP@2K$SE_YLQ6B38KjM5(!Sa{a>fXo;Ol>MSIg*%!9dm~L0I?wmTXZ(ImN-n z9itP=9P(+*_oc7>mYUV0qQZh(c?U-AaFeS|;J{00QHA42>bjd<=Sfa;x+q&X)@hEb?!Y z`K2H0i3Y>IrB%lkhOHvc-? zA|u)VbpS=gh0_V3^fPmKKFP`XT=LpQ7Ja7sjEa2cBqAcoC1m&e8)zSjDeewVZ#dG3 z=&5QJfx#-w8}n{+N*7OhRvv)Pt!))*tTFeS$~Q3%3zW0Z9nO(x4TcspY;g^JPBv88y&(JalCL!h(u>-&` zE7zv)^Pi+KMgvz!{NJ+-R9}dd>wsi(Sbe*IfipCvd-lp($1-dj=1{~$)sWVN7)>J* z^&$W+m;7Z{sH<5OLx$Yr#;)wsPG6-H+1;c^_CDA>ZG!=J68iJd^7YBaLHmCk5>b3F zhB_?)o&95g&evbvf$5Ci-4XV~USx_*h9jq7&5y3|r*`~dUp##G%NA}Q{x0JVCM2Ng zx@)PU=r#10359al;Z~UM<=iNg27)oLy`gn;vOyRN$9?N)gJEI=gL#3)^;t=?#=vDB zv>yg6q&7T}wBPoHSN%s=~!U2g6xn}J5E*5eH}5X8e);7{D|=N4a4*MfIw zx*Yfx$QUgF5D-iuP|0NQn1*nSc&5*xumXn(o-ip7L96$sHXl^%VM6xe*kf-;e{x&n zadZOugQ$-*>x;=+$-5sZCiDAvgh%cDij0l%&e)Nm5T5&Xql54li)oXKRTU#(`S%lz zRN891V|$q=T`;zoU$Bfo*xGjk)B4?5Hm2tk!W$wparfZp-gmCJGqhkBD*Morch$0? z-x*rq|FzQV_`?Z~0I=Bp)8(GDQ}J%{uJn#6@OPImq)I;hPWgn!0H|qYg;WNEIpEKe znGO3CKNy5fcg5ZeLm+>Bg=j#2$mNLW1O2CG6F#yCmX#GNyy6C{DYANKlsyjc8)Vvz zI4@NrdaJ61+aSgm2krXk|H6K813_K)7%)^IsRq?6I5IKy6%x&UtWax{y@aZI4|gVm z_C99&uZwdPMeZ2trlR=`!;vJ6kuNoDu$4HW?YJ%_XukrF?;UOEC1Bu|V1iD6q`*aP z!Sk3QbwYh=lB_^?TfCal?I^0l2q&;c1i7ZI{8J7b&55K3f^--vrim9ft>o+|id)f~ zwz;~38%6Ns06Edlk?ZQpqmrr&BSxk$AW8d&;im>1(^q{)DBez6*GP|U=(8^u9Ywg9 zP$;$51!|Y^qnloe$|&!G(7sQJRvYv4jVW2PFdlu8ITLtLoX389R1^Ush=Y6~*y<;0))XxJ)ecQG>#Nz_o9@!rYHah|j}22% zUGF0*0}hjNbyK(7EOIR$cV4F~ll1x2Sg%__1mI#d2X1<%4bY;g4O#wflN3=_+;WoV ztMNVx2Sndt9=@Ld`shu22{o>gPAsx1l$oys+l>_J8ahV5Y>(*A$N5(#dueJc^HEj( zvT;4!cM?YFx;}2Q$TG-UPJn`yB0t*FwNA&SozGYoic$K*E|!i3bZ#=YRDLr#6Ojee zI0yXswGpGGQ>4f6veEAsy(RRZ&Q356ZzaeR*A&9uGZj3Bt_k zcDJ!=Zl9V#fIyfmlh{7ggO;Y(!owvjoR7wu527B3p{_$d>Wy}nzSS@VRo1d${eiCK zma9yv+RoI%=uX0Em+0zGKkH0V&xFA_vGi@!yJ$7|XHW01|OUD~7w-Wui|Z2}n- zF*Y7|(rQq%C%i9Ibv8amm zm<0q#JifhWm<8s)EFewTm{AhHju zqG4X$i65hb0dE`|eFd-XDR(_a4N400-f$Bgd`9Jgl7KTtDB}>u>EbmGu;)em1#0ay z$+;FDzFZic+pqX2qJKC$`{6ADzLjph>qp0jjJ$Ji+#`K4iLt6&mWYnM5AWFRsaOZyc*KgNcdYx@T17=Le%TA*XFG5i z-=Jk=W!2p^$-0^;;?;k6B&1|yVLj@OVQ>$J3|~G+MxN2>ryY#4_C%B3UU!5o9_2IZ zFnO8>e#=b!6|DUSwOPaAQeb?Rr$n-P z-a2IIEck$-&Exs*`AAS>TwMQt6&9#E1WVgm95Qv?Uihl54@|U_d>GOTK~H497v|ck zAAMm{T5sLD-c$Q)-Y<_H)!y{vH1H+o(FoTl`51DI6vUkP*;1RVpl4js72Kih!@xBg zCm&Jsb~42GS+ANlK1^0(Fx0h^UpMOD9npf*pA?Lm5Sl%1D@HBM0(F}W+%2r$NXuR8 zeBIA!{IL}mj++k$#`rVtFYGrg+;|Vr=KyJUOYoK0-c0zoNzR(kC3wSkwPi*UHl4^J z4h&$jNhJ@f{+)}>+ZVts!sb_PT*;l!FlO&^%zX8Hb1!3VIP_J%Qu~Q2R;cqfjk1|D zOT22}Xz7ZGN+dn;dNL&<;h<#s>k4i!13E)q}UOLuk>+5bM^kX0~ahS~0)u zNWX3v*jFx)?HN-yEu9FR4X@Vb%gNUXi`3n{Q(`$D2T|7m7=X_{rohxD#YnnXsPum?Hm}jti9u`GTX=J6np-Jo9!{ z)zBz-)M=O@Cii(kp;sW_`3wKfyk8AVppUAb^gu__ntO9i5L?5NS~(&+DYwEmqWoA} zzQ-2xPABtMjZX$?Ez$v6&eKK4Pn09p3F%qzW%oa8ZRb*vnH2mxACA-_mvlf=ct%^s zW9$un)^I6rxuQD8!y37B0VtP0H}0m6iG#QY^mUIFCoZjQgy05r7smG80(kr<&cVy& zaG~TBaB!A+x~ilZw6sT}2Y=>7y?#Xon&K6v`}d5I+Z(bA`(hiGu_$G4e<3e4OnG#2 z$elbsN~NAcA(wir%zysK2B3h+N90r3>cWAh$E>Db%+-TRX=u$Z^;;qkMbCstO@y!6 z_^K6muO5XJMHc+nAZW8f_>qw|F}`PZ_rY8zdlzG^=$B%F77OF28v2ID4+9fT^^;oG z2DAu3?%I#n0=2aIM6d;6W<1pQ`~(yL<}e|kpx~l|0kQEhs|Xfwb6P>Ffg44V`sPjRvdqYu>h?G+ z#qu?dlxWwMXG?gadPd=;2IXuzI;0RNRxo*r<_7}xKY&ii$cj$8cq3tZRzvTRg2Row z(x)1^C5q{_y;e%6We2oyOCa1hX%B1I8<2kN@lQ}qdf9|3JDTz1lNA-FRUzGL2gb*Bxhnt z?@MLP>`)TgCYdcUPgK>8`f3YX{-Gs!*P`?f=^6W9P3W`L0-{VM?k7#ts>QaMXWk$6 zx)(`GC>U`Tc_#u8C?+c+3)@=s+PTRy_1zVC<)a>I z891|PbCxRga9yHn`{NTizqiDU>FzoBGf9ba@bz_@&ym z1fd57XXyDlp+JqFdjCjLCgPeIeD4n-zps29$u>DVj`qxt@gyGDDr0ds;D4R({xi;h zsoP#Y$kh<*qIGiyt-ED}_gsmm%8zcg3$>OMJhJ&+x~=PkvO+~`hCM7Ejnk#6MFp)k z=>Zyo@c#X-dYTwSKmeN@Ny)Vj*T$Ulc^k&B?`@>q1bwDx4TeJSRB+byu6v>RY+!=M zEs~|N+DpZrm|Lf`p7(}W15tv!QU#W_hJ zwiTumiiXv(if;cf=K-R~uADO%NG0UgMO`y_wMxce#ImB(>T9}@76T=e@-`)716R}1 zT*J}@dop%5dWCZ4vC@U|?QafQWA3skmDYY+rR$dAX^GrdI8C*r*%1Hb$d1f=u#I8& zx{unAWanqo(GmDPe;3l##Vr~FVp0-;-5f`Dip*`(;`E{h8EssK7)D{JPD040aeF1= zPtPDcRV?&?>q%cUXVo!YCY$8dAb@%uY@y66>B5p(%et#1t5@8CFPV+bZis< z_~_(Lja{x*DiOtTVw+|dK=0~TFtSMN*4G3V&UvAZ-;0^S;Us^<1`=A=`Xc@+rjLmg z>SL!D34@^bZ_!=*Zb~q zNzeG@m$`+^BDEs>KB5(bxzKh7i8^Q7ShksMoveq%8lFF5`I(m*;yX+4X~aLyk-n!t zl^Be$LCgOvF)f$;V1o-oA(H|-8SRG3APSYqj<_buU1X$h`?7RLFj@UCU6q*rY!s(0 zL@^UCT&JmxPwAUtMjVyzG+o^CGFIpg21UFSPbc{SX1M}OZio!K7w`CLUy;4agBO%J zM5~`*p>8cDh~E%pQ;=#c{?Pg}ay%km)*x0UH;TCgvocZ^NJ_KWt{MO;KWWHwlIkaW zPiPB#c}pdnUx@Cbo6D`*42L3_H*+>ct(B^%$nWSqzKByYhZhwH2r&7Jp2i$YVB;nm z%`bL#oGx?i(|5LQ#MgInk5KZXFRQBm&`fk35I;2ky}tl3J4U#gV2y45@FNQFnet-U zzvURUanp>*{WS|#B>7wnTzdzKHf%2m5HI0>iPC@;=;aGWv54to;89+~OYc*m)7T=H z1vH(0zQB<0V4F=+6DHTX&C{U5;cUnC9%OKpp&!_}%=Tk7dKA*ekTFh_d?Oi@IV_E# z_G)MD;GLgtu6LVkg)#J3=CjUU#R!+dFCiqY-rQ4&A0Kc5xv@^F@`af&VY>`hFf*GgkTN6>T2Rz%EFgs3W)xS7if9XM| z=|dO(t8R>kQ{Hj-cj~!!k1qo{O+O=ZZC4>0F*nyJrr{gzZ5+>y6go**7iPpAt5(^)A1! zjJK&s!sRVItyW~Z=E_0^IzutS}_xzR78+7yX z)DrBG1tkGv)5w^m>M!0)zpa{+`&}oUb?PQ<0`82|CL=+{+UB6yk1>HQEM!WCuKhTg zPue4Wndl=xaWGjS{7|vwC`-*h9hyxqv=DG&$7)e}_m9=KJ>o53;_g=|rcwH9;C(^K zLhZmP!;712>q|>@!=?P^YYBM{vvvlxr%4E40?iH*t?onJsvvvn{?1aG(HctoxPMl7 z%jL1I`zHswCvDVs_E@Sv6WyYmg)zOZlKqgUnyCL(>B?AI0dM!F_dO|#aLu_4in5n5N%qm&z}4(6Y;;kSTgxtqs#Wc)LH&WJ}O{c=`ac69slh)I%(I>awC zH+f4LFz>8%PTL%T-M!yDY87#Y+`ej|yVNr}DAzxQy_Wv&rS7lgE;< zXXiIJvf?X~mRMLc!TW*Kk|$zBX;hpm*%DiZjom~sH~D^CD2*)nr;nO$!eimX&4yc) zzvfuMj6NZUHSdR3Rzj8%wXP}C)~Cbs`q}5vR2;|ic^~MquY|O){fr{dasRdy^Zb{| zQ_lE$N~NDr`7$5W&cI16lK8%4o1R(Y_2C}BPh*EG^7Pb;^4C)FIA)0PMA<6>5p&18NKDbmdQn(>V$7o=J( zE0UbyXXk~EUH2rc)V*ii4xidSF$bR-qC3_f2E5L@_~wqc#>Z)%k{;eioH^|13eScM z?e(64G$t^mB_T`$HGwNPH-2@n3&^V-^E|bxdBjZNfuvD_3BvB0-E=AZrCUC?2A7+f zd>m2%ycaR!C5Ma6Z5ud*H@D>$rCa_6Z`_#b50mrWWZ8{{Uy-PiH!d4J3-5S~YIc#j zT&v(=V;!9IOa}A~106O`R;y|jPlD9-bA84^@caQCPYDlV?lBk!Ne@pe`I^pfqq=Q$ zhI9!?udg=s+``4Cr$~TTK?}Lzkija(mHEc$KOuh>{Yq$$CuL!}<;RH;ZZ)V0LN zz`a=R^U+{9Ox6#HHbP0S;DtAKGYvldh`?AQq50IKtTYsdh%C4dmmUfnTAAlDeL{8y zc)S^Q+HM}&fo5)kLwjJpx2?7DrXP1gDOhF{g4qqPQNDo-F9F15wv0zNuer6&u$rI{ zw(*eftWVcvHimjXXgAS?#*;+rErqU$A3Y8)s6@!+s#69Gs~Zq4LMAvqN3#V2bo@Do zFHCpef1=zEUpvO~h_JbhSX+%^{vG6)iMf^xAP?}$DW_-trNfzzha1!K1@Oh1F{T>(eN3;aC=}fEFIFf7T~-^Ap^W$-T+)Z2l}fTFtOp zVN2jw$l{(Ue~qZ0v^I@ZZZ$>4{ z8%vg>HohOUS@GMV4U}J9uMoM^jeb3oeWN=?f&nH+9GU9H=<1U(j4@ahFv35y)Lm&m z#`?T266gHU8u8@Mkj@~)YyFL}Cz$#p1iNHHjVlmEiMBCp`9=Gr!BkZ}=Zub82jOb$ z^k*^W(I0sAS4Tvs0__-RuFKQQ@qyho>yKH}U1JkDd}UYJ>XUQwW%Xq5+|U_PhfJKS6iO*U0iU1iydB-iGFLGPPk$lF zWh8ybAKy$W;@#^C6`a%&%&FNvo~OB`TNzkDTR3Mnr@I+*i=dHT@dpy!$nod*_9 zP?7|!Tf?mO<4)H{{fcrEO6s>iTWQS1Eb8IulRR0M_#LE;K79J-aez&8Dqyjlyfp58 z_;e|juhBQw%4evzUJn6-tJtAAkJvq|)>ofcsAXGQk7Nu46vv!{-?O4#donrrNJ>fE z#+lbG7#7~JE!xJ}U3rCxs5lY>bn1vx&mu#S-Fkf$9~U||2sjk<8SQf_pmH7EkNli^ zC*s4=(-9w`qocDC(>*XIfz53}=WjM1ZGbUf_Dasf?$LhH$A*lZnEVHoJ6c4)M_91^ z5kH`gs?6TE?W&=xtEmzb3xEoB#v#G6=A0H!C~m-Bd-7#((khB4$!HVKa`^S?|?+c%OQJ9?%3;OM`U=vdiD7mSEwB5>CfhF%d##AbOB@U~i1zD+V`K0n8 zI)@VVZ>;nb-KE6g$%n2-8eEu94f9t0QRnzrMGJyHZOfSjPqs*36)`ZSdgPsA(lO!q zLrMgMzeIfZd#vTGc0Q(BK)>U*<6$()G5S!Gqb!ILDB{a1%Nbpsn6azK4Pj+>3=R?8 zDUBzzUYqkPpw)>hr-fFaj|yPpI+4NoyUqBk3jQ_oiiCDZ%&Ywgi}%k$E;;>%6N{h+ z(lOG`VCd1NrHk&1RX+U4zFl{E(XU$i4c(&R4xu_Oqh$^=q%vO{&LLN=3Wh%p-9r|2 zUjd4Iihcw}FxuBiSleCyhs@tI1O>k?Qsngd=ecX7F<1HG%Iwdz0usF$W$(r3EezGa zTz4tdQAc=T?XZDZA;h@pLa)%d35a_3h3QUXdb88Tk|V&s;q)9rSAKs-dRcqsi@;AF zb>94p!!S5;$gr%c*-*CiD5-PHRKj`{<>)s2nbVpZ#SX~&+x8#+-1xrg-AzeQK3b%G zvJF5*4GXsh_2dEHY=XlPxITwgU60a$ZQ!sqGx3Rp(59-VZxq%t*FHAP3*HNCuV&EI z{uS@gwOtpt?_uBtVJZyLLm_YTMoX7frcW{jay)+9_|mN{y0nr^S7E`rw2v;DTo!HU z`pYD>!6NfR3It~^MF8t${2zXc-N2H^M}1-PFzYBqXn7|oYhGPoK?0h&jpoJXs%ax5 zOzlIJP!enx>i5k^s2I*iO4gJef%H|ZAM-;$b&1GMoC31x3R^Kf>+N;)EuMLJAM&O# z?g2wqUeRxM$w=4;H(rkNfd;P!+tFrORjNFO=jCxh681iFwJlx!scbBEL2GWGMtADQ z0|(=-d0MH8rncLgYb&GW3J_tYc^@qS6!W01LOW8JBE!3e>U9RcFW0CgPt5-s7+yX# zd3rIZ__YoC66wcJQm52`QrRcHo^&_8si@OINVTz0ya4oobtZpl3=s%tVgS{Ehn$X-g*d^?Z#KoHjF z#(3!@b4*}uUB%j3HW*(&JLWG+Rr_G~=!Z7STgB=|!IhWo??>3YNs(C#vCsZ9!}*p< zsW4{wYMeCS#)hQGT{@PS2#H@O=E9UQHMMs1%EAehUv;v_<30(lO--f~>k74V%bqG= zt!o{(n6wMsoyeE<7dXZU9~oM0%B}2ZHRUkxrjy{x$)p}zVC-YShROg4*5UP7DwG~@ zBi^ss;qW^Tx;rPPE?;#p*QJxQ9*n36@=zZixLIBwk7&ka#zrpZl%`pt$`7Mn%@KZ!D7{gmxcyDId+`uv-NT zlHR(km5vE!!1W!h?4Jgl;mjNEn9dwX0%;E2jj;SG)NQ|Zg1>Y}v%-LG6a8QzP(hB? zENQ!1q5V6AO*|e}_32<_1Xmhu0%qo);RPUdMuK2lERIrOjDrfqb|H@aK?$;tow4vK>$KJJpQ3xHvd z3i(ZOwS`!pTc{l(sCjMfx2T5E-IEo0`5V()Xhc*L+H$wsjy%al9o~RPSx% z^LPJ6{0|?Q0uCD+^`WFE6%HDJ+G@?|iH>8ke`Pgd^5>fQcR{AJl1jdx$|97l&@SdZ zEQHY^9y01$KYKo!DjU;iq@->$E7^g^S*PYnF}zA%Dg&=CWC6$fzK`7|v8gYm>r(yT z?Uca5>(OGT_Yx*d=lB!p)OWIc;(f0m?9^J*DlRIaU23iYhWKioiN61EbC`G8%u>JGo51htz0;VvAe5It4cp02l|v!gH1*5WQ%d%bUe ze0*)cX!1qms0fP|dt2C6k`fZ}rM)JXVE=|5^tQKg)=QL12!$dCk?e@?AjiP4hUPh= zI5&REEn9A%kY>J@dz%qzzSz;K{bK4L{JST$!!Frgob*JtdSJ}mkyzsfL3A2D(+c~g z(|z3HMCF4)HWcW1wFF(l=(k@bGI&Dyd$^tp+~5KF{o7)O5x)&($B;eAW~N8o?Ov!8nL`g-IO%uKB-lJg0IHn{`rDeL--blrUb@1b zXjY1&I9$pWh~9WcNCQlgWt)QqGY3=FCfO>O+b%+1`-l|Xs9Elk8$<_`LD<;Xu~Qrg zW;jZ(U(shU(fkWFT@K8BUr7!*+KLvfs%LQy8NPg?wqA9}9(tjhOi%%xL3=yGY9ui$S*1%KWo*Rs;ZJ zCMh`Ht>GELJb3p^DOu(*0(bCluV|gy^X_Dr+gU6gmoqgN!Bm1&cJ|-JsDNgT2c@A+jNb*wr4^32PT8M<+)0zc#;!v|qoGNVYuP+S1+{ zygdYm=v-)YMTB4BcTxYcjAvNeHvO6A*~x?%UueIWsqviKF1^yu$2Ok7&p1j5jTb6& z^p>q(^K4>Cazn0w&JU^jo`yDK(j7GHIsV)jGec_F3x!#jenKO;S8_#)BCOV&cV8T5 z|M!6bc9Y;t8Y7&oU@`7Z{gBq+Nv(N!W=iBRa5=UmUCqmhfA4F+KB?>vLVtcCm9L_T zg~A^MRl^-Uz4_u5eM&;N+^&PYk+%F8uAaS~tHLVZTH`j^9tu>syYhXkHn*xb^~r;} zj3rxk7H2bZE}d^ehFX{3qQ%P0{R)Z>+v0j@EOrm@QP+c*%Af*CrHfNw2HYebmydL?{LShgvZZRp3eJ2pusi2dhfkmg zQ_J*N2`rqjCI0PaHH^X<3YE8-xy6{4ejJN0?(MGZ?>v>l%F-dM9RyV;R>8tJpS7<- z3LQi^ADrMOaUyr7DBGVg0n zH))#bt5p*iv?Mz)YfD2zSto~ptY{gK{lZ6HzP{xV5ysd=#Y(^vj2LxQiru*1Jn34i zZ7H4zP+AHH*G#WiAp%biu!aUha0}DKuz=rPsOP5NdR@O`8M28#5jN4%PA0FbtY`nW z8-}-nKx40Zi(=j$`OK?X)hs3`NEY{EF_f5pOTfz8itrz1w(=}#1|?H6vRXNmYA@yW z{ofsPzuU+M455MEQKk;QY18kpNeRZaAxb$fW3Kaii6vn;1b?(~t*WR>s$saVCl~ov zk;btgLEP6==%03*-6HF?KgfAQ{Z5UYE@%8U{`jf`;zfX-QFy654^wP5puhc{@q z|23@(4ZvbeBKnBgNPfv8ms?hIh9F&2#b&iEToFT|bU{4M*>K$vt3OoMvf$Wx6 zSj#}9mp7bpkOM0S+CR}Gv!4O3QGL@A;hlvtm^p=EC1<5h+5AGnVzKlQRK~c*Hgdzu z|8Qr-{cIl>|^cNk<@G(?NZ-NxfIdUr>|kHW{`{#P}YWglM1>o z))_jd1Kz`^6ul2#%T6Ya_Mo>uIW&g^`X>noF6Q(5_Kpo;z3>2d#oyC_Q<5GPmY zP#@6w+pH`npgIJwl6A8n^SWg(WO>%4gX^zc(aO$O2z~)_dZH4&%7vXuLmYeSPA-N} zD0#f1BD?t%G~W#1w3iS;oxQ&ohh_pl1n#$1WSX?NAl*0d7iz~Tz-up|n6l!~=eI2i ztED6n!hmxVuCd`GaQ+&X7WtPZf)hY5CFxa;2Ph!cACQ320b*R5-rpd`6Oc5N@|qmF z4ae1|i4jqRZSU8#O(zoLll5s*jBp%!mr$}qfA%8G&8E@CYHI}bT=-d8X-UN&bC9B) zk4T;XT^RZdG!Dwx{UP%8G1egEb7;QP$1m@9KT6!>Y$J$#qh+3T-UERMf|>vMGLSKc zn(P5`k=V?dxO~5*4ulKBn9m=PJ?!1UvFGE~B*p?o+PWV=;NIUdY>p+gEGvoE!4(+1 zlx{iGJ4KZmkfN`7bgw->!FOrjksF9xbAfLd2qO6&{E81aCXq!NA2HZ)h{MQAXc6#T zAg0{qL?&L*R2CESa#8%7 z#xrApuAn3AzPjlcAWpC@eHZ2miH6nD#ij_o5jn=$Z{NH?ZV>?=*9h>7u4}*(6CqdE z(y6@A(z~R2PARpfir}jOApXzmn*CK(S+`2kv>TO`*C;R*Z2ubc26V4iuZ5k^w7 z!r$;0z0-wF%^`5-Jr{&+){20~Y8MxS0s#BHC*qSzv!1;7m$=+utFTOpKn0Jq_x*y} z0K74Zzk$$^Q=@oivuLsBh zWn2?ba#Mb>0qraWYI(=BNUw@Z$1?|tTW)}$AVJ5<>mDFlUHHYi%A&YQ^BY<|$;Wg- z{L#xSOL|BMq`2ZIt-b|vA(H}xKmv{LnBfMw8NJFQP+@@ay;gFZ{x#TjNkcIay%MRC z6YeLch+7iB*jvQZ-ANKRQmj>%L+pf5V{e7}O}=t(Z2`i2hgV0tZwZD~Q*Uj`S1~ z9P2KsN)HdQ#0u>Qf^(9q05gp?vm_9KINloFH=7JMT}16eWR=CczZMJ5VfO`#1mzmDN{UmA_i!AAdjO#o3N^z<~gleYR)8Ki!{$zz7uY z3-tkeHvqR~n?5%4?8>TCef5&3@V!&BC@gXQ2&)m5OXzPHMlOqpr>$nC3+esTE^E}a z1{%;{9ucoBb@K|G1k(+-rVH2Wh5pCAtTHs`gb<32xM5>KLeM;KOm8Z2{ZEX3rlIq^d}GK*ovz^h%@_^ z`^x*z3ig+--W#bw0hGr7fRAq+ zT+UsdE%0{m0neYbZ>cwcrmPBp7%B&4m(LVkAH4&4ym2sXt|7y_h2+O>M&Xnfe zk*T^uMdhOVgra?oGy%AoEYooHW&MkYJxdjV;yK9;M)`;-%rKqq``<#Z>V>J zX76rR>SHb;K0|mj@OfHme$M7c00<;myhI}0=!+ynj~R_+r7RZky<>Pr-v&hx3vUZV zlxd*=J~!ku>M-u_b|fF=*u~b3zV3>Y3y-{g6lD_6Q7cP$7pB>NP4dddpA#C;1SJzl z>?)!8G8D~qTy=cTGu$+`T z;vloG!U!zJk0gkNB}0i&e2Jh(pwt_f_L+f4Xk6X^mNf#cvBw3%ocC45J2MHg(<-0d z@k=%43C4f$Z%)tm=GXCNq<3lXT;xgqDWt*&{ntezY_*E0UhwZwpt!(Yp7P$ht`!te zun$GnkGUq}p9jvSyCvod|w?iv7gP*E>y!aG^kU_Uep0zzTOA_<;E)qwY z?Q8Z?TduIaPpEC}o}J|f@^_bExZ&>>U$3mCPC{jxVXZ?k&KfvCqDr=#BfwSuC`g8i z39tq`Y~Wi*ajRIl4Yy{&G6LglZ#{=*hb2;ngpZk@Ltrp=zuBPUT60u~TS93g>R)GC zybjC>U5ghGS-hg+fM-Rld2qcrEPBgf8F>eul}df@g*hjmi5LK57@>4e)gW$FY4c}I z5I&n#+MCLa>|+e)>@yMLe^e=OCD zM6qFks7=J{s7a60O^t1h?05@BF`Vo(0&e~bn%RZ>94FI2gN7FU)Z+ItcbEON+!Lx+ zv;+EiM+?@H+|mj0rioZjUH@+#W5;w#2WXs{;h8y+T@ z058eEH4^X2Ws@G>Vc9$PPaeGiss3#u?J4vjS#v#pI^L~d2Hv~Qdgz*CFR?Rs=e89e zz9oT|#X?<%BlT}r)D8WUg!ArB%7!jH>hdh!>+<~(Tw1fFyqP@3hLc&$xh7*I`W#GR z$#$AfKi(idQpCz2rv*kL8p9OqGfd40_I~my=n|X#khQEnl zgy{}H>&XKEYXqtDZJL$0FuJmrJI-P5UoFe;a@wcL&i=$o0&hcP&e>Epz1(-^wV6OS zGnPvxnOSMltf-iIl!CBNfS%0;3nN$a`g-ljsUZ9%&Dv;rLZq z<_GdcYUfBbS+A-d=9Xc~JDVHl#}Ah`yes*5wT1706bNGu5qhS&y8xOt@_Jx?be4bD z!%oM#K)Hx00xw||M5NI+$WN8`7 z+1{|&!E;i|9a5j;&&aWZEjspxw6FjGAcw9Zp5W(s0WTvaP0Dv5FrhACDbD&mm2bCuQ8y9LB%3EBRU3S7fUMJNT=%3~JgVI_d z&*^A+0RTWZ)F>X~y}Xc@unOmaC@y40&{U`r^HJroUpo)0k2v?zn6$L(GkFJX!vJI% zUT0nzEbw(8+GsIiM8dO(Elq%k!ttLJIqZQ;rv@( z4Oj^@jA(0Pbd;UTp5u}G0)LJ^dFqAr`l)7LUc!56JC;L~+9Yo@HwPKt1V)P%BL*S@ z>kZW(qN)449CpYV;~((X^3S=_%-y}SyqjiU!0Z?R^~g2mO?q?S20Dn=14ax0tAct# zVTE%T^C5>Eb{wam9;YwkQ5xUh?8}?&J+&t*K&0o(%gn3Hihz8rMT<5DA_i6i^?(Rq zFcB0hQsgSfsOR|`_&(=E+SB~oSO5Uf46mpg0r1yoBvkfF`;E9RP@BhY~^uLwdBSQS)D7-{25k((k% zIqZz`gY*^IiDK(k`NY1zc4rVCN?mfjyiRWlvO%DyEQ_r>R2?+c_`^l7t47rh`WpR$ z@`84Ce5TxCvoD}l3_|APMdnVkHE;tHiNLx;RZtEwmp8XK>?l>>NBIZ%DRS-X_MCB- z&Ax!zu?&XXMRKjYUa!@u$(cZ4L?EzpL0pK+mHh-}MGB5`SQYsx{stZnPO6sN+A_;~ zZT1D!mO;2wnlHD>OZ5ir1wrHtRq_N@0~aC;buyJp926;XTs5Jdq3__QnbU&7~Yic#L=Ocd)}8rQ#?v%^% zaxU$ZZ>p7%eu8Gxkda=FRe zWR_}Z2^}JtToqizE)hk`-Llieq)4$M1>Vm;r3bM?TBL(#J)glvz#x#36><}9)&n}D zMH_8Q6eN|hOLS4mAd2%u?W>|dC$my;Cg=tFAw6XFq15Wz8Ef(+ntcI{VG!LIb4<5f zDYu%9W~o*>2v-GDMQ|~=M3de=fhjz$j!CgnD&T|s6z-?TY1GrhIMM7&ZPfF)c$mOC zkV}`ym2$1ws58c#6(%ju1#?mdREh6TE_PMf?HQ-1`5`=l-OV_wx4BQ{qGJ#sEHUeG zvs`U@wWpzVWpP}d3+7NI5k>99Dw*Aizt2iR75NlBL_eY3IF7ch>8$GMT#PIS;H1n# zTqjqVwPuM)X|0Wk93mqU<&V+UtAnYYe(3O&BmB%tah{LxbNB^4%qOLE@tJ<~jGBD` z&1C@Wn02yMw#Zhq$WZ7ImGcD#m`t7lB7}C30+B?aO%O3aeCD`MZ1^zmpeOJoc1sI) zZEMKGYW4-R0xMv;uv|9cCfTGrOvk`bxwbVU7Rsd(w4~O&uY>+i_iL8^QMnzGgid!^gnLN2l zDE|+2_mU`T6dau>EFetlTdfKbQXr=pgOlXYjo2^iGxLP#tG&umYHt*ycW+t%DK9AuAdKORekQ_6k zbG4SITC4zOU;qO4$TQut5gTNUER}iED{iO)VOegs;?UtRilSidwe1dg%&W{y9O!`5Leyl{l49ap@BnzeE45z5_ zFCdjv+GG%QiU^{=PU|eunZ{3NEo?Ex%Ma686mD4@#c?`H2k8KYum^|5j`uOK0!YL% zjG{ZGde9}EvKVWzQu<|{q{J}_O4x{)XyZ-j7M+z#IMd|A|9AFBaAvp1$^0#d0cIj1 zLz*-NRGzbQj#uL zSCm)FB2&lzvq%5R2SF7tKeT!xCV;4j0u`u$aT=!+I8H}pKfOR>_biloE*pvW52@@1xoP3NSj}eU0FpXgp zBgn}KoXQtYLhMIZ6YNv069a$;k1~`-N*ts_Aq53UA9_(@%%DU|>K03~!qSaf7zbY(hYa%Ew3WdJfTF*YqQ zGc7PUR53X^H8?smF)c7QIxsMM9jg}r001R)MObuXVRU6WZEs|0W_bWIFfleQFfuJN zH&ik)IyEyoF*q$SHaajcj!P@y0000PbVXQnQ*UN;cVTj606}DLVr3vnZDD6+Qe|Oe Ud2z{QJOBUy07*qoM6N<$g0jj=mH+?% literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xxhdpi/button_x.png b/src/android/app/src/main/res/drawable-xxhdpi/button_x.png new file mode 100644 index 0000000000000000000000000000000000000000..537ff8ce4984f204fba8e500bceedc2e47c8dd28 GIT binary patch literal 16243 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

wt!kvC(SLtCea!M#EWQI2fvTuES7 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 literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xxhdpi/button_x_pressed.png b/src/android/app/src/main/res/drawable-xxhdpi/button_x_pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..2cb3672fa1a9968cb1ebd8f224ad2ba4731e1c2b GIT binary patch literal 16050 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 mVgX2+JDOThy|Xv5ve2+FG52yFw)n4+9C#SCn; literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xxhdpi/button_y.png b/src/android/app/src/main/res/drawable-xxhdpi/button_y.png new file mode 100644 index 0000000000000000000000000000000000000000..6ab94a40bd7cee0abe29efd6b9e8c8d1706184d8 GIT binary patch literal 16145 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 literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xxhdpi/button_zl.png b/src/android/app/src/main/res/drawable-xxhdpi/button_zl.png new file mode 100644 index 0000000000000000000000000000000000000000..5e507417c09055eec60618ead01f41ef6d3f9eb1 GIT binary patch literal 9798 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 L>nK$#Scm)%tnNR- literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xxhdpi/button_zr.png b/src/android/app/src/main/res/drawable-xxhdpi/button_zr.png new file mode 100644 index 0000000000000000000000000000000000000000..62167e8c06007ba165bfcf9614469f3e3779e214 GIT binary patch literal 10561 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 literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xxhdpi/button_zr_pressed.png b/src/android/app/src/main/res/drawable-xxhdpi/button_zr_pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..10d4e653b0448a33c4afcd38ce54b81844130065 GIT binary patch literal 10330 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 literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xxhdpi/dpad.png b/src/android/app/src/main/res/drawable-xxhdpi/dpad.png new file mode 100644 index 0000000000000000000000000000000000000000..a2cc3e6af6467347ec2cc055cae7dcef5305f998 GIT binary patch literal 6257 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 VK7P>V^w&QCps#DBL)Nkj{x5b?8*Tsq literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xxhdpi/dpad_pressed_one_direction.png b/src/android/app/src/main/res/drawable-xxhdpi/dpad_pressed_one_direction.png new file mode 100644 index 0000000000000000000000000000000000000000..cdf1ebbd0ac86e47ebe60a6e70348baf0e861f2c GIT binary patch literal 10857 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 literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xxhdpi/dpad_pressed_two_directions.png b/src/android/app/src/main/res/drawable-xxhdpi/dpad_pressed_two_directions.png new file mode 100644 index 0000000000000000000000000000000000000000..fb99808b6c1de111b0b4097bfdad91fc153a9ff6 GIT binary patch literal 13024 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⋙FV+dVrZ1sGJiZf4V?q?m5cVo8+qGH_Ci1&tR>gw1XfNgX1ef|DEL^sOqQ8Tkl7Y?cNEP&2Pv`q`{a6Pq4H!G0moJHn zh&C!a1?cyK>U*(csaaKXsvLZC_#C!YijawdOyiqz@{{l1zz1{v)WWF!)yi~b0pk~r zFOij+l~iHw8(8o5@Vh+`;E%LgV`rB_cpa4475pDW3|4&l3EU}#co?C$vIak^8ZVY_ z*f9xSBU#GyF_z39vMmBix+GRR@|VAZrp_~bB{_CdxQ0@U*cRtlwv|f!Egrs4NVNY@^*_IN zQM(I*0cPf?8RFosBH3@tq~W}cq-EXFGo5SUv{>rtBMI|R*+YBrl|L0{DwS%b4qgFo zzBK51*E(~!dD!}f1@v)}mfnOmVOft02W z-=UA*d)0VBt`_qkF-kH;hb^4THPO)`E7AO>n4~jd9&&e0(IlizW`A}g=faC5u8#_@ z|744Nhtgar`ylR9g3q@M_G{sV;4)vZi;;X&*=;h{wqAHlm-~ASGoz+MC0t}RbL40M zxAAr0=#Ojh(dxgS=Q|2sH0MhLo^4Ol_GIyg&p`0XzV7@yk1%_DHE&eq=`{BoC7@P8kd_l=LJPxR>&$(=K z(n#R~c;Y+dWu#bSX!7?Y7B5-cQ4o(!% z2~5F@y6JYciRQS|bBNz6CuU`kz!$KE>U@8YK$6ROHl(OuI0(*(>R}NVF6SpJn=l%{A2O{ zcKJ;kBYMeMrlnaNlWdwsZ%rO(!B>IfNmFyxM}bc>a|!JNtm7Bro?GW^Ddb1AY3LV3 z2;}Ugk(1!-fwObph0iH|*4Mdpzv_D?32 zOZ~TbahaS-y(XhBp+4OY^a5;WI$(XvVD{f5 zE!yQI@wba=0vsQl7OO*}e|n6Rg5z{7WA}(FDvuN9t+;1+uMUZ3yxQJs99jE z1umw7>(R;1P!TI-DZ~(c2n{$j$`xfRNGio zDj0~XJ~L!ra3`kRB(hFriAR-}2S=o#MiSGSi&cfau#0I;uI6Xg56A3}q4DI`qE|W?r$D-J_XR z6Fb�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 FO#rx`BEtXx literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xxhdpi/ic_citra.png b/src/android/app/src/main/res/drawable-xxhdpi/ic_citra.png new file mode 100644 index 0000000000000000000000000000000000000000..11a5dd384139f884aca3cc598aa7043c6576dd5a GIT binary patch literal 18058 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 literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xxhdpi/ic_company.png b/src/android/app/src/main/res/drawable-xxhdpi/ic_company.png new file mode 100644 index 0000000000000000000000000000000000000000..ac4c2c70e89655fd9cbd0e3f691b5949c631f60a GIT binary patch literal 196 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 V@96QPCKBjV22WQ%mvv4FO#orBWUc@J literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xxhdpi/ic_refresh.png b/src/android/app/src/main/res/drawable-xxhdpi/ic_refresh.png new file mode 100644 index 0000000000000000000000000000000000000000..0ec259b8353609d1c9aedeb4f78d7c53bbe36297 GIT binary patch literal 727 zcmV;|0x127P)Nklp8_Uz7v7VUtVyY_4KE3lGiRa3(CVJ?vhw{nM|$(uU`V@Kt)(j z2+1j!breW|V+a(;T!K;QFSGE+L9C@<3RIp)=yZp&GRG9C8-LO57aehMSO%s*V{wVw zGd9tO8ss7nUvf}|K5XPAaf@Ow%fJ+93~?W@hXx6r-;^Un6DL!kZn(tkIAxN&ss>lQ z11is7#bRtcI0(peoCu-s-tXBLs3z{2~Ls=ZfwaX-^2*HSgsj19a1|~u4 zksG4JF$u~;2%_W4oTXqEGzn1@Wi&X3L3a`DQRFNE)1ZRLHPGM~2K7bsREe_~ya8H| zXp;uVIOr6jK55}i{xd{1(gNr^qFiYK6oDwvf;4_)_Ln-%{n@WWwAskRb|6};4(fyG zxdDz3ZxMA+2NgiBp~s*Wh{DOL4sy7IXs^ehqlixE&4(r;ilUrHoT|8p2Izru6O8Dj zN54Pk5q%>_cY?MSxnbI%3CJzdAL$k1AEFRyYjGM8j_5nt^g#}@ko!z|jo+Sc$c^x9 z=o!F6+-vX5q9l zHK!g0#4L*aG*0mR#vH&UW-h%=4$ep661Nv@r60A)LlA-FrY8N^%q!v+NpI7W{LcJA zx9_y`#@0ev9-z~8N_cCpBY+wFL#5wL#@D->F9lgmFv;l;E6ANPyFs}b&n==!sA#S- zo~$XoJ(Z7Mtl>CM`ARqu{NM>ESWS2G+YLMmvLFkxAPdU8p#O{?jX#9}fQkSB002ov JPDHLkV1oHjP7weA literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xxhdpi/ic_settings_core.png b/src/android/app/src/main/res/drawable-xxhdpi/ic_settings_core.png new file mode 100644 index 0000000000000000000000000000000000000000..9d571a14f311efc0141d3dd1c63ddfb98640cbee GIT binary patch literal 251 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY0wn)GsXhaw4tcsbhEy=Vy}7mVu!Dq4qU&lo zKi#fVHb&Eu&dqZ+K9@gl`@|pKMK+)khVT z2(Z>Jk_uX}V9Uvg(i2PqTuXY{ekty<=QUB=HIpq$U-(!Rn`Fv`M!vO+*ZfaZXy&nM z+X3hWr literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xxhdpi/stick_c.png b/src/android/app/src/main/res/drawable-xxhdpi/stick_c.png new file mode 100644 index 0000000000000000000000000000000000000000..9693b1baf5c087ebcf4813ecfd153a19a907248a GIT binary patch literal 15331 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 literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xxhdpi/stick_main.png b/src/android/app/src/main/res/drawable-xxhdpi/stick_main.png new file mode 100644 index 0000000000000000000000000000000000000000..97cc75a86879ddc5e2bf46f579538a2592539616 GIT binary patch literal 23524 zcmV)SK(fDyP)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00002 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 literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xxhdpi/stick_main_pressed.png b/src/android/app/src/main/res/drawable-xxhdpi/stick_main_pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..ee22abc2c30da5c534347c838e2ce53355b892d6 GIT binary patch literal 23565 zcmV)+K#0GIP)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00002 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 YQe|Oed2z{QJOBUy07*qoM6N<$f>Wl*F#rGn literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xxhdpi/stick_main_range.png b/src/android/app/src/main/res/drawable-xxhdpi/stick_main_range.png new file mode 100644 index 0000000000000000000000000000000000000000..2f045b7e3cb98c12fca4b464ab1817becc5c704d GIT binary patch literal 23781 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 LG<;O8?iBSurP&C| literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xxxhdpi/button_a.png b/src/android/app/src/main/res/drawable-xxxhdpi/button_a.png new file mode 100644 index 0000000000000000000000000000000000000000..6277c6bd924b7a6bfc54515a62443aa040e1134b GIT binary patch literal 9092 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 literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xxxhdpi/button_b.png b/src/android/app/src/main/res/drawable-xxxhdpi/button_b.png new file mode 100644 index 0000000000000000000000000000000000000000..19ef9ff81c0243e661dad60c9b190a9a9e1d8feb GIT binary patch literal 8999 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 TwFaDvfctt78%Z~paKgoVJ literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xxxhdpi/button_home.png b/src/android/app/src/main/res/drawable-xxxhdpi/button_home.png new file mode 100644 index 0000000000000000000000000000000000000000..ca593612791480955b976ab8489758e58f86e8fc GIT binary patch literal 11657 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 XT?xFXKduIx1ghBN;pP5t9Xs{kC&ZPn literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xxxhdpi/button_l_pressed.png b/src/android/app/src/main/res/drawable-xxxhdpi/button_l_pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..d1729913638e4f875ce9abe4afb521dbe71e0d3e GIT binary patch literal 4908 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 literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xxxhdpi/button_r_pressed.png b/src/android/app/src/main/res/drawable-xxxhdpi/button_r_pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..6725a034e2e3e71d60c6672bdd8d632966540a94 GIT binary patch literal 5874 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 JQE!Gy_!mQLf@c5# literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xxxhdpi/button_select.png b/src/android/app/src/main/res/drawable-xxxhdpi/button_select.png new file mode 100644 index 0000000000000000000000000000000000000000..a94747d1db9aa7cdf635f718ac71dfdc0f7cd864 GIT binary patch literal 19909 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%0A1Ck9iHMwFfze#Q76(i*raLi1vEYSj5jW6n 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 literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xxxhdpi/button_select_pressed.png b/src/android/app/src/main/res/drawable-xxxhdpi/button_select_pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..b045ae6a56a9932ee48d92622375e0c52d2f1cb8 GIT binary patch literal 15182 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 ZV)HkP%CE=`?tuUYc2-W7<>r+5{{bFwy%hie literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xxxhdpi/button_start_pressed.png b/src/android/app/src/main/res/drawable-xxxhdpi/button_start_pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..ee117dd865e7173663eea8f0258e3a6853728015 GIT binary patch literal 13486 zcmZX5XIN8B*Y2d!A@nK)qzOtF1O!460YSRbq>6wbBE1L+y$DhiL5hT;^rj$1N&pc= zx>6NE1f;0+4#~;$KIeO{bA9LjF|*d%Yt5{geec=HWD;+5{VE+b7c~HYPFF|E1OO;m zgaS$!x$1f)*h{WBeXm&fn%=+T8{pvW4AgJmcXUSU-g9tqHgR^i9rWO%^JQ{GqmjPZ z6&w!7#l^+P$H&3J!TlecIdg_=;rSnsZU2g7J6ZUz`ajqIssC&I*N1E&3;#?0*Ydwg zUS8h+W%>Wre|`R2l7)Ze|JUys;a83t*x)GPe@2eN=iye zNqPG8X<=buQ&Uq*OG`*d2o{Tth=_=ej&5sf>*(m{?(XjG?Ikzs?d{#y*EcXQFfuYi zR^8p*Jv}}B{rx|G{_Nu7GCn>&H8o{#Z|~&f^!4l4e+O%0V>2@|Lw2^Xu$Y~lou8j4 z%VuU~3kwVS`ufJk#!E{}D=RBxBRN$a9UZc8<;s<{wKa8h_20jLtE#I0{rmUdrj(SF zHa0f4x3|eY3JMB4J3C}SPEJlrO6p&EZ*NarT>RkR;9q}HQPIQ0L$Z&MkPz7-ARusj zd`wnPPEN>u5s5_d-65;w`}?my*+L?bSXo*BRhgKW7#JAH4m310|5_+1Dak4Vf%sR2 z!Tuo@1Og!&$t4sDC0pQdIN1S-ME>hT7APnv$bnQ;RMgbe|80sa(9+V<(b3V<)Bo#9 z7RcS9{sTrvMsn}W{{agN%fBg+OExw(c6RoE2}zD33!I#sWKNRtFVo1G^ytz2lh(4Y z$#qizLr~GsqgdEDdH4hbMa0faNXscGDXXb#Y3p6PZfttP!upoI<87C_9-a?;{QLug zABJJWBcozsVq@bH5|dNX($h2k2burk`Tqr(QdwEq{~#wPhfJ;)WaN=SCRsii1qB6U zLKPLgeEI4hka<^9Qd(M8R$g8~Mr9?Lg4NYEHMO;`$#_#&SNFD|p|Po{xtUDBw)XaR z0)ap#UPnh~XJ^+xc>f=eiTHtx9x}*;B;(`9k7PoAdZ(&$767SCT`hI9!0A7^hgcTp z@nvx;Wy;r|gi#pG0s_9^XFINLtga1bhdZaLchJ}%Z=)nimdj;Oj1N$u&goPG&fL$g zWtE)OM4zYPr_pVG;v4JhS9YlIH|Ry#btT;ZbCt3BeMPl?m#Dw5%7+>Ti8=F)W>2ra zOOTObzKz@A%T;8V(2K3QB`bSXKc`W6ZJpt4Y8+ZOl%q)X$S$?FtGS}0n>jB?z{h@~ z>d(eapK#yR7m9Zs$ERZPTT(-@8XfjhC`vPP^FwRO6aEv{7WDh=ha6sknXP{Fz5P{Z zHg5VBrD7j0yssqTgDEN_`%YEu$PY?TP>`i%si=^&z^Sn%XA7`hg7MykMjV4W@92qj7Zk5snqp?e6&x*hA5e>aq9gYCU2;r$y_7E};e;9uZl zJVO%L%1#_+kJDc;W-CCW=(T7Mg82hJ#JzAk$o{H5&A^et%6MQ^5K?y3*;%r*U6o)Z z(s!EPCuy+Imo9EVnq%KIXQGXQQ$sDHtc_`L&>DoFb)WYD1Vwt5K5SeE$g(68FQGA5Bz!6 zFYoF)IaA~H?}A!d`Qb1EE)cOn^@ZgNPA%?sa?trReh%t2YL1q<1k=T<_a7SX8;^+; zA70|o;W!~G8=;>=aX5>J`R83yDpICa``Ny>=sR|1sv|0sWLKqfReI#pi1PO=au^gf zP4S0(eyOX|w6-TH-;UZ6WONUM%nl3wwrbPl<0hfh9e&j6ZkEy22^D+TQDyPfgmtWfc%vpi5Pj_>EugE%R#donWkH#-NK zg?riGj%+_ICa`drAU)%0H#+M#lMBXuX^vkUa2B))PdCJGIl(kL3FfKcThvUBq4rA6t%YZigx0~kNZ7QYQtCEUt3iB+|r-DljZ}zNZfHc1! z;yCuL_JzC8dR|R*3^2Una|~nJow7VO;OvcrcFd$5&rx@FKY3RuT(5I9rwQfTVEoMR zc$RAV{%zcQSb;eHj(rH$OvGnSVg9v|`1g~vm4K){Ck}KK=z|F@wq>Pw-4#Vfogdv? z`RYJjVdb@6^HKrQrug*?||F_;c3S>TunX2 zs)fY*CngQlq2kv)5e&M0&eIYhM?G%;Ks0sd+x0J!&0$x+67OiJgmch7HOJ^ly%Aqk zdh9zpi4V*8c2au>2Ztq5>aRx}dGa1gKKX*}3SCX!gbP4X^w+yT3)PMuCNs8u=w7}5 z7$bz$MUxL=$ldTiUwsuTeRc+ui)JtG^Q+))jYqq$n3k;=v|MC zNvEFQbvSnw{;>}WQ*Sg}E&2^s@Q(_%V+*Pu^{L)ngBD%I6m;NIW)v<~lDJk+3Ty4C zOYJmp!f+Jbk!EMz7kAcTy7nH;AH^MqA*R9UIX{1#HRe?=VBpu{~14u8$ zc+u$LeBua$hI!g9X?Nm_8McB?^n7W_{5qZC^Gey)*IkerqJrt@VUIdE0d&aySK5zC zcCl$+>=I5*M-F>7VJQqxpWcjKC7wkjbS38&H(*u26AexQJTg7}C~rpfLYlOMz<1(J z<5Pnz2oo)vy0(SN=vXQyLzAunTlRtYy2IYh*=TZk-ghoOB=GnXI_2tF2yxc)593?A z^KkLay^IU=njv5`{9M&#?JxT>hThng)AU5Zf;4QpA9(pEXYEdGL%W6`<}Q?IG-E39 z2%${UFKCBK?_b^h^b#h>RzXSm_0~n1OLOuJBeMo_q*dz3hQAu;1Di5Jl(0@6C!d!Y zu3^Ozfi7hS-IsB?fOz89dld|3_B%anG;AmZsR7n0%>Fj&H1e=`gip+(o?8^E;8pTu zdpFPW%vOf(65oAnj77>FSVOMrg=f;bl%vah18Q%$aULK+V{ni{`F6C>e)5vtBW_$l zN=-$Q&+hCW0Y8!}vHlKBL02{N&m;y6}azdo}7JSY$TioIJNE|s8;iHTy%WZU# zy4QmHtEQ`fMnYe*syjse+?l;AZH6uS&hVZ15e{_}J*enP3-`CPKPa|FgM52*%cQY+ zhlEQIcIp-_Y3D3HVRjwAXTPq@uO^3eJ&4uQS7nK!mllMvpLuf)kM+AiMan;n{E?@c zkJd$=>xJAA%?ffff6q@$U8)66G4hY%T%&cNdu%=WsmIhuW79{o4>?;`K=*lA~ET3q&o4lE4 z3C9@JOv|@+5dAt_Px*G81R&k=&l#4@XNF0de=@a!Z>;8oN3B)er}}BVFYPPvltbL` z;okUK`{`jy^$y$W>`s{!YVH@-^J?wx8 zc=ew8Q&}f-1;Sn<)ZCIkm!x%?ZHQ6L;i%pFGD&F#v`($HFuX#9&NO?qGScNQ?HA#M zct#VJHkYY{L(lypD0+1^?RE;2kqKwB#|Se1afW6alLxS{L(RXrFeUJ$HbW3+0cx7j zW=5+Fl5Yh#AIjU9-@qZj8Wrxg5r=a(RSl*o6BO`zq|ok3Ta#w;VNq20TWK8$bL|H7 z@UN$`T1vPQY=~f_P}^{rY2KxbHgjrVOnOTR!%MQfa1;hVr9hn}I}CS2)-4nZo;^;P3p-B9>&H+18!4FX4cky?bxg!7g6tbdEX8xEnM0^&=_xQOVU-cvOB?p*%&8t-g8REiH z8dU&1@t!3eB_;CyGi)8#9h?-XxpxsSkm5Rh;VzGI5*26AKsXXcpdJ2xo$T9% zd>?#`9_-#zVXE~963aQ8Rwlc=n|uBPB8+xB+QIgfrJjxcnX@@Pr|(7m>a{G zm%4=4N=f>z(4Q=sJ~`kVQp@+-*{Q7S5OoHyyG|>D;p)oQJYt1uU%dtn)|9%bQXC1W zQvu9*$fZFlj5MaW&`>do?dHGdU5i}S7XhXA_x!iI)R_a-#zC$d6whmsw<9ohbxjK4>&3&- z@>%|nrACzRrh1Ww*rX|?J@xXkS&dTDuEWIdf@=zGB zy_{c96NMxkmfAB313H|$J|;j8xI!~us=We#b>Vft8TzU7AztxRB@4ywQ%D?=pdvii zakd|v?-Ia=+=ZxyF>SkfdBB=`;4I%5%-&R`<@MbxfOsWQ;a<&g$e#w3&^%?uL%d?C z@P+CVljAzc`7Y|ips@pfa%9b`PZ9I{?T5N%ZSC+8(D)I4`%Mn(8NKU~OFt}88JR!^ zZ6mbfTmp5W5VvRHpu=6$2a4iWjMKfZnJqkENIY@Ij5b13z#&~+b5zoae))rbjXQWo3imk`H~<^mbf;fTd>$BPbgqO_1(+{kf;8^(yskNEM|x-cb3 zPjdxoZTSd1g_i>dN8IHCM<%!?rXeQ$ifUNhyw%)1;S@@a;zXvs+OT~2Y6A`N*KnX* z{vd_A@d0xVU!34z?*V`Jmc^*U@aY8hozi(|<0V=+Uy69UqL;;_UBng8kOgG8OQbk< zu3UHwZE9hWGWX}Y%p`h+Va|~cT-8dDy$v{c_wp&cY8e{!9%8VZ;O)Fr$#E!wNqBqY9eZ^DgK=?pCzV3Y&Zj!>Qi2;9#(+YtV zlLw;$cA|75UU*qa_(#mF!*mQUbp!@7DA7dm62^pa{fIFwCBaK5LCW7wGb^vFNNs`u)Bm4-c9;?Y}OxTdT# zm%1(ou6>aB;fcj~>()6j0)0F>hb8$diYwEGbEBVISw+u#E_YY41pX)#TtMy(D^p!Q z?Sv$Y9qvV|)UIzY3whglW^8>`GYiQVYajfTE#ImX(!ILAd(yuU7B#6=BjYJRnH)Ek z1z$RU@c4(jr`rpwXkyJ3Kc^c?gGhQ#5F9w@=KBM|O)~Q2mC*N>k({hA`%~CI%i14O-~uTD zZ>IoGYs@~0pU{@e`xREBK5!h61%TOme@l9t1)V1+oOX-_`ulLuDFj^4GunmBWedv}w)TMSrl-hb2s0sS{t z@CHzV&yJrvBqahTne`_o(UlTH{QUq5l)r=$0u+TIbDJ$e9eSWh599aQpMVSA(0|Q}5P0r$FzIN}L$3tGsjR9wzA3Hz8Z-_8T|aJ1)!cd_>rmm0SNtb9<|sMSSq!`w zV}oL@sV8>>srY(Y->n)=VDD-kdRqceBwHW})pFE4j4%RLleX6kdGw@*6D&yKg6Hc> zLEtkh1UQFKXSsCY6{|%*2h8^913!3JHXxb}#dNj1$O99W%v>$;4b5at5cqge_D(h} z;ja%HWaHC)-+LZwuV5YLrRTD*L+sCda(U=1170YchvBDOH#j~h&AnXbffAaS_4&Nt z-v(_>w^_mM`(FKr_~*A3c{I=br%C&h0&#sLW>r0#e4l9+@;t#Di<6|qSjt$upU<62 zi_NW^{kGTiIQA*k+xb)AcMTF$PcnK2K6Ncu@)k|xhaWuJ3JAj9`}rxkI_u3>F2F&- z)+Wmhh9<@V+CNJ2Dr8xYm-&Mc<&EoA0S%(%e}h+Whk(cB^r?z2bR&QNTh*;{m)2q> z?JO5Y;A^T=WT443=cEVSI~SU2u&F1;{{6eXJP@~3TU;!Hq%0KQ{4$XLyT6taWFfU~ z_NaAd!YgiWd5AE#Y_3hk8X$0r*0;*o0Xna>aGb&d0t{d>g@*A|wL%a*I=1Idb0T(^ zTm?YC>{{Oihh0F3XJM6nQ*8+)q`!*H58+gXNcLirgtkQDm(DysEby6+?{xkU%J8Io zx*+O163Uk^^gpalZ^|(FuYk})_p1<$FQ^6)oqIp6eg5Eq1iYY z;{}4Yv|F$DodzyA+yPJfM%FDTFjtn{44lDB^-meUA%vwUzM8%eeIKSzw78oN!GB@b z0Ez}uFDsW0Y1v+E{~G@JEwF!PbGVBie zbi3(4iBK22&Nfg3E2>q!L4?K`(Y$*X2{#kq6?Htg_my*M9kXHQWZ9n;N`fJB#`)$T zMGvLIcOZD|Nx3Myf3?Aq7T52Xvb!nC?r{lc0r0)5p1 zj&w!Ap3G3@JT;2oVd>Xb#!L}UWH60e>4%DCv7O1Z=geR+m-!8P+vjUl>iR~SP zj2q_n-m@aeLHP&U6e^HnwZV0v5>!7Fx^P4O)Rhs)oR%%_AiUiOY^UH-@l$EZ8fu)K zC|LN&zY{-FVO^kRN`d<|=Y0*NglNB?=&Mis91QVti@)kbX^#Zt4=~siTcf0BDw}*I zf`siQMH-ND?nYi?(YMdGrOcq1mG8!zZg+k#OxL&AxW{O~KyB0>;@qRU4M|aKYtg)t zeCM$QSZJwi(Q&Er11H)F$gV8cCD!o10HZe#H*S4~q&&B@5^U9aMcxTzx?8ZY>qa=?qV|rZotrWKZB{c@;E}= zC}0rf{pVD;Z*Ga}V|8+~qenB7x1UVtfhs1T;0+;qn1^f3@8}x>)p`g}0pK;C_Gj6`R+mX$u9GTV&^u5r$J_lxrFQcL z73kk5F9rgYAP{?*a2xh48;1Ml_&8Gp_EAMo;71wibf^8eZVaS6uMvc7g!R|S6W`yJ z{m-3@=jiSmcWdCJBgEgc4FO;%p|Si7SdZ0Deymj62L}r=tg6O0C9gkhyrKY>g6}~v z)wdxVRd=j<%I{jpeRR(dH|ZIis~Tm>UwcVXXx#&N!%&=Vl5cax{Lx6qId4^J|7jhgp!?EVQoJg(&xua!LRwLurmw;>uX0@?F&_*xvQ$xza=)$#6Y|(%&+w81HCi^;a%D} z_P~x__jWHczvJCobX`^-*GMqGP-$iw_33LJNw1%m^45GOxMx&us1`Tdr<8a;uQ+Nq zR~B^R0=jaMj*GI-ihFquJ~q1N6|25}Vi(eG)D>V|>dV*S_rYBfGz*TQLx$Clbu2z@xHCpFU%E3~|EX%xJ&gA1Teis}*CIAhJsP$#@dpOZP`Q@}iORj` zH@9O8`;2$Tn*YrmUujxvEcs(G(VPmi%yk7GX}=U2-jC?uA#f3}V-tg3#dV&87W z`&a>^yUFV{bYOII0}G#G*XsS0FEl~TFowxk~hIRCo*^TM5s z`;?v|aKZ%jENNNS8VuJ6>UCvZa{g$%J=xE&+qOsZdgN-$m>RWVhe{O!tRtgo0;iDV zH?WdPSAhi;$`r%d;od>o7Yl<0mw|)uC^R;QR=Z;QdlcswWueh~rdcgd-30 zjms7dqRTU1uGeF$)WC%s(Iv3Ch|#D8y9*Tf&3xl&|L(FiYEheRk6YEJaXsKrpBYeh z-MQO|iG&=~=dzoe$$yI%N?<~kHr^BtMFF8E6rUyY@3%=BZL@StHc!7{v zV?uy$>t3`r*a(*gEH_t(AFV*vWu-kgO}+5DRgR@q6U0hJAa~!Q1cCW@9GdQQ5ggJn zB=dG~n^Hvt*E|QmH#r2d>mgn%)^CR{a)Oo3O_(Sc{UHS_Amr6WYfM+2(m8?5mvrDI zMT~HmNt7-aRx%2p#=X@WhAy7{o8Z4;u2LOZDh(bMG2-~1(87|CIQr;@LQpp%$Nu}! z<}kC+#9}Yv@x%+CNe+-zNo_nk7iRY((yo>TSRos`9!%3f7M2c-9L{T%itlATo*=R zf>{~`@sTuLN?Y%7eBso+gc-s*+0{=QvXQP0SPtzR&w$a(!>&}g;=05rxrgb7Z12^! ziS_f+waghi@AhOx5~28&G87VonH=beJhnuFk5C65K~tzb{@G=zw-&FZ9&=h$p7bUf zDA^vz#;mlvUCZn)6F2B?b>s)5!6;+iF>lp6%L$Jk)5346?8-Q)$9#l0gnj~x5>{M2 zHD8Nzj}k!BRK(Y%g5HwIn2p^cfH(MixP7Byy8iw|RlQ`%SJqnF9`{*C9$;YAc^)i0 zEZn4!;sw3XbqeCgD~l{DJUi}bK=8SPh~J-{%g8?7Bp`Z6_*x|tbD6E~6$HmQKY|lq zg4SH`akq051U~gpFD>#S;z$Qfn55buxDl>V+yZuD!nei$aHA>=?&oh)c;pyJrcx0uEG2&xyVn#opq!j9btkzSI`)f$1yjy&Q}7_zazvq zLLe>|m)E3y7;zfq_4){FXt>`Hm7mFNsA_tqN(Snse~$L#BNP+`)sR`GZ=Vc(g0Rnc z40^#NDx1OVN8R2yh}W7?~6Yv6s5VImiMREF~QVzamg8Y)~(jTNdA_ ztpFZ38Z+;Ep9h#kNJtMDPHN@Ix$XC-?gi*i$3`Zc{@(ubHp&vxd#LBc;VKFQk%@Il z5Ol5zwLU#Ay?IZ4!KJ3%{J}-)!)dkw(5pt!5@wS@0cm9alB4rG4uq{V6)wQ{Ui2q& zZanRR-X{01Wpd(v>N(6M-+`gKaZj>=)H6kDeQlER;4(E%L)>D_vF(i51vXh=`_fPM zO+OO%1+sqB*_8!`+h6#(J!CpkYaA*U2h@cMc4bXDhhpV7euES9bF?kDm4L7D!v&jutwos2dgpo5z*FqTMWp-OWbE@!6jbbymOSpMWo!2 zmSz~fCVE~{tooNza@n&QHt^KD|4wXjA_7AVd7ZVEmp#Yvjf3sk5;Ics z?s>bkmFZt)_ZGzBM@J%pbOGK~@@5tSH%aMgjKCLm?EW4~8L(8g3%dCE$IbRT$7$~t zURpAtN%KFOPv5AO1sZn>XLL4v^Al|13vZ$xK1&b&^nNg+qdBVFaYs>PE zG7vO#30|NF-@=xj?tv6gj1V`4u){!oFxd8aJU>J%Zbp3%gXR>2{8OCYDWiPxQ}?;b|6*Pp&hV=S3&@1 z9ixgyq+!Aw1x~vxP$AN&Zev~h76*K$Bl-w5gy15M!@uoB0Wa&1U7EubjbCB z?gc7kFC1A8$49at3#hydDRs(l6EbE{!T{ke{;M~}1i@2%gY?bGi0-}qu(=|-6zYG2 z4g{32$*N~8;^GIRdNR~AshTAzet!g*qbnYijUPb@kC$YRz}c>OMPoULrxcK*;32>< zYhS~+H2UE)CUAi#Xg7V}Ww>2)iNyfNO$%<(aq$kmBE`HwXMqfsa4Tsj!5}?B-4&W+ z2N&Dibh6kT@?*a{3~wx?g#YR&QWk zDjOv#j$xkDfo*U&oQgy5Ucl^ygY`<5(mKE71R#-; z;%^~yO%Rn%4(xX)r@#>TG6rd6Wlk!RKKeDCb5&#xM~kjgApejT$BcgtnCz`7fB~kE z2jrqyKdEydC%-_xp@r~2KCI+@I#4t-ewwTTv0lyF0XkHo0~pZg>7_p>p#%v*f+8xO zmYGypGwsw5QcDr?1HggvJ=%#pr}u=C9QqM|ETKEwriz6xH9b*2>dHtEr0_^gqu7d@ z9w-2^K?zU-JbW@qR{ceO6FLU+mIfrQK)OF77^0kT)#;_riwr-?Wb_eaU4_Ep zY@&=E$>wM_u!K?oa)SbgcuCygQxq>c4YFd4G6PgK`lLGOfu{R4FxSjNA)eqlAC+l- zB*JQ+26FBXSqg^o*^AjffLfR_woD|w(T~B1q3J2m5H=xPI7O%;jdPumAKw%8Ys>`x zoR=~xzcbR*1qmLfnotX&#M&Dq8*L|p-<&);?HD_VLr=2xy(%b zHQT!WYe=1eKBvVY-4u%0ezahb(gsX)99NMg$t2BPjBlNuAqfs zN>L;sJZUrM=WV&7$V^&6ZsM)zO|0EUhtXiTOlDCe2et4^(%ND4OX6^A&!wwE+D$5h$gxyP|;aKGob+L!Z>L z{<7EQ6R}6*>yJ!zI@?oox)wJ>I4E7ENd?D4e+Cq7n{R){%ps9bk0rj>B(ED3gNV^! z=`T@u0h}l9tKTXMb9aOgnpsJGa5M)^AB(4er(b{vSFS9cVMgiSmPj8Y#aA4 zft5N1T2K6(Ht&ast%i1vQ_a2o_OB1Bn6en2U3sJthbj1)$ATrCOe8JXh=fW+auW(t z9&Y7bEyNPd0tTZ;!;(-HMYU+I@W55}LN!q$3sYK^D-NAFZJ zeJXvY3?0?wpbuKxEsj~`{TFP`b2^=Mh0h~NL2`#Q=E(~-5-NrlIUri-rM-4b3oFhN zQa;VEV7H6vs3Z(88#4aL?XO`gwj|h0DT7*oGdz1@gyBTs84-W^|<`ij^I#rn=dz>g=C7Iv8!iZkkLSX>L&Tghh0Y58CMIPRBX6#T<~22ptGr z95bv`Gb0|lM>alv@>n+7s(pdNM3Tj|hA4QzEZneYVvNk8V^;H8)9#Cg8t=|V)K=rY zO4u_B(xkWK84fXJ(NM=3wdD82bckwz4p&C=XjlTOEP)D9RTQ^PI+LT8bh`GTVade0 zIg}sH&w?AZ*F&R{PSLyK`xDfUlzl{Dk{Y5$wk%1=nM7Ps7}s(5_D~pYz2T!SL)L8w z6J0Y;IC7VrWo94IIq^d0>dduK2XA2|y8tMqJ*pA}L=Oobx)F98b=Eeusatcn9&8CWY~vr2&1)eD0ju~id7G!0q_-%VhMS+;84bOM3-9D2uJi*lS>U?rko=QWs zah9{|L4tq85fgk&dkmdrd~awExZg(-wPoi}NUhI?Dp>yd(}%YW?tghDydvF{85nUa zgrbYn4WHq}Pv74-`Og{3d!2ZiMtQecAjM0O)81P>N9hE zvwf9qXhv|$)E=KOg?ptd#V^zX&c8kOqoR~;M+JHz1f`#H;5P}Z+~?Yjj}iFOKC$^j zz8->M`}L6nn^o#QEhL(^CW${qrcL{g>1XVwniBc2X?mUNlWHpd)bNPx!xVO%L4qD7 zmuG0);dbd_H7+90D@a4qEEAIUJz(`-A4V~rYP(dnh8|jWvRs*mEmuEodg3+w>C(q# z3R;|G$$81>Z^JT_TkJZd9(`_JW9lzokRPck;yAX+2LdqC8W_ zW(;PD&qp14X}yr@T#P8nIOSeugK$@xo%gsB)!^B#q}h^(E8}_cHD~U=k9d#YU)E%# zA|KrqR79PLSYXtmP5UvIP!wboYC6Lnz9n9|b=EGi(|T6JP0gzS9&RXyK)h!&asnK2 zJVq!=>YHE6P7@9umn_Avb}T(=ZnviXp_&<5a8mK$^lJhA`3(8c7e{tuP(JE$BWk@z zaaZviM)X=JEtUc)LAFiv_A9K0a*}0jc$8zP)RAiArl!M>y?K$4hR)gVs-vgzE9_^Z zpm%Bd^g4u$+`&H`Qo#}NF$V%fm7qm)<4t@}*-^ph=yBTLA0O0|{Y0<(Pa7-kg?LYs zw4$T}qr@U0UPdN@5niTR5DV}T#;cWI_DoPRnJ5%wt~#P@eEHkXLKVf>1a5$VCbiX6 zd&e!gy{=NTt17amvPoYWrHDsA)p!U*S)jBHl=KScn2b}2b8N;+uDPpcSnO<#SGFS? zs)fo(zviW3wQtrr+$NN_pLg4n4+f!dMy87*qJU=6ISMHzL?>{nZpkTn=5Ijb5B2qM z^yG03`tmnrr-ye8FMs@{6I66_sU)8J4KEW@=Vb?e4oX084zx_e)yk+)FC)hfy;{*) zWpADt@I0S_y$h~Nsk%jRTlKL2y|bky=^;lvV7P!F9{eB;^kpe-K2Lof*<4T`@TMpr my~yy+o%<`KS0x`vYVOhF$(kQutCRni0d%ii*Q(O6kN7`>e57&! literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xxxhdpi/button_x.png b/src/android/app/src/main/res/drawable-xxxhdpi/button_x.png new file mode 100644 index 0000000000000000000000000000000000000000..36aae0bfca1ddfbb6405a65e532aa350a571c070 GIT binary patch literal 9009 zcmaKScTiK?8|^-6B=jal(1hLvrHG0Usvt@cMT$UZ0@4D4Vu74c1Ox$50Tm?_0TnP( zq=*tPC@3PJB3)uZdJ*X*dAaw_yYriQGjIK|_d4IVzHd*~*(a0iB-zg95Fht;ZU6wE zm8ID+01zCC09YhvYA%*<<4lqf=1vg~p{FCxdxrZ0W1mnjUxHPzr=RaJUr(P4VQ+m6 z0Dz|LjvO~95{c~pi~0Ha#l^*?rKN?1g+G7(EH5u}2q*II$cb<`XZ)A^%Q@r!AODH} zU)jH@{}pifznA}!|E>Dp;Qw-t=HIG+#s8-M8;gpH%F4c{ya1^#AGr@M@J_nCg$em z{$1tFnKL0FAso&zYGq|*V`Ia|$H(8_pT%NvjC6Bz^YrxmH_J(FZf-g{InS&qx6f(6fHOfM_uje^`UwV}GLBHDpbL;`*>z6lX{oW67K7|i!YMLlyFRuXKqX$xv&eB@~{kLwtPENMoiY_nb z+k7mP^lO>*E%_Fo)Z1J60S`x$^I2aMS=;Ot*Q!iK+EpIUHidKJuz}Vh$QP#w^p<4p z=BmIu2YMha|ABWk`Cor*ZdmMd`EYIIy=puK#e?Q@xp<*^ZX4@Cp?Hm3w)m&;QTzpg zeOv>}nx=Ts7mETf5)NV%v3q#LFBo9= zOkPyl8{D#D8l`~M6ZC&*Z-aVewpDN5L3?@R((Sa3dGdFLnK706e)G1=my&m#F(W39 z8ZqcfQ#-l|$r5$D{;T}s<2A)|?;G8tQ&wN9KKahT#2O$cZttu>_t+bGpYTw9S)Tfw z4m?R$h@FfNI@-*$5l5VRvXeci({`fMGF`iAGpYA{dM*cU>>92-;qhRrA~c^y%)&14 z4o#0`b)}Erc{@-Vs>upD@fQxkgPeG)_vJ~Yzr>MS_?Y_joexH|uN>n3$$K-9`s`eO z+KEN!l3$e}pU=zHIn>b@DC#~wpW;DhD^2^eAukr^t$Pv!nofGc1Uqfouzp8)L&zqk zHdUbM#rlb3J7cN5h#g2@)G_fonFx{A){m8mBadR19-MDsykoQ~V#1SyF2$c0AQlF{ z$=Pr#Z92I{eg*I5^HI9sts;Lh)H2-2Z0iNn1V>GvhATLY`$X?3@atiHOTV(ZEUI5b zl}5DhD0_Nl*7fPTxl)#U6y(iFVhG4&|aIL*5E);<1ijT!d$OmlmeZ zHVrp7iQl4oGjcJ9vF~f>Uw?g|bjvoae;Y}0(l3FK2<^)aW_YDv!9Ncbyu1n>Kov)s zUf4ZpQ5EuYB!ygOOwew5-kK&G7UQa7v~y|Z6U>K@@^g;quIJCD2psAwfwU0=*Xrh^ z&fHfMr4(*%B#qW;(JV-NKJ2~zIn7Ynh;?Rdg`NaY4*Gg z5`(&GMd%UfoNhwhqzHtT3U>8U`&Tu#DPi`!`EF|$LqOEuKt=EV#Qymx`nQt2ku(&n zVl$RSrnc6D9nWN(F~~}qRJ_*j;l8<2njlOy5pGLs zVMrU+1VnF6v>;R-38FVtzl2^*U4@ce44b&Mn;Q=WWp zUY|VSp^;80`&s)K`9_{@8hMQ#_H=P|@HG42x~By(6IF5Dz~Xb2Z@1Bvg~1-kTiCLD z(BOV9{UPh=jS+}yq8XLoq#5;H%!n0^3c_}UWDM+yQtU`?8kDD-k4ZRteV+I|lHzT7 z$Jkp^f>1zdj(ow|Ts_c34VTPO*v(fRdgqgo5vxm{{x#Ku&EopF*qPp>jx*3vqUtOU zd%d+fyFS)B;wH&BD47b1m~ zZ&8Db(irA8Y(t@p*HN7$uhgZLSmHz8o7<^{j%2}mteUl&k?=LYH8m^5fM}&B?VF+z zizQ4?dbcg8-)^GQ#q=F~8`d>zk8=z7GLk2s5sF$UX9nw>$K`(5zBINtXDX?`kZ^rk zWKykxUAdgDyX=BVvq_Ki>|!@oY;p3MkTWXK6j|1k=gT-k{Klc9 z|0$zKU3m#hr!b2@n6H(mj66T*eWK`MC9YO%QLZfs#KMp5dnj2;0#{)B7?yWD947r< zgq$!%2}-24EklLN>s2>dB7*hKq?{#zEcop8Ww!p-$$PN>g;;SXHWQcB)j-5g;W5y4 zXDNd%cu61={y0fCTjq*5?aU@)`;uFF3N#LsQJhdgdRLxMeke}iwV=^0Xu!p-Z(XU^ ziLHfm!mc$EyyY%DD=5%!GFu!;?KRl z>{|R8RI)sU$PtAk%e|J;BOj;O8A}35a5N9}&@SYhjsvLfn`1$L14B<{NBU~${ zOMVL9qesXP@qVGl2ik=Vp?)BSk*Xc#11ZAcaycGik66(K)~A5%5m;{xZ#DZfU8*XmJDsF35{ z!V;r6!A|w4SClPRJQ-p*pgz7FG}e853SiYoakjk?V(%^MeqfGNT_dl zrI8sK05S1Kf0>g8Y_~S*0aFcO_*KriwgU~Ex%K5q!$#Vqcpk75@lJ)=7`lVt3hJ)H zBhk#*T@am>v`);c$e7ZLgv%&5aa}7^XOFLY?>mk03kKlF)A3RF4-gxpX#(PjpZ{Q! zo?=DU8OKNO#=WUWwhVDOUcNs4mTL&|nniwU-P{h7PP^7w|dd)9ZApTp+kY zz2&j9r$dgw61AgB-E_L809g594`A*gnszQwt}~vwFT&99<``_>U_9Vu-V0T7#ixTm z%6;EDRRyQ;RiX?We1zM748>4kMCSfN5tYzU^+x0b5pYjbYwWikIE!HBi3f1Ez5Ko% zHn#z0$A}e}BMpXpA8@cEH~G@7Ou~PoX%v9nxyQr4Axi2H8P?E1WcGQ)SsqIbbgqwxa*PV?C)e|S znV4KZV&-YP?fY?QoTk}`p;MB_s!rU8_Ca=cP`#&SQQuL-a=!Q(-iBQeOtBNbK^T7! z-eG{uJPJu#O6kAH!68yn{7giMG=iZ)=+-0mzjo9LfmDj&lLj-WZzIAKZsj_vTv{)} zuMS-_gbC5t;9dzs(A<#w50)W+Yg)B&=h#h+Fs6tt4vc5(zZfaGptKh(y`kOp1^Q4| z8KnJgm>Gn~u!U|HAz-KiECwV9i^=DCBg zpg}0oIr$ZX`lIox7~GxtwxjPfT#Ja(GrsVvweJ_KI8UYdck1UMTGrCvz5Lz_KZ&~9 z&Qp0%wmPc{+Fg!nV*9}cp(me1tCI(V9O2Dvh@)6H8h*3cIj@QJd1H({?K;*;`5k@P zJtM*xJ9?Tf0NIXb-yei8QNZQR=+x7s#EV$7YQe>_JEr?v&P1iX<#*(dZM#Ag&zf&P z@YQgmXKvnw!LLGk{fNTzF@cbzuvuQB2R;I`UW6kuqr4W7aZ`s0^0t()PE+LkrO#sY zVS@j2HJ_bR?t&R7{`75)#l#OH&iNzW&^H*nI$TzQK@pTxjh_C<7h>Efj`G4$Hnh*@ zt$o1qg#YoA6~a$ZfnSeLXQI(M?Vc`wAIF$sDBG(1TzkJIM6vQ;G#|4Zl@Kbsrt7O z(?NJlN1YTYLb`loNO@VCO0Zs)>+>6?ST!RYb)ZCWs#==+^&o=Su2;qvHG>x7adJkc zCYl9SuG+>MEKk&CZ!^+EcU6Og|gSsv?yL#nQ5?-!#BgL3M?ZLJK2=|0Tng2E1- zJ~Q|skHG^ZNw|vdI5)?-;lRnxs4cV%k5e$3FLM$)3q6f*a(o8Ou@W-TWwQvsNNcL( z_L5lRtoc8OrGS~3Ry9vhez>}{7w)mTK~jFwTZH3zY9uN&5v8(v@Ocx9#p5MLZ{V5E zc%dv7CV>6$&4b+-i(#(qbO+~VK5%JtjYF^WK4`Cv#MpEq9M4flgFRJD_BIpMzhyVw z+#1z%|5ydzI!c^4QBdQ2_$1O;{hRocOF`iNv=D;y7)w-p_&lGOHSh6Nm)(EK!@e3W zccaDdmX=&FH)s=P-CKKNSQr4QwZh+fexDrYh3a9azch_>SRKRJIvS)=iLNJ?ta-1? z5b${o%V&xFA3q)34h(ccdELxk$Q&0YSUZhi;O*ch$2oZ4r+U)_d@*lePFl(D*hag*z2Z|KXSKDci0}|aZJ*~Tv-a6F5l+SZ&WaL;Dx;EI8EH0ln&$XYiKbF%c;iw$ zxV4}2c>9&1nZn?bXg^Wi$}cWU;z(! zFI*h-x4PRDh$a86R{2}4C;&OhOro+8J~)wQ@ClCUfS7!G?e}2laT!D5oi#MNs`EvR z&J7ptP4t;SGCPD7y&*MVdEK2yHBsC;Ck-9+46&psEMD-NfB{iY<0n5PDiad;vQxJH;-5^TY zQi%kHX_A0;()i?RLx2x3c!wk#?gW>Ae!*Rq76AK`L%Emzk@c55<-I_|kL%FaCHmeR znxwP`FkGp`Go1|%6Q%Dko_{@uif(fN*XA#pWDI3x9NWmnR9d5~>-~Iz(1CK~FC87? zf>*$0m(A8Z@KtTz&yeGPsSZOp*mS%zb?}t9?fmO}*qcbv3tqW|@4^@q zLk!bqv`pfYRGC@{ppWs{F$KKkmYYrVo}^kGLxOPpXE)n7LbJ^#=QOX$oVAg8RwK@fKrlsqYXE_`PjQv zd7trI^oduujTn-DH8omyV09V|cQy&l4_^IpF7ILxzN;T36z2PdgIon4)MinopG2n7 z*CIgly1uzw_?-L|%EBdo+)8_cGHW_F+0MeB=(%3p~;mTK1^xM*-x|x|O zCVZCgQ`Iu#Iu~7dx4T?GF5)a$6bIvSyD>v69q+i*6*mtgtI!Jp!-{kIx@T|1 zZUK63(i}a*2irBt1LSeJ{K&ySB0jJ0+LMc@IisOO?*wDyuv{e1qY_vjp1_X zkd;5s^0tBoi(_Aq=WYUh>SbM~(PMg{IK66BB?MH~C;;Kx2%!I*QTzDY(9j0{7{`)> zObvVfA7?=2EM=L zX3v!>A;Hh{)&f@{jpi3~l~;X{$|TbN1DK*2|@K_E=3aND8|sNyGS$D|2@nJe~` ztv7Z$Du7%tlDK0Ce(~%4Za~)@5p+rYvkJh_#J5&Sen!BJQV%(mK&as;sHO!XK=#Jk z*{eL{uj=1>E#GA!rj7vVodPCbP@8Y|>9YIsLND@c=w?1UA2;sJ@61;xLQ{nU4~>|7 zL8Q8Xx+ER|TTgkoV~*cd#*1avfEQwbtP8=B+l>xX?adv8vHwJu#6U}N4UY5e2HZVcMSb6m0Ec;?cE_#Px@Nk7?)zzs@6v~pZ!MO$zjb?S!bm~^GuJrCuXgim7|CEHy^^&qLpClpy7R}F z^EjVyz8~g(@#;@c8E3S?G1~{?u$BjH z3wenF*i#}4#NAkg;=-eQgD<4$8+PR=EiWXvVk}74S$RGgz2Uc7aXp@&S}!G6b$u@q zO8L_>l#lL<6Z?B>ZX+G=L=tBe3c78e4})hPJwGHu=UKX8Ir*d(Qkq_DtnLOa}Om(|I9w0q!9&w6$*QXie60|oU$SFgV(bJI>i zdhrfN!lW$g5xfTwT@S7U>xlxSO-A5Gn|_?fGEDf zIS?N-$pOOKNWuk8`W?Z9aun&jZmyer$XRaMZQzJfztYcF)Q`B2M0B+T6W)rEm2fB` zd;7i$C_v zq~?IG4TM_M{K_}7x9QRS%~NWu59*td=4QCB{i@fSW`t#0Aj6q4ld~&G9y^% zM6${SArhj%5$rm7h+^OL)*P5ZPUR1U!6}rN8wfvOc0nw4998OylqkK=lD%N>_R z$35t<@Cg*L+V?i>zZXpWD0sB{eK7In(h7x-v0(9V^y4f+kr0a}SsXub=UF}0>?HfR zTMs1Yr=v(Xv!1QU&=Vpa>8pm05KH-pHD6%)DrUn`DF!M&zo`PKDe_`aX)3J`W1!3|*@Y-ArP$PBjSy5}0fo#D8}4sU z;dth>KDC{3PehhkSK6P-x$ar2)q`E0U=51Z3xSBB3sPUYkyY@k*iEhtg&GDQQnU)f zK2-?$AYywc<-0_Ine`Q1(qDkyuWWMlzPdo%x2e1Uk^I*et|h*rb1{O_vAZpDVDi$+ zA4P)g?p9QM0VM!5Zm(d;I!j~v1-Z@HYi4aA$y-H{K-@aY`8ZpIJ$R><_llrx95k7? zUr|=@p2YzehdsicIW3et{$UT~Io|Y1QC7I*HmusN`N`;$jI2oXb`im9R{t)c{5l2- zRZJ1(B?j_pK|MX}d@FX9tk>@MC{$_FIUBQG7Pn#MVw1A0gorRg0-`K+u27(RP(*Yj zLq|j~m37igM{f5Cd19?z8)~(iRoLa>fzE*^CyeA}rM-_3Bj2zqSx6I-EJKS|3$d-= zXy2A*Qc~-6Jei~j-+(WzY5ef`z}}}Mix-&tA6artU`;#;@J6_$`WHK92+fyKmSc$$W0hRFDAkOnA(pQV?q-;32Wr)x z6aNTWMM*$On~qz(cTfZVPQNT@v5R?u>|cTC@1>GGMZU0*R(q%oJ7FPjhj81E zpkG8c%sFSui_JHSO~VRZhpZ2O#gc{T7d9i;pXlHa_O<>h$Xry}g48EU#ip$y`kKTS zetjI{4rTa9-i)|U!KISp7=2vnPRc#j-QZX|ohSPhscu;wN=?r`6D$*AcIqfnC1jap zMyv_jW0+_9IQ_RCpN)EUVJ&_LD?#;}zZQ*LmHgk>c}Cmip}r?Db}@h3=85n@ra#oYwmWZrj_sinP$ReS>nz^mT zeh*he8Lw^0uTmfK_sP($=O_01vYP`b8)nnrS7WRB1x-le1PbeSo}uD*2|vA}NEnMC zuk{`yek4Rw1)f<1FVa@JRhuwObHE(#_J#+enLU)6c z2`xzQ?kD&*b=WdFG-ma|g2$zVnrE(Z4Hc4?p$prSxRF{**7rP&S@mLHoNG=pukb>C znAl=cuYL5VW{(U?{w>{eCM5d=IFmY@QLUMxd0{oO-s7(4nz6{M25~7VZVw`KSHTure)^eQ74frD?9E-Z#6&BhdMzVt=h`GPOi3x!TT}-g>7}@b=#q+J9ak)`sPaB?TKecm@fyt}N)c=F z7QdKcoBw_z4^@l;HbOK zybEZ$7)*bDoibrrd!>BLBKw(+HrHWM(Ms`Ky?WwLmVdu9yyHJUndfw>)7lRMNhcV2 z+`~`J{k(Bm`NypfoL|+a)Lc|(1$c{dzF}UaO>rleEX@L^ZnN4&L{ik$?%t6-rl!Ut vl32M?6aK73TDLr5e0FY5b+a``mBpSRIDT3#1O(3C9DtR%jah{WDfa&W0^x!k literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xxxhdpi/button_x_pressed.png b/src/android/app/src/main/res/drawable-xxxhdpi/button_x_pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..e973dd4887e405a812776bf15c23c42fef9d189e GIT binary patch literal 11325 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 T<*(R#CjonFC#zaZeBA#5eV?7? literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xxxhdpi/button_y.png b/src/android/app/src/main/res/drawable-xxxhdpi/button_y.png new file mode 100644 index 0000000000000000000000000000000000000000..13993c9a1914e79c516cbcf37bd73dff5ac74561 GIT binary patch literal 9361 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 F{2wZi0)qem literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xxxhdpi/button_y_pressed.png b/src/android/app/src/main/res/drawable-xxxhdpi/button_y_pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..43990d2e848912c6539d49b36df59a0e640f36a5 GIT binary patch literal 11750 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 literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xxxhdpi/button_zl_pressed.png b/src/android/app/src/main/res/drawable-xxxhdpi/button_zl_pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..89aa9859711169d9741e011fb4140dbc6906d657 GIT binary patch literal 7831 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 literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xxxhdpi/button_zr.png b/src/android/app/src/main/res/drawable-xxxhdpi/button_zr.png new file mode 100644 index 0000000000000000000000000000000000000000..0b87c026f82173909d4723c55da202de99fa7879 GIT binary patch literal 6525 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 Q;FQblY#gi$SF;cQ10gip-T(jq literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xxxhdpi/dpad_pressed_one_direction.png b/src/android/app/src/main/res/drawable-xxxhdpi/dpad_pressed_one_direction.png new file mode 100644 index 0000000000000000000000000000000000000000..4f0219b3a45876e8bea6b11a41c310c0b818952a GIT binary patch literal 15695 zcmeIZRajg>l=#_5f;)lW4haNz2@QkZtpt{Xb*t~Ky62Rfs&mgTT3b_z2%i=o000oFC@bm!0GN+iOaLzS zV`Ab?@BWz3e0gi|<%6ru7jJV9Yk<6!tA#bQinF<`wT`v9m9P7twG03tbEcvw|Iugh zCkk37*U+S&-6P6H0rTmgzLtBmZ#n0z$^2j3A!bWb5x4-g# zOK^XDsjRDAs%_7stC7$hjj!^VP?eHWj=6zYWvcf(g>agU)gYWf&`*F+8a@$GnNoIzqW5h|}ig{Y6UbT_eo~-fufah7uzG&9T zDF3kjLQ!MXNt#M0JJ%HYhj(r}4ln?>E5GGDrQ`%L8E2ztrFRIsp1+R%_b>NHp6?e1 z$aMw@HGxEz40>7M#R+yS%tguLtQLD*tr z3ifpY5<%_ePHGeqL-_z+T0eSceaEk0MsNy<{p;;y^Dff0`FzPus|(A3R0%!VoY5t; z3_igj^bMNe5ZEZlV`j%%$9NT9W&*mz^ne4)QN!k^n7_ZuSt;?ipQkkQGXn_BFFHb3 zNMs=kLREiv?+EeD?!=a1FR)pIHqH?~j(@Dq+jd_%O zXeBT@McZeAIH(QZ3-6c!w@b&xpEHDnG^Oi#+N03zS0rmva)8vYOPjL;oGGm~B2 z{6CQ3|3v!#mBRl|I_v-Y+5bh~{Wr0(o|F&>uU(Y`Ckvh zbhBF&2DaIIqdWTL8<5ngOnpf(;1xzE<~49&ugsn3abn832I3!A1@uXcUVnse`LP@m z;dYTPuY6u|cHOa%@H)I*;QKwnbb>?YGvdta!t#jT7 zpiQy9@tMOi6KT-vo!yg6=jdqX{($drOJR=*@ORJ3<`!KERHm>VS`ft9eiZQiBIRzN zB=3!l5*l#x*ico=`O*Qc=uTT;-f&%JcODppdijJ#j~>7#{q?0k0JqBo z55cWn;fwG^8OxMr4n7d-O3xdZ&B6 z7ju)u7q07pcyGhH-Ub5>8T30grsK0diHVA`g&svJ24!Ys8j4AI?&$J&KTi0=v^(%g z5_(mykwut;EoZQYpPGY>l|z(6bcR9;wNr+o{Ri^-l3B|fR}p3`fU_BXKrkb zvIH@d%f*ZsMQg80^E&tM`4Oyq#42B$fR86e$5v^O2&o8mfia4}3=r9B&0TT{znt!l&G&u&%NJ9Ft< z(+?8@*knM3vND}M+RyU^_y#Vd#Fvl^vF!y8#Rmdz=B5Z>3$NX7crPt{WsP0ZV*O^M zxAJKzk}|4)kS+E8Rv+5j1Vzmk`d8w;zkMb4{-y1*)2+W4C#MjLASsNI~x((>8ndrOrC9|1Ir-E*inX=r!C04%!vxfsvFZT43ydx16c(o^#B>AdOa zzo&zZJT^>Ef}%bdDEg%A{y>z$(50U+njbvRhcs5V%0KCP?#!Z_XX|K`LcjH&Jn6~; z-I#J!-I@PQC}uh^j!6b8dG0qh%VPhRzqoJNL!K?Fph zg!fLRU6o(f)zsF0Pt&nBm`aHqXvav?|INh0%lSI9o$96%OUHD?A@ z8E{bnBvmUXvX|9s-mNsP2oGYkZ=RgSXfiQu7svzDy_-IU$9;-xF2CtJn|r?(-e1w| zeq>IbbT;s6=CB2|I~XNIhUcsvrD8AO#aXN#E!Lm>2X}r~E9yrL4ad~_zjzv&ijWL0 zoo~{Dhok4b)<;a(%<&N0q12Zo(Ouoqtk%{#3^G9uwNjO5J^NaP$0_CX?ee#8{#f{9U(&03TJzr;Xt&Mq)H?(E09 z=lL$qR%=0*RrWyM-KD|h+J+hzz`AJejLWecC8*Z^i$Mfz!D+MJn^mtTTpOCUjJ#cY zQXUm`-0F)Qno=qekIb6NigWo0Wzb&{-Q<_t?vBdZh#@M&${Jlw?}?X;7i?+0@`-wI zP7Yoth&gi@^rMgKwRKoC{3JcQfyPc9+uW7&ty7L^?mLG949@=gn(S&`EjuX znwLUO)%Q2yn!3Xq8?Gc#uFiWBnNCf=>4D20HXZuFNflO|kaz)3vdEwDQC3Fus-xyR zvx;7_T|=*k+()AIVV*Dsl6cJOz!grW?H=eJ^!@7YJ7}zvI2M2r3KCFbx^gsLs;F4* zc6`wks?EqmM~|G}7pS2P+Btyl=U=9athBUrBiPBT_UTN*C3>M7mUbaH8)PZW% z3V2FYavIryoL7Gqh`{iPt`DB%DakrF#BXd^;ynbGV+Sj?#biIL*a>&0l8DAySsb?U zV@{bUO&}sgJ1TE2iRA|T&MU+_WRjAVLW_aTPP#u;bl4`?!;_!tV|d8I=B0n1`P91Z`*~b zb^8eX*27sWKf7BFfMu&^f4OvQY)$BeXyWbH9~k{kIDj@akUDm|7Ga=3V9sV1I_&@ySGu_F8 z3)3=T^e&zAj7Cvh??#2k;8kmmFmLSRxj>J~&e?QGIm-F-_%f_vn9)wuh5;!;lsG;a zKtBoYyNv{B_S@Fa<>bbZ-8i%{#?buGX>B&1G5PwA`J0FQR9f_x4FhF$gl~i3E$ntNH_b^V~vUq`Jq%Wl%@j-{)CO=I< z$9#k!?IPdrKa0AGWldFfMJ1872P_Xw;;@%9bkPUvS&jHn1SGu~9nD|f1K}111AUSW zGMRyb-uMb;o0SS4oVn3*r3w=tDhl1?#vT zl04`WvRszHZ1iM&!YT`=c>TV<`sW>vby|efg}6STp1(xQ*{RJ+)xj&o&U1e)tf3rj z;-9CNT9IYvUEB{bghG1!uLeJX>MRAAIpr!JAwyl zID638exNIOtCUuHtn$V-^@%6Ae-~2mkae$&CUo7BrCwVJpb3?#49uR%Va_|c@sr&^ z;8wQb8kxrY2}(PS_m;+46aLk3lSxBX;Q)ME8{nX$t3DS}nifX)!AqrsiipZG)xqP4 zs#-8W>1tC1j^M>6+H!eaBvNVQoK;n>BIQEDof4|Ap02h%+JqI z1^oyHWhu>*kYxy?8aD=jqK6pi!n0Jc5A#ocX7Wcd;z*Y2?=ZMMgXv6jT)B3PWbw=_ z(jC~P*@%9zEJps_0Y93tiAKUeeE8m!qu44TwC0*-(;{_$=xc94-}>|8uQIjtIvtY-a&Rm&4r&_BZ-cIf5OIi?c{8IYZrMk($qo@)>_PviBX$k` zOyR$sFIpR+DGe9>FyQ&4O& zOf*W|X(@63q-M%8rgqi?ToN8b!t?X!vwaDw7PBAHb;sSpACCIHobScT4~2w9KJ$#9 zE0^Bm`TawAV>>)ti@e02oanMBCGtKqTRw<)u{Ju|WbB;X?`-7dIF2|AXK zPR4Wp)z|nucg*~iIE6;xNUQ#@1c_~$oxs)^r6ld4Y@Vu7EW6KOu}btuo=Z^)lx$>I z(wf4-m~I;_^7+$|c&>(o{W@WGeNPC9UDfsK?Xbh5YkIVBS>vAu!?PA=IfAUu6+hEg zj;ciWrvDJ-EB)9f4r;c1RZ5lLST(Qz3v|j>d=OA3@-xG%+Xi&mC>rfk99$%JN0^&# zAZ+e=0A5%fX1Txd1TO@L!y7O2$0ig6!R-Slq;98r&8rxORUI(w!@0oHVAd1ArCE+k z?5)i08*yi1M>%2@rpgl3gHwCN_}^A&>+FZFY!!zc>uJU(nie{74}(RRMSA5b8d@$( z6xF;mVCj>>yc=q#VI{bJVAjir3<5xH8D6#atuXbO-s5GHNDY9Tz!t$jE(n}zZRKX5bAxya z1gohq-c!a<;HKp3A6>`2a+icl(Hbj$2L@p{Ka&gr_zUJa=|p3Nb9S{GwQWa+qs=Q{ z>}w4@n!wByc;sBV8_OTdI!h>P$wK#%Tey^ zd1*LK&1LGFKk-Hk!4ddfjYG--Oce{Edbdm0*dp|=ESgrP6)kVS>G8RL!vDTlT->5y ziPv%h5=U&}zL>gpc=Nhv-!;h)vW#qF*gLDLJ*uvX5H)N|ia^elRPu+7!R(GODY0tn zsHNTjyhNTT^R=*h#=&b&V#1P8fgL{uJx<1+PNvtStqFM;oFxrEsHKn)lbg9f*Uk3n zRCNt~DC1{tI~7ri7R7g|8=&ryJNz#H7N}8Go*m)?*}tToPC<~s6=u7w8H;$=mE>dw ze;YDe7x%*diCNiT^;erD2jGiPz@ZwhS>G;NH(S3YXXK4Lvu}vXnGG+Aj4S+ zDS}OdP_n-U;b1i5V}(ZX)aJSJ@h17ppTUei`gj>4!e2C4Bzl z$ed8@`V}n3j&RCZXU~qHW?@JvoeQ6`UGAG~vU!~VLyky=HgXV67^@Qbb-$&=_z7`+ zormCbG@jxTxtux(tva3YQbP!>2SU#>z-P1vt43M)>FO?4g60F>os=az>mMc7zb)4J zXEc&`H@!^=HJ)^mun(@R07~B41d9Kre`(VDbnP6QId}X7$`;9h&|`UVoN@H(XVtmZ z<1CZ0GaM0VAr|3%|J&tOS+eP0!=H}9Z_PQlWqveN-1PG^T$f~0c~{>IB+kaU042oW zyy^=-v|wM_o9OuObDwMrzQQ0%Ib`oL#$B!&$BCjG^WN>ZB9gVsvPY&#rRA5lNhU*!<;B@+fM*3wUUS!uw@xJOi4G9YSnVT0FV)*X_Z$1|FFYn2_ zi(*)_ec(jK~Dt*ecJcI4F^Q2dsSu1SBwy#CaZ;=KQ^C167 z_QutPV{CMyWE>u<(8~Yr4$h7F;__-UbM4}UYg0I)l7u6{aRpTrK}(6*no6PKxnpfk z7c@)($h*n$jxCYKK6K#)L3{ctBi6lAz5mx62B;>3>|3#!3pzcRIRp7+N6^WqcG zXeGdRcBHYWudsA|NON&VKjfh2JqN^3^WFA=ZDJ-zUmy{k{wU@Tf@m2E538G%`q~$s zak3>`x1t}_4WQ?}j?BjrH41=h26sMY@5;^@PE&H7U{GX8p(Fiv&e36_|MC^%MvZ)P zi>Cac7veL9TiMggiZ?Bc`VQ+so=8W3!-S>?MNkqBd@?Wq#(>|y(RMeXKJ97@0kV}X zl~z3W-ehNXwU?ybM8aRz=QDcl&7VtJqjYiu-X4uo|HU#;meN)@oIgL>(9sT%k?_Gp z>E06qkUQxQ>iGHcd_r?I2==!yy#2sDp5^y9-UJK*yjy?`8&ggoOe?At3rM@w6H)+^MsU1J zT*R&qqsSuls42VCrdEIa+>uD^#D%@H*G) zZIZwugwp;U5VinhoTxo^MFyRazk7KX@yg!cxDpDp#O+ed8GHPGq0A>|BfKg!IO_*v z)@5@{@uk#r&vWGy-~Dp|EOfMA@nVQlg>2}^Yje*f@yL+RDJF-G{gr<=^rw{<_w<*t zD@uLJ%W$@$m+GnaC-Kgns@sZ^U~oN=&BU>?_8p$HgZuOsZ918O5%C%_cx9zBV7v5v zzdLe^vV(>&fB7=`dN(VMnGQ_iKox#l`g08U77L?g;zA&VRtUq;@v2k}t3MVZzTVE! zdm7j5BzDx~Ox>f8moQAQCFK?VH#_gHKuc_i92>KmRMlwZJ8n}xJ)S*euOKkMzU^$H z@A~L3C?QHrLfwdR@%l!s_}7uS<4USkzQBT>!h#2V$~Im0gKy-bhWHE93!B;tAaHG} zY0HVnZ{+Ut^I(Tj4gH%=Dd8FM$b)iYB{L5pT4|c5)^4K*nNjbnCYRrI*k&~*LFl?G zL^Pd>EG<7)hao|AZD6#pK2R_!XE-y&5?bj{txJ-8+WU`$GLEmK6&XdfKr9IMlE$2p z#i+Fgb~P3P9u^_!woo)yshSRDU(6ZfKlA(?DZbKNMQ=mY7#+6Y3Egp_|6&pf-orFo`AW}l_i=Nuwz1HS;=;~tLke&w_zOOJ zn`$z=sfih$%2E@qJgo7cidAa6_413DOP_j$bi$Vuz{GN&F$S?Dh8F|KPRMy+2as8F ze{D2{*Xiy>(!wY=b%C?LkDm!pkM!z0R;LQ&3`pDNB%uGUzK{q)lLpC-=17l!$nO1E zcZKx<sJCgF^mdU8*hlnN-Z)lG>C2vf11d{euUDRTm!F*Q?6qBxBzZhxwid+|Hz| z(5}+&c4C=ImzkNHLf+m8lI;%osLVmd+gxyELF-EXr4(2ooX~uJr2-|Zob-ocM=>%i z+^)at3F1v_Pj1sEl}0v37LD>X-=wiX{@%^PbUwIeEXvT9ma(@XL#|h;;8b=Jxzm4X zy-?U%%Vvw2`a7h3AD$08CsFvhTbP z<)>6Wja_73UmJ=PkO?Ik_}MiuqBrFtS$;HS+5E9Ui#Rak1iw)6R}0RJsP6JU*Kx<^ zO@7#%X6v#1VYczH&`KxHXrpilGMyiS5{5p*+#9(A;A==YdrZQXd*6YeIwPJJHI)_i z#Rlf~!k~=i<6z~T(A#K&?Hn@{X%H!Xy~F+8%6g-C!kaR;Khgkaj+lX1#44nvMIPQt z+UPlVLMPJWj0|tz`knO5i$}KQBBYQ16m+wZTBI49r|@(&4e6#oyCi-wy1rZ2I!E^H z$y-T!zD!0@hX+CTk7|%pGZ&m5E=Oa9_^;-WqIRGR57GwGCqS%7c&La4o z5&HFk0wzJeLbuQFti8`h{&=Ijku~$~wdOJfq;2RXia;aC#%-?TCE4t#+Mbf-f_kk$ zZuwlsUF()k7-j$OPxCqr<2n4PNRQK3PKgivFyG_JO7|V0rcvqwUk@o@d?kcxw7)6d zMpabNOuYPq5w`SJ*N3RC&A|tI?wDnR1B30V?&-mz{r0i$x8rGoHsdDVmip#d$Sf@eev!mc3TRGenl6>pGvKMeq_!~CiRr1; zKOduq3Lbb3>Fs!L+PXj`+fYIt;9s|H6K$r!KjV7ir=TR^n<{2@n<{=|0_)S-wjoi^YTM!HvrR( zYAUZRawo${PO_e^!2K9??1#Fe6A`{d-5^_oyq`cN7QTh!*p7K_+I6z}Ng=EOH&CtHhI-2EG8 zW-Y0_Mk~~AKT+3BSz)W41ZFwfO97|bqu=h2K5Ojo2iao28X<@p)CXWloTzsp#^Ve= zPRZuls;Ya|-YfrmS}&R#-P(BtGQsn-m*(`q$+XyvF)~$J`8g@Ow;&Erc6qx)Ly_lN zY)%2|;v5Lro$9c*i;; z!bRvKE%^f*PmOMWw7qE&`e5$LGM_N`ho%kPOYsF%R-iR@wV{}_o^8Snf9hy=%J1W$ zIM20zZ&eyj&TXop!lFb<&|J6_-L+5hs3d`(uAF`5IGWT|yQ0(Py2{au^urejn=JcQ3v)I11=+(HoTFNpixx8k` zx|omU{cwo;d^pacO3nvB8dSnUBCu>@-+ol&Xwg?mBheDfD6&WWN*8;&Vzk19cSwak zr@Q<0ah88m>iVoG=LMbTv@bIyxeL981JS!>SM;EjfqvfK!va)i9&n~3hDw%w2c&^T zSsFKK(ShmxEP5&yhaG@T$n%AN_)|UQ-;|+&TyU_Fd%T zMU%!G&-ZPuG(D8Gi8puH`;Cj`4;|U2(<)whZHJ*ycJd18Tu1W+`y_^nfj@9tfDKok zkZ`wv?o|Bex^HyUn5UO_nDp<0`a(=RqU9j1+Zpg|LH9Hz3UxkIT$zJkmBd2s?>wFI zQDyPULAxdU1Qj^zwRo`$Z%W4dtbiMn%)1d3VHogFkEiB%e@A|6$1}9lMhK>dH0M-R zcu&HILIC6(do6P;a9|+t^a2+6HH~llLEp6n{#yL?wdirWtMnDMnqLd?Pbc2qji1~e z9NoS~8A!>7Qrd&0Y+HdWYJsK~(B}Eic z#@WVgaiaXWw!|Db+5{}$P`1+d)&J3DvO&y6b9L^3VOI+)ZF77LrU?3g;}amF5#n}R zPH>g$5j=vv)atOMhCa4G zUgJl0$DJF3jF@tw-iN_s!!&uPy(PJ8@o|zDRG<6?WyhA`N)3S;}(IgU^CIBFa~8wgy0y z7h_kt&6?;OPE;)gEiQ~y+JJLL)d=ckEFbN<8l)4_Ky|F-0}To z_&Ek&6u=0nly)pHcCFKPUvr$wp9C1?otd6}@2=T2%LeSD80RLGHA$61d}y+P#VpwQ zXt@t6da{WO-;9fooD#Qrtp`unkRQt7yh@gT@m{&Gn6308`9&d( zeX-UDBysM;Zs4-xSb$S}V$fJ%;&q5^-q%;EB~NMoeRf$&HH(4v7Y|s)4D)|>IXmYr z&2*&g3EjI0paA8k0{Kg*k$Zm)8rejN?2{DM=85ZtJ6)2$;%RN{_3o`IP)O%U3Oq|I zqmmj&fcRc7$NL>A1Tax60#JvE$lG5sz81B#rJ$Th&kCYr2fEKk*UoQ+-M?w)$)DC# z#`3uWO|=JFF!%S*mH=*^eh-IV9|kT>2@MPc(p){Avl1!eqM7_gtn}ZN( zvju9jrP$VUvIRQ0W_?O_sQ&qDqJ(V90X{AJge~_#MY#ZL)c8Z9UawIjzjbnuWD;D^ zJ!AQuIg=ZlJ9;CrutH|gMjvcCF9NQ5?F~F`7z4V-djOQUO#FI|9nTp|1HNp$BI|5n zmg9=9P328HV`rF=3TpXq*}{2K{|;VLE8AwiB1N^Z<)$isz?t_n+I}XYr%r5hry-eP zjv*>l`gv@t^MG}e^>YTah>d7DkI9g+A!xpH(-}^$lhns_oe$8!P=q{8=J{T`pp{WQ!eHdKZHr0^&(L;4NmBy;h$!y7`Z8K}3`W2Dv8lsikuR|F zJEybpW~~uHjG@3!OOg!{8kyWTU6UTz0ezT}Cx1j#23@Rnmjf}BmTL8@~1j2 z(BD44-9*ApwW?N+{ElpMk!}1P+9#gD*lW9MTqekXxufIwEuuNpX<7UzRZ1z3=6dVv zc~$o%QT}IsMWJT-sqWNsSS1-bGtVS(^p|a{y1e(D-^y03DLd)~|2sK%d`3#3lv;q@ zYx0Ip3jY&HW!9IPa8+q^v-|cmZ7sG?(m(c0;%8TwA~aO??r^sGp>=x)alGLQe+rxK@Hn(tizjZ#?Hqh|GhWD=KPdml zVv{bp-(f&(oTtSsthLzQt9Topt8e5vH4MD^2E3a9t`zxqX&IxW^#gaynA%VZom{ZX z*sCnf99hpV4xq1~!cWh3N=7eK6UW|z(tis>UcWdlkd0?{v9cL#N&`i`bPBuEqmyYX zU_N#NMshB97U8y`hJtGh52-AF~N z6B?o8+~v7?=Ju@y%I7lhMal=x8lJC4}kyTj~!=F$oS-m6!gUe!vF_8}+qbB%=t=@yeU5 z=Y=^N-GEXuCjZ9T7BgO?A_Gf_bo~#s${&xZId4`LyfZFw_vd7O`3NN#OKQ^Kz)9|0 z4j?ccYoS@j`niNfhM)8ls?+^ZxDA|a%h013uIB|97llvejG#ZmX5mvU0Qym`MJHil z0LHu|*sM9_gQ#>aSx~25yo2GmgVGxO4W-skR}6BB#O+tF!+l^S$imUN7-&~9`~b)E zbH$FUY> z*7%cvyz#-#>op%u@FBU?#w@fkU|w_O)4b=}J(%r- z$3Xl-1OAUzx!Z4DM#4C8V^jHmQ)@-(w zeonCzY`D8HCfdWK9|+{@>ED!@;3u^$F2XV;HkVsad*Q57%OhJWMGJkQ`RcnQHi0iD zanhrAL?ra=4S?zg#qJIvZQt33h{`hu39PC*KfE4co!2c*%9F*p z?BCGc^@RQy(*OcO|E}(r&AZfCA2S z`fdA`cG9)6DXa##u7^s3S;<=5^V|`*TK-9;JCpGm=3GJ=ZUAhvUy2tun>`XAPag2V z%Ndq*(Vs@D6&Ku3ZDMvhBD+1UZ?ckQJ4*PrP9qb(*wofkeNCt=y}67Mnf?0ccABVI zz;JEUE0Sya7sa2(!Rn1@WXJow5$C7@Y4u`148bAz9JTc{ad(!?cIzDb%rSq^XI$7> z>+#HH5sG=ly^$H;#bV!|)9v2Wu*+~_KPTfE4Fp;Lb&jJ-t1ej6?`7FIg2~{ySlkJ` z=ZR#!kx+PyY)>yo1>(DxM>)>;K}Aa7`_R=tXYZ+{ZfE98Sbd9!nY_pLpdHM=TAK3! zcJf1Jx1<2K)I&gvyOKkWk6G)obiIiyD~RN!tM&coIu1P|NHWTK~sJc zJ^-d;wDO+)xEA9vhW$GOX+67{BR!m`KBxVn4p82>Y{R<4TTct|+HK5e53BR50KO;S zF#J-r@;$7jp7p)Dy24}B{@Tky`K8m%d+#zE*OhKY@Ye4*oHJY85t_CZ-oG1v2S^Ku zHe5nBm;4HAa+$Sa8Ongz02yaS`Qg4LE7k8ze1E%rT>};OJ#Z_ewNISuBUp@@h_hsr zC2k!nbui=rT~F|c`~#U)vBT5bMkN=W^h-auNirlyLYHY%DN>wqcYbiK3YtKyF_^KKJGKMN227x-H^jSs!Z zhVbO}o<`h_V(i;s^ja!Mov;Abc&6#19EBpM9-!?|1_BpMAqJZ76*7-O=>_HT!*uFx z$GegNvO$2L*JN1Lc5aLW|5I+^zs0`)znO<10^B+ZK>roM%p9)8t~f$?fMfPDLTjWC zfrIgU1|S9K(oqbGQchRqlZ1|p6x<0bU;wUtub2V_>jY?iv8 zxN}p+3^b95CM4;`0hm?If!EK{PN}29l$j`1gp`8_&x0JFbfGeU!UO~*6RQ^iiVDfV zdR3Lg@=4Xi!VR{yZy443{bSkhHceF$btlnk^{lO%-QF^__aH}IT|qVrU7^??uOA&$ z!H&0=%bnXKuhg{U0m>4CsE3a+dIoO2a{+7oc?YZ^+XFvibZs1-Pd$*H8@wT?(uVywtpzHf@pbjB%Z}66Jk~v0SzD4Dj({&gqlqE%*}GO=YZI z@4YCJJ^C%V+DiVr?)$rR;17Yis8j9AU2)?7cTi5ZvK8mzF&hW(ZVJJ6ivOs>ex{mOK6Q%b9#px14o+oi zNV>^0ntbLv^~5LsnM->~-hR4?%{-tOs8bW|htfZe9lsV`9wn{zClG1$Rvro}0YJN6XAXZ8%0|=z9#C?P%gfY%*_A!`opD%r! z71O=>wfm^Co%s_EmBjulCKf>4=O7im=s>#v04v5?E`u-o*jcaqmo}hzDvDMd9_J{n z4b&qHBFUs3*z9E%fg`tl%P-u6U;)H5?=dC1lg7wlIE>}7Uy}YOR5Csm?KX_@O6uwJ z%I@dHzYvdYMYW*_)II6hD&NuRUvV|lk_J6-`|?K-t(FEL1_OP_Z=PbCVaVJnW^{%b zc8OJ_-eG<7!@{htZy;F$G!s73Wvh412Wqr{xyKFKqcd&pamoIlqhMXh&-l89eESE} zzzE%V2>j9c3-_yPxjD#f#?;4t#Cv)Oj=?99l^mn_ z2aG;zp>r)LzqvguCPXWa+ke167}>WQt^scMyRHGJz105&4i!ICX6<$QB{=!4!PMb;wNAaU_-N->LAS9G)YX)d=>t*ZSXaX%s`un{kb3!2C-2|0dM`!&?6ju*YnQk&$NnW>(Umx3F`?<^$h$;$|jhKuqh=(ur9! zamX+RhQTN=|H#OQ2*U7iABeE9F&FwzPILJ_a-;y8kh^-hD-Y+w7XIcxOHZ4lPEQ?6 zWxGxT(#n_>;x`+E0I#qE3?x(%*>z-sw=;kQG4%&ONj5tl%fk>TUDeveb+{G*MKJjl z0heZNVhZ~w4y0)_Kc5WGBahn6Kmyt9p1G*2oJpj4FD54ZS(&jMS8gMve2Tkbl6xYw z2~2zQ1lvr|X|*A+pmHQON+RY@DNV*iZVX^b8_E30b37VtW`^?FT3@bXJlw93X5^GN zWM@s(N^#^b9n_)tk-YV*0E}2uhzzRgh2B-2zlNb{mMI?f;lA|fzd2aT%E+MLg8q3! zT7B~#aFGC@fAY8o*gJt;yDXEC25qZ!EuEkc-HsVao%%6U1Bzu~NY- GWkdjb37Zjvf>F(~1 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 daQ&$;#?-^r)*(mC+*e*wxNr{Mqq literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xxxhdpi/ic_add.png b/src/android/app/src/main/res/drawable-xxxhdpi/ic_add.png new file mode 100644 index 0000000000000000000000000000000000000000..21e9f6e09fbe03d66b2ec92afc58215540be31da GIT binary patch literal 119 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeK3?y%aJ*@^(YymzYuK&RxwB~CLP=v80$S;_| z;n|HeAV=QQ#WAFUF}a~B@WB7Zlye&G|LrAe7AUsYwD%RcF*0Nnq|aPnAy5fa%HZkh K=d#Wzp$PyjBqoCZ literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xxxhdpi/ic_company.png b/src/android/app/src/main/res/drawable-xxxhdpi/ic_company.png new file mode 100644 index 0000000000000000000000000000000000000000..6742ce771f18c97aaa54c686a9fb4003885056b9 GIT binary patch literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^6F``e8A#skDEJMe*aCb)TuZ@Vv)c}Fpa^40kY6x^ z!?PP{K#rNGi(^OyWAXw{3D!UV6%#7B8!sA&J2A?)%@t_d-o8@c&|wFYH!W_D3tw>b j9(&xO5uVBD#>kL3{md*GDb9mH6Bs;Q{an^LB{Ts5>EtXl literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xxxhdpi/ic_country.png b/src/android/app/src/main/res/drawable-xxxhdpi/ic_country.png new file mode 100644 index 0000000000000000000000000000000000000000..27c03a52325b4759b2755a62ad56e4130d87a902 GIT binary patch literal 2537 zcmV?%@Gw@PvOfR~#MLN(3WIWR33|mdpj6Dk3s7O!lbDL+_yd%J1$ZASLV5$!;tS9i zyag3uy@-MF0jLG;f{K!^N5j|#l!|?j2NgyAj`c{6RX}ahpb>I4kxc48KGX0jZSyngVjiA!F}WQbO+fQe2qn;; zxDc)Xu{eXaDMt5FzkM_l+r$59(G}OCNZ9w(XaQP=V$sa|qSElKp62~>?jF7`;*n12 z@>wffCt4vW#N22AS|Gyn5Zdo%b24rB3u^4)y|(6EbMS8Mdf_<{qN$MvG*vLTzQ^o6 zY^oufw%uN)hy7^VA5m_%cF980H)PNa)ZyZC%%=UWEE zADQT8@;_=tEk4(zax&ts8CWB>U|C{773f0S8b{kTP*juc0OCth4-2dx zpm9@@Tr{11v!i9Q=J}tn0jNKekJZ~dpeuY0=wh#csv^(VfO1gD8=!SiKGzCwfFAcf zpa;DGs*hsd11dsoAt3(`Frt;_fbK{LKsT8J%0Ny+0QwziW`G7kC5ZZ%0opfV0PQdX zbbG=8y2T6-%SmnEHln5a&yZxOZ`=HSKF(jSKn*7IiPw8P{diN-;N{5j{02pd#jUPlh6Z90H})3 zw<2Vtq8t#d$?>fOwMwFb0UxWU91z#DVcAf3tCbCPcMEc9PeAc)={5k(grb^nyd^Ui z<-~X@(S6Tb1ShR2s)=?0rQmJNaapyEH}%expO;2`w05v;fM2QYtF|`v>bLdYV!SP! zhxpPxBOf{ruX~}WCfVCJpR7FzW1V3!XFjS3@84hxr6+qhj^#PKM^g-gqRK}P!=ouy ziTd6|?FV@{nxdZ>Ag)`WsJ_tNbdiRiJ^dG7A=cj_#rSZOtL>lu(gZo$A8dJz?L{6E z0KKT~8QL<3*R(4@_00isZG+P24x||j(DNL7z0_ckWYVlIKd-?8pcIE=L9at9wfvG+ z7gp2uSqu5DD_heYt{r&H>k(aCEgcqNuSFV9WE1VD?eS13m-*Q&+zF-8uV`fTkT(*S z@_|;4pe>EUqA!T%NZ2qD&$`sFIXh)5sVK39|ydVG&#u20ac4cFaknS%dD58JI> zAG|0^?M#lwq5n%oh>CGV>G864H7S70goiR`qk3u0>&?Q<*X(Fr8!;D!!biLu9saR6 zRdeq~f3~Y@4;}qaiypX9nA9x5rKdkN%rq zw?qj}39drD__&C67+#Gyo@dcFo~|-Z#w;H0S=Y;$5RaE(r(imsjle5;LY!QNP1FyU zhp9>}8yBF5KQ832f;D*5V#RDB?!!`AJQw?bi0WbuZbP=m5by>pBZa&128bvF{Q=yD zFI|1WKgCVhhF&B!8Sj9Is$me8<49bEhwvJ{#4pH25ekuuU+_6z!GpL0hhr)FqjL0~ zG6{hKKmnitPyi?Z6aWeU1%LttfC4}Pph)X)5Q-~-KQiM#00000NkvXXu0mjfy5F(v literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xxxhdpi/ic_launcher.png b/src/android/app/src/main/res/drawable-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..11a5dd384139f884aca3cc598aa7043c6576dd5a GIT binary patch literal 18058 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 literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xxxhdpi/ic_play.png b/src/android/app/src/main/res/drawable-xxxhdpi/ic_play.png new file mode 100644 index 0000000000000000000000000000000000000000..18b7ebc7d950a194b334bfcf51692535ae871573 GIT binary patch literal 356 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD0wg^q?%&M7z^Lu%;uuoF`1aP$P$xzSmxmi8 zdQL24(m1%3BaDpXD>$q&o$1$gZ?l~OjCUxWtbhBJ6TL-XdFDs5T-&ySwHd7K-C%9owr$(CZQJ%|+s|iAJLy5^?LAHAnHbIgca1p?5kD4S z0Tz%$#{w+C0xZA+EWiRRpq*W~kSF<)AxvR5vzfvWzT`76eR*ptbaYCJos^Q8d^uEBKYFZxhA7o-6NJc(aJxSzw>gdVENCqWrK zY{*eO#Blt&k0j@UG$5ZB0DU95npJ(jSFFoTOa%1(2-1K!PoVE#4yP!sXH;@3W6>uL zxDs8{xq#w~o>Rju%n2W`JGy>i1)MC-MhpoT(8naaJw_=`mZy;q!vn;5A8*$a#|dzX zcs4A+L3q0XC-Au-96%+baQ7JT!1K?AZ~*7x?k7rx<_iGI8IRg@RuG#n05}?V7X+Sv z4ul8z3AKMI7Mm{sSQB?g2+kJ(T#DLAiUQ3)8^Q&AkJ{CO^92A6xLZ|lz5rlb)P@9@ ze-?xfI1{z|Mdu3u9z^YM(fI;^4^i7BYJc4Q1GS#00mh(K9W}sY)bgVSm=JZq|55)C z`YGz4#P6ZDY19CBpms#m04JgLK-2(Rqc${ZfJ$bgwpz3R4xgiTjo6%9QG44A;6l_! zQ7kgQf=Q?yYX-19?v4}zoQk_1GXRILQ2U<}d zZ4R4D-kG}yT{E~O!*6Y6T*54Lorog|h;cXihHy-pKO>cLG{ez%oBXZCB+sA^MsXc$ z5cA=$!F7y5AKXV=3ZN41#joK!%u#GkFSQhqM+NyC`WRAbm-FmCR4^A09@oz}s+dK_afMi8W7>^9hUrz<&=(PYzTPNgh2E`OJD4BwGS z-*Gr)xpsSf6)xjz=HTD=T*w-^eEq(b9XOr)_=GdAWNVCL*S{f zBFEsPx}qlRCW3#=T`lvBn`6G~+txoXx3)eiAJ4?X@k7+Rfq{{U#pdPS$Nx1Pz-*lj z=Pbir%8yEBpLxpUw(aEFjprt?N?0ygRNE$Vz$|oaDudXH)rR8y5z9ACtvFygb?y=7 zbt~Q&F--X2IHlkx(J-p{f7^=B%`a3Ifa#jhVMVADB1OpX9Ee2&-`gX9zr z@ZL=iDU;!kSiEUz#Q~Y#RZ_+i8-6v;embXfZDXz0t)=G~Z3M1mrd*3yc3yV(oa9zv wz0P-&lBe1Ix>H^h4mN9t@*Ido3JwQs-?+}5%{7&=4j3*Bp00i_>zopr0OuNVx&QzG literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xxxhdpi/stick_c.png b/src/android/app/src/main/res/drawable-xxxhdpi/stick_c.png new file mode 100644 index 0000000000000000000000000000000000000000..eb55a69f455ca8a3a79ea80309bfe89529864c43 GIT binary patch literal 8892 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 z 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 B%)9(-_XJ%7WPy540s7_uTd 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 RQ-3r8MtWwtmD+^J{{z}Bz7qfd literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xxxhdpi/stick_main_pressed.png b/src/android/app/src/main/res/drawable-xxxhdpi/stick_main_pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..62790f413e758341937ab92156acc09a5d25212a GIT binary patch literal 15703 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

AtjRU0u^p45 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�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 literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable/ic_add.xml b/src/android/app/src/main/res/drawable/ic_add.xml deleted file mode 100644 index e3979cd7f..000000000 --- a/src/android/app/src/main/res/drawable/ic_add.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - diff --git a/src/android/app/src/main/res/drawable/ic_add_tv.png b/src/android/app/src/main/res/drawable/ic_add_tv.png new file mode 100644 index 0000000000000000000000000000000000000000..77f0b3aeec3a5dae9037a8f1e12ef5e706a691b5 GIT binary patch literal 1699 zcmV;U23+}xP)G0000JRNkll8iw&tV;VD+0kf?!EHiHvtd_&fNw+xMEg8ei%$!ugSwomPsr@tKkfi%8M`20# zoXhX?_Rai9(nVA0NGYY1Qc5YMlu}A5rIb=kWI0E29xJ(tM|qYH*urjxs8M5x-E83l zp5;+)WF_ZvB+HnHWno5|H;W_a*;`aApdi)y?K8uHX#mY^9FJBI=w6wKz$QAfdS&~DUM^J0OqomT_n{`Rx_u# z0N>7TljkM0KUP)q^Sq^YH z&ZLw_fMskTD-F<*FMx6MGeVXcp@*?~0a(nlWU-Ab$OFKs>?5n~<-}|QOymZ#-qo~c z6<|Iuk%yjRP8I=v$`10LmUjcv020)3mbQuIzp5?~SgD0+LCpA^72o<+e1#wG*MkNR)j zNdPQo6!qVRDaQ@a#s=!Crzyn?a4zcOoe?L%Y<8eN-d1MB2XG&z(7Qh#DU(^8K1Oa?uUyT;vHUTu~rYHgCQWZdh zDjXCYz*-PM!&XHFFo|6PXrdjoM+0yI2%xEsjRs&q08RE}6aZxqK+`Ss56~}w7V7p7 z@P+_d=oQ}pD?k7()!`SQPXH~}MLI5GU z*dM?f0tnG7z5r$s2p~i?ruzXn0t67ML;V2s3Ls=%egN(iK*()Zw_{~y2zg_PR@TdSBde|M{ zSphh-$sOPW0XX!&JHQqJIJDUvV7CAq+UX83Bmjr@y93k&;7~R500I~iK(b#!y9MCT z&deW%>M-;J0XX!2<}XF)QpBSIaOfd-fExwi(Dj+WA)^~I=L*1~vvgBF*$#CFSSA36 zmgvE(B&#sN9l&^703mxF^8s*&077=F9#2oUPCo#LlW2NDVfDrw{AHXbX0%)-c)BOP$8wAi|Ph&m-dIZp7oqhq93!ufyegTZv z1>kZB>JHE=fEMcX53pDOEwsQtfbp~dn(T2b3V`DU&}2tP12B=D0%)S`Oo#@+SS^4i zT8TvkFo&uD8Z^p*(E%8@3ZOwZU{L~mT>uUGa{aIR0QxDjj|{n0Arm1T#oAOw`9a6^j#~#6M8=o}d&j zfYHGS>c0)K7>gUAexqJ>Vo3muWh0;l7?TWuv4Fi4z1_^kk^(SJr05-kB?(|$Ly@}- zOB$e^=P7EN7@s_VF^6pwu`L{kr2)YBA;T1{A-;>H1;99pfFc#}ODs(QMkht;cUam0 zjFl9nzhG$uFfOGCU5KR>ppEOudskCRFMv_vQu5qIl(2LH)VE6C{mB9todo2qfZt(R z0WgkYm^?MaFR?5E7(Zkid1(vZ#j*xq%;9AE3St2FOZJvKYhi1z?mogRP{!Eu2aT z%NIa>GgwQ7v^L60rekr=h<|17ARui8+{z*>?itDKE8It#x|Kn>MzTAYRqPQC$MjAJRUve?8P{T(xUgjcx-s};+0P360p>%N@Z&0PxD!k6EbaH6@ z4=;f5n?RYvIE%k=JrA>q_u0%&_EV+Ges;2%_u0flT+iP)i$huBa1~zwUMB!e00Phi tAOKAO0?-5?08Ib_&;%d=O#lMW{t4-Ad2y4VD-!?!002ovPDHLkV1mIQ-tPba literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable/ic_refresh_tv.png b/src/android/app/src/main/res/drawable/ic_refresh_tv.png new file mode 100644 index 0000000000000000000000000000000000000000..d9a7b69a08b94022278eb20002b72371fa6e978a GIT binary patch literal 1934 zcmai#`#;l*AICr2T;?+7@|AnrOzv_|ZW~+JH)*6p=`c$oL+RvlT()G|G?8*kA^LXt zrjCvpnXfV8xNQ^@a~Zjvb6m!pP}0fw`v-jAkH`D&u739bTGiL5`<{aL#{X66f6_83l+cehyK+}t z*>R$Z!{3D+r+2odu|>x~#CH6nDrSAW@|RDi2~8Yf*hJ+jRpN2YNty2T;ImhD{1RVh zyxU8?xp$L7(lZOBoP|tDt-nPglP|h(28*D92RXXkaaqfMwt9}Y|Lk;|nO8e!{ps;@ z!9v#rAiKnKPxpJ_A@+|dSa`pEU%8;m(5=h+k9VtXZI^J63px;Fpnk2&^nNpuEcQ?~%H~ z#UwWAS$OI6rA&D+{*3`=I1#kIpQADkCH5s|i34VGrSf*zqhZKky%gs8H>|HZII7Eg zRytX8kY&hv_EkJQ@2z%cS?zCT9WJ^S{QXaW z`&)OGcKA4!$=x|s4oB)%-p!94SBaO2E+5`LQA@%o7U&1_)|zvuwWYkLv}}%DX%A^{;NVfa4LPHsB?n z16uE7o<4@nWo$w=qBNS=m(2rzv6xY7fXqr=nmi&*$)v8j{t2L=D%QOpj??Qu9xtbT zT+w|_(@1V4FMmRb*!pELwb+@Q5|=Xa8W@SL#AJokxsEFi6fG~Bn%oSj`?K{qaAV+Q z1=)n3@FR`6xRo7s^WIbwpfJR?A1afEYLVnz{4X!=6wCTnv0I-?L;pcSU%o_%n41U7%m62f}7Kk zE+ikq-dSBMu2v;q9HI4sI;(!=?QH+3a?#QJOBsgS3kvHHtt+N{5Av}4a-66w9+qGt>Os3|yV@6=T5~1)Z0kW$*Hw>{!X%_E(!Eh&fv)OP z4y)sgnndyd_cit{=*$!kxO73{1YJvr0Hz`J2ahU1EZaqi9RfPY`mIQg%%CbkSf1y= z{|!1#FROKM>7eYy=C7V0^*Tqg(xjG1L!5qbMeV_ffWti%Ks)giQ-+c-V|C7{FP5!b#6_@W zoi&QkkXryn_k#S`zA9rvkPz-^8GbLBxJ^(00)`5zlN`v~eEf1!M<q9gmb4p%w2!7^=WiRBW^i zDhJ1T)UQv6pTttv#YWgmcdW%O*2g%NVQfKmbZMy>+68zqi>Vb* za@+b-F9FgQ4#uY*bM-VNr_e2N0!#r(2JU^UXREipzt&b^Bj~-WGbsDnz+dWCa9nIx z`JxL*A&_QD#f>bm@X8c*OjWF!dM)6kmx&)yfgB8XD@QlAJcyBiq4vHH63qGwemRJqooQXz10ioP*QNqtVHtT@VeoHOIeME*l2++Wg~bD2}9E0AHCmwc$lNaMEJ`RDX3M_ zjYB%j(lS!~CH`6aM{%>3WJWzmGgbihyNe6$m|aT2;lUcaeadF54LL)-M00^GoomW6;QxaaqMa=onQN^MQfcys?> ztaaxMZS2dyr1>AzcYF_IKF*E(K%Zw!Xk^tNV9oo+lMGMRevE4o2PYBRSJT_CH+N!E zi({SdcK?LpamQ*PC;)&$NmE=0M^Xc{SH(;QilqVnPe^G1YdAWNVCL*S{f zBFEsPx}qlRCW3#=T`lvBn`6G~+txoXx3)eiAJ4?X@k7+Rfq{{U#pdPS$Nx1Pz-*lj z=Pbir%8yEBpLxpUw(aEFjprt?N?0ygRNE$Vz$|oaDudXH)rR8y5z9ACtvFygb?y=7 zbt~Q&F--X2IHlkx(J-p{f7^=B%`a3Ifa#jhVMVADB1OpX9Ee2&-`gX9zr z@ZL=iDU;!kSiEUz#Q~Y#RZ_+i8-6v;embXfZDXz0t)=G~Z3M1mrd*3yc3yV(oa9zv wz0P-&lBe1Ix>H^h4mN9t@*Ido3JwQs-?+}5%{7&=4j3*Bp00i_>zopr0OuNVx&QzG literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable/ic_settings_graphics_tv.png b/src/android/app/src/main/res/drawable/ic_settings_graphics_tv.png new file mode 100644 index 0000000000000000000000000000000000000000..d99de55020b842e4ce8c786e8463cb53b80ddc45 GIT binary patch literal 569 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD0wg^q?%&M7z{KF`;uuoF`1ZEymXJV^V;_6H zldBq=b#kTGzxfBSg`TibPYMau_L#WPM?Mm<-S-cVnX zp42d3i+hLr>NiJcZSmmzam;N0KcTn_I*%hJ|591PD0B3~rkVO@!@`Rj{GFH%crHua z|5c&>xn=hTv%8Y)0(Gk-n*Yq3Bpbo5yNmb7fvPw1b5F9`94O?;KcM2m{^sDUEeC7s zo_u+~T022ViTT(DvDj1I4D&7=VA?hL2Sa@9wN24KPq~{VHR?WMt|{I6GVxn7<5$lP z&JR~bm)da_GP-X(aaWT2!D{WQZV90Bz}J%n7%!BR9-ZIvs^Qsc?Sm>WnspgjW@Opd z?Dh8BDat3IviwUM^R<9U-d8PEQjS4H8B-1WR9~~XU*@=V0+R%Tr>mdKI;Vst05zEPP5=M^ literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable/no_banner.png b/src/android/app/src/main/res/drawable/no_banner.png new file mode 100644 index 0000000000000000000000000000000000000000..d6f00ce595b580d7cd9b42050a99bfb1fb2166a3 GIT binary patch literal 929 zcmeAS@N?(olHy`uVBq!ia0y~yV0-{%FW_JSl69ZTk1;SXXL!0ehEy=Vy?K4&9S5E^ zN7dc;_MV!sb@Fu*$=&ep~Y|?-h@45IhDU5?X+)2b}^??t=y(D?za*e>#JkM0^9Y6Od>% z*eA;*kyyjX$B|gWYH;X>8An3PN7e|A$F~(g=75wpqbQ#*dw}DyHc0LPn_`dt0gx%t zEe87-v>Si~H`FM`FcTmPD`5nZ&>@|882@9ReuJRcJ_hBU^`BPBvI3O=)iVN>FmT`3SJ7$cUB?G>&6V5VPY|LJj*N2JM+Zb=tE~i7p^FyXn1V8>%o^)pU?pPd>v#;X@3MfquEg0krTOCy)r! z0TS0{odP;m^eBip0CjdbNJ$t2*w24C*PF6{ynaWqMo{bkFlY*zKY)Yf!*if`KPMzq z{&j&o4fcdNNcXiSptbI8?^zxK-Mk$nk|zKSKMS)O!E>yC?mv1FblmK&^@q6%HS3dS f>)lrU^PP2l!?TLCd#{avS&zZf)z4*}Q$iB}C8=Hz literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable/oval_ripple_grey.xml b/src/android/app/src/main/res/drawable/oval_ripple_grey.xml new file mode 100644 index 000000000..31f064c0a --- /dev/null +++ b/src/android/app/src/main/res/drawable/oval_ripple_grey.xml @@ -0,0 +1,8 @@ + + + + + + + \ No newline at end of file diff --git a/src/android/app/src/main/res/drawable/tv_card_background_gamecube.xml b/src/android/app/src/main/res/drawable/tv_card_background_gamecube.xml new file mode 100644 index 000000000..5c3614106 --- /dev/null +++ b/src/android/app/src/main/res/drawable/tv_card_background_gamecube.xml @@ -0,0 +1,8 @@ + + + + + diff --git a/src/android/app/src/main/res/layout-television/activity_emulation.xml b/src/android/app/src/main/res/layout-television/activity_emulation.xml new file mode 100644 index 000000000..facfe0fa3 --- /dev/null +++ b/src/android/app/src/main/res/layout-television/activity_emulation.xml @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/android/app/src/main/res/layout-television/fragment_emulation.xml b/src/android/app/src/main/res/layout-television/fragment_emulation.xml new file mode 100644 index 000000000..27243e841 --- /dev/null +++ b/src/android/app/src/main/res/layout-television/fragment_emulation.xml @@ -0,0 +1,7 @@ + \ No newline at end of file diff --git a/src/android/app/src/main/res/layout/activity_add_directory.xml b/src/android/app/src/main/res/layout/activity_add_directory.xml new file mode 100644 index 000000000..9762c5255 --- /dev/null +++ b/src/android/app/src/main/res/layout/activity_add_directory.xml @@ -0,0 +1,27 @@ + + + + + + + + diff --git a/src/android/app/src/main/res/layout/activity_emulation.xml b/src/android/app/src/main/res/layout/activity_emulation.xml new file mode 100644 index 000000000..7ebaceee2 --- /dev/null +++ b/src/android/app/src/main/res/layout/activity_emulation.xml @@ -0,0 +1,17 @@ + + + + + + + \ No newline at end of file diff --git a/src/android/app/src/main/res/layout/activity_main.xml b/src/android/app/src/main/res/layout/activity_main.xml index d13b8e03e..896e2e3ca 100644 --- a/src/android/app/src/main/res/layout/activity_main.xml +++ b/src/android/app/src/main/res/layout/activity_main.xml @@ -9,41 +9,31 @@ android:id="@+id/appbar" android:layout_width="match_parent" android:layout_height="wrap_content" - android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> + android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" > - - + app:layout_scrollFlags="scroll|enterAlways" + app:popupTheme="@style/ThemeOverlay.AppCompat.Light" /> - diff --git a/src/android/app/src/main/res/layout/activity_settings.xml b/src/android/app/src/main/res/layout/activity_settings.xml new file mode 100644 index 000000000..492fbf04e --- /dev/null +++ b/src/android/app/src/main/res/layout/activity_settings.xml @@ -0,0 +1,5 @@ + + diff --git a/src/android/app/src/main/res/layout/activity_tv_main.xml b/src/android/app/src/main/res/layout/activity_tv_main.xml new file mode 100644 index 000000000..b14f5c56d --- /dev/null +++ b/src/android/app/src/main/res/layout/activity_tv_main.xml @@ -0,0 +1,7 @@ + + + + \ No newline at end of file diff --git a/src/android/app/src/main/res/layout/card_game.xml b/src/android/app/src/main/res/layout/card_game.xml new file mode 100644 index 000000000..17b8c4da2 --- /dev/null +++ b/src/android/app/src/main/res/layout/card_game.xml @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + diff --git a/src/android/app/src/main/res/layout/dialog_game_details.xml b/src/android/app/src/main/res/layout/dialog_game_details.xml new file mode 100644 index 000000000..efd17e74c --- /dev/null +++ b/src/android/app/src/main/res/layout/dialog_game_details.xml @@ -0,0 +1,130 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/android/app/src/main/res/layout/dialog_seekbar.xml b/src/android/app/src/main/res/layout/dialog_seekbar.xml new file mode 100644 index 000000000..314f34826 --- /dev/null +++ b/src/android/app/src/main/res/layout/dialog_seekbar.xml @@ -0,0 +1,37 @@ + + + + + + + + + + \ No newline at end of file diff --git a/src/android/app/src/main/res/layout/fragment_emulation.xml b/src/android/app/src/main/res/layout/fragment_emulation.xml new file mode 100644 index 000000000..2cd17192c --- /dev/null +++ b/src/android/app/src/main/res/layout/fragment_emulation.xml @@ -0,0 +1,46 @@ + + + + + + + + + + +

r;Vni4l-g?! zaJH>rsK%QDhNDfi#@`oiz8im~K9`=6J?h5~*zfqq%My?w5R%5z5+nhhq%=BE=o-j; zW{aQ1uA)9}sLk;`%wuq0HD?iHVV?h+WNX%&5VzW&ak&0_!1;apqXF03={D~N<%x)q zkdl}{AObo|y`tnFfSt8Jb&3nI+sxvi%lxt!lEXCdUy3^A8-ZH5p6f$;0gwJgdVzz{ zyG>Y6QWy}3=mK>k5CiqlnNojO#QeW-cY*8WFCzGRn10@!L!VN#JMj8^SP(iH_?#1% z)`JbWzATOyK@go5y%q?eGl|DVq0?e{@Ra>ttT^{Y_U6FvF;8%3uG|d1Ds4djt)&g2 zL#emrV}YsZD!R)r$I4ek0dzFs5fH;1phLoj8H$F*cJpVE?jk>KYq0AAukVHPIZHf1 z=YuZeRvUVK2L8%97x?V^xxM5O@rVmPd;>607a-s<8la-4Wdgv@noqlL6ls0{7V3_` zQeP3dHR_b?3>4mKXf|P6^@jTQ!0T;vTj`Au3KIQvjGzk$fIyrQXGA_P5K0k;?T_pq z$MzTSvD`##@Poe98sgU`3F-R8oy$7P{=ub;yaBi?OlOZ>$=fgtLlvj`(QX3gk7 zbyzGVoNSu?0)Cr6X;z?{Q&T*`yW=ONg6NeQN(xdDOyT|w07HRrijG8P=_OuviAmh!PV6d6(z602fN)rz z9*qWEUY&|?b{kH~!yzLE1SM)P@(upo>5Bxk0M1W6Fj$`svE2Z2or&vKn4g}(F-mbi zcd6szIK3@PyDs|L1z|*1cf0rV$u1Z%K?vfMI4U=IA#5FEuk2NO8Kz+8uWuj-L5JmA z8DWp~+QAgkO|r)#$6i)Lc?kCl0y{+$^!&KMdJA{jN4Xy3>p0( zfs%ZSb}C0%l>>y1jP|J?zV!Ckg~Q|WHw5aSd{xPcBQ8A<2pu7}JBP;$cR~U!ou;Rp zl&pB-k^@na8WK;X^&|u&fI#k&`&A_*E;$I5lzZgs1SiK|pZH*UP(0;mF||(yDwqI7 zfsQAhN+%N&?o1${3nYja)Iq1>2TBToj#7KY%h@xhSsH+l?h#KoT2^$RWIz<;q{YAa z1KA?YA|L?@#ItI@qbh!&G(ZsONVP}4C?Sz`mx6xa^@+!vw4{m|Dg_WFxk>R$Z!qX? z009Y5AfHz|oXTjl1V9kzO7)VnJ*fZZ*anpy ziMMdGsS0(>WCar-&{fg1>aXpY$@Z<7)Wi#D*ekb1xDpW*4nid&R{f&u;N*LLOnSE; z91zE0KFl)}9ViHh3L`4=w0fv^67vI)M*{!|Ouu}{J?&JciVFaOKu1MRihtBY`JT&VxfcqL9e62o=T1ebm{e zY(DXaAON5rs*OC1i#T5K1o?reFzQ5JRu9^t{NfKq06;zHVR3@i*oJ%uUS01%5EN0- zPW3H&il8sVFG3N}2aVACcB~sWuv=juH!w5y?{mKEz2;1q`^|-r8`Jf{EO1V;4{NNf zP>>4(T^aM-AJqJoLyA8%0RVka&GIn1xWZzEf*=S~A_nfyoJZ0jobTwb!oQ#&YK%CD zGjLI5Jd_PWhoaJb!g6lWg)q0G1sRNp{}uIZ`<9w; z7IJFOq;>Xae0M_ftEzT+dn{(4nY|Y**hh2?sihE2Fqq_rUiwclgYyP-%xCOks=m+29SxT~tR4nev@Te61m~+$sj{6Y6`myU>x( zSWJO{^Y8&UIjnXOiKVQrr|1|_lB;5#`!nYu9_X5a_@_hwz<%h5T2Jl4L0X0}Yp;)8 zJO~v=RJ70if!bDB)Ek5;pAyjzwZ=IJC&eOcy7rX-L7<|j6Fug9C-ysI!lvAEqXfrv z^g$gbPBiQhb12SmEsu#11vxTC(HGRWl35=c6^D|XlhO+-VCaH+ML1$1IDCzoB0`0( zily9b>ig!*eAr)-QcHAD%{dr^`lNW3&WZ)paP65Q1c8o-s93^z(0P=HyP&X?TW*x_ zq@X@%GOb4j_fV6Fqh!8z^nfy>9*#UCzjJCwlkF^F*(E)ysRtyO^YUdHlpR>h08=~% z<4ORcKu1JX^ql)+^$?$Jg+rw+zw}jZ13}(0{YiggO8Q#ct2anPK$PT2*LPkNKXngj zK2h>_l;NGQZG06_?yxZ&o^wY3TuQY zP>?H~q_{NUl;#JysQV@vbfxUcVE6{c0eCgRoPYMHoe}j^Q~_z zPq!{yG&)i!Qa$n&@sxNyIot?uT*ew)X2d}_da-?{-mK$VUetxluM7x?2m*yrLTPzI zyhzW;!`d%ZiXnVGrU4y5ly0``%sb6;U9VAR`~qAaZODk8Pzos|%L{TZJuP-Q-G(oZ z(V1AAX+k?_AlJ?_>+D9eP}gbH##qZ-Hhn+SU5IuKywphW~iL_#7#0>~Hrbei6v*XXc3 zx6(TSyF-*#Zd?%rTto*D`qlOZ+isWe0z2C_*r=5jEL*mgA;ZNbIwmv)GtEIn91%Pc zkWVSPKxgO(9-`xPP7PT;Hr)*!TkGkrKoC|#6C8C-y=~xDZs9o3v<+O%QFbgbGBN;O z(uhnG5HpvN$)bnDI7mHs7897jF1jFk7kSU1|O09Padm#_p}7?RpCHPFCyTnEkE z2sK;-Hn(O{~wUt=y9r;OfLWc z03~!qSaf7zbY(hYa%Ew3WdJfTF*YqQGc7PUR53X^H8?smF)c7QIxsMM9jg}r001R) zMObuXVRU6WZEs|0W_bWIFfleQFfuJNH&ik)IyEyoF*q$SHaajcj!P@y0000PbVXQn sQ*UN;cVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBUy07*qoM6N<$f_)uaH2?qr literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-hdpi/button_x.png b/src/android/app/src/main/res/drawable-hdpi/button_x.png new file mode 100644 index 0000000000000000000000000000000000000000..0049add3d87147869b1b0da4778c8040e5e2e48c GIT binary patch literal 7042 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 literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-hdpi/button_x_pressed.png b/src/android/app/src/main/res/drawable-hdpi/button_x_pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..64692fb30084c6d85abb64a2a9b5e58fc374b2da GIT binary patch literal 7073 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 LNkvXXu0mjfO;MVi literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-hdpi/button_y.png b/src/android/app/src/main/res/drawable-hdpi/button_y.png new file mode 100644 index 0000000000000000000000000000000000000000..96a48a275138933405f71d5cb5ae6d57ba921d6f GIT binary patch literal 6953 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μ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 literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-hdpi/button_y_pressed.png b/src/android/app/src/main/res/drawable-hdpi/button_y_pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..51d6a31a1b2861dd58bedfc9b047a0abfdae207d GIT binary patch literal 6953 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 literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-hdpi/button_zl.png b/src/android/app/src/main/res/drawable-hdpi/button_zl.png new file mode 100644 index 0000000000000000000000000000000000000000..f60534668546f105011855e26bc19cd2ddb42ca6 GIT binary patch literal 4308 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 literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-hdpi/button_zr.png b/src/android/app/src/main/res/drawable-hdpi/button_zr.png new file mode 100644 index 0000000000000000000000000000000000000000..57463183635110aa7977c57884c3174a54a0ee8e GIT binary patch literal 4696 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 literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-hdpi/dpad_pressed_two_directions.png b/src/android/app/src/main/res/drawable-hdpi/dpad_pressed_two_directions.png new file mode 100644 index 0000000000000000000000000000000000000000..2d5055674a642e16faea24757f5b3a746ae6fa0a GIT binary patch literal 4368 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 bP#J^D-ue%BW~;gbjb-q3^>bP0l+XkKxtAnL literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-hdpi/ic_company.png b/src/android/app/src/main/res/drawable-hdpi/ic_company.png new file mode 100644 index 0000000000000000000000000000000000000000..88e21de2951f8c75a828347cdc46201f4af2fae6 GIT binary patch literal 183 zcmeAS@N?(olHy`uVBq!ia0vp^W+2SL0wmRZ7KH(+I!_nJkP61PH;#%nIPkCpczJ4O zYJH#LwA4bqB=-4P&c7#qDR45MF*x9H!)D)%Q#o=8t%)^hd){;Q&3woB?Em>2N?%%A z``8XPsA?#rMJ!l!-#YEn`8?5Y`_yYPul!!yoOIxmxIjo&NLIp%D=V(NbPLbr4QiZN huq2=|JN!U{?wQj09)I`l;sm;c!PC{xWt~$(69D*MNo)WB literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-hdpi/ic_country.png b/src/android/app/src/main/res/drawable-hdpi/ic_country.png new file mode 100644 index 0000000000000000000000000000000000000000..6e71c3a40f8044a380ce4fc88fbc6693d2b0d06b GIT binary patch literal 917 zcmV;G18V$ z7F0kJv=5EOD346=i49p648UQ0LaSEl-{8N<||X@ z6$)6AQT0)3ycYk2vMDUL4$o=N@`%t^r;{x26x!x9x@Bsk*pyzn~}8?Bs(5RWA}x*Y>lM)oAi=k58+AXgQtR? zBug#nmYT^*GxZHJk!B|ysAP{IPeYbN>dYcWGFMzi#qnVt9{ygW4~CD_0pDQiWON}8yVw7jH`~y&)3^LS8E;% z&XS1W^f;){4SY@|qXW+srqz^qU#U~HJHET-f#(98HDrtu(pfk&X*SX!O7=+d^qNPx zf@X)*71AN~U%T#l3@D5Df=Z=<}!BXP2Hus7VCBEt|3cQ zKH$IP%(Na05g7HWiQ>3oS#%x+qI>D$f@&7_%)_V%=a{-q%78vNpn09N7d??WHZID1 rkP+q35be+w4N(^9;gz)S8&hN<`DB!If%1@K00000NkvXXu0mjffYiJw literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-hdpi/ic_launcher.png b/src/android/app/src/main/res/drawable-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..e50a86dac11e7aa333882860ded133bc4bcfe012 GIT binary patch literal 2037 zcmV9PdauKx`#yHCSYd=cJ( zSKt$L72fhI@DN^r)6Rcjy(R;-7sjH(xT7%WC4Fh!^Z!j-LuG$M=i^A%O$G$RdR00a z9J`CwsnD)8q_j=L#1^qnTv)O4ZDeT*dNk=@?xo6)IYKX+3Ez+#Xql)+t7PO_EfQ4l z54#1&ZGV$#aVR|`6dJ?($YHzTcQlWCt}}1z6r5?3hA#o=vEqh;?m+s}pr;gdmnOnb zaT_fXQ7Ec+_zoJKe3WIHR*5*K?0~H-pn#N## z^EixX8i$T8<~51JAkse4_3Y}cyF3Nd z!%vfZS&`CH;81?-(I*X*&&eR@RO4_wY8-*NUBgknz!%I67?bhs$cW92B5+Gv{SB${ z%zjMgOuDC8M2ZT7-qKZ`vO8#S5?SfbrjhVsMF5#mo;09gI1;tR;;`*J^m|C3Fute{ zD|7(8+KZCU*FOR1loJ0ok1qNp7JyzOCAv}!$?wMGvi}+k`^r^}FCJCM!%J@Ky!RUF z9fwx=A5+uTK4}e2;8Ur^exa_to93%vx>izGkEUY+C%P9y*C$D#q&<}GXSzS0j@?** z$d1j0KFcG`kHfJ3aSZi8j_Ys6<|eug;{hRR%`UvKC_U`Zx4wtf@H+~va@cVN^peoy zi@9J>X2fCo$e=`}$q}eBJsMSK#BkD_SDq4q3geZO<_L`Y2Sbl1dgJq$=n9!Aq2mb6 z2irVArkMI4gW}Ej+$HxYu23>bFt`vtO2DA<++ z&iik}dfge+T#$mYBaf2NB9Kuk>RrcJcS%3iE39npLWY6=Va)YC0`<#!T!nXG)Ia1Y zD6vy)1_A1{)=tX+;vRtRVw_wmm zev9>zxUvEvK-7+gg32T4IlK-cr+VzIz*#Q^lIVES`yj&Tn7}>Di(JJIQG017wSF+D zM?I$Dw~_IrmMn)*{p~20`!CD0*>nkd0iq1nU!MPMh*9srIH!I0;28pKQjyZULa~L8 zV|+r<);|nZKJhSO@8Ev~RXsy-gUhE&PW$gEsjNt^5IoTK+&%C)%zpU?CW8)gMm?aR zvWN{oUXJAe%HQUVa>?*txjAnW%P;0DPv3G60^U+E{`LsLIKL3&YCG>4jNx2Y?3i=98T6nAr1BoUC`U~TML5XhFIj$Y zm8!41$pN=OsNLmIdIaJ-Ej=X16DO5(h$~NWrCl%IO+BN+AzKF0!rE3>@fA;(t~*cdX#g%tqq zVW{CMMJ5UF%4W+=Fupj3^%GQQI&e{-3ccJQHyMKR3w(dh#52}i?9DzTs3(;rlYVp(;V}s>g-hf{{{aKtgo~Z z%LXqw>QGs~I0^Bn+PsVxo6Vltzc87zlB?5Z+dUZclpSFoA}#`$I|?y}lV8k>9EkbMqN&#Y2$YT{lNAoXY2Kn>EuejlFISo}8_pFY-nE&$N8ocnJnmIG|| zVwufO6-)*n{zLQoUI}mG6NEB0JCRvq$r;cp$kURf1k0UhX1P_ZG9Gj!f@!A&i|yD{ zW$s^~eUYD*$0g7(t6{p~*)@YcA?uiSN-*7sQ57bo+|c~zpaiX31mkMUu4U53@hhgC z5=__QE90Tc-K+%Nd#EyF6UD3q-IN}i*ns`l9vlk*0000C^0%JD?g{_^003YMJ)%D| TqiGX%00000NkvXXu0mjfJv86; literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-hdpi/ic_play.png b/src/android/app/src/main/res/drawable-hdpi/ic_play.png new file mode 100644 index 0000000000000000000000000000000000000000..eaf8e908da444236eb9c5f820d383aaf04b49a60 GIT binary patch literal 194 zcmeAS@N?(olHy`uVBq!ia0vp^Dj>|k0wldT1B8K8r>Bc!NCo5DtCq5d3?$eC`g$dq zJr>9nFlsrl?$FQ@2;@BKkgnEuT!i({&flm1O{#hB@Zyiy73WZ{T{mW`C|E?LDBPHx zreL+2hlPDJ&ykbIEEpXZpK|aDwBeb$sKa5YhEc%WhFeFj>uu{yFn`wB6eC^l(OojF sbJ<$qJp)78&qol`;+0L2|ftpET3 literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-hdpi/ic_refresh.png b/src/android/app/src/main/res/drawable-hdpi/ic_refresh.png new file mode 100644 index 0000000000000000000000000000000000000000..ffac12458466c2dc2b869b8b4c199443fa8015c6 GIT binary patch literal 382 zcmV-^0fGLBP)M_e6Q6zc)CHSl70S1!K$*jG006oDM*ps{jX1Q>JE3@Et`4>nht>m1PMR;% zRTpE-cNV}o;?P3Cb>pg(O?4lLLz#Erg5K3mdZ0&X&>?U=!2DjDI8>0MWL$vRMjEsU zoD48qNrldX`PDL8NQa()tnOFjGw51hP`A26k3pgC(0Q;R+H46p9)>o8(^2R=SQUoG z$ialN%oOn1VBss`Ah@Ydkm=_R*irt49PKT*q)&jk3Z5GhdurzcZkklhr0#&+^prPy z4S+KiDeA79qD9UEN|vQQ{`0&MikD_f|3!?lUk(7^t6hfI{5u+Ly|W(r=P{u(Go2qRl2YH#cNr~DEC`gHdFkUh(iI&@# zpoXQ%5+dcE=FM(StH%e8wY23=ZL|xy^0y|g#`;Eb+A1CAtG(cwKmV-Z^DjwptBh;& ehwNq_1M~!SBWiQ$kNbfD0000G000004XF*Lt006O% z3;baP0000WV@Og>004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00002 zVoOIv0RM-N%)bBt00(qQO+^Rb0|^2d59kBrp8x)P@960hUBY1}k*X_6*sXj9RuH)ugfAU?qdM1>IIBKm6;wWVlv`m===4DM1By*K&BoxjmU;%Eig?wCga##+qhm1r~ zX`%z}ogNPm21FQBg~QYh2KaOqpthEdlWmhyXbd8R4)TXTPLe>YIsgqJNPi>I7}v z+#~|p5JExJs3p%8J;OztBaqmz?gHc?%3hAkQMOCeNBv^rwO!$)PGs|Y-rw!QgZiR_ z(nf|VQ+kdwIw`gEI`grP0_2Eb6C9Kea#&IVR(#a^=+|DH&T?oI6ma~;q^TykOFqngi8+uO>3P8!?@hfgv1w<@AaC3%7uOL zz#o)d5lVWN|I>G|YbnB-)jfw|cF0FKA!*m`EG9n;9r3masw+ZPPxEqlCdOKcuqF&- ziJ%GYkq2aFv*j<{!3q|Qw$LJi6%}si3%pLbwkEmJ8nBQDVV^w2T@p1m{N%gv98x_X zqfSdOTG2Onu6BJbhVlB$!~!))@?p7Ow$yE3rENzmoLJlvROo@k5 zj~sb2d*o4$nTXiM@xL`%)iXR}ZrZ-~5cK7X0UxfT1JZ;SCrSM^gFAM2CL#|iXk*<9_FJa z?qxlj#rFMZM4Cn3Nwta_;Xjm zQ~|c}8964n^lvuT(~4$SWSyVy>wn7J${o=PxymExcKNJKh&7wk^S47&J8&creM29Y zSytFRTM=6Y6n4qyQMkeGx8aK=rx-@@GixKUjk91@;>=Asa`!%PXgp2$zyVCK)+jSR|12m zQMsE>Xd>6sr}Q8|9-{KFoN&JGcBkL1d0hfE&d+`FAdy}q=vsgr)^L*hjq%U&-p=&9 zwf9RP5qVHPq|&_vT?&vVf;lFSnwY5J_RM_Rqb@<65o0AGpD+_bw-R(EKo-G{$tPvF z;r$2nH{gzdIr*Tml9o@g3+B7JyDI@AXhuFIyZi&r1NuF9JEBAdvFzb7hHY2(b|F9> z8|7g+;;nIT7g!D8hr9U3U{vmshlu36xT~W81tQ1?rl~ zuH&5@1jqrkF?mGd%_E)zw4x;#t0d&()m;&?9qu!oK30e1QQ6V({)6DVB)ni;j|98r zVUU3E@Tb{9H1jwTa`Iu}GJMjM9qB#sSX}m5m2)545O&mAg1X+a7^wce4)5MN+HRVrO$*Qz_esazO5q-~Qy(LWbDs_^zN$rltmFUhXbij!?0;48 z_ljj)jx081)B2|!;@*M%_XmsGz`dGi&4ro-$RWrf?r=9-Fi1aF4PQsr$^kjhnhQmn zFSaprLK0Hj5PMt{EETF!6GezK@lexvPnI`TT=61(INnQIpp7B9ZIO> zhB+I5Bl7mprT9%#G{vY2nyjX4J9SU(j`{ajkCn%5Ov6zHcaT~ID|hN1uKM5g36P^C ziTBH}SofCD7*YeOS0Yag{deZI^!1^INX@j#;#6$HZZA&Ee`Weh-K`8+Q~29}sHQo7 z?rP4rhC1rMG`^Li?x7lCqaJGdO8l?3JhAPaR5gn4l$lnjDVnR9tC{1qFBQU34MB0E zfgYRqwtud^NdUc*Q7mB`|IzQo{&3sB?|5$*aZZ!zbbYjEgXBu9WyC7`N*o&M=VZ?65>k?R1rXC*3z31TkC#(i6Mvb#ZkC>)ULU!;HW;EnV~ zwtYXG{1UJ-#tyeq2Am;i4#`lcPI=J3NqzO;?9k?*zsU(fii55bs?ISP z3}}vD+5N`W%|(ApCNv^r&g;fmf-B<^3C--U{=wEKcLiODwLpVgCCdI71?nvzHq2gW zJn<%I5xy1w^Ra4l^`8?)c#F2!S57K!4A{yxG#nA2z;ExmF&uO$)&l;A5}~qPMgUA6 zf!z#+Bm(F^4nNb&Zht`_QcaeJ%JGV+das2PUKAK+Hx!A&F!N&)p%#V+Fk`;9vl#Ez z{zbPh+>`z2{GG+oYJ>&JMsFl8nhQf$k~fouc;J<3S7NtnN|ZhFy(&>C#ALVgV&D-# z|0Q+0>+ENA;mbFF`qqhRTpNWhl81`ikT>E_4Ii(BQ37bp4D7ZMsYQV_TO||`U|#-q zv>fZE45IhW{MO`SMbq4D1t7*9dPnK8VkpK_noC`O+LJo71EZwKMu8C;U7lb|{9NKY zTe_qFlQ+ILdAPQ0aV2EzyHKPaiZf)$8iDP^La_i*|2dOObaUY&H~;e5VH-C4?hd|3 z7sVL`V_-BKov=ys?A9)dAjfX~$>jbp7|iORL>LuJH6qS){G&_mc|1X0=28BQ^i>4tG+Pxqw^cn`MB`5@v+53jSM-@^YTi% zVUfcUdio=kpi8=H)K3}{NRl!P6A!}^ zUS5yh>evI$lzw6^@TS@q)cafsh7D<=A!q@5Zm8I41XSLa`+;)M1??+h3>!&@qsMYK z+R?W4k!&V-Q&}~9vjRfeXsX^b3$!OtlXsJyzC2NRa3P@LtqBASDZ`Mz;z1eM0yCZZ zz_O!!cX@L}03U`7&gRL0yJ2(8b^PjG#a)}g0X0EL8i@y83V@s`bUeLoe<{`7L4=`3 zi=D*{p_qLwnsTJWCA!b9;9&=0M=T@)lugZa2tYcr@w;G)5jBKi7>Jr^C-c^!O)v!K zz?X9x<1Nn(J7Sw61h-T|LgH4Xi_I6+@Y~1=V5nyn!J1c8O{W+J-dVNdR+e(+J>0wMBrS98t!0?qpq+P}oX;Q8C&y zz#Eh!8evOE?I)A-n;;6bRI_X-0*y(^pjtqZZN*O4+)Q5IY>C_)0dZGFLa(Y-T-i`se)24S_p?#-MJ9&6l3N2 zk^JUzLQ39{ry7EB2zh^Xq*FQcOy=cK44(H573K{EN{vPlU|H^{?(I0?m`(isNI2T- zs?gXZL#Zx62wDK!^zQkN*8aDNUg&qdOh_=qm|%` zx?(hveP?}QUQ325b51WH;0+D(v4!njw8ekj{ST=SSj#G)-p?&tHKwLB4gucV!Qg1^ z16@3Tv5@$UeWx~o8&Xhaqt*bkT2l$$4JGu4vZj+00=+Quv-{3$*z%e z)MQFti~nQlH+No-J`}R898UJH&J3*4cl0}G6w;N#O_=~h)!RxL3?3>!GX3?v-PNWN zd1>dVZNIZHF+Z_zP={+Zlb6eKCHZdhdNLogkvp#iR*g zoS&Qd*66KdmzQfbaxHT$^Q`MV-Sr;9j;$|OVD}fH%A_TNNdeqoAr#xhfKL=ZKhPK?c?I+xaTe=}wC~y;ooK-fB;~ZdY04fW5 z&E32gd@gi%^%o`+;Yf_v1oa4THCh5NkR}0Fv=*ASD?gL}!u7Berk`kv09UG{skZ<{ zuQ`2zrpp4u5WhY3q1nylhTI2os`Hc8`r*ayI)hoRtMQ^h&>|eRfAH>sO&19o!*If+ z&NUrdX)1bAtqh*mJBGTZ)@EF`5xq^ z=uO^Lqao>zd6=mE&Gp}V>&Pt$!(i2l;r4@7xUAFO>kR=iNJZap=f=WAKR}AF+2Wj$1+*}nhjIA{Gi+4U;670`bWq64x!8B3 zZw_5eOiDH~A61FflC>SRaXUVLqH?4>ZsQ?|7|t_G6cvj#n$y4IYTEaH>-66>-qw4x zCZdXj;xNm_5J>Z(%7@C#LxqY|MKMG*u93zS;h-P9*&#(m&uhyjhgJcqdYYpe_a-Mp zVo2>!KPNX9{Pu<=;m!ir^PdG?bDvb}qREG*0lmaKjbt=*722p!XBz&JUcu-8VbK${ zV@OF)YsJll22V9#4O;BK%xS5lTdrvlAOYw(eYdfABIr77aCl~n(aU;a@fBwAEoPom zS{<~3)xvN8R{9abT9Z-Cow$w9yv`)9`fo;UCOYQRP*8WhwTS5Fmr8=}SyC+)(fj znAtFBjQpcwQPCT`Y&5gP)n@6BiM*%(>&y>?YL09}zze@x;RTsp`Y4zs1;}9GyLzti zQ3E&B6}-H$9)8d2_qA>Kb+F6Ld zBv=wY@9$(kH+hy)r@J}`kj9d}rq6155R8|H=lz`tNG4hD*;AOBG>c@E!cqsZQ%>PMzcIY7vA4NmnU&%u;^L+ zrk1VPK`{1VQP-=)Q+mEz`nwhY(xCc^zNprX1%sY(Ywlx3tNNV2igrtX4+202sq(y@ zwoX%HAVIVBTT%2BFG?-b!)Nq#7;qYj`ak-H6&3G`Z&wNY^joZ`==bz#%H3N((CZUq z6v^r1MD0;9?)eNF>h*JLf~L&JrT>in7lq#F@393y29R5PL*KSyZ`)STO23MVp3}$4 z_HKqNGTc1urD4*{m^p@XcS>e|4lE}SG>#ZG(h3B zc3aPU>hxdW>rAig^HylGd4L^!R*p37B?#+|g1*5w=-_5PqHppa%yggmH)9oSR$@qAtXlWZ@EXERp8RSqC6pOkyW7!@{mG-&qxibai9^^`tMAx@`9 z!7hze@$@G9Ai+cOfW(d6%n~^C*Jrz2`b+v8FZP=Ew_?>S<-*rzbo39?Z9(9Ufyp-MW=Y0GjuiC*d6-HN*+PS z__!RCh*)7`iqPVCT>o#hs%LmMa-%=4$3>qRna4ts`{V)HDz+Yu-Hd1hh|o;FlXzNG z)aVQ^=&O`qwRul7)_{#1DrO%K%Tb9+voi{{2(9EdI$fd_Jr`5B`&t!J7^44_}jwz$)NtV4fUjF$BhujmCSRr}Q0S`O=EbTh=!A(`M_8J8rsxqr}3 zhW-{!n}7G6i|6ZXi3$sPiPL(4VmAwG`+;?IzBzydwl@wDK z|J`&Tq1V-_7bUOfd5tTkTx4|JSXuYzmxl;r9G9c)l&E8Pei^(XNgE-SD|Y+&Xl*)v zuz839*X}Di#hbjL*QJkx4Ba7+EHHcU|#!cGtT1&_k zM6Kqy!uR!(=2?SoR%Zm3hG&Ujqq37j9Fe`G#CSWxT_KuU!!m_m()Qi|eNRcNI~>81 z*K3^Di%e71HOuomA>e*c4#mXS$srEP9!7`?%|ZYx7}8enHox^d4Xr{}C%ME$rcI^7 zmOvQ@x+4le7E2^5Bkbh>du5biM+hfMES{ib6w}swMn{rVAUl3wP^y$Q&n%NnGR0i2ycR=hD@UjVa4|=X zSX72dGsZMuEetVe^AisA(B{v z(*OVfC3HntbYx+4WjbSWWnpw>05UK!HZ3qSEigD#F*!OlI65;iEig7ZFfe-^s}}$O z03~!qSaf7zbY(hiZ)9m^c>ppnF*YqQGA%MUR5CF-H8VOfH!UzWIxsMJ16v3H000?u vMObuGZ)S9NVRB^vL1b@YWgtmyVP|DhWnpA_ami&o00000NkvXXu0mjfi<-b0 literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-hdpi/stick_c_pressed.png b/src/android/app/src/main/res/drawable-hdpi/stick_c_pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..10f8d08b9539386c72d114b7973371bb2e43ceb7 GIT binary patch literal 6579 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 literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-hdpi/stick_main.png b/src/android/app/src/main/res/drawable-hdpi/stick_main.png new file mode 100644 index 0000000000000000000000000000000000000000..d68e2990bd932eae0e49ae82851f7cdfdb660ec3 GIT binary patch literal 10330 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 YQe|Oed2z{QJOBUy07*qoM6N<$g0qJpFaQ7m literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-hdpi/stick_main_range.png b/src/android/app/src/main/res/drawable-hdpi/stick_main_range.png new file mode 100644 index 0000000000000000000000000000000000000000..34a81aae4816df0def9bfa970d06ae6c6a105397 GIT binary patch literal 8003 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 literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xhdpi/button_a.png b/src/android/app/src/main/res/drawable-xhdpi/button_a.png new file mode 100644 index 0000000000000000000000000000000000000000..831d5d45caa5fc21b09fb393fae0ada6bd7f583e GIT binary patch literal 9766 zcmV+>CfV7EP)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00002 zVoOIv0RM-N%)bBt00(qQO+^Rb2^R+uC+X5WivR#62}wjjRCwC$oq3ET=Xu_LZ*_I| z%yjqMGkaeo#dCK_N)!)K5=l{)McEdlBtRfJ1|ryr93V)9I96mpj{gu4=m-+QlI=*2 zWkx~l_z*0S5hO|^B~k||lB?b2vAmXh&F;?5J>7HkRd4>Ns_v@3rl+T8x@%a^g2SG! z>YDz(=lS0E{od~qwlNk#h)R^G^kV<(p_eF8i31QN24pD!XqG%VR#;`l{-=2g#k}Z1 zrwg))kWPPr_F@4GGfGtY7^I)1q%=iJlEg5GIR6=F-MX+SI{#VZG%XojBu$1z=2_7k z1xR(ekZr}b5I`Ehlpcl{V^oH9NK(WwF%b}#ZgmQ)4IU-VW$}DODNrEC0`oe<3{yJK zs#P$yg%koUfDE8<>0^wYvXgQ8iDNpHtIMXhh|LsNy{`my6eNxu@?>>UCiOCxnbu{= zX`qD=NC8}Cgw+TM*~wnn%P0xrh^R}wTPQ)R3Mgw>0RKh%^Xj~IuG>+j7qtK|s$NeF9GFF-xoW!(_~_~ZZTYxt~!FCOqa1xV{zPI6jTx-&fNIsv3n zF$TDvBeI*A+wSX8FEwdzjq{cGhlK^?&K%cyM&JR-1FpV5;%ty9t=XV8I~ohCuC zhnwXtMg>v3tLGy>;MAAVSOiX<0Iujyd7f-1B(UZ6y9A>9#?K z#xh/RYImq6IB_sUfgvFUdy_viYyANelIBCv~EiUeFcP}Em=JThUib#`FO>NQCOYqkCD>-8I<+8Oxb0d#`LtXIX_{ISDLuk{S{ z$ep}H`ogyFhhGGhc0e;c!84oRHQdyiUnEX`nD@wGF~zFa_TP-;+oZ8OCQ4w_>OTz;IU@HnBx?9f zf7tf@s2vZKT){Lyv|il2Xke2#$UuxcWk^^WFAz(}>d*B_RyV^6w4I3ziVX5zIU*5<{?PO{3D2~0 ze>5Ok)MNT1N#_}A^WSVU7ik2>`8B!5C0;6K_=NN~LIYQTp3?6z+wNiGwz82SLUETo zz(G6kD-ZNYX!@H(!)V|&eV8`S9B3mW86p(-$^+~(e1Tu+`PU1-EAUC+4Skr)?UX>< zILTmAI3N$O+wk=IL(ktD8c5(g56MLPCX=>_l_eB8#E01t(%&95kibR0%lUTY2aR?- zB!j?#kp6a}JVnOtNE>Qk*elI;^I`Tl^C~xtHV7btVC|I$>d`MD{Vl;S0XvX(B(R4M zv$H)C*suW780fAVzF$jwD}`tg-W5?564=KBI;L%qzy<}7L9oXBk$>3jYabd&;E+7P zu(G_tzp!x^Fvy2E7}CF4sFr}^7F4d050WZw@cA1OKnD7FpIjp${hNqdR=|PP@F z|)nI3V{+uT8(Z zzj8?bW}>zP43#AB9oZ`_b_rV&fS|+jK8Cylz9Ida5AOmxq2vryMtNVWhZ?jXfDH8T z9u7ENzmWbdM1=&({ei3G9%8N7fOQKXjb(7B9QG{ofaZ2u4ABNuN}wc!Te+>+LNK^a z0i=mz+$ir5Gwk_y3MC2H|996|M|pSTT4iaSPg|z|gxt8?D}7>lcJv78-(vWwcl!g9 z;yz<|y{33w0?0s|d)Qf??-Ta?JA=};L*8J}l0Cdjqw8}6>kvSig2-FtMz8k|gTGFq zDi{>GS&rt`l@n-M02u^xKX*&i>-`Do?-2Zv0Ip4r@$UE@VWH{gG%Wx{libIk*Y8*E z+!yqYUTuNH*mMcnzI2-2q4We+{{}- z^WTkdsjnCvxIqp_nsNh82terDC3lu`f1&yBN>sRk7^12qz;T*R#gT0i*F_i$iipDft`b z{<|18l0p#YPWr8epKBn1GzH-nd+d)e_a6vUgo2jr$27f(&Bt&;@=z2S??IRo4d8wE!~CP5$=Z>B5C*7VaWFCu<`d zjSSaoxHSckrXU;++kX&I+Xir>RcGapQTrk0u+(V(A^kyt&jx^S#Hh1!sD=R2#E}~q zsc!!vf`CdJ;0z62XVlCG7_}a-n&c*@|LM_!o?@7vJ=dk^s^~;El z4824oQcPxtatHEP>6i``Qph&Zy`av2Hl2b-I3&;Ja_${w`Bp~6Hw3gz>cEEPnT$Le z`9<=0&#Up-_?6(A01;FrsrzJV&N+nEDO?&gjgQLBM$stmJV)RKplSJO>>pB(4xUfuOs63< z3xP;seC31Fzq@c-KFA_az!Fd_QB*8Le`$TkJ&@jXODiea<4XYr9Xcof*!P#i&kbc_ z81`Ar>#et9%3dR(&h(&i5V(^R+a?7x&)@a^#mKLQ zS7R+u?}e&NCBM=4WdCO`{j-%dm)dqON=^U-26bG#0?1%s?IBj#1q>$g`u+G9$DSI= z#@f`iQG{fm$;g*y#{yR~uKCyU?*@B_Y97ilK$0Hbcavc>Q3n14G8*r9#)cA{=Scqe_8Q$KdH+%kQ zFc&x*;DODtN>ZFHqzvci=bip(puvOcpC&(j@M4Pxr!!DwK|JDON+yBL(d;pt>r<1QJUFMBIU_etWfe8v@#4ASuf`tg5$_$+O{e71j zh3FE^?^(Kg;qLU?3wx}%6;mjZHI^f1<>}ZjQ@==EN)*f{M4_TZ<|8Y6i>182IHfHd z=#i+g*1`RqEX{E#+@Tzy^D&2 z2Dz?qH2rjJy0_|r9-9Bm`7ce~pBu!eT`-Bru)ZVvn~Ocmr(#R7wf@wqnOynMa^Nb- z6XvPGg1#ae`A^Wxokq&A4IuH0lbt!eo{?!j|!onGTEJ)3$qV4XoqPET#B2Z)0qFi6a0-0vQPi5sm4 zCq8gVEJXCy=?CBVx0%HHiX*oc{^Y`;`NlUbnU4o5A>48xwzf{{CDGMUuM;e|WJk+wh*qb3H3fKCT_fPgrg07Xcc^bx7J>CFSRSY}mLjpfL+&ND9=BV*)^MbnOn7mTHb14By^ zv@u~P*Xxc5M(8u?CE`hvZ-4i%1r}t=d{tgIFZ5lAUXXb+9b4(i83hUy#S%r!-MfYz zy}VHjWQ!@K{3G<5#O*=`vLx$)X1NskrFp#XRL{%NE2&H*YZN1%#i1>rAXY0M>r@3) zzhw}&1+cNzGu;kdkYAaPCZ6tlJ~`d9>R%qZp;8A+05v8&8T6RMH(Cwdj8%@C4<#Py zKh?h&Qm;tpDihk z2P%No%u=WT;C18Q?`e{L0V(trhqL=KS6jPtqpM?uxDKnk7G!}LW7fRVdnx*waXvAb zEN&kc2~;b3TUdZB|9SXWGZO$MQW#r#+v3}nZd*BGjT92~hC#9{SuArZ`mz1zhPOu( zse__Po{GLf;I_xqzw7<>PF-_fkVN*@xd#?My!@6ze63B;1PqewDVp1$c{D`cq(Hzu z-HiPAv8Bed^CX_Td*=71-=9rscnX#WLc!F0z&A$LzfT+=YAoUL^rtWW>-0cKK7ilY z=S{NChSCAWlKk~hF4pM#ADaJf=YJy`lJCMpwnf$?i{*I4K#Jgm`Kv}7L&>hiKRNfI zR+fitJJg`pB5RPvqC8+0w2IP4`sN$7|5*Oh7eo4O)TjiDticM!TDzwQ19_h5)B4#= zxpnqmWU91E~yG+LdPH(On}k<&jK{Pu3$W&=T#)`vNJ0Awf_TCk6l59S6D z`9_DE>O$}3mMFCJE2*#V%WpUHPt|EznOxqGqAp-B7nF*70)V*Hh~WkEiP-wfqx!Yv z=l3tQ@W~*+mk3^rVE}0gK}`jXT4n>9isnBIFRrsZmVPbyxdZckoi16sQMFSj*~nm^vnH!cyO*aVAaqhyjcK53%Y1;6E{ayvNR~=AGZb@ zZrGZQeqqmd?SpohBOHit-#%g$FI#MiPCdt4w z1&q?+qCqkN94*{A_wbrAyUOL%UnTx;e)rN1D_0kWR+9x`DUyzziJgj`Pc6hX(#jIj zf>8`mlTpu4AkU04;H(XvCaccL;aW-u1VaXK`R%#KMwi$2+={HkUXQ;H7M7u)qW1Ce zEeAe@mNShVfoC5e70ogYb`XfpX~tU*fe|$T4`lC|Y5HbG5h9jpnHt&P(s3=C0bDiU zo)5fWA0KUiz^Y97!oWbGkN-G5zSIeWWf{3n7k(Y^g@D2pR>2iOUMGDc0YNfsz`Jvw zyku^|j%|h}SBwU&qCh4PZKmdIz)6ZGU_b(a%jAOU0>F?zSoqLn`@i8plR4ZcLb>*+l-BldXBMo+gEy!G8<_x;F zUG2@nC&iftI53hY@mxH*8e(x|7D{MQ(Tj)zkTj+F5FfGgPR*<8jHqU09IF5 z4)iHlI-yR?WB?>lxKJGhbbZ+>aGmw7OTTk2xw-)fh*^C5)Hh!J)9HOqP<+Q~gDvBY zxqu8DRg42>xggj_#g*pN>t#tZqR!5T5|~7gA3OCcGk33iX~zqL#r3yMiRRz3`0?pa zrgwM>e|>RuIa6;u(YO+n9acQs#4F6p759SaUeJtAFe=VQ(gbl_0DzeM*7AL4|Hs^4 zkG#=eFlok&2}rR&cX;8S&wg}erzO5sgyY2PLXF2SgE=+Jz!8IUz^^fO2x%juqf9!u@U?FCio;vW{WxpHE_ZO~8zbE~`(k=N~ zi^pT~@rAh7t_$VbB@I9|RSfkP^qgV2X_L~|&%kc^ElC-cAS&2D0~rmL%AJvu=3~9b z5--MP6H8_eONt^IQG*!0g@NVWx$6sWP2XNPP#A2aceUzWRmAA>3R3J*OGU*(#S&f6 zZ!(o~uA814XShtimWPD{>I6!VBzG0=S}ZKi%Yu21%d#Ykk(dq?3r47g;;^ zS)b%CC*MVd1DIgGe61t^fh=!u4dSdD3bGUMLQF;(EnHpmTBpC;B7r^%ON z*V1TK65tHW8sL0jh?;P0oPwxmhBHF>xHHdirlME$k}n^)?OVw9M$I0;gnt0T@V=B) zUd2K*(CMHMUQ{{&eN}VbNerIX34qh2Rf0J~I7ChO9l!!_fOiI+Z$^t^P3w7QYDnk= z0*;yv;EYy`U>p8lj65&f>x4X`N1+`EEF4?zYzIJ&Q%2E0wBZv#0!2^jEFLEi+JIof zX~3T4;A-fUoP$B%eHD`$1r~VK9x`x0T>cp%Sn$Sj3d*T`y7Hb10VEOCmskn|!C=F; z(%TIH)4XgtgTQ6fn$~<#&xL_t@S*-Lpm3VW>bq(PKysXPCx^KILOT#7_;!MF27+{z zlN74wwp0lq3GljJRHL+$O!?&T5P^X=nWutqjx$ibt8UGeEwaQ(3U=qg(;o;C2zc9n zX+$T_30EqfS|$W|D}`wI#Hah z$6g%)q%c&Ehc+OHD98U!`=8R2kvi?4`Ul4Y2=4OnHwS9u|ImUy*EiRQuLc50BC5yr zvTFmtwE-cz59NM;sj-S0T#)Bi=x^}3HTJkM=lLZCcVR*32D%-t6>wyb<7q41nBs<4 zQxxF^J)?$qqG(8d_n|!fLrd#`5MI?&wex>vthvjTF6+-(_S%53JJ_A5>i(tm=VaF+ zc#Z2xzA_itW5HhKNJkzKzE^({ddE^JU=(4o8hMk0i@`KK2*!LmNVg3k?vNyoFl)x6FX7DF!=o>sn zc75L8MoXt&2{OYEn5`8Ih7#C3)CvAXukZu!?w{*HO9DtDm}m4yy6i|mLJ4d>>e8R# zk;H}db^gj|@!Y!vdGsVd)?7IfDE9|Kv>$cp&+4Q4Ql>@vTNVJMz|yDnDJ|BLKxhNn ziwgRknzn=jPx73!5d68=z{!^>Bri|siINKlvjUrhD*DCV{2kTj3ZgIQqnh2=i6t96`&M8e6rMS$&9U*)aWW5C9~xFfQ`2JxXX*eBp9ILaYxB=s(ZHa%Jr~|IMIH_Bn$h z2l;i`VLJkxgQswgo(dhodQsQ+8+w87(sJUb5^b;mV1Jp|8U2pe3X~QpcnTDv8F;37 zR?~l;@3fEpwl>TRzIK0%Z4n|}QCzorlCl+i}|+s;P@g)#Y{Tw6MRvUC7tD1o(6>G|COUklI|_4~{k zZ9b~D?QAS!pab$=IVzE|9Uu${*F=@+_w@QH=yNHp0OB)&RZH!H1AcG?Nd7m8gSb)$D_)u>9)bjkQukk}; z!fI>W@5iRre+FQX`{ZU!QNtc2awHJifi+Ekp6B$(EVeuD_hZxRJ`HiXL+&O~!xg-V z?SP;B^6*(H}TGMHOguG4eU_jJAd2D-&pptxFf8TBUv-)#6rYk1BTlmekyq1?hbU*KsYs&Ee zC6@r(PXv`ApPzjDlxEHIGEYV(EZxj5UoCW?hSLc2a+Et|%-+;?yNW=)uRIfD)H~KM zpp*PepOnx62WdV!4rk+aIVFLGWbIhSD8|Lc0>gP~bo;TL+IVrR&Q4%cZKfgWz)4%v-i zJA<`E(A_fdlkc4vUopwU&?4t~N>52H&rk=yamQ;jgF$gXj&h5PBV`fzV}kCNL8Eq$ zf1FRSbW)GWNl9;Ihp#req8>9K3~`j3WfZYpqxiCf-75pF{7pPvzEZSLnS9kN9Mk8G z`OcFM-B5!L7O}(}=4Ot{NNo|+mqBL=(wKVR7@z&hz|tv>b3*5(>8)Hh8(kv+fHVjr zaubJT9MkO`&_y!P+V53SUt#pY&^(iz)EBKe(Ty+YY9G2v003!Jq@Qc$i0mcq_LZb6 zAoR+hRxt!^W8u~!zM6WE(HC9i0>^okbUSDCw+CG(0B|Of^l=qOI3P(U9IV+d@O2Tj zesSFQ*A|6)ht|FB{3-7{)S})o`WfEfq@IzL?jzq{gI$IN`bkHP9bCtCGDfUy3u<)_ zD*{7B+PhtmeN2v4zvsE)qh1ira)p<9S+B$jOAL3qLhGPw1z;lsqDeW(4IGdZ5pm+F zdOd?$t^kGg3PNokQit^NJvBOef>6{&&hQdvtmUnk)UgqCxc~rWNsu#TghN~{dq|dL zPzn#rMOjDQ&|}FPo`R;17Tn*UR#&e?eVPmUI&bKlY|=#T_96fRu#v&Sh%w9|u4cC+ zFiW*A7(?u3 zAA4nx9>=(=mvnCrpw!OS;RI?qfEt54Hu0(}%yEJ9dVzT(-yP|l<`FOfxX3_+KE~P4 zZpI}+9K$05Ul1rX6a800ozJ0^YQ z>|zJ~5+iCe=knDk2&~`XtFi&^q$MSWiB(ra*)h@Ed*KsF48DQM0;d_5r!FI zm;rhuidp7ZYB24vTPpq4Kpa!G5hYkTyqVVeoS zi&=Uoiblm0lO7WEX|MDUBTj@~r{fR@vM6A&g2gI1&B_YPEa@r*3Rb?ma`)}V{|5s- zBeKKYwj}@n03~!qSaf7zbY(hYa%Ew3WdJfTF*YqQGc7PUR53R?H8?smF)c7SIxsL{ zB+!%q001R)MObuXVRU6WZEs|0W_bWIFfleQFfuJNH&ih>IyEyoGdC?TI65#e{F~kI z0000PbVXQnQ*UN;cVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBUy07*qoM6N<$f==$G A9smFU literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xhdpi/button_a_pressed.png b/src/android/app/src/main/res/drawable-xhdpi/button_a_pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..bbea374ea3f28ea9c92884d22154044a40fca771 GIT binary patch literal 9638 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 RU-A^7B(E-4En^Y(e*iOaXOaK_ literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xhdpi/button_b.png b/src/android/app/src/main/res/drawable-xhdpi/button_b.png new file mode 100644 index 0000000000000000000000000000000000000000..4facae6f73c2821539641cda85d0334edda29926 GIT binary patch literal 9267 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 O15lJzlc|t04gMc8jeoWP literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xhdpi/button_b_pressed.png b/src/android/app/src/main/res/drawable-xhdpi/button_b_pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..5208a86fadd1d821c727cb5bfc63726902c40b33 GIT binary patch literal 9138 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 literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xhdpi/button_home.png b/src/android/app/src/main/res/drawable-xhdpi/button_home.png new file mode 100644 index 0000000000000000000000000000000000000000..ada72c21f11c5ee0f3dbdf9451a59b5b147af5fd GIT binary patch literal 10706 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 LjYWky`sRNCpezP1 literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xhdpi/button_l_pressed.png b/src/android/app/src/main/res/drawable-xhdpi/button_l_pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..3c454feafab5cf0768b5d51679548856a47152a3 GIT binary patch literal 3139 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 literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xhdpi/button_start.png b/src/android/app/src/main/res/drawable-xhdpi/button_start.png new file mode 100644 index 0000000000000000000000000000000000000000..e32c624992b6f74c13ecf712f9fc69040fa55c97 GIT binary patch literal 11639 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 literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/drawable-xhdpi/button_start_pressed.png b/src/android/app/src/main/res/drawable-xhdpi/button_start_pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..80ffee644b0d538105c714342a581298f616407b GIT binary patch literal 11368 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