Correct format name of GroupImage

This commit is contained in:
Karlatemp 2020-12-13 11:39:54 +08:00
parent 0897d0cd7e
commit 0a5d3097f7
No known key found for this signature in database
GPG Key ID: 21FBDDF664FF06F8
2 changed files with 8 additions and 4 deletions

View File

@ -73,8 +73,9 @@ public class ExternalImage internal constructor(
}
@MiraiExperimentalApi
public fun generateImageId(md5: ByteArray): String {
return """{${generateUUID(md5)}}.$defaultFormatName"""
@JvmOverloads
public fun generateImageId(md5: ByteArray, format: String = defaultFormatName): String {
return """{${generateUUID(md5)}}.$format"""
}
}
@ -87,7 +88,7 @@ public class ExternalImage internal constructor(
return "ExternalImage(${generateUUID(md5)})"
}
internal fun calculateImageResourceId(): String = """{${generateUUID(md5)}}.$formatName"""
internal fun calculateImageResourceId(): String = generateImageId(md5, formatName)
private fun String.detectFormatName(): String = when {
startsWith("FFD8") -> "jpg"

View File

@ -32,7 +32,10 @@ internal class OnlineGroupImageImpl(
internal val delegate: ImMsgBody.CustomFace
) : @Suppress("DEPRECATION")
OnlineGroupImage() {
override val imageId: String = delegate.filePath.takeIf {
override val imageId: String = ExternalImage.generateImageId(
delegate.md5,
delegate.filePath.substringAfterLast('.')
).takeIf {
GROUP_IMAGE_ID_REGEX.matches(it)
} ?: ExternalImage.generateImageId(delegate.md5)