Legacy expiration type handling tweaks

This commit is contained in:
charles
2022-12-14 18:02:37 +11:00
parent a6f9e17122
commit 23c881f3ce
11 changed files with 29 additions and 23 deletions

View File

@@ -5,10 +5,12 @@ import org.session.libsignal.protos.SignalServiceProtos.Content.ExpirationType
class ExpirationConfiguration(
val threadId: Long = -1,
val durationSeconds: Int = 0,
val expirationType: ExpirationType? = null,
val expirationTypeValue: Int? = null,
val updatedTimestampMs: Long = 0
) {
val isEnabled = durationSeconds > 0
val expirationType = expirationTypeValue?.let { ExpirationType.valueOf(it) }
companion object {
val isNewConfigEnabled = System.currentTimeMillis() > 1_674_000_000_000 // 18/01/2023
}

View File

@@ -98,7 +98,7 @@ fun updateExpirationConfigurationIfNeeded(message: Message, proto: SignalService
val remoteConfig = ExpirationConfiguration(
threadID,
durationSeconds,
type,
type?.number,
proto.lastDisappearingMessageChangeTimestamp
)
storage.setExpirationConfiguration(remoteConfig)
@@ -164,7 +164,7 @@ private fun MessageReceiver.handleExpirationTimerUpdate(message: ExpirationTimer
recipient.isContactRecipient || recipient.isGroupRecipient -> ExpirationType.DELETE_AFTER_SEND
else -> null
}
SSKEnvironment.shared.messageExpirationManager.setExpirationTimer(message, type)
SSKEnvironment.shared.messageExpirationManager.setExpirationTimer(message, type?.number)
}
private fun MessageReceiver.handleDataExtractionNotification(message: DataExtractionNotification) {

View File

@@ -4,7 +4,6 @@ import android.content.Context
import org.session.libsession.messaging.messages.control.ExpirationTimerUpdate
import org.session.libsession.messaging.sending_receiving.notifications.MessageNotifier
import org.session.libsession.utilities.recipients.Recipient
import org.session.libsignal.protos.SignalServiceProtos.Content.ExpirationType
class SSKEnvironment(
val typingIndicators: TypingIndicatorsProtocol,
@@ -37,7 +36,7 @@ class SSKEnvironment(
}
interface MessageExpirationManagerProtocol {
fun setExpirationTimer(message: ExpirationTimerUpdate, type: ExpirationType?)
fun setExpirationTimer(message: ExpirationTimerUpdate, expirationType: Int?)
fun startAnyExpiration(timestamp: Long, author: String)
}