mirror of
https://github.com/msfjarvis/compose-lobsters
synced 2025-08-14 14:07:05 +05:30
android: add post details methods to VM
This commit is contained in:
parent
f2fdfac4ad
commit
7c306acfa9
1 changed files with 9 additions and 1 deletions
|
@ -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()
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue