Skip to content

Commit 615a8bb

Browse files
LunarXKevinBoulongne
authored andcommitted
fix: Also take into account duplicates when computing the snooze states of a Thread
1 parent dec7380 commit 615a8bb

File tree

1 file changed

+13
-5
lines changed
  • app/src/main/java/com/infomaniak/mail/data/models/thread

1 file changed

+13
-5
lines changed

app/src/main/java/com/infomaniak/mail/data/models/thread/Thread.kt

+13-5
Original file line numberDiff line numberDiff line change
@@ -202,6 +202,14 @@ class Thread : RealmObject {
202202

203203
private fun updateThread() {
204204

205+
fun Thread.updateSnoozeSatesBasedOn(message: Message) {
206+
message.snoozeState?.let {
207+
_snoozeState = it.apiValue
208+
snoozeEndDate = message.snoozeEndDate
209+
snoozeAction = message.snoozeAction
210+
}
211+
}
212+
205213
messages.sortBy { it.date }
206214

207215
messages.forEach { message ->
@@ -222,11 +230,11 @@ class Thread : RealmObject {
222230
if (message.hasAttachable) hasAttachable = true
223231
if (message.isScheduledDraft) numberOfScheduledDrafts++
224232

225-
message.snoozeState?.let {
226-
_snoozeState = it.apiValue
227-
snoozeEndDate = message.snoozeEndDate
228-
snoozeAction = message.snoozeAction
229-
}
233+
updateSnoozeSatesBasedOn(message)
234+
}
235+
236+
duplicates.forEach { duplicate ->
237+
updateSnoozeSatesBasedOn(duplicate)
230238
}
231239

232240
date = messages.last { it.folderId == folderId }.date

0 commit comments

Comments
 (0)