修闪退bug;修磁力bug;修图片bug

pull/97/head
于俊 3 years ago
parent 3e6c42200a
commit 2f044d8dee
  1. 3
      app/src/main/java/com/github/tvbox/osc/picasso/MyOkhttpDownLoader.java
  2. 91
      app/src/main/java/com/github/tvbox/osc/ui/fragment/PlayFragment.java
  3. 34
      app/src/main/java/com/github/tvbox/osc/util/FileUtils.java
  4. 164
      app/src/main/java/com/github/tvbox/osc/util/thunder/Thunder.java
  5. 133
      app/src/main/java/com/github/tvbox/osc/viewmodel/SourceViewModel.java

@ -103,9 +103,6 @@ public final class MyOkhttpDownLoader implements Downloader {
mRequestBuilder.addHeader("Referer", referer);
}
}
URL imgUrl = new URL(url);
String host = imgUrl.getHost();
mRequestBuilder.addHeader("Host", host);
return client.newCall(mRequestBuilder.build()).execute();
}

@ -119,7 +119,7 @@ public class PlayFragment extends BaseLazyFragment {
private SourceViewModel sourceViewModel;
private Handler mHandler;
private long videoDuration = -1;
private final long videoDuration = -1;
@Override
protected int getLayoutResID() {
@ -147,14 +147,24 @@ public class PlayFragment extends BaseLazyFragment {
} catch (JSONException e) {
e.printStackTrace();
}
long skip = st * 1000;
if (CacheManager.getCache(MD5.string2MD5(url)) == null) {
long skip = st * 1000L;
Object theCache=CacheManager.getCache(MD5.string2MD5(url));
if (theCache == null) {
return skip;
}
long rec = (long) CacheManager.getCache(MD5.string2MD5(url));
if (rec < skip)
return skip;
return rec;
long rec = 0;
if (theCache instanceof Long) {
rec = (Long) theCache;
} else if (theCache instanceof String) {
try {
rec = Long.parseLong((String) theCache);
} catch (NumberFormatException e) {
System.out.println("String value is not a valid long.");
}
} else {
System.out.println("Value cannot be converted to long.");
}
return Math.max(rec, skip);
}
private void initView() {
@ -182,7 +192,6 @@ public class PlayFragment extends BaseLazyFragment {
ProgressManager progressManager = new ProgressManager() {
@Override
public void saveProgress(String url, long progress) {
if (videoDuration ==0) return;
CacheManager.save(MD5.string2MD5(url), progress);
}
@ -294,15 +303,14 @@ public class PlayFragment extends BaseLazyFragment {
searchSubtitleDialog.setSubtitleLoader(new SearchSubtitleDialog.SubtitleLoader() {
@Override
public void loadSubtitle(Subtitle subtitle) {
if (!isAdded()) return;
requireActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
String zimuUrl = subtitle.getUrl();
LOG.i("Remote Subtitle Url: " + zimuUrl);
setSubtitle(zimuUrl);//设置字幕
if (searchSubtitleDialog != null) {
searchSubtitleDialog.dismiss();
}
searchSubtitleDialog.dismiss();
}
});
}
@ -335,6 +343,7 @@ public class PlayFragment extends BaseLazyFragment {
subtitleDialog.show();
}
@SuppressLint("UseCompatLoadingForColorStateLists")
void setSubtitleViewTextStyle(int style) {
if (style == 0) {
mController.mSubtitleView.setTextColor(getContext().getResources().getColorStateList(R.color.color_FFFFFF));
@ -349,9 +358,7 @@ public class PlayFragment extends BaseLazyFragment {
return;
}
TrackInfo trackInfo = null;
if (mediaPlayer instanceof IjkMediaPlayer) {
trackInfo = ((IjkMediaPlayer)mediaPlayer).getTrackInfo();
}
trackInfo = ((IjkMediaPlayer)mediaPlayer).getTrackInfo();
if (trackInfo == null) {
Toast.makeText(mContext, "没有音轨", Toast.LENGTH_SHORT).show();
return;
@ -369,9 +376,7 @@ public class PlayFragment extends BaseLazyFragment {
}
mediaPlayer.pause();
long progress = mediaPlayer.getCurrentPosition();//保存当前进度,ijk 切换轨道 会有快进几秒
if (mediaPlayer instanceof IjkMediaPlayer) {
((IjkMediaPlayer)mediaPlayer).setTrack(value.index);
}
((IjkMediaPlayer)mediaPlayer).setTrack(value.index);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
@ -412,9 +417,7 @@ public class PlayFragment extends BaseLazyFragment {
return;
}
TrackInfo trackInfo = null;
if (mediaPlayer instanceof IjkMediaPlayer) {
trackInfo = ((IjkMediaPlayer)mediaPlayer).getTrackInfo();
}
trackInfo = ((IjkMediaPlayer)mediaPlayer).getTrackInfo();
if (trackInfo == null) {
Toast.makeText(mContext, "没有内置字幕", Toast.LENGTH_SHORT).show();
return;
@ -432,19 +435,17 @@ public class PlayFragment extends BaseLazyFragment {
}
mediaPlayer.pause();
long progress = mediaPlayer.getCurrentPosition();//保存当前进度,ijk 切换轨道 会有快进几秒
if (mediaPlayer instanceof IjkMediaPlayer) {
mController.mSubtitleView.destroy();
mController.mSubtitleView.clearSubtitleCache();
mController.mSubtitleView.isInternal = true;
((IjkMediaPlayer)mediaPlayer).setTrack(value.index);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
mediaPlayer.seekTo(progress);
mediaPlayer.start();
}
}, 800);
}
mController.mSubtitleView.destroy();
mController.mSubtitleView.clearSubtitleCache();
mController.mSubtitleView.isInternal = true;
((IjkMediaPlayer)mediaPlayer).setTrack(value.index);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
mediaPlayer.seekTo(progress);
mediaPlayer.start();
}
}, 800);
dialog.dismiss();
} catch (Exception e) {
LOG.e("切换内置字幕出错");
@ -470,6 +471,7 @@ public class PlayFragment extends BaseLazyFragment {
}
void setTip(String msg, boolean loading, boolean err) {
if (!isAdded()) return;
requireActivity().runOnUiThread(new Runnable() { //影魔
@Override
public void run() {
@ -489,6 +491,7 @@ public class PlayFragment extends BaseLazyFragment {
void errorWithRetry(String err, boolean finish) {
if (!autoRetry()) {
if (!isAdded()) return;
requireActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
@ -1100,6 +1103,7 @@ public class PlayFragment extends BaseLazyFragment {
}
}
if (rs.has("jxFrom")) {
if(!isAdded())return;
requireActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
@ -1145,6 +1149,7 @@ public class PlayFragment extends BaseLazyFragment {
if (rs.has("ua")) {
webUserAgent = rs.optString("ua").trim();
}
if(!isAdded())return;
requireActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
@ -1174,6 +1179,7 @@ public class PlayFragment extends BaseLazyFragment {
}
}
if (rs.has("jxFrom")) {
if(!isAdded())return;
requireActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
@ -1199,13 +1205,11 @@ public class PlayFragment extends BaseLazyFragment {
// webview
private XWalkView mXwalkWebView;
private XWalkWebClient mX5WebClient;
private WebView mSysWebView;
private SysWebClient mSysWebClient;
private Map<String, Boolean> loadedUrls = new HashMap<>();
private final Map<String, Boolean> loadedUrls = new HashMap<>();
private LinkedList<String> loadFoundVideoUrls = new LinkedList<>();
private HashMap<String, HashMap<String, String>> loadFoundVideoUrlsHeader = new HashMap<>();
private AtomicInteger loadFoundCount = new AtomicInteger(0);
private final AtomicInteger loadFoundCount = new AtomicInteger(0);
void loadWebView(String url) {
if (mSysWebView == null && mXwalkWebView == null) {
@ -1252,6 +1256,7 @@ public class PlayFragment extends BaseLazyFragment {
}
void loadUrl(String url) {
if(!isAdded())return;
requireActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
@ -1285,6 +1290,7 @@ public class PlayFragment extends BaseLazyFragment {
void stopLoadWebView(boolean destroy) {
if (mActivity == null) return;
if(!isAdded())return;
requireActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
@ -1378,6 +1384,7 @@ public class PlayFragment extends BaseLazyFragment {
webView.setFocusableInTouchMode(false);
webView.clearFocus();
webView.setOverScrollMode(View.OVER_SCROLL_ALWAYS);
if(!isAdded())return;
requireActivity().addContentView(webView, layoutParams);
/* 添加webView配置 */
final WebSettings settings = webView.getSettings();
@ -1437,13 +1444,14 @@ public class PlayFragment extends BaseLazyFragment {
return true;
}
});
mSysWebClient = new SysWebClient();
SysWebClient mSysWebClient = new SysWebClient();
webView.setWebViewClient(mSysWebClient);
webView.setBackgroundColor(Color.BLACK);
}
private class SysWebClient extends WebViewClient {
@SuppressLint("WebViewClientOnReceivedSslError")
@Override
public void onReceivedSslError(WebView webView, SslErrorHandler sslErrorHandler, SslError sslError) {
sslErrorHandler.proceed();
@ -1503,7 +1511,7 @@ public class PlayFragment extends BaseLazyFragment {
ad = AdBlocker.isAd(url);
loadedUrls.put(url, ad);
} else {
ad = loadedUrls.get(url);
ad = Boolean.TRUE.equals(loadedUrls.get(url));
}
if (!ad) {
@ -1572,6 +1580,7 @@ public class PlayFragment extends BaseLazyFragment {
webView.setFocusableInTouchMode(false);
webView.clearFocus();
webView.setOverScrollMode(View.OVER_SCROLL_ALWAYS);
if(!isAdded())return;
requireActivity().addContentView(webView, layoutParams);
/* 添加webView配置 */
final XWalkSettings settings = webView.getSettings();
@ -1625,7 +1634,7 @@ public class PlayFragment extends BaseLazyFragment {
return true;
}
});
mX5WebClient = new XWalkWebClient(webView);
XWalkWebClient mX5WebClient = new XWalkWebClient(webView);
webView.setResourceClient(mX5WebClient);
}
@ -1677,7 +1686,7 @@ public class PlayFragment extends BaseLazyFragment {
ad = AdBlocker.isAd(url);
loadedUrls.put(url, ad);
} else {
ad = loadedUrls.get(url);
ad = Boolean.TRUE.equals(loadedUrls.get(url));
}
if (!ad ) {

@ -1,6 +1,7 @@
package com.github.tvbox.osc.util;
import android.os.Environment;
import android.text.TextUtils;
import com.github.tvbox.osc.base.App;
@ -194,4 +195,37 @@ public class FileUtils {
return "";
}
}
public static String getFileName(String filePath){
if(TextUtils.isEmpty(filePath)) return "";
String fileName = filePath;
int p = fileName.lastIndexOf(File.separatorChar);
if(p != -1){
fileName = fileName.substring(p + 1);
}
return fileName;
}
public static String getFileNameWithoutExt(String filePath){
if(TextUtils.isEmpty(filePath)) return "";
String fileName = filePath;
int p = fileName.lastIndexOf(File.separatorChar);
if(p != -1){
fileName = fileName.substring(p + 1);
}
p = fileName.indexOf('.');
if(p != -1){
fileName = fileName.substring(0, p);
}
return fileName;
}
public static String getFileExt(String fileName){
if(TextUtils.isEmpty(fileName)) return "";
int p = fileName.lastIndexOf('.');
if(p != -1) {
return fileName.substring(p).toLowerCase();
}
return "";
}
}

@ -6,6 +6,7 @@ import android.net.Uri;
import android.text.TextUtils;
import android.util.Log;
import com.github.tvbox.osc.util.FileUtils;
import com.xunlei.downloadlib.XLDownloadManager;
import com.xunlei.downloadlib.XLTaskHelper;
import com.xunlei.downloadlib.android.XLUtil;
@ -90,16 +91,20 @@ public class Thunder {
void play(String url);
}
private static ArrayList<String> playList = null;
private static ArrayList<String> ed2kList = null;
public static void parse(Context context, List<String> urlList, ThunderCallback callback) {
init(context);
stop(true);
threadPool = Executors.newSingleThreadExecutor();
ArrayList<String> playList = new ArrayList<>();
playList = new ArrayList<>();
torrentFileInfoArrayList=new ArrayList<>();
ed2kList=new ArrayList<>();
threadPool.execute(new Runnable() {
@Override
public void run() {
for (String url : urlList) {
if(isThunder(url) )url=XLDownloadManager.getInstance().parserThunderUrl(url);
if (isMagnet(url) || isThunder(url) || isTorrent(url)) {
String link = isThunder(url) ? XLDownloadManager.getInstance().parserThunderUrl(url) : url;
Uri p = Uri.parse(link);
@ -109,6 +114,10 @@ public class Thunder {
String fileName = XLTaskHelper.instance().getFileName(link);
File cache = new File(cacheRoot + File.separator + fileName);
try {
if (currentTask > 0) {
XLTaskHelper.instance().stopTask(currentTask);
currentTask = 0L;
}
currentTask = isMagnet(url) ?
XLTaskHelper.instance().addMagentTask(url, cacheRoot, fileName) :
XLTaskHelper.instance().addThunderTask(url, cacheRoot, fileName);
@ -161,39 +170,25 @@ public class Thunder {
}
}
}
for (String url : urlList) {
if(isThunder(url))url=XLDownloadManager.getInstance().parserThunderUrl(url);
if(isNetworkDownloadTask(url)){
task_url=url;
if(TextUtils.isEmpty(task_url)){
continue;
}
name = XLTaskHelper.instance().getFileName(task_url);
playList.add(name + "$tvbox-oth:" + ed2kList.size());
ed2kList.add(task_url);
}
}
if (playList.size() > 0) {
callback.list(TextUtils.join("#", playList));
} else {
callback.status(-1, "文件列表为空!");
}
}});
// if(isEd2k(url) || isFtp(url)){
// task_url= url;
// System.out.println("startTask:");
// threadPool.execute(new Runnable() {
// @Override
// public void run() {
// System.out.println("task_url: "+task_url);
// if(TextUtils.isEmpty(task_url) || currentTask != 0L){
// return;
// }
// if(isNetworkDownloadTask(task_url)){
// name = XLTaskHelper.instance().getFileName(task_url);
// localPath = (new File(cacheRoot+File.separator+"temp",getFileNameWithoutExt(name)))+"/";
// currentTask = XLTaskHelper.instance().addThunderTask(task_url, localPath, null);
// callback.list(name+"$"+task_url);
// System.out.println("init name:"+name);
// } else {
// currentTask = 0L;
// }
// System.out.println("name: "+name);
// Log.d("TAG", "startTask(" +task_url + "), taskId = " + currentTask);
// }
// });
// }
}
@ -244,7 +239,13 @@ public class Thunder {
});
return true;
}
if (isEd2k(url) || isFtp(url)) {
if (url.startsWith("tvbox-oth:")) {
int idx = Integer.parseInt(url.substring(10));
task_url=ed2kList.get(idx);
name = XLTaskHelper.instance().getFileName(task_url);
localPath = (new File(cacheRoot+File.separator+"temp",FileUtils.getFileNameWithoutExt(name)))+"/";
currentTask = XLTaskHelper.instance().addThunderTask(task_url, localPath, null);
threadPool.execute(new Runnable() {
@Override
public void run() {
@ -261,26 +262,45 @@ public class Thunder {
callback.play(playUrl);
return;
}
// XLTaskInfo taskInfo = getTaskInfo();
// switch (taskInfo.mTaskStatus) {
// case 3: {
// callback.status(-1, errorInfo(taskInfo.mErrorCode));
// return;
// }
// case 1:{
// if(taskInfo.mDownloadSize>0){
// String playUrl=getPlayUrl();
// callback.play(playUrl);
// return;
// }
// }
// case 4: // 下载中
// case 2: { // 下载完成
// String playUrl=getPlayUrl();
// callback.play(playUrl);
// return;
// }
// }
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
});
return true;
}
if (isEd2k(url) || isFtp(url)) {
if (currentTask > 0) {
XLTaskHelper.instance().stopTask(currentTask);
currentTask = 0L;
}
if(threadPool==null){
threadPool = Executors.newSingleThreadExecutor();
}
task_url=url;
name = XLTaskHelper.instance().getFileName(task_url);
localPath = (new File(cacheRoot+File.separator+"temp",FileUtils.getFileNameWithoutExt(name)))+"/";
currentTask = XLTaskHelper.instance().addThunderTask(task_url, localPath, null);
threadPool.execute(new Runnable() {
@Override
public void run() {
int count = 20;
while (true) {
count--;
if (count <= 0) {
callback.status(-1, "解析下载超时");
break;
}
String playUrl=getPlayUrl();
if(!TextUtils.isEmpty(playUrl)){
callback.play(playUrl);
return;
}
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
@ -294,6 +314,7 @@ public class Thunder {
return false;
}
private static String errorInfo(int code) {
switch (code) {
case 9125:
@ -416,37 +437,6 @@ public class Thunder {
}
}
public static void startTask(Context context, String url, ThunderCallback callback){
init(context);
stop(true);
task_url= url;
System.out.println("checkThunder: "+task_url);
System.out.println("startTask:");
threadPool = Executors.newSingleThreadExecutor();
threadPool.execute(new Runnable() {
@Override
public void run() {
if (isEd2k(task_url) || isFtp(task_url)) {
System.out.println("task_url: "+task_url);
if(TextUtils.isEmpty(task_url) || currentTask != 0L){
return;
}
if(isNetworkDownloadTask(task_url)){
name = XLTaskHelper.instance().getFileName(task_url);
localPath = (new File(cacheRoot+File.separator+"temp",getFileNameWithoutExt(name)))+"/";
currentTask = XLTaskHelper.instance().addThunderTask(task_url, localPath, null);
callback.list(name+"$"+task_url);
System.out.println("init name:"+name);
} else {
currentTask = 0L;
}
System.out.println("name: "+name);
Log.d("TAG", "startTask(" +task_url + "), taskId = " + currentTask);
}
}
});
}
public static void stopTask(){
if(currentTask != 0L){
XLTaskHelper.instance().deleteTask(currentTask, task_url.isEmpty()?cacheRoot:localPath);
@ -466,18 +456,6 @@ public class Thunder {
return null;
}
public static String getFileNameWithoutExt(String filePath){
if(TextUtils.isEmpty(filePath)) return "";
String fileName = filePath;
int p = fileName.lastIndexOf(File.separatorChar);
if(p != -1){
fileName = fileName.substring(p + 1);
}
p = fileName.indexOf('.');
if(p != -1){
fileName = fileName.substring(0, p);
}
return fileName;
}
}

@ -839,101 +839,64 @@ public class SourceViewModel extends ViewModel {
}
}
private void checkThunder(AbsXml data) {
public void checkThunder(AbsXml data, int index) {
boolean thunderParse = false;
if (data.movie != null && data.movie.videoList != null && data.movie.videoList.size() == 1) {
Movie.Video video = data.movie.videoList.get(0);
if (video != null && video.urlBean != null && video.urlBean.infoList != null && video.urlBean.infoList.size() == 1) {
Movie.Video.UrlBean.UrlInfo urlInfo = video.urlBean.infoList.get(0);
if (urlInfo != null && Thunder.isSupportUrl(urlInfo.beanList.get(0).url)) {
thunderParse = true;
List<String> urlList = new ArrayList<>();
for (Movie.Video.UrlBean.UrlInfo.InfoBean infoBean : urlInfo.beanList) {
urlList.add(infoBean.url);
}
Thunder.parse(App.getInstance(), urlList, new Thunder.ThunderCallback() {
@Override
public void status(int code, String info) {
if (code >= 0) {
LOG.i(info);
} else {
urlInfo.beanList.get(0).name = info;
detailResult.postValue(data);
}
}
@Override
public void list(String playList) {
urlInfo.urls = playList;
String[] str = playList.split("#");
List<Movie.Video.UrlBean.UrlInfo.InfoBean> infoBeanList = new ArrayList<>();
for (String s : str) {
if (s.contains("$")) {
String[] ss = s.split("\\$");
// if (ss.length >= 2) {
// infoBeanList.add(new Movie.Video.UrlBean.UrlInfo.InfoBean(ss[0], ss[1]));
// }
if (ss.length > 0) {
if (ss.length >= 2) {
infoBeanList.add(new Movie.Video.UrlBean.UrlInfo.InfoBean(ss[0], ss[1]));
} else {
infoBeanList.add(new Movie.Video.UrlBean.UrlInfo.InfoBean((infoBeanList.size() + 1) + "", ss[0]));
}
if (video != null && video.urlBean != null && video.urlBean.infoList != null) {
for (int idx=0;idx<video.urlBean.infoList.size();idx++) {
Movie.Video.UrlBean.UrlInfo urlInfo=video.urlBean.infoList.get(idx);
if(urlInfo != null){
List<String> urlList = new ArrayList<>();
for (Movie.Video.UrlBean.UrlInfo.InfoBean infoBean : urlInfo.beanList) {
urlList.add(infoBean.url);
}
if (Thunder.isSupportUrl(urlInfo.beanList.get(0).url)) {
thunderParse = true;
Thunder.parse(App.getInstance(), urlList, new Thunder.ThunderCallback() {
@Override
public void status(int code, String info) {
if (code >= 0) {
LOG.i(info);
} else {
urlInfo.beanList.get(0).name = info;
detailResult.postValue(data);
}
}
}
urlInfo.beanList = infoBeanList;
detailResult.postValue(data);
}
@Override
public void play(String url) {
}
});
}
if (urlInfo != null && urlInfo.beanList.size() == 1 && Thunder.isNetworkDownloadTask(urlInfo.beanList.get(0).url)) {
Thunder.startTask(App.getInstance(), urlInfo.beanList.get(0).url, new Thunder.ThunderCallback() {
@Override
public void status(int code, String info) {
if (code >= 0) {
LOG.i(info);
} else {
urlInfo.beanList.get(0).name = info;
detailResult.postValue(data);
}
}
@Override
public void list(String playList) {
urlInfo.urls = playList;
String[] str = playList.split("#");
List<Movie.Video.UrlBean.UrlInfo.InfoBean> infoBeanList = new ArrayList<>();
for (String s : str) {
if (s.contains("$")) {
String[] ss = s.split("\\$");
if (ss.length > 0) {
if (ss.length >= 2) {
infoBeanList.add(new Movie.Video.UrlBean.UrlInfo.InfoBean(ss[0], ss[1]));
} else {
infoBeanList.add(new Movie.Video.UrlBean.UrlInfo.InfoBean((infoBeanList.size() + 1) + "", ss[0]));
@Override
public void list(String playList) {
urlInfo.urls = playList;
String[] str = playList.split("#");
List<Movie.Video.UrlBean.UrlInfo.InfoBean> infoBeanList = new ArrayList<>();
for (String s : str) {
if (s.contains("$")) {
String[] ss = s.split("\\$");
if (ss.length > 0) {
if (ss.length >= 2) {
infoBeanList.add(new Movie.Video.UrlBean.UrlInfo.InfoBean(ss[0], ss[1]));
} else {
infoBeanList.add(new Movie.Video.UrlBean.UrlInfo.InfoBean((infoBeanList.size() + 1) + "", ss[0]));
}
}
}
}
urlInfo.beanList = infoBeanList;
detailResult.postValue(data);
}
}
urlInfo.beanList = infoBeanList;
detailResult.postValue(data);
}
@Override
public void play(String url) {
@Override
public void play(String url) {
}
});
}
});
}
}
}
}
if (!thunderParse) {
if (!thunderParse && index==0) {
detailResult.postValue(data);
}
}
@ -958,8 +921,8 @@ public class SourceViewModel extends ViewModel {
EventBus.getDefault().post(new RefreshEvent(RefreshEvent.TYPE_QUICK_SEARCH_RESULT, data));
} else if (result != null) {
if (result == detailResult) {
checkThunder(data);
} else {
checkThunder(data,0);
}else {
result.postValue(data);
}
}
@ -983,7 +946,7 @@ public class SourceViewModel extends ViewModel {
"\t\"list\": [{\n" +
"\t\t\"vod_id\": \"137133\",\n" +
"\t\t\"vod_name\": \"磁力测试\",\n" +
"\t\t\"vod_pic\": \"https:/img9.doubanio.com/view/photo/s_ratio_poster/public/p2656327176.webp\",\n" +
"\t\t\"vod_pic\": \"https:/img9.doubanio.com/view/photo/s_ratio_poster/public/p2656327176.webp@User-Agent=com.douban.frodo\",\n" +
"\t\t\"type_name\": \"剧情 / 爱情 / 古装\",\n" +
"\t\t\"vod_year\": \"2022\",\n" +
"\t\t\"vod_area\": \"中国大陆\",\n" +
@ -1005,8 +968,8 @@ public class SourceViewModel extends ViewModel {
EventBus.getDefault().post(new RefreshEvent(RefreshEvent.TYPE_QUICK_SEARCH_RESULT, data));
} else if (result != null) {
if (result == detailResult) {
checkThunder(data);
} else {
checkThunder(data,0);
}else {
result.postValue(data);
}
}

Loading…
Cancel
Save