From f0cb01a0b57e07299d9a480b7697c2465ed106bf Mon Sep 17 00:00:00 2001 From: FongMi Date: Mon, 2 Sep 2024 23:11:56 +0800 Subject: [PATCH] Optimize subtitle dialog --- .../fongmi/android/tv/ui/activity/CastActivity.java | 3 +++ .../fongmi/android/tv/ui/activity/LiveActivity.java | 13 +++++++++++++ .../android/tv/ui/activity/VideoActivity.java | 3 +++ app/src/leanback/res/layout/view_control_live.xml | 4 ++-- app/src/leanback/res/layout/view_control_vod.xml | 2 +- 5 files changed, 22 insertions(+), 3 deletions(-) diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/CastActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/CastActivity.java index 1f05d348c..361c853dc 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/CastActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/CastActivity.java @@ -96,6 +96,8 @@ public class CastActivity extends BaseActivity implements CustomKeyDownCast.List mBinding.control.seek.setListener(mPlayers); mBinding.control.speed.setUpListener(this::onSpeedAdd); mBinding.control.speed.setDownListener(this::onSpeedSub); + mBinding.control.text.setUpListener(this::onSubtitleClick); + mBinding.control.text.setDownListener(this::onSubtitleClick); mBinding.control.text.setOnClickListener(this::onTrack); mBinding.control.audio.setOnClickListener(this::onTrack); mBinding.control.video.setOnClickListener(this::onTrack); @@ -372,6 +374,7 @@ public class CastActivity extends BaseActivity implements CustomKeyDownCast.List @Override public void onSubtitleClick() { + App.post(this::hideControl, 200); App.post(() -> SubtitleDialog.create().view(mBinding.exo.getSubtitleView()).show(this), 200); } diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java index 62e394484..c11420ade 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java @@ -147,6 +147,10 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick mBinding.control.text.setOnClickListener(this::onTrack); mBinding.control.audio.setOnClickListener(this::onTrack); mBinding.control.video.setOnClickListener(this::onTrack); + mBinding.control.speed.setUpListener(this::onSpeedAdd); + mBinding.control.speed.setDownListener(this::onSpeedSub); + mBinding.control.text.setUpListener(this::onSubtitleClick); + mBinding.control.text.setDownListener(this::onSubtitleClick); mBinding.control.home.setOnClickListener(view -> onHome()); mBinding.control.line.setOnClickListener(view -> onLine()); mBinding.control.scale.setOnClickListener(view -> onScale()); @@ -346,6 +350,14 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick mBinding.control.speed.setText(mPlayers.addSpeed()); } + private void onSpeedAdd() { + mBinding.control.speed.setText(mPlayers.addSpeed(0.25f)); + } + + private void onSpeedSub() { + mBinding.control.speed.setText(mPlayers.subSpeed(0.25f)); + } + private boolean onSpeedLong() { mBinding.control.speed.setText(mPlayers.toggleSpeed()); return true; @@ -634,6 +646,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick @Override public void onSubtitleClick() { + App.post(this::hideControl, 200); App.post(() -> SubtitleDialog.create().view(mBinding.exo.getSubtitleView()).show(this), 200); } 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 e30ee4572..b0f7165fb 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 @@ -309,6 +309,8 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List mBinding.control.ending.setDownListener(this::onEndingSub); mBinding.control.opening.setUpListener(this::onOpeningAdd); mBinding.control.opening.setDownListener(this::onOpeningSub); + mBinding.control.text.setUpListener(this::onSubtitleClick); + mBinding.control.text.setDownListener(this::onSubtitleClick); mBinding.control.loop.setOnClickListener(view -> onLoop()); mBinding.control.next.setOnClickListener(view -> checkNext()); mBinding.control.prev.setOnClickListener(view -> checkPrev()); @@ -1018,6 +1020,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List @Override public void onSubtitleClick() { + App.post(this::hideControl, 200); App.post(() -> SubtitleDialog.create().view(mBinding.exo.getSubtitleView()).show(this), 200); } diff --git a/app/src/leanback/res/layout/view_control_live.xml b/app/src/leanback/res/layout/view_control_live.xml index 24ee27a64..fd8947d81 100644 --- a/app/src/leanback/res/layout/view_control_live.xml +++ b/app/src/leanback/res/layout/view_control_live.xml @@ -42,7 +42,7 @@ android:textSize="14sp" tools:text="硬解" /> - - -