getCallLogUserNames static method

Future<String> getCallLogUserNames(
  1. List<String?> callUsers,
  2. CallLogData item
)

Implementation

static Future<String> getCallLogUserNames(
    List<String?> callUsers, CallLogData item) async {
  var membersName = StringBuffer();
  var isMaxMemberNameNotReached = true;
  var spaceAvailable = true;
  // if (item.callState == CallState.missedCall || item.callState == CallState.incomingCall) {
  //   var pair = await AppUtils.getNameAndProfileDetails(item.fromUser!);
  //   membersName.write("${pair.item1}, ");
  // }

  for (var i = 0; i < callUsers.length; i++) {
    if (callUsers[i] != null) {
      var pair = await AppUtils.getNameAndProfileDetails(callUsers[i]!);
      if (i == 0) {
        membersName.write(pair.item1);
        var actualMemberName = AppUtils.getActualMemberName(membersName);
        membersName = actualMemberName.item1;
        isMaxMemberNameNotReached = actualMemberName.item2;
        spaceAvailable = membersName.toString().characters.length <
            Constants.maxNameLength;
        // LogMessage.d("getCallLogUserNames $i", "pair.item1 : ${pair.item1} actualMemberName : $membersName isMaxMemberNameNotReached : $isMaxMemberNameNotReached spaceAvailable : $spaceAvailable");
      } else if (spaceAvailable && isMaxMemberNameNotReached && i == 1) {
        membersName.write(", ${pair.item1}");
        var actualMemberName = AppUtils.getActualMemberName(membersName);
        membersName = actualMemberName.item1;
        isMaxMemberNameNotReached = actualMemberName.item2;
        spaceAvailable = membersName.toString().characters.length <
            Constants.maxNameLength;
        // LogMessage.d("getCallLogUserNames $i", "pair.item1 : ${pair.item1} actualMemberName : $membersName isMaxMemberNameNotReached : $isMaxMemberNameNotReached spaceAvailable : $spaceAvailable");
      } else if (spaceAvailable && isMaxMemberNameNotReached && i == 2) {
        membersName.write(", ${pair.item1}");
        var actualMemberName = AppUtils.getActualMemberName(membersName);
        membersName = actualMemberName.item1;
        spaceAvailable = membersName.toString().characters.length <
            Constants.maxNameLength;
        // LogMessage.d("getCallLogUserNames $i", "pair.item1 : ${pair.item1} actualMemberName : $membersName isMaxMemberNameNotReached : $isMaxMemberNameNotReached spaceAvailable : $spaceAvailable");
      } else {
        membersName.write(" (+${(callUsers.length - i)})");
        // LogMessage.d("getCallLogUserNames $i else", "pair.item1 : ${pair.item1} actualMemberName : $membersName isMaxMemberNameNotReached : $isMaxMemberNameNotReached spaceAvailable : $spaceAvailable");
        break;
      }
    } else {
      break;
    }
  }
  return membersName.toString();
}