From e432e9a07fff9487588c8eab06161be61241b4f4 Mon Sep 17 00:00:00 2001 From: FongMi Date: Wed, 26 Feb 2025 16:31:38 +0800 Subject: [PATCH] Add danmaku for control dialog --- .../fongmi/android/tv/ui/activity/VideoActivity.java | 4 ---- .../fongmi/android/tv/ui/activity/VideoActivity.java | 6 +----- .../fongmi/android/tv/ui/dialog/ControlDialog.java | 2 ++ app/src/mobile/res/layout/dialog_control.xml | 12 ++++++++++++ 4 files changed, 15 insertions(+), 9 deletions(-) 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 cd09d4822..72eecc898 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 @@ -1068,7 +1068,6 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List case PlayerEvent.TRACK: setMetadata(); setTrackVisible(); - setDanmakuVisiable(); mClock.setCallback(this); break; case PlayerEvent.SIZE: @@ -1095,9 +1094,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); - } - - private void setDanmakuVisiable() { mBinding.control.danmaku.setVisibility(mPlayers.haveDanmaku() ? View.VISIBLE : View.GONE); } 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 a51a2acd3..4d0419ce2 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 @@ -1111,7 +1111,6 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo case PlayerEvent.TRACK: setMetadata(); setTrackVisible(); - setDanmakuVisiable(); mClock.setCallback(this); break; case PlayerEvent.SIZE: @@ -1149,11 +1148,8 @@ 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); - if (mControlDialog != null && mControlDialog.isVisible()) mControlDialog.setTrackVisible(); - } - - private void setDanmakuVisiable() { mBinding.control.action.danmaku.setVisibility(mPlayers.haveDanmaku() ? View.VISIBLE : View.GONE); + if (mControlDialog != null && mControlDialog.isVisible()) mControlDialog.setTrackVisible(); } private void setMetadata() { 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 0e64cf60a..31902babc 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 @@ -108,6 +108,7 @@ public class ControlDialog extends BaseDialog implements ParseAdapter.OnClickLis binding.audio.setOnClickListener(v -> dismiss(parent.control.action.audio)); binding.video.setOnClickListener(v -> dismiss(parent.control.action.video)); binding.player.setOnClickListener(v -> dismiss(parent.control.action.player)); + binding.danmaku.setOnClickListener(v -> dismiss(parent.control.action.danmaku)); binding.loop.setOnClickListener(v -> active(binding.loop, parent.control.action.loop)); binding.decode.setOnClickListener(v -> click(binding.decode, parent.control.action.decode)); binding.ending.setOnClickListener(v -> click(binding.ending, parent.control.action.ending)); @@ -188,6 +189,7 @@ 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); } diff --git a/app/src/mobile/res/layout/dialog_control.xml b/app/src/mobile/res/layout/dialog_control.xml index 608e44a20..ddfef22e9 100644 --- a/app/src/mobile/res/layout/dialog_control.xml +++ b/app/src/mobile/res/layout/dialog_control.xml @@ -261,6 +261,18 @@ android:layout_height="wrap_content" android:orientation="horizontal"> + +