commit 910cbd0bbadd45690c673aa81cdd3501be6cc95e
parent 3df11aadb8546f5997e2f36b9790f4e96e12b1df
Author: rhunk <101876869+rhunk@users.noreply.github.com>
Date: Fri, 4 Aug 2023 13:17:21 +0200
fix: friend menu injection
Diffstat:
2 files changed, 19 insertions(+), 1 deletion(-)
diff --git a/core/src/main/kotlin/me/rhunk/snapenhance/database/DatabaseAccess.kt b/core/src/main/kotlin/me/rhunk/snapenhance/database/DatabaseAccess.kt
@@ -141,6 +141,22 @@ class DatabaseAccess(private val context: ModContext) : Manager {
}
}
+ fun getConversationType(conversationId: String): Int? {
+ return safeDatabaseOperation(openArroyo()) {
+ val cursor = it.rawQuery(
+ "SELECT * FROM user_conversation WHERE client_conversation_id = ?",
+ arrayOf(conversationId)
+ )
+ if (!cursor.moveToFirst()) {
+ cursor.close()
+ return@safeDatabaseOperation null
+ }
+ val type = cursor.getInt(cursor.getColumnIndex("conversation_type"))
+ cursor.close()
+ type
+ }
+ }
+
fun getDMConversationIdFromUserId(userId: String): UserConversationLink? {
return safeDatabaseOperation(openArroyo()) {
readDatabaseObject(
diff --git a/core/src/main/kotlin/me/rhunk/snapenhance/features/impl/Messaging.kt b/core/src/main/kotlin/me/rhunk/snapenhance/features/impl/Messaging.kt
@@ -33,7 +33,9 @@ class Messaging : Feature("Messaging", loadParams = FeatureLoadParams.ACTIVITY_C
val conversationId = viewItem.substringAfter("conversationId: ").substring(0, 36).also {
if (it.startsWith("null")) return@hook
}
- lastFetchGroupConversationUUID = SnapUUID.fromString(conversationId)
+ context.database.getConversationType(conversationId)?.takeIf { it == 1 }?.run {
+ lastFetchGroupConversationUUID = SnapUUID.fromString(conversationId)
+ }
}
}