Centralize WaveForm samples.

This commit is contained in:
Benoit Marty 2025-10-13 16:21:17 +02:00 committed by Benoit Marty
parent a5198b4f6a
commit 194b97ee10
7 changed files with 38 additions and 56 deletions

View file

@ -8,15 +8,15 @@
package io.element.android.features.messages.api.timeline.voicemessages.composer
import androidx.compose.ui.tooling.preview.PreviewParameterProvider
import io.element.android.libraries.designsystem.components.media.WaveFormSamples
import io.element.android.libraries.designsystem.components.media.createFakeWaveform
import io.element.android.libraries.textcomposer.model.VoiceMessageState
import kotlinx.collections.immutable.toImmutableList
import kotlin.time.Duration.Companion.seconds
open class VoiceMessageComposerStateProvider : PreviewParameterProvider<VoiceMessageComposerState> {
override val values: Sequence<VoiceMessageComposerState>
get() = sequenceOf(
aVoiceMessageComposerState(voiceMessageState = VoiceMessageState.Recording(duration = 61.seconds, levels = aWaveformLevels)),
aVoiceMessageComposerState(voiceMessageState = VoiceMessageState.Recording(duration = 61.seconds, levels = WaveFormSamples.allRangeWaveForm)),
)
}
@ -41,5 +41,3 @@ fun aVoiceMessagePreviewState() = VoiceMessageState.Preview(
time = 10.seconds,
waveform = createFakeWaveform(),
)
internal var aWaveformLevels = List(100) { it.toFloat() / 100 }.toImmutableList()