From 72a43055e5654d47f558548bb03b6851713e172c Mon Sep 17 00:00:00 2001 From: DreamDSTR <> Date: Thu, 30 Jun 2022 09:12:17 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A1=A5=E9=BD=90=E7=88=AC=E8=99=ABjar?= =?UTF-8?q?=E5=97=85=E6=8E=A2=E6=89=A9=E5=B1=95=E6=8E=A5=E5=8F=A3=E8=B0=83?= =?UTF-8?q?=E7=94=A8=20&=20BugFix.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tvbox/osc/ui/activity/DetailActivity.java | 6 +++-- .../tvbox/osc/ui/activity/PlayActivity.java | 23 +++++++++++++++---- .../tvbox/osc/ui/adapter/CollectAdapter.java | 3 ++- .../tvbox/osc/ui/adapter/GridAdapter.java | 3 ++- .../tvbox/osc/ui/adapter/HistoryAdapter.java | 5 ++-- .../osc/ui/adapter/HomeHotVodAdapter.java | 3 ++- .../com/github/tvbox/osc/util/OkGoHelper.java | 2 +- 7 files changed, 32 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/com/github/tvbox/osc/ui/activity/DetailActivity.java b/app/src/main/java/com/github/tvbox/osc/ui/activity/DetailActivity.java index 348368ee..ccb642b8 100644 --- a/app/src/main/java/com/github/tvbox/osc/ui/activity/DetailActivity.java +++ b/app/src/main/java/com/github/tvbox/osc/ui/activity/DetailActivity.java @@ -27,7 +27,9 @@ import com.github.tvbox.osc.picasso.RoundTransformation; import com.github.tvbox.osc.ui.adapter.SeriesAdapter; import com.github.tvbox.osc.ui.adapter.SeriesFlagAdapter; import com.github.tvbox.osc.ui.dialog.QuickSearchDialog; +import com.github.tvbox.osc.util.DefaultConfig; import com.github.tvbox.osc.util.FastClickCheckUtil; +import com.github.tvbox.osc.util.MD5; import com.github.tvbox.osc.viewmodel.SourceViewModel; import com.google.gson.Gson; import com.google.gson.JsonArray; @@ -302,8 +304,8 @@ public class DetailActivity extends BaseActivity { setTextShow(tvDes, "内容简介:", removeHtmlTag(mVideo.des)); if (!TextUtils.isEmpty(mVideo.pic)) { Picasso.get() - .load(mVideo.pic) - .transform(new RoundTransformation(mVideo.pic) + .load(DefaultConfig.checkReplaceProxy(mVideo.pic)) + .transform(new RoundTransformation(MD5.string2MD5(mVideo.pic + mVideo.name)) .centerCorp(true) .override(AutoSizeUtils.mm2px(mContext, 300), AutoSizeUtils.mm2px(mContext, 400)) .roundRadius(AutoSizeUtils.mm2px(mContext, 10), RoundTransformation.RoundType.ALL)) diff --git a/app/src/main/java/com/github/tvbox/osc/ui/activity/PlayActivity.java b/app/src/main/java/com/github/tvbox/osc/ui/activity/PlayActivity.java index 7c4ef77b..d78f00c5 100644 --- a/app/src/main/java/com/github/tvbox/osc/ui/activity/PlayActivity.java +++ b/app/src/main/java/com/github/tvbox/osc/ui/activity/PlayActivity.java @@ -32,10 +32,12 @@ import androidx.annotation.Nullable; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; +import com.github.catvod.crawler.Spider; import com.github.tvbox.osc.R; import com.github.tvbox.osc.api.ApiConfig; import com.github.tvbox.osc.base.BaseActivity; import com.github.tvbox.osc.bean.ParseBean; +import com.github.tvbox.osc.bean.SourceBean; import com.github.tvbox.osc.bean.VodInfo; import com.github.tvbox.osc.cache.CacheManager; import com.github.tvbox.osc.event.RefreshEvent; @@ -284,6 +286,7 @@ public class PlayActivity extends BaseActivity { Bundle bundle = intent.getExtras(); mVodInfo = (VodInfo) bundle.getSerializable("VodInfo"); sourceKey = bundle.getString("sourceKey"); + sourceBean = ApiConfig.get().getSource(sourceKey); initPlayerCfg(); play(); } @@ -372,6 +375,7 @@ public class PlayActivity extends BaseActivity { private VodInfo mVodInfo; private JSONObject mVodPlayerCfg; private String sourceKey; + private SourceBean sourceBean; private void playNext() { boolean hasNext = true; @@ -510,7 +514,7 @@ public class PlayActivity extends BaseActivity { if (pb.getType() == 0) { setTip("正在嗅探播放地址", true, false); mHandler.removeMessages(100); - mHandler.sendEmptyMessageDelayed(100, 15 * 1000); + mHandler.sendEmptyMessageDelayed(100, 20 * 1000); loadWebView(pb.getUrl() + webUrl); } else if (pb.getType() == 1) { // json 解析 setTip("正在解析播放地址", true, false); @@ -526,7 +530,7 @@ public class PlayActivity extends BaseActivity { reqHeaders.put(key, headerJson.optString(key, "")); } } - } catch (JSONException e) { + } catch (Throwable e) { e.printStackTrace(); } OkGo.get(pb.getUrl() + webUrl) @@ -564,7 +568,7 @@ public class PlayActivity extends BaseActivity { } } playUrl(rs.getString("url"), headers); - } catch (JSONException e) { + } catch (Throwable e) { e.printStackTrace(); errorWithRetry("解析错误", false); } @@ -779,6 +783,15 @@ public class PlayActivity extends BaseActivity { }); } + boolean checkVideoFormat(String url) { + if (sourceBean.getType() == 3) { + Spider sp = ApiConfig.get().getCSP(sourceBean); + if (sp != null && sp.manualVideoCheck()) + return sp.isVideoFormat(url); + } + return DefaultConfig.isVideoFormat(url); + } + class MyWebView extends WebView { public MyWebView(@NonNull Context context) { super(context); @@ -900,7 +913,7 @@ public class PlayActivity extends BaseActivity { } if (!ad && !loadFound) { - if (DefaultConfig.isVideoFormat(url)) { + if (checkVideoFormat(url)) { mHandler.removeMessages(100); loadFound = true; if (headers != null && !headers.isEmpty()) { @@ -1056,7 +1069,7 @@ public class PlayActivity extends BaseActivity { ad = loadedUrls.get(url); } if (!ad && !loadFound) { - if (DefaultConfig.isVideoFormat(url)) { + if (checkVideoFormat(url)) { mHandler.removeMessages(100); loadFound = true; HashMap webHeaders = new HashMap<>(); diff --git a/app/src/main/java/com/github/tvbox/osc/ui/adapter/CollectAdapter.java b/app/src/main/java/com/github/tvbox/osc/ui/adapter/CollectAdapter.java index d8990e5f..33ccd51d 100644 --- a/app/src/main/java/com/github/tvbox/osc/ui/adapter/CollectAdapter.java +++ b/app/src/main/java/com/github/tvbox/osc/ui/adapter/CollectAdapter.java @@ -8,6 +8,7 @@ import com.chad.library.adapter.base.BaseViewHolder; import com.github.tvbox.osc.R; import com.github.tvbox.osc.cache.VodCollect; import com.github.tvbox.osc.picasso.RoundTransformation; +import com.github.tvbox.osc.util.DefaultConfig; import com.github.tvbox.osc.util.MD5; import com.squareup.picasso.Picasso; @@ -31,7 +32,7 @@ public class CollectAdapter extends BaseQuickAdapter //由于部分电视机使用glide报错 if (!TextUtils.isEmpty(item.pic)) { Picasso.get() - .load(item.pic) + .load(DefaultConfig.checkReplaceProxy(item.pic)) .transform(new RoundTransformation(MD5.string2MD5(item.pic + item.name)) .centerCorp(true) .override(AutoSizeUtils.mm2px(mContext, 300), AutoSizeUtils.mm2px(mContext, 400)) diff --git a/app/src/main/java/com/github/tvbox/osc/ui/adapter/GridAdapter.java b/app/src/main/java/com/github/tvbox/osc/ui/adapter/GridAdapter.java index cda4b804..317a9e9e 100644 --- a/app/src/main/java/com/github/tvbox/osc/ui/adapter/GridAdapter.java +++ b/app/src/main/java/com/github/tvbox/osc/ui/adapter/GridAdapter.java @@ -10,6 +10,7 @@ import com.chad.library.adapter.base.BaseViewHolder; import com.github.tvbox.osc.R; import com.github.tvbox.osc.bean.Movie; import com.github.tvbox.osc.picasso.RoundTransformation; +import com.github.tvbox.osc.util.DefaultConfig; import com.github.tvbox.osc.util.MD5; import com.squareup.picasso.Picasso; @@ -64,7 +65,7 @@ public class GridAdapter extends BaseQuickAdapter { //由于部分电视机使用glide报错 if (!TextUtils.isEmpty(item.pic)) { Picasso.get() - .load(item.pic) + .load(DefaultConfig.checkReplaceProxy(item.pic)) .transform(new RoundTransformation(MD5.string2MD5(item.pic + "position=" + helper.getLayoutPosition())) .centerCorp(true) .override(AutoSizeUtils.mm2px(mContext, 300), AutoSizeUtils.mm2px(mContext, 400)) diff --git a/app/src/main/java/com/github/tvbox/osc/ui/adapter/HistoryAdapter.java b/app/src/main/java/com/github/tvbox/osc/ui/adapter/HistoryAdapter.java index 817896c6..869dffec 100644 --- a/app/src/main/java/com/github/tvbox/osc/ui/adapter/HistoryAdapter.java +++ b/app/src/main/java/com/github/tvbox/osc/ui/adapter/HistoryAdapter.java @@ -10,6 +10,7 @@ import com.github.tvbox.osc.R; import com.github.tvbox.osc.api.ApiConfig; import com.github.tvbox.osc.bean.VodInfo; import com.github.tvbox.osc.picasso.RoundTransformation; +import com.github.tvbox.osc.util.DefaultConfig; import com.github.tvbox.osc.util.MD5; import com.squareup.picasso.Picasso; @@ -68,8 +69,8 @@ public class HistoryAdapter extends BaseQuickAdapter { //由于部分电视机使用glide报错 if (!TextUtils.isEmpty(item.pic)) { Picasso.get() - .load(item.pic) - .transform(new RoundTransformation(MD5.string2MD5(item.pic + item.note)) + .load(DefaultConfig.checkReplaceProxy(item.pic)) + .transform(new RoundTransformation(MD5.string2MD5(item.pic + item.name)) .centerCorp(true) .override(AutoSizeUtils.mm2px(mContext, 300), AutoSizeUtils.mm2px(mContext, 400)) .roundRadius(AutoSizeUtils.mm2px(mContext, 10), RoundTransformation.RoundType.ALL)) diff --git a/app/src/main/java/com/github/tvbox/osc/ui/adapter/HomeHotVodAdapter.java b/app/src/main/java/com/github/tvbox/osc/ui/adapter/HomeHotVodAdapter.java index 88f9633d..fa04f3b9 100644 --- a/app/src/main/java/com/github/tvbox/osc/ui/adapter/HomeHotVodAdapter.java +++ b/app/src/main/java/com/github/tvbox/osc/ui/adapter/HomeHotVodAdapter.java @@ -9,6 +9,7 @@ import com.chad.library.adapter.base.BaseQuickAdapter; import com.chad.library.adapter.base.BaseViewHolder; import com.github.tvbox.osc.R; import com.github.tvbox.osc.picasso.RoundTransformation; +import com.github.tvbox.osc.util.DefaultConfig; import com.github.tvbox.osc.util.MD5; import com.squareup.picasso.Picasso; @@ -50,7 +51,7 @@ public class HomeHotVodAdapter extends BaseQuickAdapter