@@ -448,25 +448,26 @@ mixin _MessageSequence {
448
448
required MessageListMessageBaseItem Function (bool canShareSender) buildItem,
449
449
}) {
450
450
final bool canShareSender;
451
- if (
452
- prevMessage == null
453
- || oneMessagePerBlock
454
- || ! haveSameRecipient (prevMessage, message)
455
- ) {
451
+ if (prevMessage == null ) {
456
452
items.add (MessageListRecipientHeaderItem (message));
457
453
canShareSender = false ;
458
454
} else {
459
- assert (items.last is MessageListMessageBaseItem );
460
- final prevMessageItem = items.last as MessageListMessageBaseItem ;
461
- assert (identical (prevMessageItem.message, prevMessage));
462
- assert (prevMessageItem.isLastInBlock);
463
- prevMessageItem.isLastInBlock = false ;
464
-
465
- if (! messagesSameDay (prevMessageItem.message, message)) {
466
- items.add (MessageListDateSeparatorItem (message));
455
+ if (oneMessagePerBlock || ! haveSameRecipient (prevMessage, message)) {
456
+ items.add (MessageListRecipientHeaderItem (message));
467
457
canShareSender = false ;
468
458
} else {
469
- canShareSender = prevMessageItem.message.senderId == message.senderId;
459
+ assert (items.last is MessageListMessageBaseItem );
460
+ final prevMessageItem = items.last as MessageListMessageBaseItem ;
461
+ assert (identical (prevMessageItem.message, prevMessage));
462
+ assert (prevMessageItem.isLastInBlock);
463
+ prevMessageItem.isLastInBlock = false ;
464
+
465
+ if (! messagesSameDay (prevMessageItem.message, message)) {
466
+ items.add (MessageListDateSeparatorItem (message));
467
+ canShareSender = false ;
468
+ } else {
469
+ canShareSender = prevMessageItem.message.senderId == message.senderId;
470
+ }
470
471
}
471
472
}
472
473
final item = buildItem (canShareSender);
0 commit comments