From f1d1e752c2e7f274b79d45189da22c5c19e53f2f Mon Sep 17 00:00:00 2001 From: okjack Date: Wed, 19 Jun 2024 15:01:53 +0800 Subject: [PATCH] Fix epg parser --- .../com/fongmi/android/tv/api/EpgParser.java | 2 +- .../com/fongmi/android/tv/bean/Result.java | 2 +- .../java/com/fongmi/android/tv/bean/Tv.java | 30 +++++-------------- 3 files changed, 10 insertions(+), 24 deletions(-) diff --git a/app/src/main/java/com/fongmi/android/tv/api/EpgParser.java b/app/src/main/java/com/fongmi/android/tv/api/EpgParser.java index f79fdca4b..3efbe06a7 100644 --- a/app/src/main/java/com/fongmi/android/tv/api/EpgParser.java +++ b/app/src/main/java/com/fongmi/android/tv/api/EpgParser.java @@ -64,7 +64,7 @@ public class EpgParser { SimpleDateFormat formatDate = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()); SimpleDateFormat formatFull = new SimpleDateFormat("yyyyMMddHHmmss Z", Locale.getDefault()); String today = formatDate.format(new Date()); - Tv tv = new Persister().read(Tv.class, Path.read(file)); + Tv tv = new Persister().read(Tv.class, Path.read(file), false); for (Group group : live.getGroups()) for (Channel channel : group.getChannel()) exist.add(channel.getTvgName()); for (Tv.Channel channel : tv.getChannel()) mapping.put(channel.getId(), channel.getDisplayName()); for (Tv.Programme programme : tv.getProgramme()) { 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 b6db49212..8507bc05c 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 @@ -100,7 +100,7 @@ public class Result implements Parcelable { public static Result fromXml(String str) { try { - return new Persister().read(Result.class, str).trans(); + return new Persister().read(Result.class, str, false).trans(); } catch (Exception e) { return empty(); } diff --git a/app/src/main/java/com/fongmi/android/tv/bean/Tv.java b/app/src/main/java/com/fongmi/android/tv/bean/Tv.java index 0dbfa39f8..dff815469 100644 --- a/app/src/main/java/com/fongmi/android/tv/bean/Tv.java +++ b/app/src/main/java/com/fongmi/android/tv/bean/Tv.java @@ -13,10 +13,10 @@ import java.util.List; @Root(name = "tv", strict = false) public class Tv { - @ElementList(entry = "channel", inline = true) + @ElementList(entry = "channel", required = false, inline = true) private List channel; - @ElementList(entry = "programme", inline = true) + @ElementList(entry = "programme", required = false, inline = true) private List programme; public List getChannel() { @@ -30,10 +30,10 @@ public class Tv { @Root(name = "channel") public static class Channel { - @Attribute(name = "id") + @Attribute(name = "id", required = false) private String id; - @Element(name = "display-name") + @Element(name = "display-name", required = false) private String displayName; public String getId() { @@ -48,24 +48,18 @@ public class Tv { @Root(name = "programme") public static class Programme { - @Attribute(name = "start") + @Attribute(name = "start", required = false) private String start; - @Attribute(name = "stop") + @Attribute(name = "stop", required = false) private String stop; - @Attribute(name = "channel") + @Attribute(name = "channel", required = false) private String channel; - @Element(name = "title") + @Element(name = "title", required = false) private String title; - @Element(name = "date", required = false) - private String date; - - @Element(name = "desc", required = false) - private String desc; - public String getStart() { return TextUtils.isEmpty(start) ? "" : start; } @@ -81,13 +75,5 @@ public class Tv { public String getTitle() { return TextUtils.isEmpty(title) ? "" : title; } - - public String getDate() { - return TextUtils.isEmpty(date) ? "" : date; - } - - public String getDesc() { - return TextUtils.isEmpty(desc) ? "" : desc; - } } }