From 6c3ec82dba0748861cff8d964a46bb4bd20ba96a Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Fri, 16 Jul 2021 17:53:40 +0900 Subject: [PATCH] minor change --- lib/widgets/common/action_mixins/feedback.dart | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/lib/widgets/common/action_mixins/feedback.dart b/lib/widgets/common/action_mixins/feedback.dart index 3a57a6f8c..7b6ece415 100644 --- a/lib/widgets/common/action_mixins/feedback.dart +++ b/lib/widgets/common/action_mixins/feedback.dart @@ -157,7 +157,8 @@ class _FeedbackMessage extends StatefulWidget { } class _FeedbackMessageState extends State<_FeedbackMessage> { - late int _totalSecs, _elapsedSecs = 0; + double _percent = 0; + late int _remainingSecs; Timer? _timer; @override @@ -165,10 +166,11 @@ class _FeedbackMessageState extends State<_FeedbackMessage> { super.initState(); final duration = widget.duration; if (duration != null) { - _totalSecs = duration.inSeconds; + _remainingSecs = duration.inSeconds; _timer = Timer.periodic(const Duration(seconds: 1), (_) { - setState(() => _elapsedSecs++); + setState(() => _remainingSecs--); }); + WidgetsBinding.instance!.addPostFrameCallback((_) => setState(() => _percent = 1.0)); } } @@ -189,14 +191,14 @@ class _FeedbackMessageState extends State<_FeedbackMessage> { Expanded(child: text), const SizedBox(width: 16), CircularPercentIndicator( - percent: (_elapsedSecs.toDouble() / (_totalSecs - 1)).clamp(0.0, 1.0), + percent: _percent, lineWidth: 2, radius: 32, backgroundColor: Theme.of(context).accentColor, progressColor: Colors.grey, animation: true, - animationDuration: 1000, - center: Text('${_totalSecs - _elapsedSecs}'), + animationDuration: duration.inMilliseconds, + center: Text('$_remainingSecs'), animateFromLastPercent: true, reverse: true, ),