diff --git a/app/src/main/kotlin/com/wire/android/ui/common/groupname/GroupConversationNameComponent.kt b/app/src/main/kotlin/com/wire/android/ui/common/groupname/GroupConversationNameComponent.kt index 215ed68128..34f8626473 100644 --- a/app/src/main/kotlin/com/wire/android/ui/common/groupname/GroupConversationNameComponent.kt +++ b/app/src/main/kotlin/com/wire/android/ui/common/groupname/GroupConversationNameComponent.kt @@ -23,6 +23,7 @@ import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.text.KeyboardActions @@ -31,7 +32,6 @@ import androidx.compose.foundation.verticalScroll import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.ChevronRight import androidx.compose.material3.MaterialTheme -import com.wire.android.ui.common.scaffold.WireScaffold import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.runtime.Composable @@ -46,19 +46,18 @@ import androidx.compose.ui.tooling.preview.Preview import com.wire.android.R import com.wire.android.ui.common.Icon import com.wire.android.ui.common.ShakeAnimation -import com.wire.android.ui.common.WireDropDown import com.wire.android.ui.common.button.WireButtonState import com.wire.android.ui.common.button.WirePrimaryButton import com.wire.android.ui.common.groupname.GroupNameMode.CREATION import com.wire.android.ui.common.rememberBottomBarElevationState import com.wire.android.ui.common.rememberTopBarElevationState +import com.wire.android.ui.common.scaffold.WireScaffold import com.wire.android.ui.common.textfield.WireTextField import com.wire.android.ui.common.textfield.WireTextFieldState import com.wire.android.ui.common.topappbar.WireCenterAlignedTopAppBar import com.wire.android.ui.theme.wireColorScheme import com.wire.android.ui.theme.wireDimensions import com.wire.android.ui.theme.wireTypography -import com.wire.kalium.logic.data.conversation.ConversationOptions @OptIn(ExperimentalComposeUiApi::class) @Composable @@ -120,18 +119,23 @@ fun GroupNameScreen( ) } } - if (mode == CREATION && mlsEnabled) { - WireDropDown( - items = - ConversationOptions.Protocol.values().map { it.name }, - defaultItemIndex = defaultProtocol.ordinal, - selectedItemIndex = groupProtocol.ordinal, - label = stringResource(R.string.protocol), + if (mode == CREATION) { + Spacer(modifier = Modifier.height(MaterialTheme.wireDimensions.spacing16x)) + Text( + text = stringResource(R.string.protocol), + style = MaterialTheme.wireTypography.label01, modifier = Modifier - .padding(MaterialTheme.wireDimensions.spacing16x) - ) { selectedIndex -> - groupProtocol = ConversationOptions.Protocol.values()[selectedIndex] - } + .fillMaxWidth() + .padding(horizontal = MaterialTheme.wireDimensions.spacing16x) + .padding(bottom = MaterialTheme.wireDimensions.spacing4x) + ) + Text( + text = groupProtocol.name, + style = MaterialTheme.wireTypography.body02, + modifier = Modifier + .fillMaxWidth() + .padding(horizontal = MaterialTheme.wireDimensions.spacing16x) + ) } Spacer(modifier = Modifier.weight(1f)) diff --git a/app/src/main/kotlin/com/wire/android/ui/common/groupname/GroupMetadataState.kt b/app/src/main/kotlin/com/wire/android/ui/common/groupname/GroupMetadataState.kt index 2105ee5b3d..0275832cae 100644 --- a/app/src/main/kotlin/com/wire/android/ui/common/groupname/GroupMetadataState.kt +++ b/app/src/main/kotlin/com/wire/android/ui/common/groupname/GroupMetadataState.kt @@ -28,11 +28,9 @@ data class GroupMetadataState( val originalGroupName: String = "", val selectedUsers: ImmutableSet = persistentSetOf(), val groupName: TextFieldValue = TextFieldValue(""), - var groupProtocol: ConversationOptions.Protocol = ConversationOptions.Protocol.PROTEUS, + val groupProtocol: ConversationOptions.Protocol = ConversationOptions.Protocol.PROTEUS, val animatedGroupNameError: Boolean = false, val continueEnabled: Boolean = false, - val mlsEnabled: Boolean = true, - val defaultProtocol: ConversationOptions.Protocol = ConversationOptions.Protocol.PROTEUS, val isLoading: Boolean = false, val error: NewGroupError = NewGroupError.None, val mode: GroupNameMode = GroupNameMode.CREATION, diff --git a/app/src/main/kotlin/com/wire/android/ui/home/newconversation/NewConversationViewModel.kt b/app/src/main/kotlin/com/wire/android/ui/home/newconversation/NewConversationViewModel.kt index 56207022de..e520c76a37 100644 --- a/app/src/main/kotlin/com/wire/android/ui/home/newconversation/NewConversationViewModel.kt +++ b/app/src/main/kotlin/com/wire/android/ui/home/newconversation/NewConversationViewModel.kt @@ -37,7 +37,6 @@ import com.wire.kalium.logic.data.id.ConversationId import com.wire.kalium.logic.data.user.UserId import com.wire.kalium.logic.feature.conversation.CreateGroupConversationUseCase import com.wire.kalium.logic.feature.user.GetDefaultProtocolUseCase -import com.wire.kalium.logic.feature.user.IsMLSEnabledUseCase import com.wire.kalium.logic.feature.user.IsSelfATeamMemberUseCase import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.collections.immutable.toImmutableSet @@ -49,21 +48,15 @@ import javax.inject.Inject class NewConversationViewModel @Inject constructor( private val createGroupConversation: CreateGroupConversationUseCase, private val isSelfATeamMember: IsSelfATeamMemberUseCase, - isMLSEnabled: IsMLSEnabledUseCase, getDefaultProtocol: GetDefaultProtocolUseCase ) : ViewModel() { var newGroupState: GroupMetadataState by mutableStateOf( - GroupMetadataState( - mlsEnabled = isMLSEnabled() - ).let { + GroupMetadataState().let { val defaultProtocol = ConversationOptions .Protocol .fromSupportedProtocolToConversationOptionsProtocol(getDefaultProtocol()) - it.copy( - defaultProtocol = defaultProtocol, - groupProtocol = defaultProtocol - ) + it.copy(groupProtocol = defaultProtocol) } ) diff --git a/app/src/test/kotlin/com/wire/android/ui/home/newconversation/NewConversationViewModelArrangement.kt b/app/src/test/kotlin/com/wire/android/ui/home/newconversation/NewConversationViewModelArrangement.kt index 997238d7e8..1c30b5ec75 100644 --- a/app/src/test/kotlin/com/wire/android/ui/home/newconversation/NewConversationViewModelArrangement.kt +++ b/app/src/test/kotlin/com/wire/android/ui/home/newconversation/NewConversationViewModelArrangement.kt @@ -173,7 +173,6 @@ internal class NewConversationViewModelArrangement { fun arrange() = this to NewConversationViewModel( createGroupConversation = createGroupConversation, - isMLSEnabled = isMLSEnabledUseCase, isSelfATeamMember = isSelfTeamMember, getDefaultProtocol = getDefaultProtocol ).also { diff --git a/app/src/test/kotlin/com/wire/android/ui/home/newconversation/NewConversationViewModelTest.kt b/app/src/test/kotlin/com/wire/android/ui/home/newconversation/NewConversationViewModelTest.kt index 04b6a75d25..73199955b5 100644 --- a/app/src/test/kotlin/com/wire/android/ui/home/newconversation/NewConversationViewModelTest.kt +++ b/app/src/test/kotlin/com/wire/android/ui/home/newconversation/NewConversationViewModelTest.kt @@ -157,7 +157,7 @@ class NewConversationViewModelTest { .arrange() // when - val result = viewModel.newGroupState.defaultProtocol + val result = viewModel.newGroupState.groupProtocol // then assertEquals(