diff --git a/app/src/main/java/com/fongmi/android/tv/Setting.java b/app/src/main/java/com/fongmi/android/tv/Setting.java index 4716cd688..eb80ab7d5 100644 --- a/app/src/main/java/com/fongmi/android/tv/Setting.java +++ b/app/src/main/java/com/fongmi/android/tv/Setting.java @@ -241,6 +241,14 @@ public class Setting { Prefers.put("danmaku_load", danmakuLoad); } + public static boolean isDanmakuShow() { + return Prefers.getBoolean("danmaku_show"); + } + + public static void putDanmakuShow(boolean danmakuShow) { + Prefers.put("danmaku_show", danmakuShow); + } + public static boolean isZhuyin() { return Prefers.getBoolean("zhuyin"); } 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 bc8b749db..037404ffe 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 @@ -289,10 +289,12 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo mR3 = this::setOrient; mR4 = this::showEmpty; mPiP = new PiP(); + checkDanmakuImg(); setRecyclerView(); setVideoView(); setViewModel(); showProgress(); + showDanmaku(); checkId(); } @@ -318,6 +320,7 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo mBinding.control.right.back.setOnClickListener(view -> onFull()); mBinding.control.right.lock.setOnClickListener(view -> onLock()); mBinding.control.right.rotate.setOnClickListener(view -> onRotate()); + mBinding.control.danmaku.setOnClickListener(view -> onDanmakuShow()); mBinding.control.action.text.setOnClickListener(this::onTrack); mBinding.control.action.audio.setOnClickListener(this::onTrack); mBinding.control.action.video.setOnClickListener(this::onTrack); @@ -724,6 +727,12 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo hideControl(); } + private void onDanmakuShow() { + Setting.putDanmakuShow(!Setting.isDanmakuShow()); + checkDanmakuImg(); + showDanmaku(); + } + private void onLoop() { mBinding.control.action.loop.setActivated(!mBinding.control.action.loop.isActivated()); } @@ -905,7 +914,7 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo } private void showDanmaku() { - mBinding.danmaku.setVisibility(View.VISIBLE); + mBinding.danmaku.setVisibility(Setting.isDanmakuShow() ? View.VISIBLE : View.GONE); } private void hideDanmaku() { @@ -914,6 +923,7 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo private void showControl() { if (mPiP.isInMode(this)) return; + mBinding.control.danmaku.setVisibility(isLock() || !mPlayers.isDanmakuPrepared() ? View.GONE : View.VISIBLE); mBinding.control.setting.setVisibility(mHistory == null || isFullscreen() ? View.GONE : View.VISIBLE); mBinding.control.right.rotate.setVisibility(isFullscreen() && !isLock() ? View.VISIBLE : View.GONE); mBinding.control.keep.setVisibility(mHistory == null || isFullscreen() ? View.GONE : View.VISIBLE); @@ -1033,6 +1043,10 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo mBinding.control.right.lock.setImageResource(isLock() ? R.drawable.ic_control_lock_on : R.drawable.ic_control_lock_off); } + private void checkDanmakuImg() { + mBinding.control.danmaku.setImageResource(Setting.isDanmakuShow() ? R.drawable.ic_control_danmaku_on : R.drawable.ic_control_danmaku_off); + } + private void createKeep() { Keep keep = new Keep(); keep.setKey(getHistoryKey()); diff --git a/app/src/mobile/res/drawable/ic_control_danmaku_off.xml b/app/src/mobile/res/drawable/ic_control_danmaku_off.xml new file mode 100644 index 000000000..d53a8dc1b --- /dev/null +++ b/app/src/mobile/res/drawable/ic_control_danmaku_off.xml @@ -0,0 +1,13 @@ + + + + \ No newline at end of file diff --git a/app/src/mobile/res/drawable/ic_control_danmaku_on.xml b/app/src/mobile/res/drawable/ic_control_danmaku_on.xml new file mode 100644 index 000000000..05a81f11b --- /dev/null +++ b/app/src/mobile/res/drawable/ic_control_danmaku_on.xml @@ -0,0 +1,19 @@ + + + + + \ No newline at end of file diff --git a/app/src/mobile/res/layout/view_control_vod.xml b/app/src/mobile/res/layout/view_control_vod.xml index b74b0c591..746f42e1d 100644 --- a/app/src/mobile/res/layout/view_control_vod.xml +++ b/app/src/mobile/res/layout/view_control_vod.xml @@ -141,6 +141,25 @@ + + + + + +