getCallIconByStatus static method

String getCallIconByStatus(
  1. BuildContext context,
  2. BaseMessage baseMessage,
  3. User? loggedInUser,
  4. bool isAudio,
)

Implementation

static String getCallIconByStatus(
    BuildContext context, BaseMessage baseMessage, User? loggedInUser, bool isAudio) {
  String callIcon = "";
  //check if the message is a call message and the receiver type is user
  if (baseMessage is Call) {
    Call call = baseMessage;
    User initiator = call.callInitiator as User;
    //check if the call is initiated
    if (call.callStatus == CallStatusConstants.initiated) {
      //check if the logged in user is the initiator
      if (!isLoggedInUser(initiator, loggedInUser)) {
        callIcon = isAudio? AssetConstants.incomingAudioCallNoFill : AssetConstants.incomingVideoCallNoFill;
      } else {
        callIcon = isAudio? AssetConstants.outgoingAudioCallNoFill : AssetConstants.outgoingVideoCallNoFill;
      }
    }else if(!isLoggedInUser(initiator, loggedInUser) && ( call.callStatus == CallStatusConstants.cancelled || call.callStatus == CallStatusConstants.unanswered || call.callStatus == CallStatusConstants.busy)){
      callIcon = isAudio? AssetConstants.audioMissed : AssetConstants.videoMissed;
    } else {
      callIcon = isAudio? AssetConstants.callNoFill : AssetConstants.videocamNoFill;
    }
  }
  return callIcon;
}