|
|
@ -3,6 +3,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
package org.yuzu.yuzu_emu.model
|
|
|
|
package org.yuzu.yuzu_emu.model
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import android.net.Uri
|
|
|
|
|
|
|
|
import androidx.documentfile.provider.DocumentFile
|
|
|
|
import androidx.lifecycle.LiveData
|
|
|
|
import androidx.lifecycle.LiveData
|
|
|
|
import androidx.lifecycle.MutableLiveData
|
|
|
|
import androidx.lifecycle.MutableLiveData
|
|
|
|
import androidx.lifecycle.ViewModel
|
|
|
|
import androidx.lifecycle.ViewModel
|
|
|
@ -44,7 +46,13 @@ class GamesViewModel : ViewModel() {
|
|
|
|
if (storedGames!!.isNotEmpty()) {
|
|
|
|
if (storedGames!!.isNotEmpty()) {
|
|
|
|
val deserializedGames = mutableSetOf<Game>()
|
|
|
|
val deserializedGames = mutableSetOf<Game>()
|
|
|
|
storedGames.forEach {
|
|
|
|
storedGames.forEach {
|
|
|
|
deserializedGames.add(Json.decodeFromString(it))
|
|
|
|
val game: Game = Json.decodeFromString(it)
|
|
|
|
|
|
|
|
val gameExists =
|
|
|
|
|
|
|
|
DocumentFile.fromSingleUri(YuzuApplication.appContext, Uri.parse(game.path))
|
|
|
|
|
|
|
|
?.exists()
|
|
|
|
|
|
|
|
if (gameExists == true) {
|
|
|
|
|
|
|
|
deserializedGames.add(game)
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
setGames(deserializedGames.toList())
|
|
|
|
setGames(deserializedGames.toList())
|
|
|
|
}
|
|
|
|
}
|
|
|
|