Android: Store saved files to save/ directory

So that import / export will work.
This commit is contained in:
kichikuou
2020-02-09 21:47:07 +09:00
parent 91993ef4a3
commit eea7cc3c9b
3 changed files with 12 additions and 6 deletions
@@ -25,11 +25,13 @@ import org.libsdl.app.SDLActivity
import java.io.File
import java.io.IOException
// Intent for this activity must have the following extra:
// Intent for this activity must have the following extras:
// - EXTRA_GAME_ROOT (string): A path to the game installation.
// - EXTRA_SAVE_DIR (string): A directory where save files will be stored.
class GameActivity : SDLActivity() {
companion object {
const val EXTRA_GAME_ROOT = "GAME_ROOT"
const val EXTRA_SAVE_DIR = "SAVE_DIR"
}
private lateinit var gameRoot: File
@@ -59,7 +61,9 @@ class GameActivity : SDLActivity() {
}
override fun getArguments(): Array<String> {
return arrayOf("-gamedir", intent.getStringExtra(EXTRA_GAME_ROOT))
return arrayOf("-antialias",
"-gamedir", intent.getStringExtra(EXTRA_GAME_ROOT),
"-savedir", intent.getStringExtra(EXTRA_SAVE_DIR) + "/")
}
override fun setTitle(title: CharSequence?) {
@@ -98,7 +102,7 @@ private class CddaPlayer(private val playlistPath: File) {
Log.w("cddaStart", "No playlist entry for track $track")
return
}
Log.v("cddaStart", "${f} Loop:${loop}")
Log.v("cddaStart", "$f Loop:$loop")
try {
player.apply {
reset()
@@ -23,7 +23,6 @@ import android.os.Handler
import android.os.Message
import android.util.Log
import java.io.*
import java.lang.StringBuilder
import java.nio.charset.Charset
import java.util.*
import java.util.zip.ZipEntry
@@ -68,6 +67,8 @@ class Launcher private constructor(private val rootDir: File) {
var observer: LauncherObserver? = null
var isInstalling = false
private set
val saveDir: File
get() = File(rootDir, SAVE_DIR)
init {
updateGameList()
@@ -124,7 +125,7 @@ class Launcher private constructor(private val rootDir: File) {
}
}
if (!saveDirFound) {
File(rootDir, SAVE_DIR).mkdir()
saveDir.mkdir()
}
}
@@ -145,7 +146,7 @@ class Launcher private constructor(private val rootDir: File) {
} else {
ZipOutputStream(output.buffered())
}.use { zip ->
for (path in File(rootDir, SAVE_DIR).listFiles()) {
for (path in saveDir.listFiles()) {
if (path.isDirectory || path.name.endsWith(".asd."))
continue
val pathInZip = "${SAVE_DIR}/${path.name}"
@@ -158,6 +158,7 @@ class LauncherActivity : ListActivity(), AdapterView.OnItemLongClickListener, La
val i = Intent()
i.setClass(applicationContext, GameActivity::class.java)
i.putExtra(GameActivity.EXTRA_GAME_ROOT, path.path)
i.putExtra(GameActivity.EXTRA_SAVE_DIR, launcher.saveDir.path)
startActivity(i)
}