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 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()) {

@ -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();
}

@ -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> channel;
@ElementList(entry = "programme", inline = true)
@ElementList(entry = "programme", required = false, inline = true)
private List<Programme> programme;
public List<Channel> 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;
}
}
}

Loading…
Cancel
Save