diff --git a/integration_test/core/app_launcher.dart b/integration_test/core/app_launcher.dart index cdc48ab17..6f12bec19 100644 --- a/integration_test/core/app_launcher.dart +++ b/integration_test/core/app_launcher.dart @@ -3,15 +3,11 @@ import "dart:async"; import "package:cake_wallet/main.dart" as app; import "package:flutter/foundation.dart"; import "package:flutter_test/flutter_test.dart"; -import "package:integration_test/integration_test.dart"; import "benign_errors.dart"; void integrationTest(String description, Future Function(WidgetTester tester) body) { testWidgets(description, (tester) async { - IntegrationTestWidgetsFlutterBinding.instance.framePolicy = - LiveTestWidgetsFlutterBindingFramePolicy.fullyLive; - final completer = Completer(); final run = runZonedGuarded(() async { diff --git a/lib/src/screens/auth/auth_page.dart b/lib/src/screens/auth/auth_page.dart index df1b72b39..495328468 100644 --- a/lib/src/screens/auth/auth_page.dart +++ b/lib/src/screens/auth/auth_page.dart @@ -116,9 +116,9 @@ class AuthPagePinCodeStateImpl extends AuthPageState { /// not the best scenario, but WidgetsBinding is not behaving correctly on Android await Future.delayed(Duration(milliseconds: 50)); - await _authBar?.dismiss(); + await _removeBar(_authBar); await Future.delayed(Duration(milliseconds: 50)); - await _progressBar?.dismiss(); + await _removeBar(_progressBar); await Future.delayed(Duration(milliseconds: 50)); if (route != null) { Navigator.of(_key.currentContext!).pushReplacementNamed(route, arguments: arguments); @@ -153,6 +153,21 @@ class AuthPagePinCodeStateImpl extends AuthPageState { ); } + Future _removeBar(Flushbar? bar) async { + final barRoute = bar?.flushbarRoute; + + if (bar == null || barRoute == null || !barRoute.isActive) { + return; + } + + if (bar.isShowing()) { + await bar.dismiss(); + return; + } + + barRoute.navigator?.removeRoute(barRoute); + } + void dismissFlushBar(Flushbar? bar) { WidgetsBinding.instance.addPostFrameCallback((_) async { await bar?.dismiss();