Bump webgpuviewer (#3949)

* Continuous background color

* Use ImageDecoder instead of Kim

* Only get tag when in dual mode

* Update libs.versions.toml

* Make progress circle smaller and animate progress

* Fix long strip showing the menu at ends
This commit is contained in:
w
2026-09-13 14:38:00 -07:00
committed by GitHub
parent 2d1a8bbeff
commit 7418f4e7bc
6 changed files with 244 additions and 183 deletions
@@ -47,8 +47,8 @@ object ImageUtil {
fun findImageType(stream: InputStream): ImageType? {
return try {
val decoder = ImageDecoder.new(stream)
when (decoder.format) {
val format = ImageDecoder.new(stream).use { dec -> dec.format }
when (format) {
"jpeg" -> ImageType.JPEG
"png" -> ImageType.PNG
"webp" -> ImageType.WEBP
@@ -76,8 +76,7 @@ object ImageUtil {
ImageType.GIF -> true
ImageType.WEBP, ImageType.HEIF -> {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.P) return false
val decoder = ImageDecoder.new(source.peek().inputStream())
decoder.pages > 1
ImageDecoder.new(source.peek().inputStream()).use { dec -> dec.pages > 1 }
}
else -> false
@@ -303,19 +302,17 @@ object ImageUtil {
* Algorithm for determining what background to accompany a comic/manga page
*/
fun chooseBackground(context: Context, imageStream: InputStream): Drawable {
val decoder = try {
ImageDecoder.new(imageStream)
val image = try {
ImageDecoder.new(imageStream).use { it.decode() }.let { res ->
createBitmap(res.width, res.height).also { bitmap ->
res.image.rewind()
bitmap.copyPixelsFromBuffer(res.image)
}
}
} catch (e: Exception) {
logcat(LogPriority.ERROR) { "chooseBackground: ${e.message}" }
null
}
val result = decoder?.decode()
val image = result?.let {
createBitmap(it.width, it.height).also { bitmap ->
it.image.rewind()
bitmap.copyPixelsFromBuffer(it.image)
}
}
val whiteColor = Color.WHITE
if (image == null) return whiteColor.toDrawable()