#118 new visitor for session screen
This commit is contained in:
		
							parent
							
								
									b614f7d530
								
							
						
					
					
						commit
						052ebb8c32
					
				
					 1 changed files with 46 additions and 1 deletions
				
			
		|  | @ -1,4 +1,49 @@ | ||||||
| package be.ugent.sel.studeez.screens.session.sessionScreens.composables | package be.ugent.sel.studeez.screens.session.sessionScreens.composables | ||||||
| 
 | 
 | ||||||
| class GetSessionScreenComposable { | import android.media.MediaPlayer | ||||||
|  | import androidx.compose.runtime.Composable | ||||||
|  | import be.ugent.sel.studeez.data.local.models.timer_functional.FunctionalCustomTimer | ||||||
|  | import be.ugent.sel.studeez.data.local.models.timer_functional.FunctionalEndlessTimer | ||||||
|  | import be.ugent.sel.studeez.data.local.models.timer_functional.FunctionalPomodoroTimer | ||||||
|  | import be.ugent.sel.studeez.data.local.models.timer_functional.FunctionalTimerVisitor | ||||||
|  | import be.ugent.sel.studeez.screens.session.SessionActions | ||||||
|  | import be.ugent.sel.studeez.screens.session.sessionScreens.AbstractSessionScreen | ||||||
|  | import be.ugent.sel.studeez.screens.session.sessionScreens.BreakSessionScreen | ||||||
|  | import be.ugent.sel.studeez.screens.session.sessionScreens.CustomSessionScreen | ||||||
|  | import be.ugent.sel.studeez.screens.session.sessionScreens.EndlessSessionScreen | ||||||
|  | 
 | ||||||
|  | class GetSessionScreenComposable( | ||||||
|  |     private val mediaplayer: MediaPlayer?, | ||||||
|  |     private val open: (String) -> Unit, | ||||||
|  |     private val sessionActions: SessionActions | ||||||
|  |     ) : | ||||||
|  |     FunctionalTimerVisitor<@Composable () -> Unit> { | ||||||
|  | 
 | ||||||
|  |     override fun visitFunctionalCustomTimer(functionalCustomTimer: FunctionalCustomTimer): @Composable () -> Unit { | ||||||
|  |         return { CustomTimerSessionScreenComposable( | ||||||
|  |                 open = open, | ||||||
|  |                 sessionActions = sessionActions, | ||||||
|  |                 customTimer = functionalCustomTimer | ||||||
|  |             ) | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     override fun visitFunctionalEndlessTimer(functionalEndlessTimer: FunctionalEndlessTimer): @Composable () -> Unit { | ||||||
|  |         return { | ||||||
|  |             EndlessTimerSessionScreenComposable( | ||||||
|  |                 open = open, | ||||||
|  |                 sessionActions = sessionActions, | ||||||
|  |             ) | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     override fun visitFunctionalBreakTimer(functionalPomodoroTimer: FunctionalPomodoroTimer): @Composable () -> Unit { | ||||||
|  |         return { | ||||||
|  |             BreakSessionScreenComposable( | ||||||
|  |                 open = open, | ||||||
|  |                 sessionActions = sessionActions, | ||||||
|  |                 pomodoroTimer = functionalPomodoroTimer | ||||||
|  |             ) | ||||||
|  |         } | ||||||
|  |     } | ||||||
| } | } | ||||||
		Reference in a new issue
	
	 lbarraga
						lbarraga