diff options
Diffstat (limited to 'Source/Android/app/src/main/java')
6 files changed, 68 insertions, 0 deletions
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/BooleanSetting.kt b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/BooleanSetting.kt index b6a03e6b61..eab79765c6 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/BooleanSetting.kt +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/BooleanSetting.kt @@ -145,6 +145,7 @@ enum class BooleanSetting( "EnablePlayTimeTracking", true ), + MAIN_GBA_THREADS(Settings.FILE_DOLPHIN, Settings.SECTION_INI_GBA, "Threads", true), MAIN_EXPAND_TO_CUTOUT_AREA( Settings.FILE_DOLPHIN, Settings.SECTION_INI_INTERFACE, diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/Settings.kt b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/Settings.kt index 9f91a4244c..3a6a097642 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/Settings.kt +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/Settings.kt @@ -112,6 +112,7 @@ class Settings : Closeable { const val SECTION_INI_CORE = "Core" const val SECTION_INI_INTERFACE = "Interface" const val SECTION_INI_DSP = "DSP" + const val SECTION_INI_GBA = "GBA" const val SECTION_LOGGER_LOGS = "Logs" const val SECTION_LOGGER_OPTIONS = "Options" const val SECTION_GFX_HARDWARE = "Hardware" diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/StringSetting.kt b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/StringSetting.kt index c4f1107bcd..512a33ddbb 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/StringSetting.kt +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/StringSetting.kt @@ -69,6 +69,9 @@ enum class StringSetting( "" ), MAIN_WFS_PATH(Settings.FILE_DOLPHIN, Settings.SECTION_INI_GENERAL, "WFSPath", ""), + MAIN_GBA_BIOS_PATH(Settings.FILE_DOLPHIN, Settings.SECTION_INI_GBA, "BIOS", ""), + MAIN_GB_PLAYER_ROM(Settings.FILE_DOLPHIN, Settings.SECTION_INI_GBA, "GBPlayerRom", ""), + MAIN_GBA_SAVES_PATH(Settings.FILE_DOLPHIN, Settings.SECTION_INI_GBA, "SavesPath", ""), MAIN_TRIFORCE_IP_REDIRECTIONS( Settings.FILE_DOLPHIN, Settings.SECTION_INI_CORE, diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsActivityResultLaunchers.kt b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsActivityResultLaunchers.kt index 9c13be1b19..2750bef687 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsActivityResultLaunchers.kt +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsActivityResultLaunchers.kt @@ -34,6 +34,26 @@ class SettingsActivityResultLaunchers( ) } + val requestGbaRomFile = fragment.registerForActivityResult( + ActivityResultContracts.StartActivityForResult() + ) { result: ActivityResult -> + onFileResult( + result, + FileBrowserHelper.GBA_ROM_EXTENSIONS, + Intent.FLAG_GRANT_READ_URI_PERMISSION + ) + } + + val requestBinFile = fragment.registerForActivityResult( + ActivityResultContracts.StartActivityForResult() + ) { result: ActivityResult -> + onFileResult( + result, + FileBrowserHelper.BIN_EXTENSION, + Intent.FLAG_GRANT_READ_URI_PERMISSION + ) + } + val requestRawFile = fragment.registerForActivityResult( ActivityResultContracts.StartActivityForResult() ) { result: ActivityResult -> diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.kt b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.kt index 1f68bbbd1a..b11a0323a0 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.kt +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.kt @@ -702,6 +702,46 @@ class SettingsFragmentPresenter( MenuTag.CONFIG_SERIALPORT1 ) ) + + sl.add(HeaderSetting(context, R.string.gba_settings, 0)) + sl.add( + SwitchSetting( + context, + BooleanSetting.MAIN_GBA_THREADS, + R.string.gba_threads, + 0, + ) + ) + sl.add( + FilePicker( + context, + StringSetting.MAIN_GBA_BIOS_PATH, + R.string.gba_bios_path, + 0, + fragmentView.activityResultLaunchers.requestBinFile, + "/GBA/gba_bios.bin" + ) + ) + sl.add( + FilePicker( + context, + StringSetting.MAIN_GB_PLAYER_ROM, + R.string.gb_player_rom, + 0, + fragmentView.activityResultLaunchers.requestGbaRomFile, + null + ) + ) + sl.add( + DirectoryPicker( + context, + StringSetting.MAIN_GBA_SAVES_PATH, + R.string.gba_saves_path, + 0, + fragmentView.activityResultLaunchers.requestDirectory, + "/GBA/Saves/" + ) + ) } private fun addWiiSettings(sl: ArrayList<SettingsItem>) { diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/FileBrowserHelper.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/FileBrowserHelper.java index 061d102be8..f52a70216f 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/FileBrowserHelper.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/FileBrowserHelper.java @@ -39,6 +39,9 @@ public final class FileBrowserHelper GAME_LIKE_EXTENSIONS.add("dff"); } + public static final HashSet<String> GBA_ROM_EXTENSIONS = new HashSet<>(Arrays.asList( + "gba", "gbc", "gb", "agb", "mb", "rom", "bin")); + public static final HashSet<String> BIN_EXTENSION = new HashSet<>(Collections.singletonList( "bin")); |
