Add danmaku for control dialog

pull/589/head
FongMi 10 months ago
parent 1bc6626cbb
commit e432e9a07f
  1. 4
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java
  2. 6
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java
  3. 2
      app/src/mobile/java/com/fongmi/android/tv/ui/dialog/ControlDialog.java
  4. 12
      app/src/mobile/res/layout/dialog_control.xml

@ -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);
}

@ -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() {

@ -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);
}

@ -261,6 +261,18 @@
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/danmaku"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:background="@drawable/shape_accent"
android:text="@string/danmaku"
android:textColor="@color/control"
android:textSize="14sp"
android:visibility="gone"
tools:visibility="visible" />
<TextView
android:id="@+id/loop"
android:layout_width="wrap_content"

Loading…
Cancel
Save