mirror of
https://github.com/gedoor/legado.git
synced 2025-08-10 00:52:30 +00:00
优化
This commit is contained in:
@@ -14,11 +14,15 @@ import io.legado.app.help.book.isLocal
|
||||
import io.legado.app.help.config.AppConfig
|
||||
import io.legado.app.help.glide.ImageLoader
|
||||
import io.legado.app.model.BookCover
|
||||
import io.legado.app.model.ImageProvider
|
||||
import io.legado.app.model.ReadBook
|
||||
import io.legado.app.model.localBook.LocalBook
|
||||
import io.legado.app.model.webBook.WebBook
|
||||
import io.legado.app.ui.book.read.page.provider.ImageProvider
|
||||
import io.legado.app.utils.*
|
||||
import io.legado.app.utils.GSON
|
||||
import io.legado.app.utils.cnCompare
|
||||
import io.legado.app.utils.fromJsonObject
|
||||
import io.legado.app.utils.printOnDebug
|
||||
import io.legado.app.utils.stackTraceStr
|
||||
import kotlinx.coroutines.delay
|
||||
import kotlinx.coroutines.runBlocking
|
||||
import splitties.init.appCtx
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package io.legado.app.ui.book.read.page.provider
|
||||
package io.legado.app.model
|
||||
|
||||
import android.graphics.Bitmap
|
||||
import android.graphics.BitmapFactory
|
||||
@@ -15,7 +15,6 @@ import io.legado.app.help.book.isEpub
|
||||
import io.legado.app.help.book.isPdf
|
||||
import io.legado.app.help.config.AppConfig
|
||||
import io.legado.app.help.coroutine.Coroutine
|
||||
import io.legado.app.model.ReadBook
|
||||
import io.legado.app.model.localBook.EpubFile
|
||||
import io.legado.app.model.localBook.PdfFile
|
||||
import io.legado.app.utils.BitmapUtils
|
||||
@@ -65,6 +64,14 @@ object ImageProvider {
|
||||
|
||||
}
|
||||
|
||||
fun put(key: String, bitmap: Bitmap) {
|
||||
bitmapLruCache.put(key, bitmap)
|
||||
}
|
||||
|
||||
fun get(key: String): Bitmap? {
|
||||
return bitmapLruCache.get(key)
|
||||
}
|
||||
|
||||
private fun getNotRecycled(key: String): Bitmap? {
|
||||
val bitmap = bitmapLruCache.get(key) ?: return null
|
||||
if (bitmap.isRecycled) {
|
||||
@@ -193,4 +200,20 @@ object ImageProvider {
|
||||
return tmp
|
||||
}
|
||||
|
||||
fun getServiceCover(coverUrl: String?): Bitmap {
|
||||
var bitmap: Bitmap?
|
||||
if (!coverUrl.isNullOrBlank()) {
|
||||
bitmap = get(coverUrl)
|
||||
if (bitmap != null) {
|
||||
return bitmap
|
||||
}
|
||||
}
|
||||
bitmap = get("defaultCover")
|
||||
if (bitmap == null) {
|
||||
bitmap = BitmapFactory.decodeResource(appCtx.resources, R.drawable.icon_read_book)!!
|
||||
put("defaultCover", bitmap)
|
||||
}
|
||||
return bitmap
|
||||
}
|
||||
|
||||
}
|
||||
@@ -112,10 +112,8 @@ class AudioPlayService : BaseService(),
|
||||
.submit()
|
||||
.get()
|
||||
}.onSuccess {
|
||||
val tmpCover = cover
|
||||
cover = it
|
||||
upNotification()
|
||||
tmpCover.recycle()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -157,7 +155,6 @@ class AudioPlayService : BaseService(),
|
||||
upMediaSessionPlaybackState(PlaybackStateCompat.STATE_STOPPED)
|
||||
AudioPlay.status = Status.STOP
|
||||
postEvent(EventBus.AUDIO_STATE, Status.STOP)
|
||||
cover.recycle()
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -113,10 +113,8 @@ abstract class BaseReadAloudService : BaseService(),
|
||||
.submit()
|
||||
.get()
|
||||
}.onSuccess {
|
||||
val tmpCover = cover
|
||||
cover = it
|
||||
upNotification()
|
||||
tmpCover.recycle()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -140,7 +138,6 @@ abstract class BaseReadAloudService : BaseService(),
|
||||
upMediaSessionPlaybackState(PlaybackStateCompat.STATE_STOPPED)
|
||||
mediaSessionCompat.release()
|
||||
ReadBook.uploadProgress()
|
||||
cover.recycle()
|
||||
}
|
||||
|
||||
override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
|
||||
|
||||
@@ -21,7 +21,7 @@ import io.legado.app.help.glide.ImageLoader
|
||||
import io.legado.app.help.glide.OkHttpModelLoader
|
||||
import io.legado.app.help.source.SourceVerificationHelp
|
||||
import io.legado.app.lib.theme.primaryColor
|
||||
import io.legado.app.ui.book.read.page.provider.ImageProvider
|
||||
import io.legado.app.model.ImageProvider
|
||||
import io.legado.app.ui.widget.dialog.PhotoDialog
|
||||
import io.legado.app.utils.applyTint
|
||||
import io.legado.app.utils.setLayout
|
||||
|
||||
@@ -200,13 +200,7 @@ class ReadBookActivity : BaseReadBookActivity(),
|
||||
super.onWindowFocusChanged(hasFocus)
|
||||
upSystemUiVisibility()
|
||||
if (hasFocus) {
|
||||
//调节系统亮度后如果设置亮度值和原来一样亮度不会变
|
||||
launch {
|
||||
delay(100)
|
||||
binding.readMenu.setScreenBrightness(WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_NONE)
|
||||
delay(1000)
|
||||
binding.readMenu.upBrightnessState()
|
||||
}
|
||||
binding.readMenu.upBrightnessState()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -23,13 +23,13 @@ import io.legado.app.help.book.isLocal
|
||||
import io.legado.app.help.book.removeType
|
||||
import io.legado.app.help.config.AppConfig
|
||||
import io.legado.app.help.coroutine.Coroutine
|
||||
import io.legado.app.model.ImageProvider
|
||||
import io.legado.app.model.ReadAloud
|
||||
import io.legado.app.model.ReadBook
|
||||
import io.legado.app.model.localBook.LocalBook
|
||||
import io.legado.app.model.webBook.WebBook
|
||||
import io.legado.app.service.BaseReadAloudService
|
||||
import io.legado.app.ui.book.read.page.entities.TextChapter
|
||||
import io.legado.app.ui.book.read.page.provider.ImageProvider
|
||||
import io.legado.app.ui.book.searchContent.SearchResult
|
||||
import io.legado.app.utils.*
|
||||
import kotlinx.coroutines.Dispatchers.IO
|
||||
|
||||
@@ -15,13 +15,13 @@ import io.legado.app.help.book.isImage
|
||||
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.ImageProvider
|
||||
import io.legado.app.model.ReadBook
|
||||
import io.legado.app.ui.book.read.page.entities.TextLine
|
||||
import io.legado.app.ui.book.read.page.entities.TextPage
|
||||
import io.legado.app.ui.book.read.page.entities.TextPos
|
||||
import io.legado.app.ui.book.read.page.entities.column.*
|
||||
import io.legado.app.ui.book.read.page.provider.ChapterProvider
|
||||
import io.legado.app.ui.book.read.page.provider.ImageProvider
|
||||
import io.legado.app.ui.book.read.page.provider.TextPageFactory
|
||||
import io.legado.app.utils.*
|
||||
import kotlin.math.min
|
||||
|
||||
@@ -14,6 +14,7 @@ import io.legado.app.data.entities.BookChapter
|
||||
import io.legado.app.help.book.BookContent
|
||||
import io.legado.app.help.config.AppConfig
|
||||
import io.legado.app.help.config.ReadBookConfig
|
||||
import io.legado.app.model.ImageProvider
|
||||
import io.legado.app.model.ReadBook
|
||||
import io.legado.app.ui.book.read.page.entities.TextChapter
|
||||
import io.legado.app.ui.book.read.page.entities.TextLine
|
||||
|
||||
@@ -21,9 +21,9 @@ import io.legado.app.lib.dialogs.alert
|
||||
import io.legado.app.lib.prefs.fragment.PreferenceFragment
|
||||
import io.legado.app.lib.theme.primaryColor
|
||||
import io.legado.app.model.CheckSource
|
||||
import io.legado.app.model.ImageProvider
|
||||
import io.legado.app.receiver.SharedReceiverActivity
|
||||
import io.legado.app.service.WebService
|
||||
import io.legado.app.ui.book.read.page.provider.ImageProvider
|
||||
import io.legado.app.ui.file.HandleFileContract
|
||||
import io.legado.app.ui.widget.number.NumberPickerDialog
|
||||
import io.legado.app.utils.*
|
||||
|
||||
@@ -11,8 +11,8 @@ import io.legado.app.help.book.BookHelp
|
||||
import io.legado.app.help.glide.ImageLoader
|
||||
import io.legado.app.help.glide.OkHttpModelLoader
|
||||
import io.legado.app.model.BookCover
|
||||
import io.legado.app.model.ImageProvider
|
||||
import io.legado.app.model.ReadBook
|
||||
import io.legado.app.ui.book.read.page.provider.ImageProvider
|
||||
import io.legado.app.utils.setLayout
|
||||
import io.legado.app.utils.viewbindingdelegate.viewBinding
|
||||
|
||||
|
||||
Reference in New Issue
Block a user