Update CustomSeekView.java

pull/123/head
FongMi 3 years ago
parent e491300a27
commit 59aa270b78
  1. 22
      app/src/main/java/com/fongmi/android/tv/ui/custom/CustomSeekView.java

@ -44,7 +44,7 @@ public class CustomSeekView extends FrameLayout implements TimeBar.OnScrubListen
LayoutInflater.from(context).inflate(R.layout.view_control_seek, this); LayoutInflater.from(context).inflate(R.layout.view_control_seek, this);
initView(); initView();
initEvent(); initEvent();
startProgress(); start();
} }
private void initView() { private void initView() {
@ -58,8 +58,10 @@ public class CustomSeekView extends FrameLayout implements TimeBar.OnScrubListen
timeBar.addListener(this); timeBar.addListener(this);
} }
public void setListener(Players listener) { public void setListener(Players players) {
this.listener = listener; listener = players;
positionView.setText(listener.stringToTime(0));
durationView.setText(listener.stringToTime(0));
} }
private void seekToTimeBarPosition(long positionMs) { private void seekToTimeBarPosition(long positionMs) {
@ -67,13 +69,9 @@ public class CustomSeekView extends FrameLayout implements TimeBar.OnScrubListen
updateProgress(); updateProgress();
} }
public void startProgress() { public void start() {
stopProgress();
post(runnable);
}
public void stopProgress() {
removeCallbacks(runnable); removeCallbacks(runnable);
post(runnable);
} }
private void updateProgress() { private void updateProgress() {
@ -86,12 +84,12 @@ public class CustomSeekView extends FrameLayout implements TimeBar.OnScrubListen
currentPosition = position; currentPosition = position;
if (durationChanged) { if (durationChanged) {
timeBar.setDuration(duration); timeBar.setDuration(duration);
durationView.setText(listener.stringToTime(duration)); durationView.setText(listener.stringToTime(duration < 0 ? 0 : duration));
} }
if (positionChanged && !scrubbing) { if (positionChanged && !scrubbing) {
timeBar.setPosition(position); timeBar.setPosition(position);
timeBar.setBufferedPosition(buffered); timeBar.setBufferedPosition(buffered);
positionView.setText(listener.stringToTime(position)); positionView.setText(listener.stringToTime(position < 0 ? 0 : position));
} }
removeCallbacks(runnable); removeCallbacks(runnable);
if (listener.isPlaying()) { if (listener.isPlaying()) {
@ -111,7 +109,7 @@ public class CustomSeekView extends FrameLayout implements TimeBar.OnScrubListen
@Override @Override
protected void onDetachedFromWindow() { protected void onDetachedFromWindow() {
super.onDetachedFromWindow(); super.onDetachedFromWindow();
stopProgress(); removeCallbacks(runnable);
} }
@Override @Override

Loading…
Cancel
Save