From 8ca1151f3ece47783372c99df233c471f9c8e204 Mon Sep 17 00:00:00 2001 From: Christian Pauly Date: Wed, 11 Aug 2021 22:04:55 +0200 Subject: [PATCH] fix: Missing null check --- lib/pages/recording_dialog.dart | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/lib/pages/recording_dialog.dart b/lib/pages/recording_dialog.dart index 70747efd..f87f5604 100644 --- a/lib/pages/recording_dialog.dart +++ b/lib/pages/recording_dialog.dart @@ -42,10 +42,11 @@ class _RecordingDialogState extends State { path: _recordedPath, encoder: AudioEncoder.AAC); setState(() => _duration = Duration.zero); _recorderSubscription?.cancel(); - _recorderSubscription = Timer.periodic(Duration(seconds: 1), (_) async { + _recorderSubscription = + Timer.periodic(Duration(milliseconds: 100), (_) async { _amplitude = await _audioRecorder.getAmplitude(); setState(() { - _duration += Duration(seconds: 1); + _duration += Duration(milliseconds: 100); }); }); } catch (e, s) { @@ -71,8 +72,9 @@ class _RecordingDialogState extends State { @override Widget build(BuildContext context) { const maxDecibalWidth = 64.0; - final decibalWidth = ((_amplitude.current / _amplitude.max) * 2) * - (maxDecibalWidth / 4).toDouble(); + final decibalWidth = + ((_amplitude == null ? 0 : _amplitude.current / _amplitude.max) * 2) * + (maxDecibalWidth / 4).toDouble(); final time = '${_duration.inMinutes.toString().padLeft(2, '0')}:${(_duration.inSeconds % 60).toString().padLeft(2, '0')}'; @@ -86,7 +88,7 @@ class _RecordingDialogState extends State { height: maxDecibalWidth, alignment: Alignment.center, child: AnimatedContainer( - duration: Duration(seconds: 1), + duration: Duration(milliseconds: 100), width: decibalWidth, height: decibalWidth, decoration: BoxDecoration(