diff --git a/app/src/main/java/dev/msfjarvis/lobsters/data/LobstersViewModel.kt b/app/src/main/java/dev/msfjarvis/lobsters/data/LobstersViewModel.kt index 540dd557..15c4b27a 100644 --- a/app/src/main/java/dev/msfjarvis/lobsters/data/LobstersViewModel.kt +++ b/app/src/main/java/dev/msfjarvis/lobsters/data/LobstersViewModel.kt @@ -62,7 +62,7 @@ class LobstersViewModel @ViewModelInject constructor( private fun getMorePostsInternal(firstLoad: Boolean) { viewModelScope.launch(coroutineExceptionHandler) { val newPosts = lobstersApi.getHottestPosts(apiPage) - .map { it.apply { isLiked = savedPostsDao.isLiked(shortId) } } + .transformLikedFlag() .toList() if (firstLoad) { _posts.value = newPosts @@ -91,6 +91,11 @@ class LobstersViewModel @ViewModelInject constructor( viewModelScope.launch { savedPostsDao.deletePostById(post.shortId) getSavedPosts() + _posts.value = _posts.value.transformLikedFlag().toList() } } + + private suspend fun List.transformLikedFlag() = map { + it.apply { isLiked = savedPostsDao.isLiked(shortId) } + } }