V2TimGroupTipsElem.fromJson constructor

V2TimGroupTipsElem.fromJson(
  1. Map json
)

Implementation

V2TimGroupTipsElem.fromJson(Map json) {
  elemType = MessageElemType.V2TIM_ELEM_TYPE_GROUP_TIPS;
  json = Utils.formatJson(json);
  groupID = json['group_tips_elem_group_id'] ?? '';
  _sdkTipsType = json['group_tips_elem_tip_type'] ?? 0;
  type = GroupTipsElemType.GROUP_TIPS_TYPE_INVALID;
  _joinType = null;
  if (_sdkTipsType == CGroupTipsType.GROUP_TIPS_TYPE_JOIN) {
    _joinType = json['group_tips_elem_join_type'];
    if (_joinType == GroupTipsElemType.V2TIM_GROUP_TIPS_TYPE_INVITE) {
      type = GroupTipsElemType.V2TIM_GROUP_TIPS_TYPE_INVITE;
    } else {
      type = GroupTipsElemType.V2TIM_GROUP_TIPS_TYPE_JOIN;
    }
  } else if (_sdkTipsType == CGroupTipsType.GROUP_TIPS_TYPE_QUIT) {
    type = GroupTipsElemType.V2TIM_GROUP_TIPS_TYPE_QUIT;
  } else if (_sdkTipsType == CGroupTipsType.GROUP_TIPS_TYPE_KICK) {
    type = GroupTipsElemType.V2TIM_GROUP_TIPS_TYPE_KICKED;
  } else if (_sdkTipsType == CGroupTipsType.GROUP_TIPS_TYPE_GRANT_ADMINISTRATOR)  {
    type = GroupTipsElemType.V2TIM_GROUP_TIPS_TYPE_SET_ADMIN;
  } else if (_sdkTipsType == CGroupTipsType.GROUP_TIPS_TYPE_REVOKE_ADMINISTRATOR)   {
    type = GroupTipsElemType.V2TIM_GROUP_TIPS_TYPE_CANCEL_ADMIN;
  } else if (_sdkTipsType == CGroupTipsType.GROUP_TIPS_TYPE_GROUP_INFO_CHANGE) {
    type = GroupTipsElemType.V2TIM_GROUP_TIPS_TYPE_GROUP_INFO_CHANGE;
  } else if (_sdkTipsType == CGroupTipsType.GROUP_TIPS_TYPE_GROUP_MEMBER_INFO_CHANGE) {
    type = GroupTipsElemType.V2TIM_GROUP_TIPS_TYPE_MEMBER_INFO_CHANGE;
  } else if (_sdkTipsType == CGroupTipsType.GROUP_TIPS_TYPE_TOPIC_INFO_CHANGE) {
    type = GroupTipsElemType.V2TIM_GROUP_TIPS_TYPE_TOPIC_INFO_CHANGE;
  } else if (_sdkTipsType == CGroupTipsType.GROUP_TIPS_TYPE_PINNED_MESSAGE_ADDED) {
    type = GroupTipsElemType.V2TIM_GROUP_TIPS_TYPE_PINNED_MESSAGE_ADDED;
  } else if (_sdkTipsType == CGroupTipsType.GROUP_TIPS_TYPE_PINNED_MESSAGE_DELETED) {
    type = GroupTipsElemType.V2TIM_GROUP_TIPS_TYPE_PINNED_MESSAGE_DELETED;
  }

  opMember = V2TimGroupMemberInfo.fromJson(json['group_tips_elem_op_group_memberinfo'] ?? {});
  _opUser = V2TimUserFullInfo();
  if (json['group_tips_elem_changed_group_memberinfo_array'] != null) {
    memberList = List.empty(growable: true);
    json['group_tips_elem_changed_group_memberinfo_array'].forEach((v) {
      memberList!.add(V2TimGroupMemberInfo.fromJson(v));
    });
  }
  if (json['group_tips_elem_changed_user_info_array'] != null) {
    _userInfoList = List.empty(growable: true);
    json['group_tips_elem_changed_user_info_array'].forEach((v) {
      _userInfoList!.add(V2TimUserFullInfo.fromJson(v));
    });
  }
  if (json['group_tips_elem_group_change_info_array'] != null) {
    groupChangeInfoList = List.empty(growable: true);
    json['group_tips_elem_group_change_info_array'].forEach((v) {
      groupChangeInfoList!.add(V2TimGroupChangeInfo.fromJson(v));
    });
  }
  if (json['group_tips_elem_member_change_info_array'] != null) {
    memberChangeInfoList = List.empty(growable: true);
    json['group_tips_elem_member_change_info_array'].forEach((v) {
      memberChangeInfoList!.add(V2TimGroupMemberChangeInfo.fromJson(v));
    });
  }
  memberCount = json['group_tips_elem_member_num'];
}