Fix epg parser

pull/509/head
okjack 2 years ago
parent d890f95e0f
commit f1d1e752c2
  1. 2
      app/src/main/java/com/fongmi/android/tv/api/EpgParser.java
  2. 2
      app/src/main/java/com/fongmi/android/tv/bean/Result.java
  3. 30
      app/src/main/java/com/fongmi/android/tv/bean/Tv.java

@ -64,7 +64,7 @@ public class EpgParser {
SimpleDateFormat formatDate = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()); SimpleDateFormat formatDate = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault());
SimpleDateFormat formatFull = new SimpleDateFormat("yyyyMMddHHmmss Z", Locale.getDefault()); SimpleDateFormat formatFull = new SimpleDateFormat("yyyyMMddHHmmss Z", Locale.getDefault());
String today = formatDate.format(new Date()); 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 (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.Channel channel : tv.getChannel()) mapping.put(channel.getId(), channel.getDisplayName());
for (Tv.Programme programme : tv.getProgramme()) { for (Tv.Programme programme : tv.getProgramme()) {

@ -100,7 +100,7 @@ public class Result implements Parcelable {
public static Result fromXml(String str) { public static Result fromXml(String str) {
try { try {
return new Persister().read(Result.class, str).trans(); return new Persister().read(Result.class, str, false).trans();
} catch (Exception e) { } catch (Exception e) {
return empty(); return empty();
} }

@ -13,10 +13,10 @@ import java.util.List;
@Root(name = "tv", strict = false) @Root(name = "tv", strict = false)
public class Tv { public class Tv {
@ElementList(entry = "channel", inline = true) @ElementList(entry = "channel", required = false, inline = true)
private List<Channel> channel; private List<Channel> channel;
@ElementList(entry = "programme", inline = true) @ElementList(entry = "programme", required = false, inline = true)
private List<Programme> programme; private List<Programme> programme;
public List<Channel> getChannel() { public List<Channel> getChannel() {
@ -30,10 +30,10 @@ public class Tv {
@Root(name = "channel") @Root(name = "channel")
public static class Channel { public static class Channel {
@Attribute(name = "id") @Attribute(name = "id", required = false)
private String id; private String id;
@Element(name = "display-name") @Element(name = "display-name", required = false)
private String displayName; private String displayName;
public String getId() { public String getId() {
@ -48,24 +48,18 @@ public class Tv {
@Root(name = "programme") @Root(name = "programme")
public static class Programme { public static class Programme {
@Attribute(name = "start") @Attribute(name = "start", required = false)
private String start; private String start;
@Attribute(name = "stop") @Attribute(name = "stop", required = false)
private String stop; private String stop;
@Attribute(name = "channel") @Attribute(name = "channel", required = false)
private String channel; private String channel;
@Element(name = "title") @Element(name = "title", required = false)
private String title; private String title;
@Element(name = "date", required = false)
private String date;
@Element(name = "desc", required = false)
private String desc;
public String getStart() { public String getStart() {
return TextUtils.isEmpty(start) ? "" : start; return TextUtils.isEmpty(start) ? "" : start;
} }
@ -81,13 +75,5 @@ public class Tv {
public String getTitle() { public String getTitle() {
return TextUtils.isEmpty(title) ? "" : title; return TextUtils.isEmpty(title) ? "" : title;
} }
public String getDate() {
return TextUtils.isEmpty(date) ? "" : date;
}
public String getDesc() {
return TextUtils.isEmpty(desc) ? "" : desc;
}
} }
} }

Loading…
Cancel
Save