Add try catch for parse magnet

pull/137/head
FongMi 3 years ago
parent 48e825c317
commit 33b0629240
  1. 2
      app/src/main/java/com/fongmi/android/tv/model/SiteViewModel.java
  2. 8
      app/src/main/java/com/fongmi/android/tv/player/extractor/Magnet.java

@ -238,7 +238,7 @@ public class SiteViewModel extends ViewModel {
List<Vod.Flag.Episode> items = new ArrayList<>();
for (Vod.Flag.Episode episode : flag.getEpisodes()) if (Sniffer.isThunder(episode.getUrl())) magnets.add(Magnet.get(episode.getUrl()));
ExecutorService executor = Executors.newFixedThreadPool(Constant.THREAD_POOL * 2);
for (Future<List<Vod.Flag.Episode>> future : executor.invokeAll(magnets, 30, TimeUnit.SECONDS)) items.addAll(future.get());
for (Future<List<Vod.Flag.Episode>> future : executor.invokeAll(magnets, 30, TimeUnit.SECONDS)) Magnet.addAll(items, future);
if (items.size() > 0) flag.createEpisode(items);
executor.shutdownNow();
}

@ -14,6 +14,7 @@ import com.xunlei.downloadlib.parameter.TorrentFileInfo;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.Callable;
import java.util.concurrent.Future;
public class Magnet implements Callable<List<Vod.Flag.Episode>> {
@ -40,4 +41,11 @@ public class Magnet implements Callable<List<Vod.Flag.Episode>> {
XLTaskHelper.get().stopTask(taskId);
return episodes;
}
public static void addAll(List<Vod.Flag.Episode> items, Future<List<Vod.Flag.Episode>> future) {
try {
items.addAll(future.get());
} catch (Exception ignored) {
}
}
}

Loading…
Cancel
Save