#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