diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java index 771e626a0..4ff949c8f 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java @@ -157,6 +157,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick mBinding.control.speed.setOnClickListener(view -> onSpeed()); mBinding.control.invert.setOnClickListener(view -> onInvert()); mBinding.control.across.setOnClickListener(view -> onAcross()); + mBinding.control.change.setOnClickListener(view -> onChange()); mBinding.control.player.setOnClickListener(view -> onPlayer()); mBinding.control.decode.setOnClickListener(view -> onDecode()); mBinding.control.speed.setOnLongClickListener(view -> onSpeedLong()); @@ -194,6 +195,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick mBinding.control.speed.setText(mPlayers.getSpeedText()); mBinding.control.invert.setActivated(Prefers.isInvert()); mBinding.control.across.setActivated(Prefers.isAcross()); + mBinding.control.change.setActivated(Prefers.isChange()); mBinding.control.home.setVisibility(LiveConfig.isOnly() ? View.GONE : View.VISIBLE); } @@ -305,6 +307,11 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick mBinding.control.across.setActivated(Prefers.isAcross()); } + private void onChange() { + Prefers.putChange(!Prefers.isChange()); + mBinding.control.change.setActivated(Prefers.isChange()); + } + private void onPlayer() { mPlayers.togglePlayer(); Prefers.putLivePlayer(mPlayers.getPlayer()); @@ -592,18 +599,18 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick } private void onError(ErrorEvent event) { + showError(event.getMsg()); mPlayers.stop(); - startFlow(event); + startFlow(); } - private void startFlow(ErrorEvent event) { + private void startFlow() { + if (!Prefers.isChange()) return; if (!mChannel.isLast()) { nextLine(true); } else if (isGone(mBinding.recycler)) { mChannel.setLine(0); nextChannel(); - } else { - showError(event.getMsg()); } } diff --git a/app/src/leanback/res/layout/view_control_live.xml b/app/src/leanback/res/layout/view_control_live.xml index 3fc2b0f1f..4562cf928 100644 --- a/app/src/leanback/res/layout/view_control_live.xml +++ b/app/src/leanback/res/layout/view_control_live.xml @@ -45,7 +45,7 @@ android:background="@drawable/selector_text" android:focusable="true" android:focusableInTouchMode="true" - android:nextFocusLeft="@id/across" + android:nextFocusLeft="@id/change" android:textColor="@color/white" android:textSize="14sp" tools:text="EXO" /> @@ -175,14 +175,26 @@ android:id="@+id/across" android:layout_width="wrap_content" android:layout_height="wrap_content" + android:layout_marginEnd="12dp" android:background="@drawable/selector_text" android:focusable="true" android:focusableInTouchMode="true" - android:nextFocusRight="@id/player" android:text="@string/play_across" android:textColor="@color/text" android:textSize="14sp" /> + +