From e8393c2774c85d783b048c57256d03fe04aed5f5 Mon Sep 17 00:00:00 2001 From: okjack Date: Fri, 16 Feb 2024 20:00:55 +0800 Subject: [PATCH] incognito,episode --- .../fongmi/android/tv/ui/activity/VideoActivity.java | 12 ++++++++---- .../fongmi/android/tv/ui/dialog/EpisodeDialog.java | 4 ++++ app/src/main/res/values-zh-rCN/strings.xml | 2 +- .../fongmi/android/tv/ui/activity/VideoActivity.java | 1 - 4 files changed, 13 insertions(+), 6 deletions(-) diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java index 94f910368..d3baeecfc 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java +++ b/app/src/leanback/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(); } diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/dialog/EpisodeDialog.java b/app/src/leanback/java/com/fongmi/android/tv/ui/dialog/EpisodeDialog.java index 07d444f16..be4383fb5 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/dialog/EpisodeDialog.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/dialog/EpisodeDialog.java @@ -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); } diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 598346413..e1ce33d56 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -78,7 +78,7 @@ 图片尺寸 全屏菜单键 首页源锁定 - 無痕模式 + 无痕模式 DoH Proxy 缓存 diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java index f75043e2d..648e44901 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java @@ -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();