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..302a70ca0 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,16 +269,16 @@ public class Setting { return Math.min(Math.max(Prefers.getInt("danmu_line", line), 1), 15); } - public static void putDanmuAlpha(int alpha) { - Prefers.put("danmu_alpha", alpha); + public static void putDanmuLine(int line) { + Prefers.put("danmu_line", line); } public static int getDanmuAlpha() { 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 void putDanmuAlpha(int alpha) { + Prefers.put("danmu_alpha", alpha); } public static boolean isCaption() { 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..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 @@ -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(); } 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); 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]);