Fix android compile error

This commit is contained in:
Syer10
2022-08-27 12:43:47 -04:00
parent 3f816c163a
commit f2d546d6fb
4 changed files with 16 additions and 2 deletions

View File

@@ -9,6 +9,7 @@ package ca.gosyer.jui.ui.util.compose
import android.graphics.BitmapFactory
import androidx.compose.ui.graphics.ImageBitmap
import androidx.compose.ui.graphics.asImageBitmap
import com.seiko.imageloader.Image
import io.ktor.client.statement.HttpResponse
import io.ktor.client.statement.bodyAsChannel
import io.ktor.utils.io.jvm.javaio.toInputStream
@@ -16,3 +17,7 @@ import io.ktor.utils.io.jvm.javaio.toInputStream
actual suspend fun HttpResponse.toImageBitmap(): ImageBitmap {
return BitmapFactory.decodeStream(bodyAsChannel().toInputStream()).asImageBitmap()
}
actual fun Image.asImageBitmap(): ImageBitmap {
return asImageBitmap()
}

View File

@@ -6,7 +6,6 @@
package ca.gosyer.jui.ui.reader.loader
import androidx.compose.ui.graphics.asComposeImageBitmap
import ca.gosyer.jui.core.lang.throwIfCancellation
import ca.gosyer.jui.domain.chapter.interactor.GetChapterPage
import ca.gosyer.jui.domain.reader.service.ReaderPreferences
@@ -14,6 +13,7 @@ import ca.gosyer.jui.ui.base.image.BitmapDecoderFactory
import ca.gosyer.jui.ui.base.model.StableHolder
import ca.gosyer.jui.ui.reader.model.ReaderChapter
import ca.gosyer.jui.ui.reader.model.ReaderPage
import ca.gosyer.jui.ui.util.compose.asImageBitmap
import ca.gosyer.jui.ui.util.lang.priorityChannel
import cafe.adriel.voyager.core.concurrent.AtomicInt32
import com.seiko.imageloader.cache.disk.DiskCache
@@ -108,7 +108,7 @@ class TachideskPageLoader(
if (decoder != null) {
runCatching { decoder.decode() as DecodeImageResult }
.mapCatching {
ReaderPage.ImageDecodeState.Success(it.image.asComposeImageBitmap())
ReaderPage.ImageDecodeState.Success(it.image.asImageBitmap())
}
.getOrElse {
ReaderPage.ImageDecodeState.FailedToDecode(it)

View File

@@ -7,6 +7,9 @@
package ca.gosyer.jui.ui.util.compose
import androidx.compose.ui.graphics.ImageBitmap
import com.seiko.imageloader.Image
import io.ktor.client.statement.HttpResponse
expect suspend fun HttpResponse.toImageBitmap(): ImageBitmap
expect fun Image.asImageBitmap(): ImageBitmap

View File

@@ -7,6 +7,7 @@
package ca.gosyer.jui.ui.util.compose
import androidx.compose.ui.graphics.ImageBitmap
import androidx.compose.ui.graphics.asComposeImageBitmap
import androidx.compose.ui.graphics.toComposeImageBitmap
import ca.gosyer.jui.domain.server.Http
import io.ktor.client.call.body
@@ -18,6 +19,7 @@ import okio.FileSystem
import okio.Path
import okio.buffer
import org.jetbrains.skia.Image
import com.seiko.imageloader.Image as ImageLoaderImage
fun imageFromFile(file: Path): ImageBitmap {
return Image.makeFromEncoded(FileSystem.SYSTEM.source(file).buffer().readByteArray())
@@ -34,3 +36,7 @@ suspend fun imageFromUrl(client: Http, url: String, block: HttpRequestBuilder.()
actual suspend fun HttpResponse.toImageBitmap(): ImageBitmap {
return Image.makeFromEncoded(body<ByteArray>()).toComposeImageBitmap()
}
actual fun ImageLoaderImage.asImageBitmap(): ImageBitmap {
return asComposeImageBitmap()
}