mirror of
https://github.com/nextcloud/talk-android
synced 2025-03-09 07:29:52 +00:00
check if scope is active during long polling
Because long polling may have to be informed that the scopep was cancelled, the isActive checks are added so it can't happen that messages are added when they shouldn't. I could not reproduce the scenario, anyway the checks should make sense in my opinion. Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
This commit is contained in:
parent
b6e341bbf1
commit
1f105d44d3
@ -308,7 +308,7 @@ class OfflineFirstChatRepository @Inject constructor(
|
||||
|
||||
var showUnreadMessagesMarker = true
|
||||
|
||||
while (true) {
|
||||
while (isActive) {
|
||||
if (!networkMonitor.isOnline.value || itIsPaused) {
|
||||
Thread.sleep(HALF_SECOND)
|
||||
} else {
|
||||
@ -324,11 +324,15 @@ class OfflineFirstChatRepository @Inject constructor(
|
||||
val weHaveMessagesFromOurself = chatMessages.any { it.actorId == currentUser.userId }
|
||||
showUnreadMessagesMarker = showUnreadMessagesMarker && !weHaveMessagesFromOurself
|
||||
|
||||
handleNewAndTempMessages(
|
||||
receivedChatMessages = chatMessages,
|
||||
lookIntoFuture = true,
|
||||
showUnreadMessagesMarker = showUnreadMessagesMarker
|
||||
)
|
||||
if (isActive) {
|
||||
handleNewAndTempMessages(
|
||||
receivedChatMessages = chatMessages,
|
||||
lookIntoFuture = true,
|
||||
showUnreadMessagesMarker = showUnreadMessagesMarker
|
||||
)
|
||||
} else {
|
||||
Log.d(TAG, "scope was already canceled")
|
||||
}
|
||||
} else {
|
||||
Log.d(TAG, "resultsFromSync are null or empty")
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user