initBaseData method

  1. @protected
Future<void> initBaseData({
  1. bool updateTitle = true,
})

Implementation

@protected
Future<void> initBaseData({bool updateTitle = true}) 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);

      if (updateTitle) {
        chatTitle = value!.getName();
      }
      if (value?.user.accountId?.isNotEmpty == true) {
        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;
        if (updateTitle) {
          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();
        });
      }
    });
  }
}