Skip to content

Commit

Permalink
fix: Create Group protocol not editable anymore
Browse files Browse the repository at this point in the history
  • Loading branch information
borichellow committed Mar 14, 2024
1 parent efe1ca6 commit c9e3dd4
Show file tree
Hide file tree
Showing 5 changed files with 21 additions and 25 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -120,18 +121,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))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,9 @@ data class GroupMetadataState(
val originalGroupName: String = "",
val selectedUsers: ImmutableSet<Contact> = 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,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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)
}
)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,6 @@ internal class NewConversationViewModelArrangement {

fun arrange() = this to NewConversationViewModel(
createGroupConversation = createGroupConversation,
isMLSEnabled = isMLSEnabledUseCase,
isSelfATeamMember = isSelfTeamMember,
getDefaultProtocol = getDefaultProtocol
).also {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,7 @@ class NewConversationViewModelTest {
.arrange()

// when
val result = viewModel.newGroupState.defaultProtocol
val result = viewModel.newGroupState.groupProtocol

// then
assertEquals(
Expand Down

0 comments on commit c9e3dd4

Please sign in to comment.