diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/DetailActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/DetailActivity.java index 3a7f19a5c..d5d2dbdb8 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/DetailActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/DetailActivity.java @@ -428,7 +428,7 @@ public class DetailActivity extends BaseActivity implements KeyDown.Listener { mBinding.progress.getRoot().setVisibility(View.GONE); break; case Player.STATE_ENDED: - onNext(); + if (Players.get().canNext()) onNext(); break; default: if (!event.isRetry() || ++mRetry > 3) onError(event.getMsg()); 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 af9eb7e8a..42b92342e 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 @@ -106,6 +106,10 @@ public class Players implements Player.Listener, ParseTask.Callback { return exoPlayer.getPlaybackState() == Player.STATE_IDLE; } + public boolean canNext() { + return getCurrentPosition() >= getDuration(); + } + public void setMediaSource(Result result, boolean useParse) { if (result.getUrl().isEmpty()) { PlayerEvent.error(R.string.error_play_load);