From 3e4f0d6c48559de4079d3ab64dc0c2b55c9fab8d Mon Sep 17 00:00:00 2001 From: kichikuou Date: Mon, 10 Feb 2020 18:41:23 +0900 Subject: [PATCH] Android: Sort game list by date of title.txt The title played last comes first. --- .../main/java/io/github/kichikuou/system3/Launcher.kt | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/android/app/src/main/java/io/github/kichikuou/system3/Launcher.kt b/android/app/src/main/java/io/github/kichikuou/system3/Launcher.kt index 26b46b1..2085232 100644 --- a/android/app/src/main/java/io/github/kichikuou/system3/Launcher.kt +++ b/android/app/src/main/java/io/github/kichikuou/system3/Launcher.kt @@ -60,7 +60,7 @@ class Launcher private constructor(private val rootDir: File) { } } - data class Entry(val path: File, val title: String) + data class Entry(val path: File, val title: String, val timestamp: Long) val games = arrayListOf() val titles: List get() = games.map(Entry::title) @@ -109,6 +109,7 @@ class Launcher private constructor(private val rootDir: File) { private fun updateGameList() { var saveDirFound = false + games.clear() for (path in rootDir.listFiles()) { if (!path.isDirectory) continue @@ -117,13 +118,15 @@ class Launcher private constructor(private val rootDir: File) { continue } try { - val title = File(path, TITLE_FILE).readText() - games.add(Entry(path, title)) + val titleFile = File(path, TITLE_FILE) + val title = titleFile.readText() + games.add(Entry(path, title, titleFile.lastModified())) } catch (e: IOException) { // Incomplete game installation. Delete it. path.deleteRecursively() } } + games.sortByDescending(Entry::timestamp) if (!saveDirFound) { saveDir.mkdir() }