Add auto parse back

pull/123/head
FongMi 3 years ago
parent d1c46734ae
commit e620faea0a
  1. 33
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/DetailActivity.java
  2. 1
      app/src/main/res/values-zh-rCN/strings.xml
  3. 1
      app/src/main/res/values-zh-rTW/strings.xml
  4. 1
      app/src/main/res/values/strings.xml

@ -147,6 +147,11 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis
return 0;
}
private int getParsePosition() {
for (int i = 0; i < mParseAdapter.size(); i++) if (((Parse) mParseAdapter.get(i)).isActivated()) return i;
return 0;
}
private int getPlayerType() {
return mHistory != null && mHistory.getPlayer() != -1 ? mHistory.getPlayer() : getSite().getPlayerType() != -1 ? getSite().getPlayerType() : Prefers.getPlayer();
}
@ -797,11 +802,29 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis
showError(event.getMsg());
mPlayers.stop();
hideProgress();
statFlow();
startFlow();
}
private void statFlow() {
private void startFlow() {
if (!getSite().isSwitchable()) return;
if (isVisible(mBinding.control.parseLayout)) checkParse();
else checkFlag();
}
private void checkParse() {
int position = getParsePosition();
if (position == mParseAdapter.size() - 1) initParse();
if (position == 0 || position == mParseAdapter.size() - 1) checkFlag();
else nextParse(position);
}
private void initParse() {
if (mParseAdapter.size() == 0) return;
ApiConfig.get().setParse((Parse) mParseAdapter.get(0));
notifyItemChanged(mBinding.control.parse, mParseAdapter);
}
private void checkFlag() {
int position = mBinding.flag.getSelectedPosition();
if (position == mFlagAdapter.size() - 1) checkSearch();
else nextFlag(position);
@ -855,6 +878,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(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(getString(R.string.play_switch_flag, flag.getFlag()));

@ -49,6 +49,7 @@
<string name="play_backward"></string>
<string name="play_forward_hint">已切换正序播放</string>
<string name="play_backward_hint">已切换倒序播放</string>
<string name="play_switch_parse">正在切换解析至「<xliff:g name="name">%s</xliff:g></string>
<string name="play_switch_flag">正在切换线路至「<xliff:g name="name">%s</xliff:g></string>
<string name="play_switch_site">正在切换站源至「<xliff:g name="name">%s</xliff:g></string>

@ -49,6 +49,7 @@
<string name="play_backward"></string>
<string name="play_forward_hint">已切換正序播放</string>
<string name="play_backward_hint">已切換倒序播放</string>
<string name="play_switch_parse">正在切换解析至「<xliff:g name="name">%s</xliff:g></string>
<string name="play_switch_flag">正在切換線路至「<xliff:g name="name">%s</xliff:g></string>
<string name="play_switch_site">正在切換站源至「<xliff:g name="name">%s</xliff:g></string>

@ -49,6 +49,7 @@
<string name="play_backward"></string>
<string name="play_forward_hint">Normal play switched</string>
<string name="play_backward_hint">Reverse play switched</string>
<string name="play_switch_parse">Switching parse to <xliff:g name="name">%s</xliff:g></string>
<string name="play_switch_flag">Switching flag to <xliff:g name="name">%s</xliff:g></string>
<string name="play_switch_site">Switching site to <xliff:g name="name">%s</xliff:g></string>

Loading…
Cancel
Save