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 65a5a9c4a..835b21dca 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 @@ -144,6 +144,10 @@ public class Result { return jx == null ? 0 : jx; } + public void setJx(Integer jx) { + this.jx = jx; + } + public String getFlag() { return TextUtils.isEmpty(flag) ? "" : flag; } 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 3b3226c24..ff345dfb8 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 @@ -1,5 +1,6 @@ package com.fongmi.android.tv.model; +import android.net.Uri; import android.text.TextUtils; import android.util.ArrayMap; @@ -91,7 +92,8 @@ public class SiteViewModel extends ViewModel { return Result.fromJson(categoryContent); } else { ArrayMap params = new ArrayMap<>(); - if (site.getType() == 4) params.put("ext", Utils.getBase64(new Gson().toJson(extend))); + if (site.getType() == 1) params.put("f", new Gson().toJson(extend)); + else if (site.getType() == 4) params.put("ext", Utils.getBase64(new Gson().toJson(extend))); params.put("ac", site.getType() == 0 ? "videolist" : "detail"); params.put("t", tid); params.put("pg", page); @@ -143,11 +145,15 @@ public class SiteViewModel extends ViewModel { SpiderDebug.log(body); return Result.fromJson(body); } else { + String url = id; + String type = Uri.parse(url).getQueryParameter("type"); + if (type != null && type.equals("json")) url = Result.fromJson(OKHttp.newCall(id).execute().body().string()).getUrl(); Result result = new Result(); - result.setUrl(id); + result.setUrl(url); result.setFlag(flag); result.setPlayUrl(site.getPlayUrl()); - result.setParse(Utils.isVideoFormat(id) ? 0 : 1); + result.setJx(Utils.isVip(url) ? 1 : 0); + result.setParse(Utils.isVideoFormat(url) ? 0 : 1); return result; } }); diff --git a/app/src/main/java/com/fongmi/android/tv/utils/Utils.java b/app/src/main/java/com/fongmi/android/tv/utils/Utils.java index cf6c57cb5..ca8fec3f4 100644 --- a/app/src/main/java/com/fongmi/android/tv/utils/Utils.java +++ b/app/src/main/java/com/fongmi/android/tv/utils/Utils.java @@ -10,7 +10,9 @@ import android.view.inputmethod.InputMethodManager; import com.fongmi.android.tv.App; +import java.util.Arrays; import java.util.HashMap; +import java.util.List; import java.util.Map; import java.util.Objects; import java.util.regex.Pattern; @@ -59,6 +61,12 @@ public class Utils { return SNIFFER.matcher(url).find(); } + public static boolean isVip(String url) { + List hosts = Arrays.asList("iqiyi.com", "v.qq.com", "youku.com", "le.com", "tudou.com", "mgtv.com", "sohu.com", "acfun.cn", "bilibili.com", "baofeng.com", "pptv.com"); + for (String host : hosts) if (url.contains(host)) return true; + return false; + } + public static String getBase64(String ext) { return Base64.encodeToString(ext.getBytes(), Base64.DEFAULT | Base64.NO_WRAP); }