mirror of
https://github.com/rhunk/SnapEnhance.git
synced 2025-06-12 05:07:46 +02:00
fix(media_downloader): partial compat for story replies
This commit is contained in:
@ -464,7 +464,11 @@ class MediaDownloader : Feature("MediaDownloader", loadParams = FeatureLoadParam
|
||||
|
||||
val messageReader = ProtoReader(messageContent)
|
||||
val urlProto: ByteArray = if (isArroyoMessage) {
|
||||
messageReader.getByteArray(*ARROYO_URL_KEY_PROTO_PATH)!!
|
||||
var finalProto: ByteArray? = null
|
||||
messageReader.readPath(4)?.each(5) {
|
||||
finalProto = getByteArray(1, 3)
|
||||
}
|
||||
finalProto!!
|
||||
} else {
|
||||
deletedMediaReference!!
|
||||
}
|
||||
|
@ -25,7 +25,17 @@ object MediaDownloaderHelper {
|
||||
return when (contentType) {
|
||||
ContentType.NOTE -> messageContainerPath.readPath(*mediaContainerPath)
|
||||
ContentType.SNAP -> messageContainerPath.readPath(*(intArrayOf(11) + mediaContainerPath))
|
||||
ContentType.EXTERNAL_MEDIA -> messageContainerPath.readPath(*(intArrayOf(3, 3) + mediaContainerPath))
|
||||
ContentType.EXTERNAL_MEDIA -> {
|
||||
val externalMediaTypes = arrayOf(
|
||||
intArrayOf(3, 3), //normal external media
|
||||
intArrayOf(7, 12, 3), //attached story reply
|
||||
intArrayOf(7, 3) //original story reply
|
||||
)
|
||||
externalMediaTypes.forEach { path ->
|
||||
messageContainerPath.readPath(*(path + mediaContainerPath))?.also { return it }
|
||||
}
|
||||
null
|
||||
}
|
||||
else -> null
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user