diff --git a/app/lib/dashboard/dashboard_page.dart b/app/lib/dashboard/dashboard_page.dart index 4c32cfbbc..f67957a45 100644 --- a/app/lib/dashboard/dashboard_page.dart +++ b/app/lib/dashboard/dashboard_page.dart @@ -123,6 +123,8 @@ class _AdsInfoDialogListener extends StatefulWidget { } class _AdsInfoDialogListenerState extends State<_AdsInfoDialogListener> { + // The AdsController already has a flag for this, but just to be safe for race + // conditions, we also keep track of it here. bool hasShownDialog = false; @override @@ -130,6 +132,8 @@ class _AdsInfoDialogListenerState extends State<_AdsInfoDialogListener> { final showDialog = context.watch().shouldShowInfoDialog; if (showDialog && !hasShownDialog) { hasShownDialog = true; + context.read().shouldShowInfoDialog = false; + WidgetsBinding.instance.addPostFrameCallback((_) { showAdInfoDialog(context); });