Merge branch 'krille/waveformfollowup' into 'main'

chore: Waveform follow up

See merge request famedly/fluffychat!661
This commit is contained in:
Krille Fear 2022-01-01 15:41:48 +00:00
commit 8afb39f1ff
2 changed files with 31 additions and 21 deletions

View File

@ -142,7 +142,7 @@ class _AudioPlayerState extends State<AudioPlayerWidget> {
return '${duration.inMinutes.toString().padLeft(2, '0')}:${(duration.inSeconds % 60).toString().padLeft(2, '0')}';
}
List<int> get waveform {
List<int> _getWaveform() {
final eventWaveForm = widget.event.content
.tryGetMap<String, dynamic>('org.matrix.msc1767.audio')
?.tryGetList<int>('waveform');
@ -163,6 +163,14 @@ class _AudioPlayerState extends State<AudioPlayerWidget> {
return eventWaveForm;
}
late final List<int> waveform;
@override
void initState() {
super.initState();
waveform = _getWaveform();
}
@override
Widget build(BuildContext context) {
final statusText = this.statusText ??= _durationString ?? '00:00';

View File

@ -125,28 +125,30 @@ class _RecordingDialogState extends State<RecordingDialog> {
),
),
Expanded(
child: Center(
child: Row(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.end,
children: amplitudeTimeline.reversed
.take(26)
.toList()
.reversed
.map((amplitude) => Container(
margin: const EdgeInsets.only(left: 2),
width: 4,
decoration: BoxDecoration(
color: Theme.of(context).colorScheme.primary,
borderRadius:
BorderRadius.circular(AppConfig.borderRadius),
),
height: maxDecibalWidth * (amplitude / 100)))
.toList(),
),
child: Row(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.end,
children: amplitudeTimeline.reversed
.take(26)
.toList()
.reversed
.map((amplitude) => Container(
margin: const EdgeInsets.only(left: 2),
width: 4,
decoration: BoxDecoration(
color: Theme.of(context).colorScheme.primary,
borderRadius:
BorderRadius.circular(AppConfig.borderRadius),
),
height: maxDecibalWidth * (amplitude / 100)))
.toList(),
),
),
Text(time),
const SizedBox(width: 8),
SizedBox(
width: 48,
child: Text(time),
),
],
);
if (PlatformInfos.isCupertinoStyle) {