diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java
index 3082df4db..b5820e8ee 100644
--- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java
+++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java
@@ -236,21 +236,14 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
OKHttp.newCall(epg).enqueue(new Callback() {
@Override
public void onResponse(@NonNull Call call, @NonNull Response response) throws IOException {
- channel.setData(Epg.objectFrom(response.body().string()));
- channel.getData().initTime(mFormatTime);
+ channel.setData(Epg.objectFrom(response.body().string(), mFormatTime));
if (mChannel.equals(channel)) App.post(() -> showEpg());
}
});
}
private void showEpg() {
- Date now = new Date();
- for (Epg epg : mChannel.getData().getList()) {
- if (epg.getStartTime() <= now.getTime() && now.getTime() <= epg.getEndTime()) {
- mBinding.info.play.setText(epg.getTitle());
- break;
- }
- }
+ mBinding.info.play.setText(mChannel.getData().getEpg());
}
@Override
diff --git a/app/src/main/java/com/fongmi/android/tv/bean/Epg.java b/app/src/main/java/com/fongmi/android/tv/bean/Epg.java
index f9b83f541..64d65b2af 100644
--- a/app/src/main/java/com/fongmi/android/tv/bean/Epg.java
+++ b/app/src/main/java/com/fongmi/android/tv/bean/Epg.java
@@ -2,6 +2,8 @@ package com.fongmi.android.tv.bean;
import android.text.TextUtils;
+import com.fongmi.android.tv.R;
+import com.fongmi.android.tv.utils.ResUtil;
import com.fongmi.android.tv.utils.Utils;
import com.google.gson.Gson;
import com.google.gson.annotations.SerializedName;
@@ -26,9 +28,11 @@ public class Epg {
private long startTime;
private long endTime;
- public static Epg objectFrom(String str) {
+ public static Epg objectFrom(String str, SimpleDateFormat format) {
try {
- return new Gson().fromJson(str, Epg.class);
+ Epg item = new Gson().fromJson(str, Epg.class);
+ item.setTime(format);
+ return item;
} catch (Exception e) {
return new Epg();
}
@@ -74,10 +78,25 @@ public class Epg {
return getDate().equals(date);
}
- public void initTime(SimpleDateFormat format) {
- for (Epg epg : getList()) {
- epg.setStartTime(Utils.format(format, getDate().concat(epg.getStart())));
- epg.setEndTime(Utils.format(format, getDate().concat(epg.getEnd())));
+ private void setTime(SimpleDateFormat format) {
+ for (Epg item : getList()) {
+ item.setStartTime(Utils.format(format, getDate().concat(item.getStart())));
+ item.setEndTime(Utils.format(format, getDate().concat(item.getEnd())));
}
}
+
+ private boolean isInRange() {
+ return getStartTime() <= System.currentTimeMillis() && System.currentTimeMillis() <= getEndTime();
+ }
+
+ private String format() {
+ if (getTitle().isEmpty()) return ResUtil.getString(R.string.live_epg_empty);
+ if (getStart().isEmpty() || getEnd().isEmpty()) return ResUtil.getString(R.string.live_epg_now, getTitle());
+ return getStart() + " ~ " + getEnd() + " " + getTitle();
+ }
+
+ public String getEpg() {
+ for (Epg item : getList()) if (item.isInRange()) return item.format();
+ return ResUtil.getString(R.string.live_epg_empty);
+ }
}
diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml
index 9e095f0ff..0ef2dc878 100644
--- a/app/src/main/res/values-zh-rCN/strings.xml
+++ b/app/src/main/res/values-zh-rCN/strings.xml
@@ -14,8 +14,7 @@
密码
设定
暂无节目资讯
- 正在播放:%s/%s
- 下个节目:%s/%s
+ 正在播放:%s
线路 %s/%s
diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml
index 5e015b8fa..4b35efbc0 100644
--- a/app/src/main/res/values-zh-rTW/strings.xml
+++ b/app/src/main/res/values-zh-rTW/strings.xml
@@ -14,8 +14,7 @@
密碼
設定
暫無頻道資訊
- 正在播放:%s/%s
- 下個節目:%s/%s
+ 正在播放:%s
來源 %s/%s
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index f4cd76f26..9487076f4 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -14,8 +14,7 @@
Pass
Setting
No schedule
- Playing: %s/%s
- Nex: %s/%s
+ Playing: %s
Line %s/%s