|
|
@@ -4,7 +4,6 @@ import android.content.Context
|
|
|
import android.graphics.Bitmap
|
|
|
import android.graphics.drawable.Drawable
|
|
|
import android.net.Uri
|
|
|
-import android.util.Base64
|
|
|
import androidx.annotation.DrawableRes
|
|
|
import com.bumptech.glide.RequestBuilder
|
|
|
import io.legado.app.constant.AppPattern.dataUriRegex
|
|
|
@@ -20,16 +19,12 @@ object ImageLoader {
|
|
|
* 自动判断path类型
|
|
|
*/
|
|
|
fun load(context: Context, path: String?): RequestBuilder<Drawable> {
|
|
|
- val dataUriFindResult = dataUriRegex.find(path ?: "")
|
|
|
return when {
|
|
|
path.isNullOrEmpty() -> GlideApp.with(context).load(path)
|
|
|
- dataUriFindResult != null -> kotlin.runCatching {
|
|
|
- val dataUriBase64 = dataUriFindResult.groupValues[1]
|
|
|
- val byteArray = Base64.decode(dataUriBase64, Base64.DEFAULT)
|
|
|
- GlideApp.with(context).load(byteArray)
|
|
|
- }.getOrDefault(
|
|
|
+ dataUriRegex.find(path) != null -> {
|
|
|
+ //glide内部已经实现dataUri解析
|
|
|
GlideApp.with(context).load(path)
|
|
|
- )
|
|
|
+ }
|
|
|
path.isAbsUrl() -> {
|
|
|
kotlin.runCatching {
|
|
|
val url = AnalyzeUrl(path).getGlideUrl()
|