compareOldestFirst static method
最旧在前(UI 列表:旧→新) seq<=0 排在已同步消息之后(底部),避免打字机结束后气泡「消失」
Implementation
static int compareOldestFirst(Message a, Message b) {
final aSynced = a.seq > 0;
final bSynced = b.seq > 0;
if (aSynced != bSynced) return aSynced ? -1 : 1;
if (aSynced) {
final bySeq = a.seq.compareTo(b.seq);
if (bySeq != 0) return bySeq;
}
final byTime = a.sendTime.compareTo(b.sendTime);
if (byTime != 0) return byTime;
return a.msgId.compareTo(b.msgId);
}