pull/585/head
FongMi 1 year ago
parent 3d0c0e276a
commit aa45834bb1
  1. 15
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/CastActivity.java
  2. 12
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java
  3. 13
      app/src/main/java/com/fongmi/android/tv/player/Players.java
  4. 4
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java

@ -120,7 +120,7 @@ public class CastActivity extends BaseActivity implements CustomKeyDownCast.List
private void checkAction() {
mAction = getIntent().getParcelableExtra(RendererInterfaceKt.keyExtraCastAction);
mBinding.widget.title.setText(getName());
position = duration = 0;
position = duration = C.TIME_UNSET;
start();
}
@ -175,6 +175,7 @@ public class CastActivity extends BaseActivity implements CustomKeyDownCast.List
}
private void onReset() {
mPlayers.setPosition(position = C.TIME_UNSET);
start();
}
@ -221,13 +222,15 @@ public class CastActivity extends BaseActivity implements CustomKeyDownCast.List
}
private void showInfo() {
mBinding.widget.center.setVisibility(View.VISIBLE);
mBinding.widget.info.setVisibility(View.VISIBLE);
mBinding.widget.center.setVisibility(View.VISIBLE);
mBinding.widget.exoDuration.setText(mPlayers.getDurationTime());
mBinding.widget.exoPosition.setText(mPlayers.getPositionTime(0));
}
private void hideInfo() {
mBinding.widget.center.setVisibility(View.GONE);
mBinding.widget.info.setVisibility(View.GONE);
mBinding.widget.center.setVisibility(View.GONE);
}
private void showControl() {
@ -336,8 +339,6 @@ public class CastActivity extends BaseActivity implements CustomKeyDownCast.List
}
private void onPaused() {
mBinding.widget.exoDuration.setText(mPlayers.getDurationTime());
mBinding.widget.exoPosition.setText(mPlayers.getPositionTime(0));
setState(RenderState.PAUSED);
mPlayers.pause();
showInfo();
@ -345,6 +346,8 @@ public class CastActivity extends BaseActivity implements CustomKeyDownCast.List
private void onPlay() {
setState(RenderState.PLAYING);
if (mPlayers.isEnded()) mPlayers.seekTo(C.TIME_UNSET);
if (mPlayers.isIdle()) mPlayers.prepare();
mPlayers.play();
hideCenter();
}
@ -377,8 +380,8 @@ public class CastActivity extends BaseActivity implements CustomKeyDownCast.List
@Override
public void onTimeChanged() {
position = mPlayers.getPosition();
duration = mPlayers.getDuration();
mPlayers.setPosition(position = mPlayers.getPosition());
}
@Override

@ -645,7 +645,6 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List
mKeyDown.setFull(true);
setFullscreen(true);
mFocus2 = null;
onPlay();
}
private void exitFullscreen() {
@ -861,13 +860,15 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List
}
private void showInfo() {
mBinding.widget.center.setVisibility(View.VISIBLE);
mBinding.widget.info.setVisibility(View.VISIBLE);
mBinding.widget.center.setVisibility(View.VISIBLE);
mBinding.widget.exoDuration.setText(mPlayers.getDurationTime());
mBinding.widget.exoPosition.setText(mPlayers.getPositionTime(0));
}
private void hideInfo() {
mBinding.widget.center.setVisibility(View.GONE);
mBinding.widget.info.setVisibility(View.GONE);
mBinding.widget.center.setVisibility(View.GONE);
}
private void showControl(View view) {
@ -997,6 +998,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List
@Override
public void onTimeChanged() {
long position, duration;
mPlayers.setPosition(mPlayers.getPosition());
mHistory.setPosition(position = mPlayers.getPosition());
mHistory.setDuration(duration = mPlayers.getDuration());
if (position >= 0 && duration > 0 && !Setting.isIncognito()) App.execute(() -> mHistory.update());
@ -1226,8 +1228,6 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List
private void onPaused() {
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
mBinding.widget.exoDuration.setText(mPlayers.getDurationTime());
mBinding.widget.exoPosition.setText(mPlayers.getPositionTime(0));
if (isFullscreen()) showInfo();
else hideInfo();
mPlayers.pause();
@ -1235,6 +1235,8 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List
private void onPlay() {
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
if (mPlayers.isEnded()) mPlayers.seekTo(mHistory.getOpening());
if (mPlayers.isIdle()) mPlayers.prepare();
mPlayers.play();
hideCenter();
}

@ -144,7 +144,6 @@ public class Players implements Player.Listener, ParseCallback {
}
public void setSub(Sub sub) {
setPosition(getPosition());
this.sub = sub;
setMediaItem();
}
@ -159,7 +158,6 @@ public class Players implements Player.Listener, ParseCallback {
}
public void reset() {
position = C.TIME_UNSET;
removeTimeoutCheck();
retry = 0;
}
@ -216,10 +214,14 @@ public class Players implements Player.Listener, ParseCallback {
return exoPlayer != null && exoPlayer.isPlaying();
}
public boolean isEnd() {
public boolean isEnded() {
return exoPlayer != null && exoPlayer.getPlaybackState() == Player.STATE_ENDED;
}
public boolean isIdle() {
return exoPlayer != null && exoPlayer.getPlaybackState() == Player.STATE_IDLE;
}
public boolean isEmpty() {
return TextUtils.isEmpty(getUrl());
}
@ -309,6 +311,10 @@ public class Players implements Player.Listener, ParseCallback {
if (exoPlayer != null) exoPlayer.seekTo(time);
}
public void prepare() {
if (exoPlayer != null) exoPlayer.prepare();
}
public void play() {
if (exoPlayer != null) exoPlayer.play();
}
@ -320,7 +326,6 @@ public class Players implements Player.Listener, ParseCallback {
public void stop() {
if (parseJob != null) parseJob.stop();
if (exoPlayer != null) exoPlayer.stop();
if (exoPlayer != null) exoPlayer.clearMediaItems();
}
public void release() {

@ -1039,6 +1039,7 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo
@Override
public void onTimeChanged() {
long position, duration;
mPlayers.setPosition(mPlayers.getPosition());
mHistory.setPosition(position = mPlayers.getPosition());
mHistory.setDuration(duration = mPlayers.getDuration());
if (position >= 0 && duration > 0 && !Setting.isIncognito()) App.execute(() -> mHistory.update());
@ -1285,7 +1286,8 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo
private void onPlay() {
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
if (mPlayers.isEnd()) mPlayers.seekTo(mHistory.getOpening());
if (mPlayers.isEnded()) mPlayers.seekTo(mHistory.getOpening());
if (mPlayers.isIdle()) mPlayers.prepare();
checkPlayImg(true);
mPlayers.play();
}

Loading…
Cancel
Save