added midsection implementation
This commit is contained in:
		
							parent
							
								
									3fb8b08cb4
								
							
						
					
					
						commit
						47620f69ed
					
				
					 1 changed files with 53 additions and 5 deletions
				
			
		|  | @ -1,7 +1,20 @@ | |||
| package be.ugent.sel.studeez.screens.session.sessionScreens | ||||
| 
 | ||||
| import android.media.MediaPlayer | ||||
| import androidx.compose.foundation.background | ||||
| import androidx.compose.foundation.layout.* | ||||
| import androidx.compose.foundation.shape.CircleShape | ||||
| import androidx.compose.material.Text | ||||
| import androidx.compose.runtime.Composable | ||||
| import androidx.compose.ui.Alignment | ||||
| import androidx.compose.ui.Modifier | ||||
| import androidx.compose.ui.draw.clip | ||||
| import androidx.compose.ui.graphics.Color | ||||
| import androidx.compose.ui.text.font.FontWeight | ||||
| import androidx.compose.ui.text.style.TextAlign | ||||
| import androidx.compose.ui.tooling.preview.Preview | ||||
| import androidx.compose.ui.unit.dp | ||||
| import androidx.compose.ui.unit.sp | ||||
| import be.ugent.sel.studeez.R | ||||
| import be.ugent.sel.studeez.data.local.models.timer_functional.FunctionalPomodoroTimer | ||||
| import be.ugent.sel.studeez.resources | ||||
|  | @ -12,6 +25,37 @@ class BreakSessionScreen( | |||
|     private var mediaplayer: MediaPlayer? | ||||
| ): AbstractSessionScreen() { | ||||
| 
 | ||||
|     @Composable | ||||
|     override fun MidSection() { | ||||
|         Dots() | ||||
|     } | ||||
| 
 | ||||
|     @Composable | ||||
|     fun Dots() { | ||||
|         Row( | ||||
|             modifier = Modifier.fillMaxWidth(), | ||||
|             verticalAlignment = Alignment.CenterVertically, | ||||
|             horizontalArrangement = Arrangement.Center, | ||||
|         ) { | ||||
|             repeat(funPomoDoroTimer.breaksRemaining - 1) { | ||||
|                 Dot(color = Color.DarkGray) | ||||
|             } | ||||
|             if (funPomoDoroTimer.isInBreak) Dot(Color.Green) else Dot(Color.DarkGray) | ||||
|             repeat(funPomoDoroTimer.repeats - funPomoDoroTimer.breaksRemaining) { | ||||
|                 Dot(color = Color.Gray) | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     @Composable | ||||
|     private fun Dot(color: Color) { | ||||
|         Box(modifier = Modifier | ||||
|             .padding(5.dp) | ||||
|             .size(10.dp) | ||||
|             .clip(CircleShape) | ||||
|             .background(color)) | ||||
|     } | ||||
| 
 | ||||
|     @Composable | ||||
|     override fun motivationString(): String { | ||||
|         if (funPomoDoroTimer.isInBreak) { | ||||
|  | @ -22,11 +66,7 @@ class BreakSessionScreen( | |||
|             return resources().getString(AppText.state_done) | ||||
|         } | ||||
| 
 | ||||
|         return resources().getQuantityString( | ||||
|             R.plurals.state_focus_remaining, | ||||
|             funPomoDoroTimer.breaksRemaining, | ||||
|             funPomoDoroTimer.breaksRemaining | ||||
|         ) | ||||
|         return resources().getString(AppText.state_focus) | ||||
|     } | ||||
| 
 | ||||
|     override fun callMediaPlayer() { | ||||
|  | @ -42,4 +82,12 @@ class BreakSessionScreen( | |||
|             mediaplayer?.start() | ||||
|         } | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| @Preview | ||||
| @Composable | ||||
| fun MidsectionPreview() { | ||||
|     val funPomoDoroTimer = FunctionalPomodoroTimer(15, 60, 5) | ||||
|     val breakSessionScreen = BreakSessionScreen(funPomoDoroTimer, MediaPlayer()) | ||||
|     breakSessionScreen.MidSection() | ||||
| } | ||||
		Reference in a new issue
	
	 lbarraga
						lbarraga