|
|
|
|
@ -234,10 +234,6 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo |
|
|
|
|
return mHistory != null && mHistory.getScale() != -1 ? mHistory.getScale() : Setting.getScale(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private boolean isReplay() { |
|
|
|
|
return Setting.getReset() == 1; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private boolean isFromCollect() { |
|
|
|
|
return getIntent().getBooleanExtra("collect", false); |
|
|
|
|
} |
|
|
|
|
@ -536,12 +532,12 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo |
|
|
|
|
view.setText(Util.substring(sb.toString(), 2)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void getPlayer(Flag flag, Episode episode, boolean replay) { |
|
|
|
|
private void getPlayer(Flag flag, Episode episode) { |
|
|
|
|
mBinding.control.title.setText(getString(R.string.detail_title, mBinding.name.getText(), episode.getName())); |
|
|
|
|
mViewModel.playerContent(getKey(), flag.getFlag(), episode.getUrl()); |
|
|
|
|
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); |
|
|
|
|
mBinding.control.title.setSelected(true); |
|
|
|
|
updateHistory(episode, replay); |
|
|
|
|
updateHistory(episode); |
|
|
|
|
showProgress(); |
|
|
|
|
setMetadata(); |
|
|
|
|
} |
|
|
|
|
@ -779,22 +775,25 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void onRefresh() { |
|
|
|
|
onReset(false); |
|
|
|
|
private void onReset() { |
|
|
|
|
boolean refresh = Setting.getReset() == 0; |
|
|
|
|
if (refresh) onRefresh(); |
|
|
|
|
else onReplay(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void onReset() { |
|
|
|
|
onReset(isReplay()); |
|
|
|
|
private void onReplay() { |
|
|
|
|
if (mPlayers.isEmpty()) onRefresh(); |
|
|
|
|
else mPlayers.replay(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void onReset(boolean replay) { |
|
|
|
|
private void onRefresh() { |
|
|
|
|
saveHistory(); |
|
|
|
|
mPlayers.stop(); |
|
|
|
|
mPlayers.clear(); |
|
|
|
|
mClock.setCallback(null); |
|
|
|
|
if (mFlagAdapter.isEmpty()) return; |
|
|
|
|
if (mEpisodeAdapter.isEmpty()) return; |
|
|
|
|
getPlayer(getFlag(), getEpisode(), replay); |
|
|
|
|
getPlayer(getFlag(), getEpisode()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private boolean onResetToggle() { |
|
|
|
|
@ -1055,12 +1054,11 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void updateHistory(Episode item, boolean replay) { |
|
|
|
|
replay = replay || !item.equals(mHistory.getEpisode()); |
|
|
|
|
mHistory.setEpisodeUrl(item.getUrl()); |
|
|
|
|
mHistory.setVodRemarks(item.getName()); |
|
|
|
|
private void updateHistory(Episode item) { |
|
|
|
|
mHistory.setPosition(item.equals(mHistory.getEpisode()) ? mHistory.getPosition() : C.TIME_UNSET); |
|
|
|
|
mHistory.setVodFlag(getFlag().getFlag()); |
|
|
|
|
mHistory.setPosition(replay ? C.TIME_UNSET : mHistory.getPosition()); |
|
|
|
|
mHistory.setVodRemarks(item.getName()); |
|
|
|
|
mHistory.setEpisodeUrl(item.getUrl()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void checkControl() { |
|
|
|
|
@ -1154,7 +1152,7 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo |
|
|
|
|
} else if (ActionEvent.LOOP.equals(event.getAction())) { |
|
|
|
|
onLoop(); |
|
|
|
|
} else if (ActionEvent.REPLAY.equals(event.getAction())) { |
|
|
|
|
onReset(true); |
|
|
|
|
onReplay(); |
|
|
|
|
} else if (ActionEvent.AUDIO.equals(event.getAction())) { |
|
|
|
|
moveTaskToBack(true); |
|
|
|
|
setAudioOnly(true); |
|
|
|
|
@ -1240,7 +1238,7 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo |
|
|
|
|
|
|
|
|
|
private void checkEnded(boolean notify) { |
|
|
|
|
if (mBinding.control.action.loop.isActivated()) { |
|
|
|
|
onReset(true); |
|
|
|
|
onReplay(); |
|
|
|
|
} else { |
|
|
|
|
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); |
|
|
|
|
checkNext(notify); |
|
|
|
|
@ -1515,12 +1513,14 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public void onFlingUp() { |
|
|
|
|
checkNext(); |
|
|
|
|
if (mEpisodeAdapter.getItemCount() == 1) onRefresh(); |
|
|
|
|
else checkNext(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public void onFlingDown() { |
|
|
|
|
checkPrev(); |
|
|
|
|
if (mEpisodeAdapter.getItemCount() == 1) onRefresh(); |
|
|
|
|
else checkPrev(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
|