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 82ca0f02f..b2a4fd79b 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 @@ -20,8 +20,11 @@ import com.bumptech.glide.request.target.Target; import com.bumptech.glide.signature.ObjectKey; import com.fongmi.android.tv.App; import com.fongmi.android.tv.R; +import com.github.catvod.utils.Json; +import com.google.gson.JsonParser; import java.io.ByteArrayOutputStream; +import java.util.Map; public class ImgUtil { @@ -58,12 +61,18 @@ public class ImgUtil { url = Utils.convert(url); if (url.startsWith("data:")) return url; LazyHeaders.Builder builder = new LazyHeaders.Builder(); + if (url.contains("@Headers=")) addHeader(builder, param = url.split("@Headers=")[1].split("@")[0]); if (url.contains("@Cookie=")) builder.addHeader("Cookie", param = url.split("@Cookie=")[1].split("@")[0]); if (url.contains("@Referer=")) builder.addHeader("Referer", param = url.split("@Referer=")[1].split("@")[0]); if (url.contains("@User-Agent=")) builder.addHeader("User-Agent", param = url.split("@User-Agent=")[1].split("@")[0]); return new GlideUrl(param == null ? url : url.split("@")[0], builder.build()); } + private static void addHeader(LazyHeaders.Builder builder, String header) { + Map map = Json.toMap(JsonParser.parseString(header)); + for (Map.Entry entry : map.entrySet()) builder.addHeader(entry.getKey(), entry.getValue()); + } + public static byte[] resize(byte[] bytes) { Bitmap bitmap = crop(BitmapFactory.decodeByteArray(bytes, 0, bytes.length)); ByteArrayOutputStream baos = new ByteArrayOutputStream();