incognito,episode

pull/289/head
okjack 2 years ago
parent 8278b794a4
commit e8393c2774
  1. 12
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java
  2. 4
      app/src/leanback/java/com/fongmi/android/tv/ui/dialog/EpisodeDialog.java
  3. 2
      app/src/main/res/values-zh-rCN/strings.xml
  4. 1
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java

@ -288,6 +288,11 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List
private void setEpisodeSelectedPosition(int position) {
getEpisodeView().setSelectedPosition(position);
if (hasKeyEvent) return;
getEpisodeView().postDelayed(() -> {
View selectedItem = getEpisodeView().getLayoutManager().findViewByPosition(position);
if (selectedItem != null) selectedItem.requestFocus();
}, 300);
}
private boolean isReplay() {
@ -367,10 +372,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));
hasKeyEvent = false;
}
if (mFlagAdapter.size() > 0) setFlagActivated((Flag) mFlagAdapter.get(position));
}
});
getEpisodeView().addOnChildViewHolderSelectedListener(new OnChildViewHolderSelectedListener() {
@ -738,6 +740,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List
}
private void updateFocus() {
hasKeyEvent = false;
mEpisodePresenter.setNextFocusDown(findFocusDown(Setting.getEpisode() == 0 ? 2 : 4));
mEpisodePresenter.setNextFocusUp(findFocusUp(Setting.getEpisode() == 0 ? 2 : 4));
mQualityAdapter.setNextFocusDown(findFocusDown(1));
@ -1079,6 +1082,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List
private void showControl(View view) {
mBinding.control.danmu.setVisibility(mBinding.danmaku.isPrepared() ? View.VISIBLE : View.GONE);
mBinding.control.getRoot().setVisibility(View.VISIBLE);
mBinding.control.episodes.setVisibility(Setting.getFullscreenMenuKey() == 0 ? View.VISIBLE : View.GONE);
view.requestFocus();
setR1Callback();
}

@ -152,6 +152,10 @@ public class EpisodeDialog extends BaseDialog implements ArrayPresenter.OnClickL
this.binding.episodeVert.postDelayed(() -> {
int position = getEpisodePosition();
setEpisodeSelectedPosition(position);
binding.episodeVert.postDelayed(() -> {
View selectedItem = binding.episodeVert.getLayoutManager().findViewByPosition(position);
if (selectedItem != null) selectedItem.requestFocus();
}, 300);
}, 1000);
}

@ -78,7 +78,7 @@
<string name="setting_size">图片尺寸</string>
<string name="setting_fullscreen_menu_key">全屏菜单键</string>
<string name="setting_home_site_lock">首页源锁定</string>
<string name="setting_incognito">痕模式</string>
<string name="setting_incognito">痕模式</string>
<string name="setting_doh">DoH</string>
<string name="setting_proxy">Proxy</string>
<string name="setting_cache">缓存</string>

@ -1194,7 +1194,6 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo
mHistory.setPosition(position = mPlayers.getPosition());
mHistory.setDuration(duration = mPlayers.getDuration());
if (position >= 0 && duration > 0 && !Setting.isIncognito()) App.execute(() -> mHistory.update());
if (position >= 0 && duration > 0) App.execute(() -> mHistory.update());
if (mHistory.getEnding() > 0 && duration > 0 && mHistory.getEnding() + position >= duration) {
mClock.setCallback(null);
checkNext();

Loading…
Cancel
Save