From d269601486f64450c9153a6eb99ad91e06ec29be Mon Sep 17 00:00:00 2001 From: FongMi Date: Wed, 17 Jan 2024 17:04:32 +0800 Subject: [PATCH 1/4] Clean code --- .../tv/ui/activity/SettingPlayerActivity.java | 11 +++++------ .../android/tv/ui/activity/VideoActivity.java | 7 +++---- .../main/java/com/fongmi/android/tv/Setting.java | 10 +++++----- .../android/tv/ui/activity/VideoActivity.java | 9 ++++----- .../tv/ui/fragment/SettingPlayerFragment.java | 16 ++++++++-------- 5 files changed, 25 insertions(+), 28 deletions(-) diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingPlayerActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingPlayerActivity.java index d9461e70e..9b7dd56be 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingPlayerActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingPlayerActivity.java @@ -202,12 +202,6 @@ public class SettingPlayerActivity extends BaseActivity implements UaCallback, B Setting.putDanmuLine(line); } - public void setDanmuSpeed(View view) { - int index = Setting.getDanmuSpeed(); - Setting.putDanmuSpeed(index = index == danmuSpeed.length - 1 ? 0 : ++index); - mBinding.danmuSpeedText.setText(danmuSpeed[index]); - } - public void onDanmuAlpha(View view) { DanmuAlphaDialog.create(this).show(); } @@ -218,4 +212,9 @@ public class SettingPlayerActivity extends BaseActivity implements UaCallback, B Setting.putDanmuAlpha(alpha); } + public void setDanmuSpeed(View view) { + int index = Setting.getDanmuSpeed(); + Setting.putDanmuSpeed(index = index == danmuSpeed.length - 1 ? 0 : ++index); + mBinding.danmuSpeedText.setText(danmuSpeed[index]); + } } 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 5d07a3fb7..e85bc5897 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 @@ -415,16 +415,15 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List private void setDanmuView() { int maxLine = Setting.getDanmuLine(3); - float alpha = ((float) Setting.getDanmuAlpha()) / 100.0f; mPlayers.setDanmuView(mBinding.danmaku); + float alpha = Setting.getDanmuAlpha() / 100.0f; + float speed = 1.6f - Setting.getDanmuSpeed() * 0.2f; HashMap maxLines = new HashMap<>(); - float scrollSpeedFactor = 1.6f - (Setting.getDanmuSpeed() * 0.2f); - scrollSpeedFactor = scrollSpeedFactor < 0 ? 1.2f : scrollSpeedFactor; maxLines.put(BaseDanmaku.TYPE_FIX_TOP, maxLine); maxLines.put(BaseDanmaku.TYPE_SCROLL_RL, maxLine); maxLines.put(BaseDanmaku.TYPE_SCROLL_LR, maxLine); maxLines.put(BaseDanmaku.TYPE_FIX_BOTTOM, maxLine); - mDanmakuContext.setDanmakuStyle(IDisplayer.DANMAKU_STYLE_STROKEN, 3).setMaximumLines(maxLines).setScrollSpeedFactor(scrollSpeedFactor).setDanmakuTransparency(alpha).setDanmakuMargin(12).setScaleTextSize(0.8f); + mDanmakuContext.setDanmakuStyle(IDisplayer.DANMAKU_STYLE_STROKEN, 3).setMaximumLines(maxLines).setScrollSpeedFactor(speed).setDanmakuTransparency(alpha).setDanmakuMargin(12).setScaleTextSize(0.8f); mBinding.control.danmu.setActivated(Setting.isDanmu()); } 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 546dac0fc..f1766e6af 100644 --- a/app/src/main/java/com/fongmi/android/tv/Setting.java +++ b/app/src/main/java/com/fongmi/android/tv/Setting.java @@ -258,7 +258,7 @@ public class Setting { } public static float getDanmuSize() { - return Math.min(Math.max(Prefers.getFloat("danmu_size", 1.0f), 0.5f), 2.0f); + return Math.min(Math.max(Prefers.getFloat("danmu_size", 1.0f), 0.6f), 2.0f); } public static void putDanmuSize(float size) { @@ -269,6 +269,10 @@ public class Setting { return Math.min(Math.max(Prefers.getInt("danmu_line", line), 1), 15); } + public static void putDanmuLine(int line) { + Prefers.put("danmu_line", line); + } + public static void putDanmuAlpha(int alpha) { Prefers.put("danmu_alpha", alpha); } @@ -277,10 +281,6 @@ public class Setting { return Math.min(Math.max(Prefers.getInt("danmu_alpha", 90), 10), 100); } - public static void putDanmuLine(int line) { - Prefers.put("danmu_line", line); - } - public static boolean isCaption() { return Prefers.getBoolean("caption"); } 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 e5f769874..41347e005 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 @@ -413,16 +413,15 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo private void setDanmuView() { int maxLine = Setting.getDanmuLine(2); - float alpha = ((float) Setting.getDanmuAlpha()) / 100.0f; mPlayers.setDanmuView(mBinding.danmaku); + float alpha = Setting.getDanmuAlpha() / 100.0f; + float speed = 1.6f - Setting.getDanmuSpeed() * 0.2f; HashMap maxLines = new HashMap<>(); - float scrollSpeedFactor = 1.6f - (Setting.getDanmuSpeed() * 0.2f); - scrollSpeedFactor = scrollSpeedFactor < 0 ? 1.2f : scrollSpeedFactor; maxLines.put(BaseDanmaku.TYPE_FIX_TOP, maxLine); maxLines.put(BaseDanmaku.TYPE_SCROLL_RL, maxLine); maxLines.put(BaseDanmaku.TYPE_SCROLL_LR, maxLine); maxLines.put(BaseDanmaku.TYPE_FIX_BOTTOM, maxLine); - mDanmakuContext.setDanmakuStyle(IDisplayer.DANMAKU_STYLE_STROKEN, 3).setMaximumLines(maxLines).setScrollSpeedFactor(scrollSpeedFactor).setDanmakuTransparency(alpha).setDanmakuMargin(8).setScaleTextSize(0.8f); + mDanmakuContext.setDanmakuStyle(IDisplayer.DANMAKU_STYLE_STROKEN, 3).setMaximumLines(maxLines).setScrollSpeedFactor(speed).setDanmakuTransparency(alpha).setDanmakuMargin(8).setScaleTextSize(0.8f); checkDanmuImg(); } @@ -928,7 +927,7 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo App.post(() -> mBinding.video.setLayoutParams(new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.MATCH_PARENT)), 50); setRequestedOrientation(mPlayers.isPortrait() ? ActivityInfo.SCREEN_ORIENTATION_USER_PORTRAIT : ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE); mBinding.control.full.setVisibility(View.GONE); - mDanmakuContext.setScaleTextSize(1.0f); + mDanmakuContext.setScaleTextSize(0.8f); setRotate(mPlayers.isPortrait(), true); setSubtitle(Setting.getSubtitle()); Util.hideSystemUI(this); diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/SettingPlayerFragment.java b/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/SettingPlayerFragment.java index f40deedc7..f94a78103 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/SettingPlayerFragment.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/SettingPlayerFragment.java @@ -202,14 +202,6 @@ public class SettingPlayerFragment extends BaseFragment implements UaCallback, B Setting.putDanmuLine(line); } - public void onDanmuSpeed(View view) { - new MaterialAlertDialogBuilder(getActivity()).setTitle(R.string.player_danmu_speed).setNegativeButton(R.string.dialog_negative, null).setSingleChoiceItems(danmuSpeed, Setting.getDanmuSpeed(), (dialog, which) -> { - mBinding.danmuSpeedText.setText(danmuSpeed[which]); - Setting.putDanmuSpeed(which); - dialog.dismiss(); - }).show(); - } - public void onDanmuAlpha(View view) { DanmuAlphaDialog.create(this).show(); } @@ -220,6 +212,14 @@ public class SettingPlayerFragment extends BaseFragment implements UaCallback, B Setting.putDanmuAlpha(alpha); } + public void onDanmuSpeed(View view) { + new MaterialAlertDialogBuilder(getActivity()).setTitle(R.string.player_danmu_speed).setNegativeButton(R.string.dialog_negative, null).setSingleChoiceItems(danmuSpeed, Setting.getDanmuSpeed(), (dialog, which) -> { + mBinding.danmuSpeedText.setText(danmuSpeed[which]); + Setting.putDanmuSpeed(which); + dialog.dismiss(); + }).show(); + } + private void onBackground(View view) { new MaterialAlertDialogBuilder(getActivity()).setTitle(R.string.player_background).setNegativeButton(R.string.dialog_negative, null).setSingleChoiceItems(background, Setting.getBackground(), (dialog, which) -> { mBinding.backgroundText.setText(background[which]); From 8e7b19bc27a140ab60a5083c727a10efbe0e73c5 Mon Sep 17 00:00:00 2001 From: FongMi Date: Wed, 17 Jan 2024 17:05:10 +0800 Subject: [PATCH 2/4] Clean code --- app/src/main/java/com/fongmi/android/tv/Setting.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) 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 f1766e6af..302a70ca0 100644 --- a/app/src/main/java/com/fongmi/android/tv/Setting.java +++ b/app/src/main/java/com/fongmi/android/tv/Setting.java @@ -273,14 +273,14 @@ public class Setting { Prefers.put("danmu_line", line); } - public static void putDanmuAlpha(int alpha) { - Prefers.put("danmu_alpha", alpha); - } - public static int getDanmuAlpha() { return Math.min(Math.max(Prefers.getInt("danmu_alpha", 90), 10), 100); } + public static void putDanmuAlpha(int alpha) { + Prefers.put("danmu_alpha", alpha); + } + public static boolean isCaption() { return Prefers.getBoolean("caption"); } From 1ac2343c670d60dc31da5f271e32babbc4c9c805 Mon Sep 17 00:00:00 2001 From: FongMi Date: Wed, 17 Jan 2024 17:16:37 +0800 Subject: [PATCH 3/4] Update VideoActivity.java --- .../java/com/fongmi/android/tv/ui/activity/VideoActivity.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 41347e005..23e9d4612 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 @@ -927,7 +927,7 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo App.post(() -> mBinding.video.setLayoutParams(new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.MATCH_PARENT)), 50); setRequestedOrientation(mPlayers.isPortrait() ? ActivityInfo.SCREEN_ORIENTATION_USER_PORTRAIT : ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE); mBinding.control.full.setVisibility(View.GONE); - mDanmakuContext.setScaleTextSize(0.8f); + mDanmakuContext.setScaleTextSize(1.0f); setRotate(mPlayers.isPortrait(), true); setSubtitle(Setting.getSubtitle()); Util.hideSystemUI(this); From 00d8bfe7b316a91a6405d98ae1f6cacc8878caec Mon Sep 17 00:00:00 2001 From: FongMi Date: Wed, 17 Jan 2024 17:58:00 +0800 Subject: [PATCH 4/4] Fix info crash --- .../mobile/java/com/fongmi/android/tv/ui/dialog/InfoDialog.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/InfoDialog.java b/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/InfoDialog.java index b24555468..9db717951 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/InfoDialog.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/InfoDialog.java @@ -72,7 +72,7 @@ public class InfoDialog { binding.url.setText(url); binding.title.setText(title); binding.header.setText(header); - binding.vid.setText("Vid : ".concat(vid)); + if (!TextUtils.isEmpty(vid)) binding.vid.setText("id : ".concat(vid)); binding.vid.setVisibility(TextUtils.isEmpty(vid) ? View.GONE : View.VISIBLE); binding.url.setVisibility(TextUtils.isEmpty(url) ? View.GONE : View.VISIBLE); binding.header.setVisibility(TextUtils.isEmpty(header) ? View.GONE : View.VISIBLE);