diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java index 29ec7629d..f241d9959 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java @@ -1181,6 +1181,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List if (mBinding.control.loop.isActivated()) { onReset(true); } else { + mBinding.danmaku.clearDanmakusOnScreen(); checkNext(); } } 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 d0a3a6743..4ee7f04fa 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 @@ -624,9 +624,9 @@ public class Players implements Player.Listener, IMediaPlayer.Listener, Analytic case Player.STATE_READY: PlayerEvent.ready(); break; - case Player.STATE_BUFFERING: - case Player.STATE_ENDED: case Player.STATE_IDLE: + case Player.STATE_ENDED: + case Player.STATE_BUFFERING: PlayerEvent.state(state); break; } @@ -676,12 +676,7 @@ public class Players implements Player.Listener, IMediaPlayer.Listener, Analytic @Override public void updateTimer(DanmakuTimer timer) { - App.post(() -> { - long position = getPosition(); - long duration = getDuration(); - if (position >= duration) timer.add(Integer.MAX_VALUE); - else timer.update(position); - }); + App.post(() -> timer.update(getPosition())); } @Override diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java index d0eabd6b3..fa4ce2c6d 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java @@ -1221,6 +1221,7 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo onReset(true); } else { getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); + mBinding.danmaku.clearDanmakusOnScreen(); checkNext(); } }