pull/586/head
FongMi 1 year ago
parent 08956267ad
commit 29bf500b89
  1. 11
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/CastActivity.java
  2. 11
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java
  3. 16
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java
  4. 4
      app/src/main/java/com/fongmi/android/tv/event/ErrorEvent.java
  5. 6
      app/src/main/java/com/fongmi/android/tv/player/Players.java
  6. 11
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java
  7. 11
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java

@ -338,18 +338,11 @@ public class CastActivity extends BaseActivity implements CustomKeyDownCast.List
@Subscribe(threadMode = ThreadMode.MAIN)
public void onErrorEvent(ErrorEvent event) {
if (mPlayers.error()) checkError(event);
if (event.isDecode() && mPlayers.canToggle()) onDecode();
else if (mPlayers.retried()) onError(event);
else onReset();
}
private void checkError(ErrorEvent event) {
if (event.getCode() / 1000 == 4 && mPlayers.addCount() <= 2) {
onDecode();
} else {
onError(event);
}
}
private void onError(ErrorEvent event) {
showError(event.getMsg());
onStopped();

@ -726,18 +726,11 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
@Subscribe(threadMode = ThreadMode.MAIN)
public void onErrorEvent(ErrorEvent event) {
if (mPlayers.error()) checkError(event);
if (event.isDecode() && mPlayers.canToggle()) onDecode();
else if (mPlayers.retried()) onError(event);
else fetch();
}
private void checkError(ErrorEvent event) {
if (event.getCode() / 1000 == 4 && mPlayers.addCount() <= 2) {
onDecode();
} else {
onError(event);
}
}
private void onError(ErrorEvent event) {
showError(event.getMsg());
mPlayers.reset();

@ -14,6 +14,7 @@ import android.text.style.ClickableSpan;
import android.view.KeyEvent;
import android.view.View;
import android.view.ViewGroup;
import android.view.WindowManager;
import android.widget.RelativeLayout;
import android.widget.TextView;
@ -523,6 +524,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List
private void getPlayer(Flag flag, Episode episode, boolean replay) {
mBinding.widget.title.setText(getString(R.string.detail_title, mBinding.name.getText(), episode.getName()));
mViewModel.playerContent(getKey(), flag.getFlag(), episode.getUrl());
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
updateHistory(episode, replay);
mPlayers.clear();
mPlayers.stop();
@ -1104,6 +1106,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List
if (mBinding.control.loop.isActivated()) {
onReset(true);
} else {
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
checkNext();
}
}
@ -1131,18 +1134,11 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List
@Subscribe(threadMode = ThreadMode.MAIN)
public void onErrorEvent(ErrorEvent event) {
if (isBackground()) return;
if (mPlayers.error()) checkError(event);
if (event.isDecode() && mPlayers.canToggle()) onDecode();
else if (mPlayers.retried()) onError(event);
else onRefresh();
}
private void checkError(ErrorEvent event) {
if (event.getCode() / 1000 == 4 && mPlayers.addCount() <= 2) {
onDecode();
} else {
onError(event);
}
}
private void onError(ErrorEvent event) {
Track.delete(getHistoryKey());
showError(event.getMsg());
@ -1265,6 +1261,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List
}
private void onPaused(boolean visible) {
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
mBinding.widget.exoDuration.setText(mPlayers.getDurationTime());
mBinding.widget.exoPosition.setText(mPlayers.getPositionTime(0));
if (visible) showInfo();
@ -1273,6 +1270,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List
}
private void onPlay() {
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
mPlayers.play();
hideCenter();
}

@ -53,6 +53,10 @@ public class ErrorEvent {
return code;
}
public boolean isDecode() {
return code / 1000 == 4;
}
public String getMsg() {
if (type == Type.URL) return ResUtil.getString(R.string.error_play_url, code);
if (type == Type.FLAG) return ResUtil.getString(R.string.error_play_flag);

@ -146,8 +146,8 @@ public class Players implements Player.Listener, ParseCallback {
this.position = position;
}
public int addCount() {
return ++count;
public boolean canToggle() {
return ++count <= 2;
}
public void reset() {
@ -193,7 +193,7 @@ public class Players implements Player.Listener, ParseCallback {
return exoPlayer == null ? 0 : exoPlayer.getBufferedPosition();
}
public boolean error() {
public boolean retried() {
return ++retry > ExoUtil.getRetry(error);
}

@ -785,18 +785,11 @@ public class LiveActivity extends BaseActivity implements CustomKeyDownLive.List
@Subscribe(threadMode = ThreadMode.MAIN)
public void onErrorEvent(ErrorEvent event) {
if (mPlayers.error()) checkError(event);
if (event.isDecode() && mPlayers.canToggle()) onDecode();
else if (mPlayers.retried()) onError(event);
else fetch();
}
private void checkError(ErrorEvent event) {
if (event.getCode() / 1000 == 4 && mPlayers.addCount() <= 2) {
onDecode();
} else {
onError(event);
}
}
private void onError(ErrorEvent event) {
showError(event.getMsg());
mPlayers.reset();

@ -1153,18 +1153,11 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo
@Subscribe(threadMode = ThreadMode.MAIN)
public void onErrorEvent(ErrorEvent event) {
if (isRedirect()) return;
if (mPlayers.error()) checkError(event);
if (event.isDecode() && mPlayers.canToggle()) onDecode();
else if (mPlayers.retried()) onError(event);
else onRefresh();
}
private void checkError(ErrorEvent event) {
if (event.getCode() / 1000 == 4 && mPlayers.addCount() <= 2) {
onDecode();
} else {
onError(event);
}
}
private void onError(ErrorEvent event) {
mBinding.swipeLayout.setEnabled(true);
Track.delete(getHistoryKey());

Loading…
Cancel
Save