From f34f072cc8576fb3263052b059614a18302f6f8b Mon Sep 17 00:00:00 2001 From: FongMi Date: Tue, 3 Jan 2023 23:52:16 +0800 Subject: [PATCH] Change sub format --- .../java/com/fongmi/android/tv/api/PyLoader.java | 3 +-- .../java/com/fongmi/android/tv/bean/Result.java | 8 ++++---- .../main/java/com/fongmi/android/tv/bean/Sub.java | 2 +- .../java/com/fongmi/android/tv/player/ExoUtil.java | 14 +++++++------- 4 files changed, 13 insertions(+), 14 deletions(-) diff --git a/app/src/main/java/com/fongmi/android/tv/api/PyLoader.java b/app/src/main/java/com/fongmi/android/tv/api/PyLoader.java index cccfbb4b3..cb5df611d 100644 --- a/app/src/main/java/com/fongmi/android/tv/api/PyLoader.java +++ b/app/src/main/java/com/fongmi/android/tv/api/PyLoader.java @@ -26,8 +26,7 @@ public class PyLoader { private void init() { try { loader = Class.forName("com.undcover.freedom.pyramid.Loader").newInstance(); - } catch (Throwable e) { - e.printStackTrace(); + } catch (Throwable ignored) { } } diff --git a/app/src/main/java/com/fongmi/android/tv/bean/Result.java b/app/src/main/java/com/fongmi/android/tv/bean/Result.java index b5c5793b3..737b91135 100644 --- a/app/src/main/java/com/fongmi/android/tv/bean/Result.java +++ b/app/src/main/java/com/fongmi/android/tv/bean/Result.java @@ -51,8 +51,8 @@ public class Result { private String flag; @SerializedName("url") private String url; - @SerializedName("sub") - private List sub; + @SerializedName("subs") + private List subs; public static Result fromJson(String str) { try { @@ -165,8 +165,8 @@ public class Result { this.url = url; } - public List getSub() { - return sub == null ? Collections.emptyList() : sub; + public List getSubs() { + return subs == null ? Collections.emptyList() : subs; } public void clear() { diff --git a/app/src/main/java/com/fongmi/android/tv/bean/Sub.java b/app/src/main/java/com/fongmi/android/tv/bean/Sub.java index 9db0cf166..2d437d414 100644 --- a/app/src/main/java/com/fongmi/android/tv/bean/Sub.java +++ b/app/src/main/java/com/fongmi/android/tv/bean/Sub.java @@ -33,7 +33,7 @@ public class Sub { return TextUtils.isEmpty(format) ? "" : format; } - public MediaItem.SubtitleConfiguration getExoSub() { + public MediaItem.SubtitleConfiguration getExo() { return new MediaItem.SubtitleConfiguration.Builder(Uri.parse(getUrl())).setLabel(getName()).setMimeType(getFormat()).setLanguage(getLang()).build(); } } diff --git a/app/src/main/java/com/fongmi/android/tv/player/ExoUtil.java b/app/src/main/java/com/fongmi/android/tv/player/ExoUtil.java index 77c71b223..b3d062343 100644 --- a/app/src/main/java/com/fongmi/android/tv/player/ExoUtil.java +++ b/app/src/main/java/com/fongmi/android/tv/player/ExoUtil.java @@ -67,29 +67,29 @@ public class ExoUtil { } public static MediaSource getSource(Result result, int errorCode) { - return getSource(result.getHeaders(), result.getPlayUrl() + result.getUrl(), result.getSub(), errorCode); + return getSource(result.getHeaders(), result.getPlayUrl() + result.getUrl(), result.getSubs(), errorCode); } public static MediaSource getSource(Map headers, String url, int errorCode) { return getSource(headers, url, Collections.emptyList(), errorCode); } - private static MediaSource getSource(Map headers, String url, List sub, int errorCode) { - return new DefaultMediaSourceFactory(getDataSourceFactory(headers), getExtractorsFactory()).createMediaSource(getMediaItem(url, sub, errorCode)); + private static MediaSource getSource(Map headers, String url, List subs, int errorCode) { + return new DefaultMediaSourceFactory(getDataSourceFactory(headers), getExtractorsFactory()).createMediaSource(getMediaItem(url, subs, errorCode)); } - private static MediaItem getMediaItem(String url, List sub, int errorCode) { + private static MediaItem getMediaItem(String url, List subs, int errorCode) { MediaItem.Builder builder = new MediaItem.Builder().setUri(Uri.parse(url.trim())); if (errorCode == PlaybackException.ERROR_CODE_PARSING_MANIFEST_MALFORMED) builder.setMimeType(MimeTypes.APPLICATION_OCTET); else if (errorCode == PlaybackException.ERROR_CODE_PARSING_CONTAINER_UNSUPPORTED) builder.setMimeType(MimeTypes.APPLICATION_M3U8); - if (sub.size() > 0) builder.setSubtitleConfigurations(getSubtitles(sub)); + if (subs.size() > 0) builder.setSubtitleConfigurations(getSubtitles(subs)); builder.setAllowChunklessPreparation(Prefers.getDecode() == 1); return builder.build(); } - private static List getSubtitles(List sub) { + private static List getSubtitles(List subs) { List items = new ArrayList<>(); - for (Sub item : sub) items.add(item.getExoSub()); + for (Sub sub : subs) items.add(sub.getExo()); return items; }