ClientState constructor
ClientState(
- StreamChatClient _client
Creates a new instance listening to events and updating the state
Implementation
ClientState(this._client) {
_subscriptions.addAll([
_client
.on()
.where((event) =>
event.me != null && event.type != EventType.healthCheck)
.map((e) => e.me!)
.listen((user) => currentUser = currentUser?.merge(user) ?? user),
_client
.on()
.map((event) => event.unreadChannels)
.whereType<int>()
.listen((count) {
currentUser = currentUser?.copyWith(unreadChannels: count);
}),
_client
.on()
.map((event) => event.totalUnreadCount)
.whereType<int>()
.listen((count) {
currentUser = currentUser?.copyWith(totalUnreadCount: count);
}),
]);
_listenChannelDeleted();
_listenChannelHidden();
_listenUserUpdated();
_listenAllChannelsRead();
}