File tree Expand file tree Collapse file tree 4 files changed +17
-18
lines changed
app/src/main/java/org/thoughtcrime/securesms/groups Expand file tree Collapse file tree 4 files changed +17
-18
lines changed Original file line number Diff line number Diff line change @@ -622,39 +622,35 @@ class GroupManagerV2Impl @Inject constructor(
622622 .mapNotNull { (member, result) ->
623623 configs.groupMembers.get(member.hexString)?.apply {
624624 if (result.isFailure) {
625- configs.groupMembers.get(member.hexString)?.let { member ->
626- member.setPromotionFailed()
627- configs.groupMembers.set(member)
628- }
625+ setPromotionFailed()
629626 }
630627 }
631628 }
632629 .forEach(configs.groupMembers::set)
633630 }
634631
632+ if (! isRepromote) {
633+ messageSender.sendAndAwait(message, Address .fromSerialized(group.hexString))
634+ }
635+
635636 val failedMembers = promotedByMemberIDs
636637 .filterValues { it.isFailure }
637638 .keys
638- .toList()
639+ .map { it.hexString }
639640
640641 if (failedMembers.isNotEmpty()) {
641642 val cause = promotedByMemberIDs.values
642- .firstOrNull { it.isFailure }
643- ?.exceptionOrNull()
643+ .firstOrNull { it.isFailure }?.exceptionOrNull()
644644 ? : RuntimeException (" Failed to promote ${failedMembers.size} member(s)" )
645645
646646 throw GroupInviteException (
647647 isPromotion = true ,
648- inviteeAccountIds = failedMembers.map { it.hexString } ,
648+ inviteeAccountIds = failedMembers,
649649 groupName = groupName ? : " " ,
650650 isReinvite = isRepromote,
651651 underlying = cause
652652 )
653653 }
654-
655- if (! isRepromote) {
656- messageSender.sendAndAwait(message, Address .fromSerialized(group.hexString))
657- }
658654 }
659655 }
660656
Original file line number Diff line number Diff line change @@ -90,7 +90,8 @@ class InviteMembersViewModel @AssistedInject constructor(
9090 selected : Set <SelectedContact >,
9191 ): InviteContactsDialogState {
9292 val count = selected.size
93- val firstMember = selected.firstOrNull()
93+ val sortedMembers = selected.sortedBy { it.address }
94+ val firstMember = sortedMembers.firstOrNull()
9495
9596 val body: CharSequence = when (count) {
9697 1 -> {
@@ -103,7 +104,7 @@ class InviteMembersViewModel @AssistedInject constructor(
103104 }
104105 }
105106 2 -> {
106- val secondMember = selected .elementAtOrNull(1 )?.name
107+ val secondMember = sortedMembers .elementAtOrNull(1 )?.name
107108 Phrase .from(context, R .string.membersInviteShareDescriptionTwo)
108109 .put(NAME_KEY , firstMember?.name)
109110 .put(OTHER_NAME_KEY , secondMember)
Original file line number Diff line number Diff line change @@ -303,7 +303,8 @@ class ManageGroupMembersViewModel @AssistedInject constructor(
303303 group : String
304304 ): RemoveMembersDialogState {
305305 val count = selected.size
306- val firstMember = selected.firstOrNull()
306+ val sortedMembers = selected.sortedBy { it.accountId }
307+ val firstMember = sortedMembers.firstOrNull()
307308
308309 val body: CharSequence = when (count) {
309310 1 -> Phrase .from(context, R .string.groupRemoveDescription)
@@ -312,7 +313,7 @@ class ManageGroupMembersViewModel @AssistedInject constructor(
312313 .format()
313314
314315 2 -> {
315- val secondMember = selected .elementAtOrNull(1 )?.name
316+ val secondMember = sortedMembers .elementAtOrNull(1 )?.name
316317 Phrase .from(context, R .string.groupRemoveDescriptionTwo)
317318 .put(NAME_KEY , firstMember?.name)
318319 .put(OTHER_NAME_KEY , secondMember)
Original file line number Diff line number Diff line change @@ -137,7 +137,8 @@ class PromoteMembersViewModel @AssistedInject constructor(
137137 selected : Set <GroupMemberState >
138138 ): String {
139139 val count = selected.size
140- val firstMember = selected.firstOrNull()
140+ val sortedMembers = selected.sortedBy { it.accountId }
141+ val firstMember = sortedMembers.firstOrNull()
141142
142143 val body: CharSequence = when (count) {
143144 1 -> {
@@ -147,7 +148,7 @@ class PromoteMembersViewModel @AssistedInject constructor(
147148 }
148149
149150 2 -> {
150- val secondMember = selected .elementAtOrNull(1 )?.name
151+ val secondMember = sortedMembers .elementAtOrNull(1 )?.name
151152 Phrase .from(context, R .string.adminPromoteTwoDescription)
152153 .put(NAME_KEY , firstMember?.name)
153154 .put(OTHER_NAME_KEY , secondMember)
You can’t perform that action at this time.
0 commit comments