From 2b8608df88a2ce9b0c959f684ba2ddfceeb06161 Mon Sep 17 00:00:00 2001 From: okjack Date: Tue, 11 Jun 2024 22:28:48 +0800 Subject: [PATCH] [mobile] display video title --- .../java/com/fongmi/android/tv/Setting.java | 8 +- app/src/main/res/values-zh-rCN/strings.xml | 2 +- app/src/main/res/values-zh-rTW/strings.xml | 2 +- app/src/main/res/values/strings.xml | 2 +- .../android/tv/ui/activity/LiveActivity.java | 3 + .../android/tv/ui/activity/VideoActivity.java | 7 +- .../android/tv/ui/dialog/ControlDialog.java | 9 ++ app/src/mobile/res/layout/dialog_control.xml | 101 ++++++++++-------- .../mobile/res/layout/view_control_vod.xml | 2 +- .../mobile/res/layout/view_widget_display.xml | 28 +++++ 10 files changed, 107 insertions(+), 57 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 8e3ed1b86..fd554ee01 100644 --- a/app/src/main/java/com/fongmi/android/tv/Setting.java +++ b/app/src/main/java/com/fongmi/android/tv/Setting.java @@ -374,12 +374,12 @@ public class Setting { Prefers.put("display_mini_progress", display); } - public static boolean isDisplayVideoInformation() { - return Prefers.getBoolean("display_video_information", false); + public static boolean isDisplayVideoTitle() { + return Prefers.getBoolean("display_video_title", false); } - public static void putDisplayVideoInformation(boolean display) { - Prefers.put("display_video_information", display); + public static void putDisplayVideoTitle(boolean display) { + Prefers.put("display_video_title", display); } public static float getPlaySpeed() { diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 14de542f2..cee97f5a7 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -40,7 +40,7 @@ 网速 进度 迷你进度 - 影片/频道 资料 + 标题 弹幕 屏显 倍速 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 3ffd8f077..9fc585bb3 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -40,7 +40,7 @@ 網速 進度 迷你進度 - 影片/頻道 資料 + 標題 彈幕 屏顯 倍速 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 5100bf57f..31d1d33e9 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -40,7 +40,7 @@ Net Speed Duration Mini Progress - Video/Channel Info + Title Danmu Display Speed diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java index 4758a4528..d8ee7ddc0 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java @@ -545,6 +545,7 @@ public class LiveActivity extends BaseActivity implements Clock.Callback, Custom mBinding.display.clock.setVisibility(Setting.isDisplayTime() && visible ? View.VISIBLE : View.GONE); mBinding.display.netspeed.setVisibility(Setting.isDisplaySpeed() && visible ? View.VISIBLE : View.GONE); mBinding.display.duration.setVisibility(View.GONE); + mBinding.display.titleLayout.setVisibility(Setting.isDisplayVideoTitle()&& visible ? View.VISIBLE : View.GONE); } private void onTimeChangeDisplaySpeed() { @@ -685,6 +686,7 @@ public class LiveActivity extends BaseActivity implements Clock.Callback, Custom mChannel.loadLogo(mBinding.widget.logo); mBinding.widget.name.setText(mChannel.getName()); mBinding.control.title.setText(mChannel.getName()); + mBinding.display.title.setText(mChannel.getName()); mBinding.widget.namePip.setText(mChannel.getName()); mBinding.widget.line.setText(mChannel.getLineText()); mBinding.widget.number.setText(mChannel.getNumber()); @@ -818,6 +820,7 @@ public class LiveActivity extends BaseActivity implements Clock.Callback, Custom setTrackVisible(true); checkPlayImg(mPlayers.isPlaying()); mBinding.control.size.setText(mPlayers.getSizeText()); + mBinding.display.size.setText(mPlayers.getSizeText()); if (isVisible(mBinding.control.getRoot())) showControl(); break; case Player.STATE_ENDED: 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 b8ab85b67..7b53bee91 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 @@ -583,6 +583,7 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo private void getPlayer(Flag flag, Episode episode, boolean replay) { mBinding.control.title.setText(getString(R.string.detail_title, mBinding.name.getText(), episode.getName())); + mBinding.display.title.setText(mBinding.control.title.getText()); mViewModel.playerContent(getKey(), flag.getFlag(), episode.getUrl()); getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); updateHistory(episode, replay); @@ -933,7 +934,8 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo mBinding.display.clock.setVisibility(Setting.isDisplayTime() && visible ? View.VISIBLE : View.GONE); mBinding.display.netspeed.setVisibility(Setting.isDisplaySpeed() && visible ? View.VISIBLE : View.GONE); mBinding.display.duration.setVisibility(Setting.isDisplayDuration() && visible ? View.VISIBLE : View.GONE); - mBinding.display.progress.setVisibility(Setting.isDisplayMiniProgress() && visible && (mPlayers.getDuration() > 60000) ? View.VISIBLE : View.GONE); + mBinding.display.progress.setVisibility(Setting.isDisplayMiniProgress() && visible && (mPlayers.isVod()) ? View.VISIBLE : View.GONE); + mBinding.display.titleLayout.setVisibility(Setting.isDisplayVideoTitle()&& visible ? View.VISIBLE : View.GONE); } private void onTimeChangeDisplaySpeed() { @@ -942,7 +944,7 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo long position = mPlayers.getPosition(); if (Setting.isDisplaySpeed() && visible) Traffic.setSpeed(mBinding.display.netspeed); if (Setting.isDisplayDuration() && visible && position > 0) mBinding.display.duration.setText(mPlayers.getPositionTime(0) + "/" + mPlayers.getDurationTime()); - if (Setting.isDisplayMiniProgress() && visible && position > 0 && (mPlayers.getDuration() > 60000)) mBinding.display.progress.setProgress((int)(position * 100 / mPlayers.getDuration())); + if (Setting.isDisplayMiniProgress() && visible && position > 0 && (mPlayers.isVod())) mBinding.display.progress.setProgress((int)(position * 100 / mPlayers.getDuration())); showDisplayInfo(); } @@ -1267,6 +1269,7 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo checkPlayImg(mPlayers.isPlaying()); mHistory.setPlayer(mPlayers.getPlayer()); mBinding.control.size.setText(mPlayers.getSizeText()); + mBinding.display.size.setText(mPlayers.getSizeText()); if (isVisible(mBinding.control.getRoot())) showControl(); break; case Player.STATE_ENDED: diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/ControlDialog.java b/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/ControlDialog.java index 7f4291a8a..f9ce852a6 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/ControlDialog.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/ControlDialog.java @@ -99,6 +99,7 @@ public class ControlDialog extends BaseDialog implements ParseAdapter.OnClickLis binding.dpspeed.setActivated(Setting.isDisplaySpeed()); binding.dpduration.setActivated(Setting.isDisplayDuration()); binding.dpminiprogress.setActivated(Setting.isDisplayMiniProgress()); + binding.dpvideotitle.setActivated(Setting.isDisplayVideoTitle()); setTrackVisible(); setScaleText(); setPlayer(); @@ -125,6 +126,7 @@ public class ControlDialog extends BaseDialog implements ParseAdapter.OnClickLis binding.dpspeed.setOnClickListener(v -> displaySpeed()); binding.dpduration.setOnClickListener(v -> displayDuration()); binding.dpminiprogress.setOnClickListener(v -> displayMiniProgress()); + binding.dpvideotitle.setOnClickListener(v -> displayVideoTitle()); } private void displayTime() { @@ -155,6 +157,13 @@ public class ControlDialog extends BaseDialog implements ParseAdapter.OnClickLis binding.dpminiprogress.setActivated(!display); } + private void displayVideoTitle() { + boolean display = Setting.isDisplayVideoTitle(); + parent.display.titleLayout.setVisibility(!display ? View.VISIBLE : View.GONE); + Setting.putDisplayVideoTitle(!display); + binding.dpvideotitle.setActivated(!display); + } + private void onTimer(View view) { App.post(() -> TimerDialog.create().show(activity), 200); dismiss(); diff --git a/app/src/mobile/res/layout/dialog_control.xml b/app/src/mobile/res/layout/dialog_control.xml index 262dc69aa..bfcaa7528 100644 --- a/app/src/mobile/res/layout/dialog_control.xml +++ b/app/src/mobile/res/layout/dialog_control.xml @@ -256,61 +256,68 @@ android:textColor="?android:attr/textColorPrimary" android:textSize="16sp" /> - - - + + android:orientation="horizontal"> - + - + - + - + - + + + + diff --git a/app/src/mobile/res/layout/view_widget_display.xml b/app/src/mobile/res/layout/view_widget_display.xml index 06b503fde..4f225ba60 100644 --- a/app/src/mobile/res/layout/view_widget_display.xml +++ b/app/src/mobile/res/layout/view_widget_display.xml @@ -4,6 +4,34 @@ android:layout_width="match_parent" android:layout_height="match_parent"> + + + + + + + +