Skip to content

Commit d3d3774

Browse files
committed
recent_senders [nfc]: Make addAll take QueueList instead of List
This will avoid copying the list on each call to `addAll`.
1 parent f74933b commit d3d3774

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

lib/model/recent_senders.dart

+6-6
Original file line numberDiff line numberDiff line change
@@ -34,13 +34,13 @@ class RecentSenders {
3434
/// [messages] should be sorted by [id] ascendingly, which are, the way app
3535
/// receives and handles messages.
3636
void handleMessages(List<Message> messages) {
37-
final messagesByUserInStream = <(int, int), List<int>>{};
38-
final messagesByUserInTopic = <(int, String, int), List<int>>{};
37+
final messagesByUserInStream = <(int, int), QueueList<int>>{};
38+
final messagesByUserInTopic = <(int, String, int), QueueList<int>>{};
3939
for (final message in messages) {
4040
if (message is! StreamMessage) continue;
4141
final StreamMessage(:streamId, :topic, :senderId, id: int messageId) = message;
42-
(messagesByUserInStream[(streamId, senderId)] ??= []).add(messageId);
43-
(messagesByUserInTopic[(streamId, topic, senderId)] ??= []).add(messageId);
42+
(messagesByUserInStream[(streamId, senderId)] ??= QueueList()).add(messageId);
43+
(messagesByUserInTopic[(streamId, topic, senderId)] ??= QueueList()).add(messageId);
4444
}
4545

4646
for (final entry in messagesByUserInStream.entries) {
@@ -128,9 +128,9 @@ class MessageIdTracker {
128128
/// Add the messages IDs to the tracker list at the proper place, if not present.
129129
///
130130
/// [newIds] should be sorted ascendingly.
131-
void addAll(List<int> newIds) {
131+
void addAll(QueueList<int> newIds) {
132132
if (ids.isEmpty) {
133-
ids = QueueList.from(newIds);
133+
ids = newIds;
134134
return;
135135
}
136136
ids = setUnion(ids, newIds);

0 commit comments

Comments
 (0)