diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/ui/main/MainActivity.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/ui/main/MainActivity.kt index 16323a316..044d98385 100644 --- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/ui/main/MainActivity.kt +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/ui/main/MainActivity.kt @@ -31,6 +31,7 @@ import com.google.android.material.navigation.NavigationBarView import kotlinx.coroutines.CoroutineScope import java.io.File import java.io.FilenameFilter +import java.io.FileOutputStream import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import kotlinx.coroutines.withContext @@ -70,6 +71,28 @@ class MainActivity : AppCompatActivity(), ThemeProvider { val savesFolderRoot get() = File(savesFolder).listFiles()?.firstOrNull()?.canonicalPath ?: "" override fun onCreate(savedInstanceState: Bundle?) { + val keysDirPath = applicationContext.filesDir.absolutePath + "/keys/" + val keysDir = File(keysDirPath) + if (!keysDir.exists()) { + keysDir.mkdir() + try { + val inputStream = applicationContext.assets.open("prod.keys") + val outputStream = FileOutputStream(keysDirPath + "prod.keys") + val bufferedInputStream = BufferedInputStream(inputStream) + val bufferedOutputStream = BufferedOutputStream(outputStream) + val buffer = ByteArray(1024) + var length: Int + while (bufferedInputStream.read(buffer).also { length = it } != -1) { + bufferedOutputStream.write(buffer, 0, length) + } + bufferedInputStream.close() + bufferedOutputStream.close() + } catch (e: IOException) { + e.printStackTrace() + } + } else { + println("Keys directory already exists.") + } val splashScreen = installSplashScreen() splashScreen.setKeepOnScreenCondition { !DirectoryInitialization.areDirectoriesReady }