Clean error event

pull/199/head
FongMi 2 years ago
parent b8a6dd76cf
commit 02e1672d4a
  1. 2
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java
  2. 4
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java
  3. 39
      app/src/main/java/com/fongmi/android/tv/event/ErrorEvent.java
  4. 8
      app/src/main/java/com/fongmi/android/tv/player/Players.java
  5. 6
      app/src/main/res/values-zh-rCN/strings.xml
  6. 6
      app/src/main/res/values-zh-rTW/strings.xml
  7. 4
      app/src/main/res/values/strings.xml
  8. 2
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/DetailActivity.java
  9. 2
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java
  10. 6
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.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 {

@ -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 {

@ -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
}
}

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

@ -109,10 +109,10 @@
<string name="error_play_next">已经是最后一集了!</string>
<string name="error_play_prev">已经是第一集了!</string>
<string name="error_play_parse">播放地址解析失败</string>
<string name="error_play_url">播放数据加载失败</string>
<string name="error_play_format">不支持的影片格式</string>
<string name="error_play_url">播放地址加载失败</string>
<string name="error_play_flag">暂无线路数据</string>
<string name="error_play_timeout">连接超时</string>
<string name="error_play_episode">暂无播放数据</string>
<string name="error_detail">暂无播放数据</string>
<string name="error_empty">找不到数据</string>
<!-- Update -->

@ -109,10 +109,10 @@
<string name="error_play_next">已經是最後一集了!</string>
<string name="error_play_prev">已經是第一集了!</string>
<string name="error_play_parse">播放網址解析失敗</string>
<string name="error_play_url">播放資料載入失敗</string>
<string name="error_play_format">不支援的影片格式</string>
<string name="error_play_url">播放網址載入失敗</string>
<string name="error_play_flag">暫無線路資料</string>
<string name="error_play_timeout">連線逾時</string>
<string name="error_play_episode">暫無播放資料</string>
<string name="error_detail">暫無播放資料</string>
<string name="error_empty">找不到資料</string>
<!-- Update -->

@ -110,9 +110,9 @@
<string name="error_play_prev">It\'s the first episode!</string>
<string name="error_play_parse">Unable to parse url</string>
<string name="error_play_url">Unable to load url</string>
<string name="error_play_format">Unsupported video format</string>
<string name="error_play_flag">No flag data</string>
<string name="error_play_timeout">Timed out</string>
<string name="error_play_episode">No episode data</string>
<string name="error_detail">No play data</string>
<string name="error_empty">Not found</string>
<!-- Update -->

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

@ -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 {

@ -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 {

Loading…
Cancel
Save