wip message_list_core

This commit is contained in:
Neevash Ramdial
2021-04-20 10:35:40 +02:00
committed by Salvatore Giordano
parent 2f4595c379
commit e52e79bafa
@@ -128,7 +128,7 @@ class MessageListCoreState extends State<MessageListCore> {
: _streamChannel.channel.state?.messagesStream; : _streamChannel.channel.state?.messagesStream;
bool defaultFilter(Message m) { bool defaultFilter(Message m) {
final isMyMessage = m.user.id == _currentUser.id; final isMyMessage = m.user?.id == _currentUser?.id;
final isDeletedOrShadowed = m.isDeleted == true || m.shadowed == true; final isDeletedOrShadowed = m.isDeleted == true || m.shadowed == true;
if (isDeletedOrShadowed && !isMyMessage) return false; if (isDeletedOrShadowed && !isMyMessage) return false;
return true; return true;
@@ -136,14 +136,17 @@ class MessageListCoreState extends State<MessageListCore> {
return StreamBuilder<List<Message>?>( return StreamBuilder<List<Message>?>(
stream: messagesStream?.map((messages) => stream: messagesStream?.map((messages) =>
messages?.where(widget.messageFilter ?? defaultFilter)?.toList()), messages?.where(widget.messageFilter ?? defaultFilter).toList(
growable: false,
)),
builder: (context, snapshot) { builder: (context, snapshot) {
if (snapshot.hasError) { if (snapshot.hasError) {
return widget.errorWidgetBuilder(context, snapshot.error); return widget.errorWidgetBuilder(context, snapshot.error);
} else if (!snapshot.hasData) { } else if (!snapshot.hasData) {
return widget.loadingBuilder(context); return widget.loadingBuilder(context);
} else { } else {
final messageList = snapshot.data?.reversed?.toList() ?? []; final messageList =
snapshot.data?.reversed.toList(growable: false) ?? [];
if (messageList.isEmpty && !_isThreadConversation) { if (messageList.isEmpty && !_isThreadConversation) {
if (_upToDate) { if (_upToDate) {
return widget.emptyBuilder(context); return widget.emptyBuilder(context);