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()]
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();