@@ -9,9 +9,9 @@ package com.nextcloud.talk.ui
99
1010import androidx.compose.foundation.background
1111import androidx.compose.foundation.layout.Box
12+ import androidx.compose.foundation.layout.fillMaxWidth
1213import androidx.compose.foundation.layout.height
1314import androidx.compose.foundation.layout.size
14- import androidx.compose.foundation.layout.width
1515import androidx.compose.foundation.shape.CircleShape
1616import androidx.compose.material3.ExperimentalMaterial3Api
1717import androidx.compose.material3.MaterialTheme
@@ -28,6 +28,7 @@ import androidx.compose.ui.unit.dp
2828
2929const val WAVEFORM_THUMB_SIZE = 20
3030const val WAVEFORM_SIZE = 30
31+ const val OVERLAP = 0.025
3132
3233@OptIn(ExperimentalMaterial3Api ::class )
3334@Composable
@@ -53,7 +54,7 @@ fun ComposeWaveformSeekBar(value: Float, onValueChange: (Float) -> Unit, modifie
5354 for (i in waveData.indices) {
5455 val x: Float = i * (barWidth + barGap)
5556 val y: Float = waveData[i] * height
56- val isXBeforeThumb = (x / this .size.width) <= value + 0.025
57+ val isXBeforeThumb = (x / this .size.width) <= value + OVERLAP
5758
5859 drawLine(
5960 if (isXBeforeThumb) inversePrimary else onPrimaryContainer,
@@ -81,14 +82,14 @@ fun ComposeWaveformSeekBar(value: Float, onValueChange: (Float) -> Unit, modifie
8182@Composable
8283@Preview
8384fun Preview () {
84- val waveData = remember { FloatArray (50 ) { (Math .random() % 1 ).toFloat() } }
85+ val waveData = remember { FloatArray (WAVEFORM_SIZE ) { (Math .random() % 1 ).toFloat() } }
8586
8687 ComposeWaveformSeekBar (
8788 0f ,
8889 {},
8990 modifier = Modifier
90- .height(56 .dp)
91- .width( 200 .dp ),
91+ .height(MAX_HEIGHT .dp)
92+ .fillMaxWidth( ),
9293 waveData
9394 )
9495}
0 commit comments