Skip to content

Commit f060dc0

Browse files
committed
msglist [nfc]: Make a common codepath for prevMessage != null
I.e., the top of the `else` that belongs to the `if (prevMessage == null)`. We'll use this to implement MessageListMessageBaseItem.isLastInFeed, coming up.
1 parent 83dfd96 commit f060dc0

File tree

1 file changed

+15
-10
lines changed

1 file changed

+15
-10
lines changed

lib/model/message_list.dart

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -435,21 +435,26 @@ mixin _MessageSequence {
435435
required MessageListMessageBaseItem Function(bool canShareSender) buildItem,
436436
}) {
437437
final bool canShareSender;
438-
if (prevMessage == null || !haveSameRecipient(prevMessage, message)) {
438+
if (prevMessage == null) {
439439
items.add(MessageListRecipientHeaderItem(message));
440440
canShareSender = false;
441441
} else {
442-
assert(items.last is MessageListMessageBaseItem);
443-
final prevMessageItem = items.last as MessageListMessageBaseItem;
444-
assert(identical(prevMessageItem.message, prevMessage));
445-
assert(prevMessageItem.isLastInBlock);
446-
prevMessageItem.isLastInBlock = false;
447-
448-
if (!messagesSameDay(prevMessageItem.message, message)) {
449-
items.add(MessageListDateSeparatorItem(message));
442+
if (!haveSameRecipient(prevMessage, message)) {
443+
items.add(MessageListRecipientHeaderItem(message));
450444
canShareSender = false;
451445
} else {
452-
canShareSender = prevMessageItem.message.senderId == message.senderId;
446+
assert(items.last is MessageListMessageBaseItem);
447+
final prevMessageItem = items.last as MessageListMessageBaseItem;
448+
assert(identical(prevMessageItem.message, prevMessage));
449+
assert(prevMessageItem.isLastInBlock);
450+
prevMessageItem.isLastInBlock = false;
451+
452+
if (!messagesSameDay(prevMessageItem.message, message)) {
453+
items.add(MessageListDateSeparatorItem(message));
454+
canShareSender = false;
455+
} else {
456+
canShareSender = prevMessageItem.message.senderId == message.senderId;
457+
}
453458
}
454459
}
455460
final item = buildItem(canShareSender);

0 commit comments

Comments
 (0)