setTypingStatus method

void setTypingStatus(
  1. String singleOrgroupJid,
  2. String userId,
  3. String typingStatus
)

Implementation

void setTypingStatus(
    String singleOrgroupJid, String userId, String typingStatus) {
  if (profile.jid.checkNull() == singleOrgroupJid) {
    var jid = profile.isGroupProfile ?? false ? userId : singleOrgroupJid;
    if (!typingList.contains(jid)) {
      typingList.add(jid);
    }
    if (typingStatus.toLowerCase() == Constants.composing) {
      if (profile.isGroupProfile ?? false) {
        groupParticipantsName(Constants.emptyString);
        getProfileDetails(jid)
            .then((value) => userPresenceStatus("${value.name} typing..."));
      } else {
        //if(!profile.isGroupProfile!){//commented if due to above if condition works
        userPresenceStatus(AppConstants.typing);
      }
    } else {
      if (typingList.isNotEmpty && typingList.contains(jid)) {
        typingList.remove(jid);
        userPresenceStatus(Constants.emptyString);
      }
      setChatStatus();
    }
  }
}