buildGroupTipsText static method

String buildGroupTipsText(
  1. V2TimGroupTipsElem? tips
)

Implementation

static String buildGroupTipsText(V2TimGroupTipsElem? tips) {
  String res = "";
  if (tips != null) {
    int type = tips.type;
    List<V2TimGroupChangeInfo?> groupChangeInfo =
        tips.groupChangeInfoList ?? [];
    List<V2TimGroupMemberChangeInfo?> memberChangeInfo =
        (tips.memberChangeInfoList ?? []);
    List<V2TimGroupMemberInfo?> memberList = (tips.memberList ?? []);
    V2TimGroupMemberInfo opMember = tips.opMember;

    String membersDisplayText = memberList.map((e) => TencentCloudChatUtils.getDisplayNameByV2TimGroupMemberInfo(TencentCloudChatUtils.v2TimGroupMemberInfo2V2TimGroupMemberFullInfo(e))).join(",");
    String opMemberDisplayText = TencentCloudChatUtils.getDisplayNameByV2TimGroupMemberInfo(TencentCloudChatUtils.v2TimGroupMemberInfo2V2TimGroupMemberFullInfo(opMember));

    switch (type) {
      case 0:
        res = tL10n.unknownGroupTips;
        break;
      case 1:
        res = tL10n.memberJoinedGroup(membersDisplayText);
        break;
      case 2:
        res = tL10n.opInvitedToGroup(membersDisplayText, opMemberDisplayText);
        break;
      case 3:
        res = tL10n.memberLeftGroup(membersDisplayText);
        break;
      case 4:
        res =
            tL10n.opRemovedFromGroup(membersDisplayText, opMemberDisplayText);
        break;
      case 5:
        res =
            tL10n.opPromotedToAdmin(membersDisplayText, opMemberDisplayText);
        break;
      case 6:
        res = tL10n.opRevokedAdmin(membersDisplayText, opMemberDisplayText);
        break;
      case 7:
        res = tL10n.opChangedGroupInfo(groupChangeInfo.map((e) => buildGroupChangeInfoText(e)).join(","), opMemberDisplayText);
        break;
      case 9:
        res = tL10n.opChangedMemberInfo(memberChangeInfo.map((e) => buildGroupMemberChangeInfoText(e)).join(","), opMemberDisplayText);
        break;
    }
  }
  return res;
}