stub of new cache
This commit is contained in:
parent
e7b9f5bb96
commit
d5cb37ed9c
|
@ -19,7 +19,6 @@ class ContactInfoState extends ChangeNotifier {
|
||||||
late int _totalMessages = 0;
|
late int _totalMessages = 0;
|
||||||
late DateTime _lastMessageTime;
|
late DateTime _lastMessageTime;
|
||||||
late Map<String, GlobalKey<MessageRowState>> keys;
|
late Map<String, GlobalKey<MessageRowState>> keys;
|
||||||
late List<MessageCache?> messageCache;
|
|
||||||
int _newMarker = 0;
|
int _newMarker = 0;
|
||||||
DateTime _newMarkerClearAt = DateTime.now();
|
DateTime _newMarkerClearAt = DateTime.now();
|
||||||
|
|
||||||
|
@ -198,7 +197,7 @@ class ContactInfoState extends ChangeNotifier {
|
||||||
}
|
}
|
||||||
|
|
||||||
void updateMessageCache(int conversation, int messageID, DateTime timestamp, String senderHandle, String senderImage, bool isAuto, String data) {
|
void updateMessageCache(int conversation, int messageID, DateTime timestamp, String senderHandle, String senderImage, bool isAuto, String data) {
|
||||||
this.messageCache.insert(0, MessageCache(MessageMetadata(profileOnion, conversation, messageID, timestamp, senderHandle, senderImage, "", {}, false, false, isAuto), data));
|
this.messageCache.insert(0, MessageInfo(MessageMetadata(profileOnion, conversation, messageID, timestamp, senderHandle, senderImage, "", {}, false, false, isAuto), data));
|
||||||
this.totalMessages += 1;
|
this.totalMessages += 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,32 @@
|
||||||
import 'message.dart';
|
import 'message.dart';
|
||||||
|
|
||||||
class MessageCache {
|
class MessageInfo {
|
||||||
final MessageMetadata metadata;
|
final MessageMetadata metadata;
|
||||||
final String wrapper;
|
final String wrapper;
|
||||||
MessageCache(this.metadata, this.wrapper);
|
MessageInfo(this.metadata, this.wrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class MessageCache {
|
||||||
|
late Map<int, MessageInfo> cache;
|
||||||
|
late List<int?> cacheByIndex;
|
||||||
|
|
||||||
|
MessageCache() {
|
||||||
|
this.cache = {};
|
||||||
|
this.cacheByIndex = List.empty(growable: true);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void addNew(int conversation, int messageID, DateTime timestamp, String senderHandle, String senderImage, bool isAuto, String data) {
|
||||||
|
this.cache[messageID] = MessageInfo(MessageMetadata(profileOnion, conversation, messageID, timestamp, senderHandle, senderImage, "", {}, false, false, isAuto), data);
|
||||||
|
this.cacheByIndex.insert(0, messageID);
|
||||||
|
}
|
||||||
|
|
||||||
|
void bumpMessageCache() {
|
||||||
|
this.messageCache.insert(0, null);
|
||||||
|
this.totalMessages += 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
void ackCache(int messageID) {
|
||||||
|
cache[messageID]?.metadata.ackd = true;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue