[ViewModel] Fixed long loading times for most played playlist

main
Prathamesh More 2021-12-02 16:42:31 +05:30
parent a6319167c9
commit 652a79f14e
1 changed files with 9 additions and 6 deletions

View File

@ -29,6 +29,7 @@ import code.name.monkey.retromusic.util.DensityUtil
import code.name.monkey.retromusic.util.PreferenceUtil
import kotlinx.coroutines.Dispatchers.IO
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
import java.io.File
class LibraryViewModel(
@ -278,14 +279,16 @@ class LibraryViewModel(
}
emit(songs)
// Cleaning up deleted or moved songs
songs.forEach { song ->
if (!File(song.data).exists() || song.id == -1L) {
repository.deleteSongInPlayCount(song.toPlayCount())
withContext(IO) {
songs.forEach { song ->
if (!File(song.data).exists() || song.id == -1L) {
repository.deleteSongInPlayCount(song.toPlayCount())
}
}
emit(repository.playCountSongs().map {
it.toSong()
})
}
emit(repository.playCountSongs().map {
it.toSong()
})
}
fun artists(type: Int): LiveData<List<Artist>> = liveData {