Fix epg endTime check

pull/589/head
FongMi 1 year ago
parent c957fc9dce
commit e403b63c05
  1. 3
      app/src/main/java/com/fongmi/android/tv/api/EpgParser.java
  2. 1
      app/src/main/java/com/fongmi/android/tv/bean/Epg.java
  3. 9
      app/src/main/java/com/fongmi/android/tv/bean/EpgData.java

@ -73,8 +73,7 @@ public class EpgParser {
if (!exist.contains(key) && exist.contains(name)) key = name;
Date startDate = formatFull.parse(programme.getStart());
Date endDate = formatFull.parse(programme.getStop());
if (!exist.contains(key)) continue;
if (!isToday(startDate) && !isToday(endDate)) continue;
if (!exist.contains(key) || !isToday(startDate)) continue;
if (!epgMap.containsKey(key)) epgMap.put(key, Epg.create(key, today));
epgMap.get(key).getList().add(getEpgData(startDate, endDate, programme));
}

@ -83,6 +83,7 @@ public class Epg {
for (EpgData item : getList()) {
item.setStartTime(Util.format(format, getDate().concat(item.getStart())));
item.setEndTime(Util.format(format, getDate().concat(item.getEnd())));
if (item.getEndTime() < item.getStartTime()) item.fixCrossDay();
item.setTitle(Trans.s2t(item.getTitle()));
}
}

@ -8,6 +8,8 @@ import com.fongmi.android.tv.R;
import com.fongmi.android.tv.utils.ResUtil;
import com.google.gson.annotations.SerializedName;
import java.util.Calendar;
public class EpgData {
@SerializedName("title")
@ -92,6 +94,13 @@ public class EpgData {
return getStart() + " ~ " + getEnd();
}
public void fixCrossDay() {
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(getEndTime());
calendar.add(Calendar.DAY_OF_MONTH, 1);
setEndTime(calendar.getTimeInMillis());
}
@Override
public boolean equals(@Nullable Object obj) {
if (this == obj) return true;

Loading…
Cancel
Save