Skip to content

Commit fc6bf8b

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 8d2343a commit fc6bf8b

File tree

1 file changed

+15
-14
lines changed

1 file changed

+15
-14
lines changed

lib/model/message_list.dart

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -447,25 +447,26 @@ mixin _MessageSequence {
447447
required MessageListMessageBaseItem Function(bool canShareSender) buildItem,
448448
}) {
449449
final bool canShareSender;
450-
if (
451-
prevMessage == null
452-
|| oneMessagePerBlock
453-
|| !haveSameRecipient(prevMessage, message)
454-
) {
450+
if (prevMessage == null) {
455451
items.add(MessageListRecipientHeaderItem(message));
456452
canShareSender = false;
457453
} else {
458-
assert(items.last is MessageListMessageBaseItem);
459-
final prevMessageItem = items.last as MessageListMessageBaseItem;
460-
assert(identical(prevMessageItem.message, prevMessage));
461-
assert(prevMessageItem.isLastInBlock);
462-
prevMessageItem.isLastInBlock = false;
463-
464-
if (!messagesSameDay(prevMessageItem.message, message)) {
465-
items.add(MessageListDateSeparatorItem(message));
454+
if (oneMessagePerBlock || !haveSameRecipient(prevMessage, message)) {
455+
items.add(MessageListRecipientHeaderItem(message));
466456
canShareSender = false;
467457
} else {
468-
canShareSender = prevMessageItem.message.senderId == message.senderId;
458+
assert(items.last is MessageListMessageBaseItem);
459+
final prevMessageItem = items.last as MessageListMessageBaseItem;
460+
assert(identical(prevMessageItem.message, prevMessage));
461+
assert(prevMessageItem.isLastInBlock);
462+
prevMessageItem.isLastInBlock = false;
463+
464+
if (!messagesSameDay(prevMessageItem.message, message)) {
465+
items.add(MessageListDateSeparatorItem(message));
466+
canShareSender = false;
467+
} else {
468+
canShareSender = prevMessageItem.message.senderId == message.senderId;
469+
}
469470
}
470471
}
471472
final item = buildItem(canShareSender);

0 commit comments

Comments
 (0)