From f8deacd8b6935100c342b7383ee29618102ab574 Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Sat, 13 Jun 2020 10:09:04 +0900 Subject: [PATCH] fullscreen: make sure feedback is dismissed before popping to collection --- lib/widgets/common/action_delegates/feedback.dart | 8 ++++++-- lib/widgets/fullscreen/fullscreen_body.dart | 3 ++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/lib/widgets/common/action_delegates/feedback.dart b/lib/widgets/common/action_delegates/feedback.dart index 9042ab5ad..f9e8b0cae 100644 --- a/lib/widgets/common/action_delegates/feedback.dart +++ b/lib/widgets/common/action_delegates/feedback.dart @@ -4,8 +4,12 @@ import 'package:flutter/material.dart'; import 'package:flutter/scheduler.dart'; mixin FeedbackMixin { + Flushbar _flushbar; + + Future dismissFeedback() => _flushbar?.dismiss(); + void showFeedback(BuildContext context, String message) { - Flushbar( + _flushbar = Flushbar( message: message, margin: const EdgeInsets.all(8), borderRadius: 8, @@ -14,6 +18,6 @@ mixin FeedbackMixin { duration: Durations.opToastDisplay * timeDilation, flushbarPosition: FlushbarPosition.TOP, animationDuration: Durations.opToastAnimation, - ).show(context); + )..show(context); } } diff --git a/lib/widgets/fullscreen/fullscreen_body.dart b/lib/widgets/fullscreen/fullscreen_body.dart index 0bbeaa942..5c58f1f50 100644 --- a/lib/widgets/fullscreen/fullscreen_body.dart +++ b/lib/widgets/fullscreen/fullscreen_body.dart @@ -289,9 +289,10 @@ class FullscreenBodyState extends State with SingleTickerProvide ); } - void _onVerticalPageChanged(int page) { + Future _onVerticalPageChanged(int page) async { _currentVerticalPage.value = page; if (page == transitionPage) { + await _actionDelegate.dismissFeedback(); _onLeave(); Navigator.pop(context); }