Coverage Summary for Class: TimeSignatureViewKt (com.vsevolodganin.clicktrack.ui.piece)

Class Class, % Method, % Branch, % Line, % Instruction, %
TimeSignatureViewKt 0% (0/1) 0% (0/3) 0% (0/10) 0% (0/36) 0% (0/493)


 package com.vsevolodganin.clicktrack.ui.piece
 
 import androidx.compose.foundation.layout.Box
 import androidx.compose.foundation.layout.Row
 import androidx.compose.foundation.layout.fillMaxSize
 import androidx.compose.material.MaterialTheme
 import androidx.compose.material.Text
 import androidx.compose.runtime.Composable
 import androidx.compose.runtime.MutableState
 import androidx.compose.runtime.mutableStateOf
 import androidx.compose.runtime.remember
 import androidx.compose.ui.Alignment
 import androidx.compose.ui.Modifier
 import com.vsevolodganin.clicktrack.model.TimeSignature
 import com.vsevolodganin.clicktrack.utils.compose.Preview
 
 @Composable
 fun TimeSignatureView(state: MutableState<TimeSignature>, modifier: Modifier = Modifier) {
     TimeSignatureView(
         value = state.value,
         onValueChange = { state.value = it },
         modifier = modifier,
     )
 }
 
 @Composable
 fun TimeSignatureView(value: TimeSignature, onValueChange: (TimeSignature) -> Unit, modifier: Modifier = Modifier) {
     Row(modifier = modifier) {
         val commonModifier = Modifier.align(Alignment.CenterVertically)
         val commonTextStyle = MaterialTheme.typography.subtitle1
         val commonNumberRange = 1..64
         NumberPicker(
             value = value.noteCount,
             onValueChange = { onValueChange(value.copy(noteCount = it)) },
             modifier = commonModifier,
             textStyle = commonTextStyle,
             range = commonNumberRange,
         )
         Text(
             text = "/",
             style = commonTextStyle,
             modifier = commonModifier,
         )
         NumberPicker(
             value = value.noteValue,
             onValueChange = { onValueChange(value.copy(noteValue = it)) },
             modifier = commonModifier,
             textStyle = commonTextStyle,
             range = commonNumberRange,
         )
     }
 }
 
 @Preview
 @Composable
 private fun Preview() {
     Box(modifier = Modifier.fillMaxSize()) {
         TimeSignatureView(
             state = remember { mutableStateOf(TimeSignature(4, 4)) },
             modifier = Modifier.align(Alignment.Center),
         )
     }
 }