Skip to content

Commit 1e3b360

Browse files
committed
Fix RetroArch launch with additional required extras
Add missing intent extras that RetroArch expects: - IME: Input method editor reference - DATADIR: RetroArch data directory - SDCARD: SD card root path - EXTERNAL: External files directory Remove QUITFOCUS and NO_HISTORY flags that were causing issues.
1 parent e204c4a commit 1e3b360

2 files changed

Lines changed: 11 additions & 9 deletions

File tree

app/build.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ android {
2222
applicationId = "com.nendo.argosy"
2323
minSdk = 26
2424
targetSdk = 34
25-
versionCode = 11
26-
versionName = "0.5.4"
25+
versionCode = 12
26+
versionName = "0.5.5"
2727

2828
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
2929
vectorDrawables {

app/src/main/kotlin/com/nendo/argosy/data/emulator/GameLauncher.kt

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -120,11 +120,11 @@ class GameLauncher @Inject constructor(
120120
): Intent {
121121
val coreName = EmulatorRegistry.getRetroArchCores()[platformId]
122122
val retroArchPackage = emulator.packageName
123+
val dataDir = "/data/data/$retroArchPackage"
124+
val externalDir = "/storage/emulated/0/Android/data/$retroArchPackage/files"
123125

124-
val corePath = coreName?.let {
125-
"/data/data/$retroArchPackage/cores/${it}_libretro_android.so"
126-
}
127-
val configPath = "/storage/emulated/0/Android/data/$retroArchPackage/files/retroarch.cfg"
126+
val corePath = coreName?.let { "$dataDir/cores/${it}_libretro_android.so" }
127+
val configPath = "$externalDir/retroarch.cfg"
128128

129129
return Intent(emulator.launchAction).apply {
130130
component = ComponentName(retroArchPackage, config.activityClass)
@@ -133,12 +133,14 @@ class GameLauncher @Inject constructor(
133133
putExtra("LIBRETRO", corePath)
134134
}
135135
putExtra("CONFIGFILE", configPath)
136-
putExtra("QUITFOCUS", "")
136+
putExtra("IME", "com.android.inputmethod.latin/.LatinIME")
137+
putExtra("DATADIR", dataDir)
138+
putExtra("SDCARD", "/storage/emulated/0")
139+
putExtra("EXTERNAL", externalDir)
137140
addFlags(
138141
Intent.FLAG_ACTIVITY_NEW_TASK or
139142
Intent.FLAG_ACTIVITY_CLEAR_TASK or
140-
Intent.FLAG_ACTIVITY_CLEAR_TOP or
141-
Intent.FLAG_ACTIVITY_NO_HISTORY
143+
Intent.FLAG_ACTIVITY_CLEAR_TOP
142144
)
143145
}
144146
}

0 commit comments

Comments
 (0)