Fix some bug

pull/137/head
FongMi 3 years ago
parent c29e2111d2
commit 115d6352d3
  1. 14
      app/src/main/java/com/fongmi/android/tv/bean/Vod.java
  2. 9
      app/src/main/java/com/fongmi/android/tv/player/extractor/JianPian.java
  3. 2
      app/src/main/java/com/fongmi/android/tv/player/extractor/Magnet.java
  4. 8
      app/src/main/java/com/fongmi/android/tv/utils/Utils.java
  5. 6
      jianpian/src/main/java/com/p2p/P2PClass.java

@ -304,24 +304,19 @@ public class Vod {
this.position = position;
}
private void checkToAdd(Episode episode) {
if (!getEpisodes().contains(episode)) getEpisodes().add(episode);
}
public void createEpisode(String data) {
String[] urls = data.contains("#") ? data.split("#") : new String[]{data};
for (int i = 0; i < urls.length; i++) {
String[] split = urls[i].split("\\$");
String number = String.format(Locale.getDefault(), "%02d", i + 1);
Episode episode = split.length > 1 ? Episode.create(split[0].isEmpty() ? number : split[0].trim(), split[1]) : Episode.create(number, urls[i]);
checkToAdd(episode);
if (!getEpisodes().contains(episode)) getEpisodes().add(episode);
}
}
public void createEpisode(List<Episode> items) {
getEpisodes().clear();
Episode.Sorter.sort(items);
for (Vod.Flag.Episode item : items) checkToAdd(item);
getEpisodes().addAll(items);
}
public void toggle(boolean activated, Episode episode) {
@ -452,10 +447,11 @@ public class Vod {
return getUrl().equals(it.getUrl()) && getName().equals(it.getName());
}
static class Sorter implements Comparator<Episode> {
public static class Sorter implements Comparator<Episode> {
public static void sort(List<Episode> items) {
public static List<Episode> sort(List<Episode> items) {
Collections.sort(items, new Sorter());
return items;
}
@Override

@ -62,12 +62,7 @@ public class JianPian implements Source.Extractor {
@Override
public void exit() {
try {
if (p2p != null) p2p.P2Pdoxendhttpd();
} catch (Exception e) {
e.printStackTrace();
} finally {
p2p = null;
}
path = null;
p2p = null;
}
}

@ -44,7 +44,7 @@ public class Magnet implements Callable<List<Vod.Flag.Episode>> {
public static void addAll(List<Vod.Flag.Episode> items, Future<List<Vod.Flag.Episode>> future) {
try {
items.addAll(future.get());
items.addAll(Vod.Flag.Episode.Sorter.sort(future.get()));
} catch (Exception ignored) {
}
}

@ -125,12 +125,12 @@ public class Utils {
public static int getDigit(String text) {
try {
if (text.startsWith("上") || text.startsWith("下")) return -1;
if (text.contains(".")) text = text.substring(0, text.lastIndexOf("."));
if (text.startsWith("4k")) text = text.replace("4k", "");
if (text.contains("4k")) text = text.replace("4k", "");
if (text.contains("mp4")) text = text.replace("mp4", "");
if (text.contains("H264")) text = text.replace("H264", "");
if (text.contains("H265")) text = text.replace("H265", "");
if (text.contains("1080p")) text = 1080 + text.replace("1080p", "");
if (text.contains("2160p")) text = 2160 + text.replace("2160p", "");
if (text.contains("1080p")) text = text.replace("1080p", "");
if (text.contains("2160p")) text = text.replace("2160p", "");
return Integer.parseInt(text.replaceAll("\\D+", ""));
} catch (Exception e) {
return -1;

@ -16,10 +16,6 @@ public class P2PClass {
return doxstarthttpd(bArr, bArr2);
}
public void P2Pdoxendhttpd() {
doxendhttpd();
}
public void P2Pdoxstart(byte[] bArr) {
doxstart(bArr);
}
@ -38,8 +34,6 @@ public class P2PClass {
private native int doxstarthttpd(byte[] bArr, byte[] bArr2);
private native int doxendhttpd();
private native int doxstart(byte[] bArr);
private native int doxadd(byte[] bArr);

Loading…
Cancel
Save