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

pull/98/head
21561 2 years ago
parent d97ed6f5b6
commit 289e960e81
  1. 38
      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 (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.<String>get(doubanUrl)
.headers("User-Agent", UA.randomOne())
.execute(new AbsCallback<String>() {
@Override
public void onSuccess(Response<String> 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<String> 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) {

@ -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.<String>get(sourceBean.getApi())
.tag(sourceBean.getKey() + "_sort")
.params("filter", "true")
.params("extend", extend)
.execute(new AbsCallback<String>() {
@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.<String>get(sourceBean.getApi())
.params("play", url)
.params("flag" ,playFlag)
.params("extend", extend)
.tag("play")
.execute(new AbsCallback<String>() {
@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();

Loading…
Cancel
Save