Switch of AntiAlias

This commit is contained in:
ag2s20150909
2022-05-08 12:08:20 +08:00
parent f47f2c3b9e
commit c40c1761c8
14 changed files with 47 additions and 8 deletions
@@ -80,6 +80,8 @@ object PreferKey {
const val importKeepName = "importKeepName"
const val screenOrientation = "screenOrientation"
const val syncBookProgress = "syncBookProgress"
const val cronet = "Cronet"
const val antiAlias = "antiAlias"
const val preDownloadNum = "preDownloadNum"
const val autoRefresh = "auto_refresh"
const val defaultToRead = "defaultToRead"
@@ -11,7 +11,8 @@ import splitties.init.appCtx
@Suppress("MemberVisibilityCanBePrivate")
object AppConfig : SharedPreferences.OnSharedPreferenceChangeListener {
val isGooglePlay = appCtx.channel == "google"
val isCronet = appCtx.getPrefBoolean("Cronet")
val isCronet = appCtx.getPrefBoolean(PreferKey.cronet)
val useAntiAlias = appCtx.getPrefBoolean(PreferKey.antiAlias)
var userAgent: String = getPrefUserAgent()
var isEInkMode = appCtx.getPrefString(PreferKey.themeMode) == "3"
var clickActionTL = appCtx.getPrefInt(PreferKey.clickActionTL, 2)
@@ -21,7 +21,7 @@ abstract class AbsCallBack(
private val eventListener: EventListener? = null,
private val responseCallback: Callback? = null
) : UrlRequest.Callback() {
) : UrlRequest.Callback(), AutoCloseable {
val buffer = Buffer()
@@ -225,4 +225,8 @@ abstract class AbsCallBack(
.build()
}
}
override fun close() {
buffer.clear()
}
}
@@ -4,11 +4,15 @@ import android.os.Build
import io.legado.app.utils.printOnDebug
import okhttp3.*
import okhttp3.internal.http.receiveHeaders
import java.io.IOException
class CronetInterceptor(private val cookieJar: CookieJar = CookieJar.NO_COOKIES) : Interceptor {
@Throws(IOException::class)
override fun intercept(chain: Interceptor.Chain): Response {
if (chain.call().isCanceled()) {
throw IOException("Canceled")
}
val original: Request = chain.request()
//Cronet未初始化
return if (!CronetLoader.install() || cronetEngine == null) {
@@ -3,13 +3,13 @@ package io.legado.app.ui.book.read.page
import android.content.Context
import android.graphics.Canvas
import android.graphics.Paint
import android.graphics.PaintFlagsDrawFilter
import android.graphics.RectF
import android.util.AttributeSet
import android.view.View
import io.legado.app.R
import io.legado.app.constant.PreferKey
import io.legado.app.data.entities.Bookmark
import io.legado.app.help.config.AppConfig
import io.legado.app.help.config.ReadBookConfig
import io.legado.app.lib.theme.accentColor
import io.legado.app.model.ReadBook
@@ -49,12 +49,20 @@ class ContentTextView(context: Context, attrs: AttributeSet?) : View(context, at
private val pageFactory: TextPageFactory get() = callBack.pageFactory
private var pageOffset = 0
//绘制图片的paint
private val imagePaint by lazy {
Paint().apply {
isAntiAlias = AppConfig.useAntiAlias
}
}
init {
callBack = activity as CallBack
}
fun setContent(textPage: TextPage) {
this.textPage = textPage
imagePaint.isAntiAlias = AppConfig.useAntiAlias
invalidate()
}
@@ -163,8 +171,7 @@ class ContentTextView(context: Context, attrs: AttributeSet?) : View(context, at
lineTop: Float,
lineBottom: Float
) {
canvas.drawFilter =
PaintFlagsDrawFilter(0, Paint.ANTI_ALIAS_FLAG or Paint.FILTER_BITMAP_FLAG)
val book = ReadBook.book ?: return
val bitmap = ImageProvider.getImage(
book,
@@ -181,7 +188,7 @@ class ContentTextView(context: Context, attrs: AttributeSet?) : View(context, at
RectF(textChar.start, lineTop + div, textChar.end, lineBottom - div)
}
kotlin.runCatching {
canvas.drawBitmap(bitmap, null, rectF, null)
canvas.drawBitmap(bitmap, null, rectF, imagePaint)
}.onFailure { e ->
context.toastOnUi(e.localizedMessage)
}