From 115d6352d34cab7e285328673c9b599651ed2783 Mon Sep 17 00:00:00 2001 From: FongMi Date: Sat, 5 Aug 2023 12:07:17 +0800 Subject: [PATCH] Fix some bug --- .../main/java/com/fongmi/android/tv/bean/Vod.java | 14 +++++--------- .../android/tv/player/extractor/JianPian.java | 9 ++------- .../fongmi/android/tv/player/extractor/Magnet.java | 2 +- .../java/com/fongmi/android/tv/utils/Utils.java | 8 ++++---- jianpian/src/main/java/com/p2p/P2PClass.java | 6 ------ 5 files changed, 12 insertions(+), 27 deletions(-) diff --git a/app/src/main/java/com/fongmi/android/tv/bean/Vod.java b/app/src/main/java/com/fongmi/android/tv/bean/Vod.java index 903db1639..a46a49169 100644 --- a/app/src/main/java/com/fongmi/android/tv/bean/Vod.java +++ b/app/src/main/java/com/fongmi/android/tv/bean/Vod.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 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 { + public static class Sorter implements Comparator { - public static void sort(List items) { + public static List sort(List items) { Collections.sort(items, new Sorter()); + return items; } @Override diff --git a/app/src/main/java/com/fongmi/android/tv/player/extractor/JianPian.java b/app/src/main/java/com/fongmi/android/tv/player/extractor/JianPian.java index 9468eeca0..f46fd247f 100644 --- a/app/src/main/java/com/fongmi/android/tv/player/extractor/JianPian.java +++ b/app/src/main/java/com/fongmi/android/tv/player/extractor/JianPian.java @@ -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; } } diff --git a/app/src/main/java/com/fongmi/android/tv/player/extractor/Magnet.java b/app/src/main/java/com/fongmi/android/tv/player/extractor/Magnet.java index 3246bf2fb..cce80600b 100644 --- a/app/src/main/java/com/fongmi/android/tv/player/extractor/Magnet.java +++ b/app/src/main/java/com/fongmi/android/tv/player/extractor/Magnet.java @@ -44,7 +44,7 @@ public class Magnet implements Callable> { public static void addAll(List items, Future> future) { try { - items.addAll(future.get()); + items.addAll(Vod.Flag.Episode.Sorter.sort(future.get())); } catch (Exception ignored) { } } diff --git a/app/src/main/java/com/fongmi/android/tv/utils/Utils.java b/app/src/main/java/com/fongmi/android/tv/utils/Utils.java index fc6722534..6cf1d54eb 100644 --- a/app/src/main/java/com/fongmi/android/tv/utils/Utils.java +++ b/app/src/main/java/com/fongmi/android/tv/utils/Utils.java @@ -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; diff --git a/jianpian/src/main/java/com/p2p/P2PClass.java b/jianpian/src/main/java/com/p2p/P2PClass.java index eeab41cdd..7b179f1a8 100644 --- a/jianpian/src/main/java/com/p2p/P2PClass.java +++ b/jianpian/src/main/java/com/p2p/P2PClass.java @@ -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);