diff --git a/app/src/main/java/com/github/tvbox/osc/ui/fragment/UserFragment.java b/app/src/main/java/com/github/tvbox/osc/ui/fragment/UserFragment.java index 632562db..a1e4b723 100644 --- a/app/src/main/java/com/github/tvbox/osc/ui/fragment/UserFragment.java +++ b/app/src/main/java/com/github/tvbox/osc/ui/fragment/UserFragment.java @@ -218,11 +218,15 @@ public class UserFragment extends BaseLazyFragment implements View.OnClickListen if (Hawk.get(HawkConfig.HOME_REC, 0) == 1) { if (homeSourceRec != null) { adapter.setNewData(homeSourceRec); + return; } - return; } else if (Hawk.get(HawkConfig.HOME_REC, 0) == 2) { return; } + setDouBanData(adapter); + } + + private void setDouBanData(HomeHotVodAdapter adapter) { try { Calendar cal = Calendar.getInstance(); int year = cal.get(Calendar.YEAR); @@ -244,24 +248,24 @@ public class UserFragment extends BaseLazyFragment implements View.OnClickListen OkGo.get(doubanUrl) .headers("User-Agent", UA.randomOne()) .execute(new AbsCallback() { - @Override - public void onSuccess(Response response) { - String netJson = response.body(); - Hawk.put("home_hot_day", today); - Hawk.put("home_hot", netJson); - mActivity.runOnUiThread(new Runnable() { @Override - public void run() { - adapter.setNewData(loadHots(netJson)); + public void onSuccess(Response response) { + String netJson = response.body(); + Hawk.put("home_hot_day", today); + Hawk.put("home_hot", netJson); + mActivity.runOnUiThread(new Runnable() { + @Override + public void run() { + adapter.setNewData(loadHots(netJson)); + } + }); } - }); - } - @Override - public String convertResponse(okhttp3.Response response) throws Throwable { - return response.body().string(); - } - }); + @Override + public String convertResponse(okhttp3.Response response) throws Throwable { + return response.body().string(); + } + }); } catch (Throwable th) { th.printStackTrace(); } @@ -278,7 +282,7 @@ public class UserFragment extends BaseLazyFragment implements View.OnClickListen vod.name = obj.get("title").getAsString(); vod.note = obj.get("rate").getAsString(); if(!vod.note.isEmpty())vod.note+=" 分"; - vod.pic = obj.get("cover").getAsString()+"@User-Agent=com.douban.frodo"; + vod.pic = obj.get("cover").getAsString()+"@User-Agent="+ UA.randomOne()+"@Referer=https://www.douban.com/"; result.add(vod); } } catch (Throwable th) { 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 3cbae545..90fcef2d 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 @@ -183,9 +183,13 @@ public class SourceViewModel extends ViewModel { } }); }else if (type == 4) { + String extend=sourceBean.getExt(); + String apiUrl = Hawk.get(HawkConfig.API_URL, ""); + extend=getFixUrl(apiUrl,extend); OkGo.get(sourceBean.getApi()) .tag(sourceBean.getKey() + "_sort") .params("filter", "true") + .params("extend", extend) .execute(new AbsCallback() { @Override public String convertResponse(okhttp3.Response response) throws Throwable { @@ -686,9 +690,13 @@ public class SourceViewModel extends ViewModel { playResult.postValue(null); } } else if (type == 4) { + String extend=sourceBean.getExt(); + String apiUrl = Hawk.get(HawkConfig.API_URL, ""); + extend=getFixUrl(apiUrl,extend); OkGo.get(sourceBean.getApi()) .params("play", url) .params("flag" ,playFlag) + .params("extend", extend) .tag("play") .execute(new AbsCallback() { @Override @@ -729,6 +737,16 @@ public class SourceViewModel extends ViewModel { } } + private String getFixUrl(String url,String content){ + if (content.contains("\"./")) { + if(!url.startsWith("http") && !url.startsWith("clan://")){ + url = "http://" + url; + } + content = content.replace("./", url.substring(0,url.lastIndexOf("/") + 1)); + } + return content; + } + private MovieSort.SortFilter getSortFilter(JsonObject obj) { String key = obj.get("key").getAsString(); String name = obj.get("name").getAsString();