[optimize] Inceased UI Response

This commit is contained in:
acite
2025-09-14 12:35:38 +08:00
parent c330a1e70c
commit 9c04d7679c
2 changed files with 15 additions and 24 deletions

View File

@@ -58,15 +58,12 @@ class ComicScreenViewModel : ViewModel() {
viewModelScope.launch {
val l = MediaManager.listComics()
val m = MediaManager.queryComicInfoBulk(l)
if(m != null) {
for(i in m)
{
comics.add(i)
for(j in i.comic.tags)
{
insertItem(j)
}
}
comics.addAll(m.sortedWith(compareBy(naturalOrder()) { it.comic.comic_name }))
tags.addAll(m.flatMap { it.comic.tags }.groupingBy { it }.eachCount()
.entries.sortedByDescending { it.value }
.map { it.key })
}
}
}

View File

@@ -57,14 +57,11 @@ class VideoScreenViewModel(application: Application) : AndroidViewModel(applicat
classesMap[it] = mutableStateListOf<Video>()
}
updatingMap[0] = true
val vl = MediaManager.queryVideoBulk(classes[0],
queryVideoKlasses(classes[0])
)
val vl = MediaManager.queryVideoBulk(classes[0], queryVideoKlasses(classes[0]))
if(vl != null)
for(it in vl)
{
classesMap[classes[0]]?.insertInNaturalOrder(it)
if(vl != null){
val r = vl.sortedWith(compareBy(naturalOrder()) { it.video.name })
classesMap[classes[0]]?.addAll(r)
}
}
@@ -77,14 +74,11 @@ class VideoScreenViewModel(application: Application) : AndroidViewModel(applicat
updatingMap[index] = true
val vl = MediaManager.queryVideoBulk(classes[index],
queryVideoKlasses(classes[index])
)
val vl = MediaManager.queryVideoBulk(classes[index], queryVideoKlasses(classes[index]))
if(vl != null)
for(it in vl)
{
classesMap[classes[index]]?.insertInNaturalOrder(it)
if(vl != null){
val r = vl.sortedWith(compareBy(naturalOrder()) { it.video.name })
classesMap[classes[index]]?.addAll(r)
}
}
}