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 d3aa8a9f6..fc929b8bc 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 @@ -709,7 +709,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick } private void checkError(ErrorEvent event) { - if (getHome() != null && getHome().getPlayerType() == -1 && event.isFormat() && event.getRetry() > 0 && getToggleCount() < 2 && mPlayers.getPlayer() != Players.SYS) { + if (getHome() != null && getHome().getPlayerType() == -1 && event.isUrl() && event.getRetry() > 0 && getToggleCount() < 2 && mPlayers.getPlayer() != Players.SYS) { toggleCount++; nextPlayer(); } else { diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java index 774900d80..40f56263f 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java @@ -1041,7 +1041,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List boolean empty = item.getVodFlags().isEmpty(); mBinding.flag.setVisibility(empty ? View.GONE : View.VISIBLE); if (empty) { - ErrorEvent.episode(); + ErrorEvent.flag(); } else { setFlagActivated(mHistory.getFlag()); if (mHistory.isRevSort()) reverseEpisode(true); @@ -1212,7 +1212,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List } private void checkError(ErrorEvent event) { - if (getSite().getPlayerType() == -1 && event.isFormat() && event.getRetry() > 0 && getToggleCount() < 2 && mPlayers.getPlayer() != Players.SYS) { + if (getSite().getPlayerType() == -1 && event.isUrl() && event.getRetry() > 0 && getToggleCount() < 2 && mPlayers.getPlayer() != Players.SYS) { toggleCount++; nextPlayer(); } else { diff --git a/app/src/main/java/com/fongmi/android/tv/event/ErrorEvent.java b/app/src/main/java/com/fongmi/android/tv/event/ErrorEvent.java index 0efe2468e..91800b1db 100644 --- a/app/src/main/java/com/fongmi/android/tv/event/ErrorEvent.java +++ b/app/src/main/java/com/fongmi/android/tv/event/ErrorEvent.java @@ -11,20 +11,16 @@ public class ErrorEvent { private final int retry; private String msg; - public static void url() { - EventBus.getDefault().post(new ErrorEvent(Type.URL, 0)); + public static void url(int retry) { + EventBus.getDefault().post(new ErrorEvent(Type.URL, retry)); } - public static void parse() { - EventBus.getDefault().post(new ErrorEvent(Type.PARSE, 0)); + public static void flag() { + EventBus.getDefault().post(new ErrorEvent(Type.FLAG, 0)); } - public static void format(int retry) { - EventBus.getDefault().post(new ErrorEvent(Type.FORMAT, retry)); - } - - public static void episode() { - EventBus.getDefault().post(new ErrorEvent(Type.EPISODE, 0)); + public static void parse() { + EventBus.getDefault().post(new ErrorEvent(Type.PARSE, 0)); } public static void timeout() { @@ -41,18 +37,9 @@ public class ErrorEvent { } public ErrorEvent(Type type, int retry, String msg) { + this.msg = msg; this.type = type; this.retry = retry; - this.msg = msg; - } - - private int getResId() { - if (type == Type.URL) return R.string.error_play_url; - if (type == Type.PARSE) return R.string.error_play_parse; - if (type == Type.FORMAT) return R.string.error_play_format; - if (type == Type.EPISODE) return R.string.error_play_episode; - if (type == Type.TIMEOUT) return R.string.error_play_timeout; - return -1; } public Type getType() { @@ -63,15 +50,19 @@ public class ErrorEvent { return retry; } - public boolean isFormat() { - return Type.FORMAT.equals(getType()); + public boolean isUrl() { + return Type.URL.equals(getType()); } public String getMsg() { - return getResId() == -1 ? msg : ResUtil.getString(getResId()); + if (type == Type.URL) return ResUtil.getString(R.string.error_play_url); + if (type == Type.FLAG) return ResUtil.getString(R.string.error_play_flag); + if (type == Type.PARSE) return ResUtil.getString(R.string.error_play_parse); + if (type == Type.TIMEOUT) return ResUtil.getString(R.string.error_play_timeout); + return msg; } public enum Type { - URL, PARSE, FORMAT, EPISODE, TIMEOUT, EXTRACT + URL, FLAG, PARSE, TIMEOUT, EXTRACT } } diff --git a/app/src/main/java/com/fongmi/android/tv/player/Players.java b/app/src/main/java/com/fongmi/android/tv/player/Players.java index ba1243450..99754c8e8 100644 --- a/app/src/main/java/com/fongmi/android/tv/player/Players.java +++ b/app/src/main/java/com/fongmi/android/tv/player/Players.java @@ -403,7 +403,7 @@ public class Players implements Player.Listener, IMediaPlayer.Listener, Analytic } else if (channel.getParse() == 1) { startParse(channel.result(), false); } else if (isIllegal(channel.getUrl())) { - ErrorEvent.url(); + ErrorEvent.url(0); } else { setMediaSource(channel, timeout); } @@ -415,7 +415,7 @@ public class Players implements Player.Listener, IMediaPlayer.Listener, Analytic } else if (result.getParse(1) == 1 || result.getJx() == 1) { startParse(result, useParse); } else if (isIllegal(result.getRealUrl())) { - ErrorEvent.url(); + ErrorEvent.url(0); } else { setMediaSource(result, timeout); } @@ -602,7 +602,7 @@ public class Players implements Player.Listener, IMediaPlayer.Listener, Analytic @Override public void onPlayerError(@NonNull PlaybackException error) { - ErrorEvent.format(ExoUtil.getRetry(errorCode = error.errorCode)); + ErrorEvent.url(ExoUtil.getRetry(errorCode = error.errorCode)); setPlaybackState(PlaybackStateCompat.STATE_ERROR); } @@ -637,7 +637,7 @@ public class Players implements Player.Listener, IMediaPlayer.Listener, Analytic @Override public boolean onError(IMediaPlayer mp, int what, int extra) { setPlaybackState(PlaybackStateCompat.STATE_ERROR); - ErrorEvent.format(1); + ErrorEvent.url(1); return true; } diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index e5da1a21c..566818973 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -109,10 +109,10 @@ 已经是最后一集了! 已经是第一集了! 播放地址解析失败 - 播放数据加载失败 - 不支持的影片格式 + 播放地址加载失败 + 暂无线路数据 连接超时 - 暂无播放数据 + 暂无播放数据 找不到数据 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 119939b81..5d773d630 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -109,10 +109,10 @@ 已經是最後一集了! 已經是第一集了! 播放網址解析失敗 - 播放資料載入失敗 - 不支援的影片格式 + 播放網址載入失敗 + 暫無線路資料 連線逾時 - 暫無播放資料 + 暫無播放資料 找不到資料 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 0af65a4f1..99ff036ff 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -110,9 +110,9 @@ It\'s the first episode! Unable to parse url Unable to load url - Unsupported video format + No flag data Timed out - No episode data + No play data Not found diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/DetailActivity.java b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/DetailActivity.java index 52be12562..e7c4f1444 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/DetailActivity.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/DetailActivity.java @@ -199,7 +199,7 @@ public class DetailActivity extends BaseActivity implements FlagAdapter.OnClickL boolean empty = item.getVodFlags().isEmpty(); mBinding.flag.setVisibility(empty ? View.GONE : View.VISIBLE); if (empty) { - ErrorEvent.episode(); + ErrorEvent.flag(); } else { onItemClick(mHistory.getFlag()); if (mHistory.isRevSort()) reverseEpisode(true); diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java index 8719bfeb4..e27b6e006 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java @@ -779,7 +779,7 @@ public class LiveActivity extends BaseActivity implements CustomKeyDownLive.List } private void checkError(ErrorEvent event) { - if (getHome() != null && getHome().getPlayerType() == -1 && event.isFormat() && event.getRetry() > 0 && getToggleCount() < 2 && mPlayers.getPlayer() != Players.SYS) { + if (getHome() != null && getHome().getPlayerType() == -1 && event.isUrl() && event.getRetry() > 0 && getToggleCount() < 2 && mPlayers.getPlayer() != Players.SYS) { toggleCount++; nextPlayer(); } else { diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java index dd7260a8a..afc8c2d2d 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java @@ -486,7 +486,7 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo } private void showEmpty() { - showError(getString(R.string.error_play_url)); + showError(getString(R.string.error_detail)); mBinding.swipeLayout.setEnabled(true); mBinding.progressLayout.showEmpty(); stopSearch(); @@ -1062,7 +1062,7 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo boolean empty = item.getVodFlags().isEmpty(); mBinding.flag.setVisibility(empty ? View.GONE : View.VISIBLE); if (empty) { - ErrorEvent.episode(); + ErrorEvent.flag(); } else { onItemClick(mHistory.getFlag()); if (mHistory.isRevSort()) reverseEpisode(true); @@ -1273,7 +1273,7 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo } private void checkError(ErrorEvent event) { - if (getSite().getPlayerType() == -1 && event.isFormat() && event.getRetry() > 0 && getToggleCount() < 2 && mPlayers.getPlayer() != Players.SYS) { + if (getSite().getPlayerType() == -1 && event.isUrl() && event.getRetry() > 0 && getToggleCount() < 2 && mPlayers.getPlayer() != Players.SYS) { toggleCount++; nextPlayer(); } else {