initData method

dynamic initData({
  1. 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();
  }
}