Update liked state when removing a saved post as well

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
This commit is contained in:
Harsh Shandilya 2020-10-19 00:20:07 +05:30
parent d93910ba5a
commit dc83ad2dee
No known key found for this signature in database
GPG key ID: 366D7BBAD1031E80

View file

@ -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<LobstersPost>.transformLikedFlag() = map {
it.apply { isLiked = savedPostsDao.isLiked(shortId) }
}
}