From b754fda9e951e8771b2be42b7e8dae3110036e84 Mon Sep 17 00:00:00 2001 From: FongMi Date: Tue, 17 Jan 2023 23:59:45 +0800 Subject: [PATCH] Update parse system - part 3 --- .../tv/ui/activity/DetailActivity.java | 31 +++++++++---------- app/src/main/res/values-zh-rCN/strings.xml | 1 + app/src/main/res/values-zh-rTW/strings.xml | 1 + app/src/main/res/values/strings.xml | 1 + 4 files changed, 17 insertions(+), 17 deletions(-) diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/DetailActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/DetailActivity.java index 6a8001f12..856000156 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/DetailActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/DetailActivity.java @@ -817,34 +817,25 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis } private void checkError(ErrorEvent event) { - if (event.isParse() && mParseAdapter.size() > 0) { - checkParse(); - } else { - checkFlag(); - } + if (event.isParse() && mParseAdapter.size() > 0) checkParse(); + else checkFlag(); } private void checkParse() { int position = getParsePosition(); - position = position < mParseAdapter.size() - 1 ? ++position : 0; - setParseActivated((Parse) mParseAdapter.get(position)); + if (position == mParseAdapter.size() - 1) checkFlag(); + else nextParse(position); } private void checkFlag() { int position = mBinding.flag.getSelectedPosition(); - if (position == mFlagAdapter.size() - 1) { - checkSearch(); - } else { - nextFlag(position); - } + if (position == mFlagAdapter.size() - 1 || !getSite().isSwitchable()) checkSearch(); + else nextFlag(position); } private void checkSearch() { - if (mSearchAdapter.size() > 0 && isAutoMode()) { - nextSite(); - } else { - initSearch(getName(), getSite().isSwitchable()); - } + if (isAutoMode() && mSearchAdapter.size() > 0) nextSite(); + else initSearch(getName(), getSite().isSwitchable()); } private void initSearch(String keyword, boolean auto) { @@ -886,6 +877,12 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis else return !item.getVodName().contains(keyword); } + private void nextParse(int position) { + Parse parse = (Parse) mParseAdapter.get(position + 1); + Notify.show(ResUtil.getString(R.string.play_switch_parse, parse.getName())); + setParseActivated(parse); + } + private void nextFlag(int position) { Vod.Flag flag = (Vod.Flag) mFlagAdapter.get(position + 1); Notify.show(ResUtil.getString(R.string.play_switch_flag, flag.getFlag())); diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 73383dd9e..6cce18797 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -51,6 +51,7 @@ 已切换正序播放 已切换倒序播放 + 正在切换解析至「%s 正在切换线路至「%s 正在切换站源至「%s diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 0f9833239..4eaa223e9 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -51,6 +51,7 @@ 已切換正序播放 已切換倒序播放 + 正在切换解析至「%s 正在切換線路至「%s 正在切換站源至「%s diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index d8494a45c..04cc8f412 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -51,6 +51,7 @@ Normal play switched Reverse play switched + Switching parse to %s Switching flag to %s Switching site to %s