mergeIncomeNewMessages<T> abstract method
List<T>
mergeIncomeNewMessages<T>({
- required List<
T> messages, - required bool isAddTop,
- required List<
T> addedMsgs, - required DateTime getMsgTime(
- T msg
- required bool isTimeTagMsg(
- T msg
- required T onCreateTimeTag(
- DateTime time
- required List<
String> timeTagPolicies, - required String getMsgId(
- T msg
- bool needRegenerateTimeTag = false,
- Add
addedMsgs
intomessages
and remove duplicated messages - Generate time tag amount
addedMsgs
(keep time tag in messages not to change) iftimeTagPolicies
is"5m", "20m", "1h", "3h"
, is mean create a tag in 5min, 20min, 1hour and 3 hour, after that 3hours, create a time tag each 3 hours Notice, messsages and addedMsgs should be already ordered by time asc. It mean the function will not sort again
Implementation
List<T> mergeIncomeNewMessages<T>(
{required List<T> messages,
required bool isAddTop,
required List<T> addedMsgs,
required DateTime Function(T msg) getMsgTime,
required bool Function(T msg) isTimeTagMsg,
required T Function(DateTime time) onCreateTimeTag,
required List<String> timeTagPolicies,
required String Function(T msg) getMsgId,
bool needRegenerateTimeTag = false});