Update
This commit is contained in:
parent
52c894ee89
commit
515df32ed1
|
|
@ -47,7 +47,6 @@ import okhttp3.Response;
|
||||||
|
|
||||||
public class API {
|
public class API {
|
||||||
|
|
||||||
private final Map<String, String> quality;
|
|
||||||
private ScheduledExecutorService service;
|
private ScheduledExecutorService service;
|
||||||
private final List<String> tempIds;
|
private final List<String> tempIds;
|
||||||
private AlertDialog dialog;
|
private AlertDialog dialog;
|
||||||
|
|
@ -84,13 +83,6 @@ public class API {
|
||||||
oauth = OAuth.objectFrom(FileUtil.read(getOAuthCache()));
|
oauth = OAuth.objectFrom(FileUtil.read(getOAuthCache()));
|
||||||
user = User.objectFrom(FileUtil.read(getUserCache()));
|
user = User.objectFrom(FileUtil.read(getUserCache()));
|
||||||
drive = Drive.objectFrom(FileUtil.read(getDriveCache()));
|
drive = Drive.objectFrom(FileUtil.read(getDriveCache()));
|
||||||
quality = new HashMap<>();
|
|
||||||
quality.put("4K", "UHD");
|
|
||||||
quality.put("2k", "QHD");
|
|
||||||
quality.put("超清", "FHD");
|
|
||||||
quality.put("高清", "HD");
|
|
||||||
quality.put("標清", "SD");
|
|
||||||
quality.put("流暢", "LD");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setRefreshToken(String token) {
|
public void setRefreshToken(String token) {
|
||||||
|
|
@ -287,7 +279,7 @@ public class API {
|
||||||
List<Item> files = new ArrayList<>();
|
List<Item> files = new ArrayList<>();
|
||||||
List<Item> subs = new ArrayList<>();
|
List<Item> subs = new ArrayList<>();
|
||||||
listFiles(new Item(getParentFileId(fileId, object)), files, subs);
|
listFiles(new Item(getParentFileId(fileId, object)), files, subs);
|
||||||
List<String> playFrom = Arrays.asList("原畫", "超清", "高清");
|
List<String> playFrom = Arrays.asList("原畫", "普畫");
|
||||||
List<String> episode = new ArrayList<>();
|
List<String> episode = new ArrayList<>();
|
||||||
List<String> playUrl = new ArrayList<>();
|
List<String> playUrl = new ArrayList<>();
|
||||||
for (Item file : files) episode.add(file.getDisplayName() + "$" + file.getFileId() + findSubs(file.getName(), subs));
|
for (Item file : files) episode.add(file.getDisplayName() + "$" + file.getFileId() + findSubs(file.getName(), subs));
|
||||||
|
|
@ -411,14 +403,15 @@ public class API {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public String playerContent(String[] ids) {
|
public String playerContent(String[] ids, boolean original) {
|
||||||
return Result.get().url(getDownloadUrl(ids[0])).octet().subs(getSubs(ids)).header(getHeader()).string();
|
if (original) return Result.get().url(getDownloadUrl(ids[0])).octet().subs(getSubs(ids)).header(getHeader()).string();
|
||||||
|
else return getPreviewContent(ids);
|
||||||
}
|
}
|
||||||
|
|
||||||
public String playerContent(String[] ids, String flag) {
|
private String getPreviewContent(String[] ids) {
|
||||||
try {
|
try {
|
||||||
JSONObject playInfo = getVideoPreviewPlayInfo(ids[0]);
|
JSONObject playInfo = getVideoPreviewPlayInfo(ids[0]);
|
||||||
String url = getPreviewUrl(playInfo, flag);
|
String url = getPreviewUrl(playInfo);
|
||||||
List<Sub> subs = getSubs(ids);
|
List<Sub> subs = getSubs(ids);
|
||||||
subs.addAll(getSubs(playInfo));
|
subs.addAll(getSubs(playInfo));
|
||||||
return Result.get().url(url).m3u8().subs(subs).header(getHeader()).string();
|
return Result.get().url(url).m3u8().subs(subs).header(getHeader()).string();
|
||||||
|
|
@ -428,13 +421,16 @@ public class API {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getPreviewUrl(JSONObject playInfo, String flag) throws Exception {
|
private String getPreviewUrl(JSONObject playInfo) throws Exception {
|
||||||
if (!playInfo.has("live_transcoding_task_list")) return "";
|
if (!playInfo.has("live_transcoding_task_list")) return "";
|
||||||
JSONArray taskList = playInfo.getJSONArray("live_transcoding_task_list");
|
JSONArray taskList = playInfo.getJSONArray("live_transcoding_task_list");
|
||||||
for (int i = 0; i < taskList.length(); ++i) {
|
List<String> templates = Arrays.asList("UHD", "QHD", "FHD", "HD", "SD", "LD");
|
||||||
JSONObject task = taskList.getJSONObject(i);
|
for (String template : templates) {
|
||||||
if (task.getString("template_id").equals(quality.get(flag))) {
|
for (int i = 0; i < taskList.length(); ++i) {
|
||||||
return task.getString("url");
|
JSONObject task = taskList.getJSONObject(i);
|
||||||
|
if (task.getString("template_id").equals(template)) {
|
||||||
|
return task.getString("url");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return taskList.getJSONObject(0).getString("url");
|
return taskList.getJSONObject(0).getString("url");
|
||||||
|
|
|
||||||
|
|
@ -36,8 +36,7 @@ public class Ali extends Spider {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String playerContent(String flag, String id, List<String> vipFlags) {
|
public String playerContent(String flag, String id, List<String> vipFlags) {
|
||||||
String[] ids = id.split("\\+");
|
return API.get().playerContent(id.split("\\+"), flag.equals("原畫"));
|
||||||
return flag.equals("原畫") ? API.get().playerContent(ids) : API.get().playerContent(ids, flag);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Object[] proxy(Map<String, String> params) throws Exception {
|
public static Object[] proxy(Map<String, String> params) throws Exception {
|
||||||
|
|
|
||||||
Binary file not shown.
|
|
@ -1 +1 @@
|
||||||
a33b78297d1b0ba9b7b4063550447ca0
|
12d5373a579b207be00c71f70f97f1a0
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue