diff --git a/app/build.gradle b/app/build.gradle index 6bf5a4ae2..a236e08aa 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -11,7 +11,7 @@ android { minSdk 21 targetSdk 28 versionCode 225 - versionName "2.2.5" + versionName "0206" javaCompileOptions { annotationProcessorOptions { arguments = ["room.schemaLocation": "$projectDir/schemas".toString()] diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingCustomActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingCustomActivity.java index 0aa0e1565..aafb08e41 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingCustomActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingCustomActivity.java @@ -19,6 +19,7 @@ public class SettingCustomActivity extends BaseActivity { private String[] quality; private String[] size; private String[] episode; + private String[] fullscreenMenuKey; @Override protected ViewBinding getBinding() { @@ -44,6 +45,7 @@ public class SettingCustomActivity extends BaseActivity { mBinding.displayDurationText.setText(getSwitch(Setting.isDisplayDuration())); mBinding.speedText.setText(Setting.getPlaySpeed() + "x"); mBinding.aggregatedSearchText.setText(getSwitch(Setting.isAggregatedSearch())); + mBinding.fullscreenMenuKeyText.setText((fullscreenMenuKey = ResUtil.getStringArray(R.array.select_fullscreen_menu_key))[Setting.getFullscreenMenuKey()]); } @Override @@ -57,6 +59,7 @@ public class SettingCustomActivity extends BaseActivity { mBinding.speed.setOnClickListener(this::setSpeed); mBinding.speed.setOnLongClickListener(this::resetSpeed); mBinding.aggregatedSearch.setOnClickListener(this::setAggregatedSearch); + mBinding.fullscreenMenuKey.setOnClickListener(this::setfullscreenMenuKey); } private void setQuality(View view) { @@ -113,4 +116,10 @@ public class SettingCustomActivity extends BaseActivity { mBinding.aggregatedSearchText.setText(getSwitch(Setting.isAggregatedSearch())); } + private void setfullscreenMenuKey(View view) { + int index = Setting.getFullscreenMenuKey(); + Setting.putFullscreenMenuKey(index = index == fullscreenMenuKey.length - 1 ? 0 : ++index); + mBinding.fullscreenMenuKeyText.setText(fullscreenMenuKey[index]); + } + } 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 9336921ff..4bed54e4b 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 @@ -1570,7 +1570,8 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List @Override public boolean dispatchKeyEvent(KeyEvent event) { - if (isFullscreen() && KeyUtil.isMenuKey(event)) onToggle(); + if (isFullscreen() && KeyUtil.isMenuKey(event) && Setting.getFullscreenMenuKey() == 0) onToggle(); + if (isFullscreen() && KeyUtil.isMenuKey(event) && Setting.getFullscreenMenuKey() == 1) onEpisodes(); if (isVisible(mBinding.control.getRoot())) setR1Callback(); if (isVisible(mBinding.control.getRoot())) mFocus2 = getCurrentFocus(); if (isFullscreen() && isGone(mBinding.control.getRoot()) && mKeyDown.hasEvent(event)) return mKeyDown.onKeyDown(event); 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 c4705b005..aab902044 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 @@ -69,7 +69,12 @@ public class EpisodeDialog extends BaseDialog implements ArrayPresenter.OnClickL } public void show(FragmentActivity activity) { - for (Fragment f : activity.getSupportFragmentManager().getFragments()) if (f instanceof BottomSheetDialogFragment) return; + for (Fragment f : activity.getSupportFragmentManager().getFragments()) { + if (f instanceof EpisodeDialog) { + ((EpisodeDialog) f).dismiss(); + return; + } + } show(activity.getSupportFragmentManager(), null); this.activity = (VideoActivity) activity; } diff --git a/app/src/leanback/res/layout/activity_setting_custom.xml b/app/src/leanback/res/layout/activity_setting_custom.xml index eb967dc3f..1e93476d3 100644 --- a/app/src/leanback/res/layout/activity_setting_custom.xml +++ b/app/src/leanback/res/layout/activity_setting_custom.xml @@ -246,5 +246,34 @@ + + + + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/fongmi/android/tv/Setting.java b/app/src/main/java/com/fongmi/android/tv/Setting.java index 713f0c9f0..cc2320567 100644 --- a/app/src/main/java/com/fongmi/android/tv/Setting.java +++ b/app/src/main/java/com/fongmi/android/tv/Setting.java @@ -381,4 +381,12 @@ public class Setting { Prefers.put("aggregated_search", search); } + public static void putFullscreenMenuKey(int key) { + Prefers.put("fullscreen_menu_key", key); + } + + public static int getFullscreenMenuKey() { + return Prefers.getInt("fullscreen_menu_key", 0); + } + } diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 0a57d5157..7074c6aa2 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -76,6 +76,7 @@ 图片品质 图片尺寸 聚合搜索 + 全屏菜单键 DoH Proxy 缓存 @@ -211,6 +212,11 @@ 多行 + + 控制栏 + 选集 + + 预设 系统 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 67d7157c6..fef8bfe6a 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -76,6 +76,7 @@ 圖片品質 圖片尺寸 聚合搜索 + 全屏菜單鍵 DoH Proxy 暫存 @@ -211,6 +212,11 @@ 多行 + + 控製欄 + 選集 + + 預設 系統 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index d744bdabd..d328ac48b 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -76,6 +76,7 @@ Image quality Image size Aggregated search + Fullscreen menu key DoH Proxy Cache @@ -216,6 +217,11 @@ Multiple + + Control + Episodes + + Default System