Fix crash on send when expiration Activity is dismissed without select expiration

This commit is contained in:
Davide Farella 2021-06-14 14:46:31 +02:00 committed by Davide Giuseppe Farella
parent 478a0687c0
commit b2d00e40cb
2 changed files with 7 additions and 7 deletions

View File

@ -48,7 +48,7 @@ class MessageBuilderData(
val messagePassword: String?,
val passwordHint: String?,
val isPasswordValid: Boolean,
val expirationTime: Long?,
val expirationTime: Long = 0,
val sendPreferences: Map<String, SendPreference>,
val isRespondInlineButtonVisible: Boolean,
val isRespondInlineChecked: Boolean,
@ -82,7 +82,7 @@ class MessageBuilderData(
private var messagePassword: String? = null
private var passwordHint: String? = ""
private var isPasswordValid: Boolean = true
private var expirationTime: Long? = 0L
private var expirationTime: Long = 0
private var sendPreferences: Map<String, SendPreference> = emptyMap()
private var isRespondInlineButtonVisible: Boolean = true
private var isRespondInlineChecked: Boolean = false
@ -195,7 +195,7 @@ class MessageBuilderData(
fun isPasswordValid(isPasswordValid: Boolean) =
apply { this.isPasswordValid = isPasswordValid }
fun expirationTime(expirationTime: Long?) = apply { this.expirationTime = expirationTime }
fun expirationTime(expirationTime: Long) = apply { this.expirationTime = expirationTime }
fun sendPreferences(sendPreferences: Map<String, SendPreference>) =
apply { this.sendPreferences = sendPreferences }
@ -224,7 +224,7 @@ class MessageBuilderData(
fun uploadAttachments(uploadAttachments: Boolean) =
apply { this.uploadAttachments = uploadAttachments }
fun build() : MessageBuilderData {
fun build(): MessageBuilderData {
return MessageBuilderData(
message,
senderEmailAddress,

View File

@ -744,7 +744,7 @@ class ComposeMessageViewModel @Inject constructor(
MessageSecurityOptions(
messageDataResult.messagePassword,
messageDataResult.passwordHint,
messageDataResult.expirationTime!!
messageDataResult.expirationTime
)
)
)
@ -1309,12 +1309,12 @@ class ComposeMessageViewModel @Inject constructor(
fun setExpiration(expiration: DaysHoursPair) {
viewModelScope.launch {
val newExpiration = expiration.days.days + expiration.hours.hours
val newExpirationInSeconds = newExpiration.inSeconds.toLong().takeIf { it > 0 }
val newExpirationInSeconds = newExpiration.inSeconds.toLong()
_messageDataResult = MessageBuilderData.Builder()
.fromOld(_messageDataResult)
.expirationTime(newExpirationInSeconds)
.build()
_events.emit(ComposeMessageEventUiModel.OnExpirationChange(hasExpiration = newExpirationInSeconds != null))
_events.emit(ComposeMessageEventUiModel.OnExpirationChange(hasExpiration = newExpirationInSeconds > 0))
}
}
// endregion