This commit is contained in:
kunfei committed 2022-04-19 14:07:34 +08:00
1 parent 26b44adcf6
commit 67b52b0d40
2 files changed
+40 -17

No files matched your search

@@ -70,13 +70,17 @@ object BookCover {
fun load( fun load(
context: Context, context: Context,
path: String?, path: String?,
loadOnlyWifi: Boolean = false loadOnlyWifi: Boolean = false,
sourceOrigin: String? = null
): RequestBuilder<Drawable> { ): RequestBuilder<Drawable> {
if (AppConfig.useDefaultCover) { if (AppConfig.useDefaultCover) {
return ImageLoader.load(context, defaultDrawable) return ImageLoader.load(context, defaultDrawable)
.centerCrop() .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) return ImageLoader.load(context, path)
.apply(options) .apply(options)
.placeholder(defaultDrawable) .placeholder(defaultDrawable)
@@ -90,14 +94,18 @@ object BookCover {
fun loadBlur( fun loadBlur(
context: Context, context: Context,
path: String?, path: String?,
loadOnlyWifi: Boolean = false loadOnlyWifi: Boolean = false,
sourceOrigin: String? = null
): RequestBuilder<Drawable> { ): RequestBuilder<Drawable> {
val loadBlur = ImageLoader.load(context, defaultDrawable) val loadBlur = ImageLoader.load(context, defaultDrawable)
.transform(BlurTransformation(25), CenterCrop()) .transform(BlurTransformation(25), CenterCrop())
if (AppConfig.useDefaultCover) { if (AppConfig.useDefaultCover) {
return loadBlur 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) return ImageLoader.load(context, path)
.apply(options) .apply(options)
.transform(BlurTransformation(25), CenterCrop()) .transform(BlurTransformation(25), CenterCrop())
@@ -1,12 +1,15 @@
package io.legado.app.ui.widget.dialog package io.legado.app.ui.widget.dialog
import android.annotation.SuppressLint
import android.os.Bundle import android.os.Bundle
import android.view.View import android.view.View
import com.bumptech.glide.request.RequestOptions
import io.legado.app.R import io.legado.app.R
import io.legado.app.base.BaseDialogFragment import io.legado.app.base.BaseDialogFragment
import io.legado.app.databinding.DialogPhotoViewBinding import io.legado.app.databinding.DialogPhotoViewBinding
import io.legado.app.help.BookHelp import io.legado.app.help.BookHelp
import io.legado.app.help.glide.ImageLoader 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.BookCover
import io.legado.app.model.ReadBook import io.legado.app.model.ReadBook
import io.legado.app.utils.setLayout 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) { class PhotoDialog() : BaseDialogFragment(R.layout.dialog_photo_view) {
constructor(src: String) : this() { constructor(src: String, sourceOrigin: String? = null) : this() {
arguments = Bundle().apply { arguments = Bundle().apply {
putString("src", src) putString("src", src)
putString("sourceOrigin", sourceOrigin)
} }
} }
@@ -30,19 +34,30 @@ class PhotoDialog() : BaseDialogFragment(R.layout.dialog_photo_view) {
setLayout(1f, 1f) setLayout(1f, 1f)
} }
@SuppressLint("CheckResult")
override fun onFragmentCreated(view: View, savedInstanceState: Bundle?) { override fun onFragmentCreated(view: View, savedInstanceState: Bundle?) {
arguments?.getString("src")?.let { src -> arguments?.let { arguments ->
val file = ReadBook.book?.let { book -> arguments.getString("src")?.let { src ->
BookHelp.getImage(book, src) val file = ReadBook.book?.let { book ->
} BookHelp.getImage(book, src)
if (file?.exists() == true) { }
ImageLoader.load(requireContext(), file) if (file?.exists() == true) {
.error(R.drawable.image_loading_error) ImageLoader.load(requireContext(), file)
.into(binding.photoView) .error(R.drawable.image_loading_error)
} else { .into(binding.photoView)
ImageLoader.load(requireContext(), src) } else {
.error(BookCover.defaultDrawable) ImageLoader.load(requireContext(), src).apply {
.into(binding.photoView) arguments.getString("sourceOrigin")?.let { sourceOrigin ->
apply(
RequestOptions().set(
OkHttpModelLoader.sourceOriginOption,
sourceOrigin
)
)
}
}.error(BookCover.defaultDrawable)
.into(binding.photoView)
}
} }
} }