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 b9ed646a2..f9ccf5a31 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
@@ -376,6 +376,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List
ExoUtil.setSubtitleView(mBinding.exo);
mPlayers.setDanmakuView(mBinding.danmaku);
mBinding.control.decode.setText(mPlayers.getDecodeText());
+ mBinding.control.danmaku.setVisibility(Setting.isDanmakuLoad() ? View.VISIBLE : View.GONE);
mBinding.control.reset.setText(ResUtil.getStringArray(R.array.select_reset)[Setting.getReset()]);
}
@@ -1095,7 +1096,6 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List
mBinding.control.text.setVisibility(mPlayers.haveTrack(C.TRACK_TYPE_TEXT) || mPlayers.isVod() ? View.VISIBLE : View.GONE);
mBinding.control.audio.setVisibility(mPlayers.haveTrack(C.TRACK_TYPE_AUDIO) ? View.VISIBLE : View.GONE);
mBinding.control.video.setVisibility(mPlayers.haveTrack(C.TRACK_TYPE_VIDEO) ? View.VISIBLE : View.GONE);
- mBinding.control.danmaku.setVisibility(mPlayers.haveDanmaku() ? View.VISIBLE : View.GONE);
}
private void setMetadata() {
diff --git a/app/src/leanback/res/layout/dialog_danmaku.xml b/app/src/leanback/res/layout/dialog_danmaku.xml
index 9bade521b..6a68cbc76 100644
--- a/app/src/leanback/res/layout/dialog_danmaku.xml
+++ b/app/src/leanback/res/layout/dialog_danmaku.xml
@@ -22,6 +22,14 @@
android:textColor="@color/grey_900"
android:textSize="16sp" />
+
+
@@ -37,6 +38,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="?attr/selectableItemBackgroundBorderless"
+ android:focusable="true"
android:src="@drawable/ic_action_subtitle"
android:visibility="gone"
tools:visibility="visible" />
diff --git a/app/src/main/java/com/fongmi/android/tv/player/Players.java b/app/src/main/java/com/fongmi/android/tv/player/Players.java
index 39b581abc..953f0665b 100644
--- a/app/src/main/java/com/fongmi/android/tv/player/Players.java
+++ b/app/src/main/java/com/fongmi/android/tv/player/Players.java
@@ -235,10 +235,6 @@ public class Players implements Player.Listener, ParseCallback, DrawHandler.Call
return exoPlayer != null && ExoUtil.haveTrack(exoPlayer.getCurrentTracks(), type);
}
- public boolean haveDanmaku() {
- return danmakus != null && !danmakus.isEmpty();
- }
-
public boolean isDanmakuPrepared() {
return (danmaku != null && danmaku.isPrepared());
}
diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java
index 850432d6e..bc8b749db 100644
--- a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java
+++ b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java
@@ -370,6 +370,7 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo
mPlayers.setDanmakuView(mBinding.danmaku);
if (isPort() && ResUtil.isLand(this)) enterFullscreen();
mBinding.control.action.decode.setText(mPlayers.getDecodeText());
+ mBinding.control.action.danmaku.setVisibility(Setting.isDanmakuLoad() ? View.VISIBLE : View.GONE);
mBinding.control.action.reset.setText(ResUtil.getStringArray(R.array.select_reset)[Setting.getReset()]);
mBinding.video.addOnLayoutChangeListener((view, left, top, right, bottom, oldLeft, oldTop, oldRight, oldBottom) -> mPiP.update(getActivity(), view));
}
@@ -1149,7 +1150,6 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo
mBinding.control.action.text.setVisibility(mPlayers.haveTrack(C.TRACK_TYPE_TEXT) || mPlayers.isVod() ? View.VISIBLE : View.GONE);
mBinding.control.action.audio.setVisibility(mPlayers.haveTrack(C.TRACK_TYPE_AUDIO) ? View.VISIBLE : View.GONE);
mBinding.control.action.video.setVisibility(mPlayers.haveTrack(C.TRACK_TYPE_VIDEO) ? View.VISIBLE : View.GONE);
- mBinding.control.action.danmaku.setVisibility(mPlayers.haveDanmaku() ? View.VISIBLE : View.GONE);
if (mControlDialog != null && mControlDialog.isVisible()) mControlDialog.setTrackVisible();
}
diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/ControlDialog.java b/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/ControlDialog.java
index 31902babc..953ab5ea9 100644
--- a/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/ControlDialog.java
+++ b/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/ControlDialog.java
@@ -178,6 +178,7 @@ public class ControlDialog extends BaseDialog implements ParseAdapter.OnClickLis
binding.speed.setValue(Math.max(player.getSpeed(), 0.5f));
binding.player.setText(parent.control.action.player.getText());
binding.decode.setVisibility(parent.control.action.decode.getVisibility());
+ binding.danmaku.setVisibility(parent.control.action.danmaku.getVisibility());
}
public void setParseVisible(boolean visible) {
@@ -189,7 +190,6 @@ public class ControlDialog extends BaseDialog implements ParseAdapter.OnClickLis
binding.text.setVisibility(parent.control.action.text.getVisibility());
binding.audio.setVisibility(parent.control.action.audio.getVisibility());
binding.video.setVisibility(parent.control.action.video.getVisibility());
- binding.danmaku.setVisibility(parent.control.action.danmaku.getVisibility());
binding.track.setVisibility(binding.text.getVisibility() == View.GONE && binding.audio.getVisibility() == View.GONE && binding.video.getVisibility() == View.GONE ? View.GONE : View.VISIBLE);
}