mirror of
https://github.com/gedoor/legado.git
synced 2025-08-10 00:52:30 +00:00
优化
This commit is contained in:
@@ -70,13 +70,17 @@ object BookCover {
|
||||
fun load(
|
||||
context: Context,
|
||||
path: String?,
|
||||
loadOnlyWifi: Boolean = false
|
||||
loadOnlyWifi: Boolean = false,
|
||||
sourceOrigin: String? = null
|
||||
): RequestBuilder<Drawable> {
|
||||
if (AppConfig.useDefaultCover) {
|
||||
return ImageLoader.load(context, defaultDrawable)
|
||||
.centerCrop()
|
||||
}
|
||||
val options = RequestOptions().set(OkHttpModelLoader.loadOnlyWifiOption, loadOnlyWifi)
|
||||
var options = RequestOptions().set(OkHttpModelLoader.loadOnlyWifiOption, loadOnlyWifi)
|
||||
if (sourceOrigin != null) {
|
||||
options = options.set(OkHttpModelLoader.sourceOriginOption, sourceOrigin)
|
||||
}
|
||||
return ImageLoader.load(context, path)
|
||||
.apply(options)
|
||||
.placeholder(defaultDrawable)
|
||||
@@ -90,14 +94,18 @@ object BookCover {
|
||||
fun loadBlur(
|
||||
context: Context,
|
||||
path: String?,
|
||||
loadOnlyWifi: Boolean = false
|
||||
loadOnlyWifi: Boolean = false,
|
||||
sourceOrigin: String? = null
|
||||
): RequestBuilder<Drawable> {
|
||||
val loadBlur = ImageLoader.load(context, defaultDrawable)
|
||||
.transform(BlurTransformation(25), CenterCrop())
|
||||
if (AppConfig.useDefaultCover) {
|
||||
return loadBlur
|
||||
}
|
||||
val options = RequestOptions().set(OkHttpModelLoader.loadOnlyWifiOption, loadOnlyWifi)
|
||||
var options = RequestOptions().set(OkHttpModelLoader.loadOnlyWifiOption, loadOnlyWifi)
|
||||
if (sourceOrigin != null) {
|
||||
options = options.set(OkHttpModelLoader.sourceOriginOption, sourceOrigin)
|
||||
}
|
||||
return ImageLoader.load(context, path)
|
||||
.apply(options)
|
||||
.transform(BlurTransformation(25), CenterCrop())
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
package io.legado.app.ui.widget.dialog
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.os.Bundle
|
||||
import android.view.View
|
||||
import com.bumptech.glide.request.RequestOptions
|
||||
import io.legado.app.R
|
||||
import io.legado.app.base.BaseDialogFragment
|
||||
import io.legado.app.databinding.DialogPhotoViewBinding
|
||||
import io.legado.app.help.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.ReadBook
|
||||
import io.legado.app.utils.setLayout
|
||||
@@ -17,9 +20,10 @@ import io.legado.app.utils.viewbindingdelegate.viewBinding
|
||||
*/
|
||||
class PhotoDialog() : BaseDialogFragment(R.layout.dialog_photo_view) {
|
||||
|
||||
constructor(src: String) : this() {
|
||||
constructor(src: String, sourceOrigin: String? = null) : this() {
|
||||
arguments = Bundle().apply {
|
||||
putString("src", src)
|
||||
putString("sourceOrigin", sourceOrigin)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,19 +34,30 @@ class PhotoDialog() : BaseDialogFragment(R.layout.dialog_photo_view) {
|
||||
setLayout(1f, 1f)
|
||||
}
|
||||
|
||||
@SuppressLint("CheckResult")
|
||||
override fun onFragmentCreated(view: View, savedInstanceState: Bundle?) {
|
||||
arguments?.getString("src")?.let { src ->
|
||||
val file = ReadBook.book?.let { book ->
|
||||
BookHelp.getImage(book, src)
|
||||
}
|
||||
if (file?.exists() == true) {
|
||||
ImageLoader.load(requireContext(), file)
|
||||
.error(R.drawable.image_loading_error)
|
||||
.into(binding.photoView)
|
||||
} else {
|
||||
ImageLoader.load(requireContext(), src)
|
||||
.error(BookCover.defaultDrawable)
|
||||
.into(binding.photoView)
|
||||
arguments?.let { arguments ->
|
||||
arguments.getString("src")?.let { src ->
|
||||
val file = ReadBook.book?.let { book ->
|
||||
BookHelp.getImage(book, src)
|
||||
}
|
||||
if (file?.exists() == true) {
|
||||
ImageLoader.load(requireContext(), file)
|
||||
.error(R.drawable.image_loading_error)
|
||||
.into(binding.photoView)
|
||||
} else {
|
||||
ImageLoader.load(requireContext(), src).apply {
|
||||
arguments.getString("sourceOrigin")?.let { sourceOrigin ->
|
||||
apply(
|
||||
RequestOptions().set(
|
||||
OkHttpModelLoader.sourceOriginOption,
|
||||
sourceOrigin
|
||||
)
|
||||
)
|
||||
}
|
||||
}.error(BookCover.defaultDrawable)
|
||||
.into(binding.photoView)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user