diff --git a/app/src/main/kotlin/com/wire/android/ui/home/conversations/details/editselfdeletingmessages/EditSelfDeletingMessagesViewModel.kt b/app/src/main/kotlin/com/wire/android/ui/home/conversations/details/editselfdeletingmessages/EditSelfDeletingMessagesViewModel.kt index d39756a7239..6ce9cb86145 100644 --- a/app/src/main/kotlin/com/wire/android/ui/home/conversations/details/editselfdeletingmessages/EditSelfDeletingMessagesViewModel.kt +++ b/app/src/main/kotlin/com/wire/android/ui/home/conversations/details/editselfdeletingmessages/EditSelfDeletingMessagesViewModel.kt @@ -84,8 +84,8 @@ class EditSelfDeletingMessagesViewModel @Inject constructor( state = state.copy( isLoading = selfDeletingMessages.isEnforcedByTeam || !isSelfAnAdmin, isEnabled = selfDeletingMessages.isEnforcedByGroup, - remotelySelected = selfDeletingMessages.toDuration().toSelfDeletionDuration(), - locallySelected = selfDeletingMessages.toDuration().toSelfDeletionDuration() + remotelySelected = selfDeletingMessages.duration?.toSelfDeletionDuration(), + locallySelected = selfDeletingMessages.duration?.toSelfDeletionDuration() ) } } diff --git a/app/src/main/kotlin/com/wire/android/ui/home/conversations/details/options/GroupConversationOptions.kt b/app/src/main/kotlin/com/wire/android/ui/home/conversations/details/options/GroupConversationOptions.kt index f85fc3b78a1..04b2b48a27b 100644 --- a/app/src/main/kotlin/com/wire/android/ui/home/conversations/details/options/GroupConversationOptions.kt +++ b/app/src/main/kotlin/com/wire/android/ui/home/conversations/details/options/GroupConversationOptions.kt @@ -127,7 +127,7 @@ fun GroupConversationSettings( title = stringResource(id = R.string.conversation_options_self_deleting_messages_label), subtitle = stringResource(id = R.string.conversation_options_self_deleting_messages_description), trailingOnText = if (state.selfDeletionTimer.isEnforced) { - "(${state.selfDeletionTimer.toDuration().toSelfDeletionDuration().shortLabel.asString()})" + "(${state.selfDeletionTimer.duration.toSelfDeletionDuration().shortLabel.asString()})" } else { null }, diff --git a/app/src/main/kotlin/com/wire/android/ui/home/conversations/selfdeletion/SelfDeletionMapper.kt b/app/src/main/kotlin/com/wire/android/ui/home/conversations/selfdeletion/SelfDeletionMapper.kt index 1f802a99ba4..e015ce68c18 100644 --- a/app/src/main/kotlin/com/wire/android/ui/home/conversations/selfdeletion/SelfDeletionMapper.kt +++ b/app/src/main/kotlin/com/wire/android/ui/home/conversations/selfdeletion/SelfDeletionMapper.kt @@ -21,7 +21,7 @@ import com.wire.android.ui.home.messagecomposer.SelfDeletionDuration import kotlin.time.Duration object SelfDeletionMapper { - fun Duration.toSelfDeletionDuration(): SelfDeletionDuration = when (this) { + fun Duration?.toSelfDeletionDuration(): SelfDeletionDuration = when (this) { SelfDeletionDuration.TenSeconds.value -> SelfDeletionDuration.TenSeconds SelfDeletionDuration.OneMinute.value -> SelfDeletionDuration.OneMinute SelfDeletionDuration.FiveMinutes.value -> SelfDeletionDuration.FiveMinutes diff --git a/app/src/main/kotlin/com/wire/android/ui/home/newconversation/common/SelectParticipantsButtonsRow.kt b/app/src/main/kotlin/com/wire/android/ui/home/newconversation/common/SelectParticipantsButtonsRow.kt index 3781cc32c79..8d2e94aa26d 100644 --- a/app/src/main/kotlin/com/wire/android/ui/home/newconversation/common/SelectParticipantsButtonsRow.kt +++ b/app/src/main/kotlin/com/wire/android/ui/home/newconversation/common/SelectParticipantsButtonsRow.kt @@ -169,7 +169,7 @@ fun SelfDeletionTimerButton( isDisabled: Boolean, onSelfDeletionTimerClicked: () -> Unit ) { - val isSelected = selfDeletionTimer is SelfDeletionTimer.Enabled && selfDeletionTimer.userDuration != ZERO + val isSelected = selfDeletionTimer is SelfDeletionTimer.Enabled && selfDeletionTimer.duration != null Box( modifier = modifier .padding(start = dimensions().spacing16x) diff --git a/app/src/main/kotlin/com/wire/android/ui/sharing/ImportMediaScreen.kt b/app/src/main/kotlin/com/wire/android/ui/sharing/ImportMediaScreen.kt index b542ef7782b..6ddce85582c 100644 --- a/app/src/main/kotlin/com/wire/android/ui/sharing/ImportMediaScreen.kt +++ b/app/src/main/kotlin/com/wire/android/ui/sharing/ImportMediaScreen.kt @@ -62,9 +62,9 @@ import com.wire.android.util.CustomTabsHelper import com.wire.android.util.extension.getActivity import com.wire.android.util.ui.LinkText import com.wire.android.util.ui.LinkTextData +import com.wire.kalium.logic.util.isPositiveNotNull import kotlinx.collections.immutable.persistentMapOf import kotlinx.coroutines.flow.SharedFlow -import kotlin.time.Duration @Composable fun ImportMediaScreen( @@ -169,7 +169,7 @@ fun ImportMediaRegularContent(authorizedViewModel: ImportMediaAuthenticatedViewM ) MenuModalSheetLayout( menuItems = SelfDeletionMenuItems( - currentlySelected = authorizedViewModel.importMediaState.selfDeletingTimer.toDuration().toSelfDeletionDuration(), + currentlySelected = authorizedViewModel.importMediaState.selfDeletingTimer.duration.toSelfDeletionDuration(), hideEditMessageMenu = importMediaScreenState::hideBottomSheetMenu, onSelfDeletionDurationChanged = authorizedViewModel::onNewSelfDeletionTimerPicked, ), @@ -261,8 +261,8 @@ private fun ImportMediaBottomBar( importMediaScreenState: ImportMediaScreenState ) { val selfDeletionTimer = importMediaViewModel.importMediaState.selfDeletingTimer - val shortDurationLabel = selfDeletionTimer.toDuration().toSelfDeletionDuration().shortLabel - val mainButtonText = if (selfDeletionTimer.toDuration() > Duration.ZERO) { + val shortDurationLabel = selfDeletionTimer.duration.toSelfDeletionDuration().shortLabel + val mainButtonText = if (selfDeletionTimer.duration.isPositiveNotNull()) { "${stringResource(id = R.string.self_deleting_message_label)} (${shortDurationLabel.asString()})" } else { stringResource(id = R.string.import_media_send_button_title)