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 f0e5cf5db..92bbf09f2 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 @@ -33,11 +33,13 @@ public class JianPian implements Source.Extractor { private void start(String url) { try { + if (path != null) p2p.P2Pdoxdel(path.getBytes("GBK")); path = URLDecoder.decode(url).split("\\|")[0]; path = path.replace("jianpian://pathtype=url&path=", ""); path = path.replace("tvbox-xg://", "").replace("tvbox-xg:", ""); path = path.replace("xg://", "ftp://").replace("xgplay://", "ftp://"); p2p.P2Pdoxstart(path.getBytes("GBK")); + p2p.P2Pdoxadd(path.getBytes("GBK")); } catch (Exception e) { e.printStackTrace(); } @@ -46,9 +48,7 @@ public class JianPian implements Source.Extractor { @Override public void stop() { try { - if (p2p == null || path == null) return; - p2p.P2Pdoxpause(path.getBytes("GBK")); - path = null; + if (p2p != null && path != null) p2p.P2Pdoxpause(path.getBytes("GBK")); } catch (Exception e) { e.printStackTrace(); } @@ -56,6 +56,13 @@ public class JianPian implements Source.Extractor { @Override public void exit() { + try { + if (p2p != null && path != null) p2p.P2Pdoxpause(path.getBytes("GBK")); + if (p2p != null && path != null) p2p.P2Pdoxdel(path.getBytes("GBK")); + if (p2p != null) p2p.P2Pdoxendhttpd(); + } catch (Exception e) { + e.printStackTrace(); + } Path.clear(Path.jpa()); } } diff --git a/jianpian/src/main/java/com/p2p/P2PClass.java b/jianpian/src/main/java/com/p2p/P2PClass.java index 1a3978380..54f4ec830 100644 --- a/jianpian/src/main/java/com/p2p/P2PClass.java +++ b/jianpian/src/main/java/com/p2p/P2PClass.java @@ -15,17 +15,35 @@ public class P2PClass { return doxstarthttpd(bArr, bArr2); } + public void P2Pdoxendhttpd() { + doxendhttpd(); + } + public void P2Pdoxstart(byte[] bArr) { doxstart(bArr); } + public void P2Pdoxadd(byte[] bArr) { + doxadd(bArr); + } + public void P2Pdoxpause(byte[] bArr) { doxpause(bArr); } + public void P2Pdoxdel(byte[] bArr) { + doxdel(bArr); + } + private native int doxstarthttpd(byte[] bArr, byte[] bArr2); + private native int doxendhttpd(); + private native int doxstart(byte[] bArr); + private native int doxadd(byte[] bArr); + private native int doxpause(byte[] bArr); + + private native int doxdel(byte[] bArr); }