From 6650572a8752e331e87751d72a8f1f200bfd5947 Mon Sep 17 00:00:00 2001 From: FongMi Date: Thu, 23 Nov 2023 00:02:53 +0800 Subject: [PATCH] Fix seek view bug --- .../com/fongmi/android/tv/ui/custom/CustomSeekView.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/fongmi/android/tv/ui/custom/CustomSeekView.java b/app/src/main/java/com/fongmi/android/tv/ui/custom/CustomSeekView.java index 2a444aa05..f4f2ca3ef 100644 --- a/app/src/main/java/com/fongmi/android/tv/ui/custom/CustomSeekView.java +++ b/app/src/main/java/com/fongmi/android/tv/ui/custom/CustomSeekView.java @@ -29,6 +29,7 @@ public class CustomSeekView extends FrameLayout implements TimeBar.OnScrubListen private long currentDuration; private long currentPosition; + private long currentBuffered; private boolean scrubbing; public CustomSeekView(Context context) { @@ -81,17 +82,21 @@ public class CustomSeekView extends FrameLayout implements TimeBar.OnScrubListen long buffered = player.getBuffered(); boolean positionChanged = position != currentPosition; boolean durationChanged = duration != currentDuration; + boolean bufferedChanged = buffered != currentBuffered; currentDuration = duration; currentPosition = position; + currentBuffered = buffered; if (durationChanged) { timeBar.setDuration(duration); durationView.setText(player.stringToTime(duration < 0 ? 0 : duration)); } if (positionChanged && !scrubbing) { timeBar.setPosition(position); - timeBar.setBufferedPosition(buffered); positionView.setText(player.stringToTime(position < 0 ? 0 : position)); } + if (bufferedChanged) { + timeBar.setBufferedPosition(buffered); + } removeCallbacks(runnable); if (player.isPlaying()) { postDelayed(runnable, delayMs(position));