forked from melod1n/fast-messenger
refactor: reduce long poll dispatch noise
This commit is contained in:
@@ -47,6 +47,17 @@ class LongPollUpdatesParser(
|
|||||||
private val listenersMap: MutableMap<LongPollEvent, MutableList<VkEventCallback<LongPollParsedEvent>>> =
|
private val listenersMap: MutableMap<LongPollEvent, MutableList<VkEventCallback<LongPollParsedEvent>>> =
|
||||||
mutableMapOf()
|
mutableMapOf()
|
||||||
|
|
||||||
|
@Suppress("UNCHECKED_CAST")
|
||||||
|
private fun <T : LongPollParsedEvent> dispatch(eventType: LongPollEvent, event: T) {
|
||||||
|
listenersMap[eventType]?.forEach { callback ->
|
||||||
|
(callback as? VkEventCallback<T>)?.onEvent(event)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun dispatchAll(eventType: LongPollEvent, events: List<LongPollParsedEvent>) {
|
||||||
|
events.forEach { event -> dispatch(eventType, event) }
|
||||||
|
}
|
||||||
|
|
||||||
fun parseNextUpdate(event: List<Any>) {
|
fun parseNextUpdate(event: List<Any>) {
|
||||||
val eventId = event.first().asInt()
|
val eventId = event.first().asInt()
|
||||||
|
|
||||||
@@ -96,13 +107,7 @@ class LongPollUpdatesParser(
|
|||||||
marked = true
|
marked = true
|
||||||
)
|
)
|
||||||
eventsToSend += eventToSend
|
eventsToSend += eventToSend
|
||||||
|
dispatch(LongPollEvent.MARKED_AS_IMPORTANT, eventToSend)
|
||||||
listenersMap[LongPollEvent.MARKED_AS_IMPORTANT]?.let { listeners ->
|
|
||||||
listeners.map { vkEventCallback ->
|
|
||||||
(vkEventCallback as? VkEventCallback<LongPollParsedEvent.MessageMarkedAsImportant>)
|
|
||||||
?.onEvent(eventToSend)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
MessageFlags.SPAM -> {
|
MessageFlags.SPAM -> {
|
||||||
@@ -111,13 +116,7 @@ class LongPollUpdatesParser(
|
|||||||
cmId = cmId
|
cmId = cmId
|
||||||
)
|
)
|
||||||
eventsToSend += eventToSend
|
eventsToSend += eventToSend
|
||||||
|
dispatch(LongPollEvent.MARKED_AS_SPAM, eventToSend)
|
||||||
listenersMap[LongPollEvent.MARKED_AS_SPAM]?.let { listeners ->
|
|
||||||
listeners.map { vkEventCallback ->
|
|
||||||
(vkEventCallback as? VkEventCallback<LongPollParsedEvent.MessageMarkedAsSpam>)
|
|
||||||
?.onEvent(eventToSend)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
MessageFlags.DELETED -> {
|
MessageFlags.DELETED -> {
|
||||||
@@ -136,13 +135,7 @@ class LongPollUpdatesParser(
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
eventsToSend += eventToSend
|
eventsToSend += eventToSend
|
||||||
|
dispatch(LongPollEvent.MESSAGE_DELETED, eventToSend)
|
||||||
listenersMap[LongPollEvent.MESSAGE_DELETED]?.let { listeners ->
|
|
||||||
listeners.map { vkEventCallback ->
|
|
||||||
(vkEventCallback as? VkEventCallback<LongPollParsedEvent.MessageDeleted>)
|
|
||||||
?.onEvent(eventToSend)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
MessageFlags.AUDIO_LISTENED -> {
|
MessageFlags.AUDIO_LISTENED -> {
|
||||||
@@ -151,26 +144,14 @@ class LongPollUpdatesParser(
|
|||||||
cmId = cmId
|
cmId = cmId
|
||||||
)
|
)
|
||||||
eventsToSend += eventToSend
|
eventsToSend += eventToSend
|
||||||
|
dispatch(LongPollEvent.AUDIO_MESSAGE_LISTENED, eventToSend)
|
||||||
listenersMap[LongPollEvent.AUDIO_MESSAGE_LISTENED]?.let { listeners ->
|
|
||||||
listeners.map { vkEventCallback ->
|
|
||||||
(vkEventCallback as? VkEventCallback<LongPollParsedEvent.AudioMessageListened>)
|
|
||||||
?.onEvent(eventToSend)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
else -> Unit
|
else -> Unit
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
eventsToSend.forEach { eventToSend ->
|
dispatchAll(LongPollEvent.MESSAGE_SET_FLAGS, eventsToSend)
|
||||||
listenersMap[LongPollEvent.MESSAGE_SET_FLAGS]?.let { listeners ->
|
|
||||||
listeners.map { vkEventCallback ->
|
|
||||||
(vkEventCallback as? VkEventCallback<LongPollParsedEvent>)?.onEvent(eventToSend)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun parseMessageClearFlags(eventType: ApiEvent, event: List<Any>) {
|
private fun parseMessageClearFlags(eventType: ApiEvent, event: List<Any>) {
|
||||||
@@ -194,13 +175,7 @@ class LongPollUpdatesParser(
|
|||||||
marked = false
|
marked = false
|
||||||
)
|
)
|
||||||
eventsToSend += eventToSend
|
eventsToSend += eventToSend
|
||||||
|
dispatch(LongPollEvent.MARKED_AS_IMPORTANT, eventToSend)
|
||||||
listenersMap[LongPollEvent.MARKED_AS_IMPORTANT]?.let { listeners ->
|
|
||||||
listeners.map { vkEventCallback ->
|
|
||||||
(vkEventCallback as? VkEventCallback<LongPollParsedEvent.MessageMarkedAsImportant>)
|
|
||||||
?.onEvent(eventToSend)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
MessageFlags.SPAM -> {
|
MessageFlags.SPAM -> {
|
||||||
@@ -214,13 +189,7 @@ class LongPollUpdatesParser(
|
|||||||
val eventToSend =
|
val eventToSend =
|
||||||
LongPollParsedEvent.MessageMarkedAsNotSpam(message = message)
|
LongPollParsedEvent.MessageMarkedAsNotSpam(message = message)
|
||||||
eventsToSend += eventToSend
|
eventsToSend += eventToSend
|
||||||
|
dispatch(LongPollEvent.MARKED_AS_NOT_SPAM, eventToSend)
|
||||||
listenersMap[LongPollEvent.MARKED_AS_NOT_SPAM]?.let { listeners ->
|
|
||||||
listeners.map { vkEventCallback ->
|
|
||||||
(vkEventCallback as? VkEventCallback<LongPollParsedEvent.MessageMarkedAsNotSpam>)
|
|
||||||
?.onEvent(eventToSend)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -236,13 +205,7 @@ class LongPollUpdatesParser(
|
|||||||
val eventToSend =
|
val eventToSend =
|
||||||
LongPollParsedEvent.MessageRestored(message = message)
|
LongPollParsedEvent.MessageRestored(message = message)
|
||||||
eventsToSend += eventToSend
|
eventsToSend += eventToSend
|
||||||
|
dispatch(LongPollEvent.MESSAGE_RESTORED, eventToSend)
|
||||||
listenersMap[LongPollEvent.MESSAGE_RESTORED]?.let { listeners ->
|
|
||||||
listeners.map { vkEventCallback ->
|
|
||||||
(vkEventCallback as? VkEventCallback<LongPollParsedEvent.MessageRestored>)
|
|
||||||
?.onEvent(eventToSend)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -251,13 +214,7 @@ class LongPollUpdatesParser(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
eventsToSend.forEach { eventToSend ->
|
dispatchAll(LongPollEvent.MESSAGE_CLEAR_FLAGS, eventsToSend)
|
||||||
listenersMap[LongPollEvent.MESSAGE_CLEAR_FLAGS]?.let { listeners ->
|
|
||||||
listeners.map { vkEventCallback ->
|
|
||||||
vkEventCallback.onEvent(eventToSend)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -281,10 +238,8 @@ class LongPollUpdatesParser(
|
|||||||
}.await()
|
}.await()
|
||||||
|
|
||||||
message?.let {
|
message?.let {
|
||||||
listenersMap[LongPollEvent.MESSAGE_NEW]?.let {
|
dispatch(
|
||||||
it.map { vkEventCallback ->
|
LongPollEvent.MESSAGE_NEW,
|
||||||
(vkEventCallback as VkEventCallback<LongPollParsedEvent.NewMessage>)
|
|
||||||
.onEvent(
|
|
||||||
LongPollParsedEvent.NewMessage(
|
LongPollParsedEvent.NewMessage(
|
||||||
message = message,
|
message = message,
|
||||||
inArchive = convo?.isArchived == true
|
inArchive = convo?.isArchived == true
|
||||||
@@ -296,8 +251,6 @@ class LongPollUpdatesParser(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun parseMessageEdit(eventType: ApiEvent, event: List<Any>) {
|
private fun parseMessageEdit(eventType: ApiEvent, event: List<Any>) {
|
||||||
Log.d("LongPollUpdatesParser", "$eventType: $event")
|
Log.d("LongPollUpdatesParser", "$eventType: $event")
|
||||||
@@ -310,12 +263,7 @@ class LongPollUpdatesParser(
|
|||||||
peerId = peerId,
|
peerId = peerId,
|
||||||
cmId = cmId
|
cmId = cmId
|
||||||
)?.let { message ->
|
)?.let { message ->
|
||||||
listenersMap[LongPollEvent.MESSAGE_EDITED]?.let {
|
dispatch(LongPollEvent.MESSAGE_EDITED, LongPollParsedEvent.MessageEdited(message))
|
||||||
it.map { vkEventCallback ->
|
|
||||||
(vkEventCallback as VkEventCallback<LongPollParsedEvent.MessageEdited>)
|
|
||||||
.onEvent(LongPollParsedEvent.MessageEdited(message))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -326,10 +274,8 @@ class LongPollUpdatesParser(
|
|||||||
val cmId = event[2].asLong()
|
val cmId = event[2].asLong()
|
||||||
val unreadCount = event[3].asInt()
|
val unreadCount = event[3].asInt()
|
||||||
|
|
||||||
listenersMap[LongPollEvent.INCOMING_MESSAGE_READ]?.let { listeners ->
|
dispatch(
|
||||||
listeners.map { vkEventCallback ->
|
LongPollEvent.INCOMING_MESSAGE_READ,
|
||||||
(vkEventCallback as VkEventCallback<LongPollParsedEvent.IncomingMessageRead>)
|
|
||||||
.onEvent(
|
|
||||||
LongPollParsedEvent.IncomingMessageRead(
|
LongPollParsedEvent.IncomingMessageRead(
|
||||||
peerId = peerId,
|
peerId = peerId,
|
||||||
cmId = cmId,
|
cmId = cmId,
|
||||||
@@ -337,8 +283,6 @@ class LongPollUpdatesParser(
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun parseMessageReadOutgoing(eventType: ApiEvent, event: List<Any>) {
|
private fun parseMessageReadOutgoing(eventType: ApiEvent, event: List<Any>) {
|
||||||
Log.d("LongPollUpdatesParser", "$eventType: $event")
|
Log.d("LongPollUpdatesParser", "$eventType: $event")
|
||||||
@@ -346,10 +290,8 @@ class LongPollUpdatesParser(
|
|||||||
val cmId = event[2].asLong()
|
val cmId = event[2].asLong()
|
||||||
val unreadCount = event[3].asInt()
|
val unreadCount = event[3].asInt()
|
||||||
|
|
||||||
listenersMap[LongPollEvent.OUTGOING_MESSAGE_READ]?.let { listeners ->
|
dispatch(
|
||||||
listeners.map { vkEventCallback ->
|
LongPollEvent.OUTGOING_MESSAGE_READ,
|
||||||
(vkEventCallback as VkEventCallback<LongPollParsedEvent.OutgoingMessageRead>)
|
|
||||||
.onEvent(
|
|
||||||
LongPollParsedEvent.OutgoingMessageRead(
|
LongPollParsedEvent.OutgoingMessageRead(
|
||||||
peerId = peerId,
|
peerId = peerId,
|
||||||
cmId = cmId,
|
cmId = cmId,
|
||||||
@@ -357,8 +299,6 @@ class LongPollUpdatesParser(
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun parseChatClearFlags(eventType: ApiEvent, event: List<Any>) {
|
private fun parseChatClearFlags(eventType: ApiEvent, event: List<Any>) {
|
||||||
Log.d("LongPollUpdatesParser", "$eventType: $event")
|
Log.d("LongPollUpdatesParser", "$eventType: $event")
|
||||||
@@ -390,28 +330,14 @@ class LongPollUpdatesParser(
|
|||||||
archived = false
|
archived = false
|
||||||
)
|
)
|
||||||
eventsToSend += eventToSend
|
eventsToSend += eventToSend
|
||||||
|
dispatch(LongPollEvent.CHAT_ARCHIVED, eventToSend)
|
||||||
listenersMap[LongPollEvent.CHAT_ARCHIVED]?.let { listeners ->
|
|
||||||
listeners.map { vkEventCallback ->
|
|
||||||
(vkEventCallback as? VkEventCallback<LongPollParsedEvent.ChatArchived>)
|
|
||||||
?.onEvent(eventToSend)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
else -> Unit
|
else -> Unit
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
eventsToSend.forEach { eventToSend ->
|
dispatchAll(LongPollEvent.CHAT_CLEAR_FLAGS, eventsToSend)
|
||||||
listenersMap[LongPollEvent.CHAT_CLEAR_FLAGS]?.let { listeners ->
|
|
||||||
listeners.map { vkEventCallback ->
|
|
||||||
(vkEventCallback as? VkEventCallback<LongPollParsedEvent>)?.onEvent(
|
|
||||||
eventToSend
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -445,28 +371,14 @@ class LongPollUpdatesParser(
|
|||||||
archived = true
|
archived = true
|
||||||
)
|
)
|
||||||
eventsToSend += eventToSend
|
eventsToSend += eventToSend
|
||||||
|
dispatch(LongPollEvent.CHAT_ARCHIVED, eventToSend)
|
||||||
listenersMap[LongPollEvent.CHAT_ARCHIVED]?.let { listeners ->
|
|
||||||
listeners.map { vkEventCallback ->
|
|
||||||
(vkEventCallback as? VkEventCallback<LongPollParsedEvent.ChatArchived>)
|
|
||||||
?.onEvent(eventToSend)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
else -> Unit
|
else -> Unit
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
eventsToSend.forEach { eventToSend ->
|
dispatchAll(LongPollEvent.CHAT_SET_FLAGS, eventsToSend)
|
||||||
listenersMap[LongPollEvent.CHAT_SET_FLAGS]?.let { listeners ->
|
|
||||||
listeners.map { vkEventCallback ->
|
|
||||||
(vkEventCallback as? VkEventCallback<LongPollParsedEvent>)?.onEvent(
|
|
||||||
eventToSend
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -476,18 +388,14 @@ class LongPollUpdatesParser(
|
|||||||
val peerId = event[1].asLong()
|
val peerId = event[1].asLong()
|
||||||
val cmId = event[2].asLong()
|
val cmId = event[2].asLong()
|
||||||
|
|
||||||
listenersMap[LongPollEvent.CHAT_CLEARED]?.let { listeners ->
|
dispatch(
|
||||||
listeners.forEach { vkEventCallback ->
|
LongPollEvent.CHAT_CLEARED,
|
||||||
(vkEventCallback as VkEventCallback<LongPollParsedEvent.ChatCleared>)
|
|
||||||
.onEvent(
|
|
||||||
LongPollParsedEvent.ChatCleared(
|
LongPollParsedEvent.ChatCleared(
|
||||||
peerId = peerId,
|
peerId = peerId,
|
||||||
toCmId = cmId
|
toCmId = cmId
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun parseChatMajorChanged(eventType: ApiEvent, event: List<Any>) {
|
private fun parseChatMajorChanged(eventType: ApiEvent, event: List<Any>) {
|
||||||
Log.d("LongPollUpdatesParser", "$eventType: $event")
|
Log.d("LongPollUpdatesParser", "$eventType: $event")
|
||||||
@@ -495,18 +403,14 @@ class LongPollUpdatesParser(
|
|||||||
val peerId = event[1].asLong()
|
val peerId = event[1].asLong()
|
||||||
val majorId = event[2].asInt()
|
val majorId = event[2].asInt()
|
||||||
|
|
||||||
listenersMap[LongPollEvent.CHAT_MAJOR_CHANGED]?.let { listeners ->
|
dispatch(
|
||||||
listeners.forEach { vkEventCallback ->
|
LongPollEvent.CHAT_MAJOR_CHANGED,
|
||||||
(vkEventCallback as VkEventCallback<LongPollParsedEvent.ChatMajorChanged>)
|
|
||||||
.onEvent(
|
|
||||||
LongPollParsedEvent.ChatMajorChanged(
|
LongPollParsedEvent.ChatMajorChanged(
|
||||||
peerId = peerId,
|
peerId = peerId,
|
||||||
majorId = majorId,
|
majorId = majorId,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun parseChatMinorChanged(eventType: ApiEvent, event: List<Any>) {
|
private fun parseChatMinorChanged(eventType: ApiEvent, event: List<Any>) {
|
||||||
Log.d("LongPollUpdatesParser", "$eventType: $event")
|
Log.d("LongPollUpdatesParser", "$eventType: $event")
|
||||||
@@ -514,18 +418,14 @@ class LongPollUpdatesParser(
|
|||||||
val peerId = event[1].asLong()
|
val peerId = event[1].asLong()
|
||||||
val minorId = event[2].asInt()
|
val minorId = event[2].asInt()
|
||||||
|
|
||||||
listenersMap[LongPollEvent.CHAT_MINOR_CHANGED]?.let { listeners ->
|
dispatch(
|
||||||
listeners.forEach { vkEventCallback ->
|
LongPollEvent.CHAT_MINOR_CHANGED,
|
||||||
(vkEventCallback as VkEventCallback<LongPollParsedEvent.ChatMinorChanged>)
|
|
||||||
.onEvent(
|
|
||||||
LongPollParsedEvent.ChatMinorChanged(
|
LongPollParsedEvent.ChatMinorChanged(
|
||||||
peerId = peerId,
|
peerId = peerId,
|
||||||
minorId = minorId,
|
minorId = minorId,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun parseInteraction(eventType: ApiEvent, event: List<Any>) {
|
private fun parseInteraction(eventType: ApiEvent, event: List<Any>) {
|
||||||
Log.d("LongPollUpdatesParser", "$eventType: $event")
|
Log.d("LongPollUpdatesParser", "$eventType: $event")
|
||||||
@@ -556,10 +456,8 @@ class LongPollUpdatesParser(
|
|||||||
// if userIds contains only account's id, then we don't need to show our status
|
// if userIds contains only account's id, then we don't need to show our status
|
||||||
if (userIds.isEmpty()) return
|
if (userIds.isEmpty()) return
|
||||||
|
|
||||||
listenersMap[longPollEvent]?.let { listeners ->
|
dispatch(
|
||||||
listeners.forEach { vkEventCallback ->
|
longPollEvent,
|
||||||
(vkEventCallback as VkEventCallback<LongPollParsedEvent.Interaction>)
|
|
||||||
.onEvent(
|
|
||||||
LongPollParsedEvent.Interaction(
|
LongPollParsedEvent.Interaction(
|
||||||
interactionType = interactionType,
|
interactionType = interactionType,
|
||||||
peerId = peerId,
|
peerId = peerId,
|
||||||
@@ -569,8 +467,6 @@ class LongPollUpdatesParser(
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun parseUnreadCounterUpdate(eventType: ApiEvent, event: List<Any>) {
|
private fun parseUnreadCounterUpdate(eventType: ApiEvent, event: List<Any>) {
|
||||||
Log.d("LongPollUpdatesParser", "$eventType $event")
|
Log.d("LongPollUpdatesParser", "$eventType $event")
|
||||||
@@ -583,10 +479,8 @@ class LongPollUpdatesParser(
|
|||||||
val archiveUnreadUnmutedCount = event[8].asInt()
|
val archiveUnreadUnmutedCount = event[8].asInt()
|
||||||
val archiveMentionsCount = event[9].asInt()
|
val archiveMentionsCount = event[9].asInt()
|
||||||
|
|
||||||
listenersMap[LongPollEvent.UNREAD_COUNTER_UPDATE]?.let { listeners ->
|
dispatch(
|
||||||
listeners.forEach { vkEventCallback ->
|
LongPollEvent.UNREAD_COUNTER_UPDATE,
|
||||||
(vkEventCallback as VkEventCallback<LongPollParsedEvent.UnreadCounter>)
|
|
||||||
.onEvent(
|
|
||||||
LongPollParsedEvent.UnreadCounter(
|
LongPollParsedEvent.UnreadCounter(
|
||||||
unread = unreadCount,
|
unread = unreadCount,
|
||||||
unreadUnmuted = unreadUnmutedCount,
|
unreadUnmuted = unreadUnmutedCount,
|
||||||
@@ -598,8 +492,6 @@ class LongPollUpdatesParser(
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun parseMessageUpdated(eventType: ApiEvent, event: List<Any>) {
|
private fun parseMessageUpdated(eventType: ApiEvent, event: List<Any>) {
|
||||||
Log.d("LongPollUpdatesParser", "$eventType $event")
|
Log.d("LongPollUpdatesParser", "$eventType $event")
|
||||||
@@ -612,12 +504,7 @@ class LongPollUpdatesParser(
|
|||||||
peerId = peerId,
|
peerId = peerId,
|
||||||
cmId = cmId
|
cmId = cmId
|
||||||
)?.let { message ->
|
)?.let { message ->
|
||||||
listenersMap[LongPollEvent.MESSAGE_UPDATED]?.let {
|
dispatch(LongPollEvent.MESSAGE_UPDATED, LongPollParsedEvent.MessageUpdated(message))
|
||||||
it.map { vkEventCallback ->
|
|
||||||
(vkEventCallback as VkEventCallback<LongPollParsedEvent.MessageUpdated>)
|
|
||||||
.onEvent(LongPollParsedEvent.MessageUpdated(message))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -629,12 +516,10 @@ class LongPollUpdatesParser(
|
|||||||
|
|
||||||
coroutineScope.launch(Dispatchers.IO) {
|
coroutineScope.launch(Dispatchers.IO) {
|
||||||
loadMessage(messageId = messageId)?.let { message ->
|
loadMessage(messageId = messageId)?.let { message ->
|
||||||
listenersMap[LongPollEvent.MESSAGE_CACHE_CLEAR]?.let {
|
dispatch(
|
||||||
it.map { vkEventCallback ->
|
LongPollEvent.MESSAGE_CACHE_CLEAR,
|
||||||
(vkEventCallback as VkEventCallback<LongPollParsedEvent.MessageCacheClear>)
|
LongPollParsedEvent.MessageCacheClear(message)
|
||||||
.onEvent(LongPollParsedEvent.MessageCacheClear(message))
|
)
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user