summaryrefslogtreecommitdiff
path: root/Source/Android/app/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Android/app/src/main/java')
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/BooleanSetting.kt1
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/Settings.kt1
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/StringSetting.kt3
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsActivityResultLaunchers.kt20
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.kt40
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/FileBrowserHelper.java3
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"));