From 7c306acfa9136bbe8f91e347c92e99763b7c710e Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Mon, 4 Oct 2021 14:43:24 +0530 Subject: [PATCH] android: add post details methods to VM --- .../msfjarvis/claw/android/viewmodel/ClawViewModel.kt | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/android/src/main/kotlin/dev/msfjarvis/claw/android/viewmodel/ClawViewModel.kt b/android/src/main/kotlin/dev/msfjarvis/claw/android/viewmodel/ClawViewModel.kt index d24b16d9..01c646e6 100644 --- a/android/src/main/kotlin/dev/msfjarvis/claw/android/viewmodel/ClawViewModel.kt +++ b/android/src/main/kotlin/dev/msfjarvis/claw/android/viewmodel/ClawViewModel.kt @@ -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() }