pull/594/head
jhengazuki 7 months ago
parent 848ac91347
commit 5bdfae532f
  1. 7
      app/src/main/java/com/fongmi/android/tv/player/danmaku/Loader.java
  2. 5
      app/src/mobile/java/com/fongmi/android/tv/utils/ScanTask.java
  3. 14
      catvod/src/main/java/com/github/catvod/net/OkHttp.java

@ -11,13 +11,16 @@ import java.io.InputStream;
import master.flame.danmaku.danmaku.loader.ILoader;
import master.flame.danmaku.danmaku.loader.IllegalDataException;
import master.flame.danmaku.danmaku.parser.android.AndroidFileSource;
import okhttp3.OkHttpClient;
public class Loader implements ILoader {
private OkHttpClient client;
private AndroidFileSource dataSource;
public Loader(Danmaku item) {
try {
client = OkHttp.client(Constant.TIMEOUT_DANMAKU);
load(item.getUrl());
} catch (Exception e) {
e.printStackTrace();
@ -27,9 +30,9 @@ public class Loader implements ILoader {
@Override
public void load(String url) throws IllegalDataException {
try {
OkHttp.cancel("danmaku");
OkHttp.cancel(client, "danmaku");
if (url.startsWith("/")) url = "file:/" + url;
load(OkHttp.newCall(OkHttp.client(Constant.TIMEOUT_DANMAKU), UrlUtil.convert(url), "danmaku").execute().body().byteStream());
load(OkHttp.newCall(client, UrlUtil.convert(url), "danmaku").execute().body().byteStream());
} catch (IOException e) {
e.printStackTrace();
}

@ -41,13 +41,14 @@ public class ScanTask {
public void stop() {
if (executor != null) executor.shutdownNow();
OkHttp.cancel(client, "scan");
executor = null;
listener = null;
}
private void init() {
if (executor != null) executor.shutdownNow();
executor = Executors.newCachedThreadPool();
executor = Executors.newFixedThreadPool(20);
devices.clear();
}
@ -80,7 +81,7 @@ public class ScanTask {
private void findDevice(CountDownLatch cd, String url) {
if (url.contains(Server.get().getAddress())) return;
try (Response res = OkHttp.newCall(client, url.concat("/device")).execute()) {
try (Response res = OkHttp.newCall(client, url.concat("/device"), "scan").execute()) {
Device device = Device.objectFrom(res.body().string());
if (device != null) devices.add(device.save());
} catch (Exception ignored) {

@ -175,12 +175,20 @@ public class OkHttp {
}
public static void cancel(String tag) {
for (Call call : client().dispatcher().queuedCalls()) if (tag.equals(call.request().tag())) call.cancel();
for (Call call : client().dispatcher().runningCalls()) if (tag.equals(call.request().tag())) call.cancel();
cancel(client(), tag);
}
public static void cancel(OkHttpClient client, String tag) {
for (Call call : client.dispatcher().queuedCalls()) if (tag.equals(call.request().tag())) call.cancel();
for (Call call : client.dispatcher().runningCalls()) if (tag.equals(call.request().tag())) call.cancel();
}
public static void cancelAll() {
client().dispatcher().cancelAll();
cancelAll(client());
}
public static void cancelAll(OkHttpClient client) {
client.dispatcher().cancelAll();
}
public static FormBody toBody(ArrayMap<String, String> params) {

Loading…
Cancel
Save