Auto change decode

pull/494/head
okjack 2 years ago
parent 376dc90efa
commit e86de65456
  1. 3
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/CastActivity.java
  2. 3
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java
  3. 3
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java
  4. 25
      app/src/main/java/com/fongmi/android/tv/event/ErrorEvent.java
  5. 2
      app/src/main/java/com/fongmi/android/tv/player/Players.java
  6. 3
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java
  7. 3
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java

@ -364,7 +364,8 @@ public class CastActivity extends BaseActivity implements CustomKeyDownCast.List
@Subscribe(threadMode = ThreadMode.MAIN)
public void onErrorEvent(ErrorEvent event) {
if (mPlayers.addRetry() > event.getRetry()) onError(event);
if (event.getCode() / 1000 == 4 && mPlayers.isExo() && Players.isHard(Players.EXO)) onDecode();
else if (mPlayers.addRetry() > event.getRetry()) onError(event);
else onReset();
}

@ -793,7 +793,8 @@ public class LiveActivity extends BaseActivity implements Clock.Callback, GroupP
@Subscribe(threadMode = ThreadMode.MAIN)
public void onErrorEvent(ErrorEvent event) {
if (mPlayers.addRetry() > event.getRetry()) checkError(event);
if (event.getCode() / 1000 == 4 && mPlayers.isExo() && Players.isHard(Players.EXO)) onDecode();
else if (mPlayers.addRetry() > event.getRetry()) checkError(event);
else fetch();
}

@ -1389,7 +1389,8 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List
@Subscribe(threadMode = ThreadMode.MAIN)
public void onErrorEvent(ErrorEvent event) {
if (isBackground()) return;
if (mPlayers.addRetry() > event.getRetry()) checkError(event);
if (event.getCode() / 1000 == 4 && mPlayers.isExo() && Players.isHard(Players.EXO)) onDecode();
else if (mPlayers.addRetry() > event.getRetry()) checkError(event);
else onRefresh();
}

@ -10,36 +10,43 @@ public class ErrorEvent {
private final Type type;
private final int retry;
private String msg;
private int code;
public static void url(int retry) {
EventBus.getDefault().post(new ErrorEvent(Type.URL, retry));
EventBus.getDefault().post(new ErrorEvent(Type.URL, retry, -1));
}
public static void url(int retry, int code) {
EventBus.getDefault().post(new ErrorEvent(Type.URL, retry, code));
}
public static void flag() {
EventBus.getDefault().post(new ErrorEvent(Type.FLAG, 0));
EventBus.getDefault().post(new ErrorEvent(Type.FLAG, 0, -1));
}
public static void parse() {
EventBus.getDefault().post(new ErrorEvent(Type.PARSE, 0));
EventBus.getDefault().post(new ErrorEvent(Type.PARSE, 0, -1));
}
public static void timeout() {
EventBus.getDefault().post(new ErrorEvent(Type.TIMEOUT, 0));
EventBus.getDefault().post(new ErrorEvent(Type.TIMEOUT, 0, -1));
}
public static void extract(String msg) {
EventBus.getDefault().post(new ErrorEvent(Type.EXTRACT, 0, msg));
EventBus.getDefault().post(new ErrorEvent(Type.EXTRACT, 0, -1, msg));
}
public ErrorEvent(Type type, int retry) {
public ErrorEvent(Type type, int retry, int code) {
this.type = type;
this.retry = retry;
this.code = code;
}
public ErrorEvent(Type type, int retry, String msg) {
public ErrorEvent(Type type, int retry, int code, String msg) {
this.msg = msg;
this.type = type;
this.retry = retry;
this.code = code;
}
public Type getType() {
@ -54,6 +61,10 @@ public class ErrorEvent {
return Type.URL.equals(getType());
}
public int getCode() {
return code;
}
public String getMsg() {
if (type == Type.URL) return ResUtil.getString(R.string.error_play_url);
if (type == Type.FLAG) return ResUtil.getString(R.string.error_play_flag);

@ -636,8 +636,8 @@ public class Players implements Player.Listener, IMediaPlayer.Listener, Analytic
@Override
public void onPlayerError(@NonNull PlaybackException error) {
ErrorEvent.url(ExoUtil.getRetry(this.error = error.errorCode));
setPlaybackState(PlaybackStateCompat.STATE_ERROR);
ErrorEvent.url(ExoUtil.getRetry(this.error = error.errorCode), error.errorCode);
}
@Override

@ -858,7 +858,8 @@ public class LiveActivity extends BaseActivity implements Clock.Callback, Custom
@Subscribe(threadMode = ThreadMode.MAIN)
public void onErrorEvent(ErrorEvent event) {
if (mPlayers.addRetry() > event.getRetry()) checkError(event);
if (event.getCode() / 1000 == 4 && mPlayers.isExo() && Players.isHard(Players.EXO)) onDecode();
else if (mPlayers.addRetry() > event.getRetry()) checkError(event);
else fetch();
}

@ -1335,7 +1335,8 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo
@Subscribe(threadMode = ThreadMode.MAIN)
public void onErrorEvent(ErrorEvent event) {
if (isRedirect()) return;
if (mPlayers.addRetry() > event.getRetry()) checkError(event);
if (event.getCode() / 1000 == 4 && mPlayers.isExo() && Players.isHard(Players.EXO)) onDecode();
else if (mPlayers.addRetry() > event.getRetry()) checkError(event);
else onRefresh();
}

Loading…
Cancel
Save