mirror of
https://github.com/rhunk/SnapEnhance.git
synced 2025-05-02 15:44:24 +02:00
feat(core/chat_action_menu): debug media headers
This commit is contained in:
parent
d91641d394
commit
53204a2b42
@ -2,6 +2,7 @@ package me.rhunk.snapenhance.common.util.snap
|
||||
|
||||
import me.rhunk.snapenhance.common.Constants
|
||||
import me.rhunk.snapenhance.common.logger.AbstractLogger
|
||||
import okhttp3.Headers
|
||||
import okhttp3.OkHttpClient
|
||||
import okhttp3.Request
|
||||
import java.io.InputStream
|
||||
@ -66,4 +67,9 @@ object RemoteMediaResolver {
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
fun getMediaHeaders(protoKey: ByteArray): Headers {
|
||||
val request = newResolveRequest(protoKey)
|
||||
return okHttpClient.newCall(request.newBuilder().method("HEAD", null).build()).execute().headers
|
||||
}
|
||||
}
|
||||
|
@ -2,6 +2,7 @@ package me.rhunk.snapenhance.core.ui.menu.impl
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.Context
|
||||
import android.text.format.Formatter
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.view.ViewGroup.MarginLayoutParams
|
||||
@ -19,6 +20,7 @@ import androidx.compose.ui.unit.dp
|
||||
import me.rhunk.snapenhance.common.data.ContentType
|
||||
import me.rhunk.snapenhance.common.ui.createComposeView
|
||||
import me.rhunk.snapenhance.common.util.protobuf.ProtoReader
|
||||
import me.rhunk.snapenhance.common.util.snap.RemoteMediaResolver
|
||||
import me.rhunk.snapenhance.core.features.impl.downloader.MediaDownloader
|
||||
import me.rhunk.snapenhance.core.features.impl.downloader.decoder.MessageDecoder
|
||||
import me.rhunk.snapenhance.core.features.impl.experiments.ConvertMessageLocally
|
||||
@ -36,6 +38,8 @@ import me.rhunk.snapenhance.core.util.ktx.getDimens
|
||||
import me.rhunk.snapenhance.core.util.ktx.vibrateLongPress
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Date
|
||||
import kotlin.io.encoding.Base64
|
||||
import kotlin.io.encoding.ExperimentalEncodingApi
|
||||
|
||||
|
||||
@SuppressLint("DiscouragedApi")
|
||||
@ -93,7 +97,7 @@ class ChatActionMenu : AbstractMenu() {
|
||||
}
|
||||
}
|
||||
|
||||
@OptIn(ExperimentalLayoutApi::class)
|
||||
@OptIn(ExperimentalLayoutApi::class, ExperimentalEncodingApi::class)
|
||||
@SuppressLint("SetTextI18n", "DiscouragedApi", "ClickableViewAccessibility")
|
||||
override fun inject(parent: ViewGroup, view: View, viewConsumer: (View) -> Unit) {
|
||||
val viewGroup = parent.parent.parent as? ViewGroup ?: return
|
||||
@ -256,6 +260,12 @@ class ChatActionMenu : AbstractMenu() {
|
||||
append("duration: $it\n")
|
||||
}
|
||||
}
|
||||
runCatching {
|
||||
val mediaHeaders = RemoteMediaResolver.getMediaHeaders(Base64.UrlSafe.decode(attachment.mediaUrlKey ?: return@runCatching))
|
||||
append("content-type: ${mediaHeaders["content-type"]}\n")
|
||||
append("content-length: ${Formatter.formatShortFileSize(context.androidContext, mediaHeaders["content-length"]?.toLongOrNull() ?: 0)}\n")
|
||||
append("creation-date: ${mediaHeaders["last-modified"]}\n")
|
||||
}
|
||||
}.toString()
|
||||
}.joinToString("\n\n")
|
||||
)
|
||||
|
Loading…
x
Reference in New Issue
Block a user