Add local danmaku load

pull/589/head
FongMi 9 months ago
parent fe83e15225
commit 107a9a3e06
  1. 2
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java
  2. 8
      app/src/leanback/res/layout/dialog_danmaku.xml
  3. 2
      app/src/leanback/res/layout/dialog_track.xml
  4. 4
      app/src/main/java/com/fongmi/android/tv/player/Players.java
  5. 2
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java
  6. 2
      app/src/mobile/java/com/fongmi/android/tv/ui/dialog/ControlDialog.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() {

@ -22,6 +22,14 @@
android:textColor="@color/grey_900"
android:textSize="16sp" />
<ImageView
android:id="@+id/choose"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="?attr/selectableItemBackgroundBorderless"
android:focusable="true"
android:src="@drawable/ic_action_choose" />
</LinearLayout>
<com.fongmi.android.tv.ui.custom.CustomRecyclerView

@ -28,6 +28,7 @@
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:background="?attr/selectableItemBackgroundBorderless"
android:focusable="true"
android:src="@drawable/ic_action_choose"
android:visibility="gone"
tools:visibility="visible" />
@ -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" />

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

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

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

Loading…
Cancel
Save