fix: Fetch tracks on game load

This commit is contained in:
Lucàs
2025-01-03 13:54:33 +01:00
parent 7618b28c4b
commit 5884e1d7be
2 changed files with 15 additions and 3 deletions
@@ -26,7 +26,7 @@ data class Album(
) )
suspend fun fetchTracks(apiUrl: String): List<Track>? { suspend fun fetchTracks(apiUrl: String): List<Track> {
return withContext(Dispatchers.IO) { return withContext(Dispatchers.IO) {
try { try {
val url = URL(apiUrl) val url = URL(apiUrl)
@@ -1,6 +1,8 @@
package fr.univpau.queezer package fr.univpau.queezer
import android.os.CountDownTimer import android.os.CountDownTimer
import android.util.Log
import android.widget.Toast
import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Row
@@ -34,10 +36,20 @@ fun GameScreen(navController: NavHostController) {
var selectedGameMode by remember { mutableStateOf(loadedSettings.gameMode) } var selectedGameMode by remember { mutableStateOf(loadedSettings.gameMode) }
val numberOfTitles by remember { mutableIntStateOf(loadedSettings.numberOfTitles.toInt()) } val numberOfTitles by remember { mutableIntStateOf(loadedSettings.numberOfTitles.toInt()) }
val playlistUrl by remember { mutableStateOf(loadedSettings.playlistUrl) } val playlistUrl by remember { mutableStateOf(loadedSettings.playlistUrl) }
val tracks = remember { mutableStateOf(emptyList<Track>()) } var tracks by remember { mutableStateOf(emptyList<Track>()) }
LaunchedEffect(playlistUrl) { LaunchedEffect(playlistUrl) {
// tracks = fetchTracks(playlistUrl) tracks = fetchTracks(playlistUrl)
if (tracks.isEmpty()) {
// Affiche un message d'erreur en toast
Toast.makeText(context, "Impossible de charger les titres, veuillez vérifier la validité de l'URL.", Toast.LENGTH_SHORT).show()
// Retourn à l'écran d'accueil
navController.popBackStack()
}
tracks = tracks.shuffled() // On mélange les titres
Log.i("Tracks", tracks.toString())
} }
val score = remember { mutableIntStateOf(0) } val score = remember { mutableIntStateOf(0) }