Skip to content

Commit d2206c5

Browse files
authored
fix: disable addMember on a one-on-one conversation with deleted account (WPB-10259) (#3473)
1 parent dc785a8 commit d2206c5

File tree

2 files changed

+17
-9
lines changed

2 files changed

+17
-9
lines changed

app/src/main/kotlin/com/wire/android/ui/home/conversations/details/GroupConversationDetailsScreen.kt

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -240,7 +240,11 @@ fun GroupConversationDetailsScreen(
240240
},
241241
isLoading = viewModel.requestInProgress,
242242
onSearchConversationMessagesClick = onSearchConversationMessagesClick,
243-
onConversationMediaClick = onConversationMediaClick
243+
onConversationMediaClick = onConversationMediaClick,
244+
isAbandonedOneOnOneConversation = viewModel.conversationSheetContent?.isAbandonedOneOnOneConversation(
245+
viewModel.groupParticipantsState.data.allCount
246+
) ?: false
247+
244248
)
245249

246250
val tryAgainSnackBarMessage = stringResource(id = R.string.error_unknown_message)
@@ -280,6 +284,7 @@ private fun GroupConversationDetailsContent(
280284
onDeleteGroup: (GroupDialogState) -> Unit,
281285
groupParticipantsState: GroupConversationParticipantsState,
282286
isLoading: Boolean,
287+
isAbandonedOneOnOneConversation: Boolean,
283288
onSearchConversationMessagesClick: () -> Unit,
284289
onConversationMediaClick: () -> Unit
285290
) {
@@ -390,7 +395,7 @@ private fun GroupConversationDetailsContent(
390395
}
391396

392397
GroupConversationDetailsTabItem.PARTICIPANTS -> {
393-
if (groupParticipantsState.addParticipantsEnabled) {
398+
if (groupParticipantsState.addParticipantsEnabled && !isAbandonedOneOnOneConversation) {
394399
Box(modifier = Modifier.padding(MaterialTheme.wireDimensions.spacing16x)) {
395400
WirePrimaryButton(
396401
text = stringResource(R.string.conversation_details_group_participants_add),
@@ -426,10 +431,6 @@ private fun GroupConversationDetailsContent(
426431
groupParticipantsState = groupParticipantsState,
427432
onProfilePressed = onProfilePressed,
428433
lazyListState = lazyListStates[pageIndex],
429-
isAbandonedOneOnOneConversation = conversationSheetState.conversationSheetContent?.isAbandonedOneOnOneConversation(
430-
groupParticipantsState.data.allCount
431-
) ?: false
432-
433434
)
434435
}
435436
}
@@ -610,7 +611,8 @@ fun PreviewGroupConversationDetails() {
610611
onEditSelfDeletingMessages = {},
611612
onEditGuestAccess = {},
612613
onSearchConversationMessagesClick = {},
613-
onConversationMediaClick = {}
614+
onConversationMediaClick = {},
615+
isAbandonedOneOnOneConversation = false
614616
)
615617
}
616618
}

app/src/main/kotlin/com/wire/android/ui/home/conversations/details/participants/GroupConversationParticipants.kt

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,14 +55,14 @@ import com.wire.kalium.logic.data.user.SupportedProtocol
5555
fun GroupConversationParticipants(
5656
onProfilePressed: (UIParticipant) -> Unit,
5757
groupParticipantsState: GroupConversationParticipantsState,
58+
modifier: Modifier = Modifier,
5859
lazyListState: LazyListState = rememberLazyListState(),
59-
isAbandonedOneOnOneConversation: Boolean = false
6060
) {
6161
val context = LocalContext.current
6262
Column {
6363
LazyColumn(
6464
state = lazyListState,
65-
modifier = Modifier.fillMaxSize()
65+
modifier = modifier.fillMaxSize()
6666
) {
6767
item(key = "participants_list_header") {
6868
if (BuildConfig.MLS_SUPPORT_ENABLED && BuildConfig.DEVELOPER_FEATURES_ENABLED) {
@@ -128,6 +128,12 @@ fun PreviewGroupConversationParticipants() = WireTheme {
128128
GroupConversationParticipants({}, GroupConversationParticipantsState.PREVIEW)
129129
}
130130

131+
@PreviewMultipleThemes
132+
@Composable
133+
fun PreviewGroupConversationParticipantsAdandonedOneOnOne() = WireTheme {
134+
GroupConversationParticipants({}, GroupConversationParticipantsState.PREVIEW)
135+
}
136+
131137
@PreviewMultipleThemes
132138
@Composable
133139
fun PreviewMLSProgressIndicator() = WireTheme {

0 commit comments

Comments
 (0)