#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
|
||||
|
||||
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