mirror of
https://github.com/oxen-io/session-android.git
synced 2025-06-27 18:48:42 +00:00
refactor: convert runnables to method references, schedule download of display names after parsing messages
This commit is contained in:
parent
a445e0a326
commit
b6769ffddc
@ -30,13 +30,6 @@ class OpenGroupPoller(private val openGroup: OpenGroup, private val executorServ
|
|||||||
private var displayNameUpdates = setOf<String>()
|
private var displayNameUpdates = setOf<String>()
|
||||||
// endregion
|
// endregion
|
||||||
|
|
||||||
// region Tasks
|
|
||||||
private val pollForNewMessagesTask = Runnable { pollForNewMessages() }
|
|
||||||
private val pollForDeletedMessagesTask = Runnable { pollForDeletedMessages() }
|
|
||||||
private val pollForModeratorsTask = Runnable { pollForModerators() }
|
|
||||||
private val pollForDisplayNamesTask = Runnable { pollForDisplayNames() }
|
|
||||||
// endregion
|
|
||||||
|
|
||||||
// region Settings
|
// region Settings
|
||||||
companion object {
|
companion object {
|
||||||
private val pollForNewMessagesInterval: Long = 10 * 1000
|
private val pollForNewMessagesInterval: Long = 10 * 1000
|
||||||
@ -50,10 +43,10 @@ class OpenGroupPoller(private val openGroup: OpenGroup, private val executorServ
|
|||||||
fun startIfNeeded() {
|
fun startIfNeeded() {
|
||||||
if (hasStarted || executorService == null) return
|
if (hasStarted || executorService == null) return
|
||||||
cancellableFutures += listOf(
|
cancellableFutures += listOf(
|
||||||
executorService.scheduleAtFixedRate(pollForNewMessagesTask,0, pollForNewMessagesInterval, TimeUnit.MILLISECONDS),
|
executorService.scheduleAtFixedRate(::pollForNewMessages,0, pollForNewMessagesInterval, TimeUnit.MILLISECONDS),
|
||||||
executorService.scheduleAtFixedRate(pollForDeletedMessagesTask,0, pollForDeletedMessagesInterval, TimeUnit.MILLISECONDS),
|
executorService.scheduleAtFixedRate(::pollForDeletedMessages,0, pollForDeletedMessagesInterval, TimeUnit.MILLISECONDS),
|
||||||
executorService.scheduleAtFixedRate(pollForModeratorsTask,0, pollForModeratorsInterval, TimeUnit.MILLISECONDS),
|
executorService.scheduleAtFixedRate(::pollForModerators,0, pollForModeratorsInterval, TimeUnit.MILLISECONDS),
|
||||||
executorService.scheduleAtFixedRate(pollForDisplayNamesTask,0, pollForDisplayNamesInterval, TimeUnit.MILLISECONDS)
|
executorService.scheduleAtFixedRate(::pollForDisplayNames,0, pollForDisplayNamesInterval, TimeUnit.MILLISECONDS)
|
||||||
)
|
)
|
||||||
hasStarted = true
|
hasStarted = true
|
||||||
}
|
}
|
||||||
@ -191,6 +184,7 @@ class OpenGroupPoller(private val openGroup: OpenGroup, private val executorServ
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
displayNameUpdates = displayNameUpdates + messages.map { it.senderPublicKey }.toSet() - userHexEncodedPublicKey
|
displayNameUpdates = displayNameUpdates + messages.map { it.senderPublicKey }.toSet() - userHexEncodedPublicKey
|
||||||
|
executorService?.schedule(::pollForDisplayNames, 0, TimeUnit.MILLISECONDS)
|
||||||
isCaughtUp = true
|
isCaughtUp = true
|
||||||
isPollOngoing = false
|
isPollOngoing = false
|
||||||
deferred.resolve(Unit)
|
deferred.resolve(Unit)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user