android: add post details methods to VM

This commit is contained in:
Harsh Shandilya 2021-10-04 14:43:24 +05:30
parent f2fdfac4ad
commit 7c306acfa9
No known key found for this signature in database
GPG key ID: 366D7BBAD1031E80

View file

@ -7,19 +7,22 @@ import dagger.hilt.android.lifecycle.HiltViewModel
import dev.msfjarvis.claw.android.paging.LobstersPagingSource
import dev.msfjarvis.claw.api.LobstersApi
import dev.msfjarvis.claw.database.local.SavedPost
import dev.msfjarvis.claw.model.LobstersPostDetails
import javax.inject.Inject
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.flow.collect
import kotlinx.coroutines.flow.flow
import kotlinx.coroutines.flow.last
import kotlinx.coroutines.flow.mapLatest
import kotlinx.coroutines.withContext
@OptIn(ExperimentalCoroutinesApi::class)
@HiltViewModel
class ClawViewModel
@Inject
constructor(
api: LobstersApi,
private val api: LobstersApi,
private val repository: SavedPostsRepository,
) : ViewModel() {
var lastPagingSource: LobstersPagingSource? = null
@ -46,6 +49,11 @@ constructor(
}
}
suspend fun getPostComments(postId: String): LobstersPostDetails =
withContext(Dispatchers.IO) {
return@withContext api.getPostDetails(postId)
}
fun reloadPosts() {
lastPagingSource?.invalidate()
}