diff --git a/app/src/main/java/com/fongmi/android/tv/bean/History.java b/app/src/main/java/com/fongmi/android/tv/bean/History.java index ffe912b08..2c89820a3 100644 --- a/app/src/main/java/com/fongmi/android/tv/bean/History.java +++ b/app/src/main/java/com/fongmi/android/tv/bean/History.java @@ -226,11 +226,11 @@ public class History { } public Vod.Flag getFlag() { - return new Vod.Flag(getVodFlag()); + return Vod.Flag.create(getVodFlag()); } public Vod.Flag.Episode getEpisode() { - return new Vod.Flag.Episode(getVodRemarks(), getEpisodeUrl()); + return Vod.Flag.Episode.create(getVodRemarks(), getEpisodeUrl()); } public int getSiteVisible() { 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 f0101cf8d..b0c0a96ab 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 @@ -89,7 +89,8 @@ public class Vod { private Site site; public static List arrayFrom(String str) { - Type listType = new TypeToken>() {}.getType(); + Type listType = new TypeToken>() { + }.getType(); List items = new Gson().fromJson(str, listType); return items == null ? Collections.emptyList() : items; } @@ -231,11 +232,11 @@ public class Vod { String[] playUrls = getVodPlayUrl().split("\\$\\$\\$"); for (int i = 0; i < playFlags.length; i++) { if (playFlags[i].isEmpty() || i >= playUrls.length) continue; - Vod.Flag item = new Vod.Flag(playFlags[i].trim()); + Flag item = Flag.create(playFlags[i].trim()); item.createEpisode(playUrls[i]); getVodFlags().add(item); } - for (Vod.Flag item : getVodFlags()) { + for (Flag item : getVodFlags()) { if (item.getUrls() == null) continue; item.createEpisode(item.getUrls()); } @@ -265,6 +266,10 @@ public class Vod { private boolean activated; private int position; + public static Flag create(String flag) { + return new Flag(flag); + } + public Flag() { this.episodes = new ArrayList<>(); this.position = -1; @@ -348,7 +353,7 @@ public class Vod { } public static List create(String flag, String name, String url) { - Vod.Flag item = new Vod.Flag(flag); + Flag item = Flag.create(flag); item.getEpisodes().add(Episode.create(name, url)); return List.of(item); } @@ -371,6 +376,8 @@ public class Vod { @SerializedName("name") private String name; + @SerializedName("desc") + private String desc; @SerializedName("url") private String url; @@ -378,7 +385,11 @@ public class Vod { private boolean activated; public static Episode create(String name, String url) { - return new Episode(name, url); + return new Episode(name, "", url); + } + + public static Episode create(String name, String desc, String url) { + return new Episode(name, desc, url); } public static Episode objectFrom(String str) { @@ -391,9 +402,10 @@ public class Vod { return items == null ? Collections.emptyList() : items; } - public Episode(String name, String url) { + public Episode(String name, String desc, String url) { this.number = Utils.getDigit(name); this.name = Trans.s2t(name); + this.desc = Trans.s2t(desc); this.url = url; } @@ -405,6 +417,10 @@ public class Vod { this.name = name; } + public String getDesc() { + return desc; + } + public String getUrl() { return url; } 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 ab61c5b9c..ca4f206bc 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 @@ -45,7 +45,7 @@ public class Magnet implements Callable> { if (torrent) Download.create(url, taskId.getSaveFile()).start(); else while (XLTaskHelper.get().getTaskInfo(taskId).getTaskStatus() != 2 && time < 5000) sleep(); List medias = XLTaskHelper.get().getTorrentInfo(taskId.getSaveFile()).getMedias(ads); - for (TorrentFileInfo media : medias) episodes.add(Vod.Flag.Episode.create(media.getFileName(), media.getPlayUrl())); + for (TorrentFileInfo media : medias) episodes.add(Vod.Flag.Episode.create(media.getFileName(), media.getSize(), media.getPlayUrl())); XLTaskHelper.get().stopTask(taskId); return episodes; } diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/adapter/EpisodeAdapter.java b/app/src/mobile/java/com/fongmi/android/tv/ui/adapter/EpisodeAdapter.java index 86c7fe33c..c67bef75c 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/adapter/EpisodeAdapter.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/adapter/EpisodeAdapter.java @@ -105,10 +105,10 @@ public class EpisodeAdapter extends RecyclerView.Adapter mListener.onItemClick(item)); } } diff --git a/catvod/src/main/java/com/github/catvod/utils/Util.java b/catvod/src/main/java/com/github/catvod/utils/Util.java index 32b0c7de3..9624ab94b 100644 --- a/catvod/src/main/java/com/github/catvod/utils/Util.java +++ b/catvod/src/main/java/com/github/catvod/utils/Util.java @@ -13,10 +13,13 @@ import java.io.FileInputStream; import java.math.BigInteger; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; +import java.text.DecimalFormat; import java.text.SimpleDateFormat; public class Util { + public static final String[] UNITS = new String[]{"bytes", "KB", "MB", "GB", "TB"}; + public static String getDeviceId() { return Settings.Secure.getString(Init.context().getContentResolver(), Settings.Secure.ANDROID_ID); } @@ -103,4 +106,10 @@ public class Util { return 0; } } + + public static String size(long size) { + if (size <= 0) return ""; + int group = (int) (Math.log10(size) / Math.log10(1024)); + return "[" + new DecimalFormat("###0.#").format(size / Math.pow(1024, group)) + " " + UNITS[group] + "] "; + } }