#74 viewmodel of a feed
This commit is contained in:
parent
f7b5d5170d
commit
190c3467ec
1 changed files with 34 additions and 1 deletions
|
@ -1,4 +1,37 @@
|
||||||
package be.ugent.sel.studeez.screens.home
|
package be.ugent.sel.studeez.screens.home
|
||||||
|
|
||||||
class FeedViewModel {
|
import androidx.lifecycle.viewModelScope
|
||||||
|
import be.ugent.sel.studeez.data.SelectedTask
|
||||||
|
import be.ugent.sel.studeez.data.local.models.FeedEntry
|
||||||
|
import be.ugent.sel.studeez.domain.FeedDAO
|
||||||
|
import be.ugent.sel.studeez.domain.LogService
|
||||||
|
import be.ugent.sel.studeez.domain.TaskDAO
|
||||||
|
import be.ugent.sel.studeez.navigation.StudeezDestinations
|
||||||
|
import be.ugent.sel.studeez.screens.StudeezViewModel
|
||||||
|
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||||
|
import kotlinx.coroutines.flow.Flow
|
||||||
|
import kotlinx.coroutines.launch
|
||||||
|
import javax.inject.Inject
|
||||||
|
|
||||||
|
@HiltViewModel
|
||||||
|
class FeedViewModel @Inject constructor(
|
||||||
|
private val feedDAO: FeedDAO,
|
||||||
|
private val taskDAO: TaskDAO,
|
||||||
|
private val selectedTask: SelectedTask,
|
||||||
|
logService: LogService
|
||||||
|
) : StudeezViewModel(logService) {
|
||||||
|
|
||||||
|
private val entries: Flow<List<FeedEntry>> = feedDAO.getFeedEntries()
|
||||||
|
|
||||||
|
fun getFeedEntries(): Flow<List<FeedEntry>> {
|
||||||
|
return entries
|
||||||
|
}
|
||||||
|
|
||||||
|
fun continueWithTask(open: (String) -> Unit, subjectId: String, taskId: String) {
|
||||||
|
viewModelScope.launch {
|
||||||
|
val task = taskDAO.getTask(subjectId, taskId)
|
||||||
|
selectedTask.set(task)
|
||||||
|
open(StudeezDestinations.TIMER_SELECTION_SCREEN)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
Reference in a new issue