draft: Invalid track type on fetch

This commit is contained in:
Lucàs
2025-01-03 13:40:05 +01:00
parent 5a592f3e43
commit 7618b28c4b
3 changed files with 8 additions and 15 deletions
Generated
+3 -1
View File
@@ -1,4 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="VcsDirectoryMappings" defaultProject="true" /> <component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project> </project>
@@ -26,7 +26,7 @@ data class Album(
) )
suspend fun fetchTracks(apiUrl: String): MutableState<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)
@@ -40,11 +40,11 @@ suspend fun fetchTracks(apiUrl: String): MutableState<List<Track>> {
val trackListType = object : TypeToken<List<Track>>() {}.type val trackListType = object : TypeToken<List<Track>>() {}.type
Gson().fromJson<List<Track>>(tracksJson, trackListType) Gson().fromJson<List<Track>>(tracksJson, trackListType)
} else { } else {
null emptyList()
} }
} catch (e: Exception) { } catch (e: Exception) {
e.printStackTrace() e.printStackTrace()
null emptyList()
} }
} }
} }
@@ -1,8 +1,6 @@
package fr.univpau.queezer package fr.univpau.queezer
import android.os.CountDownTimer import android.os.CountDownTimer
import android.util.Log
import androidx.compose.foundation.Image
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
@@ -14,26 +12,19 @@ import androidx.compose.material3.Button
import androidx.compose.material3.Text import androidx.compose.material3.Text
import androidx.compose.material3.TextField import androidx.compose.material3.TextField
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.DisposableEffect
import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.getValue import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableIntStateOf import androidx.compose.runtime.mutableIntStateOf
import androidx.compose.runtime.mutableLongStateOf
import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.painter.Painter
import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.text.input.KeyboardType import androidx.compose.ui.text.input.KeyboardType
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp import androidx.compose.ui.unit.sp
import androidx.navigation.NavHostController import androidx.navigation.NavHostController
import androidx.navigation.compose.rememberNavController
import androidx.compose.ui.res.painterResource
import kotlinx.coroutines.runBlocking
@Composable @Composable
fun GameScreen(navController: NavHostController) { fun GameScreen(navController: NavHostController) {
@@ -43,10 +34,10 @@ 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) }
var tracks = remember { mutableStateOf(emptyList<Track>()) } val tracks = remember { mutableStateOf(emptyList<Track>()) }
LaunchedEffect(playlistUrl) { LaunchedEffect(playlistUrl) {
tracks = fetchTracks(playlistUrl) // tracks = fetchTracks(playlistUrl)
} }
val score = remember { mutableIntStateOf(0) } val score = remember { mutableIntStateOf(0) }