diff --git a/app/src/main/java/fr/univpau/queezer/Fetcher.kt b/app/src/main/java/fr/univpau/queezer/Fetcher.kt index 622c795..6d90f6f 100644 --- a/app/src/main/java/fr/univpau/queezer/Fetcher.kt +++ b/app/src/main/java/fr/univpau/queezer/Fetcher.kt @@ -26,7 +26,7 @@ data class Album( ) -suspend fun fetchTracks(apiUrl: String): List? { +suspend fun fetchTracks(apiUrl: String): List { return withContext(Dispatchers.IO) { try { val url = URL(apiUrl) diff --git a/app/src/main/java/fr/univpau/queezer/GameScreen.kt b/app/src/main/java/fr/univpau/queezer/GameScreen.kt index 6a6d554..094f7bc 100644 --- a/app/src/main/java/fr/univpau/queezer/GameScreen.kt +++ b/app/src/main/java/fr/univpau/queezer/GameScreen.kt @@ -1,6 +1,8 @@ package fr.univpau.queezer import android.os.CountDownTimer +import android.util.Log +import android.widget.Toast import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row @@ -34,10 +36,20 @@ fun GameScreen(navController: NavHostController) { var selectedGameMode by remember { mutableStateOf(loadedSettings.gameMode) } val numberOfTitles by remember { mutableIntStateOf(loadedSettings.numberOfTitles.toInt()) } val playlistUrl by remember { mutableStateOf(loadedSettings.playlistUrl) } - val tracks = remember { mutableStateOf(emptyList()) } + var tracks by remember { mutableStateOf(emptyList()) } 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) }