From e8393c2774c85d783b048c57256d03fe04aed5f5 Mon Sep 17 00:00:00 2001 From: okjack Date: Fri, 16 Feb 2024 20:00:55 +0800 Subject: [PATCH 1/2] 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(); From 6a2397a8f9dff984c0c11042a6900acaa59013f3 Mon Sep 17 00:00:00 2001 From: okjack Date: Fri, 16 Feb 2024 20:08:59 +0800 Subject: [PATCH 2/2] build.gradle --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index ed1278737..eea185135 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -11,7 +11,7 @@ android { minSdk 21 targetSdk 28 versionCode 225 - versionName "0214" + versionName "0217" javaCompileOptions { annotationProcessorOptions { arguments = ["room.schemaLocation": "$projectDir/schemas".toString()]