From 90996d6be72926ad3bb62c81995ac8d66580f4c7 Mon Sep 17 00:00:00 2001 From: Pierre HUBERT Date: Sat, 24 Apr 2021 10:35:12 +0200 Subject: [PATCH] Fix context issue --- lib/forez/ui/routes/forez_route.dart | 3 +++ lib/ui/widgets/init_widget.dart | 8 +++++--- lib/ui/widgets/status_widget.dart | 15 +++++---------- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/lib/forez/ui/routes/forez_route.dart b/lib/forez/ui/routes/forez_route.dart index ba34e33..ace2fa6 100644 --- a/lib/forez/ui/routes/forez_route.dart +++ b/lib/forez/ui/routes/forez_route.dart @@ -1,4 +1,5 @@ import 'package:comunic/forez/helpers/forez_group_helper.dart'; +import 'package:comunic/helpers/events_helper.dart'; import 'package:comunic/models/conversation.dart'; import 'package:comunic/ui/dialogs/alert_dialog.dart'; import 'package:comunic/ui/routes/main_route/main_route.dart'; @@ -69,6 +70,8 @@ class _ForezRouteBodyState extends SafeState { @override void initState() { super.initState(); + + listenChangeState((event) {}); } @override diff --git a/lib/ui/widgets/init_widget.dart b/lib/ui/widgets/init_widget.dart index 206a93c..3c7fd12 100644 --- a/lib/ui/widgets/init_widget.dart +++ b/lib/ui/widgets/init_widget.dart @@ -82,17 +82,19 @@ class _InitializeWidgetState extends SafeState { _error = false; }); - await WebSocketHelper.connect(); - final prefs = await PreferencesHelper.getInstance(); - if (!prefs.getBool(PreferencesKeyList.IS_TOUR_SEEN)) + if (!prefs.getBool(PreferencesKeyList.IS_TOUR_SEEN)) { + await WebSocketHelper.connect(); await showTour(context); + } print("Attempting WebSocket connection..."); if (config().additionalLoading != null) await config().additionalLoading(); + await WebSocketHelper.connect(); + setState(() {}); } catch (e, stack) { print("Could not connect to server! $e"); diff --git a/lib/ui/widgets/status_widget.dart b/lib/ui/widgets/status_widget.dart index 4a22f7c..b84f953 100644 --- a/lib/ui/widgets/status_widget.dart +++ b/lib/ui/widgets/status_widget.dart @@ -34,7 +34,8 @@ class StatusWidgetState extends SafeState { unreadNotifications = res.notifications; unreadConversations = res.conversations; - setState(() {}); + EventsHelper.emit(NewNumberNotifsEvent(unreadNotifications)); + EventsHelper.emit(NewNumberUnreadConversations(unreadConversations)); } catch (e, s) { logError(e, s); print("Failed to initialize StatusWidget!"); @@ -46,11 +47,8 @@ class StatusWidgetState extends SafeState { super.initState(); init(); - listenChangeState( - (e) => unreadNotifications = e.newNum); - - listenChangeState( - (e) => unreadConversations = e.newNum); + listen((e) => unreadNotifications = e.newNum); + listen((e) => unreadConversations = e.newNum); } /// Find an ancestor of this object @@ -58,8 +56,5 @@ class StatusWidgetState extends SafeState { c.findAncestorStateOfType(); @override - Widget build(BuildContext context) => Container( - key: Key("$unreadNotifications-$unreadConversations"), - child: widget.child(context), - ); + Widget build(BuildContext context) => widget.child(context); }