T4支持ext配置;当没有站点推荐时默认加载豆瓣热播推荐;

pull/98/head
21561 2 years ago
parent d97ed6f5b6
commit 289e960e81
  1. 8
      app/src/main/java/com/github/tvbox/osc/ui/fragment/UserFragment.java
  2. 18
      app/src/main/java/com/github/tvbox/osc/viewmodel/SourceViewModel.java

@ -218,11 +218,15 @@ public class UserFragment extends BaseLazyFragment implements View.OnClickListen
if (Hawk.get(HawkConfig.HOME_REC, 0) == 1) { if (Hawk.get(HawkConfig.HOME_REC, 0) == 1) {
if (homeSourceRec != null) { if (homeSourceRec != null) {
adapter.setNewData(homeSourceRec); adapter.setNewData(homeSourceRec);
}
return; return;
}
} else if (Hawk.get(HawkConfig.HOME_REC, 0) == 2) { } else if (Hawk.get(HawkConfig.HOME_REC, 0) == 2) {
return; return;
} }
setDouBanData(adapter);
}
private void setDouBanData(HomeHotVodAdapter adapter) {
try { try {
Calendar cal = Calendar.getInstance(); Calendar cal = Calendar.getInstance();
int year = cal.get(Calendar.YEAR); int year = cal.get(Calendar.YEAR);
@ -278,7 +282,7 @@ public class UserFragment extends BaseLazyFragment implements View.OnClickListen
vod.name = obj.get("title").getAsString(); vod.name = obj.get("title").getAsString();
vod.note = obj.get("rate").getAsString(); vod.note = obj.get("rate").getAsString();
if(!vod.note.isEmpty())vod.note+=" 分"; 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); result.add(vod);
} }
} catch (Throwable th) { } catch (Throwable th) {

@ -183,9 +183,13 @@ public class SourceViewModel extends ViewModel {
} }
}); });
}else if (type == 4) { }else if (type == 4) {
String extend=sourceBean.getExt();
String apiUrl = Hawk.get(HawkConfig.API_URL, "");
extend=getFixUrl(apiUrl,extend);
OkGo.<String>get(sourceBean.getApi()) OkGo.<String>get(sourceBean.getApi())
.tag(sourceBean.getKey() + "_sort") .tag(sourceBean.getKey() + "_sort")
.params("filter", "true") .params("filter", "true")
.params("extend", extend)
.execute(new AbsCallback<String>() { .execute(new AbsCallback<String>() {
@Override @Override
public String convertResponse(okhttp3.Response response) throws Throwable { public String convertResponse(okhttp3.Response response) throws Throwable {
@ -686,9 +690,13 @@ public class SourceViewModel extends ViewModel {
playResult.postValue(null); playResult.postValue(null);
} }
} else if (type == 4) { } else if (type == 4) {
String extend=sourceBean.getExt();
String apiUrl = Hawk.get(HawkConfig.API_URL, "");
extend=getFixUrl(apiUrl,extend);
OkGo.<String>get(sourceBean.getApi()) OkGo.<String>get(sourceBean.getApi())
.params("play", url) .params("play", url)
.params("flag" ,playFlag) .params("flag" ,playFlag)
.params("extend", extend)
.tag("play") .tag("play")
.execute(new AbsCallback<String>() { .execute(new AbsCallback<String>() {
@Override @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) { private MovieSort.SortFilter getSortFilter(JsonObject obj) {
String key = obj.get("key").getAsString(); String key = obj.get("key").getAsString();
String name = obj.get("name").getAsString(); String name = obj.get("name").getAsString();

Loading…
Cancel
Save