diff options
| author | bunnei <bunneidev@gmail.com> | 2022-12-30 18:09:03 -0800 |
|---|---|---|
| committer | bunnei <bunneidev@gmail.com> | 2023-06-03 00:05:27 -0700 |
| commit | 3f736b377a9d7bcced8950c961da196f567b40d9 (patch) | |
| tree | 31102f83a8115545ef00dc6b5ce6b6adc327adfd /src | |
| parent | 189bb7602c1ba97adf529501e7bfd606764809b3 (diff) | |
android: Minimize frontend & convert to yuzu.
Diffstat (limited to 'src')
| -rw-r--r-- | src/android/app/build.gradle | 2 | ||||
| -rw-r--r-- | src/android/app/src/androidTest/java/org/yuzu/yuzu_emu/ExampleInstrumentedTest.java (renamed from src/android/app/src/androidTest/java/org/citra/citra_emu/ExampleInstrumentedTest.java) | 2 | ||||
| -rw-r--r-- | src/android/app/src/main/AndroidManifest.xml | 34 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/citra/citra_emu/applets/MiiSelector.java | 122 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/citra/citra_emu/camera/StillImageCameraHelper.java | 65 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/citra/citra_emu/disk_shader_cache/DiskShaderCacheProgress.java | 138 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/citra/citra_emu/features/cheats/model/Cheat.java | 57 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/citra/citra_emu/features/cheats/model/CheatEngine.java | 13 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/citra/citra_emu/features/cheats/model/CheatsViewModel.java | 177 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/citra/citra_emu/features/cheats/ui/CheatDetailsFragment.java | 174 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/citra/citra_emu/features/cheats/ui/CheatListFragment.java | 46 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/citra/citra_emu/features/cheats/ui/CheatViewHolder.java | 56 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/citra/citra_emu/features/cheats/ui/CheatsActivity.java | 161 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/citra/citra_emu/features/cheats/ui/CheatsAdapter.java | 72 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/NativeLibrary.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/NativeLibrary.java) | 14 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/YuzuApplication.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/CitraApplication.java) | 12 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/activities/CustomFilePickerActivity.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/activities/CustomFilePickerActivity.java) | 4 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/activities/EmulationActivity.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/activities/EmulationActivity.java) | 452 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/adapters/GameAdapter.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/adapters/GameAdapter.java) | 18 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/applets/SoftwareKeyboard.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/applets/SoftwareKeyboard.java) | 18 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/dialogs/MotionAlertDialog.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/dialogs/MotionAlertDialog.java) | 6 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/BooleanSetting.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/BooleanSetting.java) | 2 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/FloatSetting.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/FloatSetting.java) | 2 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/IntSetting.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/IntSetting.java) | 2 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/Setting.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/Setting.java) | 4 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/SettingSection.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/SettingSection.java) | 2 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/Settings.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/Settings.java) | 17 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/StringSetting.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/StringSetting.java) | 2 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/CheckBoxSetting.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/view/CheckBoxSetting.java) | 16 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/DateTimeSetting.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/view/DateTimeSetting.java) | 6 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/HeaderSetting.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/view/HeaderSetting.java) | 4 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/InputBindingSetting.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/view/InputBindingSetting.java) | 32 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/PremiumHeader.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/view/PremiumHeader.java) | 2 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/PremiumSingleChoiceSetting.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/view/PremiumSingleChoiceSetting.java) | 14 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SettingsItem.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/view/SettingsItem.java) | 8 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SingleChoiceSetting.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/view/SingleChoiceSetting.java) | 6 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SliderSetting.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/view/SliderSetting.java) | 10 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/StringSingleChoiceSetting.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/view/StringSingleChoiceSetting.java) | 6 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SubmenuSetting.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/view/SubmenuSetting.java) | 4 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsActivity.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/SettingsActivity.java) | 18 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsActivityPresenter.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/SettingsActivityPresenter.java) | 29 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsActivityView.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/SettingsActivityView.java) | 6 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsAdapter.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/SettingsAdapter.java) | 52 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragment.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/SettingsFragment.java) | 12 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragmentPresenter.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/SettingsFragmentPresenter.java) | 134 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragmentView.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/SettingsFragmentView.java) | 8 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFrameLayout.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/SettingsFrameLayout.java) | 2 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/viewholder/CheckBoxSettingViewHolder.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/viewholder/CheckBoxSettingViewHolder.java) | 10 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/viewholder/DateTimeViewHolder.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/viewholder/DateTimeViewHolder.java) | 12 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/viewholder/HeaderViewHolder.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/viewholder/HeaderViewHolder.java) | 8 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/viewholder/InputBindingSettingViewHolder.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/viewholder/InputBindingSettingViewHolder.java) | 10 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/viewholder/PremiumViewHolder.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/viewholder/PremiumViewHolder.java) | 12 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/viewholder/SettingViewHolder.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/viewholder/SettingViewHolder.java) | 6 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/viewholder/SingleChoiceViewHolder.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/viewholder/SingleChoiceViewHolder.java) | 14 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/viewholder/SliderViewHolder.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/viewholder/SliderViewHolder.java) | 10 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/viewholder/SubmenuViewHolder.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/viewholder/SubmenuViewHolder.java) | 10 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/utils/SettingsFile.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/features/settings/utils/SettingsFile.java) | 36 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/CustomFilePickerFragment.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/fragments/CustomFilePickerFragment.java) | 4 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/EmulationFragment.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/fragments/EmulationFragment.java) | 28 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/MenuFragment.java | 129 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/model/Game.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/model/Game.java) | 2 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/model/GameDatabase.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/model/GameDatabase.java) | 6 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/model/GameProvider.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/model/GameProvider.java) | 6 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/overlay/InputOverlay.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/overlay/InputOverlay.java) | 14 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/overlay/InputOverlayDrawableButton.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/overlay/InputOverlayDrawableButton.java) | 2 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/overlay/InputOverlayDrawableDpad.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/overlay/InputOverlayDrawableDpad.java) | 2 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/overlay/InputOverlayDrawableJoystick.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/overlay/InputOverlayDrawableJoystick.java) | 6 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/ui/DividerItemDecoration.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/ui/DividerItemDecoration.java) | 2 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/ui/TwoPaneOnBackPressedCallback.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/ui/TwoPaneOnBackPressedCallback.java) | 2 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/ui/main/MainActivity.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/ui/main/MainActivity.java) | 28 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/ui/main/MainPresenter.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/ui/main/MainPresenter.java) | 18 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/ui/main/MainView.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/ui/main/MainView.java) | 2 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/ui/platform/PlatformGamesFragment.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/ui/platform/PlatformGamesFragment.java) | 12 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/ui/platform/PlatformGamesPresenter.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/ui/platform/PlatformGamesPresenter.java) | 10 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/ui/platform/PlatformGamesView.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/ui/platform/PlatformGamesView.java) | 2 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/Action1.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/utils/Action1.java) | 2 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/AddDirectoryHelper.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/utils/AddDirectoryHelper.java) | 6 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/BiMap.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/utils/BiMap.java) | 2 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/BillingManager.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/utils/BillingManager.java) | 14 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/ControllerMappingHelper.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/utils/ControllerMappingHelper.java) | 2 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/DirectoryInitialization.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/utils/DirectoryInitialization.java) | 34 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/DirectoryStateReceiver.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/utils/DirectoryStateReceiver.java) | 4 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/EmulationMenuSettings.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/utils/EmulationMenuSettings.java) | 6 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/FileBrowserHelper.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/utils/FileBrowserHelper.java) | 4 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/FileUtil.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/utils/FileUtil.java) | 2 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/ForegroundService.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/utils/ForegroundService.java) | 6 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/GameIconRequestHandler.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/utils/GameIconRequestHandler.java) | 4 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/Log.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/utils/Log.java) | 6 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/PermissionsHandler.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/utils/PermissionsHandler.java) | 2 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/PicassoRoundedCornersTransformation.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/utils/PicassoRoundedCornersTransformation.java) | 2 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/PicassoUtils.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/utils/PicassoUtils.java) | 8 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/StartupHandler.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/utils/StartupHandler.java) | 6 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/ThemeUtil.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/utils/ThemeUtil.java) | 8 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/viewholders/GameViewHolder.java (renamed from src/android/app/src/main/java/org/citra/citra_emu/viewholders/GameViewHolder.java) | 4 | ||||
| -rw-r--r-- | src/android/app/src/main/jni/native.cpp | 64 | ||||
| -rw-r--r-- | src/android/app/src/main/jni/native.h | 68 | ||||
| -rw-r--r-- | src/android/app/src/main/res/animator/menu_slide_in_from_end.xml | 20 | ||||
| -rw-r--r-- | src/android/app/src/main/res/animator/menu_slide_in_from_start.xml | 20 | ||||
| -rw-r--r-- | src/android/app/src/main/res/animator/menu_slide_out_to_end.xml | 21 | ||||
| -rw-r--r-- | src/android/app/src/main/res/animator/menu_slide_out_to_start.xml | 21 | ||||
| -rw-r--r-- | src/android/app/src/main/res/layout-ldrtl/list_item_cheat.xml | 38 | ||||
| -rw-r--r-- | src/android/app/src/main/res/layout/activity_cheats.xml | 22 | ||||
| -rw-r--r-- | src/android/app/src/main/res/layout/activity_emulation.xml | 31 | ||||
| -rw-r--r-- | src/android/app/src/main/res/layout/fragment_cheat_details.xml | 163 | ||||
| -rw-r--r-- | src/android/app/src/main/res/layout/fragment_cheat_list.xml | 27 | ||||
| -rw-r--r-- | src/android/app/src/main/res/layout/fragment_emulation.xml | 5 | ||||
| -rw-r--r-- | src/android/app/src/main/res/layout/fragment_ingame_menu.xml | 56 | ||||
| -rw-r--r-- | src/android/app/src/main/res/layout/fragment_settings.xml | 6 | ||||
| -rw-r--r-- | src/android/app/src/main/res/layout/list_item_cheat.xml | 38 | ||||
| -rw-r--r-- | src/android/app/src/main/res/menu/menu_emulation.xml | 118 | ||||
| -rw-r--r-- | src/android/app/src/main/res/mipmap-hdpi/ic_launcher.png | bin | 5899 -> 17950 bytes | |||
| -rw-r--r-- | src/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png | bin | 7416 -> 48880 bytes | |||
| -rw-r--r-- | src/android/app/src/main/res/mipmap-mdpi/ic_launcher.png | bin | 3377 -> 15249 bytes | |||
| -rw-r--r-- | src/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png | bin | 4413 -> 47388 bytes | |||
| -rw-r--r-- | src/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png | bin | 8742 -> 17663 bytes | |||
| -rw-r--r-- | src/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png | bin | 10530 -> 49903 bytes | |||
| -rw-r--r-- | src/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png | bin | 14300 -> 20413 bytes | |||
| -rw-r--r-- | src/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png | bin | 17511 -> 57817 bytes | |||
| -rw-r--r-- | src/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png | bin | 20804 -> 23487 bytes | |||
| -rw-r--r-- | src/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png | bin | 24886 -> 58695 bytes | |||
| -rw-r--r-- | src/android/app/src/main/res/values-night/colors.xml | 7 | ||||
| -rw-r--r-- | src/android/app/src/main/res/values/colors.xml | 7 | ||||
| -rw-r--r-- | src/android/app/src/main/res/values/dimens.xml | 9 | ||||
| -rw-r--r-- | src/android/app/src/main/res/values/integers.xml | 1 | ||||
| -rw-r--r-- | src/android/app/src/main/res/values/strings.xml | 74 | ||||
| -rw-r--r-- | src/android/app/src/main/res/values/styles.xml | 39 | ||||
| -rw-r--r-- | src/android/app/src/test/java/org/citra/citra_emu/ExampleUnitTest.java | 17 | ||||
| -rw-r--r-- | src/android/code-style-java.xml | 3 |
128 files changed, 934 insertions, 2509 deletions
diff --git a/src/android/app/build.gradle b/src/android/app/build.gradle index 5a108743b6..ffbadce146 100644 --- a/src/android/app/build.gradle +++ b/src/android/app/build.gradle @@ -30,7 +30,7 @@ android { defaultConfig { // TODO If this is ever modified, change application_id in strings.xml - applicationId "org.citra.citra_emu" + applicationId "org.yuzu.yuzu_emu" minSdkVersion 28 targetSdkVersion 29 versionCode autoVersion diff --git a/src/android/app/src/androidTest/java/org/citra/citra_emu/ExampleInstrumentedTest.java b/src/android/app/src/androidTest/java/org/yuzu/yuzu_emu/ExampleInstrumentedTest.java index 6a25f2ce6a..0cea198276 100644 --- a/src/android/app/src/androidTest/java/org/citra/citra_emu/ExampleInstrumentedTest.java +++ b/src/android/app/src/androidTest/java/org/yuzu/yuzu_emu/ExampleInstrumentedTest.java @@ -1,3 +1,3 @@ -package org.citra.citra_emu; +package org.yuzu.yuzu_emu; import android.content.Context; diff --git a/src/android/app/src/main/AndroidManifest.xml b/src/android/app/src/main/AndroidManifest.xml index c2463e079a..0d7e3f7ad9 100644 --- a/src/android/app/src/main/AndroidManifest.xml +++ b/src/android/app/src/main/AndroidManifest.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" - package="org.citra.citra_emu"> + package="org.yuzu.yuzu_emu"> <uses-feature android:name="android.hardware.touchscreen" android:required="false"/> @@ -11,9 +11,6 @@ <uses-feature android:glEsVersion="0x00030002" android:required="true" /> <uses-feature android:name="android.hardware.opengles.aep" android:required="true" /> - <uses-feature - android:name="android.hardware.camera.any" - android:required="false" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.INTERNET" /> @@ -23,7 +20,7 @@ <application - android:name="org.citra.citra_emu.CitraApplication" + android:name="org.yuzu.yuzu_emu.YuzuApplication" android:label="@string/app_name" android:icon="@mipmap/ic_launcher" android:allowBackup="false" @@ -33,8 +30,8 @@ android:requestLegacyExternalStorage="true"> <activity - android:name="org.citra.citra_emu.ui.main.MainActivity" - android:theme="@style/CitraBase" + android:name="org.yuzu.yuzu_emu.ui.main.MainActivity" + android:theme="@style/YuzuBase" android:resizeableActivity="false"> <!-- This intentfilter marks this Activity as the one that gets launched from Home screen. --> @@ -46,22 +43,22 @@ </activity> <activity - android:name="org.citra.citra_emu.features.settings.ui.SettingsActivity" + android:name="org.yuzu.yuzu_emu.features.settings.ui.SettingsActivity" android:configChanges="orientation|screenSize|uiMode" - android:theme="@style/CitraSettingsBase" + android:theme="@style/YuzuSettingsBase" android:label="@string/preferences_settings"/> <activity - android:name="org.citra.citra_emu.activities.EmulationActivity" + android:name="org.yuzu.yuzu_emu.activities.EmulationActivity" android:resizeableActivity="false" - android:theme="@style/CitraEmulationBase" + android:theme="@style/YuzuEmulationBase" android:launchMode="singleTop" android:screenOrientation="landscape"/> - <service android:name="org.citra.citra_emu.utils.ForegroundService"/> + <service android:name="org.yuzu.yuzu_emu.utils.ForegroundService"/> <activity - android:name="org.citra.citra_emu.activities.CustomFilePickerActivity" + android:name="org.yuzu.yuzu_emu.activities.CustomFilePickerActivity" android:label="@string/app_name" android:theme="@style/FilePickerTheme"> <intent-filter> @@ -70,16 +67,10 @@ </intent-filter> </activity> - <activity - android:name="org.citra.citra_emu.features.cheats.ui.CheatsActivity" - android:exported="false" - android:theme="@style/CitraSettingsBase" - android:label="@string/cheats"/> - - <service android:name="org.citra.citra_emu.utils.DirectoryInitialization"/> + <service android:name="org.yuzu.yuzu_emu.utils.DirectoryInitialization"/> <provider - android:name="org.citra.citra_emu.model.GameProvider" + android:name="org.yuzu.yuzu_emu.model.GameProvider" android:authorities="${applicationId}.provider" android:enabled="true" android:exported="false"> @@ -97,3 +88,4 @@ </application> </manifest> + diff --git a/src/android/app/src/main/java/org/citra/citra_emu/applets/MiiSelector.java b/src/android/app/src/main/java/org/citra/citra_emu/applets/MiiSelector.java deleted file mode 100644 index 3586a9b349..0000000000 --- a/src/android/app/src/main/java/org/citra/citra_emu/applets/MiiSelector.java +++ /dev/null @@ -1,122 +0,0 @@ -// Copyright 2020 Citra Emulator Project -// Licensed under GPLv2 or any later version -// Refer to the license.txt file included. - -package org.citra.citra_emu.applets; - -import android.app.Activity; -import android.app.Dialog; -import android.os.Bundle; - -import org.citra.citra_emu.NativeLibrary; -import org.citra.citra_emu.R; -import org.citra.citra_emu.activities.EmulationActivity; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Objects; - -import androidx.annotation.NonNull; -import androidx.appcompat.app.AlertDialog; -import androidx.fragment.app.DialogFragment; - -public final class MiiSelector { - public static class MiiSelectorConfig implements java.io.Serializable { - public boolean enable_cancel_button; - public String title; - public long initially_selected_mii_index; - // List of Miis to display - public String[] mii_names; - } - - public static class MiiSelectorData { - public long return_code; - public int index; - - private MiiSelectorData(long return_code, int index) { - this.return_code = return_code; - this.index = index; - } - } - - public static class MiiSelectorDialogFragment extends DialogFragment { - static MiiSelectorDialogFragment newInstance(MiiSelectorConfig config) { - MiiSelectorDialogFragment frag = new MiiSelectorDialogFragment(); - Bundle args = new Bundle(); - args.putSerializable("config", config); - frag.setArguments(args); - return frag; - } - - @NonNull - @Override - public Dialog onCreateDialog(Bundle savedInstanceState) { - final Activity emulationActivity = Objects.requireNonNull(getActivity()); - - MiiSelectorConfig config = - Objects.requireNonNull((MiiSelectorConfig) Objects.requireNonNull(getArguments()) - .getSerializable("config")); - - // Note: we intentionally leave out the Standard Mii in the native code so that - // the string can get translated - ArrayList<String> list = new ArrayList<>(); - list.add(emulationActivity.getString(R.string.standard_mii)); - list.addAll(Arrays.asList(config.mii_names)); - - final int initialIndex = config.initially_selected_mii_index < list.size() - ? (int) config.initially_selected_mii_index - : 0; - data.index = initialIndex; - AlertDialog.Builder builder = - new AlertDialog.Builder(emulationActivity) - .setTitle(config.title.isEmpty() - ? emulationActivity.getString(R.string.mii_selector) - : config.title) - .setSingleChoiceItems(list.toArray(new String[]{}), initialIndex, - (dialog, which) -> { - data.index = which; - }) - .setPositiveButton(android.R.string.ok, (dialog, which) -> { - data.return_code = 0; - synchronized (finishLock) { - finishLock.notifyAll(); - } - }); - if (config.enable_cancel_button) { - builder.setNegativeButton(android.R.string.cancel, (dialog, which) -> { - data.return_code = 1; - synchronized (finishLock) { - finishLock.notifyAll(); - } - }); - } - setCancelable(false); - return builder.create(); - } - } - - private static MiiSelectorData data; - private static final Object finishLock = new Object(); - - private static void ExecuteImpl(MiiSelectorConfig config) { - final EmulationActivity emulationActivity = NativeLibrary.sEmulationActivity.get(); - - data = new MiiSelectorData(0, 0); - - MiiSelectorDialogFragment fragment = MiiSelectorDialogFragment.newInstance(config); - fragment.show(emulationActivity.getSupportFragmentManager(), "mii_selector"); - } - - public static MiiSelectorData Execute(MiiSelectorConfig config) { - NativeLibrary.sEmulationActivity.get().runOnUiThread(() -> ExecuteImpl(config)); - - synchronized (finishLock) { - try { - finishLock.wait(); - } catch (Exception ignored) { - } - } - - return data; - } -} diff --git a/src/android/app/src/main/java/org/citra/citra_emu/camera/StillImageCameraHelper.java b/src/android/app/src/main/java/org/citra/citra_emu/camera/StillImageCameraHelper.java deleted file mode 100644 index 701cb07104..0000000000 --- a/src/android/app/src/main/java/org/citra/citra_emu/camera/StillImageCameraHelper.java +++ /dev/null @@ -1,65 +0,0 @@ -// Copyright 2020 Citra Emulator Project -// Licensed under GPLv2 or any later version -// Refer to the license.txt file included. - -package org.citra.citra_emu.camera; - -import android.content.Intent; -import android.graphics.Bitmap; -import android.provider.MediaStore; - -import org.citra.citra_emu.NativeLibrary; -import org.citra.citra_emu.R; -import org.citra.citra_emu.activities.EmulationActivity; -import org.citra.citra_emu.utils.PicassoUtils; - -import androidx.annotation.Nullable; - -// Used in native code. -public final class StillImageCameraHelper { - public static final int REQUEST_CAMERA_FILE_PICKER = 1; - private static final Object filePickerLock = new Object(); - private static @Nullable - String filePickerPath; - - // Opens file picker for camera. - public static @Nullable - String OpenFilePicker() { - final EmulationActivity emulationActivity = NativeLibrary.sEmulationActivity.get(); - - // At this point, we are assuming that we already have permissions as they are - // needed to launch a game - emulationActivity.runOnUiThread(() -> { - Intent intent = new Intent(Intent.ACTION_PICK); - intent.setDataAndType(MediaStore.Images.Media.INTERNAL_CONTENT_URI, "image/*"); - emulationActivity.startActivityForResult( - Intent.createChooser(intent, - emulationActivity.getString(R.string.camera_select_image)), - REQUEST_CAMERA_FILE_PICKER); - }); - - synchronized (filePickerLock) { - try { - filePickerLock.wait(); - } catch (InterruptedException ignored) { - } - } - - return filePickerPath; - } - - // Called from EmulationActivity. - public static void OnFilePickerResult(Intent result) { - filePickerPath = result == null ? null : result.getDataString(); - - synchronized (filePickerLock) { - filePickerLock.notifyAll(); - } - } - - // Blocking call. Load image from file and crop/resize it to fit in width x height. - @Nullable - public static Bitmap LoadImageFromFile(String uri, int width, int height) { - return PicassoUtils.LoadBitmapFromFile(uri, width, height); - } -} diff --git a/src/android/app/src/main/java/org/citra/citra_emu/disk_shader_cache/DiskShaderCacheProgress.java b/src/android/app/src/main/java/org/citra/citra_emu/disk_shader_cache/DiskShaderCacheProgress.java deleted file mode 100644 index d6d14cc5f3..0000000000 --- a/src/android/app/src/main/java/org/citra/citra_emu/disk_shader_cache/DiskShaderCacheProgress.java +++ /dev/null @@ -1,138 +0,0 @@ -// Copyright 2021 Citra Emulator Project -// Licensed under GPLv2 or any later version -// Refer to the license.txt file included. - -package org.citra.citra_emu.disk_shader_cache; - -import android.app.Activity; -import android.app.Dialog; -import android.content.DialogInterface; -import android.os.Bundle; -import android.view.LayoutInflater; -import android.view.View; -import android.widget.ProgressBar; -import android.widget.TextView; - -import androidx.annotation.NonNull; -import androidx.appcompat.app.AlertDialog; -import androidx.fragment.app.DialogFragment; - -import org.citra.citra_emu.NativeLibrary; -import org.citra.citra_emu.R; -import org.citra.citra_emu.activities.EmulationActivity; -import org.citra.citra_emu.utils.Log; - -import java.util.Objects; - -public class DiskShaderCacheProgress { - - // Equivalent to VideoCore::LoadCallbackStage - public enum LoadCallbackStage { - Prepare, - Decompile, - Build, - Complete, - } - - private static final Object finishLock = new Object(); - private static ProgressDialogFragment fragment; - - public static class ProgressDialogFragment extends DialogFragment { - ProgressBar progressBar; - TextView progressText; - AlertDialog dialog; - - static ProgressDialogFragment newInstance(String title, String message) { - ProgressDialogFragment frag = new ProgressDialogFragment(); - Bundle args = new Bundle(); - args.putString("title", title); - args.putString("message", message); - frag.setArguments(args); - return frag; - } - - @NonNull - @Override - public Dialog onCreateDialog(Bundle savedInstanceState) { - final Activity emulationActivity = Objects.requireNonNull(getActivity()); - - final String title = Objects.requireNonNull(Objects.requireNonNull(getArguments()).getString("title")); - final String message = Objects.requireNonNull(Objects.requireNonNull(getArguments()).getString("message")); - - LayoutInflater inflater = LayoutInflater.from(emulationActivity); - View view = inflater.inflate(R.layout.dialog_progress_bar, null); - - progressBar = view.findViewById(R.id.progress_bar); - progressText = view.findViewById(R.id.progress_text); - progressText.setText(""); - - setCancelable(false); - setRetainInstance(true); - - AlertDialog.Builder builder = new AlertDialog.Builder(emulationActivity); - builder.setTitle(title); - builder.setMessage(message); - builder.setView(view); - builder.setNegativeButton(android.R.string.cancel, null); - - dialog = builder.create(); - dialog.create(); - - dialog.getButton(DialogInterface.BUTTON_NEGATIVE).setOnClickListener((v) -> emulationActivity.onBackPressed()); - - synchronized (finishLock) { - finishLock.notifyAll(); - } - - return dialog; - } - - private void onUpdateProgress(String msg, int progress, int max) { - Objects.requireNonNull(getActivity()).runOnUiThread(() -> { - progressBar.setProgress(progress); - progressBar.setMax(max); - progressText.setText(String.format("%d/%d", progress, max)); - dialog.setMessage(msg); - }); - } - } - - private static void prepareDialog() { - NativeLibrary.sEmulationActivity.get().runOnUiThread(() -> { - final EmulationActivity emulationActivity = NativeLibrary.sEmulationActivity.get(); - fragment = ProgressDialogFragment.newInstance(emulationActivity.getString(R.string.loading), emulationActivity.getString(R.string.preparing_shaders)); - fragment.show(emulationActivity.getSupportFragmentManager(), "diskShaders"); - }); - - synchronized (finishLock) { - try { - finishLock.wait(); - } catch (Exception ignored) { - } - } - } - - public static void loadProgress(LoadCallbackStage stage, int progress, int max) { - final EmulationActivity emulationActivity = NativeLibrary.sEmulationActivity.get(); - if (emulationActivity == null) { - Log.error("[DiskShaderCacheProgress] EmulationActivity not present"); - return; - } - - switch (stage) { - case Prepare: - prepareDialog(); - break; - case Decompile: - fragment.onUpdateProgress(emulationActivity.getString(R.string.preparing_shaders), progress, max); - break; - case Build: - fragment.onUpdateProgress(emulationActivity.getString(R.string.building_shaders), progress, max); - break; - case Complete: - // Workaround for when dialog is dismissed when the app is in the background - fragment.dismissAllowingStateLoss(); - break; - } - } -} diff --git a/src/android/app/src/main/java/org/citra/citra_emu/features/cheats/model/Cheat.java b/src/android/app/src/main/java/org/citra/citra_emu/features/cheats/model/Cheat.java deleted file mode 100644 index 93b0263640..0000000000 --- a/src/android/app/src/main/java/org/citra/citra_emu/features/cheats/model/Cheat.java +++ /dev/null @@ -1,57 +0,0 @@ -package org.citra.citra_emu.features.cheats.model; - -import androidx.annotation.Keep; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; - -public class Cheat { - @Keep - private final long mPointer; - - private Runnable mEnabledChangedCallback = null; - - @Keep - private Cheat(long pointer) { - mPointer = pointer; - } - - @Override - protected native void finalize(); - - @NonNull - public native String getName(); - - @NonNull - public native String getNotes(); - - @NonNull - public native String getCode(); - - public native boolean getEnabled(); - - public void setEnabled(boolean enabled) { - setEnabledImpl(enabled); - onEnabledChanged(); - } - - private native void setEnabledImpl(boolean enabled); - - public void setEnabledChangedCallback(@Nullable Runnable callback) { - mEnabledChangedCallback = callback; - } - - private void onEnabledChanged() { - if (mEnabledChangedCallback != null) { - mEnabledChangedCallback.run(); - } - } - - /** - * If the code is valid, returns 0. Otherwise, returns the 1-based index - * for the line containing the error. - */ - public static native int isValidGatewayCode(@NonNull String code); - - public static native Cheat createGatewayCode(@NonNull String name, @NonNull String notes, - @NonNull String code); -} diff --git a/src/android/app/src/main/java/org/citra/citra_emu/features/cheats/model/CheatEngine.java b/src/android/app/src/main/java/org/citra/citra_emu/features/cheats/model/CheatEngine.java deleted file mode 100644 index 5748162bb1..0000000000 --- a/src/android/app/src/main/java/org/citra/citra_emu/features/cheats/model/CheatEngine.java +++ /dev/null @@ -1,13 +0,0 @@ -package org.citra.citra_emu.features.cheats.model; - -public class CheatEngine { - public static native Cheat[] getCheats(); - - public static native void addCheat(Cheat cheat); - - public static native void removeCheat(int index); - - public static native void updateCheat(int index, Cheat newCheat); - - public static native void saveCheatFile(); -} diff --git a/src/android/app/src/main/java/org/citra/citra_emu/features/cheats/model/CheatsViewModel.java b/src/android/app/src/main/java/org/citra/citra_emu/features/cheats/model/CheatsViewModel.java deleted file mode 100644 index 66f4202d83..0000000000 --- a/src/android/app/src/main/java/org/citra/citra_emu/features/cheats/model/CheatsViewModel.java +++ /dev/null @@ -1,177 +0,0 @@ -package org.citra.citra_emu.features.cheats.model; - -import androidx.lifecycle.LiveData; -import androidx.lifecycle.MutableLiveData; -import androidx.lifecycle.ViewModel; - -public class CheatsViewModel extends ViewModel { - private int mSelectedCheatPosition = -1; - private final MutableLiveData<Cheat> mSelectedCheat = new MutableLiveData<>(null); - private final MutableLiveData<Boolean> mIsAdding = new MutableLiveData<>(false); - private final MutableLiveData<Boolean> mIsEditing = new MutableLiveData<>(false); - - private final MutableLiveData<Integer> mCheatAddedEvent = new MutableLiveData<>(null); - private final MutableLiveData<Integer> mCheatChangedEvent = new MutableLiveData<>(null); - private final MutableLiveData<Integer> mCheatDeletedEvent = new MutableLiveData<>(null); - private final MutableLiveData<Boolean> mOpenDetailsViewEvent = new MutableLiveData<>(false); - - private Cheat[] mCheats; - private boolean mCheatsNeedSaving = false; - - public void load() { - mCheats = CheatEngine.getCheats(); - - for (int i = 0; i < mCheats.length; i++) { - int position = i; - mCheats[i].setEnabledChangedCallback(() -> { - mCheatsNeedSaving = true; - notifyCheatUpdated(position); - }); - } - } - - public void saveIfNeeded() { - if (mCheatsNeedSaving) { - CheatEngine.saveCheatFile(); - mCheatsNeedSaving = false; - } - } - - public Cheat[] getCheats() { - return mCheats; - } - - public LiveData<Cheat> getSelectedCheat() { - return mSelectedCheat; - } - - public void setSelectedCheat(Cheat cheat, int position) { - if (mIsEditing.getValue()) { - setIsEditing(false); - } - - mSelectedCheat.setValue(cheat); - mSelectedCheatPosition = position; - } - - public LiveData<Boolean> getIsAdding() { - return mIsAdding; - } - - public LiveData<Boolean> getIsEditing() { - return mIsEditing; - } - - public void setIsEditing(boolean isEditing) { - mIsEditing.setValue(isEditing); - - if (mIsAdding.getValue() && !isEditing) { - mIsAdding.setValue(false); - setSelectedCheat(null, -1); - } - } - - /** - * When a cheat is added, the integer stored in the returned LiveData - * changes to the position of that cheat, then changes back to null. - */ - public LiveData<Integer> getCheatAddedEvent() { - return mCheatAddedEvent; - } - - private void notifyCheatAdded(int position) { - mCheatAddedEvent.setValue(position); - mCheatAddedEvent.setValue(null); - } - - public void startAddingCheat() { - mSelectedCheat.setValue(null); - mSelectedCheatPosition = -1; - - mIsAdding.setValue(true); - mIsEditing.setValue(true); - } - - public void finishAddingCheat(Cheat cheat) { - if (!mIsAdding.getValue()) { - throw new IllegalStateException(); - } - - mIsAdding.setValue(false); - mIsEditing.setValue(false); - - int position = mCheats.length; - - CheatEngine.addCheat(cheat); - - mCheatsNeedSaving = true; - load(); - - notifyCheatAdded(position); - setSelectedCheat(mCheats[position], position); - } - - /** - * When a cheat is edited, the integer stored in the returned LiveData - * changes to the position of that cheat, then changes back to null. - */ - public LiveData<Integer> getCheatUpdatedEvent() { - return mCheatChangedEvent; - } - - /** - * Notifies that an edit has been made to the contents of the cheat at the given position. - */ - private void notifyCheatUpdated(int position) { - mCheatChangedEvent.setValue(position); - mCheatChangedEvent.setValue(null); - } - - public void updateSelectedCheat(Cheat newCheat) { - CheatEngine.updateCheat(mSelectedCheatPosition, newCheat); - - mCheatsNeedSaving = true; - load(); - - notifyCheatUpdated(mSelectedCheatPosition); - setSelectedCheat(mCheats[mSelectedCheatPosition], mSelectedCheatPosition); - } - - /** - * When a cheat is deleted, the integer stored in the returned LiveData - * changes to the position of that cheat, then changes back to null. - */ - public LiveData<Integer> getCheatDeletedEvent() { - return mCheatDeletedEvent; - } - - /** - * Notifies that the cheat at the given position has been deleted. - */ - private void notifyCheatDeleted(int position) { - mCheatDeletedEvent.setValue(position); - mCheatDeletedEvent.setValue(null); - } - - public void deleteSelectedCheat() { - int position = mSelectedCheatPosition; - - setSelectedCheat(null, -1); - - CheatEngine.removeCheat(position); - - mCheatsNeedSaving = true; - load(); - - notifyCheatDeleted(position); - } - - public LiveData<Boolean> getOpenDetailsViewEvent() { - return mOpenDetailsViewEvent; - } - - public void openDetailsView() { - mOpenDetailsViewEvent.setValue(true); - mOpenDetailsViewEvent.setValue(false); - } -} diff --git a/src/android/app/src/main/java/org/citra/citra_emu/features/cheats/ui/CheatDetailsFragment.java b/src/android/app/src/main/java/org/citra/citra_emu/features/cheats/ui/CheatDetailsFragment.java deleted file mode 100644 index 762cdb80e6..0000000000 --- a/src/android/app/src/main/java/org/citra/citra_emu/features/cheats/ui/CheatDetailsFragment.java +++ /dev/null @@ -1,174 +0,0 @@ -package org.citra.citra_emu.features.cheats.ui; - -import android.os.Bundle; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.Button; -import android.widget.EditText; -import android.widget.ScrollView; -import android.widget.TextView; - -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import androidx.appcompat.app.AlertDialog; -import androidx.fragment.app.Fragment; -import androidx.lifecycle.ViewModelProvider; - -import org.citra.citra_emu.R; -import org.citra.citra_emu.features.cheats.model.Cheat; -import org.citra.citra_emu.features.cheats.model.CheatsViewModel; - -public class CheatDetailsFragment extends Fragment { - private View mRoot; - private ScrollView mScrollView; - private TextView mLabelName; - private EditText mEditName; - private EditText mEditNotes; - private EditText mEditCode; - private Button mButtonDelete; - private Button mButtonEdit; - private Button mButtonCancel; - private Button mButtonOk; - - private CheatsViewModel mViewModel; - - @Nullable - @Override - public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, - @Nullable Bundle savedInstanceState) { - return inflater.inflate(R.layout.fragment_cheat_details, container, false); - } - - @Override - public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { - mRoot = view.findViewById(R.id.root); - mScrollView = view.findViewById(R.id.scroll_view); - mLabelName = view.findViewById(R.id.label_name); - mEditName = view.findViewById(R.id.edit_name); - mEditNotes = view.findViewById(R.id.edit_notes); - mEditCode = view.findViewById(R.id.edit_code); - mButtonDelete = view.findViewById(R.id.button_delete); - mButtonEdit = view.findViewById(R.id.button_edit); - mButtonCancel = view.findViewById(R.id.button_cancel); - mButtonOk = view.findViewById(R.id.button_ok); - - CheatsActivity activity = (CheatsActivity) requireActivity(); - mViewModel = new ViewModelProvider(activity).get(CheatsViewModel.class); - - mViewModel.getSelectedCheat().observe(getViewLifecycleOwner(), - this::onSelectedCheatUpdated); - mViewModel.getIsEditing().observe(getViewLifecycleOwner(), this::onIsEditingUpdated); - - mButtonDelete.setOnClickListener(this::onDeleteClicked); - mButtonEdit.setOnClickListener(this::onEditClicked); - mButtonCancel.setOnClickListener(this::onCancelClicked); - mButtonOk.setOnClickListener(this::onOkClicked); - - // On a portrait phone screen (or other narrow screen), only one of the two panes are shown - // at the same time. If the user is navigating using a d-pad and moves focus to an element - // in the currently hidden pane, we need to manually show that pane. - CheatsActivity.setOnFocusChangeListenerRecursively(view, - (v, hasFocus) -> activity.onDetailsViewFocusChange(hasFocus)); - } - - private void clearEditErrors() { - mEditName.setError(null); - mEditCode.setError(null); - } - - private void onDeleteClicked(View view) { - String name = mEditName.getText().toString(); - - AlertDialog.Builder builder = new AlertDialog.Builder(requireContext()); - builder.setMessage(getString(R.string.cheats_delete_confirmation, name)); - builder.setPositiveButton(android.R.string.yes, - (dialog, i) -> mViewModel.deleteSelectedCheat()); - builder.setNegativeButton(android.R.string.no, null); - builder.show(); - } - - private void onEditClicked(View view) { - mViewModel.setIsEditing(true); - mButtonOk.requestFocus(); - } - - private void onCancelClicked(View view) { - mViewModel.setIsEditing(false); - onSelectedCheatUpdated(mViewModel.getSelectedCheat().getValue()); - mButtonDelete.requestFocus(); - } - - private void onOkClicked(View view) { - clearEditErrors(); - - String name = mEditName.getText().toString(); - String notes = mEditNotes.getText().toString(); - String code = mEditCode.getText().toString(); - - if (name.isEmpty()) { - mEditName.setError(getString(R.string.cheats_error_no_name)); - mScrollView.smoothScrollTo(0, mLabelName.getTop()); - return; - } else if (code.isEmpty()) { - mEditCode.setError(getString(R.string.cheats_error_no_code_lines)); - mScrollView.smoothScrollTo(0, mEditCode.getBottom()); - return; - } - - int validityResult = Cheat.isValidGatewayCode(code); - - if (validityResult != 0) { - mEditCode.setError(getString(R.string.cheats_error_on_line, validityResult)); - mScrollView.smoothScrollTo(0, mEditCode.getBottom()); - return; - } - - Cheat newCheat = Cheat.createGatewayCode(name, notes, code); - - if (mViewModel.getIsAdding().getValue()) { - mViewModel.finishAddingCheat(newCheat); - } else { - mViewModel.updateSelectedCheat(newCheat); - } - - mButtonEdit.requestFocus(); - } - - private void onSelectedCheatUpdated(@Nullable Cheat cheat) { - clearEditErrors(); - - boolean isEditing = mViewModel.getIsEditing().getValue(); - - mRoot.setVisibility(isEditing || cheat != null ? View.VISIBLE : View.GONE); - - // If the fragment was recreated while editing a cheat, it's vital that we - // don't repopulate the fields, otherwise the user's changes will be lost - if (!isEditing) { - if (cheat == null) { - mEditName.setText(""); - mEditNotes.setText(""); - mEditCode.setText(""); - } else { - mEditName.setText(cheat.getName()); - mEditNotes.setText(cheat.getNotes()); - mEditCode.setText(cheat.getCode()); - } - } - } - - private void onIsEditingUpdated(boolean isEditing) { - if (isEditing) { - mRoot.setVisibility(View.VISIBLE); - } - - mEditName.setEnabled(isEditing); - mEditNotes.setEnabled(isEditing); - mEditCode.setEnabled(isEditing); - - mButtonDelete.setVisibility(isEditing ? View.GONE : View.VISIBLE); - mButtonEdit.setVisibility(isEditing ? View.GONE : View.VISIBLE); - mButtonCancel.setVisibility(isEditing ? View.VISIBLE : View.GONE); - mButtonOk.setVisibility(isEditing ? View.VISIBLE : View.GONE); - } -} diff --git a/src/android/app/src/main/java/org/citra/citra_emu/features/cheats/ui/CheatListFragment.java b/src/android/app/src/main/java/org/citra/citra_emu/features/cheats/ui/CheatListFragment.java deleted file mode 100644 index 6c67a31d4e..0000000000 --- a/src/android/app/src/main/java/org/citra/citra_emu/features/cheats/ui/CheatListFragment.java +++ /dev/null @@ -1,46 +0,0 @@ -package org.citra.citra_emu.features.cheats.ui; - -import android.os.Bundle; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; - -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import androidx.fragment.app.Fragment; -import androidx.lifecycle.ViewModelProvider; -import androidx.recyclerview.widget.LinearLayoutManager; -import androidx.recyclerview.widget.RecyclerView; - -import com.google.android.material.floatingactionbutton.FloatingActionButton; - -import org.citra.citra_emu.R; -import org.citra.citra_emu.features.cheats.model.CheatsViewModel; -import org.citra.citra_emu.ui.DividerItemDecoration; - -public class CheatListFragment extends Fragment { - @Nullable - @Override - public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, - @Nullable Bundle savedInstanceState) { - return inflater.inflate(R.layout.fragment_cheat_list, container, false); - } - - @Override - public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { - RecyclerView recyclerView = view.findViewById(R.id.cheat_list); - FloatingActionButton fab = view.findViewById(R.id.fab); - - CheatsActivity activity = (CheatsActivity) requireActivity(); - CheatsViewModel viewModel = new ViewModelProvider(activity).get(CheatsViewModel.class); - - recyclerView.setAdapter(new CheatsAdapter(activity, viewModel)); - recyclerView.setLayoutManager(new LinearLayoutManager(activity)); - recyclerView.addItemDecoration(new DividerItemDecoration(activity, null)); - - fab.setOnClickListener(v -> { - viewModel.startAddingCheat(); - viewModel.openDetailsView(); - }); - } -} diff --git a/src/android/app/src/main/java/org/citra/citra_emu/features/cheats/ui/CheatViewHolder.java b/src/android/app/src/main/java/org/citra/citra_emu/features/cheats/ui/CheatViewHolder.java deleted file mode 100644 index 8ba8f86e79..0000000000 --- a/src/android/app/src/main/java/org/citra/citra_emu/features/cheats/ui/CheatViewHolder.java +++ /dev/null @@ -1,56 +0,0 @@ -package org.citra.citra_emu.features.cheats.ui; - -import android.view.View; -import android.widget.CheckBox; -import android.widget.CompoundButton; -import android.widget.TextView; - -import androidx.annotation.NonNull; -import androidx.lifecycle.ViewModelProvider; -import androidx.recyclerview.widget.RecyclerView; - -import org.citra.citra_emu.R; -import org.citra.citra_emu.features.cheats.model.Cheat; -import org.citra.citra_emu.features.cheats.model.CheatsViewModel; - -public class CheatViewHolder extends RecyclerView.ViewHolder - implements View.OnClickListener, CompoundButton.OnCheckedChangeListener { - private final View mRoot; - private final TextView mName; - private final CheckBox mCheckbox; - - private CheatsViewModel mViewModel; - private Cheat mCheat; - private int mPosition; - - public CheatViewHolder(@NonNull View itemView) { - super(itemView); - - mRoot = itemView.findViewById(R.id.root); - mName = itemView.findViewById(R.id.text_name); - mCheckbox = itemView.findViewById(R.id.checkbox); - } - - public void bind(CheatsActivity activity, Cheat cheat, int position) { - mCheckbox.setOnCheckedChangeListener(null); - - mViewModel = new ViewModelProvider(activity).get(CheatsViewModel.class); - mCheat = cheat; - mPosition = position; - - mName.setText(mCheat.getName()); - mCheckbox.setChecked(mCheat.getEnabled()); - - mRoot.setOnClickListener(this); - mCheckbox.setOnCheckedChangeListener(this); - } - - public void onClick(View root) { - mViewModel.setSelectedCheat(mCheat, mPosition); - mViewModel.openDetailsView(); - } - - public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { - mCheat.setEnabled(isChecked); - } -} diff --git a/src/android/app/src/main/java/org/citra/citra_emu/features/cheats/ui/CheatsActivity.java b/src/android/app/src/main/java/org/citra/citra_emu/features/cheats/ui/CheatsActivity.java deleted file mode 100644 index a36bf427ca..0000000000 --- a/src/android/app/src/main/java/org/citra/citra_emu/features/cheats/ui/CheatsActivity.java +++ /dev/null @@ -1,161 +0,0 @@ -package org.citra.citra_emu.features.cheats.ui; - -import android.content.Context; -import android.content.Intent; -import android.os.Bundle; -import android.view.Menu; -import android.view.MenuInflater; -import android.view.View; -import android.view.ViewGroup; - -import androidx.annotation.NonNull; -import androidx.appcompat.app.AppCompatActivity; -import androidx.core.view.ViewCompat; -import androidx.lifecycle.ViewModelProvider; -import androidx.slidingpanelayout.widget.SlidingPaneLayout; - -import org.citra.citra_emu.R; -import org.citra.citra_emu.features.cheats.model.Cheat; -import org.citra.citra_emu.features.cheats.model.CheatsViewModel; -import org.citra.citra_emu.ui.TwoPaneOnBackPressedCallback; - -public class CheatsActivity extends AppCompatActivity - implements SlidingPaneLayout.PanelSlideListener { - private CheatsViewModel mViewModel; - - private SlidingPaneLayout mSlidingPaneLayout; - private View mCheatList; - private View mCheatDetails; - - private View mCheatListLastFocus; - private View mCheatDetailsLastFocus; - - public static void launch(Context context) { - Intent intent = new Intent(context, CheatsActivity.class); - context.startActivity(intent); - } - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - - mViewModel = new ViewModelProvider(this).get(CheatsViewModel.class); - mViewModel.load(); - - setContentView(R.layout.activity_cheats); - - mSlidingPaneLayout = findViewById(R.id.sliding_pane_layout); - mCheatList = findViewById(R.id.cheat_list); - mCheatDetails = findViewById(R.id.cheat_details); - - mCheatListLastFocus = mCheatList; - mCheatDetailsLastFocus = mCheatDetails; - - mSlidingPaneLayout.addPanelSlideListener(this); - - getOnBackPressedDispatcher().addCallback(this, - new TwoPaneOnBackPressedCallback(mSlidingPaneLayout)); - - mViewModel.getSelectedCheat().observe(this, this::onSelectedCheatChanged); - mViewModel.getIsEditing().observe(this, this::onIsEditingChanged); - onSelectedCheatChanged(mViewModel.getSelectedCheat().getValue()); - - mViewModel.getOpenDetailsViewEvent().observe(this, this::openDetailsView); - - // Show "Up" button in the action bar for navigation - getSupportActionBar().setDisplayHomeAsUpEnabled(true); - } - - @Override - public boolean onCreateOptionsMenu(Menu menu) { - MenuInflater inflater = getMenuInflater(); - inflater.inflate(R.menu.menu_settings, menu); - - return true; - } - - @Override - protected void onStop() { - super.onStop(); - - mViewModel.saveIfNeeded(); - } - - @Override - public void onPanelSlide(@NonNull View panel, float slideOffset) { - } - - @Override - public void onPanelOpened(@NonNull View panel) { - boolean rtl = ViewCompat.getLayoutDirection(panel) == ViewCompat.LAYOUT_DIRECTION_RTL; - mCheatDetailsLastFocus.requestFocus(rtl ? View.FOCUS_LEFT : View.FOCUS_RIGHT); - } - - @Override - public void onPanelClosed(@NonNull View panel) { - boolean rtl = ViewCompat.getLayoutDirection(panel) == ViewCompat.LAYOUT_DIRECTION_RTL; - mCheatListLastFocus.requestFocus(rtl ? View.FOCUS_RIGHT : View.FOCUS_LEFT); - } - - private void onIsEditingChanged(boolean isEditing) { - if (isEditing) { - mSlidingPaneLayout.setLockMode(SlidingPaneLayout.LOCK_MODE_UNLOCKED); - } - } - - private void onSelectedCheatChanged(Cheat selectedCheat) { - boolean cheatSelected = selectedCheat != null || mViewModel.getIsEditing().getValue(); - - if (!cheatSelected && mSlidingPaneLayout.isOpen()) { - mSlidingPaneLayout.close(); - } - - mSlidingPaneLayout.setLockMode(cheatSelected ? - SlidingPaneLayout.LOCK_MODE_UNLOCKED : SlidingPaneLayout.LOCK_MODE_LOCKED_CLOSED); - } - - public void onListViewFocusChange(boolean hasFocus) { - if (hasFocus) { - mCheatListLastFocus = mCheatList.findFocus(); - if (mCheatListLastFocus == null) - throw new NullPointerException(); - - mSlidingPaneLayout.close(); - } - } - - public void onDetailsViewFocusChange(boolean hasFocus) { - if (hasFocus) { - mCheatDetailsLastFocus = mCheatDetails.findFocus(); - if (mCheatDetailsLastFocus == null) - throw new NullPointerException(); - - mSlidingPaneLayout.open(); - } - } - - @Override - public boolean onSupportNavigateUp() { - onBackPressed(); - return true; - } - - private void openDetailsView(boolean open) { - if (open) { - mSlidingPaneLayout.open(); - } - } - - public static void setOnFocusChangeListenerRecursively(@NonNull View view, - View.OnFocusChangeListener listener) { - view.setOnFocusChangeListener(listener); - - if (view instanceof ViewGroup) { - ViewGroup viewGroup = (ViewGroup) view; - for (int i = 0; i < viewGroup.getChildCount(); i++) { - View child = viewGroup.getChildAt(i); - setOnFocusChangeListenerRecursively(child, listener); - } - } - } -} diff --git a/src/android/app/src/main/java/org/citra/citra_emu/features/cheats/ui/CheatsAdapter.java b/src/android/app/src/main/java/org/citra/citra_emu/features/cheats/ui/CheatsAdapter.java deleted file mode 100644 index 9cb2ce8d8e..0000000000 --- a/src/android/app/src/main/java/org/citra/citra_emu/features/cheats/ui/CheatsAdapter.java +++ /dev/null @@ -1,72 +0,0 @@ -package org.citra.citra_emu.features.cheats.ui; - -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; - -import androidx.annotation.NonNull; -import androidx.recyclerview.widget.RecyclerView; - -import org.citra.citra_emu.R; -import org.citra.citra_emu.features.cheats.model.Cheat; -import org.citra.citra_emu.features.cheats.model.CheatsViewModel; - -public class CheatsAdapter extends RecyclerView.Adapter<CheatViewHolder> { - private final CheatsActivity mActivity; - private final CheatsViewModel mViewModel; - - public CheatsAdapter(CheatsActivity activity, CheatsViewModel viewModel) { - mActivity = activity; - mViewModel = viewModel; - - mViewModel.getCheatAddedEvent().observe(activity, (position) -> { - if (position != null) { - notifyItemInserted(position); - } - }); - - mViewModel.getCheatUpdatedEvent().observe(activity, (position) -> { - if (position != null) { - notifyItemChanged(position); - } - }); - - mViewModel.getCheatDeletedEvent().observe(activity, (position) -> { - if (position != null) { - notifyItemRemoved(position); - } - }); - } - - @NonNull - @Override - public CheatViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { - LayoutInflater inflater = LayoutInflater.from(parent.getContext()); - - View cheatView = inflater.inflate(R.layout.list_item_cheat, parent, false); - addViewListeners(cheatView); - return new CheatViewHolder(cheatView); - } - - @Override - public void onBindViewHolder(@NonNull CheatViewHolder holder, int position) { - holder.bind(mActivity, getItemAt(position), position); - } - - @Override - public int getItemCount() { - return mViewModel.getCheats().length; - } - - private void addViewListeners(View view) { - // On a portrait phone screen (or other narrow screen), only one of the two panes are shown - // at the same time. If the user is navigating using a d-pad and moves focus to an element - // in the currently hidden pane, we need to manually show that pane. - CheatsActivity.setOnFocusChangeListenerRecursively(view, - (v, hasFocus) -> mActivity.onListViewFocusChange(hasFocus)); - } - - private Cheat getItemAt(int position) { - return mViewModel.getCheats()[position]; - } -} diff --git a/src/android/app/src/main/java/org/citra/citra_emu/NativeLibrary.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/NativeLibrary.java index baff99dc8b..e15612a36c 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/NativeLibrary.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/NativeLibrary.java @@ -4,7 +4,7 @@ * Refer to the license.txt file included. */ -package org.citra.citra_emu; +package org.yuzu.yuzu_emu; import android.app.Activity; import android.app.Dialog; @@ -24,9 +24,9 @@ import androidx.appcompat.app.AlertDialog; import androidx.core.content.ContextCompat; import androidx.fragment.app.DialogFragment; -import org.citra.citra_emu.activities.EmulationActivity; -import org.citra.citra_emu.utils.EmulationMenuSettings; -import org.citra.citra_emu.utils.Log; +import org.yuzu.yuzu_emu.activities.EmulationActivity; +import org.yuzu.yuzu_emu.utils.EmulationMenuSettings; +import org.yuzu.yuzu_emu.utils.Log; import java.lang.ref.WeakReference; import java.util.Objects; @@ -314,7 +314,7 @@ public final class NativeLibrary { } public static boolean isPortraitMode() { - return CitraApplication.getAppContext().getResources().getConfiguration().orientation == + return YuzuApplication.getAppContext().getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT; } @@ -420,10 +420,10 @@ public final class NativeLibrary { alertPromptButton = 0; FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); - params.leftMargin = params.rightMargin = CitraApplication.getAppContext().getResources().getDimensionPixelSize(R.dimen.dialog_margin); + params.leftMargin = params.rightMargin = YuzuApplication.getAppContext().getResources().getDimensionPixelSize(R.dimen.dialog_margin); // Set up the input - alertPromptEditText = new EditText(CitraApplication.getAppContext()); + alertPromptEditText = new EditText(YuzuApplication.getAppContext()); alertPromptEditText.setText(text); alertPromptEditText.setSingleLine(); alertPromptEditText.setLayoutParams(params); diff --git a/src/android/app/src/main/java/org/citra/citra_emu/CitraApplication.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/YuzuApplication.java index 41ac7e27c0..700916f875 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/CitraApplication.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/YuzuApplication.java @@ -2,7 +2,7 @@ // Licensed under GPLv2 or any later version // Refer to the license.txt file included. -package org.citra.citra_emu; +package org.yuzu.yuzu_emu; import android.app.Application; import android.app.NotificationChannel; @@ -10,13 +10,13 @@ import android.app.NotificationManager; import android.content.Context; import android.os.Build; -import org.citra.citra_emu.model.GameDatabase; -import org.citra.citra_emu.utils.DirectoryInitialization; -import org.citra.citra_emu.utils.PermissionsHandler; +import org.yuzu.yuzu_emu.model.GameDatabase; +import org.yuzu.yuzu_emu.utils.DirectoryInitialization; +import org.yuzu.yuzu_emu.utils.PermissionsHandler; -public class CitraApplication extends Application { +public class YuzuApplication extends Application { public static GameDatabase databaseHelper; - private static CitraApplication application; + private static YuzuApplication application; private void createNotificationChannel() { // Create the NotificationChannel, but only on API 26+ because diff --git a/src/android/app/src/main/java/org/citra/citra_emu/activities/CustomFilePickerActivity.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/activities/CustomFilePickerActivity.java index 3083286e21..a797808141 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/activities/CustomFilePickerActivity.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/activities/CustomFilePickerActivity.java @@ -1,4 +1,4 @@ -package org.citra.citra_emu.activities; +package org.yuzu.yuzu_emu.activities; import android.content.Intent; import android.os.Environment; @@ -8,7 +8,7 @@ import androidx.annotation.Nullable; import com.nononsenseapps.filepicker.AbstractFilePickerFragment; import com.nononsenseapps.filepicker.FilePickerActivity; -import org.citra.citra_emu.fragments.CustomFilePickerFragment; +import org.yuzu.yuzu_emu.fragments.CustomFilePickerFragment; import java.io.File; diff --git a/src/android/app/src/main/java/org/citra/citra_emu/activities/EmulationActivity.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/activities/EmulationActivity.java index 47ef0fd23f..cd64a32989 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/activities/EmulationActivity.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/activities/EmulationActivity.java @@ -1,9 +1,10 @@ -package org.citra.citra_emu.activities; +package org.yuzu.yuzu_emu.activities; import android.app.Activity; import android.content.Intent; import android.content.SharedPreferences; import android.content.pm.PackageManager; +import android.graphics.Rect; import android.os.Bundle; import android.os.Handler; import android.preference.PreferenceManager; @@ -15,37 +16,31 @@ import android.view.Menu; import android.view.MenuItem; import android.view.MotionEvent; import android.view.View; -import android.widget.CheckBox; import android.widget.SeekBar; import android.widget.TextView; import androidx.annotation.IntDef; import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AppCompatActivity; import androidx.core.app.NotificationManagerCompat; +import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentActivity; +import androidx.fragment.app.FragmentManager; + +import org.yuzu.yuzu_emu.NativeLibrary; +import org.yuzu.yuzu_emu.R; +import org.yuzu.yuzu_emu.features.settings.model.view.InputBindingSetting; +import org.yuzu.yuzu_emu.features.settings.ui.SettingsActivity; +import org.yuzu.yuzu_emu.features.settings.utils.SettingsFile; +import org.yuzu.yuzu_emu.fragments.EmulationFragment; +import org.yuzu.yuzu_emu.fragments.MenuFragment; +import org.yuzu.yuzu_emu.utils.ControllerMappingHelper; +import org.yuzu.yuzu_emu.utils.EmulationMenuSettings; +import org.yuzu.yuzu_emu.utils.ForegroundService; -import org.citra.citra_emu.CitraApplication; -import org.citra.citra_emu.NativeLibrary; -import org.citra.citra_emu.R; -import org.citra.citra_emu.features.cheats.ui.CheatsActivity; -import org.citra.citra_emu.features.settings.model.view.InputBindingSetting; -import org.citra.citra_emu.features.settings.ui.SettingsActivity; -import org.citra.citra_emu.features.settings.utils.SettingsFile; -import org.citra.citra_emu.camera.StillImageCameraHelper; -import org.citra.citra_emu.fragments.EmulationFragment; -import org.citra.citra_emu.ui.main.MainActivity; -import org.citra.citra_emu.utils.ControllerMappingHelper; -import org.citra.citra_emu.utils.EmulationMenuSettings; -import org.citra.citra_emu.utils.FileBrowserHelper; -import org.citra.citra_emu.utils.FileUtil; -import org.citra.citra_emu.utils.ForegroundService; - -import java.io.File; -import java.io.IOException; import java.lang.annotation.Retention; -import java.util.Collections; import java.util.List; import static android.Manifest.permission.CAMERA; @@ -53,6 +48,10 @@ import static android.Manifest.permission.RECORD_AUDIO; 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 String EXTRA_SELECTED_GAME = "SelectedGame"; public static final String EXTRA_SELECTED_TITLE = "SelectedTitle"; public static final int MENU_ACTION_EDIT_CONTROLS_PLACEMENT = 0; @@ -60,61 +59,10 @@ public final class EmulationActivity extends AppCompatActivity { public static final int MENU_ACTION_ADJUST_SCALE = 2; public static final int MENU_ACTION_EXIT = 3; public static final int MENU_ACTION_SHOW_FPS = 4; - public static final int MENU_ACTION_SCREEN_LAYOUT_LANDSCAPE = 5; - public static final int MENU_ACTION_SCREEN_LAYOUT_PORTRAIT = 6; - public static final int MENU_ACTION_SCREEN_LAYOUT_SINGLE = 7; - public static final int MENU_ACTION_SCREEN_LAYOUT_SIDEBYSIDE = 8; - public static final int MENU_ACTION_SWAP_SCREENS = 9; - public static final int MENU_ACTION_RESET_OVERLAY = 10; - public static final int MENU_ACTION_SHOW_OVERLAY = 11; - public static final int MENU_ACTION_OPEN_SETTINGS = 12; - public static final int MENU_ACTION_LOAD_AMIIBO = 13; - public static final int MENU_ACTION_REMOVE_AMIIBO = 14; - public static final int MENU_ACTION_JOYSTICK_REL_CENTER = 15; - public static final int MENU_ACTION_DPAD_SLIDE_ENABLE = 16; - public static final int MENU_ACTION_OPEN_CHEATS = 17; - - public static final int REQUEST_SELECT_AMIIBO = 2; + public static final int MENU_ACTION_RESET_OVERLAY = 6; + public static final int MENU_ACTION_SHOW_OVERLAY = 7; + public static final int MENU_ACTION_OPEN_SETTINGS = 8; private static final int EMULATION_RUNNING_NOTIFICATION = 0x1000; - 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_show_fps, - EmulationActivity.MENU_ACTION_SHOW_FPS); - buttonsActionsMap.append(R.id.menu_screen_layout_landscape, - EmulationActivity.MENU_ACTION_SCREEN_LAYOUT_LANDSCAPE); - buttonsActionsMap.append(R.id.menu_screen_layout_portrait, - EmulationActivity.MENU_ACTION_SCREEN_LAYOUT_PORTRAIT); - buttonsActionsMap.append(R.id.menu_screen_layout_single, - EmulationActivity.MENU_ACTION_SCREEN_LAYOUT_SINGLE); - buttonsActionsMap.append(R.id.menu_screen_layout_sidebyside, - EmulationActivity.MENU_ACTION_SCREEN_LAYOUT_SIDEBYSIDE); - 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); - buttonsActionsMap - .append(R.id.menu_emulation_show_overlay, EmulationActivity.MENU_ACTION_SHOW_OVERLAY); - buttonsActionsMap - .append(R.id.menu_emulation_open_settings, EmulationActivity.MENU_ACTION_OPEN_SETTINGS); - buttonsActionsMap - .append(R.id.menu_emulation_amiibo_load, EmulationActivity.MENU_ACTION_LOAD_AMIIBO); - buttonsActionsMap - .append(R.id.menu_emulation_amiibo_remove, EmulationActivity.MENU_ACTION_REMOVE_AMIIBO); - buttonsActionsMap.append(R.id.menu_emulation_joystick_rel_center, - EmulationActivity.MENU_ACTION_JOYSTICK_REL_CENTER); - buttonsActionsMap.append(R.id.menu_emulation_dpad_slide_enable, - EmulationActivity.MENU_ACTION_DPAD_SLIDE_ENABLE); - buttonsActionsMap - .append(R.id.menu_emulation_open_cheats, EmulationActivity.MENU_ACTION_OPEN_CHEATS); - } - private View mDecorView; private EmulationFragment mEmulationFragment; private SharedPreferences mPreferences; @@ -124,6 +72,8 @@ public final class EmulationActivity extends AppCompatActivity { private String mSelectedTitle; private String mPath; + private boolean mMenuVisible; + public static void launch(FragmentActivity activity, String path, String title) { Intent launcher = new Intent(activity, EmulationActivity.class); @@ -172,7 +122,7 @@ public final class EmulationActivity extends AppCompatActivity { // Set these options now so that the SurfaceView the game renders into is the right size. enableFullscreenImmersive(); - setTheme(R.style.CitraEmulationBase); + setTheme(R.style.YuzuEmulationBase); setContentView(R.layout.activity_emulation); @@ -217,52 +167,7 @@ public final class EmulationActivity extends AppCompatActivity { @Override public void onBackPressed() { - NativeLibrary.PauseEmulation(); - new AlertDialog.Builder(this) - .setTitle(R.string.emulation_close_game) - .setMessage(R.string.emulation_close_game_message) - .setPositiveButton(android.R.string.yes, (dialogInterface, i) -> - { - mEmulationFragment.stopEmulation(); - finish(); - }) - .setNegativeButton(android.R.string.cancel, (dialogInterface, i) -> - NativeLibrary.UnPauseEmulation()) - .setOnCancelListener(dialogInterface -> - NativeLibrary.UnPauseEmulation()) - .create() - .show(); - } - - @Override - public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { - switch (requestCode) { - case NativeLibrary.REQUEST_CODE_NATIVE_CAMERA: - if (grantResults[0] != PackageManager.PERMISSION_GRANTED && - shouldShowRequestPermissionRationale(CAMERA)) { - new AlertDialog.Builder(this) - .setTitle(R.string.camera) - .setMessage(R.string.camera_permission_needed) - .setPositiveButton(android.R.string.ok, null) - .show(); - } - NativeLibrary.CameraPermissionResult(grantResults[0] == PackageManager.PERMISSION_GRANTED); - break; - case NativeLibrary.REQUEST_CODE_NATIVE_MIC: - if (grantResults[0] != PackageManager.PERMISSION_GRANTED && - shouldShowRequestPermissionRationale(RECORD_AUDIO)) { - new AlertDialog.Builder(this) - .setTitle(R.string.microphone) - .setMessage(R.string.microphone_permission_needed) - .setPositiveButton(android.R.string.ok, null) - .show(); - } - NativeLibrary.MicPermissionResult(grantResults[0] == PackageManager.PERMISSION_GRANTED); - break; - default: - super.onRequestPermissionsResult(requestCode, permissions, grantResults); - break; - } + toggleMenu(); } private void enableFullscreenImmersive() { @@ -276,179 +181,13 @@ public final class EmulationActivity extends AppCompatActivity { View.SYSTEM_UI_FLAG_IMMERSIVE); } - @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); - - int layoutOptionMenuItem = R.id.menu_screen_layout_landscape; - switch (EmulationMenuSettings.getLandscapeScreenLayout()) { - case EmulationMenuSettings.LayoutOption_SingleScreen: - layoutOptionMenuItem = R.id.menu_screen_layout_single; - break; - case EmulationMenuSettings.LayoutOption_SideScreen: - layoutOptionMenuItem = R.id.menu_screen_layout_sidebyside; - break; - case EmulationMenuSettings.LayoutOption_MobilePortrait: - layoutOptionMenuItem = R.id.menu_screen_layout_portrait; - break; - } - - menu.findItem(layoutOptionMenuItem).setChecked(true); - menu.findItem(R.id.menu_emulation_joystick_rel_center).setChecked(EmulationMenuSettings.getJoystickRelCenter()); - menu.findItem(R.id.menu_emulation_dpad_slide_enable).setChecked(EmulationMenuSettings.getDpadSlideEnable()); - menu.findItem(R.id.menu_emulation_show_fps).setChecked(EmulationMenuSettings.getShowFps()); - menu.findItem(R.id.menu_emulation_swap_screens).setChecked(EmulationMenuSettings.getSwapScreens()); - menu.findItem(R.id.menu_emulation_show_overlay).setChecked(EmulationMenuSettings.getShowOverlay()); - - return true; - } - - private void DisplaySavestateWarning() { - SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(CitraApplication.getAppContext()); - if (preferences.getBoolean("savestateWarningShown", false)) { - return; - } - - LayoutInflater inflater = mEmulationFragment.requireActivity().getLayoutInflater(); - View view = inflater.inflate(R.layout.dialog_checkbox, null); - CheckBox checkBox = view.findViewById(R.id.checkBox); - - new AlertDialog.Builder(this) - .setTitle(R.string.savestate_warning_title) - .setMessage(R.string.savestate_warning_message) - .setView(view) - .setPositiveButton(android.R.string.ok, (dialog, which) -> { - preferences.edit().putBoolean("savestateWarningShown", checkBox.isChecked()).apply(); - }) - .show(); - } - - @Override - public boolean onPrepareOptionsMenu(Menu menu) { - super.onPrepareOptionsMenu(menu); - menu.findItem(R.id.menu_emulation_save_state).setVisible(false); - menu.findItem(R.id.menu_emulation_load_state).setVisible(false); - return true; - } - - @SuppressWarnings("WrongConstant") - @Override - public boolean onOptionsItemSelected(MenuItem item) { - int action = buttonsActionsMap.get(item.getItemId(), -1); - + public void handleMenuAction(int action) { switch (action) { - // 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(); - break; - - // Adjust the scale of the overlay controls. - case MENU_ACTION_ADJUST_SCALE: - adjustScale(); - break; - - // Toggle the visibility of the Performance stats TextView - case MENU_ACTION_SHOW_FPS: { - final boolean isEnabled = !EmulationMenuSettings.getShowFps(); - EmulationMenuSettings.setShowFps(isEnabled); - item.setChecked(isEnabled); - - mEmulationFragment.updateShowFpsOverlay(); - break; - } - // Sets the screen layout to Landscape - case MENU_ACTION_SCREEN_LAYOUT_LANDSCAPE: - changeScreenOrientation(EmulationMenuSettings.LayoutOption_MobileLandscape, item); - break; - - // Sets the screen layout to Portrait - case MENU_ACTION_SCREEN_LAYOUT_PORTRAIT: - changeScreenOrientation(EmulationMenuSettings.LayoutOption_MobilePortrait, item); - break; - - // Sets the screen layout to Single - case MENU_ACTION_SCREEN_LAYOUT_SINGLE: - changeScreenOrientation(EmulationMenuSettings.LayoutOption_SingleScreen, item); - break; - - // Sets the screen layout to Side by Side - case MENU_ACTION_SCREEN_LAYOUT_SIDEBYSIDE: - changeScreenOrientation(EmulationMenuSettings.LayoutOption_SideScreen, item); - break; - - // Swap the top and bottom screen locations - case MENU_ACTION_SWAP_SCREENS: { - final boolean isEnabled = !EmulationMenuSettings.getSwapScreens(); - EmulationMenuSettings.setSwapScreens(isEnabled); - item.setChecked(isEnabled); - break; - } - - // Reset overlay placement - case MENU_ACTION_RESET_OVERLAY: - resetOverlay(); - break; - - // Show or hide overlay - case MENU_ACTION_SHOW_OVERLAY: { - final boolean isEnabled = !EmulationMenuSettings.getShowOverlay(); - EmulationMenuSettings.setShowOverlay(isEnabled); - item.setChecked(isEnabled); - - mEmulationFragment.refreshInputOverlay(); - break; - } - case MENU_ACTION_EXIT: mEmulationFragment.stopEmulation(); finish(); break; - - case MENU_ACTION_OPEN_SETTINGS: - SettingsActivity.launch(this, SettingsFile.FILE_NAME_CONFIG, ""); - break; - - case MENU_ACTION_LOAD_AMIIBO: - FileBrowserHelper.openFilePicker(this, REQUEST_SELECT_AMIIBO, - R.string.select_amiibo, - Collections.singletonList("bin"), false); - break; - - case MENU_ACTION_REMOVE_AMIIBO: - RemoveAmiibo(); - break; - - case MENU_ACTION_JOYSTICK_REL_CENTER: - final boolean isJoystickRelCenterEnabled = !EmulationMenuSettings.getJoystickRelCenter(); - EmulationMenuSettings.setJoystickRelCenter(isJoystickRelCenterEnabled); - item.setChecked(isJoystickRelCenterEnabled); - break; - - case MENU_ACTION_DPAD_SLIDE_ENABLE: - final boolean isDpadSlideEnabled = !EmulationMenuSettings.getDpadSlideEnable(); - EmulationMenuSettings.setDpadSlideEnable(isDpadSlideEnabled); - item.setChecked(isDpadSlideEnabled); - break; - - case MENU_ACTION_OPEN_CHEATS: - CheatsActivity.launch(this); - break; } - - return true; - } - - private void changeScreenOrientation(int layoutOption, MenuItem item) { - item.setChecked(true); - NativeLibrary.NotifyOrientationChange(layoutOption, getWindowManager().getDefaultDisplay() - .getRotation()); - EmulationMenuSettings.setLandscapeScreenLayout(layoutOption); } private void editControlsPlacement() { @@ -462,6 +201,11 @@ public final class EmulationActivity extends AppCompatActivity { // Gets button presses @Override public boolean dispatchKeyEvent(KeyEvent event) { + if (mMenuVisible || event.getKeyCode() == KeyEvent.KEYCODE_BACK) + { + return super.dispatchKeyEvent(event); + } + int action; int button = mPreferences.getInt(InputBindingSetting.getInputButtonKey(event.getKeyCode()), event.getKeyCode()); @@ -492,49 +236,6 @@ public final class EmulationActivity extends AppCompatActivity { return NativeLibrary.onGamePadEvent(input.getDescriptor(), button, action); } - @Override - protected void onActivityResult(int requestCode, int resultCode, Intent result) { - super.onActivityResult(requestCode, resultCode, result); - switch (requestCode) { - case StillImageCameraHelper.REQUEST_CAMERA_FILE_PICKER: - StillImageCameraHelper.OnFilePickerResult(resultCode == RESULT_OK ? result : null); - break; - case REQUEST_SELECT_AMIIBO: - // If the user picked a file, as opposed to just backing out. - if (resultCode == MainActivity.RESULT_OK) { - String[] selectedFiles = FileBrowserHelper.getSelectedFiles(result); - if (selectedFiles == null) - return; - - onAmiiboSelected(selectedFiles[0]); - } - break; - } - } - - private void onAmiiboSelected(String selectedFile) { - File file = new File(selectedFile); - boolean success = false; - try { - byte[] bytes = FileUtil.getBytesFromFile(file); - } catch (IOException e) { - e.printStackTrace(); - } - - if (!success) { - new AlertDialog.Builder(this) - .setTitle(R.string.amiibo_load_error) - .setMessage(R.string.amiibo_load_error_message) - .setPositiveButton(android.R.string.ok, null) - .create() - .show(); - } - } - - private void RemoveAmiibo() { - - } - private void toggleControls() { final SharedPreferences.Editor editor = mPreferences.edit(); boolean[] enabledButtons = new boolean[14]; @@ -630,8 +331,59 @@ public final class EmulationActivity extends AppCompatActivity { .show(); } + private static boolean areCoordinatesOutside(@Nullable View view, float x, float y) + { + if (view == null) + { + return true; + } + + Rect viewBounds = new Rect(); + view.getGlobalVisibleRect(viewBounds); + return !viewBounds.contains(Math.round(x), Math.round(y)); + } + + @Override + public boolean dispatchTouchEvent(MotionEvent event) + { + if (event.getActionMasked() == MotionEvent.ACTION_DOWN) + { + boolean anyMenuClosed = false; + + Fragment submenu = getSupportFragmentManager().findFragmentById(R.id.frame_submenu); + if (submenu != null && areCoordinatesOutside(submenu.getView(), event.getX(), event.getY())) + { + closeSubmenu(); + submenu = null; + anyMenuClosed = true; + } + + if (submenu == null) + { + Fragment menu = getSupportFragmentManager().findFragmentById(R.id.frame_menu); + if (menu != null && areCoordinatesOutside(menu.getView(), event.getX(), event.getY())) + { + closeMenu(); + anyMenuClosed = true; + } + } + + if (anyMenuClosed) + { + return true; + } + } + + return super.dispatchTouchEvent(event); + } + @Override public boolean dispatchGenericMotionEvent(MotionEvent event) { + if (mMenuVisible) + { + return false; + } + if (((event.getSource() & InputDevice.SOURCE_CLASS_JOYSTICK) == 0)) { return super.dispatchGenericMotionEvent(event); } @@ -747,9 +499,39 @@ public final class EmulationActivity extends AppCompatActivity { @Retention(SOURCE) @IntDef({MENU_ACTION_EDIT_CONTROLS_PLACEMENT, MENU_ACTION_TOGGLE_CONTROLS, MENU_ACTION_ADJUST_SCALE, - MENU_ACTION_EXIT, MENU_ACTION_SHOW_FPS, MENU_ACTION_SCREEN_LAYOUT_LANDSCAPE, - MENU_ACTION_SCREEN_LAYOUT_PORTRAIT, MENU_ACTION_SCREEN_LAYOUT_SINGLE, MENU_ACTION_SCREEN_LAYOUT_SIDEBYSIDE, - MENU_ACTION_SWAP_SCREENS, MENU_ACTION_RESET_OVERLAY, MENU_ACTION_SHOW_OVERLAY, MENU_ACTION_OPEN_SETTINGS}) + MENU_ACTION_EXIT, MENU_ACTION_SHOW_FPS, MENU_ACTION_RESET_OVERLAY, MENU_ACTION_SHOW_OVERLAY, MENU_ACTION_OPEN_SETTINGS}) public @interface MenuAction { } + + private boolean closeSubmenu() + { + return getSupportFragmentManager().popBackStackImmediate(BACKSTACK_NAME_SUBMENU, + FragmentManager.POP_BACK_STACK_INCLUSIVE); + } + + private boolean closeMenu() + { + mMenuVisible = false; + return getSupportFragmentManager().popBackStackImmediate(BACKSTACK_NAME_MENU, + FragmentManager.POP_BACK_STACK_INCLUSIVE); + } + + private void toggleMenu() + { + if (!closeMenu()) { + // Removing the menu failed, so that means it wasn't visible. Add it. + Fragment fragment = MenuFragment.newInstance(); + getSupportFragmentManager().beginTransaction() + .setCustomAnimations( + R.animator.menu_slide_in_from_start, + R.animator.menu_slide_out_to_start, + R.animator.menu_slide_in_from_start, + R.animator.menu_slide_out_to_start) + .add(R.id.frame_menu, fragment) + .addToBackStack(BACKSTACK_NAME_MENU) + .commit(); + mMenuVisible = true; + } + } + } diff --git a/src/android/app/src/main/java/org/citra/citra_emu/adapters/GameAdapter.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/adapters/GameAdapter.java index bc791638a1..fa785741b7 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/adapters/GameAdapter.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/adapters/GameAdapter.java @@ -1,4 +1,4 @@ -package org.citra.citra_emu.adapters; +package org.yuzu.yuzu_emu.adapters; import android.database.Cursor; import android.database.DataSetObserver; @@ -16,13 +16,13 @@ import androidx.core.content.ContextCompat; import androidx.fragment.app.FragmentActivity; import androidx.recyclerview.widget.RecyclerView; -import org.citra.citra_emu.R; -import org.citra.citra_emu.activities.EmulationActivity; -import org.citra.citra_emu.model.GameDatabase; -import org.citra.citra_emu.ui.DividerItemDecoration; -import org.citra.citra_emu.utils.Log; -import org.citra.citra_emu.utils.PicassoUtils; -import org.citra.citra_emu.viewholders.GameViewHolder; +import org.yuzu.yuzu_emu.R; +import org.yuzu.yuzu_emu.activities.EmulationActivity; +import org.yuzu.yuzu_emu.model.GameDatabase; +import org.yuzu.yuzu_emu.ui.DividerItemDecoration; +import org.yuzu.yuzu_emu.utils.Log; +import org.yuzu.yuzu_emu.utils.PicassoUtils; +import org.yuzu.yuzu_emu.viewholders.GameViewHolder; import java.nio.file.Path; import java.nio.file.Paths; @@ -99,7 +99,7 @@ public final class GameAdapter extends RecyclerView.Adapter<GameViewHolder> impl holder.regions = mCursor.getString(GameDatabase.GAME_COLUMN_REGIONS); holder.company = mCursor.getString(GameDatabase.GAME_COLUMN_COMPANY); - final int backgroundColorId = isValidGame(holder.path) ? R.color.card_view_background : R.color.card_view_disabled; + final int backgroundColorId = isValidGame(holder.path) ? R.color.view_background : R.color.view_disabled; View itemView = holder.getItemView(); itemView.setBackgroundColor(ContextCompat.getColor(itemView.getContext(), backgroundColorId)); } else { diff --git a/src/android/app/src/main/java/org/citra/citra_emu/applets/SoftwareKeyboard.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/applets/SoftwareKeyboard.java index 7be5f6d977..4aeb414721 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/applets/SoftwareKeyboard.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/applets/SoftwareKeyboard.java @@ -2,7 +2,7 @@ // Licensed under GPLv2 or any later version // Refer to the license.txt file included. -package org.citra.citra_emu.applets; +package org.yuzu.yuzu_emu.applets; import android.app.Activity; import android.app.Dialog; @@ -19,11 +19,11 @@ import androidx.annotation.Nullable; import androidx.appcompat.app.AlertDialog; import androidx.fragment.app.DialogFragment; -import org.citra.citra_emu.CitraApplication; -import org.citra.citra_emu.NativeLibrary; -import org.citra.citra_emu.R; -import org.citra.citra_emu.activities.EmulationActivity; -import org.citra.citra_emu.utils.Log; +import org.yuzu.yuzu_emu.YuzuApplication; +import org.yuzu.yuzu_emu.NativeLibrary; +import org.yuzu.yuzu_emu.R; +import org.yuzu.yuzu_emu.activities.EmulationActivity; +import org.yuzu.yuzu_emu.utils.Log; import java.util.Objects; @@ -107,14 +107,14 @@ public final class SoftwareKeyboard { FrameLayout.LayoutParams params = new FrameLayout.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); params.leftMargin = params.rightMargin = - CitraApplication.getAppContext().getResources().getDimensionPixelSize( + YuzuApplication.getAppContext().getResources().getDimensionPixelSize( R.dimen.dialog_margin); KeyboardConfig config = Objects.requireNonNull( (KeyboardConfig) Objects.requireNonNull(getArguments()).getSerializable("config")); // Set up the input - EditText editText = new EditText(CitraApplication.getAppContext()); + EditText editText = new EditText(YuzuApplication.getAppContext()); editText.setHint(config.hint_text); editText.setSingleLine(!config.multiline_mode); editText.setLayoutParams(params); @@ -254,7 +254,7 @@ public final class SoftwareKeyboard { public static void ShowError(String error) { NativeLibrary.displayAlertMsg( - CitraApplication.getAppContext().getResources().getString(R.string.software_keyboard), + YuzuApplication.getAppContext().getResources().getString(R.string.software_keyboard), error, false); } diff --git a/src/android/app/src/main/java/org/citra/citra_emu/dialogs/MotionAlertDialog.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/dialogs/MotionAlertDialog.java index 0f10f1858e..874c1acbc1 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/dialogs/MotionAlertDialog.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/dialogs/MotionAlertDialog.java @@ -1,4 +1,4 @@ -package org.citra.citra_emu.dialogs; +package org.yuzu.yuzu_emu.dialogs; import android.content.Context; import android.view.InputDevice; @@ -8,8 +8,8 @@ import android.view.MotionEvent; import androidx.annotation.NonNull; import androidx.appcompat.app.AlertDialog; -import org.citra.citra_emu.features.settings.model.view.InputBindingSetting; -import org.citra.citra_emu.utils.Log; +import org.yuzu.yuzu_emu.features.settings.model.view.InputBindingSetting; +import org.yuzu.yuzu_emu.utils.Log; import java.util.ArrayList; import java.util.List; diff --git a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/BooleanSetting.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/BooleanSetting.java index 932dcf1d32..965f1b2a23 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/BooleanSetting.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/BooleanSetting.java @@ -1,4 +1,4 @@ -package org.citra.citra_emu.features.settings.model; +package org.yuzu.yuzu_emu.features.settings.model; public final class BooleanSetting extends Setting { private boolean mValue; diff --git a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/FloatSetting.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/FloatSetting.java index 275f0eceae..9b9b600929 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/FloatSetting.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/FloatSetting.java @@ -1,4 +1,4 @@ -package org.citra.citra_emu.features.settings.model; +package org.yuzu.yuzu_emu.features.settings.model; public final class FloatSetting extends Setting { private float mValue; diff --git a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/IntSetting.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/IntSetting.java index f712e5bfa4..001f275797 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/IntSetting.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/IntSetting.java @@ -1,4 +1,4 @@ -package org.citra.citra_emu.features.settings.model; +package org.yuzu.yuzu_emu.features.settings.model; public final class IntSetting extends Setting { private int mValue; diff --git a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/Setting.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/Setting.java index b762847c94..28003078ab 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/Setting.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/Setting.java @@ -1,7 +1,7 @@ -package org.citra.citra_emu.features.settings.model; +package org.yuzu.yuzu_emu.features.settings.model; /** - * Abstraction for a setting item as read from / written to Citra's configuration ini files. + * Abstraction for a setting item as read from / written to yuzu'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. diff --git a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/SettingSection.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/SettingSection.java index 0a291aa6bb..da9d40c788 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/SettingSection.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/SettingSection.java @@ -1,4 +1,4 @@ -package org.citra.citra_emu.features.settings.model; +package org.yuzu.yuzu_emu.features.settings.model; import java.util.HashMap; diff --git a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/Settings.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/Settings.java index 9684966f20..efde45ee9d 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/Settings.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/Settings.java @@ -1,11 +1,11 @@ -package org.citra.citra_emu.features.settings.model; +package org.yuzu.yuzu_emu.features.settings.model; import android.text.TextUtils; -import org.citra.citra_emu.CitraApplication; -import org.citra.citra_emu.R; -import org.citra.citra_emu.features.settings.ui.SettingsActivityView; -import org.citra.citra_emu.features.settings.utils.SettingsFile; +import org.yuzu.yuzu_emu.YuzuApplication; +import org.yuzu.yuzu_emu.R; +import org.yuzu.yuzu_emu.features.settings.ui.SettingsActivityView; +import org.yuzu.yuzu_emu.features.settings.utils.SettingsFile; import java.util.Arrays; import java.util.HashMap; @@ -17,7 +17,6 @@ public class Settings { public static final String SECTION_PREMIUM = "Premium"; public static final String SECTION_CORE = "Core"; public static final String SECTION_SYSTEM = "System"; - public static final String SECTION_CAMERA = "Camera"; public static final String SECTION_CONTROLS = "Controls"; public static final String SECTION_RENDERER = "Renderer"; public static final String SECTION_LAYOUT = "Layout"; @@ -30,7 +29,7 @@ public class Settings { private static final Map<String, List<String>> configFileSectionsMap = new HashMap<>(); static { - configFileSectionsMap.put(SettingsFile.FILE_NAME_CONFIG, Arrays.asList(SECTION_PREMIUM, SECTION_CORE, SECTION_SYSTEM, SECTION_CAMERA, SECTION_CONTROLS, SECTION_RENDERER, SECTION_LAYOUT, SECTION_UTILITY, SECTION_AUDIO, SECTION_DEBUG)); + configFileSectionsMap.put(SettingsFile.FILE_NAME_CONFIG, Arrays.asList(SECTION_PREMIUM, SECTION_CORE, SECTION_SYSTEM, SECTION_CONTROLS, SECTION_RENDERER, SECTION_LAYOUT, SECTION_UTILITY, SECTION_AUDIO, SECTION_DEBUG)); } /** @@ -109,7 +108,7 @@ public class Settings { public void saveSettings(SettingsActivityView view) { if (TextUtils.isEmpty(gameId)) { - view.showToastMessage(CitraApplication.getAppContext().getString(R.string.ini_saved), false); + view.showToastMessage(YuzuApplication.getAppContext().getString(R.string.ini_saved), false); for (Map.Entry<String, List<String>> entry : configFileSectionsMap.entrySet()) { String fileName = entry.getKey(); @@ -123,7 +122,7 @@ public class Settings { } } else { // custom game settings - view.showToastMessage(CitraApplication.getAppContext().getString(R.string.gameid_saved, gameId), false); + view.showToastMessage(YuzuApplication.getAppContext().getString(R.string.gameid_saved, gameId), false); SettingsFile.saveCustomGameSettings(gameId, sections); } diff --git a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/StringSetting.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/StringSetting.java index b906b70109..0b5128382a 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/StringSetting.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/StringSetting.java @@ -1,4 +1,4 @@ -package org.citra.citra_emu.features.settings.model; +package org.yuzu.yuzu_emu.features.settings.model; public final class StringSetting extends Setting { private String mValue; diff --git a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/view/CheckBoxSetting.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/CheckBoxSetting.java index baf40709fe..c5c4e14f35 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/view/CheckBoxSetting.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/CheckBoxSetting.java @@ -1,11 +1,11 @@ -package org.citra.citra_emu.features.settings.model.view; +package org.yuzu.yuzu_emu.features.settings.model.view; -import org.citra.citra_emu.CitraApplication; -import org.citra.citra_emu.R; -import org.citra.citra_emu.features.settings.model.BooleanSetting; -import org.citra.citra_emu.features.settings.model.IntSetting; -import org.citra.citra_emu.features.settings.model.Setting; -import org.citra.citra_emu.features.settings.ui.SettingsFragmentView; +import org.yuzu.yuzu_emu.YuzuApplication; +import org.yuzu.yuzu_emu.R; +import org.yuzu.yuzu_emu.features.settings.model.BooleanSetting; +import org.yuzu.yuzu_emu.features.settings.model.IntSetting; +import org.yuzu.yuzu_emu.features.settings.model.Setting; +import org.yuzu.yuzu_emu.features.settings.ui.SettingsFragmentView; public final class CheckBoxSetting extends SettingsItem { private boolean mDefaultValue; @@ -59,7 +59,7 @@ public final class CheckBoxSetting extends SettingsItem { public IntSetting setChecked(boolean checked) { // Show a performance warning if the setting has been disabled if (mShowPerformanceWarning && !checked) { - mView.showToastMessage(CitraApplication.getAppContext().getString(R.string.performance_warning), true); + mView.showToastMessage(YuzuApplication.getAppContext().getString(R.string.performance_warning), true); } if (getSetting() == null) { diff --git a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/view/DateTimeSetting.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/DateTimeSetting.java index afc3352cc0..17b2f11881 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/view/DateTimeSetting.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/DateTimeSetting.java @@ -1,7 +1,7 @@ -package org.citra.citra_emu.features.settings.model.view; +package org.yuzu.yuzu_emu.features.settings.model.view; -import org.citra.citra_emu.features.settings.model.Setting; -import org.citra.citra_emu.features.settings.model.StringSetting; +import org.yuzu.yuzu_emu.features.settings.model.Setting; +import org.yuzu.yuzu_emu.features.settings.model.StringSetting; public final class DateTimeSetting extends SettingsItem { private String mDefaultValue; diff --git a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/view/HeaderSetting.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/HeaderSetting.java index bac8876cdf..c41ac3d54a 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/view/HeaderSetting.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/HeaderSetting.java @@ -1,6 +1,6 @@ -package org.citra.citra_emu.features.settings.model.view; +package org.yuzu.yuzu_emu.features.settings.model.view; -import org.citra.citra_emu.features.settings.model.Setting; +import org.yuzu.yuzu_emu.features.settings.model.Setting; public final class HeaderSetting extends SettingsItem { public HeaderSetting(String key, Setting setting, int titleId, int descriptionId) { diff --git a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/view/InputBindingSetting.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/InputBindingSetting.java index e9141a2080..4ad54421e4 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/view/InputBindingSetting.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/InputBindingSetting.java @@ -1,4 +1,4 @@ -package org.citra.citra_emu.features.settings.model.view; +package org.yuzu.yuzu_emu.features.settings.model.view; import android.content.SharedPreferences; import android.preference.PreferenceManager; @@ -6,12 +6,12 @@ import android.view.InputDevice; import android.view.KeyEvent; import android.widget.Toast; -import org.citra.citra_emu.CitraApplication; -import org.citra.citra_emu.NativeLibrary; -import org.citra.citra_emu.R; -import org.citra.citra_emu.features.settings.model.Setting; -import org.citra.citra_emu.features.settings.model.StringSetting; -import org.citra.citra_emu.features.settings.utils.SettingsFile; +import org.yuzu.yuzu_emu.YuzuApplication; +import org.yuzu.yuzu_emu.NativeLibrary; +import org.yuzu.yuzu_emu.R; +import org.yuzu.yuzu_emu.features.settings.model.Setting; +import org.yuzu.yuzu_emu.features.settings.model.StringSetting; +import org.yuzu.yuzu_emu.features.settings.utils.SettingsFile; public final class InputBindingSetting extends SettingsItem { private static final String INPUT_MAPPING_PREFIX = "InputMapping"; @@ -108,7 +108,7 @@ public final class InputBindingSetting extends SettingsItem { } /** - * Returns the Citra button code for the settings key. + * Returns the yuzu button code for the settings key. */ private int getButtonCode() { switch (getKey()) { @@ -145,7 +145,7 @@ public final class InputBindingSetting extends SettingsItem { } /** - * Returns the settings key for the specified Citra button code. + * Returns the settings key for the specified yuzu button code. */ private static String getButtonKey(int buttonCode) { switch (buttonCode) { @@ -201,7 +201,7 @@ public final class InputBindingSetting extends SettingsItem { */ public void removeOldMapping() { // Get preferences editor - SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(CitraApplication.getAppContext()); + SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(YuzuApplication.getAppContext()); SharedPreferences.Editor editor = preferences.edit(); // Try remove all possible keys we wrote for this setting @@ -250,7 +250,7 @@ public final class InputBindingSetting extends SettingsItem { */ private void WriteButtonMapping(String key) { // Get preferences editor - SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(CitraApplication.getAppContext()); + SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(YuzuApplication.getAppContext()); SharedPreferences.Editor editor = preferences.edit(); // Remove mapping for another setting using this input @@ -278,7 +278,7 @@ public final class InputBindingSetting extends SettingsItem { */ private void WriteAxisMapping(int axis, int value) { // Get preferences editor - SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(CitraApplication.getAppContext()); + SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(YuzuApplication.getAppContext()); SharedPreferences.Editor editor = preferences.edit(); // Cleanup old mapping @@ -302,7 +302,7 @@ public final class InputBindingSetting extends SettingsItem { */ public void onKeyInput(KeyEvent keyEvent) { if (!IsButtonMappingSupported()) { - Toast.makeText(CitraApplication.getAppContext(), R.string.input_message_analog_only, Toast.LENGTH_LONG).show(); + Toast.makeText(YuzuApplication.getAppContext(), R.string.input_message_analog_only, Toast.LENGTH_LONG).show(); return; } @@ -324,11 +324,11 @@ public final class InputBindingSetting extends SettingsItem { public void onMotionInput(InputDevice device, InputDevice.MotionRange motionRange, char axisDir) { if (!IsAxisMappingSupported()) { - Toast.makeText(CitraApplication.getAppContext(), R.string.input_message_button_only, Toast.LENGTH_LONG).show(); + Toast.makeText(YuzuApplication.getAppContext(), R.string.input_message_button_only, Toast.LENGTH_LONG).show(); return; } - SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(CitraApplication.getAppContext()); + SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(YuzuApplication.getAppContext()); SharedPreferences.Editor editor = preferences.edit(); int button; @@ -354,7 +354,7 @@ public final class InputBindingSetting extends SettingsItem { * Sets the string to use in the configuration UI for the gamepad input. */ private StringSetting setUiString(String ui) { - SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(CitraApplication.getAppContext()); + SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(YuzuApplication.getAppContext()); SharedPreferences.Editor editor = preferences.edit(); if (getSetting() == null) { diff --git a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/view/PremiumHeader.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/PremiumHeader.java index 2b1793d3e0..9bf95ce515 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/view/PremiumHeader.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/PremiumHeader.java @@ -1,4 +1,4 @@ -package org.citra.citra_emu.features.settings.model.view; +package org.yuzu.yuzu_emu.features.settings.model.view; public final class PremiumHeader extends SettingsItem { public PremiumHeader() { diff --git a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/view/PremiumSingleChoiceSetting.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/PremiumSingleChoiceSetting.java index c0560d2dc6..0c4570c8d7 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/view/PremiumSingleChoiceSetting.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/PremiumSingleChoiceSetting.java @@ -1,12 +1,12 @@ -package org.citra.citra_emu.features.settings.model.view; +package org.yuzu.yuzu_emu.features.settings.model.view; import android.content.SharedPreferences; import android.preference.PreferenceManager; -import org.citra.citra_emu.CitraApplication; -import org.citra.citra_emu.R; -import org.citra.citra_emu.features.settings.model.Setting; -import org.citra.citra_emu.features.settings.ui.SettingsFragmentView; +import org.yuzu.yuzu_emu.YuzuApplication; +import org.yuzu.yuzu_emu.R; +import org.yuzu.yuzu_emu.features.settings.model.Setting; +import org.yuzu.yuzu_emu.features.settings.ui.SettingsFragmentView; public final class PremiumSingleChoiceSetting extends SettingsItem { private int mDefaultValue; @@ -15,7 +15,7 @@ public final class PremiumSingleChoiceSetting extends SettingsItem { private int mValuesId; private SettingsFragmentView mView; - private static SharedPreferences mPreferences = PreferenceManager.getDefaultSharedPreferences(CitraApplication.getAppContext()); + private static SharedPreferences mPreferences = PreferenceManager.getDefaultSharedPreferences(YuzuApplication.getAppContext()); public PremiumSingleChoiceSetting(String key, String section, int titleId, int descriptionId, int choicesId, int valuesId, int defaultValue, Setting setting, SettingsFragmentView view) { @@ -49,7 +49,7 @@ public final class PremiumSingleChoiceSetting extends SettingsItem { final SharedPreferences.Editor editor = mPreferences.edit(); editor.putInt(getKey(), selection); editor.apply(); - mView.showToastMessage(CitraApplication.getAppContext().getString(R.string.design_updated), false); + mView.showToastMessage(YuzuApplication.getAppContext().getString(R.string.design_updated), false); } @Override diff --git a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/view/SettingsItem.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SettingsItem.java index 3053520223..db7fb791a5 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/view/SettingsItem.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SettingsItem.java @@ -1,8 +1,8 @@ -package org.citra.citra_emu.features.settings.model.view; +package org.yuzu.yuzu_emu.features.settings.model.view; -import org.citra.citra_emu.features.settings.model.Setting; -import org.citra.citra_emu.features.settings.model.Settings; -import org.citra.citra_emu.features.settings.ui.SettingsAdapter; +import org.yuzu.yuzu_emu.features.settings.model.Setting; +import org.yuzu.yuzu_emu.features.settings.model.Settings; +import org.yuzu.yuzu_emu.features.settings.ui.SettingsAdapter; /** * ViewModel abstraction for an Item in the RecyclerView powering SettingsFragments. diff --git a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/view/SingleChoiceSetting.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SingleChoiceSetting.java index ee9d225d60..619df6d520 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/view/SingleChoiceSetting.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SingleChoiceSetting.java @@ -1,7 +1,7 @@ -package org.citra.citra_emu.features.settings.model.view; +package org.yuzu.yuzu_emu.features.settings.model.view; -import org.citra.citra_emu.features.settings.model.IntSetting; -import org.citra.citra_emu.features.settings.model.Setting; +import org.yuzu.yuzu_emu.features.settings.model.IntSetting; +import org.yuzu.yuzu_emu.features.settings.model.Setting; public final class SingleChoiceSetting extends SettingsItem { private int mDefaultValue; diff --git a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/view/SliderSetting.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SliderSetting.java index 551b13f999..8ac25b66ed 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/view/SliderSetting.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SliderSetting.java @@ -1,9 +1,9 @@ -package org.citra.citra_emu.features.settings.model.view; +package org.yuzu.yuzu_emu.features.settings.model.view; -import org.citra.citra_emu.features.settings.model.FloatSetting; -import org.citra.citra_emu.features.settings.model.IntSetting; -import org.citra.citra_emu.features.settings.model.Setting; -import org.citra.citra_emu.utils.Log; +import org.yuzu.yuzu_emu.features.settings.model.FloatSetting; +import org.yuzu.yuzu_emu.features.settings.model.IntSetting; +import org.yuzu.yuzu_emu.features.settings.model.Setting; +import org.yuzu.yuzu_emu.utils.Log; public final class SliderSetting extends SettingsItem { private int mMin; diff --git a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/view/StringSingleChoiceSetting.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/StringSingleChoiceSetting.java index 057145d9da..419abfd49a 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/view/StringSingleChoiceSetting.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/StringSingleChoiceSetting.java @@ -1,7 +1,7 @@ -package org.citra.citra_emu.features.settings.model.view; +package org.yuzu.yuzu_emu.features.settings.model.view; -import org.citra.citra_emu.features.settings.model.Setting; -import org.citra.citra_emu.features.settings.model.StringSetting; +import org.yuzu.yuzu_emu.features.settings.model.Setting; +import org.yuzu.yuzu_emu.features.settings.model.StringSetting; public class StringSingleChoiceSetting extends SettingsItem { private String mDefaultValue; diff --git a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/view/SubmenuSetting.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SubmenuSetting.java index 9d44a923fd..3f5b3c8d05 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/view/SubmenuSetting.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SubmenuSetting.java @@ -1,6 +1,6 @@ -package org.citra.citra_emu.features.settings.model.view; +package org.yuzu.yuzu_emu.features.settings.model.view; -import org.citra.citra_emu.features.settings.model.Setting; +import org.yuzu.yuzu_emu.features.settings.model.Setting; public final class SubmenuSetting extends SettingsItem { private String mMenuKey; diff --git a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/SettingsActivity.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsActivity.java index 23c3c4c9eb..916ced3828 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/SettingsActivity.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsActivity.java @@ -1,4 +1,4 @@ -package org.citra.citra_emu.features.settings.ui; +package org.yuzu.yuzu_emu.features.settings.ui; import android.app.ProgressDialog; import android.content.Context; @@ -15,11 +15,11 @@ import androidx.appcompat.app.AppCompatActivity; import androidx.fragment.app.FragmentTransaction; import androidx.localbroadcastmanager.content.LocalBroadcastManager; -import org.citra.citra_emu.NativeLibrary; -import org.citra.citra_emu.R; -import org.citra.citra_emu.utils.DirectoryInitialization; -import org.citra.citra_emu.utils.DirectoryStateReceiver; -import org.citra.citra_emu.utils.EmulationMenuSettings; +import org.yuzu.yuzu_emu.NativeLibrary; +import org.yuzu.yuzu_emu.R; +import org.yuzu.yuzu_emu.utils.DirectoryInitialization; +import org.yuzu.yuzu_emu.utils.DirectoryStateReceiver; +import org.yuzu.yuzu_emu.utils.EmulationMenuSettings; public final class SettingsActivity extends AppCompatActivity implements SettingsActivityView { private static final String ARG_MENU_TAG = "menu_tag"; @@ -172,17 +172,17 @@ public final class SettingsActivity extends AppCompatActivity implements Setting } @Override - public org.citra.citra_emu.features.settings.model.Settings getSettings() { + public org.yuzu.yuzu_emu.features.settings.model.Settings getSettings() { return mPresenter.getSettings(); } @Override - public void setSettings(org.citra.citra_emu.features.settings.model.Settings settings) { + public void setSettings(org.yuzu.yuzu_emu.features.settings.model.Settings settings) { mPresenter.setSettings(settings); } @Override - public void onSettingsFileLoaded(org.citra.citra_emu.features.settings.model.Settings settings) { + public void onSettingsFileLoaded(org.yuzu.yuzu_emu.features.settings.model.Settings settings) { SettingsFragmentView fragment = getFragment(); if (fragment != null) { diff --git a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/SettingsActivityPresenter.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsActivityPresenter.java index 0d63873bb5..ba6b6762bf 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/SettingsActivityPresenter.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsActivityPresenter.java @@ -1,17 +1,17 @@ -package org.citra.citra_emu.features.settings.ui; +package org.yuzu.yuzu_emu.features.settings.ui; import android.content.IntentFilter; import android.os.Bundle; import android.text.TextUtils; -import org.citra.citra_emu.NativeLibrary; -import org.citra.citra_emu.features.settings.model.Settings; -import org.citra.citra_emu.features.settings.utils.SettingsFile; -import org.citra.citra_emu.utils.DirectoryInitialization; -import org.citra.citra_emu.utils.DirectoryInitialization.DirectoryInitializationState; -import org.citra.citra_emu.utils.DirectoryStateReceiver; -import org.citra.citra_emu.utils.Log; -import org.citra.citra_emu.utils.ThemeUtil; +import org.yuzu.yuzu_emu.NativeLibrary; +import org.yuzu.yuzu_emu.features.settings.model.Settings; +import org.yuzu.yuzu_emu.features.settings.utils.SettingsFile; +import org.yuzu.yuzu_emu.utils.DirectoryInitialization; +import org.yuzu.yuzu_emu.utils.DirectoryInitialization.DirectoryInitializationState; +import org.yuzu.yuzu_emu.utils.DirectoryStateReceiver; +import org.yuzu.yuzu_emu.utils.Log; +import org.yuzu.yuzu_emu.utils.ThemeUtil; import java.io.File; @@ -43,7 +43,7 @@ public final class SettingsActivityPresenter { } public void onStart() { - prepareCitraDirectoriesIfNeeded(); + prepareDirectoriesIfNeeded(); } void loadSettingsUI() { @@ -59,12 +59,13 @@ public final class SettingsActivityPresenter { mView.onSettingsFileLoaded(mSettings); } - private void prepareCitraDirectoriesIfNeeded() { + private void prepareDirectoriesIfNeeded() { File configFile = new File(DirectoryInitialization.getUserDirectory() + "/config/" + SettingsFile.FILE_NAME_CONFIG + ".ini"); if (!configFile.exists()) { - Log.error("Citra config file could not be found!"); + Log.error(DirectoryInitialization.getUserDirectory() + "/config/" + SettingsFile.FILE_NAME_CONFIG + ".ini"); + Log.error("yuzu config file could not be found!"); } - if (DirectoryInitialization.areCitraDirectoriesReady()) { + if (DirectoryInitialization.areDirectoriesReady()) { loadSettingsUI(); } else { mView.showLoading(); @@ -74,7 +75,7 @@ public final class SettingsActivityPresenter { directoryStateReceiver = new DirectoryStateReceiver(directoryInitializationState -> { - if (directoryInitializationState == DirectoryInitializationState.CITRA_DIRECTORIES_INITIALIZED) { + if (directoryInitializationState == DirectoryInitializationState.YUZU_DIRECTORIES_INITIALIZED) { mView.hideLoading(); loadSettingsUI(); } else if (directoryInitializationState == DirectoryInitializationState.EXTERNAL_STORAGE_PERMISSION_NEEDED) { diff --git a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/SettingsActivityView.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsActivityView.java index 0d26d48a71..5aff3bcf7d 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/SettingsActivityView.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsActivityView.java @@ -1,9 +1,9 @@ -package org.citra.citra_emu.features.settings.ui; +package org.yuzu.yuzu_emu.features.settings.ui; import android.content.IntentFilter; -import org.citra.citra_emu.features.settings.model.Settings; -import org.citra.citra_emu.utils.DirectoryStateReceiver; +import org.yuzu.yuzu_emu.features.settings.model.Settings; +import org.yuzu.yuzu_emu.utils.DirectoryStateReceiver; /** * Abstraction for the Activity that manages SettingsFragments. diff --git a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/SettingsAdapter.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsAdapter.java index bfd7c71a99..1102d6af1a 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/SettingsAdapter.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsAdapter.java @@ -1,4 +1,4 @@ -package org.citra.citra_emu.features.settings.ui; +package org.yuzu.yuzu_emu.features.settings.ui; import android.content.Context; import android.content.DialogInterface; @@ -13,31 +13,31 @@ import android.widget.TimePicker; import androidx.appcompat.app.AlertDialog; import androidx.recyclerview.widget.RecyclerView; -import org.citra.citra_emu.R; -import org.citra.citra_emu.dialogs.MotionAlertDialog; -import org.citra.citra_emu.features.settings.model.FloatSetting; -import org.citra.citra_emu.features.settings.model.IntSetting; -import org.citra.citra_emu.features.settings.model.StringSetting; -import org.citra.citra_emu.features.settings.model.view.CheckBoxSetting; -import org.citra.citra_emu.features.settings.model.view.DateTimeSetting; -import org.citra.citra_emu.features.settings.model.view.InputBindingSetting; -import org.citra.citra_emu.features.settings.model.view.PremiumSingleChoiceSetting; -import org.citra.citra_emu.features.settings.model.view.SettingsItem; -import org.citra.citra_emu.features.settings.model.view.SingleChoiceSetting; -import org.citra.citra_emu.features.settings.model.view.SliderSetting; -import org.citra.citra_emu.features.settings.model.view.StringSingleChoiceSetting; -import org.citra.citra_emu.features.settings.model.view.SubmenuSetting; -import org.citra.citra_emu.features.settings.ui.viewholder.CheckBoxSettingViewHolder; -import org.citra.citra_emu.features.settings.ui.viewholder.DateTimeViewHolder; -import org.citra.citra_emu.features.settings.ui.viewholder.HeaderViewHolder; -import org.citra.citra_emu.features.settings.ui.viewholder.InputBindingSettingViewHolder; -import org.citra.citra_emu.features.settings.ui.viewholder.PremiumViewHolder; -import org.citra.citra_emu.features.settings.ui.viewholder.SettingViewHolder; -import org.citra.citra_emu.features.settings.ui.viewholder.SingleChoiceViewHolder; -import org.citra.citra_emu.features.settings.ui.viewholder.SliderViewHolder; -import org.citra.citra_emu.features.settings.ui.viewholder.SubmenuViewHolder; -import org.citra.citra_emu.ui.main.MainActivity; -import org.citra.citra_emu.utils.Log; +import org.yuzu.yuzu_emu.R; +import org.yuzu.yuzu_emu.dialogs.MotionAlertDialog; +import org.yuzu.yuzu_emu.features.settings.model.FloatSetting; +import org.yuzu.yuzu_emu.features.settings.model.IntSetting; +import org.yuzu.yuzu_emu.features.settings.model.StringSetting; +import org.yuzu.yuzu_emu.features.settings.model.view.CheckBoxSetting; +import org.yuzu.yuzu_emu.features.settings.model.view.DateTimeSetting; +import org.yuzu.yuzu_emu.features.settings.model.view.InputBindingSetting; +import org.yuzu.yuzu_emu.features.settings.model.view.PremiumSingleChoiceSetting; +import org.yuzu.yuzu_emu.features.settings.model.view.SettingsItem; +import org.yuzu.yuzu_emu.features.settings.model.view.SingleChoiceSetting; +import org.yuzu.yuzu_emu.features.settings.model.view.SliderSetting; +import org.yuzu.yuzu_emu.features.settings.model.view.StringSingleChoiceSetting; +import org.yuzu.yuzu_emu.features.settings.model.view.SubmenuSetting; +import org.yuzu.yuzu_emu.features.settings.ui.viewholder.CheckBoxSettingViewHolder; +import org.yuzu.yuzu_emu.features.settings.ui.viewholder.DateTimeViewHolder; +import org.yuzu.yuzu_emu.features.settings.ui.viewholder.HeaderViewHolder; +import org.yuzu.yuzu_emu.features.settings.ui.viewholder.InputBindingSettingViewHolder; +import org.yuzu.yuzu_emu.features.settings.ui.viewholder.PremiumViewHolder; +import org.yuzu.yuzu_emu.features.settings.ui.viewholder.SettingViewHolder; +import org.yuzu.yuzu_emu.features.settings.ui.viewholder.SingleChoiceViewHolder; +import org.yuzu.yuzu_emu.features.settings.ui.viewholder.SliderViewHolder; +import org.yuzu.yuzu_emu.features.settings.ui.viewholder.SubmenuViewHolder; +import org.yuzu.yuzu_emu.ui.main.MainActivity; +import org.yuzu.yuzu_emu.utils.Log; import java.util.ArrayList; diff --git a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/SettingsFragment.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragment.java index 5799dcb8dc..845f6b7b43 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/SettingsFragment.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragment.java @@ -1,4 +1,4 @@ -package org.citra.citra_emu.features.settings.ui; +package org.yuzu.yuzu_emu.features.settings.ui; import android.content.Context; import android.os.Bundle; @@ -12,11 +12,11 @@ import androidx.fragment.app.Fragment; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; -import org.citra.citra_emu.R; -import org.citra.citra_emu.features.settings.model.Setting; -import org.citra.citra_emu.features.settings.model.Settings; -import org.citra.citra_emu.features.settings.model.view.SettingsItem; -import org.citra.citra_emu.ui.DividerItemDecoration; +import org.yuzu.yuzu_emu.R; +import org.yuzu.yuzu_emu.features.settings.model.Setting; +import org.yuzu.yuzu_emu.features.settings.model.Settings; +import org.yuzu.yuzu_emu.features.settings.model.view.SettingsItem; +import org.yuzu.yuzu_emu.ui.DividerItemDecoration; import java.util.ArrayList; diff --git a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/SettingsFragmentPresenter.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragmentPresenter.java index 31f3e68ebc..27f0adf297 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/SettingsFragmentPresenter.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragmentPresenter.java @@ -1,4 +1,4 @@ -package org.citra.citra_emu.features.settings.ui; +package org.yuzu.yuzu_emu.features.settings.ui; import android.app.Activity; import android.content.Context; @@ -7,24 +7,24 @@ import android.hardware.camera2.CameraCharacteristics; import android.hardware.camera2.CameraManager; import android.text.TextUtils; -import org.citra.citra_emu.R; -import org.citra.citra_emu.features.settings.model.Setting; -import org.citra.citra_emu.features.settings.model.SettingSection; -import org.citra.citra_emu.features.settings.model.Settings; -import org.citra.citra_emu.features.settings.model.StringSetting; -import org.citra.citra_emu.features.settings.model.view.CheckBoxSetting; -import org.citra.citra_emu.features.settings.model.view.DateTimeSetting; -import org.citra.citra_emu.features.settings.model.view.HeaderSetting; -import org.citra.citra_emu.features.settings.model.view.InputBindingSetting; -import org.citra.citra_emu.features.settings.model.view.PremiumHeader; -import org.citra.citra_emu.features.settings.model.view.PremiumSingleChoiceSetting; -import org.citra.citra_emu.features.settings.model.view.SettingsItem; -import org.citra.citra_emu.features.settings.model.view.SingleChoiceSetting; -import org.citra.citra_emu.features.settings.model.view.SliderSetting; -import org.citra.citra_emu.features.settings.model.view.StringSingleChoiceSetting; -import org.citra.citra_emu.features.settings.model.view.SubmenuSetting; -import org.citra.citra_emu.features.settings.utils.SettingsFile; -import org.citra.citra_emu.utils.Log; +import org.yuzu.yuzu_emu.R; +import org.yuzu.yuzu_emu.features.settings.model.Setting; +import org.yuzu.yuzu_emu.features.settings.model.SettingSection; +import org.yuzu.yuzu_emu.features.settings.model.Settings; +import org.yuzu.yuzu_emu.features.settings.model.StringSetting; +import org.yuzu.yuzu_emu.features.settings.model.view.CheckBoxSetting; +import org.yuzu.yuzu_emu.features.settings.model.view.DateTimeSetting; +import org.yuzu.yuzu_emu.features.settings.model.view.HeaderSetting; +import org.yuzu.yuzu_emu.features.settings.model.view.InputBindingSetting; +import org.yuzu.yuzu_emu.features.settings.model.view.PremiumHeader; +import org.yuzu.yuzu_emu.features.settings.model.view.PremiumSingleChoiceSetting; +import org.yuzu.yuzu_emu.features.settings.model.view.SettingsItem; +import org.yuzu.yuzu_emu.features.settings.model.view.SingleChoiceSetting; +import org.yuzu.yuzu_emu.features.settings.model.view.SliderSetting; +import org.yuzu.yuzu_emu.features.settings.model.view.StringSingleChoiceSetting; +import org.yuzu.yuzu_emu.features.settings.model.view.SubmenuSetting; +import org.yuzu.yuzu_emu.features.settings.utils.SettingsFile; +import org.yuzu.yuzu_emu.utils.Log; import java.util.ArrayList; import java.util.Arrays; @@ -115,9 +115,6 @@ public final class SettingsFragmentPresenter { case Settings.SECTION_SYSTEM: addSystemSettings(sl); break; - case Settings.SECTION_CAMERA: - addCameraSettings(sl); - break; case Settings.SECTION_CONTROLS: addInputSettings(sl); break; @@ -145,7 +142,6 @@ public final class SettingsFragmentPresenter { sl.add(new SubmenuSetting(null, null, R.string.preferences_premium, 0, Settings.SECTION_PREMIUM)); sl.add(new SubmenuSetting(null, null, R.string.preferences_general, 0, Settings.SECTION_CORE)); sl.add(new SubmenuSetting(null, null, R.string.preferences_system, 0, Settings.SECTION_SYSTEM)); - sl.add(new SubmenuSetting(null, null, R.string.preferences_camera, 0, Settings.SECTION_CAMERA)); sl.add(new SubmenuSetting(null, null, R.string.preferences_controls, 0, Settings.SECTION_CONTROLS)); sl.add(new SubmenuSetting(null, null, R.string.preferences_graphics, 0, Settings.SECTION_RENDERER)); sl.add(new SubmenuSetting(null, null, R.string.preferences_audio, 0, Settings.SECTION_AUDIO)); @@ -197,96 +193,6 @@ public final class SettingsFragmentPresenter { sl.add(new DateTimeSetting(SettingsFile.KEY_INIT_TIME, Settings.SECTION_SYSTEM, R.string.init_time, R.string.init_time_description, "2000-01-01 00:00:01", dateTime)); } - private void addCameraSettings(ArrayList<SettingsItem> sl) { - final Activity activity = mView.getActivity(); - activity.setTitle(R.string.preferences_camera); - - // Get the camera IDs - CameraManager cameraManager = (CameraManager) activity.getSystemService(Context.CAMERA_SERVICE); - ArrayList<String> supportedCameraNameList = new ArrayList<>(); - ArrayList<String> supportedCameraIdList = new ArrayList<>(); - if (cameraManager != null) { - try { - for (String id : cameraManager.getCameraIdList()) { - final CameraCharacteristics characteristics = cameraManager.getCameraCharacteristics(id); - if (Objects.requireNonNull(characteristics.get(CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL)) == CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY) { - continue; // Legacy cameras cannot be used with the NDK - } - - supportedCameraIdList.add(id); - - final int facing = Objects.requireNonNull(characteristics.get(CameraCharacteristics.LENS_FACING)); - int stringId = R.string.camera_facing_external; - switch (facing) { - case CameraCharacteristics.LENS_FACING_FRONT: - stringId = R.string.camera_facing_front; - break; - case CameraCharacteristics.LENS_FACING_BACK: - stringId = R.string.camera_facing_back; - break; - case CameraCharacteristics.LENS_FACING_EXTERNAL: - stringId = R.string.camera_facing_external; - break; - } - supportedCameraNameList.add(String.format("%1$s (%2$s)", id, activity.getString(stringId))); - } - } catch (CameraAccessException e) { - Log.error("Couldn't retrieve camera list"); - e.printStackTrace(); - } - } - - // Create the names and values for display - ArrayList<String> cameraDeviceNameList = new ArrayList<>(Arrays.asList(activity.getResources().getStringArray(R.array.cameraDeviceNames))); - cameraDeviceNameList.addAll(supportedCameraNameList); - ArrayList<String> cameraDeviceValueList = new ArrayList<>(Arrays.asList(activity.getResources().getStringArray(R.array.cameraDeviceValues))); - cameraDeviceValueList.addAll(supportedCameraIdList); - - final String[] cameraDeviceNames = cameraDeviceNameList.toArray(new String[]{}); - final String[] cameraDeviceValues = cameraDeviceValueList.toArray(new String[]{}); - - final boolean haveCameraDevices = !supportedCameraIdList.isEmpty(); - - String[] imageSourceNames = activity.getResources().getStringArray(R.array.cameraImageSourceNames); - String[] imageSourceValues = activity.getResources().getStringArray(R.array.cameraImageSourceValues); - if (!haveCameraDevices) { - // Remove the last entry (ndk / Device Camera) - imageSourceNames = Arrays.copyOfRange(imageSourceNames, 0, imageSourceNames.length - 1); - imageSourceValues = Arrays.copyOfRange(imageSourceValues, 0, imageSourceValues.length - 1); - } - - final String defaultImageSource = haveCameraDevices ? "ndk" : "image"; - - SettingSection cameraSection = mSettings.getSection(Settings.SECTION_CAMERA); - - Setting innerCameraImageSource = cameraSection.getSetting(SettingsFile.KEY_CAMERA_INNER_NAME); - Setting innerCameraConfig = asStringSetting(cameraSection.getSetting(SettingsFile.KEY_CAMERA_INNER_CONFIG)); - Setting innerCameraFlip = cameraSection.getSetting(SettingsFile.KEY_CAMERA_INNER_FLIP); - sl.add(new HeaderSetting(null, null, R.string.inner_camera, 0)); - sl.add(new StringSingleChoiceSetting(SettingsFile.KEY_CAMERA_INNER_NAME, Settings.SECTION_CAMERA, R.string.image_source, R.string.image_source_description, imageSourceNames, imageSourceValues, defaultImageSource, innerCameraImageSource)); - if (haveCameraDevices) - sl.add(new StringSingleChoiceSetting(SettingsFile.KEY_CAMERA_INNER_CONFIG, Settings.SECTION_CAMERA, R.string.camera_device, R.string.camera_device_description, cameraDeviceNames, cameraDeviceValues, "_front", innerCameraConfig)); - sl.add(new SingleChoiceSetting(SettingsFile.KEY_CAMERA_INNER_FLIP, Settings.SECTION_CAMERA, R.string.image_flip, 0, R.array.cameraFlipNames, R.array.cameraFlipValues, 0, innerCameraFlip)); - - Setting outerLeftCameraImageSource = cameraSection.getSetting(SettingsFile.KEY_CAMERA_OUTER_LEFT_NAME); - Setting outerLeftCameraConfig = asStringSetting(cameraSection.getSetting(SettingsFile.KEY_CAMERA_OUTER_LEFT_CONFIG)); - Setting outerLeftCameraFlip = cameraSection.getSetting(SettingsFile.KEY_CAMERA_OUTER_LEFT_FLIP); - sl.add(new HeaderSetting(null, null, R.string.outer_left_camera, 0)); - sl.add(new StringSingleChoiceSetting(SettingsFile.KEY_CAMERA_OUTER_LEFT_NAME, Settings.SECTION_CAMERA, R.string.image_source, R.string.image_source_description, imageSourceNames, imageSourceValues, defaultImageSource, outerLeftCameraImageSource)); - if (haveCameraDevices) - sl.add(new StringSingleChoiceSetting(SettingsFile.KEY_CAMERA_OUTER_LEFT_CONFIG, Settings.SECTION_CAMERA, R.string.camera_device, R.string.camera_device_description, cameraDeviceNames, cameraDeviceValues, "_back", outerLeftCameraConfig)); - sl.add(new SingleChoiceSetting(SettingsFile.KEY_CAMERA_OUTER_LEFT_FLIP, Settings.SECTION_CAMERA, R.string.image_flip, 0, R.array.cameraFlipNames, R.array.cameraFlipValues, 0, outerLeftCameraFlip)); - - Setting outerRightCameraImageSource = cameraSection.getSetting(SettingsFile.KEY_CAMERA_OUTER_RIGHT_NAME); - Setting outerRightCameraConfig = asStringSetting(cameraSection.getSetting(SettingsFile.KEY_CAMERA_OUTER_RIGHT_CONFIG)); - Setting outerRightCameraFlip = cameraSection.getSetting(SettingsFile.KEY_CAMERA_OUTER_RIGHT_FLIP); - sl.add(new HeaderSetting(null, null, R.string.outer_right_camera, 0)); - sl.add(new StringSingleChoiceSetting(SettingsFile.KEY_CAMERA_OUTER_RIGHT_NAME, Settings.SECTION_CAMERA, R.string.image_source, R.string.image_source_description, imageSourceNames, imageSourceValues, defaultImageSource, outerRightCameraImageSource)); - if (haveCameraDevices) - sl.add(new StringSingleChoiceSetting(SettingsFile.KEY_CAMERA_OUTER_RIGHT_CONFIG, Settings.SECTION_CAMERA, R.string.camera_device, R.string.camera_device_description, cameraDeviceNames, cameraDeviceValues, "_back", outerRightCameraConfig)); - sl.add(new SingleChoiceSetting(SettingsFile.KEY_CAMERA_OUTER_RIGHT_FLIP, Settings.SECTION_CAMERA, R.string.image_flip, 0, R.array.cameraFlipNames, R.array.cameraFlipValues, 0, outerRightCameraFlip)); - } - private void addInputSettings(ArrayList<SettingsItem> sl) { mView.getActivity().setTitle(R.string.preferences_controls); @@ -382,7 +288,7 @@ public final class SettingsFragmentPresenter { sl.add(new HeaderSetting(null, null, R.string.utility, 0)); sl.add(new CheckBoxSetting(SettingsFile.KEY_DUMP_TEXTURES, Settings.SECTION_UTILITY, R.string.dump_textures, R.string.dump_textures_description, false, dumpTextures)); sl.add(new CheckBoxSetting(SettingsFile.KEY_CUSTOM_TEXTURES, Settings.SECTION_UTILITY, R.string.custom_textures, R.string.custom_textures_description, false, customTextures)); - //Disabled until custom texture implementation gets rewrite, current one overloads RAM and crashes Citra. + //Disabled until custom texture implementation gets rewrite, current one overloads RAM and crashes yuzu. //sl.add(new CheckBoxSetting(SettingsFile.KEY_PRELOAD_TEXTURES, Settings.SECTION_UTILITY, R.string.preload_textures, R.string.preload_textures_description, false, preloadTextures)); } diff --git a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/SettingsFragmentView.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragmentView.java index c36eb55a7c..3c1743fabd 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/SettingsFragmentView.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragmentView.java @@ -1,10 +1,10 @@ -package org.citra.citra_emu.features.settings.ui; +package org.yuzu.yuzu_emu.features.settings.ui; import androidx.fragment.app.FragmentActivity; -import org.citra.citra_emu.features.settings.model.Setting; -import org.citra.citra_emu.features.settings.model.Settings; -import org.citra.citra_emu.features.settings.model.view.SettingsItem; +import org.yuzu.yuzu_emu.features.settings.model.Setting; +import org.yuzu.yuzu_emu.features.settings.model.Settings; +import org.yuzu.yuzu_emu.features.settings.model.view.SettingsItem; import java.util.ArrayList; diff --git a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/SettingsFrameLayout.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFrameLayout.java index 67bde57099..f753368a83 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/SettingsFrameLayout.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFrameLayout.java @@ -1,4 +1,4 @@ -package org.citra.citra_emu.features.settings.ui; +package org.yuzu.yuzu_emu.features.settings.ui; import android.content.Context; import android.util.AttributeSet; diff --git a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/viewholder/CheckBoxSettingViewHolder.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/viewholder/CheckBoxSettingViewHolder.java index d914f7d0bc..2b05739e76 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/viewholder/CheckBoxSettingViewHolder.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/viewholder/CheckBoxSettingViewHolder.java @@ -1,13 +1,13 @@ -package org.citra.citra_emu.features.settings.ui.viewholder; +package org.yuzu.yuzu_emu.features.settings.ui.viewholder; import android.view.View; import android.widget.CheckBox; import android.widget.TextView; -import org.citra.citra_emu.R; -import org.citra.citra_emu.features.settings.model.view.CheckBoxSetting; -import org.citra.citra_emu.features.settings.model.view.SettingsItem; -import org.citra.citra_emu.features.settings.ui.SettingsAdapter; +import org.yuzu.yuzu_emu.R; +import org.yuzu.yuzu_emu.features.settings.model.view.CheckBoxSetting; +import org.yuzu.yuzu_emu.features.settings.model.view.SettingsItem; +import org.yuzu.yuzu_emu.features.settings.ui.SettingsAdapter; public final class CheckBoxSettingViewHolder extends SettingViewHolder { private CheckBoxSetting mItem; diff --git a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/viewholder/DateTimeViewHolder.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/viewholder/DateTimeViewHolder.java index 09ea93010e..60a65b71a8 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/viewholder/DateTimeViewHolder.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/viewholder/DateTimeViewHolder.java @@ -1,13 +1,13 @@ -package org.citra.citra_emu.features.settings.ui.viewholder; +package org.yuzu.yuzu_emu.features.settings.ui.viewholder; import android.view.View; import android.widget.TextView; -import org.citra.citra_emu.R; -import org.citra.citra_emu.features.settings.model.view.DateTimeSetting; -import org.citra.citra_emu.features.settings.model.view.SettingsItem; -import org.citra.citra_emu.features.settings.ui.SettingsAdapter; -import org.citra.citra_emu.utils.Log; +import org.yuzu.yuzu_emu.R; +import org.yuzu.yuzu_emu.features.settings.model.view.DateTimeSetting; +import org.yuzu.yuzu_emu.features.settings.model.view.SettingsItem; +import org.yuzu.yuzu_emu.features.settings.ui.SettingsAdapter; +import org.yuzu.yuzu_emu.utils.Log; public final class DateTimeViewHolder extends SettingViewHolder { private DateTimeSetting mItem; diff --git a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/viewholder/HeaderViewHolder.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/viewholder/HeaderViewHolder.java index baf80ed76d..afe0211496 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/viewholder/HeaderViewHolder.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/viewholder/HeaderViewHolder.java @@ -1,11 +1,11 @@ -package org.citra.citra_emu.features.settings.ui.viewholder; +package org.yuzu.yuzu_emu.features.settings.ui.viewholder; import android.view.View; import android.widget.TextView; -import org.citra.citra_emu.R; -import org.citra.citra_emu.features.settings.model.view.SettingsItem; -import org.citra.citra_emu.features.settings.ui.SettingsAdapter; +import org.yuzu.yuzu_emu.R; +import org.yuzu.yuzu_emu.features.settings.model.view.SettingsItem; +import org.yuzu.yuzu_emu.features.settings.ui.SettingsAdapter; public final class HeaderViewHolder extends SettingViewHolder { private TextView mHeaderName; diff --git a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/viewholder/InputBindingSettingViewHolder.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/viewholder/InputBindingSettingViewHolder.java index 7d95c250a1..6f8bef7d75 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/viewholder/InputBindingSettingViewHolder.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/viewholder/InputBindingSettingViewHolder.java @@ -1,4 +1,4 @@ -package org.citra.citra_emu.features.settings.ui.viewholder; +package org.yuzu.yuzu_emu.features.settings.ui.viewholder; import android.content.Context; import android.content.SharedPreferences; @@ -6,10 +6,10 @@ import android.preference.PreferenceManager; import android.view.View; import android.widget.TextView; -import org.citra.citra_emu.R; -import org.citra.citra_emu.features.settings.model.view.InputBindingSetting; -import org.citra.citra_emu.features.settings.model.view.SettingsItem; -import org.citra.citra_emu.features.settings.ui.SettingsAdapter; +import org.yuzu.yuzu_emu.R; +import org.yuzu.yuzu_emu.features.settings.model.view.InputBindingSetting; +import org.yuzu.yuzu_emu.features.settings.model.view.SettingsItem; +import org.yuzu.yuzu_emu.features.settings.ui.SettingsAdapter; public final class InputBindingSettingViewHolder extends SettingViewHolder { private InputBindingSetting mItem; diff --git a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/viewholder/PremiumViewHolder.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/viewholder/PremiumViewHolder.java index be0853ff0e..1f862b2815 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/viewholder/PremiumViewHolder.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/viewholder/PremiumViewHolder.java @@ -1,13 +1,13 @@ -package org.citra.citra_emu.features.settings.ui.viewholder; +package org.yuzu.yuzu_emu.features.settings.ui.viewholder; import android.view.View; import android.widget.TextView; -import org.citra.citra_emu.R; -import org.citra.citra_emu.features.settings.model.view.SettingsItem; -import org.citra.citra_emu.features.settings.ui.SettingsAdapter; -import org.citra.citra_emu.features.settings.ui.SettingsFragmentView; -import org.citra.citra_emu.ui.main.MainActivity; +import org.yuzu.yuzu_emu.R; +import org.yuzu.yuzu_emu.features.settings.model.view.SettingsItem; +import org.yuzu.yuzu_emu.features.settings.ui.SettingsAdapter; +import org.yuzu.yuzu_emu.features.settings.ui.SettingsFragmentView; +import org.yuzu.yuzu_emu.ui.main.MainActivity; public final class PremiumViewHolder extends SettingViewHolder { private TextView mHeaderName; diff --git a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/viewholder/SettingViewHolder.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/viewholder/SettingViewHolder.java index 2643ea1214..268b7c3865 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/viewholder/SettingViewHolder.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/viewholder/SettingViewHolder.java @@ -1,11 +1,11 @@ -package org.citra.citra_emu.features.settings.ui.viewholder; +package org.yuzu.yuzu_emu.features.settings.ui.viewholder; import android.view.View; import androidx.recyclerview.widget.RecyclerView; -import org.citra.citra_emu.features.settings.model.view.SettingsItem; -import org.citra.citra_emu.features.settings.ui.SettingsAdapter; +import org.yuzu.yuzu_emu.features.settings.model.view.SettingsItem; +import org.yuzu.yuzu_emu.features.settings.ui.SettingsAdapter; public abstract class SettingViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener { private SettingsAdapter mAdapter; diff --git a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/viewholder/SingleChoiceViewHolder.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/viewholder/SingleChoiceViewHolder.java index a175af9f83..e3766f55e5 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/viewholder/SingleChoiceViewHolder.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/viewholder/SingleChoiceViewHolder.java @@ -1,15 +1,15 @@ -package org.citra.citra_emu.features.settings.ui.viewholder; +package org.yuzu.yuzu_emu.features.settings.ui.viewholder; import android.content.res.Resources; import android.view.View; import android.widget.TextView; -import org.citra.citra_emu.R; -import org.citra.citra_emu.features.settings.model.view.PremiumSingleChoiceSetting; -import org.citra.citra_emu.features.settings.model.view.SettingsItem; -import org.citra.citra_emu.features.settings.model.view.SingleChoiceSetting; -import org.citra.citra_emu.features.settings.model.view.StringSingleChoiceSetting; -import org.citra.citra_emu.features.settings.ui.SettingsAdapter; +import org.yuzu.yuzu_emu.R; +import org.yuzu.yuzu_emu.features.settings.model.view.PremiumSingleChoiceSetting; +import org.yuzu.yuzu_emu.features.settings.model.view.SettingsItem; +import org.yuzu.yuzu_emu.features.settings.model.view.SingleChoiceSetting; +import org.yuzu.yuzu_emu.features.settings.model.view.StringSingleChoiceSetting; +import org.yuzu.yuzu_emu.features.settings.ui.SettingsAdapter; public final class SingleChoiceViewHolder extends SettingViewHolder { private SettingsItem mItem; diff --git a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/viewholder/SliderViewHolder.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/viewholder/SliderViewHolder.java index 3dd048a296..1f60a37ce4 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/viewholder/SliderViewHolder.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/viewholder/SliderViewHolder.java @@ -1,12 +1,12 @@ -package org.citra.citra_emu.features.settings.ui.viewholder; +package org.yuzu.yuzu_emu.features.settings.ui.viewholder; import android.view.View; import android.widget.TextView; -import org.citra.citra_emu.R; -import org.citra.citra_emu.features.settings.model.view.SettingsItem; -import org.citra.citra_emu.features.settings.model.view.SliderSetting; -import org.citra.citra_emu.features.settings.ui.SettingsAdapter; +import org.yuzu.yuzu_emu.R; +import org.yuzu.yuzu_emu.features.settings.model.view.SettingsItem; +import org.yuzu.yuzu_emu.features.settings.model.view.SliderSetting; +import org.yuzu.yuzu_emu.features.settings.ui.SettingsAdapter; public final class SliderViewHolder extends SettingViewHolder { private SliderSetting mItem; diff --git a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/viewholder/SubmenuViewHolder.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/viewholder/SubmenuViewHolder.java index cb8c3e92a7..1aca4723de 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/viewholder/SubmenuViewHolder.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/viewholder/SubmenuViewHolder.java @@ -1,12 +1,12 @@ -package org.citra.citra_emu.features.settings.ui.viewholder; +package org.yuzu.yuzu_emu.features.settings.ui.viewholder; import android.view.View; import android.widget.TextView; -import org.citra.citra_emu.R; -import org.citra.citra_emu.features.settings.model.view.SettingsItem; -import org.citra.citra_emu.features.settings.model.view.SubmenuSetting; -import org.citra.citra_emu.features.settings.ui.SettingsAdapter; +import org.yuzu.yuzu_emu.R; +import org.yuzu.yuzu_emu.features.settings.model.view.SettingsItem; +import org.yuzu.yuzu_emu.features.settings.model.view.SubmenuSetting; +import org.yuzu.yuzu_emu.features.settings.ui.SettingsAdapter; public final class SubmenuViewHolder extends SettingViewHolder { private SubmenuSetting mItem; diff --git a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/utils/SettingsFile.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/utils/SettingsFile.java index 8ae6b70d7f..9e58dedc24 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/utils/SettingsFile.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/utils/SettingsFile.java @@ -1,20 +1,20 @@ -package org.citra.citra_emu.features.settings.utils; +package org.yuzu.yuzu_emu.features.settings.utils; import androidx.annotation.NonNull; -import org.citra.citra_emu.CitraApplication; -import org.citra.citra_emu.NativeLibrary; -import org.citra.citra_emu.R; -import org.citra.citra_emu.features.settings.model.FloatSetting; -import org.citra.citra_emu.features.settings.model.IntSetting; -import org.citra.citra_emu.features.settings.model.Setting; -import org.citra.citra_emu.features.settings.model.SettingSection; -import org.citra.citra_emu.features.settings.model.Settings; -import org.citra.citra_emu.features.settings.model.StringSetting; -import org.citra.citra_emu.features.settings.ui.SettingsActivityView; -import org.citra.citra_emu.utils.BiMap; -import org.citra.citra_emu.utils.DirectoryInitialization; -import org.citra.citra_emu.utils.Log; +import org.yuzu.yuzu_emu.YuzuApplication; +import org.yuzu.yuzu_emu.NativeLibrary; +import org.yuzu.yuzu_emu.R; +import org.yuzu.yuzu_emu.features.settings.model.FloatSetting; +import org.yuzu.yuzu_emu.features.settings.model.IntSetting; +import org.yuzu.yuzu_emu.features.settings.model.Setting; +import org.yuzu.yuzu_emu.features.settings.model.SettingSection; +import org.yuzu.yuzu_emu.features.settings.model.Settings; +import org.yuzu.yuzu_emu.features.settings.model.StringSetting; +import org.yuzu.yuzu_emu.features.settings.ui.SettingsActivityView; +import org.yuzu.yuzu_emu.utils.BiMap; +import org.yuzu.yuzu_emu.utils.DirectoryInitialization; +import org.yuzu.yuzu_emu.utils.Log; import org.ini4j.Wini; import java.io.BufferedReader; @@ -164,11 +164,11 @@ public final class SettingsFile { } } } catch (FileNotFoundException e) { - Log.error("[SettingsFile] File not found: " + ini.getAbsolutePath() + e.getMessage()); + Log.error("[SettingsFile] File not found: " + e.getMessage()); if (view != null) view.onSettingsFileNotFound(); } catch (IOException e) { - Log.error("[SettingsFile] Error reading from: " + ini.getAbsolutePath() + e.getMessage()); + Log.error("[SettingsFile] Error reading from: " + e.getMessage()); if (view != null) view.onSettingsFileNotFound(); } finally { @@ -176,7 +176,7 @@ public final class SettingsFile { try { reader.close(); } catch (IOException e) { - Log.error("[SettingsFile] Error closing: " + ini.getAbsolutePath() + e.getMessage()); + Log.error("[SettingsFile] Error closing: " + e.getMessage()); } } } @@ -223,7 +223,7 @@ public final class SettingsFile { writer.store(); } catch (IOException e) { Log.error("[SettingsFile] File not found: " + fileName + ".ini: " + e.getMessage()); - view.showToastMessage(CitraApplication.getAppContext().getString(R.string.error_saving, fileName, e.getMessage()), false); + view.showToastMessage(YuzuApplication.getAppContext().getString(R.string.error_saving, fileName, e.getMessage()), false); } } diff --git a/src/android/app/src/main/java/org/citra/citra_emu/fragments/CustomFilePickerFragment.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/CustomFilePickerFragment.java index c18ecd4c3d..2658b14456 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/fragments/CustomFilePickerFragment.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/CustomFilePickerFragment.java @@ -1,4 +1,4 @@ -package org.citra.citra_emu.fragments; +package org.yuzu.yuzu_emu.fragments; import android.net.Uri; import android.os.Bundle; @@ -14,7 +14,7 @@ import androidx.core.content.FileProvider; import com.nononsenseapps.filepicker.FilePickerFragment; -import org.citra.citra_emu.R; +import org.yuzu.yuzu_emu.R; import java.io.File; import java.util.Arrays; diff --git a/src/android/app/src/main/java/org/citra/citra_emu/fragments/EmulationFragment.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/EmulationFragment.java index cdb40d6f85..b2083f8581 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/fragments/EmulationFragment.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/EmulationFragment.java @@ -1,4 +1,4 @@ -package org.citra.citra_emu.fragments; +package org.yuzu.yuzu_emu.fragments; import android.content.Context; import android.content.IntentFilter; @@ -22,15 +22,15 @@ import androidx.annotation.NonNull; import androidx.fragment.app.Fragment; import androidx.localbroadcastmanager.content.LocalBroadcastManager; -import org.citra.citra_emu.NativeLibrary; -import org.citra.citra_emu.R; -import org.citra.citra_emu.activities.EmulationActivity; -import org.citra.citra_emu.overlay.InputOverlay; -import org.citra.citra_emu.utils.DirectoryInitialization; -import org.citra.citra_emu.utils.DirectoryInitialization.DirectoryInitializationState; -import org.citra.citra_emu.utils.DirectoryStateReceiver; -import org.citra.citra_emu.utils.EmulationMenuSettings; -import org.citra.citra_emu.utils.Log; +import org.yuzu.yuzu_emu.NativeLibrary; +import org.yuzu.yuzu_emu.R; +import org.yuzu.yuzu_emu.activities.EmulationActivity; +import org.yuzu.yuzu_emu.overlay.InputOverlay; +import org.yuzu.yuzu_emu.utils.DirectoryInitialization; +import org.yuzu.yuzu_emu.utils.DirectoryInitialization.DirectoryInitializationState; +import org.yuzu.yuzu_emu.utils.DirectoryStateReceiver; +import org.yuzu.yuzu_emu.utils.EmulationMenuSettings; +import org.yuzu.yuzu_emu.utils.Log; public final class EmulationFragment extends Fragment implements SurfaceHolder.Callback, Choreographer.FrameCallback { private static final String KEY_GAMEPATH = "gamepath"; @@ -118,10 +118,10 @@ public final class EmulationFragment extends Fragment implements SurfaceHolder.C public void onResume() { super.onResume(); Choreographer.getInstance().postFrameCallback(this); - if (DirectoryInitialization.areCitraDirectoriesReady()) { + if (DirectoryInitialization.areDirectoriesReady()) { mEmulationState.run(activity.isActivityRecreated()); } else { - setupCitraDirectoriesThenStartEmulation(); + setupDirectoriesThenStartEmulation(); } } @@ -146,7 +146,7 @@ public final class EmulationFragment extends Fragment implements SurfaceHolder.C super.onDetach(); } - private void setupCitraDirectoriesThenStartEmulation() { + private void setupDirectoriesThenStartEmulation() { IntentFilter statusIntentFilter = new IntentFilter( DirectoryInitialization.BROADCAST_ACTION); @@ -154,7 +154,7 @@ public final class EmulationFragment extends Fragment implements SurfaceHolder.C new DirectoryStateReceiver(directoryInitializationState -> { if (directoryInitializationState == - DirectoryInitializationState.CITRA_DIRECTORIES_INITIALIZED) { + DirectoryInitializationState.YUZU_DIRECTORIES_INITIALIZED) { mEmulationState.run(activity.isActivityRecreated()); } else if (directoryInitializationState == DirectoryInitializationState.EXTERNAL_STORAGE_PERMISSION_NEEDED) { diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/MenuFragment.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/MenuFragment.java new file mode 100644 index 0000000000..5dc3f55459 --- /dev/null +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/MenuFragment.java @@ -0,0 +1,129 @@ +package org.yuzu.yuzu_emu.fragments; + +import android.content.pm.PackageManager; +import android.graphics.Rect; +import android.os.Bundle; +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 androidx.annotation.ColorInt; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.core.graphics.Insets; +import androidx.core.view.ViewCompat; +import androidx.core.view.WindowInsetsCompat; +import androidx.fragment.app.Fragment; + +import com.google.android.material.color.MaterialColors; +import com.google.android.material.elevation.ElevationOverlayProvider; + +import org.yuzu.yuzu_emu.R; +import org.yuzu.yuzu_emu.activities.EmulationActivity; + + +public final class MenuFragment extends Fragment implements View.OnClickListener +{ + private static final String KEY_TITLE = "title"; + private static final String KEY_WII = "wii"; + private static SparseIntArray buttonsActionsMap = new SparseIntArray(); + + private int mCutInset = 0; + + static + { + buttonsActionsMap.append(R.id.menu_exit, EmulationActivity.MENU_ACTION_EXIT); + } + + public static MenuFragment newInstance() + { + MenuFragment fragment = new MenuFragment(); + + Bundle arguments = new Bundle(); + fragment.setArguments(arguments); + + return fragment; + } + + // This is primarily intended to account for any navigation bar at the bottom of the screen + private int getBottomPaddingRequired() + { + Rect visibleFrame = new Rect(); + requireActivity().getWindow().getDecorView().getWindowVisibleDisplayFrame(visibleFrame); + return visibleFrame.bottom - visibleFrame.top - getResources().getDisplayMetrics().heightPixels; + } + + @NonNull + @Override + public View onCreateView(@NonNull 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); + +// mPauseEmulation = options.findViewById(R.id.menu_pause_emulation); +// mUnpauseEmulation = options.findViewById(R.id.menu_unpause_emulation); +// +// updatePauseUnpauseVisibility(); +// +// if (!requireActivity().getPackageManager().hasSystemFeature(PackageManager.FEATURE_TOUCHSCREEN)) +// { +// options.findViewById(R.id.menu_overlay_controls).setVisibility(View.GONE); +// } +// +// if (!getArguments().getBoolean(KEY_WII, true)) +// { +// options.findViewById(R.id.menu_refresh_wiimotes).setVisibility(View.GONE); +// } + + int bottomPaddingRequired = getBottomPaddingRequired(); + + // Provide a safe zone between the navigation bar and Exit Emulation to avoid accidental touches + float density = getResources().getDisplayMetrics().density; + if (bottomPaddingRequired >= 32 * density) + { + bottomPaddingRequired += 32 * density; + } + + if (bottomPaddingRequired > rootView.getPaddingBottom()) + { + rootView.setPadding(rootView.getPaddingLeft(), rootView.getPaddingTop(), + rootView.getPaddingRight(), bottomPaddingRequired); + } + + for (int childIndex = 0; childIndex < options.getChildCount(); childIndex++) + { + Button button = (Button) options.getChildAt(childIndex); + + button.setOnClickListener(this); + } + + rootView.findViewById(R.id.menu_exit).setOnClickListener(this); + +// mTitleText = rootView.findViewById(R.id.text_game_title); +// String title = getArguments().getString(KEY_TITLE, null); +// if (title != null) +// { +// mTitleText.setText(title); +// } + + if (getResources().getConfiguration().getLayoutDirection() == View.LAYOUT_DIRECTION_LTR) + { +// rootView.post(() -> NativeLibrary.SetObscuredPixelsLeft(rootView.getWidth())); + } + + return rootView; + } + + @Override + public void onClick(View button) + { + int action = buttonsActionsMap.get(button.getId()); + EmulationActivity activity = (EmulationActivity) requireActivity(); + activity.handleMenuAction(action); + } +} diff --git a/src/android/app/src/main/java/org/citra/citra_emu/model/Game.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/model/Game.java index a4ffc59c71..bc1b19bd1f 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/model/Game.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/model/Game.java @@ -1,4 +1,4 @@ -package org.citra.citra_emu.model; +package org.yuzu.yuzu_emu.model; import android.content.ContentValues; import android.database.Cursor; diff --git a/src/android/app/src/main/java/org/citra/citra_emu/model/GameDatabase.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/model/GameDatabase.java index 8232d0489e..ac5db1c360 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/model/GameDatabase.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/model/GameDatabase.java @@ -1,4 +1,4 @@ -package org.citra.citra_emu.model; +package org.yuzu.yuzu_emu.model; import android.content.ContentValues; import android.content.Context; @@ -6,8 +6,8 @@ import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; -import org.citra.citra_emu.NativeLibrary; -import org.citra.citra_emu.utils.Log; +import org.yuzu.yuzu_emu.NativeLibrary; +import org.yuzu.yuzu_emu.utils.Log; import java.io.File; import java.util.Arrays; diff --git a/src/android/app/src/main/java/org/citra/citra_emu/model/GameProvider.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/model/GameProvider.java index 33b289fc41..eff4b1e2d4 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/model/GameProvider.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/model/GameProvider.java @@ -1,4 +1,4 @@ -package org.citra.citra_emu.model; +package org.yuzu.yuzu_emu.model; import android.content.ContentProvider; import android.content.ContentValues; @@ -8,8 +8,8 @@ import android.net.Uri; import androidx.annotation.NonNull; -import org.citra.citra_emu.BuildConfig; -import org.citra.citra_emu.utils.Log; +import org.yuzu.yuzu_emu.BuildConfig; +import org.yuzu.yuzu_emu.utils.Log; /** * Provides an interface allowing Activities to interact with the SQLite database. diff --git a/src/android/app/src/main/java/org/citra/citra_emu/overlay/InputOverlay.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/overlay/InputOverlay.java index cdb2f76667..043a164ce3 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/overlay/InputOverlay.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/overlay/InputOverlay.java @@ -4,7 +4,7 @@ * Refer to the license.txt file included. */ -package org.citra.citra_emu.overlay; +package org.yuzu.yuzu_emu.overlay; import android.app.Activity; import android.content.Context; @@ -25,11 +25,11 @@ import android.view.SurfaceView; import android.view.View; import android.view.View.OnTouchListener; -import org.citra.citra_emu.NativeLibrary; -import org.citra.citra_emu.NativeLibrary.ButtonState; -import org.citra.citra_emu.NativeLibrary.ButtonType; -import org.citra.citra_emu.R; -import org.citra.citra_emu.utils.EmulationMenuSettings; +import org.yuzu.yuzu_emu.NativeLibrary; +import org.yuzu.yuzu_emu.NativeLibrary.ButtonState; +import org.yuzu.yuzu_emu.NativeLibrary.ButtonType; +import org.yuzu.yuzu_emu.R; +import org.yuzu.yuzu_emu.utils.EmulationMenuSettings; import java.util.HashSet; import java.util.Set; @@ -117,7 +117,7 @@ public final class InputOverlay extends SurfaceView implements OnTouchListener { * within a SharedPreferences instance so that those values can be retrieved here. * <p> * This has a few benefits over the conventional way of storing the values - * (ie. within the Citra ini file). + * (ie. within the yuzu ini file). * <ul> * <li>No native calls</li> * <li>Keeps Android-only values inside the Android environment</li> diff --git a/src/android/app/src/main/java/org/citra/citra_emu/overlay/InputOverlayDrawableButton.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/overlay/InputOverlayDrawableButton.java index 81352296c9..fe523c6c4d 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/overlay/InputOverlayDrawableButton.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/overlay/InputOverlayDrawableButton.java @@ -4,7 +4,7 @@ * Refer to the license.txt file included. */ -package org.citra.citra_emu.overlay; +package org.yuzu.yuzu_emu.overlay; import android.content.res.Resources; import android.graphics.Bitmap; diff --git a/src/android/app/src/main/java/org/citra/citra_emu/overlay/InputOverlayDrawableDpad.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/overlay/InputOverlayDrawableDpad.java index 87f3b7cd96..a14840d983 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/overlay/InputOverlayDrawableDpad.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/overlay/InputOverlayDrawableDpad.java @@ -4,7 +4,7 @@ * Refer to the license.txt file included. */ -package org.citra.citra_emu.overlay; +package org.yuzu.yuzu_emu.overlay; import android.content.res.Resources; import android.graphics.Bitmap; diff --git a/src/android/app/src/main/java/org/citra/citra_emu/overlay/InputOverlayDrawableJoystick.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/overlay/InputOverlayDrawableJoystick.java index 956a8b1e90..8757193119 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/overlay/InputOverlayDrawableJoystick.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/overlay/InputOverlayDrawableJoystick.java @@ -4,7 +4,7 @@ * Refer to the license.txt file included. */ -package org.citra.citra_emu.overlay; +package org.yuzu.yuzu_emu.overlay; import android.content.res.Resources; import android.graphics.Bitmap; @@ -13,8 +13,8 @@ import android.graphics.Rect; import android.graphics.drawable.BitmapDrawable; import android.view.MotionEvent; -import org.citra.citra_emu.NativeLibrary.ButtonType; -import org.citra.citra_emu.utils.EmulationMenuSettings; +import org.yuzu.yuzu_emu.NativeLibrary.ButtonType; +import org.yuzu.yuzu_emu.utils.EmulationMenuSettings; /** * Custom {@link BitmapDrawable} that is capable diff --git a/src/android/app/src/main/java/org/citra/citra_emu/ui/DividerItemDecoration.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/ui/DividerItemDecoration.java index 96ccc08bb6..f725382e63 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/ui/DividerItemDecoration.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/ui/DividerItemDecoration.java @@ -1,4 +1,4 @@ -package org.citra.citra_emu.ui; +package org.yuzu.yuzu_emu.ui; import android.content.Context; import android.content.res.TypedArray; diff --git a/src/android/app/src/main/java/org/citra/citra_emu/ui/TwoPaneOnBackPressedCallback.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/ui/TwoPaneOnBackPressedCallback.java index d07fe30d89..78e5f09659 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/ui/TwoPaneOnBackPressedCallback.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/ui/TwoPaneOnBackPressedCallback.java @@ -1,4 +1,4 @@ -package org.citra.citra_emu.ui; +package org.yuzu.yuzu_emu.ui; import android.view.View; diff --git a/src/android/app/src/main/java/org/citra/citra_emu/ui/main/MainActivity.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/ui/main/MainActivity.java index 4ba419a489..6558a05c96 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/ui/main/MainActivity.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/ui/main/MainActivity.java @@ -1,4 +1,4 @@ -package org.citra.citra_emu.ui.main; +package org.yuzu.yuzu_emu.ui.main; import android.content.Intent; import android.content.pm.PackageManager; @@ -12,19 +12,19 @@ import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.widget.Toolbar; -import org.citra.citra_emu.R; -import org.citra.citra_emu.activities.EmulationActivity; -import org.citra.citra_emu.features.settings.ui.SettingsActivity; -import org.citra.citra_emu.model.GameProvider; -import org.citra.citra_emu.ui.platform.PlatformGamesFragment; -import org.citra.citra_emu.utils.AddDirectoryHelper; -import org.citra.citra_emu.utils.BillingManager; -import org.citra.citra_emu.utils.DirectoryInitialization; -import org.citra.citra_emu.utils.FileBrowserHelper; -import org.citra.citra_emu.utils.PermissionsHandler; -import org.citra.citra_emu.utils.PicassoUtils; -import org.citra.citra_emu.utils.StartupHandler; -import org.citra.citra_emu.utils.ThemeUtil; +import org.yuzu.yuzu_emu.R; +import org.yuzu.yuzu_emu.activities.EmulationActivity; +import org.yuzu.yuzu_emu.features.settings.ui.SettingsActivity; +import org.yuzu.yuzu_emu.model.GameProvider; +import org.yuzu.yuzu_emu.ui.platform.PlatformGamesFragment; +import org.yuzu.yuzu_emu.utils.AddDirectoryHelper; +import org.yuzu.yuzu_emu.utils.BillingManager; +import org.yuzu.yuzu_emu.utils.DirectoryInitialization; +import org.yuzu.yuzu_emu.utils.FileBrowserHelper; +import org.yuzu.yuzu_emu.utils.PermissionsHandler; +import org.yuzu.yuzu_emu.utils.PicassoUtils; +import org.yuzu.yuzu_emu.utils.StartupHandler; +import org.yuzu.yuzu_emu.utils.ThemeUtil; import java.util.Arrays; import java.util.Collections; diff --git a/src/android/app/src/main/java/org/citra/citra_emu/ui/main/MainPresenter.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/ui/main/MainPresenter.java index 4e9994c2a4..2608df2c27 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/ui/main/MainPresenter.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/ui/main/MainPresenter.java @@ -1,14 +1,14 @@ -package org.citra.citra_emu.ui.main; +package org.yuzu.yuzu_emu.ui.main; import android.os.SystemClock; -import org.citra.citra_emu.BuildConfig; -import org.citra.citra_emu.CitraApplication; -import org.citra.citra_emu.R; -import org.citra.citra_emu.features.settings.model.Settings; -import org.citra.citra_emu.features.settings.utils.SettingsFile; -import org.citra.citra_emu.model.GameDatabase; -import org.citra.citra_emu.utils.AddDirectoryHelper; +import org.yuzu.yuzu_emu.BuildConfig; +import org.yuzu.yuzu_emu.YuzuApplication; +import org.yuzu.yuzu_emu.R; +import org.yuzu.yuzu_emu.features.settings.model.Settings; +import org.yuzu.yuzu_emu.features.settings.utils.SettingsFile; +import org.yuzu.yuzu_emu.model.GameDatabase; +import org.yuzu.yuzu_emu.utils.AddDirectoryHelper; public final class MainPresenter { public static final int REQUEST_ADD_DIRECTORY = 1; @@ -75,7 +75,7 @@ public final class MainPresenter { } public void refeshGameList() { - GameDatabase databaseHelper = CitraApplication.databaseHelper; + GameDatabase databaseHelper = YuzuApplication.databaseHelper; databaseHelper.scanLibrary(databaseHelper.getWritableDatabase()); mView.refresh(); } diff --git a/src/android/app/src/main/java/org/citra/citra_emu/ui/main/MainView.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/ui/main/MainView.java index de7c048759..c2ff086ee4 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/ui/main/MainView.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/ui/main/MainView.java @@ -1,4 +1,4 @@ -package org.citra.citra_emu.ui.main; +package org.yuzu.yuzu_emu.ui.main; /** * Abstraction for the screen that shows on application launch. diff --git a/src/android/app/src/main/java/org/citra/citra_emu/ui/platform/PlatformGamesFragment.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/ui/platform/PlatformGamesFragment.java index 9fc30796f1..6c327b1b8f 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/ui/platform/PlatformGamesFragment.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/ui/platform/PlatformGamesFragment.java @@ -1,4 +1,4 @@ -package org.citra.citra_emu.ui.platform; +package org.yuzu.yuzu_emu.ui.platform; import android.database.Cursor; import android.os.Bundle; @@ -13,10 +13,10 @@ import androidx.recyclerview.widget.GridLayoutManager; import androidx.recyclerview.widget.RecyclerView; import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; -import org.citra.citra_emu.CitraApplication; -import org.citra.citra_emu.R; -import org.citra.citra_emu.adapters.GameAdapter; -import org.citra.citra_emu.model.GameDatabase; +import org.yuzu.yuzu_emu.YuzuApplication; +import org.yuzu.yuzu_emu.R; +import org.yuzu.yuzu_emu.adapters.GameAdapter; +import org.yuzu.yuzu_emu.model.GameDatabase; public final class PlatformGamesFragment extends Fragment implements PlatformGamesView { private PlatformGamesPresenter mPresenter = new PlatformGamesPresenter(this); @@ -54,7 +54,7 @@ public final class PlatformGamesFragment extends Fragment implements PlatformGam // Add swipe down to refresh gesture final SwipeRefreshLayout pullToRefresh = view.findViewById(R.id.refresh_grid_games); pullToRefresh.setOnRefreshListener(() -> { - GameDatabase databaseHelper = CitraApplication.databaseHelper; + GameDatabase databaseHelper = YuzuApplication.databaseHelper; databaseHelper.scanLibrary(databaseHelper.getWritableDatabase()); refresh(); pullToRefresh.setRefreshing(false); diff --git a/src/android/app/src/main/java/org/citra/citra_emu/ui/platform/PlatformGamesPresenter.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/ui/platform/PlatformGamesPresenter.java index 9d8040e1be..effd4a7d1a 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/ui/platform/PlatformGamesPresenter.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/ui/platform/PlatformGamesPresenter.java @@ -1,9 +1,9 @@ -package org.citra.citra_emu.ui.platform; +package org.yuzu.yuzu_emu.ui.platform; -import org.citra.citra_emu.CitraApplication; -import org.citra.citra_emu.model.GameDatabase; -import org.citra.citra_emu.utils.Log; +import org.yuzu.yuzu_emu.YuzuApplication; +import org.yuzu.yuzu_emu.model.GameDatabase; +import org.yuzu.yuzu_emu.utils.Log; import rx.android.schedulers.AndroidSchedulers; import rx.schedulers.Schedulers; @@ -27,7 +27,7 @@ public final class PlatformGamesPresenter { private void loadGames() { Log.debug("[PlatformGamesPresenter] : Loading games..."); - GameDatabase databaseHelper = CitraApplication.databaseHelper; + GameDatabase databaseHelper = YuzuApplication.databaseHelper; databaseHelper.getGames() .subscribeOn(Schedulers.io()) diff --git a/src/android/app/src/main/java/org/citra/citra_emu/ui/platform/PlatformGamesView.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/ui/platform/PlatformGamesView.java index 4332121eb8..a4e3f1eeac 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/ui/platform/PlatformGamesView.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/ui/platform/PlatformGamesView.java @@ -1,4 +1,4 @@ -package org.citra.citra_emu.ui.platform; +package org.yuzu.yuzu_emu.ui.platform; import android.database.Cursor; diff --git a/src/android/app/src/main/java/org/citra/citra_emu/utils/Action1.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/Action1.java index 886846ec57..2d99138f79 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/utils/Action1.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/Action1.java @@ -1,4 +1,4 @@ -package org.citra.citra_emu.utils; +package org.yuzu.yuzu_emu.utils; public interface Action1<T> { void call(T t); diff --git a/src/android/app/src/main/java/org/citra/citra_emu/utils/AddDirectoryHelper.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/AddDirectoryHelper.java index 7578c353f8..2a90e75d82 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/utils/AddDirectoryHelper.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/AddDirectoryHelper.java @@ -1,12 +1,12 @@ -package org.citra.citra_emu.utils; +package org.yuzu.yuzu_emu.utils; import android.content.AsyncQueryHandler; import android.content.ContentValues; import android.content.Context; import android.net.Uri; -import org.citra.citra_emu.model.GameDatabase; -import org.citra.citra_emu.model.GameProvider; +import org.yuzu.yuzu_emu.model.GameDatabase; +import org.yuzu.yuzu_emu.model.GameProvider; public class AddDirectoryHelper { private Context mContext; diff --git a/src/android/app/src/main/java/org/citra/citra_emu/utils/BiMap.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/BiMap.java index dfbab17804..eaf25fa432 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/utils/BiMap.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/BiMap.java @@ -1,4 +1,4 @@ -package org.citra.citra_emu.utils; +package org.yuzu.yuzu_emu.utils; import java.util.HashMap; import java.util.Map; diff --git a/src/android/app/src/main/java/org/citra/citra_emu/utils/BillingManager.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/BillingManager.java index 5dc54c235e..3d6dd14815 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/utils/BillingManager.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/BillingManager.java @@ -1,4 +1,4 @@ -package org.citra.citra_emu.utils; +package org.yuzu.yuzu_emu.utils; import android.app.Activity; import android.content.SharedPreferences; @@ -17,16 +17,16 @@ import com.android.billingclient.api.PurchasesUpdatedListener; import com.android.billingclient.api.SkuDetails; import com.android.billingclient.api.SkuDetailsParams; -import org.citra.citra_emu.CitraApplication; -import org.citra.citra_emu.R; -import org.citra.citra_emu.features.settings.utils.SettingsFile; -import org.citra.citra_emu.ui.main.MainActivity; +import org.yuzu.yuzu_emu.YuzuApplication; +import org.yuzu.yuzu_emu.R; +import org.yuzu.yuzu_emu.features.settings.utils.SettingsFile; +import org.yuzu.yuzu_emu.ui.main.MainActivity; import java.util.ArrayList; import java.util.List; public class BillingManager implements PurchasesUpdatedListener { - private final String BILLING_SKU_PREMIUM = "citra.citra_emu.product_id.premium"; + private final String BILLING_SKU_PREMIUM = "yuzu.yuzu_emu.product_id.premium"; private final Activity mActivity; private BillingClient mBillingClient; @@ -35,7 +35,7 @@ public class BillingManager implements PurchasesUpdatedListener { private boolean mIsServiceConnected = false; private Runnable mUpdateBillingCallback; - private static SharedPreferences mPreferences = PreferenceManager.getDefaultSharedPreferences(CitraApplication.getAppContext()); + private static SharedPreferences mPreferences = PreferenceManager.getDefaultSharedPreferences(YuzuApplication.getAppContext()); public BillingManager(Activity activity) { mActivity = activity; diff --git a/src/android/app/src/main/java/org/citra/citra_emu/utils/ControllerMappingHelper.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/ControllerMappingHelper.java index f801a05f0f..92fa50edfb 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/utils/ControllerMappingHelper.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/ControllerMappingHelper.java @@ -1,4 +1,4 @@ -package org.citra.citra_emu.utils; +package org.yuzu.yuzu_emu.utils; import android.view.InputDevice; import android.view.KeyEvent; diff --git a/src/android/app/src/main/java/org/citra/citra_emu/utils/DirectoryInitialization.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/DirectoryInitialization.java index 58e552f5eb..bac52bb2af 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/utils/DirectoryInitialization.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/DirectoryInitialization.java @@ -4,7 +4,7 @@ * Refer to the license.txt file included. */ -package org.citra.citra_emu.utils; +package org.yuzu.yuzu_emu.utils; import android.content.Context; import android.content.Intent; @@ -14,7 +14,7 @@ import android.preference.PreferenceManager; import androidx.localbroadcastmanager.content.LocalBroadcastManager; -import org.citra.citra_emu.NativeLibrary; +import org.yuzu.yuzu_emu.NativeLibrary; import java.io.File; import java.io.FileOutputStream; @@ -25,15 +25,15 @@ import java.util.concurrent.atomic.AtomicBoolean; /** * A service that spawns its own thread in order to copy several binary and shader files - * from the Citra APK to the external file system. + * from the yuzu APK to the external file system. */ public final class DirectoryInitialization { - public static final String BROADCAST_ACTION = "org.citra.citra_emu.BROADCAST"; + public static final String BROADCAST_ACTION = "org.yuzu.yuzu_emu.BROADCAST"; public static final String EXTRA_STATE = "directoryState"; private static volatile DirectoryInitializationState directoryState = null; private static String userPath; - private static AtomicBoolean isCitraDirectoryInitializationRunning = new AtomicBoolean(false); + private static AtomicBoolean isDirectoryInitializationRunning = new AtomicBoolean(false); public static void start(Context context) { // Can take a few seconds to run, so don't block UI thread. @@ -42,15 +42,15 @@ public final class DirectoryInitialization { } private static void init(Context context) { - if (!isCitraDirectoryInitializationRunning.compareAndSet(false, true)) + if (!isDirectoryInitializationRunning.compareAndSet(false, true)) return; - if (directoryState != DirectoryInitializationState.CITRA_DIRECTORIES_INITIALIZED) { + if (directoryState != DirectoryInitializationState.YUZU_DIRECTORIES_INITIALIZED) { if (PermissionsHandler.hasWriteAccess(context)) { - if (setCitraUserDirectory()) { + if (setUserDirectory()) { initializeInternalStorage(context); NativeLibrary.CreateConfigFile(); - directoryState = DirectoryInitializationState.CITRA_DIRECTORIES_INITIALIZED; + directoryState = DirectoryInitializationState.YUZU_DIRECTORIES_INITIALIZED; } else { directoryState = DirectoryInitializationState.CANT_FIND_EXTERNAL_STORAGE; } @@ -59,7 +59,7 @@ public final class DirectoryInitialization { } } - isCitraDirectoryInitializationRunning.set(false); + isDirectoryInitializationRunning.set(false); sendBroadcastState(directoryState, context); } @@ -71,14 +71,14 @@ public final class DirectoryInitialization { file.delete(); } - public static boolean areCitraDirectoriesReady() { - return directoryState == DirectoryInitializationState.CITRA_DIRECTORIES_INITIALIZED; + public static boolean areDirectoriesReady() { + return directoryState == DirectoryInitializationState.YUZU_DIRECTORIES_INITIALIZED; } public static String getUserDirectory() { if (directoryState == null) { throw new IllegalStateException("DirectoryInitialization has to run at least once!"); - } else if (isCitraDirectoryInitializationRunning.get()) { + } else if (isDirectoryInitializationRunning.get()) { throw new IllegalStateException( "DirectoryInitialization has to finish running first!"); } @@ -87,11 +87,11 @@ public final class DirectoryInitialization { private static native void SetSysDirectory(String path); - private static boolean setCitraUserDirectory() { + private static boolean setUserDirectory() { if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) { File externalPath = Environment.getExternalStorageDirectory(); if (externalPath != null) { - userPath = externalPath.getAbsolutePath() + "/citra-emu"; + userPath = externalPath.getAbsolutePath() + "/yuzu-emu"; Log.debug("[DirectoryInitialization] User Dir: " + userPath); // NativeLibrary.SetUserDirectory(userPath); return true; @@ -109,7 +109,7 @@ public final class DirectoryInitialization { 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 Citra that might contain outdated files. Let's (re-)extract Sys. + // version of yuzu that might contain outdated files. Let's (re-)extract Sys. deleteDirectoryRecursively(sysDirectory); copyAssetFolder("Sys", sysDirectory, true, context); @@ -179,7 +179,7 @@ public final class DirectoryInitialization { } public enum DirectoryInitializationState { - CITRA_DIRECTORIES_INITIALIZED, + YUZU_DIRECTORIES_INITIALIZED, EXTERNAL_STORAGE_PERMISSION_NEEDED, CANT_FIND_EXTERNAL_STORAGE } diff --git a/src/android/app/src/main/java/org/citra/citra_emu/utils/DirectoryStateReceiver.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/DirectoryStateReceiver.java index 5d1e951ca1..62c9b018ad 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/utils/DirectoryStateReceiver.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/DirectoryStateReceiver.java @@ -1,10 +1,10 @@ -package org.citra.citra_emu.utils; +package org.yuzu.yuzu_emu.utils; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; -import org.citra.citra_emu.utils.DirectoryInitialization.DirectoryInitializationState; +import org.yuzu.yuzu_emu.utils.DirectoryInitialization.DirectoryInitializationState; public class DirectoryStateReceiver extends BroadcastReceiver { Action1<DirectoryInitializationState> callback; diff --git a/src/android/app/src/main/java/org/citra/citra_emu/utils/EmulationMenuSettings.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/EmulationMenuSettings.java index 9664f84647..0b11b9cc08 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/utils/EmulationMenuSettings.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/EmulationMenuSettings.java @@ -1,12 +1,12 @@ -package org.citra.citra_emu.utils; +package org.yuzu.yuzu_emu.utils; import android.content.SharedPreferences; import android.preference.PreferenceManager; -import org.citra.citra_emu.CitraApplication; +import org.yuzu.yuzu_emu.YuzuApplication; public class EmulationMenuSettings { - private static SharedPreferences mPreferences = PreferenceManager.getDefaultSharedPreferences(CitraApplication.getAppContext()); + private static SharedPreferences mPreferences = PreferenceManager.getDefaultSharedPreferences(YuzuApplication.getAppContext()); // These must match what is defined in src/core/settings.h public static final int LayoutOption_Default = 0; diff --git a/src/android/app/src/main/java/org/citra/citra_emu/utils/FileBrowserHelper.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/FileBrowserHelper.java index baf691f5c1..ad3ec3dc1d 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/utils/FileBrowserHelper.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/FileBrowserHelper.java @@ -1,4 +1,4 @@ -package org.citra.citra_emu.utils; +package org.yuzu.yuzu_emu.utils; import android.content.Intent; import android.net.Uri; @@ -10,7 +10,7 @@ import androidx.fragment.app.FragmentActivity; import com.nononsenseapps.filepicker.FilePickerActivity; import com.nononsenseapps.filepicker.Utils; -import org.citra.citra_emu.activities.CustomFilePickerActivity; +import org.yuzu.yuzu_emu.activities.CustomFilePickerActivity; import java.io.File; import java.util.List; diff --git a/src/android/app/src/main/java/org/citra/citra_emu/utils/FileUtil.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/FileUtil.java index f9025171b7..11d06c7ee1 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/utils/FileUtil.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/FileUtil.java @@ -1,4 +1,4 @@ -package org.citra.citra_emu.utils; +package org.yuzu.yuzu_emu.utils; import java.io.File; import java.io.FileInputStream; diff --git a/src/android/app/src/main/java/org/citra/citra_emu/utils/ForegroundService.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/ForegroundService.java index 31c4157793..8834c7bc50 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/utils/ForegroundService.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/ForegroundService.java @@ -4,7 +4,7 @@ * Refer to the license.txt file included. */ -package org.citra.citra_emu.utils; +package org.yuzu.yuzu_emu.utils; import android.app.PendingIntent; import android.app.Service; @@ -14,8 +14,8 @@ import android.os.IBinder; import androidx.core.app.NotificationCompat; import androidx.core.app.NotificationManagerCompat; -import org.citra.citra_emu.R; -import org.citra.citra_emu.activities.EmulationActivity; +import org.yuzu.yuzu_emu.R; +import org.yuzu.yuzu_emu.activities.EmulationActivity; /** * A service that shows a permanent notification in the background to avoid the app getting diff --git a/src/android/app/src/main/java/org/citra/citra_emu/utils/GameIconRequestHandler.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/GameIconRequestHandler.java index b790c24801..b75dc9a621 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/utils/GameIconRequestHandler.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/GameIconRequestHandler.java @@ -1,4 +1,4 @@ -package org.citra.citra_emu.utils; +package org.yuzu.yuzu_emu.utils; import android.graphics.Bitmap; @@ -6,7 +6,7 @@ import com.squareup.picasso.Picasso; import com.squareup.picasso.Request; import com.squareup.picasso.RequestHandler; -import org.citra.citra_emu.NativeLibrary; +import org.yuzu.yuzu_emu.NativeLibrary; import java.nio.IntBuffer; diff --git a/src/android/app/src/main/java/org/citra/citra_emu/utils/Log.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/Log.java index 070d01eb1a..ccf54138d6 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/utils/Log.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/Log.java @@ -1,6 +1,6 @@ -package org.citra.citra_emu.utils; +package org.yuzu.yuzu_emu.utils; -import org.citra.citra_emu.BuildConfig; +import org.yuzu.yuzu_emu.BuildConfig; /** * Contains methods that call through to {@link android.util.Log}, but @@ -8,7 +8,7 @@ import org.citra.citra_emu.BuildConfig; * levels in release builds. */ public final class Log { - private static final String TAG = "Citra Frontend"; + private static final String TAG = "Yuzu Frontend"; private Log() { } diff --git a/src/android/app/src/main/java/org/citra/citra_emu/utils/PermissionsHandler.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/PermissionsHandler.java index a29e23e8d9..2eb200da40 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/utils/PermissionsHandler.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/PermissionsHandler.java @@ -1,4 +1,4 @@ -package org.citra.citra_emu.utils; +package org.yuzu.yuzu_emu.utils; import android.annotation.TargetApi; import android.content.Context; diff --git a/src/android/app/src/main/java/org/citra/citra_emu/utils/PicassoRoundedCornersTransformation.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/PicassoRoundedCornersTransformation.java index 892b463877..03057b0d5a 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/utils/PicassoRoundedCornersTransformation.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/PicassoRoundedCornersTransformation.java @@ -1,4 +1,4 @@ -package org.citra.citra_emu.utils; +package org.yuzu.yuzu_emu.utils; import android.graphics.Bitmap; import android.graphics.BitmapShader; diff --git a/src/android/app/src/main/java/org/citra/citra_emu/utils/PicassoUtils.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/PicassoUtils.java index c997266857..5033691b38 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/utils/PicassoUtils.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/PicassoUtils.java @@ -1,4 +1,4 @@ -package org.citra.citra_emu.utils; +package org.yuzu.yuzu_emu.utils; import android.graphics.Bitmap; import android.net.Uri; @@ -6,8 +6,8 @@ import android.widget.ImageView; import com.squareup.picasso.Picasso; -import org.citra.citra_emu.CitraApplication; -import org.citra.citra_emu.R; +import org.yuzu.yuzu_emu.YuzuApplication; +import org.yuzu.yuzu_emu.R; import java.io.IOException; @@ -20,7 +20,7 @@ public class PicassoUtils { if (mPicassoInitialized) { return; } - Picasso picassoInstance = new Picasso.Builder(CitraApplication.getAppContext()) + Picasso picassoInstance = new Picasso.Builder(YuzuApplication.getAppContext()) .addRequestHandler(new GameIconRequestHandler()) .build(); diff --git a/src/android/app/src/main/java/org/citra/citra_emu/utils/StartupHandler.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/StartupHandler.java index 9112bf90ce..5d22e8e085 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/utils/StartupHandler.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/StartupHandler.java @@ -1,4 +1,4 @@ -package org.citra.citra_emu.utils; +package org.yuzu.yuzu_emu.utils; import android.content.Intent; import android.os.Bundle; @@ -7,8 +7,8 @@ import android.text.TextUtils; import androidx.appcompat.app.AlertDialog; import androidx.fragment.app.FragmentActivity; -import org.citra.citra_emu.R; -import org.citra.citra_emu.activities.EmulationActivity; +import org.yuzu.yuzu_emu.R; +import org.yuzu.yuzu_emu.activities.EmulationActivity; public final class StartupHandler { private static void handlePermissionsCheck(FragmentActivity parent) { diff --git a/src/android/app/src/main/java/org/citra/citra_emu/utils/ThemeUtil.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/ThemeUtil.java index 74ef3867f2..4e4d480399 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/utils/ThemeUtil.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/ThemeUtil.java @@ -1,4 +1,4 @@ -package org.citra.citra_emu.utils; +package org.yuzu.yuzu_emu.utils; import android.content.SharedPreferences; import android.os.Build; @@ -6,11 +6,11 @@ import android.preference.PreferenceManager; import androidx.appcompat.app.AppCompatDelegate; -import org.citra.citra_emu.CitraApplication; -import org.citra.citra_emu.features.settings.utils.SettingsFile; +import org.yuzu.yuzu_emu.YuzuApplication; +import org.yuzu.yuzu_emu.features.settings.utils.SettingsFile; public class ThemeUtil { - private static SharedPreferences mPreferences = PreferenceManager.getDefaultSharedPreferences(CitraApplication.getAppContext()); + private static SharedPreferences mPreferences = PreferenceManager.getDefaultSharedPreferences(YuzuApplication.getAppContext()); private static void applyTheme(int designValue) { switch (designValue) { diff --git a/src/android/app/src/main/java/org/citra/citra_emu/viewholders/GameViewHolder.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/viewholders/GameViewHolder.java index 50dbcbe183..2dc0f34f39 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/viewholders/GameViewHolder.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/viewholders/GameViewHolder.java @@ -1,4 +1,4 @@ -package org.citra.citra_emu.viewholders; +package org.yuzu.yuzu_emu.viewholders; import android.view.View; import android.widget.ImageView; @@ -6,7 +6,7 @@ import android.widget.TextView; import androidx.recyclerview.widget.RecyclerView; -import org.citra.citra_emu.R; +import org.yuzu.yuzu_emu.R; /** * A simple class that stores references to views so that the GameAdapter doesn't need to diff --git a/src/android/app/src/main/jni/native.cpp b/src/android/app/src/main/jni/native.cpp index b343a14532..f548931f12 100644 --- a/src/android/app/src/main/jni/native.cpp +++ b/src/android/app/src/main/jni/native.cpp @@ -110,7 +110,7 @@ static Core::SystemResultStatus RunEmulation(const std::string& filepath) { extern "C" { -void Java_org_citra_citra_1emu_NativeLibrary_SurfaceChanged(JNIEnv* env, +void Java_org_yuzu_yuzu_1emu_NativeLibrary_SurfaceChanged(JNIEnv* env, [[maybe_unused]] jclass clazz, jobject surf) { s_surf = ANativeWindow_fromSurface(env, surf); @@ -122,7 +122,7 @@ void Java_org_citra_citra_1emu_NativeLibrary_SurfaceChanged(JNIEnv* env, LOG_INFO(Frontend, "surface changed"); } -void Java_org_citra_citra_1emu_NativeLibrary_SurfaceDestroyed(JNIEnv* env, +void Java_org_yuzu_yuzu_1emu_NativeLibrary_SurfaceDestroyed(JNIEnv* env, [[maybe_unused]] jclass clazz) { ANativeWindow_release(s_surf); s_surf = nullptr; @@ -131,32 +131,32 @@ void Java_org_citra_citra_1emu_NativeLibrary_SurfaceDestroyed(JNIEnv* env, } } -void Java_org_citra_citra_1emu_NativeLibrary_DoFrame(JNIEnv* env, [[maybe_unused]] jclass clazz) {} +void Java_org_yuzu_yuzu_1emu_NativeLibrary_DoFrame(JNIEnv* env, [[maybe_unused]] jclass clazz) {} -void Java_org_citra_citra_1emu_NativeLibrary_NotifyOrientationChange(JNIEnv* env, +void Java_org_yuzu_yuzu_1emu_NativeLibrary_NotifyOrientationChange(JNIEnv* env, [[maybe_unused]] jclass clazz, jint layout_option, jint rotation) {} -void Java_org_citra_citra_1emu_NativeLibrary_SetUserDirectory( +void Java_org_yuzu_yuzu_1emu_NativeLibrary_SetUserDirectory( [[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, [[maybe_unused]] jstring j_directory) {} -void Java_org_citra_citra_1emu_NativeLibrary_UnPauseEmulation([[maybe_unused]] JNIEnv* env, +void Java_org_yuzu_yuzu_1emu_NativeLibrary_UnPauseEmulation([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz) {} -void Java_org_citra_citra_1emu_NativeLibrary_PauseEmulation([[maybe_unused]] JNIEnv* env, +void Java_org_yuzu_yuzu_1emu_NativeLibrary_PauseEmulation([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz) {} -void Java_org_citra_citra_1emu_NativeLibrary_StopEmulation([[maybe_unused]] JNIEnv* env, +void Java_org_yuzu_yuzu_1emu_NativeLibrary_StopEmulation([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz) {} -jboolean Java_org_citra_citra_1emu_NativeLibrary_IsRunning([[maybe_unused]] JNIEnv* env, +jboolean Java_org_yuzu_yuzu_1emu_NativeLibrary_IsRunning([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz) { return static_cast<jboolean>(!stop_run); } -jboolean Java_org_citra_citra_1emu_NativeLibrary_onGamePadEvent([[maybe_unused]] JNIEnv* env, +jboolean Java_org_yuzu_yuzu_1emu_NativeLibrary_onGamePadEvent([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, [[maybe_unused]] jstring j_device, jint j_button, jint action) { @@ -164,7 +164,7 @@ jboolean Java_org_citra_citra_1emu_NativeLibrary_onGamePadEvent([[maybe_unused]] return static_cast<jboolean>(true); } -jboolean Java_org_citra_citra_1emu_NativeLibrary_onGamePadMoveEvent([[maybe_unused]] JNIEnv* env, +jboolean Java_org_yuzu_yuzu_1emu_NativeLibrary_onGamePadMoveEvent([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jstring j_device, jint axis, jfloat x, jfloat y) { @@ -183,83 +183,83 @@ jboolean Java_org_citra_citra_1emu_NativeLibrary_onGamePadMoveEvent([[maybe_unus return static_cast<jboolean>(false); } -jboolean Java_org_citra_citra_1emu_NativeLibrary_onGamePadAxisEvent([[maybe_unused]] JNIEnv* env, +jboolean Java_org_yuzu_yuzu_1emu_NativeLibrary_onGamePadAxisEvent([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jstring j_device, jint axis_id, jfloat axis_val) { return {}; } -jboolean Java_org_citra_citra_1emu_NativeLibrary_onTouchEvent([[maybe_unused]] JNIEnv* env, +jboolean Java_org_yuzu_yuzu_1emu_NativeLibrary_onTouchEvent([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jfloat x, jfloat y, jboolean pressed) { return static_cast<jboolean>(emu_window->OnTouchEvent(x, y, pressed)); } -void Java_org_citra_citra_1emu_NativeLibrary_onTouchMoved([[maybe_unused]] JNIEnv* env, +void Java_org_yuzu_yuzu_1emu_NativeLibrary_onTouchMoved([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jfloat x, jfloat y) { emu_window->OnTouchMoved(x, y); } -jintArray Java_org_citra_citra_1emu_NativeLibrary_GetIcon([[maybe_unused]] JNIEnv* env, +jintArray Java_org_yuzu_yuzu_1emu_NativeLibrary_GetIcon([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, [[maybe_unused]] jstring j_file) { return {}; } -jstring Java_org_citra_citra_1emu_NativeLibrary_GetTitle([[maybe_unused]] JNIEnv* env, +jstring Java_org_yuzu_yuzu_1emu_NativeLibrary_GetTitle([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, [[maybe_unused]] jstring j_filename) { return env->NewStringUTF(""); } -jstring Java_org_citra_citra_1emu_NativeLibrary_GetDescription([[maybe_unused]] JNIEnv* env, +jstring Java_org_yuzu_yuzu_1emu_NativeLibrary_GetDescription([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jstring j_filename) { return j_filename; } -jstring Java_org_citra_citra_1emu_NativeLibrary_GetGameId([[maybe_unused]] JNIEnv* env, +jstring Java_org_yuzu_yuzu_1emu_NativeLibrary_GetGameId([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jstring j_filename) { return j_filename; } -jstring Java_org_citra_citra_1emu_NativeLibrary_GetRegions([[maybe_unused]] JNIEnv* env, +jstring Java_org_yuzu_yuzu_1emu_NativeLibrary_GetRegions([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, [[maybe_unused]] jstring j_filename) { return env->NewStringUTF(""); } -jstring Java_org_citra_citra_1emu_NativeLibrary_GetCompany([[maybe_unused]] JNIEnv* env, +jstring Java_org_yuzu_yuzu_1emu_NativeLibrary_GetCompany([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, [[maybe_unused]] jstring j_filename) { return env->NewStringUTF(""); } -jstring Java_org_citra_citra_1emu_NativeLibrary_GetGitRevision([[maybe_unused]] JNIEnv* env, +jstring Java_org_yuzu_yuzu_1emu_NativeLibrary_GetGitRevision([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz) { return {}; } -void Java_org_citra_citra_1emu_NativeLibrary_CreateConfigFile +void Java_org_yuzu_yuzu_1emu_NativeLibrary_CreateConfigFile [[maybe_unused]] (JNIEnv* env, [[maybe_unused]] jclass clazz) {} -jint Java_org_citra_citra_1emu_NativeLibrary_DefaultCPUCore([[maybe_unused]] JNIEnv* env, +jint Java_org_yuzu_yuzu_1emu_NativeLibrary_DefaultCPUCore([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz) { return {}; } -void Java_org_citra_citra_1emu_NativeLibrary_Run__Ljava_lang_String_2Ljava_lang_String_2Z( +void Java_org_yuzu_yuzu_1emu_NativeLibrary_Run__Ljava_lang_String_2Ljava_lang_String_2Z( [[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, [[maybe_unused]] jstring j_file, [[maybe_unused]] jstring j_savestate, [[maybe_unused]] jboolean j_delete_savestate) {} -void Java_org_citra_citra_1emu_NativeLibrary_ReloadSettings([[maybe_unused]] JNIEnv* env, +void Java_org_yuzu_yuzu_1emu_NativeLibrary_ReloadSettings([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz) {} -jstring Java_org_citra_citra_1emu_NativeLibrary_GetUserSetting([[maybe_unused]] JNIEnv* env, +jstring Java_org_yuzu_yuzu_1emu_NativeLibrary_GetUserSetting([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jstring j_game_id, jstring j_section, jstring j_key) { @@ -274,7 +274,7 @@ jstring Java_org_citra_citra_1emu_NativeLibrary_GetUserSetting([[maybe_unused]] return env->NewStringUTF(""); } -void Java_org_citra_citra_1emu_NativeLibrary_SetUserSetting([[maybe_unused]] JNIEnv* env, +void Java_org_yuzu_yuzu_1emu_NativeLibrary_SetUserSetting([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jstring j_game_id, jstring j_section, jstring j_key, jstring j_value) { @@ -289,7 +289,7 @@ void Java_org_citra_citra_1emu_NativeLibrary_SetUserSetting([[maybe_unused]] JNI env->ReleaseStringUTFChars(j_value, value.data()); } -void Java_org_citra_citra_1emu_NativeLibrary_InitGameIni([[maybe_unused]] JNIEnv* env, +void Java_org_yuzu_yuzu_1emu_NativeLibrary_InitGameIni([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jstring j_game_id) { std::string_view game_id = env->GetStringUTFChars(j_game_id, 0); @@ -297,7 +297,7 @@ void Java_org_citra_citra_1emu_NativeLibrary_InitGameIni([[maybe_unused]] JNIEnv env->ReleaseStringUTFChars(j_game_id, game_id.data()); } -jdoubleArray Java_org_citra_citra_1emu_NativeLibrary_GetPerfStats([[maybe_unused]] JNIEnv* env, +jdoubleArray Java_org_yuzu_yuzu_1emu_NativeLibrary_GetPerfStats([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz) { jdoubleArray j_stats = env->NewDoubleArray(4); @@ -314,10 +314,10 @@ jdoubleArray Java_org_citra_citra_1emu_NativeLibrary_GetPerfStats([[maybe_unused return j_stats; } -void Java_org_citra_citra_1emu_utils_DirectoryInitialization_SetSysDirectory( +void Java_org_yuzu_yuzu_1emu_utils_DirectoryInitialization_SetSysDirectory( [[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jstring j_path) {} -void Java_org_citra_citra_1emu_NativeLibrary_Run__Ljava_lang_String_2([[maybe_unused]] JNIEnv* env, +void Java_org_yuzu_yuzu_1emu_NativeLibrary_Run__Ljava_lang_String_2([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jstring j_path) { const std::string path = GetJString(env, j_path); @@ -333,7 +333,7 @@ void Java_org_citra_citra_1emu_NativeLibrary_Run__Ljava_lang_String_2([[maybe_un } } -void Java_org_citra_citra_1emu_NativeLibrary_LogDeviceInfo([[maybe_unused]] JNIEnv* env, +void Java_org_yuzu_yuzu_1emu_NativeLibrary_LogDeviceInfo([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz) { LOG_INFO(Frontend, "yuzu Version: {}-{}", Common::g_scm_branch, Common::g_scm_desc); LOG_INFO(Frontend, "Host OS: Android API level {}", android_get_device_api_level()); diff --git a/src/android/app/src/main/jni/native.h b/src/android/app/src/main/jni/native.h index 16c90e215d..3b23f380b7 100644 --- a/src/android/app/src/main/jni/native.h +++ b/src/android/app/src/main/jni/native.h @@ -7,119 +7,119 @@ extern "C" { #endif -JNIEXPORT void JNICALL Java_org_citra_citra_1emu_NativeLibrary_UnPauseEmulation(JNIEnv* env, +JNIEXPORT void JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_UnPauseEmulation(JNIEnv* env, jclass clazz); -JNIEXPORT void JNICALL Java_org_citra_citra_1emu_NativeLibrary_PauseEmulation(JNIEnv* env, +JNIEXPORT void JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_PauseEmulation(JNIEnv* env, jclass clazz); -JNIEXPORT void JNICALL Java_org_citra_citra_1emu_NativeLibrary_StopEmulation(JNIEnv* env, +JNIEXPORT void JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_StopEmulation(JNIEnv* env, jclass clazz); -JNIEXPORT jboolean JNICALL Java_org_citra_citra_1emu_NativeLibrary_IsRunning(JNIEnv* env, +JNIEXPORT jboolean JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_IsRunning(JNIEnv* env, jclass clazz); -JNIEXPORT jboolean JNICALL Java_org_citra_citra_1emu_NativeLibrary_onGamePadEvent( +JNIEXPORT jboolean JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_onGamePadEvent( JNIEnv* env, jclass clazz, jstring j_device, jint j_button, jint action); -JNIEXPORT jboolean JNICALL Java_org_citra_citra_1emu_NativeLibrary_onGamePadMoveEvent( +JNIEXPORT jboolean JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_onGamePadMoveEvent( JNIEnv* env, jclass clazz, jstring j_device, jint axis, jfloat x, jfloat y); -JNIEXPORT jboolean JNICALL Java_org_citra_citra_1emu_NativeLibrary_onGamePadAxisEvent( +JNIEXPORT jboolean JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_onGamePadAxisEvent( JNIEnv* env, jclass clazz, jstring j_device, jint axis_id, jfloat axis_val); -JNIEXPORT jboolean JNICALL Java_org_citra_citra_1emu_NativeLibrary_onTouchEvent(JNIEnv* env, +JNIEXPORT jboolean JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_onTouchEvent(JNIEnv* env, jclass clazz, jfloat x, jfloat y, jboolean pressed); -JNIEXPORT void JNICALL Java_org_citra_citra_1emu_NativeLibrary_onTouchMoved(JNIEnv* env, +JNIEXPORT void JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_onTouchMoved(JNIEnv* env, jclass clazz, jfloat x, jfloat y); -JNIEXPORT jintArray JNICALL Java_org_citra_citra_1emu_NativeLibrary_GetIcon(JNIEnv* env, +JNIEXPORT jintArray JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_GetIcon(JNIEnv* env, jclass clazz, jstring j_file); -JNIEXPORT jstring JNICALL Java_org_citra_citra_1emu_NativeLibrary_GetTitle(JNIEnv* env, +JNIEXPORT jstring JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_GetTitle(JNIEnv* env, jclass clazz, jstring j_filename); -JNIEXPORT jstring JNICALL Java_org_citra_citra_1emu_NativeLibrary_GetDescription( +JNIEXPORT jstring JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_GetDescription( JNIEnv* env, jclass clazz, jstring j_filename); -JNIEXPORT jstring JNICALL Java_org_citra_citra_1emu_NativeLibrary_GetGameId(JNIEnv* env, +JNIEXPORT jstring JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_GetGameId(JNIEnv* env, jclass clazz, jstring j_filename); -JNIEXPORT jstring JNICALL Java_org_citra_citra_1emu_NativeLibrary_GetRegions(JNIEnv* env, +JNIEXPORT jstring JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_GetRegions(JNIEnv* env, jclass clazz, jstring j_filename); -JNIEXPORT jstring JNICALL Java_org_citra_citra_1emu_NativeLibrary_GetCompany(JNIEnv* env, +JNIEXPORT jstring JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_GetCompany(JNIEnv* env, jclass clazz, jstring j_filename); -JNIEXPORT jstring JNICALL Java_org_citra_citra_1emu_NativeLibrary_GetGitRevision(JNIEnv* env, +JNIEXPORT jstring JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_GetGitRevision(JNIEnv* env, jclass clazz); -JNIEXPORT void JNICALL Java_org_citra_citra_1emu_NativeLibrary_SetUserDirectory( +JNIEXPORT void JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_SetUserDirectory( JNIEnv* env, jclass clazz, jstring j_directory); -JNIEXPORT void JNICALL Java_org_citra_citra_1emu_utils_DirectoryInitialization_SetSysDirectory( +JNIEXPORT void JNICALL Java_org_yuzu_yuzu_1emu_utils_DirectoryInitialization_SetSysDirectory( JNIEnv* env, jclass clazz, jstring path_); -JNIEXPORT void JNICALL Java_org_citra_citra_1emu_NativeLibrary_SetSysDirectory(JNIEnv* env, +JNIEXPORT void JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_SetSysDirectory(JNIEnv* env, jclass clazz, jstring path); -JNIEXPORT void JNICALL Java_org_citra_citra_1emu_NativeLibrary_CreateConfigFile(JNIEnv* env, +JNIEXPORT void JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_CreateConfigFile(JNIEnv* env, jclass clazz); -JNIEXPORT jint JNICALL Java_org_citra_citra_1emu_NativeLibrary_DefaultCPUCore(JNIEnv* env, +JNIEXPORT jint JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_DefaultCPUCore(JNIEnv* env, jclass clazz); -JNIEXPORT void JNICALL Java_org_citra_citra_1emu_NativeLibrary_SetProfiling(JNIEnv* env, +JNIEXPORT void JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_SetProfiling(JNIEnv* env, jclass clazz, jboolean enable); -JNIEXPORT void JNICALL Java_org_citra_citra_1emu_NativeLibrary_WriteProfileResults(JNIEnv* env, +JNIEXPORT void JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_WriteProfileResults(JNIEnv* env, jclass clazz); -JNIEXPORT void JNICALL Java_org_citra_citra_1emu_NativeLibrary_NotifyOrientationChange( +JNIEXPORT void JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_NotifyOrientationChange( JNIEnv* env, jclass clazz, jint layout_option, jint rotation); -JNIEXPORT void JNICALL Java_org_citra_citra_1emu_NativeLibrary_Run__Ljava_lang_String_2( +JNIEXPORT void JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_Run__Ljava_lang_String_2( JNIEnv* env, jclass clazz, jstring j_path); JNIEXPORT void JNICALL -Java_org_citra_citra_1emu_NativeLibrary_Run__Ljava_lang_String_2Ljava_lang_String_2Z( +Java_org_yuzu_yuzu_1emu_NativeLibrary_Run__Ljava_lang_String_2Ljava_lang_String_2Z( JNIEnv* env, jclass clazz, jstring j_file, jstring j_savestate, jboolean j_delete_savestate); -JNIEXPORT void JNICALL Java_org_citra_citra_1emu_NativeLibrary_SurfaceChanged(JNIEnv* env, +JNIEXPORT void JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_SurfaceChanged(JNIEnv* env, jclass clazz, jobject surf); -JNIEXPORT void JNICALL Java_org_citra_citra_1emu_NativeLibrary_SurfaceDestroyed(JNIEnv* env, +JNIEXPORT void JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_SurfaceDestroyed(JNIEnv* env, jclass clazz); -JNIEXPORT void JNICALL Java_org_citra_citra_1emu_NativeLibrary_InitGameIni(JNIEnv* env, +JNIEXPORT void JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_InitGameIni(JNIEnv* env, jclass clazz, jstring j_game_id); -JNIEXPORT void JNICALL Java_org_citra_citra_1emu_NativeLibrary_ReloadSettings(JNIEnv* env, +JNIEXPORT void JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_ReloadSettings(JNIEnv* env, jclass clazz); -JNIEXPORT void JNICALL Java_org_citra_citra_1emu_NativeLibrary_SetUserSetting( +JNIEXPORT void JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_SetUserSetting( JNIEnv* env, jclass clazz, jstring j_game_id, jstring j_section, jstring j_key, jstring j_value); -JNIEXPORT jstring JNICALL Java_org_citra_citra_1emu_NativeLibrary_GetUserSetting( +JNIEXPORT jstring JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_GetUserSetting( JNIEnv* env, jclass clazz, jstring game_id, jstring section, jstring key); -JNIEXPORT jdoubleArray JNICALL Java_org_citra_citra_1emu_NativeLibrary_GetPerfStats(JNIEnv* env, +JNIEXPORT jdoubleArray JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_GetPerfStats(JNIEnv* env, jclass clazz); -JNIEXPORT void JNICALL Java_org_citra_citra_1emu_NativeLibrary_LogDeviceInfo(JNIEnv* env, +JNIEXPORT void JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_LogDeviceInfo(JNIEnv* env, jclass clazz); #ifdef __cplusplus diff --git a/src/android/app/src/main/res/animator/menu_slide_in_from_end.xml b/src/android/app/src/main/res/animator/menu_slide_in_from_end.xml new file mode 100644 index 0000000000..3f1495c757 --- /dev/null +++ b/src/android/app/src/main/res/animator/menu_slide_in_from_end.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="utf-8"?> +<set xmlns:android="http://schemas.android.com/apk/res/android"> + + <objectAnimator + android:propertyName="translationX" + android:valueType="floatType" + android:valueFrom="1280dp" + android:valueTo="0" + android:interpolator="@android:interpolator/decelerate_quad" + android:duration="300"/> + + <objectAnimator + android:propertyName="alpha" + android:valueType="floatType" + android:valueFrom="0" + android:valueTo="1" + android:interpolator="@android:interpolator/accelerate_quad" + android:duration="300"/> + +</set>
\ No newline at end of file diff --git a/src/android/app/src/main/res/animator/menu_slide_in_from_start.xml b/src/android/app/src/main/res/animator/menu_slide_in_from_start.xml new file mode 100644 index 0000000000..4612aee134 --- /dev/null +++ b/src/android/app/src/main/res/animator/menu_slide_in_from_start.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="utf-8"?> +<set xmlns:android="http://schemas.android.com/apk/res/android"> + + <objectAnimator + android:propertyName="translationX" + android:valueType="floatType" + android:valueFrom="-1280dp" + android:valueTo="0" + android:interpolator="@android:interpolator/decelerate_quad" + android:duration="300"/> + + <objectAnimator + android:propertyName="alpha" + android:valueType="floatType" + android:valueFrom="0" + android:valueTo="1" + android:interpolator="@android:interpolator/accelerate_quad" + android:duration="300"/> + +</set>
\ No newline at end of file diff --git a/src/android/app/src/main/res/animator/menu_slide_out_to_end.xml b/src/android/app/src/main/res/animator/menu_slide_out_to_end.xml new file mode 100644 index 0000000000..d650237d6f --- /dev/null +++ b/src/android/app/src/main/res/animator/menu_slide_out_to_end.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<set xmlns:android="http://schemas.android.com/apk/res/android"> + + <!-- This animation is used ONLY when a submenu is replaced. --> + <objectAnimator + android:propertyName="translationX" + android:valueType="floatType" + android:valueFrom="0" + android:valueTo="1280dp" + android:interpolator="@android:interpolator/decelerate_quad" + android:duration="200"/> + + <objectAnimator + android:propertyName="alpha" + android:valueType="floatType" + android:valueFrom="1" + android:valueTo="0" + android:interpolator="@android:interpolator/decelerate_quad" + android:duration="200"/> + +</set> diff --git a/src/android/app/src/main/res/animator/menu_slide_out_to_start.xml b/src/android/app/src/main/res/animator/menu_slide_out_to_start.xml new file mode 100644 index 0000000000..c004789466 --- /dev/null +++ b/src/android/app/src/main/res/animator/menu_slide_out_to_start.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<set xmlns:android="http://schemas.android.com/apk/res/android"> + + <!-- This animation is used ONLY when a submenu is replaced. --> + <objectAnimator + android:propertyName="translationX" + android:valueType="floatType" + android:valueFrom="0" + android:valueTo="-1280dp" + android:interpolator="@android:interpolator/decelerate_quad" + android:duration="200"/> + + <objectAnimator + android:propertyName="alpha" + android:valueType="floatType" + android:valueFrom="1" + android:valueTo="0" + android:interpolator="@android:interpolator/decelerate_quad" + android:duration="200"/> + +</set>
\ No newline at end of file diff --git a/src/android/app/src/main/res/layout-ldrtl/list_item_cheat.xml b/src/android/app/src/main/res/layout-ldrtl/list_item_cheat.xml deleted file mode 100644 index 9bcf883e16..0000000000 --- a/src/android/app/src/main/res/layout-ldrtl/list_item_cheat.xml +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<androidx.constraintlayout.widget.ConstraintLayout - xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:app="http://schemas.android.com/apk/res-auto" - xmlns:tools="http://schemas.android.com/tools" - android:id="@+id/root" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:focusable="true" - android:nextFocusLeft="@id/checkbox"> - - <TextView - android:id="@+id/text_name" - android:layout_width="0dp" - android:layout_height="wrap_content" - android:textColor="@color/header_text" - android:textSize="16sp" - android:layout_margin="@dimen/spacing_large" - style="@style/TextAppearance.AppCompat.Headline" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toStartOf="@id/checkbox" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - tools:text="Max Lives after losing 1" /> - - <CheckBox - android:id="@+id/checkbox" - android:layout_width="48dp" - android:layout_height="64dp" - android:focusable="true" - android:gravity="center" - android:nextFocusRight="@id/root" - app:layout_constraintBottom_toBottomOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintStart_toEndOf="@id/text_name" - app:layout_constraintTop_toTopOf="parent" /> - -</androidx.constraintlayout.widget.ConstraintLayout> diff --git a/src/android/app/src/main/res/layout/activity_cheats.xml b/src/android/app/src/main/res/layout/activity_cheats.xml deleted file mode 100644 index b9414ab6de..0000000000 --- a/src/android/app/src/main/res/layout/activity_cheats.xml +++ /dev/null @@ -1,22 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<androidx.slidingpanelayout.widget.SlidingPaneLayout - xmlns:android="http://schemas.android.com/apk/res/android" - android:id="@+id/sliding_pane_layout" - android:layout_width="match_parent" - android:layout_height="match_parent"> - - <androidx.fragment.app.FragmentContainerView - android:layout_width="320dp" - android:layout_height="match_parent" - android:layout_weight="1" - android:id="@+id/cheat_list" - android:name="org.citra.citra_emu.features.cheats.ui.CheatListFragment" /> - - <androidx.fragment.app.FragmentContainerView - android:layout_width="320dp" - android:layout_height="match_parent" - android:layout_weight="1" - android:id="@+id/cheat_details" - android:name="org.citra.citra_emu.features.cheats.ui.CheatDetailsFragment" /> - -</androidx.slidingpanelayout.widget.SlidingPaneLayout> diff --git a/src/android/app/src/main/res/layout/activity_emulation.xml b/src/android/app/src/main/res/layout/activity_emulation.xml index 7d7f369254..debc26e6cc 100644 --- a/src/android/app/src/main/res/layout/activity_emulation.xml +++ b/src/android/app/src/main/res/layout/activity_emulation.xml @@ -1,17 +1,32 @@ <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:id="@+id/frame_content" - android:layout_width="match_parent" - android:layout_height="match_parent"> + android:layout_width="match_parent" + android:layout_height="match_parent" + android:keepScreenOn="true" + xmlns:tools="http://schemas.android.com/tools" + android:id="@+id/frame_content"> <FrameLayout android:id="@+id/frame_emulation_fragment" android:layout_width="match_parent" - android:layout_height="match_parent" /> + android:layout_height="match_parent"/> - <ImageView - android:id="@+id/image_icon" + <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" - android:transitionName="image_game_icon" /> + android:orientation="horizontal" + android:baselineAligned="false"> -</FrameLayout>
\ No newline at end of file + <FrameLayout + android:id="@+id/frame_menu" + android:layout_width="@dimen/menu_width" + android:layout_height="match_parent" + tools:layout="@layout/fragment_ingame_menu"/> + + <FrameLayout + android:id="@+id/frame_submenu" + android:layout_width="match_parent" + android:layout_height="match_parent"/> + + </LinearLayout> + +</FrameLayout> diff --git a/src/android/app/src/main/res/layout/fragment_cheat_details.xml b/src/android/app/src/main/res/layout/fragment_cheat_details.xml deleted file mode 100644 index 25b1a268a6..0000000000 --- a/src/android/app/src/main/res/layout/fragment_cheat_details.xml +++ /dev/null @@ -1,163 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<androidx.constraintlayout.widget.ConstraintLayout - xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:app="http://schemas.android.com/apk/res-auto" - xmlns:tools="http://schemas.android.com/tools" - android:id="@+id/root" - android:layout_width="match_parent" - android:layout_height="match_parent"> - - <ScrollView - android:id="@+id/scroll_view" - android:layout_width="match_parent" - android:layout_height="0dp" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toTopOf="@id/barrier"> - - <androidx.constraintlayout.widget.ConstraintLayout - android:layout_width="match_parent" - android:layout_height="wrap_content"> - - <TextView - android:id="@+id/label_name" - android:layout_width="match_parent" - android:layout_height="wrap_content" - style="@style/TextAppearance.MaterialComponents.Headline5" - android:textSize="18sp" - android:text="@string/cheats_name" - android:layout_margin="@dimen/spacing_large" - android:labelFor="@id/edit_name" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toTopOf="@id/edit_name" /> - - <EditText - android:id="@+id/edit_name" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:minHeight="48dp" - android:layout_marginHorizontal="@dimen/spacing_large" - android:importantForAutofill="no" - android:inputType="text" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toBottomOf="@id/label_name" - app:layout_constraintBottom_toTopOf="@id/label_notes" - tools:text="Max Lives after losing 1" /> - - <TextView - android:id="@+id/label_notes" - android:layout_width="match_parent" - android:layout_height="wrap_content" - style="@style/TextAppearance.MaterialComponents.Headline5" - android:textSize="18sp" - android:text="@string/cheats_notes" - android:layout_margin="@dimen/spacing_large" - android:labelFor="@id/edit_notes" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toBottomOf="@id/edit_name" - app:layout_constraintBottom_toTopOf="@id/edit_notes" /> - - <EditText - android:id="@+id/edit_notes" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:minHeight="48dp" - android:layout_marginHorizontal="@dimen/spacing_large" - android:importantForAutofill="no" - android:inputType="textMultiLine" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toBottomOf="@id/label_notes" - app:layout_constraintBottom_toTopOf="@id/label_code" /> - - <TextView - android:id="@+id/label_code" - android:layout_width="match_parent" - android:layout_height="wrap_content" - style="@style/TextAppearance.MaterialComponents.Headline5" - android:textSize="18sp" - android:text="@string/cheats_code" - android:layout_margin="@dimen/spacing_large" - android:labelFor="@id/edit_code" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toBottomOf="@id/edit_notes" - app:layout_constraintBottom_toTopOf="@id/edit_code" /> - - <EditText - android:id="@+id/edit_code" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:minHeight="108sp" - android:layout_marginHorizontal="@dimen/spacing_large" - android:importantForAutofill="no" - android:inputType="textMultiLine" - android:typeface="monospace" - android:gravity="start" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toBottomOf="@id/label_code" - app:layout_constraintBottom_toBottomOf="parent" - tools:text="D3000000 00000000\n00138C78 E1C023BE" /> - - </androidx.constraintlayout.widget.ConstraintLayout> - - </ScrollView> - - <androidx.constraintlayout.widget.Barrier - android:id="@+id/barrier" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - app:barrierDirection="top" - app:constraint_referenced_ids="button_delete,button_edit,button_cancel,button_ok" /> - - <Button - android:id="@+id/button_delete" - android:layout_width="0dp" - android:layout_height="wrap_content" - android:layout_margin="@dimen/spacing_large" - android:text="@string/cheats_delete" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toStartOf="@id/button_edit" - app:layout_constraintTop_toBottomOf="@id/barrier" - app:layout_constraintBottom_toBottomOf="parent" /> - - <Button - android:id="@+id/button_edit" - android:layout_width="0dp" - android:layout_height="wrap_content" - android:layout_margin="@dimen/spacing_large" - android:text="@string/cheats_edit" - app:layout_constraintStart_toEndOf="@id/button_delete" - app:layout_constraintEnd_toStartOf="@id/button_cancel" - app:layout_constraintTop_toBottomOf="@id/barrier" - app:layout_constraintBottom_toBottomOf="parent" /> - - <Button - android:id="@+id/button_cancel" - android:layout_width="0dp" - android:layout_height="wrap_content" - android:layout_margin="@dimen/spacing_large" - android:text="@android:string/cancel" - app:layout_constraintStart_toEndOf="@id/button_edit" - app:layout_constraintEnd_toStartOf="@id/button_ok" - app:layout_constraintTop_toBottomOf="@id/barrier" - app:layout_constraintBottom_toBottomOf="parent" /> - - <Button - android:id="@+id/button_ok" - android:layout_width="0dp" - android:layout_height="wrap_content" - android:layout_margin="@dimen/spacing_large" - android:text="@android:string/ok" - app:layout_constraintStart_toEndOf="@id/button_cancel" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toBottomOf="@id/barrier" - app:layout_constraintBottom_toBottomOf="parent" /> - -</androidx.constraintlayout.widget.ConstraintLayout> diff --git a/src/android/app/src/main/res/layout/fragment_cheat_list.xml b/src/android/app/src/main/res/layout/fragment_cheat_list.xml deleted file mode 100644 index 679a49c282..0000000000 --- a/src/android/app/src/main/res/layout/fragment_cheat_list.xml +++ /dev/null @@ -1,27 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<androidx.constraintlayout.widget.ConstraintLayout - xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:app="http://schemas.android.com/apk/res-auto" - android:layout_width="match_parent" - android:layout_height="match_parent"> - - <androidx.recyclerview.widget.RecyclerView - android:id="@+id/cheat_list" - android:layout_width="match_parent" - android:layout_height="0dp" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" /> - - <com.google.android.material.floatingactionbutton.FloatingActionButton - android:id="@+id/fab" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:src="@drawable/ic_add" - android:contentDescription="@string/cheats_add" - android:layout_margin="16dp" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintBottom_toBottomOf="parent" /> - -</androidx.constraintlayout.widget.ConstraintLayout> diff --git a/src/android/app/src/main/res/layout/fragment_emulation.xml b/src/android/app/src/main/res/layout/fragment_emulation.xml index d6e47e1e48..828c5efc4e 100644 --- a/src/android/app/src/main/res/layout/fragment_emulation.xml +++ b/src/android/app/src/main/res/layout/fragment_emulation.xml @@ -3,7 +3,7 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:keepScreenOn="true" - tools:context="org.citra.citra_emu.fragments.EmulationFragment"> + tools:context="org.yuzu.yuzu_emu.fragments.EmulationFragment"> <!-- This is what everything is rendered to during emulation --> <SurfaceView @@ -14,7 +14,7 @@ android:focusableInTouchMode="false" /> <!-- This is the onscreen input overlay --> - <org.citra.citra_emu.overlay.InputOverlay + <org.yuzu.yuzu_emu.overlay.InputOverlay android:id="@+id/surface_input_overlay" android:layout_height="match_parent" android:layout_width="match_parent" @@ -45,3 +45,4 @@ android:visibility="gone" /> </FrameLayout> +t> diff --git a/src/android/app/src/main/res/layout/fragment_ingame_menu.xml b/src/android/app/src/main/res/layout/fragment_ingame_menu.xml new file mode 100644 index 0000000000..ce618ef7b4 --- /dev/null +++ b/src/android/app/src/main/res/layout/fragment_ingame_menu.xml @@ -0,0 +1,56 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout + xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:tools="http://schemas.android.com/tools" + android:orientation="vertical" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:background="?attr/colorSurface" + android:elevation="3dp" + tools:layout_width="250dp"> + + <TextView + android:id="@+id/text_game_title" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginHorizontal="32dp" + android:layout_marginVertical="24dp" + android:ellipsize="end" + android:letterSpacing="0" + android:maxLines="@integer/game_title_lines" + android:textSize="20sp" + android:textColor="?attr/colorOnSurface" + tools:text="The Legend of Zelda: Breath of the Wild" /> + + <com.google.android.material.divider.MaterialDivider + android:id="@+id/divider" + android:layout_width="match_parent" + android:layout_height="wrap_content" /> + + <ScrollView + android:layout_width="match_parent" + android:layout_height="0dp" + android:layout_weight="1" + android:scrollbarSize="4dp" + android:fadeScrollbars="false"> + + <LinearLayout + android:id="@+id/layout_options" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="vertical" /> + + </ScrollView> + + <com.google.android.material.divider.MaterialDivider + android:id="@+id/divider_2" + android:layout_width="match_parent" + android:layout_height="wrap_content" /> + + <Button + android:id="@+id/menu_exit" + style="@style/InGameMenuOption" + android:layout_marginTop="@dimen/spacing_large" + android:text="@string/emulation_exit" /> + +</LinearLayout>
\ No newline at end of file diff --git a/src/android/app/src/main/res/layout/fragment_settings.xml b/src/android/app/src/main/res/layout/fragment_settings.xml index 4c5d597c17..b44e77297c 100644 --- a/src/android/app/src/main/res/layout/fragment_settings.xml +++ b/src/android/app/src/main/res/layout/fragment_settings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<org.citra.citra_emu.features.settings.ui.SettingsFrameLayout xmlns:android="http://schemas.android.com/apk/res/android" +<org.yuzu.yuzu_emu.features.settings.ui.SettingsFrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> @@ -7,6 +7,6 @@ android:id="@+id/list_settings" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="@color/card_view_background" /> + android:background="@color/view_background" /> -</org.citra.citra_emu.features.settings.ui.SettingsFrameLayout>
\ No newline at end of file +</org.yuzu.yuzu_emu.features.settings.ui.SettingsFrameLayout>
\ No newline at end of file diff --git a/src/android/app/src/main/res/layout/list_item_cheat.xml b/src/android/app/src/main/res/layout/list_item_cheat.xml deleted file mode 100644 index c0b5f982f8..0000000000 --- a/src/android/app/src/main/res/layout/list_item_cheat.xml +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<androidx.constraintlayout.widget.ConstraintLayout - xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:app="http://schemas.android.com/apk/res-auto" - xmlns:tools="http://schemas.android.com/tools" - android:id="@+id/root" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:focusable="true" - android:nextFocusRight="@id/checkbox"> - - <TextView - android:id="@+id/text_name" - android:layout_width="0dp" - android:layout_height="wrap_content" - android:textColor="@color/header_text" - android:textSize="16sp" - android:layout_margin="@dimen/spacing_large" - style="@style/TextAppearance.AppCompat.Headline" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toStartOf="@id/checkbox" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - tools:text="Max Lives after losing 1" /> - - <CheckBox - android:id="@+id/checkbox" - android:layout_width="48dp" - android:layout_height="64dp" - android:focusable="true" - android:gravity="center" - android:nextFocusLeft="@id/root" - app:layout_constraintBottom_toBottomOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintStart_toEndOf="@id/text_name" - app:layout_constraintTop_toTopOf="parent" /> - -</androidx.constraintlayout.widget.ConstraintLayout> diff --git a/src/android/app/src/main/res/menu/menu_emulation.xml b/src/android/app/src/main/res/menu/menu_emulation.xml deleted file mode 100644 index b6c0d7cc46..0000000000 --- a/src/android/app/src/main/res/menu/menu_emulation.xml +++ /dev/null @@ -1,118 +0,0 @@ -<menu xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:tools="http://schemas.android.com/tools" - xmlns:app="http://schemas.android.com/apk/res-auto" - tools:context="org.citra.citra_emu.activities.EmulationActivity"> - - <item - android:id="@+id/menu_emulation_save_state" - android:title="@string/emulation_save_state"> - <menu/> - </item> - - <item - android:id="@+id/menu_emulation_load_state" - android:title="@string/emulation_load_state"> - <menu/> - </item> - - <item - android:id="@+id/menu_emulation_configure_controls" - android:title="@string/emulation_configure_controls"> - <menu> - <item - android:id="@+id/menu_emulation_edit_layout" - android:title="@string/emulation_edit_layout" /> - - <item - android:id="@+id/menu_emulation_toggle_controls" - android:title="@string/emulation_toggle_controls" /> - - <item - android:id="@+id/menu_emulation_adjust_scale" - android:title="@string/emulation_control_scale" /> - - <group android:checkableBehavior="all"> - <item - android:id="@+id/menu_emulation_joystick_rel_center" - android:checkable="true" - android:title="@string/emulation_control_joystick_rel_center"/> - <item - android:id="@+id/menu_emulation_dpad_slide_enable" - android:checkable="true" - android:title="@string/emulation_control_dpad_slide_enable" /> - </group> - - <item - android:id="@+id/menu_emulation_reset_overlay" - android:title="@string/emulation_touch_overlay_reset" /> - </menu> - </item> - - <item - android:id="@+id/menu_emulation_amiibo" - android:title="@string/menu_emulation_amiibo"> - <menu> - <item - android:id="@+id/menu_emulation_amiibo_load" - android:title="@string/menu_emulation_amiibo_load" /> - - <item - android:id="@+id/menu_emulation_amiibo_remove" - android:title="@string/menu_emulation_amiibo_remove" /> - </menu> - </item> - - <item - android:id="@+id/menu_emulation_switch_screen_layout" - app:showAsAction="never" - android:title="@string/emulation_switch_screen_layout"> - <menu> - <group android:checkableBehavior="single"> - <item - android:id="@+id/menu_screen_layout_landscape" - android:title="@string/emulation_screen_layout_landscape" /> - - <item - android:id="@+id/menu_screen_layout_portrait" - android:title="@string/emulation_screen_layout_portrait" /> - - <item - android:id="@+id/menu_screen_layout_single" - android:title="@string/emulation_screen_layout_single" /> - - <item - android:id="@+id/menu_screen_layout_sidebyside" - android:title="@string/emulation_screen_layout_sidebyside" /> - </group> - </menu> - </item> - - <item - android:id="@+id/menu_emulation_swap_screens" - app:showAsAction="never" - android:title="@string/emulation_swap_screens" - android:checkable="true" /> - - <item - android:id="@+id/menu_emulation_show_fps" - app:showAsAction="never" - android:title="@string/emulation_show_fps" - android:checkable="true" /> - - <item - android:id="@+id/menu_emulation_show_overlay" - app:showAsAction="never" - android:title="@string/emulation_show_overlay" - android:checkable="true" /> - - <item - android:id="@+id/menu_emulation_open_cheats" - app:showAsAction="never" - android:title="@string/emulation_open_cheats" /> - - <item - android:id="@+id/menu_emulation_open_settings" - app:showAsAction="never" - android:title="@string/emulation_open_settings" /> - -</menu> diff --git a/src/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/src/android/app/src/main/res/mipmap-hdpi/ic_launcher.png Binary files differindex 57ea32d88e..3a9dbf35b9 100644 --- a/src/android/app/src/main/res/mipmap-hdpi/ic_launcher.png +++ b/src/android/app/src/main/res/mipmap-hdpi/ic_launcher.png diff --git a/src/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png b/src/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png Binary files differindex 18cc694d16..da4f4fda67 100644 --- a/src/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png +++ b/src/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png diff --git a/src/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/src/android/app/src/main/res/mipmap-mdpi/ic_launcher.png Binary files differindex 7052f40772..e7ab1ffcca 100644 --- a/src/android/app/src/main/res/mipmap-mdpi/ic_launcher.png +++ b/src/android/app/src/main/res/mipmap-mdpi/ic_launcher.png diff --git a/src/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png b/src/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png Binary files differindex 0e7cdeed61..68e6acda3d 100644 --- a/src/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png +++ b/src/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png diff --git a/src/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/src/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png Binary files differindex 4d3e9fc411..1a4fa7a084 100644 --- a/src/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png +++ b/src/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png diff --git a/src/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png b/src/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png Binary files differindex b57a8d6232..665e61c1b2 100644 --- a/src/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png +++ b/src/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png diff --git a/src/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/src/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png Binary files differindex d2c6d0692f..62fc776344 100644 --- a/src/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png +++ b/src/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png diff --git a/src/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png b/src/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png Binary files differindex 22f6eb36fe..efbf7184db 100644 --- a/src/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png +++ b/src/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png diff --git a/src/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/src/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png Binary files differindex 1aa7f3ae28..1349d1065b 100644 --- a/src/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png +++ b/src/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/src/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png b/src/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png Binary files differindex b57c8f75bc..18cce2c929 100644 --- a/src/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png +++ b/src/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png diff --git a/src/android/app/src/main/res/values-night/colors.xml b/src/android/app/src/main/res/values-night/colors.xml index 43b9480216..d71d2acb2c 100644 --- a/src/android/app/src/main/res/values-night/colors.xml +++ b/src/android/app/src/main/res/values-night/colors.xml @@ -5,13 +5,14 @@ <color name="citra_orange_dark">#121212</color> <color name="citra_accent">#FEC303</color> - <color name="card_view_background">#121212</color> - <color name="card_view_disabled">#3D3D3D</color> + <color name="view_background">#121212</color> + <color name="view_disabled">#3D3D3D</color> + <color name="view_text">#FF0000</color> <color name="gamelist_divider">#404040</color> <color name="header_text">#E0E0E0</color> <color name="header_subtext">#A0A0A0</color> - <color name="citra_logo_text_color">@color/citra_accent</color> + <color name="yuzu_logo_text_color">@color/citra_accent</color> </resources> diff --git a/src/android/app/src/main/res/values/colors.xml b/src/android/app/src/main/res/values/colors.xml index 6668288a70..8db6626c1d 100644 --- a/src/android/app/src/main/res/values/colors.xml +++ b/src/android/app/src/main/res/values/colors.xml @@ -5,13 +5,14 @@ <color name="citra_orange_dark">#FF8D03</color> <color name="citra_accent">#CC7102</color> - <color name="card_view_background">#ffffff</color> - <color name="card_view_disabled">#D5D5D5</color> + <color name="view_background">#ffffff</color> + <color name="view_disabled">#D5D5D5</color> + <color name="view_text">#FF0000</color> <color name="gamelist_divider">#ffffff</color> <color name="header_text">#1C1424</color> <color name="header_subtext">#5C5661</color> - <color name="citra_logo_text_color">@color/header_text</color> + <color name="yuzu_logo_text_color">@color/header_text</color> </resources> diff --git a/src/android/app/src/main/res/values/dimens.xml b/src/android/app/src/main/res/values/dimens.xml index b3d186d888..a3bb0c2c57 100644 --- a/src/android/app/src/main/res/values/dimens.xml +++ b/src/android/app/src/main/res/values/dimens.xml @@ -1,10 +1,13 @@ <resources> - <!-- Default screen margins, per the Android Design guidelines. --> - <dimen name="activity_horizontal_margin">16dp</dimen> - <dimen name="spacing_small">4dp</dimen> <dimen name="spacing_medlarge">12dp</dimen> <dimen name="spacing_large">16dp</dimen> + <dimen name="spacing_xtralarge">32dp</dimen> + <dimen name="spacing_list">64dp</dimen> + <dimen name="spacing_fab">72dp</dimen> + <dimen name="menu_width">256dp</dimen> + <dimen name="card_width">135dp</dimen> <dimen name="dialog_margin">20dp</dimen> + <dimen name="elevated_app_bar">3dp</dimen> </resources> diff --git a/src/android/app/src/main/res/values/integers.xml b/src/android/app/src/main/res/values/integers.xml index 9f6d8492ed..5cb9e4d145 100644 --- a/src/android/app/src/main/res/values/integers.xml +++ b/src/android/app/src/main/res/values/integers.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <resources> + <integer name="game_title_lines">2</integer> <integer name="game_grid_columns">1</integer> <!-- Default N3DS landscape layout --> diff --git a/src/android/app/src/main/res/values/strings.xml b/src/android/app/src/main/res/values/strings.xml index 85422e8495..58d80398f0 100644 --- a/src/android/app/src/main/res/values/strings.xml +++ b/src/android/app/src/main/res/values/strings.xml @@ -3,7 +3,7 @@ <!-- General application strings --> <string name="app_name" translatable="false">yuzu</string> - <string name="app_disclaimer">This software will run games for the Nintendo 3DS handheld game console. No game titles are included.\n\nBefore you run, please place your rightfully owned 3DS game files onto your device storage.</string> + <string name="app_disclaimer">This software will run games for the Nintendo Switch game console. No game titles are included.\n\nBefore you run, please place your rightfully owned Switch game files onto your device storage.</string> <string name="app_notification_channel_name" translatable="false">yuzu</string> <string name="app_notification_channel_id" translatable="false">yuzu</string> <string name="app_notification_channel_description">yuzu Switch emulator notifications</string> @@ -44,7 +44,7 @@ <string name="cpu_jit">Enable CPU JIT</string> <string name="cpu_jit_description">Uses the Just-in-Time (JIT) compiler for CPU emulation. When enabled, game performance will be significantly improved.</string> <string name="init_clock">System clock type</string> - <string name="init_clock_description">Set the emulated 3DS clock to either reflect that of your device or start at a simulated date and time.</string> + <string name="init_clock_description">Set the emulated Console clock to either reflect that of your device or start at a simulated date and time.</string> <!-- System settings strings --> <string name="init_time">System clock starting time override</string> @@ -52,19 +52,6 @@ <string name="emulated_region">Emulated region</string> <string name="emulated_language">Emulated language</string> - <!-- Camera settings strings --> - <string name="inner_camera">Inner Camera</string> - <string name="outer_left_camera">Outer Left Camera</string> - <string name="outer_right_camera">Outer Right Camera</string> - <string name="image_source">Image Source</string> - <string name="image_source_description">Sets the image source of the virtual camera. You can use an image file, or a device camera when supported.</string> - <string name="camera_device">Camera Device</string> - <string name="camera_device_description">If the \"Image Source\" setting is set to \"Device Camera\", this sets the physical camera to use.</string> - <string name="camera_facing_front">Front</string> - <string name="camera_facing_back">Back</string> - <string name="camera_facing_external">External</string> - <string name="image_flip">Image Flip</string> - <!-- Graphics settings strings --> <string name="renderer">Renderer</string> <string name="vsync">Enable V-Sync</string> @@ -153,36 +140,13 @@ <string name="loader_error_invalid_format">Invalid ROM format</string> <!-- Emulation Menu --> - <string name="emulation_save_state">Save State</string> - <string name="emulation_load_state">Load State</string> - <string name="emulation_empty_state_slot">Slot %1$d</string> - <string name="emulation_occupied_state_slot">Slot %1$d - %2$tF %2$tR</string> - <string name="emulation_show_fps">Show FPS</string> - <string name="emulation_configure_controls">Configure Controls</string> - <string name="emulation_edit_layout">Edit Layout</string> + <string name="emulation_exit">Exit Emulation</string> <string name="emulation_done">Done</string> <string name="emulation_toggle_controls">Toggle Controls</string> <string name="emulation_control_scale">Adjust Scale</string> - <string name="emulation_control_joystick_rel_center">Relative Stick Center</string> - <string name="emulation_control_dpad_slide_enable">Enable D-Pad Sliding</string> - <string name="emulation_open_settings">Open Settings</string> - <string name="emulation_open_cheats">Open Cheats</string> - <string name="emulation_switch_screen_layout">Landscape Screen Layout</string> - <string name="emulation_screen_layout_landscape">Default</string> - <string name="emulation_screen_layout_portrait">Portrait</string> - <string name="emulation_screen_layout_single">Single Screen</string> - <string name="emulation_screen_layout_sidebyside">Side by Side Screens</string> <string name="emulation_swap_screens">Swap Screens</string> <string name="emulation_touch_overlay_reset">Reset Overlay</string> - <string name="emulation_show_overlay">Show Overlay</string> - <string name="emulation_close_game">Close Game</string> <string name="emulation_close_game_message">Are you sure that you would like to close the current game?</string> - <string name="menu_emulation_amiibo">Amiibo</string> - <string name="menu_emulation_amiibo_load">Load</string> - <string name="menu_emulation_amiibo_remove">Remove</string> - <string name="select_amiibo">Select Amiibo file</string> - <string name="amiibo_load_error">Error loading Amiibo</string> - <string name="amiibo_load_error_message">While loading the specified Amiibo file, an error occurred. Please check that the file is correct.</string> <string name="write_permission_needed">You need to allow write access to external storage for the emulator to work</string> <string name="load_settings">Loading Settings...</string> @@ -193,8 +157,6 @@ <string name="empty_gamelist">No files were found or no game directory has been selected yet.</string> <string name="do_not_show_this_again">Do not show this again</string> - <string name="savestate_warning_title">Savestates</string> - <string name="savestate_warning_message">Warning: Savestates are NOT a replacement for in-game saves, and are not meant to be reliable.\n\nUse at your own risk!</string> <!-- Software Keyboard --> <string name="software_keyboard">Software Keyboard</string> @@ -204,19 +166,6 @@ <string name="blank_input_not_allowed">Blank input is not allowed</string> <string name="empty_input_not_allowed">Empty input is not allowed</string> - <!-- Mii Selector --> - <string name="mii_selector">Mii Selector</string> - <string name="standard_mii">Standard Mii</string> - - <!-- Camera --> - <string name="camera_select_image">Select Image</string> - <string name="camera">Camera</string> - <string name="camera_permission_needed">yuzu needs to access your camera to emulate the 3DS\'s cameras.\n\nAlternatively, you can also set \"Image Source\" to \"Still Image\" in Camera Settings.</string> - - <!-- Microphone --> - <string name="microphone">Microphone</string> - <string name="microphone_permission_needed">yuzu needs to access your microphone to emulate the 3DS\'s microphone.\n\nAlternatively, you can also change \"Audio Input Device\" in Audio Settings.</string> - <!-- Core Errors --> <string name="abort_button">Abort</string> <string name="continue_button">Continue</string> @@ -226,21 +175,4 @@ <string name="save_load_error">Save/Load Error</string> <string name="fatal_error">Fatal Error</string> <string name="fatal_error_message">A fatal error occurred. Check the log for details.\nContinuing emulation may result in crashes and bugs.</string> - - <!-- Disk shader cache --> - <string name="preparing_shaders">Preparing shaders</string> - <string name="building_shaders">Building shaders</string> - - <!-- Cheats --> - <string name="cheats">Cheats</string> - <string name="cheats_add">Add Cheat</string> - <string name="cheats_name">Name</string> - <string name="cheats_notes">Notes</string> - <string name="cheats_code">Code</string> - <string name="cheats_edit">Edit</string> - <string name="cheats_delete">Delete</string> - <string name="cheats_delete_confirmation">Are you sure you want to delete \"%1$s\"?</string> - <string name="cheats_error_no_name">Name can\'t be empty</string> - <string name="cheats_error_no_code_lines">Code can\'t be empty</string> - <string name="cheats_error_on_line">Error on line %1$d</string> </resources> diff --git a/src/android/app/src/main/res/values/styles.xml b/src/android/app/src/main/res/values/styles.xml index 47fe6f6ea0..62f24bad3c 100644 --- a/src/android/app/src/main/res/values/styles.xml +++ b/src/android/app/src/main/res/values/styles.xml @@ -1,16 +1,29 @@ <?xml version="1.0" encoding="utf-8"?> <resources> + <!-- Custom button styles --> + <style name="InGameMenuOption" parent="Widget.Material3.Button.TextButton"> + <item name="android:layout_width">match_parent</item> + <item name="android:layout_height">48dp</item> + <item name="android:textColor">@android:color/black</item> + <item name="android:textSize">16sp</item> + <item name="android:fontFamily">sans-serif-condensed</item> + <item name="android:gravity">center_vertical|left</item> + <item name="android:paddingLeft">32dp</item> + <item name="android:paddingRight">32dp</item> + </style> <!-- Inherit from the material theme --> - <style name="CitraBase" parent="Theme.AppCompat.DayNight.NoActionBar"> + <style name="YuzuBase" parent="Theme.AppCompat.DayNight.NoActionBar"> <!-- Main theme colors --> + <item name="colorSurface">@color/view_background</item> + <item name="colorOnSurface">@color/view_text</item> <!-- Branding color for the app bar --> <item name="colorPrimary">@color/citra_orange</item> <!-- Darker variant for the status bar and contextual app bars --> <item name="colorPrimaryDark">@color/citra_orange_dark</item> <item name="colorAccent">@color/citra_accent</item> - <item name="titleTextColor">@color/citra_logo_text_color</item> + <item name="titleTextColor">@color/yuzu_logo_text_color</item> <!-- Enable window content transitions --> <item name="android:windowContentTransitions">true</item> @@ -21,20 +34,26 @@ </style> <!-- Same as above, but use default action bar, and mandate margins. --> - <style name="CitraSettingsBase" parent="Theme.AppCompat.DayNight"> + <style name="YuzuSettingsBase" parent="Theme.AppCompat.DayNight"> + <item name="colorSurface">@color/view_background</item> + <item name="colorOnSurface">@color/view_text</item> <item name="colorPrimary">@color/citra_orange</item> <item name="colorPrimaryDark">@color/citra_orange_dark</item> <item name="colorAccent">@color/citra_accent</item> </style> <!-- Inherit from the Base Citra Dialog Theme --> - <style name="CitraEmulationBase" parent="Theme.AppCompat.DayNight"> + <style name="YuzuEmulationBase" parent="Theme.AppCompat.DayNight"> + <item name="colorSurface">@color/view_background</item> + <item name="colorOnSurface">@color/view_text</item> <item name="colorPrimary">@color/citra_orange</item> <item name="colorPrimaryDark">@color/citra_orange_dark</item> <item name="colorAccent">@color/citra_accent</item> <item name="android:windowTranslucentNavigation">true</item> - <item name="android:windowBackground">@android:color/black</item> + <item name="windowActionBar">false</item> + <item name="windowNoTitle">true</item> + <item name="android:windowFullscreen">true</item> <!-- Enable window content transitions --> <item name="android:windowContentTransitions">true</item> @@ -44,10 +63,12 @@ <!-- Inherit from a base file picker theme that handles day/night --> <style name="FilePickerTheme" parent="FilePickerBaseTheme"> + <item name="colorSurface">@color/view_background</item> + <item name="colorOnSurface">@color/view_text</item> <item name="colorPrimary">@color/citra_orange</item> <item name="colorPrimaryDark">@color/citra_orange_dark</item> <item name="colorAccent">@color/citra_accent</item> - <item name="android:windowBackground">@color/card_view_background</item> + <item name="android:windowBackground">@color/view_background</item> <!-- Need to set this also to style create folder dialog --> <item name="alertDialogTheme">@style/FilePickerAlertDialogTheme</item> @@ -57,9 +78,15 @@ </style> <style name="FilePickerAlertDialogTheme" parent="Theme.AppCompat.DayNight.Dialog.Alert"> + <item name="colorSurface">@color/view_background</item> + <item name="colorOnSurface">@color/view_text</item> <item name="colorPrimary">@color/citra_orange</item> <item name="colorPrimaryDark">@color/citra_orange_dark</item> <item name="colorAccent">@color/citra_accent</item> </style> </resources> + + + + diff --git a/src/android/app/src/test/java/org/citra/citra_emu/ExampleUnitTest.java b/src/android/app/src/test/java/org/citra/citra_emu/ExampleUnitTest.java deleted file mode 100644 index 4e4bb317fb..0000000000 --- a/src/android/app/src/test/java/org/citra/citra_emu/ExampleUnitTest.java +++ /dev/null @@ -1,17 +0,0 @@ -package org.citra.citra_emu; - -import org.junit.Test; - -import static org.junit.Assert.*; - -/** - * Example local unit test, which will execute on the development machine (host). - * - * @see <a href="http://d.android.com/tools/testing">Testing documentation</a> - */ -public class ExampleUnitTest { - @Test - public void addition_isCorrect() { - assertEquals(4, 2 + 2); - } -}
\ No newline at end of file diff --git a/src/android/code-style-java.xml b/src/android/code-style-java.xml index a8ed003c8f..1c9014dd95 100644 --- a/src/android/code-style-java.xml +++ b/src/android/code-style-java.xml @@ -1,4 +1,4 @@ -<code_scheme name="Citra-Java" version="173"> +<code_scheme name="Yuzu-Java" version="173"> <option name="OTHER_INDENT_OPTIONS"> <value> <option name="INDENT_SIZE" value="2" /> @@ -238,3 +238,4 @@ </arrangement> </codeStyleSettings> </code_scheme> + |
