|
|
|
|
@ -11,6 +11,8 @@ import androidx.annotation.Nullable; |
|
|
|
|
import com.bumptech.glide.Glide; |
|
|
|
|
import com.bumptech.glide.load.DataSource; |
|
|
|
|
import com.bumptech.glide.load.engine.GlideException; |
|
|
|
|
import com.bumptech.glide.load.model.GlideUrl; |
|
|
|
|
import com.bumptech.glide.load.model.LazyHeaders; |
|
|
|
|
import com.bumptech.glide.request.RequestListener; |
|
|
|
|
import com.bumptech.glide.request.target.Target; |
|
|
|
|
import com.bumptech.glide.signature.ObjectKey; |
|
|
|
|
@ -24,7 +26,15 @@ public class ImgUtil { |
|
|
|
|
public static void load(String url, ImageView view) { |
|
|
|
|
view.setScaleType(ImageView.ScaleType.CENTER); |
|
|
|
|
if (TextUtils.isEmpty(url)) view.setImageResource(R.drawable.ic_img_error); |
|
|
|
|
else Glide.with(App.get()).asBitmap().load(url).skipMemoryCache(true).dontAnimate().sizeMultiplier(Prefers.getThumbnail()).signature(new ObjectKey(url + "_" + Prefers.getQuality())).placeholder(R.drawable.ic_img_loading).listener(getListener(view)).into(view); |
|
|
|
|
else Glide.with(App.get()).asBitmap().load(getUrl(url)).skipMemoryCache(true).dontAnimate().sizeMultiplier(Prefers.getThumbnail()).signature(new ObjectKey(url + "_" + Prefers.getQuality())).placeholder(R.drawable.ic_img_loading).listener(getListener(view)).into(view); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public static GlideUrl getUrl(String url) { |
|
|
|
|
LazyHeaders.Builder builder = new LazyHeaders.Builder(); |
|
|
|
|
if (url.contains("@Cookie=")) builder.addHeader("Cookie", url.split("@Cookie=")[1].split("@")[0]); |
|
|
|
|
if (url.contains("@Referer=")) builder.addHeader("Referer", url.split("@Referer=")[1].split("@")[0]); |
|
|
|
|
if (url.contains("@User-Agent=")) builder.addHeader("User-Agent", url.split("@User-Agent=")[1].split("@")[0]); |
|
|
|
|
return new GlideUrl(url.split("@")[0], builder.build()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private static RequestListener<Bitmap> getListener(ImageView view) { |
|
|
|
|
|