|
@@ -5,6 +5,7 @@ import android.content.Context
|
|
|
import android.graphics.drawable.BitmapDrawable
|
|
import android.graphics.drawable.BitmapDrawable
|
|
|
import android.graphics.drawable.Drawable
|
|
import android.graphics.drawable.Drawable
|
|
|
import androidx.annotation.Keep
|
|
import androidx.annotation.Keep
|
|
|
|
|
+import com.bumptech.glide.Glide
|
|
|
import com.bumptech.glide.RequestBuilder
|
|
import com.bumptech.glide.RequestBuilder
|
|
|
import com.bumptech.glide.load.engine.DiskCacheStrategy
|
|
import com.bumptech.glide.load.engine.DiskCacheStrategy
|
|
|
import com.bumptech.glide.load.resource.bitmap.CenterCrop
|
|
import com.bumptech.glide.load.resource.bitmap.CenterCrop
|
|
@@ -29,6 +30,7 @@ import io.legado.app.utils.fromJsonObject
|
|
|
import io.legado.app.utils.getPrefBoolean
|
|
import io.legado.app.utils.getPrefBoolean
|
|
|
import io.legado.app.utils.getPrefString
|
|
import io.legado.app.utils.getPrefString
|
|
|
import splitties.init.appCtx
|
|
import splitties.init.appCtx
|
|
|
|
|
+import java.io.File
|
|
|
|
|
|
|
|
@Keep
|
|
@Keep
|
|
|
object BookCover {
|
|
object BookCover {
|
|
@@ -102,20 +104,34 @@ object BookCover {
|
|
|
path: String?,
|
|
path: String?,
|
|
|
loadOnlyWifi: Boolean = false,
|
|
loadOnlyWifi: Boolean = false,
|
|
|
sourceOrigin: String? = null,
|
|
sourceOrigin: String? = null,
|
|
|
- manga: Boolean = false,
|
|
|
|
|
- useDefaultCover: Drawable? = null,
|
|
|
|
|
): RequestBuilder<Drawable> {
|
|
): RequestBuilder<Drawable> {
|
|
|
var options = RequestOptions().set(OkHttpModelLoader.loadOnlyWifiOption, loadOnlyWifi)
|
|
var options = RequestOptions().set(OkHttpModelLoader.loadOnlyWifiOption, loadOnlyWifi)
|
|
|
- .set(OkHttpModelLoader.mangaOption, manga)
|
|
|
|
|
|
|
+ .set(OkHttpModelLoader.mangaOption, true)
|
|
|
if (sourceOrigin != null) {
|
|
if (sourceOrigin != null) {
|
|
|
options = options.set(OkHttpModelLoader.sourceOriginOption, sourceOrigin)
|
|
options = options.set(OkHttpModelLoader.sourceOriginOption, sourceOrigin)
|
|
|
}
|
|
}
|
|
|
return ImageLoader.load(context, path)
|
|
return ImageLoader.load(context, path)
|
|
|
.apply(options)
|
|
.apply(options)
|
|
|
.override(context.resources.displayMetrics.widthPixels, SIZE_ORIGINAL)
|
|
.override(context.resources.displayMetrics.widthPixels, SIZE_ORIGINAL)
|
|
|
- .placeholder(useDefaultCover)
|
|
|
|
|
- .error(useDefaultCover)
|
|
|
|
|
.diskCacheStrategy(DiskCacheStrategy.ALL)
|
|
.diskCacheStrategy(DiskCacheStrategy.ALL)
|
|
|
|
|
+ .skipMemoryCache(true)
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ fun preloadManga(
|
|
|
|
|
+ context: Context,
|
|
|
|
|
+ path: String?,
|
|
|
|
|
+ loadOnlyWifi: Boolean = false,
|
|
|
|
|
+ sourceOrigin: String? = null,
|
|
|
|
|
+ ): RequestBuilder<File?> {
|
|
|
|
|
+ var options = RequestOptions().set(OkHttpModelLoader.loadOnlyWifiOption, loadOnlyWifi)
|
|
|
|
|
+ .set(OkHttpModelLoader.mangaOption, true)
|
|
|
|
|
+ if (sourceOrigin != null) {
|
|
|
|
|
+ options = options.set(OkHttpModelLoader.sourceOriginOption, sourceOrigin)
|
|
|
|
|
+ }
|
|
|
|
|
+ return Glide.with(context)
|
|
|
|
|
+ .downloadOnly()
|
|
|
|
|
+ .apply(options)
|
|
|
|
|
+ .load(path)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|