Support subs for push local file

pull/69/head
FongMi 3 years ago
parent eefb8bb92d
commit 3cdbc57837
  1. 2
      app/src/main/AndroidManifest.xml
  2. 19
      app/src/main/java/com/github/catvod/spider/Push.java
  3. 4
      app/src/main/java/com/github/catvod/utils/Utils.java
  4. BIN
      jar/custom_spider.jar
  5. 2
      jar/custom_spider.jar.md5

@ -3,6 +3,8 @@
package="com.github.catvod">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<application
android:icon="@mipmap/ic_launcher"

@ -4,11 +4,16 @@ import android.content.Context;
import android.text.TextUtils;
import com.github.catvod.bean.Result;
import com.github.catvod.bean.Sub;
import com.github.catvod.bean.Vod;
import com.github.catvod.utils.Utils;
import java.io.File;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
public class Push extends Ali {
@ -26,12 +31,24 @@ public class Push extends Ali {
@Override
public String playerContent(String flag, String id, List<String> vipFlags) {
if (flag.equals("直連")) return Result.get().url(id).string();
if (flag.equals("直連")) return Result.get().url(id).subs(getSubs(id)).string();
if (flag.equals("嗅探")) return Result.get().parse().url(id).string();
if (flag.equals("解析")) return Result.get().parse().jx().url(id).string();
return super.playerContent(flag, id, vipFlags);
}
private List<Sub> getSubs(String url) {
if (!url.startsWith("file://")) return Collections.emptyList();
File file = new File(url.replace("file://", ""));
if (file.getParentFile() == null) return Collections.emptyList();
List<Sub> subs = new ArrayList<>();
for (File temp : Objects.requireNonNull(file.getParentFile().listFiles())) {
String ext = Utils.getExt(temp.getName());
if (Utils.isSub(ext)) subs.add(Sub.create().name(Utils.removeExt(temp.getName())).ext(ext).url("file://" + temp.getAbsolutePath()));
}
return subs;
}
private Vod vod(String url) {
Vod vod = new Vod();
vod.setVodId(url);

@ -45,6 +45,10 @@ public class Utils {
return ext.equals("srt") || ext.equals("ass") || ext.equals("ssa");
}
public static String getExt(String name) {
return name.substring(name.lastIndexOf(".") + 1);
}
public static String getSize(double size) {
if (size <= 0) return "";
if (size > 1024 * 1024 * 1024 * 1024.0) {

Binary file not shown.

@ -1 +1 @@
14916e05a5fabbc24aad217565c93f7b
0b5053aea39f2bdfa8196b8685daa086

Loading…
Cancel
Save