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