diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SearchActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SearchActivity.java index e074cb80b..6ad37ac81 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SearchActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SearchActivity.java @@ -32,9 +32,9 @@ import com.google.common.net.HttpHeaders; import java.io.IOException; import java.net.URLEncoder; +import java.util.Map; import okhttp3.Call; -import okhttp3.Headers; import okhttp3.Response; public class SearchActivity extends BaseActivity implements WordAdapter.OnClickListener, RecordAdapter.OnClickListener, CustomKeyboard.Callback { @@ -101,7 +101,7 @@ public class SearchActivity extends BaseActivity implements WordAdapter.OnClickL private void getHot() { mBinding.word.setText(R.string.search_hot); mWordAdapter.setItems(Word.objectFrom(Setting.getHot()).getData()); - OkHttp.newCall("https://api.web.360kan.com/v1/rank?cat=1", Headers.of(HttpHeaders.REFERER, "https://www.360kan.com/rank/general")).enqueue(getCallback(true)); + OkHttp.newCall("https://api.web.360kan.com/v1/rank?cat=1", Map.of(HttpHeaders.REFERER, "https://www.360kan.com/rank/general")).enqueue(getCallback(true)); } private void getSuggest(String text) { diff --git a/app/src/main/java/com/fongmi/android/tv/bean/Channel.java b/app/src/main/java/com/fongmi/android/tv/bean/Channel.java index e9d6cafb0..217a3b6ea 100644 --- a/app/src/main/java/com/fongmi/android/tv/bean/Channel.java +++ b/app/src/main/java/com/fongmi/android/tv/bean/Channel.java @@ -8,15 +8,17 @@ import androidx.annotation.Nullable; import com.fongmi.android.tv.App; import com.fongmi.android.tv.R; +import com.github.catvod.gson.MapAdapter; import com.fongmi.android.tv.utils.ImgUtil; import com.fongmi.android.tv.utils.ResUtil; -import com.github.catvod.utils.Json; import com.github.catvod.utils.Trans; import com.google.common.net.HttpHeaders; import com.google.gson.JsonElement; +import com.google.gson.annotations.JsonAdapter; import com.google.gson.annotations.SerializedName; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Locale; import java.util.Map; @@ -50,7 +52,8 @@ public class Channel { @SerializedName("catchup") private Catchup catchup; @SerializedName("header") - private JsonElement header; + @JsonAdapter(MapAdapter.class) + private Map header; @SerializedName("parse") private Integer parse; @SerializedName("drm") @@ -197,11 +200,11 @@ public class Channel { this.catchup = catchup; } - public JsonElement getHeader() { - return header; + public Map getHeader() { + return header == null ? new HashMap<>() : header; } - public void setHeader(JsonElement header) { + public void setHeader(Map header) { this.header = header; } @@ -310,8 +313,8 @@ public class Channel { public void live(Live live) { if (!live.getUa().isEmpty() && getUa().isEmpty()) setUa(live.getUa()); - if (live.getHeader() != null && getHeader() == null) setHeader(live.getHeader()); if (!live.getClick().isEmpty() && getClick().isEmpty()) setClick(live.getClick()); + if (!live.getHeader().isEmpty() && getHeader().isEmpty()) setHeader(live.getHeader()); if (!live.getOrigin().isEmpty() && getOrigin().isEmpty()) setOrigin(live.getOrigin()); if (!live.getCatchup().isEmpty() && getCatchup().isEmpty()) setCatchup(live.getCatchup()); if (!live.getReferer().isEmpty() && getReferer().isEmpty()) setReferer(live.getReferer()); @@ -330,7 +333,7 @@ public class Channel { } public Map getHeaders() { - Map headers = Json.toMap(getHeader()); + Map headers = new HashMap<>(getHeader()); if (!getUa().isEmpty()) headers.put(HttpHeaders.USER_AGENT, getUa()); if (!getOrigin().isEmpty()) headers.put(HttpHeaders.ORIGIN, getOrigin()); if (!getReferer().isEmpty()) headers.put(HttpHeaders.REFERER, getReferer()); @@ -366,7 +369,7 @@ public class Channel { result.setClick(getClick()); result.setParse(getParse()); result.setFormat(getFormat()); - result.setHeader(Json.toObject(getHeaders())); + result.setHeader(getHeaders()); return result; } diff --git a/app/src/main/java/com/fongmi/android/tv/bean/Drm.java b/app/src/main/java/com/fongmi/android/tv/bean/Drm.java index 2ef9f57e2..8ce77650a 100644 --- a/app/src/main/java/com/fongmi/android/tv/bean/Drm.java +++ b/app/src/main/java/com/fongmi/android/tv/bean/Drm.java @@ -7,10 +7,12 @@ import androidx.media3.common.C; import androidx.media3.common.MediaItem; import com.fongmi.android.tv.App; -import com.github.catvod.utils.Json; -import com.google.gson.JsonElement; +import com.github.catvod.gson.MapAdapter; +import com.google.gson.annotations.JsonAdapter; import com.google.gson.annotations.SerializedName; +import java.util.HashMap; +import java.util.Map; import java.util.UUID; public class Drm { @@ -22,15 +24,17 @@ public class Drm { @SerializedName("forceKey") private boolean forceKey; @SerializedName("header") - private JsonElement header; + @JsonAdapter(MapAdapter.class) + private Map header; - public static Drm create(String key, String type) { - return new Drm(key, type); + public static Drm create(String key, String type, Map header) { + return new Drm(key, type, header); } - private Drm(String key, String type) { + private Drm(String key, String type, Map header) { this.key = key; this.type = type; + this.header = header; } private String getKey() { @@ -45,8 +49,8 @@ public class Drm { return forceKey; } - private JsonElement getHeader() { - return header; + private Map getHeader() { + return header == null ? new HashMap<>() : header; } public UUID getUUID() { @@ -59,8 +63,8 @@ public class Drm { public MediaItem.DrmConfiguration get() { MediaItem.DrmConfiguration.Builder builder = new MediaItem.DrmConfiguration.Builder(getUUID()); builder.setMultiSession(!C.CLEARKEY_UUID.equals(getUUID())); - builder.setLicenseRequestHeaders(Json.toMap(getHeader())); builder.setForceDefaultLicenseUri(isForceKey()); + builder.setLicenseRequestHeaders(getHeader()); builder.setLicenseUri(getKey()); return builder.build(); } diff --git a/app/src/main/java/com/fongmi/android/tv/bean/Live.java b/app/src/main/java/com/fongmi/android/tv/bean/Live.java index 2fc401cf0..af27fccf6 100644 --- a/app/src/main/java/com/fongmi/android/tv/bean/Live.java +++ b/app/src/main/java/com/fongmi/android/tv/bean/Live.java @@ -14,9 +14,9 @@ import com.fongmi.android.tv.R; import com.fongmi.android.tv.api.loader.BaseLoader; import com.fongmi.android.tv.db.AppDatabase; import com.fongmi.android.tv.gson.ExtAdapter; +import com.github.catvod.gson.MapAdapter; import com.fongmi.android.tv.utils.UrlUtil; import com.github.catvod.crawler.Spider; -import com.github.catvod.utils.Json; import com.github.catvod.utils.Trans; import com.google.common.net.HttpHeaders; import com.google.gson.JsonElement; @@ -24,6 +24,7 @@ import com.google.gson.annotations.JsonAdapter; import com.google.gson.annotations.SerializedName; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.concurrent.TimeUnit; @@ -45,8 +46,8 @@ public class Live { private String api; @Ignore - @JsonAdapter(ExtAdapter.class) @SerializedName("ext") + @JsonAdapter(ExtAdapter.class) private String ext; @Ignore @@ -90,7 +91,8 @@ public class Live { @Ignore @SerializedName("header") - private JsonElement header; + @JsonAdapter(MapAdapter.class) + private Map header; @Ignore @SerializedName("catchup") @@ -220,8 +222,8 @@ public class Live { return timeout == null ? Constant.TIMEOUT_PLAY : TimeUnit.SECONDS.toMillis(Math.max(timeout, 1)); } - public JsonElement getHeader() { - return header; + public Map getHeader() { + return header == null ? new HashMap<>() : header; } public Catchup getCatchup() { @@ -346,7 +348,7 @@ public class Live { } public Map getHeaders() { - Map headers = Json.toMap(getHeader()); + Map headers = new HashMap<>(getHeader()); if (!getUa().isEmpty()) headers.put(HttpHeaders.USER_AGENT, getUa()); if (!getOrigin().isEmpty()) headers.put(HttpHeaders.ORIGIN, getOrigin()); if (!getReferer().isEmpty()) headers.put(HttpHeaders.REFERER, getReferer()); diff --git a/app/src/main/java/com/fongmi/android/tv/bean/Parse.java b/app/src/main/java/com/fongmi/android/tv/bean/Parse.java index 9e0885e81..5998c4555 100644 --- a/app/src/main/java/com/fongmi/android/tv/bean/Parse.java +++ b/app/src/main/java/com/fongmi/android/tv/bean/Parse.java @@ -7,12 +7,13 @@ import androidx.annotation.Nullable; import com.fongmi.android.tv.App; import com.fongmi.android.tv.R; +import com.github.catvod.gson.MapAdapter; import com.fongmi.android.tv.impl.Diffable; import com.fongmi.android.tv.utils.ResUtil; import com.fongmi.android.tv.utils.UrlUtil; -import com.github.catvod.utils.Json; import com.github.catvod.utils.Util; import com.google.gson.JsonElement; +import com.google.gson.annotations.JsonAdapter; import com.google.gson.annotations.SerializedName; import java.util.Collections; @@ -100,12 +101,12 @@ public class Parse implements Diffable { this.click = click; } - public Map getHeaders() { - return Json.toMap(getExt().getHeader()); + public Map getHeader() { + return getExt().getHeader(); } - public void setHeader(JsonElement header) { - if (getExt().getHeader() == null) getExt().setHeader(header); + public void setHeader(Map header) { + if (getExt().getHeader().isEmpty()) getExt().setHeader(header); } public boolean isEmpty() { @@ -153,7 +154,8 @@ public class Parse implements Diffable { @SerializedName("flag") private List flag; @SerializedName("header") - private JsonElement header; + @JsonAdapter(MapAdapter.class) + private Map header; public void setFlag(List flag) { this.flag = flag; @@ -163,16 +165,16 @@ public class Parse implements Diffable { return flag == null ? Collections.emptyList() : flag; } - public JsonElement getHeader() { - return header; + public Map getHeader() { + return header == null ? new HashMap<>() : header; } - public void setHeader(JsonElement header) { + public void setHeader(Map header) { this.header = header; } public boolean isEmpty() { - return flag == null && header == null; + return getFlag().isEmpty() && getHeader().isEmpty(); } @NonNull diff --git a/app/src/main/java/com/fongmi/android/tv/bean/Result.java b/app/src/main/java/com/fongmi/android/tv/bean/Result.java index 28d47fd86..e522572c8 100644 --- a/app/src/main/java/com/fongmi/android/tv/bean/Result.java +++ b/app/src/main/java/com/fongmi/android/tv/bean/Result.java @@ -10,12 +10,11 @@ import com.fongmi.android.tv.App; import com.fongmi.android.tv.Setting; import com.fongmi.android.tv.gson.DanmakuAdapter; import com.fongmi.android.tv.gson.FilterAdapter; +import com.github.catvod.gson.MapAdapter; import com.fongmi.android.tv.gson.MsgAdapter; import com.fongmi.android.tv.gson.UrlAdapter; import com.fongmi.android.tv.utils.Util; -import com.github.catvod.utils.Json; import com.github.catvod.utils.Trans; -import com.google.gson.JsonElement; import com.google.gson.annotations.JsonAdapter; import com.google.gson.annotations.SerializedName; @@ -28,6 +27,7 @@ import org.simpleframework.xml.core.Persister; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; +import java.util.HashMap; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; @@ -49,6 +49,10 @@ public class Result implements Parcelable { @JsonAdapter(FilterAdapter.class) private LinkedHashMap> filters; + @SerializedName("header") + @JsonAdapter(MapAdapter.class) + private Map header; + @SerializedName("url") @JsonAdapter(UrlAdapter.class) private Url url; @@ -63,8 +67,6 @@ public class Result implements Parcelable { @SerializedName("subs") private List subs; - @SerializedName("header") - private JsonElement header; @SerializedName("playUrl") private String playUrl; @SerializedName("jxFrom") @@ -199,12 +201,12 @@ public class Result implements Parcelable { return subs == null ? new ArrayList<>() : new ArrayList<>(subs); } - public JsonElement getHeader() { - return header; + public Map getHeader() { + return header == null ? new HashMap<>() : header; } - public void setHeader(JsonElement header) { - if (getHeader() == null) this.header = header; + public void setHeader(Map header) { + if (getHeader().isEmpty()) this.header = header; } public String getPlayUrl() { @@ -295,10 +297,6 @@ public class Result implements Parcelable { return getPlayUrl() + getUrl().v(); } - public Map getHeaders() { - return Json.toMap(getHeader()); - } - public Style getStyle(Style style) { return getList().isEmpty() ? Style.rect() : getList().get(0).getStyle(style); } diff --git a/app/src/main/java/com/fongmi/android/tv/bean/Site.java b/app/src/main/java/com/fongmi/android/tv/bean/Site.java index f95aabaaf..29fc60831 100644 --- a/app/src/main/java/com/fongmi/android/tv/bean/Site.java +++ b/app/src/main/java/com/fongmi/android/tv/bean/Site.java @@ -15,21 +15,21 @@ import com.fongmi.android.tv.Constant; import com.fongmi.android.tv.api.loader.BaseLoader; import com.fongmi.android.tv.db.AppDatabase; import com.fongmi.android.tv.gson.ExtAdapter; +import com.github.catvod.gson.MapAdapter; import com.fongmi.android.tv.utils.UrlUtil; import com.github.catvod.crawler.Spider; import com.github.catvod.net.OkHttp; -import com.github.catvod.utils.Json; import com.github.catvod.utils.Trans; import com.google.gson.JsonElement; import com.google.gson.annotations.JsonAdapter; import com.google.gson.annotations.SerializedName; import java.util.Collections; +import java.util.HashMap; import java.util.List; +import java.util.Map; import java.util.concurrent.TimeUnit; -import okhttp3.Headers; - @Entity public class Site implements Parcelable { @@ -47,8 +47,8 @@ public class Site implements Parcelable { private String api; @Ignore - @JsonAdapter(ExtAdapter.class) @SerializedName("ext") + @JsonAdapter(ExtAdapter.class) private String ext; @Ignore @@ -95,7 +95,8 @@ public class Site implements Parcelable { @Ignore @SerializedName("header") - private JsonElement header; + @JsonAdapter(MapAdapter.class) + private Map header; @Ignore @SerializedName("style") @@ -218,8 +219,8 @@ public class Site implements Parcelable { this.categories = categories; } - public JsonElement getHeader() { - return header; + public Map getHeader() { + return header == null ? new HashMap<>() : header; } public Style getStyle() { @@ -276,10 +277,6 @@ public class Site implements Parcelable { return getKey().isEmpty() && getName().isEmpty(); } - public Headers getHeaders() { - return Headers.of(Json.toMap(getHeader())); - } - public Site fetchExt() { if (!getExt().startsWith("http")) return this; String extend = OkHttp.string(getExt()); diff --git a/app/src/main/java/com/fongmi/android/tv/model/SiteViewModel.java b/app/src/main/java/com/fongmi/android/tv/model/SiteViewModel.java index b19b7151f..d8e701e6c 100644 --- a/app/src/main/java/com/fongmi/android/tv/model/SiteViewModel.java +++ b/app/src/main/java/com/fongmi/android/tv/model/SiteViewModel.java @@ -100,7 +100,7 @@ public class SiteViewModel extends ViewModel { SpiderDebug.log("home", homeContent); return Result.fromJson(homeContent); } else { - try (Response response = OkHttp.newCall(site.getApi(), site.getHeaders()).execute()) { + try (Response response = OkHttp.newCall(site.getApi(), site.getHeader()).execute()) { String homeContent = response.body().string(); SpiderDebug.log("home", homeContent); return fetchPic(site, Result.fromType(site.getType(), homeContent)); @@ -235,8 +235,8 @@ public class SiteViewModel extends ViewModel { public String call(Site site, ArrayMap params) throws IOException { if (!site.getExt().isEmpty()) params.put("extend", site.getExt()); - Call get = OkHttp.newCall(site.getApi(), site.getHeaders(), params); - Call post = OkHttp.newCall(site.getApi(), site.getHeaders(), OkHttp.toBody(params)); + Call get = OkHttp.newCall(site.getApi(), site.getHeader(), params); + Call post = OkHttp.newCall(site.getApi(), site.getHeader(), OkHttp.toBody(params)); try (Response response = (site.getExt().length() <= 1000 ? get : post).execute()) { return response.body().string(); } @@ -251,7 +251,7 @@ public class SiteViewModel extends ViewModel { ArrayMap params = new ArrayMap<>(); params.put("ac", site.getType() == 0 ? "videolist" : "detail"); params.put("ids", TextUtils.join(",", ids)); - try (Response response = OkHttp.newCall(site.getApi(), site.getHeaders(), params).execute()) { + try (Response response = OkHttp.newCall(site.getApi(), site.getHeader(), params).execute()) { result.setList(Result.fromType(site.getType(), response.body().string()).getList()); return result; } diff --git a/app/src/main/java/com/fongmi/android/tv/player/ParseJob.java b/app/src/main/java/com/fongmi/android/tv/player/ParseJob.java index 7f5ec7e3d..0918ffa81 100644 --- a/app/src/main/java/com/fongmi/android/tv/player/ParseJob.java +++ b/app/src/main/java/com/fongmi/android/tv/player/ParseJob.java @@ -30,7 +30,6 @@ import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit; -import okhttp3.Headers; import okhttp3.Response; public class ParseJob implements ParseCallback { @@ -114,7 +113,7 @@ public class ParseJob implements ParseCallback { } private void jsonParse(Parse item, String webUrl, boolean error) throws Exception { - try (Response res = OkHttp.newCall(item.getUrl() + webUrl, Headers.of(item.getHeaders())).execute()) { + try (Response res = OkHttp.newCall(item.getUrl() + webUrl, item.getHeader()).execute()) { JsonObject object = Json.parse(res.body().string()).getAsJsonObject(); String url = Json.safeString(object, "url"); JsonObject data = object.getAsJsonObject("data"); @@ -167,8 +166,8 @@ public class ParseJob implements ParseCallback { private void checkResult(Result result) { result.setHeader(parse.getExt().getHeader()); if (result.getUrl().isEmpty()) onParseError(); - else if (result.getParse() == 1) startWeb(result.getHeaders(), UrlUtil.convert(result.getUrl().v())); - else onParseSuccess(result.getHeaders(), result.getUrl().v(), result.getJxFrom()); + else if (result.getParse() == 1) startWeb(result.getHeader(), UrlUtil.convert(result.getUrl().v())); + else onParseSuccess(result.getHeader(), result.getUrl().v(), result.getJxFrom()); } private void startWeb(List items, String webUrl) { @@ -178,7 +177,7 @@ public class ParseJob implements ParseCallback { } private void startWeb(String key, Parse item, String webUrl) { - startWeb(key, item.getName(), item.getHeaders(), item.getUrl() + webUrl, item.getClick()); + startWeb(key, item.getName(), item.getHeader(), item.getUrl() + webUrl, item.getClick()); } private void startWeb(Map headers, String url) { @@ -196,8 +195,7 @@ public class ParseJob implements ParseCallback { private Map getHeader(JsonObject object) { Map headers = new HashMap<>(); for (Map.Entry entry : object.entrySet()) if (!entry.getValue().isJsonNull() && (entry.getKey().equalsIgnoreCase(HttpHeaders.USER_AGENT) || entry.getKey().equalsIgnoreCase(HttpHeaders.REFERER) || entry.getKey().equalsIgnoreCase(HttpHeaders.COOKIE) || entry.getKey().equalsIgnoreCase("ua"))) headers.put(UrlUtil.fixHeader(entry.getKey()), entry.getValue().getAsString()); - if (headers.isEmpty()) return parse.getHeaders(); - return headers; + return !headers.isEmpty() ? headers : parse.getHeader(); } @Override diff --git a/app/src/main/java/com/fongmi/android/tv/player/Players.java b/app/src/main/java/com/fongmi/android/tv/player/Players.java index 30c990b5c..755bfb2fa 100644 --- a/app/src/main/java/com/fongmi/android/tv/player/Players.java +++ b/app/src/main/java/com/fongmi/android/tv/player/Players.java @@ -470,7 +470,7 @@ public class Players implements Player.Listener, ParseCallback { } private void setMediaItem(Result result, long timeout) { - setMediaItem(result.getHeaders(), result.getRealUrl(), result.getFormat(), result.getDrm(), result.getSubs(), result.getDanmaku(), timeout); + setMediaItem(result.getHeader(), result.getRealUrl(), result.getFormat(), result.getDrm(), result.getSubs(), result.getDanmaku(), timeout); } private void setMediaItem(Map headers, String url, String format, Drm drm, List subs, List danmakus, long timeout) { diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/SearchFragment.java b/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/SearchFragment.java index f4f6b1cfc..1a2da8144 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/SearchFragment.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/SearchFragment.java @@ -41,10 +41,10 @@ import com.google.common.net.HttpHeaders; import java.io.IOException; import java.net.URLEncoder; +import java.util.Map; import java.util.Optional; import okhttp3.Call; -import okhttp3.Headers; import okhttp3.Response; public class SearchFragment extends BaseFragment implements MenuProvider, WordAdapter.OnClickListener, RecordAdapter.OnClickListener { @@ -157,7 +157,7 @@ public class SearchFragment extends BaseFragment implements MenuProvider, WordAd private void getHot() { mBinding.word.setText(R.string.search_hot); mWordAdapter.setItems(Word.objectFrom(Setting.getHot()).getData()); - OkHttp.newCall("https://api.web.360kan.com/v1/rank?cat=1", Headers.of(HttpHeaders.REFERER, "https://www.360kan.com/rank/general")).enqueue(getCallback(true)); + OkHttp.newCall("https://api.web.360kan.com/v1/rank?cat=1", Map.of(HttpHeaders.REFERER, "https://www.360kan.com/rank/general")).enqueue(getCallback(true)); } private void getSuggest(String text) { diff --git a/catvod/src/main/java/com/github/catvod/gson/MapAdapter.java b/catvod/src/main/java/com/github/catvod/gson/MapAdapter.java new file mode 100644 index 000000000..a51bbf834 --- /dev/null +++ b/catvod/src/main/java/com/github/catvod/gson/MapAdapter.java @@ -0,0 +1,20 @@ +package com.github.catvod.gson; + +import com.github.catvod.utils.Json; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonParseException; + +import java.lang.reflect.Type; +import java.util.HashMap; +import java.util.Map; + +public class MapAdapter implements JsonDeserializer> { + + @Override + public Map deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException { + if (json.isJsonObject() || json.isJsonPrimitive()) return Json.toMap(json); + return new HashMap<>(); + } +} diff --git a/catvod/src/main/java/com/github/catvod/net/OkHttp.java b/catvod/src/main/java/com/github/catvod/net/OkHttp.java index 008670819..b8569c1f4 100644 --- a/catvod/src/main/java/com/github/catvod/net/OkHttp.java +++ b/catvod/src/main/java/com/github/catvod/net/OkHttp.java @@ -127,7 +127,7 @@ public class OkHttp { public static String string(String url, Map headers) { if (!url.startsWith("http")) return ""; - try (Response res = newCall(url, Headers.of(headers)).execute()) { + try (Response res = newCall(url, headers).execute()) { return res.body().string(); } catch (Exception e) { e.printStackTrace(); @@ -151,16 +151,16 @@ public class OkHttp { return client.newCall(new Request.Builder().url(url).tag(tag).build()); } - public static Call newCall(String url, Headers headers) { - return client().newCall(new Request.Builder().url(url).headers(headers).build()); + public static Call newCall(String url, Map headers) { + return client().newCall(new Request.Builder().url(url).headers(Headers.of(headers)).build()); } - public static Call newCall(String url, Headers headers, ArrayMap params) { - return client().newCall(new Request.Builder().url(buildUrl(url, params)).headers(headers).build()); + public static Call newCall(String url, Map headers, ArrayMap params) { + return client().newCall(new Request.Builder().url(buildUrl(url, params)).headers(Headers.of(headers)).build()); } - public static Call newCall(String url, Headers headers, RequestBody body) { - return client().newCall(new Request.Builder().url(url).headers(headers).post(body).build()); + public static Call newCall(String url, Map headers, RequestBody body) { + return client().newCall(new Request.Builder().url(url).headers(Headers.of(headers)).post(body).build()); } public static Call newCall(OkHttpClient client, String url, RequestBody body) { diff --git a/catvod/src/main/java/com/github/catvod/utils/Json.java b/catvod/src/main/java/com/github/catvod/utils/Json.java index 81d012cb4..9f246cb3c 100644 --- a/catvod/src/main/java/com/github/catvod/utils/Json.java +++ b/catvod/src/main/java/com/github/catvod/utils/Json.java @@ -96,10 +96,4 @@ public class Json { for (Map.Entry entry : object.entrySet()) map.put(entry.getKey(), safeString(object, entry.getKey())); return map; } - - public static JsonObject toObject(Map map) { - JsonObject object = new JsonObject(); - for (String key : map.keySet()) object.addProperty(key, map.get(key)); - return object; - } }