From 24eca0a9c398b26c2f810e5efae5e09517176458 Mon Sep 17 00:00:00 2001 From: Salvatore Giordano Date: Fri, 22 May 2020 16:33:47 +0200 Subject: [PATCH] update event listeners --- lib/src/channel_list_view.dart | 17 +++++++++++++++++ lib/src/channels_bloc.dart | 24 +++--------------------- 2 files changed, 20 insertions(+), 21 deletions(-) diff --git a/lib/src/channel_list_view.dart b/lib/src/channel_list_view.dart index d94bf3c8..27f1a5b4 100644 --- a/lib/src/channel_list_view.dart +++ b/lib/src/channel_list_view.dart @@ -370,6 +370,23 @@ class _ChannelListViewState extends State } }); }); + + final client = StreamChat.of(context).client; + + client + .on( + EventType.connectionRecovered, + EventType.notificationAddedToChannel, + EventType.channelVisible, + ) + .listen((event) { + channelsBloc.queryChannels( + filter: widget.filter, + sortOptions: widget.sort, + paginationParams: widget.pagination, + options: widget.options, + ); + }); } @override diff --git a/lib/src/channels_bloc.dart b/lib/src/channels_bloc.dart index d21d7cea..b38c6030 100644 --- a/lib/src/channels_bloc.dart +++ b/lib/src/channels_bloc.dart @@ -122,31 +122,13 @@ class ChannelsBlocState extends State } })); - _subscriptions.add(client.on(EventType.channelDeleted).listen((e) { + _subscriptions.add(client + .on(EventType.channelDeleted, EventType.notificationRemovedFromChannel) + .listen((e) { final channel = e.channel; _channelsController .add(List.from(channels..removeWhere((c) => c.cid == channel.cid))); })); - - _subscriptions - .add(client.on(EventType.notificationAddedToChannel).listen((e) async { - final channelModel = e.channel; - final channel = Channel( - client, - channelModel.type, - channelModel.id, - channelModel.extraData, - ); - await channel.watch(); - _channelsController.add(List.from(channels..insert(0, channel))); - })); - - _subscriptions.add( - client.on(EventType.notificationRemovedFromChannel).listen((e) async { - final channelModel = e.channel; - _channelsController.add( - List.from(channels..removeWhere((c) => c.cid == channelModel.cid))); - })); } @override