initData method
dynamic
initData({
- NIMMessage? anchorMessage,
Implementation
initData({NIMMessage? anchorMessage}) async {
int v = await ConfigRepo.getAudioPlayModel();
voiceFromSpeaker = v == ConfigRepo.audioPlayOutside;
_sessionId = (await NimCore.instance.conversationIdUtil
.conversationTargetId(conversationId))
.data;
if (conversationType == NIMConversationType.p2p && _sessionId != null) {
getIt<ContactProvider>().getContact(_sessionId!).then((value) {
updateContactInfo(value);
chatTitle = value!.getName();
initUserState(value.user.accountId!);
notifyListeners();
});
ChatMessageRepo.getP2PMessageReceipt(conversationId).then((result) {
if (result.isSuccess && result.data?.timestamp != null) {
receiptTime = result.data!.timestamp!;
}
});
} else if (conversationType == NIMConversationType.team &&
_sessionId != null) {
ChatMessageRepo.queryTeam(_sessionId!).then((value) {
if (value.isSuccess) {
teamInfo = value.data;
chatTitle = value.data!.name;
NIMChatCache.instance.getMyTeamMember(_sessionId!).then((value) {
mute = (teamInfo?.chatBannedMode ==
NIMTeamChatBannedMode.chatBannedModeBannedNormal &&
value?.teamInfo.memberRole ==
NIMTeamMemberRole.memberRoleNormal) ||
teamInfo?.chatBannedMode ==
NIMTeamChatBannedMode.chatBannedModeBannedAll;
notifyListeners();
});
}
});
}
if (anchorMessage != null) {
loadMessageWithAnchor(anchorMessage!);
} else if (this.findAnchorDate != null) {
loadMessageWithAnchorDate(this.findAnchorDate!);
} else {
_initFetch();
}
}