Refactor descrambling bitmap

master
Koitharu 2 years ago committed by Mac135135
parent 1cff0eeac4
commit 09b6a967a1

@ -1,48 +0,0 @@
package org.koitharu.kotatsu.core.parser
import android.graphics.Canvas
import android.graphics.Bitmap as AndroidBitmap
import android.graphics.Rect as AndroidRect
import org.koitharu.kotatsu.parsers.bitmap.Bitmap
import org.koitharu.kotatsu.parsers.bitmap.Rect
class BitmapImpl private constructor() : Bitmap {
lateinit var androidBitmap: AndroidBitmap
private lateinit var canvas: Canvas
override val height: Int
get() = androidBitmap.height
override val width: Int
get() = androidBitmap.width
override fun drawBitmap(sourceBitmap: Bitmap, src: Rect, dst: Rect) {
val androidSourceBitmap = (sourceBitmap as BitmapImpl).androidBitmap
canvas.drawBitmap(androidSourceBitmap, src.toAndroidRect(), dst.toAndroidRect(), null)
}
companion object {
fun create(width: Int, height: Int): Bitmap {
val instance = BitmapImpl()
instance.androidBitmap = AndroidBitmap.createBitmap(width, height, AndroidBitmap.Config.ARGB_8888)
instance.canvas = Canvas(instance.androidBitmap)
return instance
}
fun create(bitmap: AndroidBitmap): Bitmap {
val instance = BitmapImpl()
instance.androidBitmap = bitmap.copy(AndroidBitmap.Config.ARGB_8888, true)
instance.canvas = Canvas(instance.androidBitmap)
return instance
}
}
}
private fun Rect.toAndroidRect(): AndroidRect {
return AndroidRect(left, top, right, bottom)
}

@ -5,6 +5,7 @@ import okhttp3.HttpUrl
import okhttp3.MediaType.Companion.toMediaType import okhttp3.MediaType.Companion.toMediaType
import okhttp3.RequestBody.Companion.toRequestBody import okhttp3.RequestBody.Companion.toRequestBody
import okhttp3.Response import okhttp3.Response
import okhttp3.ResponseBody
import okhttp3.internal.closeQuietly import okhttp3.internal.closeQuietly
import okio.IOException import okio.IOException
import org.json.JSONObject import org.json.JSONObject
@ -40,6 +41,8 @@ fun Response.ensureSuccess() = apply {
} }
} }
fun Response.requireBody(): ResponseBody = checkNotNull(body) { "Response body is null" }
fun Cookie.newBuilder(): Cookie.Builder = Cookie.Builder().also { c -> fun Cookie.newBuilder(): Cookie.Builder = Cookie.Builder().also { c ->
c.name(name) c.name(name)
c.value(value) c.value(value)

Loading…
Cancel
Save