Enhance thread awareness to support stickers

This commit is contained in:
ariskotsomitopoulos 2021-12-17 00:46:47 +02:00
parent a187e0ec33
commit a60f6e996a

View File

@ -21,6 +21,7 @@ import io.realm.Realm
import org.matrix.android.sdk.api.session.crypto.CryptoService
import org.matrix.android.sdk.api.session.crypto.MXCryptoError
import org.matrix.android.sdk.api.session.events.model.Event
import org.matrix.android.sdk.api.session.events.model.EventType
import org.matrix.android.sdk.api.session.events.model.RelationType
import org.matrix.android.sdk.api.session.events.model.toContent
import org.matrix.android.sdk.api.session.events.model.toModel
@ -179,7 +180,13 @@ internal class ThreadsAwarenessHandler @Inject constructor(
val rootThreadEventId = getRootThreadEventId(event) ?: return null
val payload = decryptedResult?.toMutableMap() ?: return null
var body = getValueFromPayload(payload, "body") ?: return null
val msgType = getValueFromPayload(payload, "msgtype") ?: return null
val msgType = getValueFromPayload(payload, "msgtype") ?: run {
if (payload["type"]?.toString() == EventType.STICKER) {
MessageType.MSGTYPE_STICKER_LOCAL
} else {
return null
}
}
val rootThreadEvent = getEventFromDB(realm, rootThreadEventId) ?: return null
val rootThreadEventSenderId = rootThreadEvent.senderId ?: return null