+ isNewGroup = true;
+ var results = m.createGroup(groupName,
+ groupMembers,
+ groupAvatar == null ? null : new File(groupAvatar));
+ groupMessageResults = results.second();
+ groupId = results.first();
+ groupName = null;
+ groupMembers = null;
+ groupAvatar = null;
+ }
+
+ var results = m.updateGroup(groupId,
+ UpdateGroup.newBuilder()
+ .withName(groupName)
+ .withDescription(groupDescription)
+ .withMembers(groupMembers)
+ .withRemoveMembers(groupRemoveMembers)
+ .withAdmins(groupAdmins)
+ .withRemoveAdmins(groupRemoveAdmins)
+ .withResetGroupLink(groupResetLink)
+ .withGroupLinkState(groupLinkState)
+ .withAddMemberPermission(groupAddMemberPermission)
+ .withEditDetailsPermission(groupEditDetailsPermission)
+ .withAvatarFile(groupAvatar == null ? null : new File(groupAvatar))
+ .withExpirationTimer(groupExpiration)
+ .withIsAnnouncementGroup(groupSendMessagesPermission == null
+ ? null
+ : groupSendMessagesPermission == GroupPermission.ONLY_ADMINS)
+ .build());
+ if (results != null) {
+ if (groupMessageResults == null) {
+ groupMessageResults = results;
+ } else {
+ groupMessageResults = new SendGroupMessageResults(results.timestamp(),
+ Stream.concat(groupMessageResults.results().stream(), results.results().stream())
+ .collect(Collectors.toList()));
+ }