pull/137/head
FongMi 2 years ago
parent 55597a15a7
commit b50d8f3007
  1. 12
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/DetailActivity.java
  2. 4
      app/src/main/java/com/fongmi/android/tv/bean/History.java

@ -813,6 +813,7 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis
mHistory = History.find(getHistoryKey()); mHistory = History.find(getHistoryKey());
mHistory = mHistory == null ? createHistory(item) : mHistory; mHistory = mHistory == null ? createHistory(item) : mHistory;
if (!TextUtils.isEmpty(getMark())) mHistory.setVodRemarks(getMark()); if (!TextUtils.isEmpty(getMark())) mHistory.setVodRemarks(getMark());
if (!getSite().isRecordable() && mHistory.getKey().equals(getHistoryKey())) mHistory.delete();
mBinding.control.opening.setText(mHistory.getOpening() == 0 ? getString(R.string.play_op) : mPlayers.stringToTime(mHistory.getOpening())); mBinding.control.opening.setText(mHistory.getOpening() == 0 ? getString(R.string.play_op) : mPlayers.stringToTime(mHistory.getOpening()));
mBinding.control.ending.setText(mHistory.getEnding() == 0 ? getString(R.string.play_ed) : mPlayers.stringToTime(mHistory.getEnding())); mBinding.control.ending.setText(mHistory.getEnding() == 0 ? getString(R.string.play_ed) : mPlayers.stringToTime(mHistory.getEnding()));
mBinding.control.speed.setText(mPlayers.setSpeed(mHistory.getSpeed())); mBinding.control.speed.setText(mPlayers.setSpeed(mHistory.getSpeed()));
@ -865,10 +866,11 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis
@Override @Override
public void onTimeChanged() { public void onTimeChanged() {
long current = mPlayers.getPosition(); long position, duration;
long duration = mPlayers.getDuration(); mHistory.setPosition(position = mPlayers.getPosition());
if (current >= 0 && duration > 0 && getSite().isRecordable()) App.execute(() -> mHistory.update(current, duration)); mHistory.setDuration(duration = mPlayers.getDuration());
if (mHistory.getEnding() > 0 && duration > 0 && mHistory.getEnding() + current >= duration) { if (position >= 0 && duration > 0 && getSite().isRecordable()) App.execute(() -> mHistory.update());
if (mHistory.getEnding() > 0 && duration > 0 && mHistory.getEnding() + position >= duration) {
Clock.get().setCallback(null); Clock.get().setCallback(null);
checkNext(); checkNext();
} }
@ -905,7 +907,7 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis
} }
private void setPosition() { private void setPosition() {
if (getSite().isRecordable()) mPlayers.seekTo(Math.max(mHistory.getOpening(), mHistory.getPosition()), false); mPlayers.seekTo(Math.max(mHistory.getOpening(), mHistory.getPosition()), false);
} }
private void checkEnded() { private void checkEnded() {

@ -276,9 +276,7 @@ public class History {
} }
} }
public void update(long position, long duration) { public void update() {
setPosition(position);
setDuration(duration);
merge(find(), false); merge(find(), false);
save(); save();
} }

Loading…
Cancel
Save