|
|
|
|
@ -324,7 +324,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List |
|
|
|
|
mBinding.flag.addOnChildViewHolderSelectedListener(new OnChildViewHolderSelectedListener() { |
|
|
|
|
@Override |
|
|
|
|
public void onChildViewHolderSelected(@NonNull RecyclerView parent, @Nullable RecyclerView.ViewHolder child, int position, int subposition) { |
|
|
|
|
if (mFlagAdapter.size() > 0) setFlagActivated((Flag) mFlagAdapter.get(position), false); |
|
|
|
|
if (mFlagAdapter.size() > 0) setFlagActivated((Flag) mFlagAdapter.get(position)); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
mBinding.array.addOnChildViewHolderSelectedListener(new OnChildViewHolderSelectedListener() { |
|
|
|
|
@ -338,7 +338,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List |
|
|
|
|
private void setRecyclerView() { |
|
|
|
|
mBinding.flag.setHorizontalSpacing(ResUtil.dp2px(8)); |
|
|
|
|
mBinding.flag.setRowHeight(ViewGroup.LayoutParams.WRAP_CONTENT); |
|
|
|
|
mBinding.flag.setAdapter(new ItemBridgeAdapter(mFlagAdapter = new ArrayObjectAdapter(mFlagPresenter = new FlagPresenter(item -> setFlagActivated(item, false))))); |
|
|
|
|
mBinding.flag.setAdapter(new ItemBridgeAdapter(mFlagAdapter = new ArrayObjectAdapter(mFlagPresenter = new FlagPresenter(this::setFlagActivated)))); |
|
|
|
|
mBinding.episode.setHorizontalSpacing(ResUtil.dp2px(8)); |
|
|
|
|
mBinding.episode.setRowHeight(ViewGroup.LayoutParams.WRAP_CONTENT); |
|
|
|
|
mBinding.episode.setAdapter(new ItemBridgeAdapter(mEpisodeAdapter = new ArrayObjectAdapter(mEpisodePresenter = new EpisodePresenter(this::setEpisodeActivated)))); |
|
|
|
|
@ -518,14 +518,14 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List |
|
|
|
|
view.setTag(text); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void setFlagActivated(Flag item, boolean force) { |
|
|
|
|
private void setFlagActivated(Flag item) { |
|
|
|
|
if (mFlagAdapter.size() == 0 || item.isActivated()) return; |
|
|
|
|
for (int i = 0; i < mFlagAdapter.size(); i++) ((Flag) mFlagAdapter.get(i)).setActivated(item); |
|
|
|
|
mBinding.flag.setSelectedPosition(mFlagAdapter.indexOf(item)); |
|
|
|
|
notifyItemChanged(mBinding.flag, mFlagAdapter); |
|
|
|
|
setEpisodeAdapter(item.getEpisodes()); |
|
|
|
|
setQualityVisible(false); |
|
|
|
|
seamless(item, force); |
|
|
|
|
seamless(item); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void setEpisodeAdapter(List<Episode> items) { |
|
|
|
|
@ -535,14 +535,20 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List |
|
|
|
|
updateFocus(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void seamless(Flag flag, boolean force) { |
|
|
|
|
if (Setting.getFlag() == 1 && (mHistory.isNew() || !force)) return; |
|
|
|
|
private void seamless(Flag flag) { |
|
|
|
|
Episode episode = flag.find(mHistory.getVodRemarks(), getMark().isEmpty()); |
|
|
|
|
setQualityVisible(episode != null && episode.isActivated() && mQualityAdapter.getItemCount() > 1); |
|
|
|
|
if (episode == null || episode.isActivated()) return; |
|
|
|
|
mHistory.setVodRemarks(episode.getName()); |
|
|
|
|
setEpisodeActivated(episode); |
|
|
|
|
hidePreview(); |
|
|
|
|
if (Setting.getFlag() == 1) { |
|
|
|
|
episode.setActivated(true); |
|
|
|
|
mBinding.episode.requestFocus(); |
|
|
|
|
mBinding.episode.setSelectedPosition(getEpisodePosition()); |
|
|
|
|
episode.setActivated(false); |
|
|
|
|
} else { |
|
|
|
|
mHistory.setVodRemarks(episode.getName()); |
|
|
|
|
setEpisodeActivated(episode); |
|
|
|
|
hidePreview(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void setEpisodeActivated(Episode item) { |
|
|
|
|
@ -839,7 +845,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List |
|
|
|
|
|
|
|
|
|
private void onToggle() { |
|
|
|
|
if (isVisible(mBinding.control.getRoot())) hideControl(); |
|
|
|
|
else showControl(mFocus2 == null ? mBinding.control.next : mFocus2); |
|
|
|
|
else showControl(getFocus2()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void showProgress() { |
|
|
|
|
@ -961,7 +967,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List |
|
|
|
|
if (empty) { |
|
|
|
|
ErrorEvent.episode(); |
|
|
|
|
} else { |
|
|
|
|
setFlagActivated(mHistory.getFlag(), true); |
|
|
|
|
setFlagActivated(mHistory.getFlag()); |
|
|
|
|
if (mHistory.isRevSort()) reverseEpisode(true); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
@ -1215,7 +1221,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List |
|
|
|
|
private void nextFlag(int position) { |
|
|
|
|
Flag flag = (Flag) mFlagAdapter.get(position + 1); |
|
|
|
|
Notify.show(getString(R.string.play_switch_flag, flag.getFlag())); |
|
|
|
|
setFlagActivated(flag, true); |
|
|
|
|
setFlagActivated(flag); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void nextSite() { |
|
|
|
|
@ -1297,6 +1303,10 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List |
|
|
|
|
this.toggleCount = 0; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private View getFocus2() { |
|
|
|
|
return mFocus2 == null || mFocus2 == mBinding.control.opening || mFocus2 == mBinding.control.ending ? mBinding.control.next : mFocus2; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public boolean dispatchKeyEvent(KeyEvent event) { |
|
|
|
|
if (isFullscreen() && Utils.isMenuKey(event)) onToggle(); |
|
|
|
|
@ -1375,7 +1385,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public void onKeyDown() { |
|
|
|
|
showControl(mFocus2 == null ? mBinding.control.next : mFocus2); |
|
|
|
|
showControl(getFocus2()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
|