diff --git a/app/build.gradle b/app/build.gradle
index e0d34c4fe..81ca0aa8f 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/AndroidManifest.xml b/app/src/mobile/AndroidManifest.xml
index c9ecbaecf..db303f5a3 100644
--- a/app/src/mobile/AndroidManifest.xml
+++ b/app/src/mobile/AndroidManifest.xml
@@ -72,7 +72,8 @@
+ android:screenOrientation="fullUser"
+ android:windowSoftInputMode="adjustPan" />
= 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();
diff --git a/app/src/mobile/res/layout/activity_collect.xml b/app/src/mobile/res/layout/activity_collect.xml
index 9b12cb32a..1e8d575a3 100644
--- a/app/src/mobile/res/layout/activity_collect.xml
+++ b/app/src/mobile/res/layout/activity_collect.xml
@@ -63,6 +63,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
+ android:layout_marginBottom="16dp"
android:text="@string/search_record"
android:textColor="@color/white"
android:textSize="18sp" />
@@ -71,10 +72,13 @@
android:id="@+id/recordRecycler"
android:layout_width="match_parent"
android:layout_height="wrap_content"
+ android:layout_marginTop="-8dp"
android:clipChildren="false"
android:clipToPadding="false"
android:overScrollMode="never"
- android:padding="8dp"
+ android:paddingStart="8dp"
+ android:paddingEnd="8dp"
+ android:paddingBottom="8dp"
tools:itemCount="5"
tools:listitem="@layout/adapter_collect_record" />
@@ -84,6 +88,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
+ android:layout_marginBottom="16dp"
android:text="@string/search_hot"
android:textColor="@color/white"
android:textSize="18sp" />
@@ -92,10 +97,13 @@
android:id="@+id/wordRecycler"
android:layout_width="match_parent"
android:layout_height="match_parent"
+ android:layout_marginTop="-8dp"
android:clipChildren="false"
android:clipToPadding="false"
android:overScrollMode="never"
- android:padding="8dp"
+ android:paddingStart="8dp"
+ android:paddingEnd="8dp"
+ android:paddingBottom="8dp"
tools:itemCount="5"
tools:listitem="@layout/adapter_collect_word" />