prepareForAnchorLoading method
void
prepareForAnchorLoading(
{ - NIMMessage? visibleThrough,
})
Implementation
@protected
void prepareForAnchorLoading({NIMMessage? visibleThrough}) {
showNewMessage = false;
if (visibleThrough != null) {
newMessages.removeWhere(
(message) => _isMessageCoveredByAnchor(
message.nimMessage,
visibleThrough,
),
);
}
final pending = _routePendingNewMessages.remove(
routePendingNewMessageKey,
);
if (pending?.isNotEmpty != true) {
return;
}
final messagesToRestore = visibleThrough == null
? pending!
: pending!
.where(
(message) => !_isMessageCoveredByAnchor(message, visibleThrough),
)
.toList();
if (messagesToRestore.isNotEmpty) {
unawaited(_restoreRoutePendingNewMessages(messagesToRestore));
}
}