diff --git a/app/src/main/java/com/github/tvbox/osc/ui/activity/FastSearchActivity.java b/app/src/main/java/com/github/tvbox/osc/ui/activity/FastSearchActivity.java index db56643b..d9b3680b 100644 --- a/app/src/main/java/com/github/tvbox/osc/ui/activity/FastSearchActivity.java +++ b/app/src/main/java/com/github/tvbox/osc/ui/activity/FastSearchActivity.java @@ -411,7 +411,6 @@ public class FastSearchActivity extends BaseActivity { this.spNames.put(bean.getName(), bean.getKey()); allRunCount.incrementAndGet(); } - updateSearchResultCount(0); for (String key : siteKey) { searchExecutorService.execute(new Runnable() { @@ -422,14 +421,14 @@ public class FastSearchActivity extends BaseActivity { }catch (Exception e){ } - - updateSearchResultCount(1); +// updateSearchResultCount(1); } }); } } synchronized private void updateSearchResultCount(int n){ - finishedCount +=n; +// finishedCount +=n; + finishedCount = resultVods.size(); if(finishedCount > spNames.size()) finishedCount = spNames.size(); } @@ -476,6 +475,7 @@ public class FastSearchActivity extends BaseActivity { } if (searchAdapter.getData().size() > 0) { + finishedCount +=1; searchAdapter.addData(data); } else { showSuccess(); diff --git a/app/src/main/java/com/github/tvbox/osc/ui/fragment/GridFragment.java b/app/src/main/java/com/github/tvbox/osc/ui/fragment/GridFragment.java index df534fa0..88d655cf 100644 --- a/app/src/main/java/com/github/tvbox/osc/ui/fragment/GridFragment.java +++ b/app/src/main/java/com/github/tvbox/osc/ui/fragment/GridFragment.java @@ -88,7 +88,10 @@ public class GridFragment extends BaseLazyFragment { } public boolean isFolederMode(){ return (getUITag() =='1'); } // 获取当前页面UI的显示模式 ‘0’ 正常模式 '1' 文件夹模式 '2' 显示缩略图的文件夹模式 - public char getUITag(){ return (sortData.flag == null || sortData.flag.length() ==0 ) ? '0' : sortData.flag.charAt(0); } + public char getUITag(){ + System.out.println(sortData); + return (sortData == null || sortData.flag == null || sortData.flag.length() ==0 ) ? '0' : sortData.flag.charAt(0); + } // 是否允许聚合搜索 sortData.flag的第二个字符为‘1’时允许聚搜 public boolean enableFastSearch(){ return (sortData.flag == null || sortData.flag.length() < 2 ) ? true : (sortData.flag.charAt(1) =='1'); } // 保存当前页面 diff --git a/app/src/main/java/com/github/tvbox/osc/ui/fragment/PlayFragment.java b/app/src/main/java/com/github/tvbox/osc/ui/fragment/PlayFragment.java index 6140bc68..45b68bad 100644 --- a/app/src/main/java/com/github/tvbox/osc/ui/fragment/PlayFragment.java +++ b/app/src/main/java/com/github/tvbox/osc/ui/fragment/PlayFragment.java @@ -779,6 +779,7 @@ public class PlayFragment extends BaseLazyFragment { } public void play(boolean reset) { + if(mVodInfo==null)return; VodInfo.VodSeries vs = mVodInfo.seriesMap.get(mVodInfo.playFlag).get(mVodInfo.playIndex); EventBus.getDefault().post(new RefreshEvent(RefreshEvent.TYPE_REFRESH, mVodInfo.playIndex)); setTip("正在获取播放信息", true, false); @@ -1232,16 +1233,20 @@ public class PlayFragment extends BaseLazyFragment { } boolean checkVideoFormat(String url) { - if (sourceBean.getType() == 3) { - if (url.contains("=http") || url.contains(".html")) { - return false; - } - Spider sp = ApiConfig.get().getCSP(sourceBean); - if (sp != null && sp.manualVideoCheck()){ - return sp.isVideoFormat(url); + try{ + if (sourceBean.getType() == 3) { + if (url.contains("=http") || url.contains(".html")) { + return false; + } + Spider sp = ApiConfig.get().getCSP(sourceBean); + if (sp != null && sp.manualVideoCheck()){ + return sp.isVideoFormat(url); + } } + return DefaultConfig.isVideoFormat(url); + }catch (Exception e){ + return false; } - return DefaultConfig.isVideoFormat(url); } class MyWebView extends WebView { diff --git a/app/src/main/java/com/github/tvbox/osc/util/DefaultConfig.java b/app/src/main/java/com/github/tvbox/osc/util/DefaultConfig.java index de8dbb73..660c68af 100644 --- a/app/src/main/java/com/github/tvbox/osc/util/DefaultConfig.java +++ b/app/src/main/java/com/github/tvbox/osc/util/DefaultConfig.java @@ -105,7 +105,9 @@ public class DefaultConfig { return start > -1 ? fileName.substring(0, start) : fileName; } - private static final Pattern snifferMatch = Pattern.compile("http((?!http).)*?default\\.365yg\\.com/.*|http((?!http).){26,}?\\.(m3u8|mp4|flv|avi|mkv|rm|rmvb|wmv|mpg|mpeg|mpe|mp3|m4a|wma)\\?.*|http((?!http).){26,}\\.(m3u8|mp4|flv|avi|mkv|rm|rmvb|wmv|mpg|mpeg|mpe|mp3|m4a|wma)|http((?!http).){26,}?/m3u8\\?pt=m3u8.*|http((?!http).)*?default\\.ixigua\\.com/.*|http((?!http).)*?/video/tos[^\\?]*|http((?!http).)*?dycdn-tos\\.pstatp[^\\?]*|http.*?/player/m3u8play\\.php\\?url=.*|http.*?/player/.*?[pP]lay\\.php\\?url=.*|http.*?/playlist/m3u8/\\?vid=.*|http.*?\\.php\\?type=m3u8&.*|http.*?/download.aspx\\?.*|http.*?/api/up_api.php\\?.*|https.*?\\.66yk\\.cn.*|http((?!http).)*?netease\\.com/file/.*|http((?!http).)*?douyin\\.com/.*/play/\\?.*|http((?!http).)*?huoshan\\.com/.*/\\?item.*"); + //增加对flv|avi|mkv|rm|wmv|mpg等几种视频格式的支持 + //private static final Pattern snifferMatch = Pattern.compile("http((?!http).){26,}?\\.(m3u8|mp4)\\?.*|http((?!http).){26,}\\.(m3u8|mp4)|http((?!http).){26,}?/m3u8\\?pt=m3u8.*|http((?!http).)*?default\\.ixigua\\.com/.*|http((?!http).)*?cdn-tos[^\\?]*|http((?!http).)*?/obj/tos[^\\?]*|http.*?/player/m3u8play\\.php\\?url=.*|http.*?/player/.*?[pP]lay\\.php\\?url=.*|http.*?/playlist/m3u8/\\?vid=.*|http.*?\\.php\\?type=m3u8&.*|http.*?/download.aspx\\?.*|http.*?/api/up_api.php\\?.*|https.*?\\.66yk\\.cn.*|http((?!http).)*?netease\\.com/file/.*"); + private static final Pattern snifferMatch = Pattern.compile("http((?!http).)*?default\\.365yg\\.com/.*|http((?!http).){26,}?\\.(m3u8|mp4|flv|avi|mkv|rm|wmv|mpg)\\?.*|http((?!http).){26,}\\.(m3u8|mp4|flv|avi|mkv|rm|wmv|mpg)|http((?!http).){20,}?/m3u8\\?pt=m3u8.*|http((?!http).)*?default\\.ixigua\\.com/.*|http((?!http).)*?dycdn-tos\\.pstatp[^\\?]*|http.*?/player/m3u8play\\.php\\?url=.*|http.*?/player/.*?[pP]lay\\.php\\?url=.*|http.*?/playlist/m3u8/\\?vid=.*|http.*?\\.php\\?type=m3u8&.*|http.*?/download.aspx\\?.*|http.*?/api/up_api.php\\?.*|https.*?\\.66yk\\.cn.*|http((?!http).)*?netease\\.com/file/.*"); public static boolean isVideoFormat(String url) { if (url.contains("=http") || url.contains(".html")) { return false; diff --git a/app/src/main/java/com/github/tvbox/osc/viewmodel/SourceViewModel.java b/app/src/main/java/com/github/tvbox/osc/viewmodel/SourceViewModel.java index 5eb14faa..0f0dd171 100644 --- a/app/src/main/java/com/github/tvbox/osc/viewmodel/SourceViewModel.java +++ b/app/src/main/java/com/github/tvbox/osc/viewmodel/SourceViewModel.java @@ -480,7 +480,10 @@ public class SourceViewModel extends ViewModel { if (type == 3) { try { Spider sp = ApiConfig.get().getCSP(sourceBean); - json(searchResult, sp.searchContent(wd, false), sourceBean.getKey()); + String search = sp.searchContent(wd, false); + if(!search.isEmpty()){ + json(searchResult, search, sourceBean.getKey()); + } } catch (Throwable th) { th.printStackTrace(); }