mirror of
https://github.com/KokaKiwi/BarInsta
synced 2024-11-21 22:27:29 +00:00
fix marking first item in dm thread as read
This commit is contained in:
parent
8717c8587e
commit
70570560d7
@ -169,21 +169,19 @@ class DirectThreadViewModel(
|
|||||||
val items = thread.items
|
val items = thread.items
|
||||||
if (items.isNullOrEmpty()) return successEventResObjectLiveData
|
if (items.isNullOrEmpty()) return successEventResObjectLiveData
|
||||||
val directItem = items.firstOrNull { (_, userId) -> userId != currentUser.pk } ?: return successEventResObjectLiveData
|
val directItem = items.firstOrNull { (_, userId) -> userId != currentUser.pk } ?: return successEventResObjectLiveData
|
||||||
val lastSeenAt = thread.lastSeenAt
|
val lastSeenAt = thread.lastSeenAt ?: return threadManager.markAsSeen(directItem, viewModelScope)
|
||||||
if (lastSeenAt != null) {
|
val seenAt = lastSeenAt[currentUser.pk] ?: return threadManager.markAsSeen(directItem, viewModelScope)
|
||||||
val seenAt = lastSeenAt[currentUser.pk] ?: return successEventResObjectLiveData
|
try {
|
||||||
try {
|
val timestamp = seenAt.timestamp ?: return threadManager.markAsSeen(directItem, viewModelScope)
|
||||||
val timestamp = seenAt.timestamp ?: return successEventResObjectLiveData
|
val itemIdMatches = seenAt.itemId == directItem.itemId
|
||||||
val itemIdMatches = seenAt.itemId == directItem.itemId
|
val timestampMatches = timestamp.toLong() >= directItem.getTimestamp()
|
||||||
val timestampMatches = timestamp.toLong() >= directItem.getTimestamp()
|
if (itemIdMatches || timestampMatches) {
|
||||||
if (itemIdMatches || timestampMatches) {
|
|
||||||
return successEventResObjectLiveData
|
|
||||||
}
|
|
||||||
} catch (ignored: Exception) {
|
|
||||||
return successEventResObjectLiveData
|
return successEventResObjectLiveData
|
||||||
}
|
}
|
||||||
|
return threadManager.markAsSeen(directItem, viewModelScope)
|
||||||
|
} catch (ignored: Exception) {
|
||||||
|
return successEventResObjectLiveData
|
||||||
}
|
}
|
||||||
return threadManager.markAsSeen(directItem, viewModelScope)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private val successEventResObjectLiveData: MutableLiveData<Resource<Any?>>
|
private val successEventResObjectLiveData: MutableLiveData<Resource<Any?>>
|
||||||
|
Loading…
Reference in New Issue
Block a user