commit 3b6c99a8ba3236c569327cbf82e59ef22e054461
parent 5498f8206dff28f865f8824ad3caf6c162531a54
Author: rhunk <101876869+rhunk@users.noreply.github.com>
Date:   Sun, 21 Jan 2024 12:05:25 +0100

feat(core/notifications): ignore typing notifications

Diffstat:
Mcore/src/main/kotlin/me/rhunk/snapenhance/core/features/impl/messaging/Notifications.kt | 2+-
Mcore/src/main/kotlin/me/rhunk/snapenhance/core/wrapper/impl/ConversationManager.kt | 7++++---
2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/core/src/main/kotlin/me/rhunk/snapenhance/core/features/impl/messaging/Notifications.kt b/core/src/main/kotlin/me/rhunk/snapenhance/core/features/impl/messaging/Notifications.kt @@ -415,7 +415,7 @@ class Notifications : Feature("Notifications", loadParams = FeatureLoadParams.IN val serverMessageId = extras.getString("message_id") ?: return@hook val notificationType = extras.getString("notification_type")?.lowercase() ?: return@hook if (!betterNotificationFilter.contains("chat_preview") && !betterNotificationFilter.contains("media_preview")) return@hook - + if (notificationType == "typing") return@hook param.setResult(null) val conversationManager = context.feature(Messaging::class).conversationManager ?: return@hook diff --git a/core/src/main/kotlin/me/rhunk/snapenhance/core/wrapper/impl/ConversationManager.kt b/core/src/main/kotlin/me/rhunk/snapenhance/core/wrapper/impl/ConversationManager.kt @@ -3,6 +3,7 @@ package me.rhunk.snapenhance.core.wrapper.impl import me.rhunk.snapenhance.common.data.MessageUpdate import me.rhunk.snapenhance.core.ModContext import me.rhunk.snapenhance.core.util.CallbackBuilder +import me.rhunk.snapenhance.core.util.dataBuilder import me.rhunk.snapenhance.core.util.ktx.getObjectField import me.rhunk.snapenhance.core.util.ktx.setObjectField import me.rhunk.snapenhance.core.wrapper.AbstractWrapper @@ -102,9 +103,9 @@ class ConversationManager( } fun fetchMessageByServerId(conversationId: String, serverMessageId: Long, onSuccess: (Message) -> Unit, onError: (error: String) -> Unit) { - val serverMessageIdentifier = CallbackBuilder.createEmptyObject(context.classCache.serverMessageIdentifier.constructors.first())?.apply { - setObjectField("mServerConversationId", conversationId.toSnapUUID().instanceNonNull()) - setObjectField("mServerMessageId", serverMessageId) + val serverMessageIdentifier = context.classCache.serverMessageIdentifier.dataBuilder { + set("mServerConversationId", conversationId.toSnapUUID().instanceNonNull()) + set("mServerMessageId", serverMessageId) } fetchMessageByServerId.invoke(