okjack
okjack 2 years ago
parent 29c50097f5
commit c893a5429c
  1. 2
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/CastActivity.java
  2. 2
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java
  3. 7
      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. 7
      app/src/main/java/com/fongmi/android/tv/player/Players.java
  6. 2
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java
  7. 2
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java

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

@ -798,7 +798,7 @@ public class LiveActivity extends BaseActivity implements Clock.Callback, GroupP
@Subscribe(threadMode = ThreadMode.MAIN)
public void onErrorEvent(ErrorEvent event) {
if (addErrorCount() > 20) onErrorEnd(event);
else if (event.getCode() / 1000 == 4 && mPlayers.isExo() && mPlayers.addCount() <= 1) onDecode(false);
else if (event.isDecode() && mPlayers.canToggleDecode()) onDecode(false);
else if (mPlayers.addRetry() > event.getRetry()) checkError(event);
else fetch();
}

@ -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;
@ -549,6 +550,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List
mBinding.widget.title.setText(getString(R.string.detail_title, mBinding.name.getText(), episode.getName()));
mBinding.display.title.setText(mBinding.widget.title.getText());
mViewModel.playerContent(getKey(), flag.getFlag(), episode.getUrl());
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
updateHistory(episode, replay);
mPlayers.clear();
mPlayers.stop();
@ -1396,6 +1398,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();
}
}
@ -1425,7 +1428,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List
public void onErrorEvent(ErrorEvent event) {
if (isBackground()) return;
if (addErrorCount() > 20) onErrorEnd(event);
else if (event.getCode() / 1000 == 4 && mPlayers.isExo() && mPlayers.addCount() <= 1) onDecode(false);
else if (event.isDecode() && mPlayers.canToggleDecode()) onDecode(false);
else if (mPlayers.addRetry() > event.getRetry()) checkError(event);
else onRefresh();
}
@ -1578,6 +1581,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) showInfoAndCenter();
@ -1586,6 +1590,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List
}
private void onPlay() {
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
mPlayers.play();
hideCenter();
}

@ -65,6 +65,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);

@ -222,8 +222,8 @@ public class Players implements Player.Listener, IMediaPlayer.Listener, ParseCal
this.position = position;
}
public int addCount() {
return ++count;
public boolean canToggleDecode() {
return isExo() && ++count <= 1;
}
public void reset() {
@ -242,8 +242,7 @@ public class Players implements Player.Listener, IMediaPlayer.Listener, ParseCal
}
public int addRetry() {
++retry;
return retry;
return ++retry;
}
public String stringToTime(long time) {

@ -863,7 +863,7 @@ public class LiveActivity extends BaseActivity implements Clock.Callback, Custom
@Subscribe(threadMode = ThreadMode.MAIN)
public void onErrorEvent(ErrorEvent event) {
if (addErrorCount() > 20) onErrorEnd(event);
else if (event.getCode() / 1000 == 4 && mPlayers.isExo() && mPlayers.addCount() <= 1) onDecode(false);
else if (event.isDecode() && mPlayers.canToggleDecode()) onDecode(false);
else if (mPlayers.addRetry() > event.getRetry()) checkError(event);
else fetch();
}

@ -1364,7 +1364,7 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo
public void onErrorEvent(ErrorEvent event) {
if (isRedirect()) return;
if (addErrorCount() > 20) onErrorEnd(event);
else if (event.getCode() / 1000 == 4 && mPlayers.isExo() && mPlayers.addCount() <= 1) onDecode(false);
else if (event.isDecode() && mPlayers.canToggleDecode()) onDecode(false);
else if (mPlayers.addRetry() > event.getRetry()) checkError(event);
else onRefresh();
}

Loading…
Cancel
Save