From c27239fbc8a571c31bb8e84bcc71e66a44e47ab6 Mon Sep 17 00:00:00 2001 From: FongMi Date: Mon, 12 Dec 2022 17:32:30 +0800 Subject: [PATCH] Glide support header --- .../java/com/fongmi/android/tv/utils/ImgUtil.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/fongmi/android/tv/utils/ImgUtil.java b/app/src/main/java/com/fongmi/android/tv/utils/ImgUtil.java index 96d3b5302..fb887b924 100644 --- a/app/src/main/java/com/fongmi/android/tv/utils/ImgUtil.java +++ b/app/src/main/java/com/fongmi/android/tv/utils/ImgUtil.java @@ -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 getListener(ImageView view) {