@@ -203,7 +203,6 @@ class ExpiringMessageManager @Inject constructor(
203
203
}
204
204
}
205
205
206
-
207
206
override fun onMessageSent (message : Message ) {
208
207
// When a message is sent, we'll schedule deletion immediately if we have an expiry mode,
209
208
// even if the expiry mode is set to AfterRead, as we don't have a reliable way to know
@@ -212,31 +211,22 @@ class ExpiringMessageManager @Inject constructor(
212
211
// As for the receiver, they will be able to disappear the message correctly after
213
212
// they've done reading it.
214
213
val messageId = message.id
215
- val sentTimestamp = message.sentTimestamp
216
- if (message.expiryMode != ExpiryMode .NONE && messageId != null && sentTimestamp != null ) {
217
- // If the expiryMode is set to AfterRead, the start time must be greater than the sent timestamp.
218
- // This is due to the assumption downstream that `expiryStarted == sentTimestamp` means expiryMode is AfterSend.
219
- val startTime = if (message.expiryMode is ExpiryMode .AfterRead ) {
220
- sentTimestamp + 1 // Ensure start time is after sent timestamp
221
- } else {
222
- sentTimestamp
223
- }
224
-
225
- getDatabase(messageId.mms).markExpireStarted(messageId.id, startTime)
214
+ if (message.expiryMode != ExpiryMode .NONE && messageId != null ) {
215
+ getDatabase(messageId.mms)
216
+ .markExpireStarted(messageId.id, clock.currentTimeMills())
226
217
}
227
218
}
228
219
229
220
override fun onMessageReceived (message : Message ) {
230
221
// When we receive a message, we'll schedule deletion if it has an expiry mode set to
231
222
// AfterSend, as the message would be considered sent from the sender's perspective.
232
223
val messageId = message.id
233
- val sentTimestamp = message.sentTimestamp
234
- if (message.expiryMode is ExpiryMode . AfterSend && messageId != null && sentTimestamp != null ) {
235
- getDatabase(messageId.mms). markExpireStarted(messageId.id, sentTimestamp )
224
+ if (message.expiryMode is ExpiryMode . AfterSend && messageId != null ) {
225
+ getDatabase( messageId.mms)
226
+ . markExpireStarted(messageId.id, clock.currentTimeMills() )
236
227
}
237
228
}
238
229
239
-
240
230
private suspend fun processDatabase (db : MessagingDatabase ) {
241
231
while (true ) {
242
232
val expiredMessages = db.getExpiredMessageIDs(clock.currentTimeMills())
0 commit comments