handleCustomMessage static method
Implementation
static (String, String?, IconData?) handleCustomMessage(
V2TimMessage message) {
final customElem = message.customElem;
String lineOne = "[${tL10n.custom}]";
String? lineTwo;
IconData? icon;
if (customElem?.data == "group_create") {
lineOne = "Group chat created successfully!";
}
if (isVoteMessage(message)) {
lineOne = "[${tL10n.poll}]";
}
if (isRobotMessage(message)) {
lineOne = "[机器人消息]";
}
final callingMessage = CallingMessage.getCallMessage(customElem);
if (callingMessage != null) {
// If it's an end message
final isCallEnd = CallingMessage.isCallEndExist(callingMessage);
final isVoiceCall = callingMessage.callType == 1;
String? callTime = "";
if (isCallEnd) {
callTime = CallingMessage.getShowTime(callingMessage.callEnd!);
}
lineTwo = isCallEnd
? tL10n.callDuration(callTime ?? "0")
: CallingMessage.getActionType(callingMessage);
lineOne = isVoiceCall ? tL10n.voiceCall : tL10n.videoCall;
icon = isVoiceCall ? Icons.call : Icons.video_call_outlined;
}
if (lineOne == "[${tL10n.custom}]") {
debugPrint(message.customElem!.toJson().toString());
}
return (lineOne, lineTwo, icon);
}