mirror of
https://github.com/JustinZeus/Wholphin.git
synced 2026-07-08 15:50:16 +02:00
Refresh guide in background when returning to page
This commit is contained in:
parent
a0e184ab28
commit
f5c7e6b6cd
2 changed files with 10 additions and 5 deletions
|
|
@ -50,8 +50,8 @@ class LiveTvViewModel
|
|||
) : ViewModel() {
|
||||
val loading = MutableLiveData<LoadingState>(LoadingState.Pending)
|
||||
|
||||
val start =
|
||||
LocalDateTime.now().truncatedTo(ChronoUnit.HOURS)
|
||||
lateinit var start: LocalDateTime
|
||||
private set
|
||||
private lateinit var channelsIdToIndex: Map<UUID, Int>
|
||||
private val mutex = Mutex()
|
||||
|
||||
|
|
@ -62,8 +62,11 @@ class LiveTvViewModel
|
|||
val fetchingItem = MutableLiveData<LoadingState>(LoadingState.Pending)
|
||||
val fetchedItem = MutableLiveData<BaseItem?>(null)
|
||||
|
||||
fun init() {
|
||||
// loading.value = LoadingState.Loading
|
||||
fun init(firstLoad: Boolean) {
|
||||
start = LocalDateTime.now().truncatedTo(ChronoUnit.HOURS)
|
||||
if (!firstLoad) {
|
||||
loading.value = LoadingState.Loading
|
||||
}
|
||||
viewModelScope.launch(Dispatchers.IO + LoadingExceptionHandler(loading, "Could not fetch channels")) {
|
||||
val channelData by api.liveTvApi.getLiveTvChannels(
|
||||
GetLiveTvChannelsRequest(
|
||||
|
|
|
|||
|
|
@ -72,8 +72,10 @@ fun TvGuideGrid(
|
|||
modifier: Modifier = Modifier,
|
||||
viewModel: LiveTvViewModel = hiltViewModel(),
|
||||
) {
|
||||
var firstLoad by rememberSaveable { mutableStateOf(true) }
|
||||
LaunchedEffect(Unit) {
|
||||
viewModel.init()
|
||||
viewModel.init(firstLoad)
|
||||
firstLoad = false
|
||||
}
|
||||
val loading by viewModel.loading.observeAsState(LoadingState.Pending)
|
||||
val channels by viewModel.channels.observeAsState(listOf())
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue