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 ce784f68d..aa54a1612 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
@@ -40,6 +40,7 @@ import com.fongmi.android.tv.player.ExoUtil;
import com.fongmi.android.tv.player.Players;
import com.fongmi.android.tv.ui.custom.CustomKeyDownVod;
import com.fongmi.android.tv.ui.custom.TrackSelectionDialog;
+import com.fongmi.android.tv.ui.custom.TrackSelectionDialog2;
import com.fongmi.android.tv.ui.custom.dialog.DescDialog;
import com.fongmi.android.tv.ui.presenter.ArrayPresenter;
import com.fongmi.android.tv.ui.presenter.EpisodePresenter;
@@ -184,11 +185,12 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis
mBinding.video.setOnClickListener(view -> onVideo());
mBinding.control.next.setOnClickListener(view -> checkNext());
mBinding.control.prev.setOnClickListener(view -> checkPrev());
+ mBinding.control.text.setOnClickListener(view -> onTracks());
+ mBinding.control.audio.setOnClickListener(view -> onTracks());
mBinding.control.scale.setOnClickListener(view -> onScale());
mBinding.control.speed.setOnClickListener(view -> onSpeed());
mBinding.control.player.setOnClickListener(view -> onPlayer());
mBinding.control.decode.setOnClickListener(view -> onDecode());
- mBinding.control.tracks.setOnClickListener(view -> onTracks());
mBinding.control.ending.setOnClickListener(view -> onEnding());
mBinding.control.opening.setOnClickListener(view -> onOpening());
mBinding.control.replay.setOnClickListener(view -> getPlayer(true));
@@ -567,7 +569,6 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis
mPlayers.stop();
mPlayers.togglePlayer();
mHistory.setPlayer(mPlayers.getPlayer());
- mBinding.control.tracks.setVisibility(View.GONE);
getPlayer(false);
setPlayerView();
}
@@ -743,8 +744,8 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis
case Player.STATE_READY:
hideProgress();
mPlayers.reset();
+ setTrackVisible();
mBinding.widget.size.setText(mPlayers.getSizeText());
- TrackSelectionDialog.setVisible(mPlayers.exo(), mBinding.control.tracks);
break;
case Player.STATE_ENDED:
checkNext();
@@ -761,6 +762,13 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis
Clock.get().setCallback(this);
}
+ private void setTrackVisible() {
+ boolean textVisible = TrackSelectionDialog2.haveTrack(mPlayers, 3);
+ boolean audioVisible = TrackSelectionDialog2.haveTrack(mPlayers, 1);
+ mBinding.control.text.setVisibility(textVisible ? View.VISIBLE : View.GONE);
+ mBinding.control.audio.setVisibility(audioVisible ? View.VISIBLE : View.GONE);
+ }
+
private void onError(String msg) {
int position = mBinding.flag.getSelectedPosition();
if (position == mFlagAdapter.size() - 1) {
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 e9154225d..d2da87f1b 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
@@ -36,6 +36,7 @@ import com.fongmi.android.tv.player.source.ZLive;
import com.fongmi.android.tv.ui.custom.CustomKeyDownLive;
import com.fongmi.android.tv.ui.custom.CustomLiveListView;
import com.fongmi.android.tv.ui.custom.TrackSelectionDialog;
+import com.fongmi.android.tv.ui.custom.TrackSelectionDialog2;
import com.fongmi.android.tv.ui.custom.dialog.LiveDialog;
import com.fongmi.android.tv.ui.custom.dialog.PassDialog;
import com.fongmi.android.tv.ui.presenter.ChannelPresenter;
@@ -144,11 +145,12 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
mBinding.control.home.setOnClickListener(view -> onHome());
mBinding.control.scale.setOnClickListener(view -> onScale());
mBinding.control.speed.setOnClickListener(view -> onSpeed());
+ mBinding.control.text.setOnClickListener(view -> onTracks());
+ mBinding.control.audio.setOnClickListener(view -> onTracks());
mBinding.control.invert.setOnClickListener(view -> onInvert());
mBinding.control.across.setOnClickListener(view -> onAcross());
mBinding.control.player.setOnClickListener(view -> onPlayer());
mBinding.control.decode.setOnClickListener(view -> onDecode());
- mBinding.control.tracks.setOnClickListener(view -> onTracks());
mBinding.control.line.setOnClickListener(view -> nextLine(false));
mBinding.control.speed.setOnLongClickListener(view -> onSpeedLong());
mBinding.group.addOnChildViewHolderSelectedListener(new OnChildViewHolderSelectedListener() {
@@ -304,7 +306,6 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
private void onPlayer() {
mPlayers.stop();
mPlayers.togglePlayer();
- mBinding.control.tracks.setVisibility(View.GONE);
setPlayerView();
getUrl();
}
@@ -644,8 +645,8 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
case Player.STATE_READY:
hideProgress();
mPlayers.reset();
+ setTrackVisible();
App.removeCallbacks(mR6);
- TrackSelectionDialog.setVisible(mPlayers.exo(), mBinding.control.tracks);
break;
case Player.STATE_ENDED:
onKeyDown();
@@ -658,6 +659,13 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
}
}
+ private void setTrackVisible() {
+ boolean textVisible = TrackSelectionDialog2.haveTrack(mPlayers, 3);
+ boolean audioVisible = TrackSelectionDialog2.haveTrack(mPlayers, 1);
+ mBinding.control.text.setVisibility(textVisible ? View.VISIBLE : View.GONE);
+ mBinding.control.audio.setVisibility(audioVisible ? View.VISIBLE : View.GONE);
+ }
+
private void onError() {
mPlayers.reset();
if (mChannel.isLastLine()) {
diff --git a/app/src/leanback/res/layout/adapter_config.xml b/app/src/leanback/res/layout/adapter_config.xml
index 4c53705b3..27f24efb4 100644
--- a/app/src/leanback/res/layout/adapter_config.xml
+++ b/app/src/leanback/res/layout/adapter_config.xml
@@ -8,7 +8,7 @@
+ android:src="@drawable/ic_delete_config" />
\ No newline at end of file
diff --git a/app/src/leanback/res/layout/adapter_live.xml b/app/src/leanback/res/layout/adapter_live.xml
index 37be356a2..f423ca28e 100644
--- a/app/src/leanback/res/layout/adapter_live.xml
+++ b/app/src/leanback/res/layout/adapter_live.xml
@@ -7,9 +7,8 @@
diff --git a/app/src/leanback/res/layout/dialog_track.xml b/app/src/leanback/res/layout/dialog_track.xml
new file mode 100644
index 000000000..1f4d8457d
--- /dev/null
+++ b/app/src/leanback/res/layout/dialog_track.xml
@@ -0,0 +1,8 @@
+
+
\ No newline at end of file
diff --git a/app/src/leanback/res/layout/view_control_live.xml b/app/src/leanback/res/layout/view_control_live.xml
index 19f3fa37d..584ea1548 100644
--- a/app/src/leanback/res/layout/view_control_live.xml
+++ b/app/src/leanback/res/layout/view_control_live.xml
@@ -125,14 +125,30 @@
tools:text="預設" />
+
+
+
+ {
+
+ private final OnClickListener mListener;
+ private final List