Cleanup code.
This commit is contained in:
parent
bc6c022cbf
commit
a807141a91
2 changed files with 16 additions and 15 deletions
|
|
@ -22,6 +22,7 @@ import io.element.android.libraries.designsystem.atomic.molecules.ComposerAlertM
|
||||||
import io.element.android.libraries.designsystem.preview.ElementPreview
|
import io.element.android.libraries.designsystem.preview.ElementPreview
|
||||||
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
||||||
import io.element.android.libraries.matrix.api.encryption.identity.IdentityState
|
import io.element.android.libraries.matrix.api.encryption.identity.IdentityState
|
||||||
|
import io.element.android.libraries.matrix.api.encryption.identity.isAViolation
|
||||||
import io.element.android.libraries.ui.strings.CommonStrings
|
import io.element.android.libraries.ui.strings.CommonStrings
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
|
|
@ -30,24 +31,22 @@ fun IdentityChangeStateView(
|
||||||
onLinkClick: (String, Boolean) -> Unit,
|
onLinkClick: (String, Boolean) -> Unit,
|
||||||
modifier: Modifier = Modifier,
|
modifier: Modifier = Modifier,
|
||||||
) {
|
) {
|
||||||
// Pick the first identity change that is in Pin or Verification violation
|
// Pick the first identity change that is a violation
|
||||||
val maybeIdentityChangeViolation = state.roomMemberIdentityStateChanges.firstOrNull {
|
val identityChangeViolation = state.roomMemberIdentityStateChanges.firstOrNull {
|
||||||
it.identityState == IdentityState.PinViolation ||
|
it.identityState.isAViolation()
|
||||||
it.identityState == IdentityState.VerificationViolation
|
|
||||||
}
|
}
|
||||||
if (maybeIdentityChangeViolation != null) {
|
if (identityChangeViolation != null) {
|
||||||
ComposerAlertMolecule(
|
ComposerAlertMolecule(
|
||||||
modifier = modifier,
|
modifier = modifier,
|
||||||
avatar = maybeIdentityChangeViolation.identityRoomMember.avatarData,
|
avatar = identityChangeViolation.identityRoomMember.avatarData,
|
||||||
content = buildAnnotatedString {
|
content = buildAnnotatedString {
|
||||||
val learnMoreStr = stringResource(CommonStrings.action_learn_more)
|
val learnMoreStr = stringResource(CommonStrings.action_learn_more)
|
||||||
val displayName = maybeIdentityChangeViolation.identityRoomMember.displayNameOrDefault
|
val displayName = identityChangeViolation.identityRoomMember.displayNameOrDefault
|
||||||
val userIdStr = stringResource(
|
val userIdStr = stringResource(
|
||||||
CommonStrings.crypto_identity_change_pin_violation_new_user_id,
|
CommonStrings.crypto_identity_change_pin_violation_new_user_id,
|
||||||
maybeIdentityChangeViolation.identityRoomMember.userId,
|
identityChangeViolation.identityRoomMember.userId,
|
||||||
)
|
)
|
||||||
|
val fullText = if (identityChangeViolation.identityState == IdentityState.PinViolation) {
|
||||||
val fullText = if (maybeIdentityChangeViolation.identityState == IdentityState.PinViolation) {
|
|
||||||
stringResource(
|
stringResource(
|
||||||
id = CommonStrings.crypto_identity_change_pin_violation_new,
|
id = CommonStrings.crypto_identity_change_pin_violation_new,
|
||||||
displayName,
|
displayName,
|
||||||
|
|
@ -92,19 +91,19 @@ fun IdentityChangeStateView(
|
||||||
end = learnMoreStartIndex + learnMoreStr.length,
|
end = learnMoreStartIndex + learnMoreStr.length,
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
submitText = if (maybeIdentityChangeViolation.identityState == IdentityState.VerificationViolation) {
|
submitText = if (identityChangeViolation.identityState == IdentityState.VerificationViolation) {
|
||||||
stringResource(CommonStrings.crypto_identity_change_withdraw_verification_action)
|
stringResource(CommonStrings.crypto_identity_change_withdraw_verification_action)
|
||||||
} else {
|
} else {
|
||||||
stringResource(CommonStrings.action_ok)
|
stringResource(CommonStrings.action_ok)
|
||||||
},
|
},
|
||||||
onSubmitClick = {
|
onSubmitClick = {
|
||||||
if (maybeIdentityChangeViolation.identityState == IdentityState.VerificationViolation) {
|
if (identityChangeViolation.identityState == IdentityState.VerificationViolation) {
|
||||||
state.eventSink(IdentityChangeEvent.WithdrawVerification(maybeIdentityChangeViolation.identityRoomMember.userId))
|
state.eventSink(IdentityChangeEvent.WithdrawVerification(identityChangeViolation.identityRoomMember.userId))
|
||||||
} else {
|
} else {
|
||||||
state.eventSink(IdentityChangeEvent.PinIdentity(maybeIdentityChangeViolation.identityRoomMember.userId))
|
state.eventSink(IdentityChangeEvent.PinIdentity(identityChangeViolation.identityRoomMember.userId))
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
isCritical = maybeIdentityChangeViolation.identityState == IdentityState.VerificationViolation,
|
isCritical = identityChangeViolation.identityState == IdentityState.VerificationViolation,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -32,3 +32,5 @@ enum class IdentityState {
|
||||||
*/
|
*/
|
||||||
VerificationViolation,
|
VerificationViolation,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun IdentityState.isAViolation() = this == IdentityState.PinViolation || this == IdentityState.VerificationViolation
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue