From 06ada999c3ae1cbf958d43b8ddd9da4ecc9f71b2 Mon Sep 17 00:00:00 2001 From: acite <1498045907@qq.com> Date: Thu, 28 Aug 2025 01:09:04 +0800 Subject: [PATCH] [fix] Repeatedly adding video cards when switching lists --- .../com/acitelight/aether/service/MediaManager.kt | 4 +++- .../aether/viewModel/VideoScreenViewModel.kt | 15 +++++++++++---- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/acitelight/aether/service/MediaManager.kt b/app/src/main/java/com/acitelight/aether/service/MediaManager.kt index e4532f9..9de673e 100644 --- a/app/src/main/java/com/acitelight/aether/service/MediaManager.kt +++ b/app/src/main/java/com/acitelight/aether/service/MediaManager.kt @@ -23,11 +23,13 @@ object MediaManager } } - suspend fun listVideos(klass: String, callback: (Video) -> Unit) + suspend fun listVideos(klass: String, filter: List, callback: (Video) -> Unit) { val j = ApiClient.api!!.queryVideoClasses(klass, token) for(it in j) { + if(filter.contains(it)) + continue try { callback(queryVideo(klass, it)!!) }catch (e: Exception) diff --git a/app/src/main/java/com/acitelight/aether/viewModel/VideoScreenViewModel.kt b/app/src/main/java/com/acitelight/aether/viewModel/VideoScreenViewModel.kt index 1404045..828c48d 100644 --- a/app/src/main/java/com/acitelight/aether/viewModel/VideoScreenViewModel.kt +++ b/app/src/main/java/com/acitelight/aether/viewModel/VideoScreenViewModel.kt @@ -34,6 +34,7 @@ class VideoScreenViewModel(application: Application) : AndroidViewModel(applicat val classesMap = mutableStateMapOf>() var imageLoader: ImageLoader? = null; + val updatingMap: MutableMap = mutableMapOf() @Composable fun SetupClient() @@ -48,12 +49,14 @@ class VideoScreenViewModel(application: Application) : AndroidViewModel(applicat suspend fun init() { classes.addAll(MediaManager.listVideoKlasses()) + var i = 0 for(it in classes) { + updatingMap[i++] = false classesMap[it] = mutableStateListOf