@@ -34,13 +34,13 @@ class RecentSenders {
34
34
/// [messages] should be sorted by [id] ascendingly, which are, the way app
35
35
/// receives and handles messages.
36
36
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 >> {};
39
39
for (final message in messages) {
40
40
if (message is ! StreamMessage ) continue ;
41
41
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);
44
44
}
45
45
46
46
for (final entry in messagesByUserInStream.entries) {
@@ -70,11 +70,11 @@ class RecentSenders {
70
70
void handleDeleteMessageEvent (DeleteMessageEvent event, Map <int , Message > cachedMessages) {
71
71
if (event.messageType != MessageType .stream) return ;
72
72
73
- final messagesByUser = < int , List <int >> {};
73
+ final messagesByUser = < int , QueueList <int >> {};
74
74
for (final id in event.messageIds) {
75
75
final message = cachedMessages[id] as StreamMessage ? ;
76
76
if (message == null ) continue ;
77
- (messagesByUser[message.senderId] ?? = [] ).add (id);
77
+ (messagesByUser[message.senderId] ?? = QueueList () ).add (id);
78
78
}
79
79
80
80
final DeleteMessageEvent (: streamId! , : topic! ) = event;
@@ -128,15 +128,15 @@ class MessageIdTracker {
128
128
/// Add the messages IDs to the tracker list at the proper place, if not present.
129
129
///
130
130
/// [newIds] should be sorted ascendingly.
131
- void addAll (List <int > newIds) {
131
+ void addAll (QueueList <int > newIds) {
132
132
if (ids.isEmpty) {
133
- ids = QueueList . from ( newIds) ;
133
+ ids = newIds;
134
134
return ;
135
135
}
136
136
ids = setUnion (ids, newIds);
137
137
}
138
138
139
- void removeAll (List <int > idsToRemove) {
139
+ void removeAll (QueueList <int > idsToRemove) {
140
140
ids.removeWhere ((id) {
141
141
final i = lowerBound (idsToRemove, id);
142
142
return i < idsToRemove.length && idsToRemove[i] == id;
0 commit comments