initData method

dynamic initData()

Implementation

initData() async {
  _sessionId = (await NimCore.instance.conversationIdUtil
          .conversationTargetId(conversationId))
      .data;
  if (conversationType == NIMConversationType.p2p && _sessionId != null) {
    getIt<ContactProvider>().getContact(_sessionId!).then((value) {
      contactInfo = value;
      chatTitle = value!.getName();
      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();
        });
      }
    });
  }
  _initFetch();
}