Commit e034d55 1 parent 082bebe commit e034d55 Copy full SHA for e034d55
File tree 3 files changed +10
-10
lines changed
app/src/main/java/com/infomaniak/mail/ui/main/thread
3 files changed +10
-10
lines changed Original file line number Diff line number Diff line change @@ -361,6 +361,11 @@ class ThreadFragment : Fragment() {
361
361
return @observe
362
362
}
363
363
364
+ if (threadState.shouldMarkThreadAsSeen == true ) {
365
+ threadState.shouldMarkThreadAsSeen = false
366
+ markThreadAsSeen(thread)
367
+ }
368
+
364
369
binding.iconFavorite.apply {
365
370
setIconResource(if (thread.isFavorite) R .drawable.ic_star_filled else R .drawable.ic_star)
366
371
val color = if (thread.isFavorite) {
@@ -378,11 +383,6 @@ class ThreadFragment : Fragment() {
378
383
messagesLive.observe(viewLifecycleOwner) { (items, messagesToFetch) ->
379
384
SentryLog .i(" UI" , " Received ${items.count()} messages" )
380
385
381
- if (threadState.shouldMarkThreadAsSeen) {
382
- threadState.shouldMarkThreadAsSeen = false
383
- markThreadAsSeen()
384
- }
385
-
386
386
if (items.isEmpty()) {
387
387
mainViewModel.deletedMessages.value = deletedMessagesUids
388
388
twoPaneViewModel.closeThread()
Original file line number Diff line number Diff line change @@ -37,7 +37,7 @@ class ThreadState {
37
37
val isCalendarEventExpandedMap: MutableMap <String , Boolean > = mutableMapOf ()
38
38
val treatedMessagesForCalendarEvent: MutableSet <String > = mutableSetOf ()
39
39
val cachedSplitBodies: MutableMap <String , SplitBody > = mutableMapOf ()
40
- var shouldMarkThreadAsSeen: Boolean = false
40
+ var shouldMarkThreadAsSeen: Boolean? = null
41
41
var superCollapsedBlock: SuperCollapsedBlock ? = null
42
42
43
43
fun reset () {
@@ -48,7 +48,7 @@ class ThreadState {
48
48
isCalendarEventExpandedMap.clear()
49
49
treatedMessagesForCalendarEvent.clear()
50
50
cachedSplitBodies.clear()
51
- shouldMarkThreadAsSeen = false
51
+ shouldMarkThreadAsSeen = null
52
52
superCollapsedBlock = null
53
53
}
54
54
}
Original file line number Diff line number Diff line change @@ -255,13 +255,13 @@ class ThreadViewModel @Inject constructor(
255
255
}
256
256
}
257
257
258
- threadState.shouldMarkThreadAsSeen = thread.unseenMessagesCount > 0
258
+ if (threadState.shouldMarkThreadAsSeen == null ) threadState.shouldMarkThreadAsSeen = thread.unseenMessagesCount > 0
259
259
260
260
emit(thread)
261
261
}
262
262
263
- fun markThreadAsSeen () = viewModelScope.launch(ioCoroutineContext) {
264
- threadLive.value?. let { sharedUtils.markAsSeen(mailbox, listOf (it)) }
263
+ fun markThreadAsSeen (thread : Thread ) = viewModelScope.launch(ioCoroutineContext) {
264
+ sharedUtils.markAsSeen(mailbox, listOf (thread))
265
265
}
266
266
267
267
private fun sendMatomoAndSentryAboutThreadMessagesCount (thread : Thread ) {
You can’t perform that action at this time.
0 commit comments