Merge pull request #247 from okcaptain/dev

update
pull/252/head
okcaptain 2 years ago committed by GitHub
commit 98ca3f7a1a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 2
      app/build.gradle
  2. 10
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java
  3. 17
      app/src/main/java/com/fongmi/android/tv/Setting.java
  4. 2
      app/src/main/res/values-zh-rCN/strings.xml
  5. 2
      app/src/main/res/values-zh-rTW/strings.xml
  6. 2
      app/src/main/res/values/strings.xml
  7. 22
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java
  8. 19
      app/src/mobile/java/com/fongmi/android/tv/ui/dialog/ControlDialog.java
  9. 7
      app/src/mobile/res/layout/activity_video.xml
  10. 36
      app/src/mobile/res/layout/dialog_control.xml
  11. 29
      app/src/mobile/res/layout/view_widget_display.xml
  12. 1
      app/src/mobile/res/values-zh-rCN/strings.xml
  13. 1
      app/src/mobile/res/values-zh-rTW/strings.xml
  14. 1
      app/src/mobile/res/values/strings.xml

@ -11,7 +11,7 @@ android {
minSdk 21
targetSdk 28
versionCode 223
versionName "0122"
versionName "0123"
javaCompileOptions {
annotationProcessorOptions {
arguments = ["room.schemaLocation": "$projectDir/schemas".toString()]

@ -639,7 +639,10 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List
mBinding.episodeVert.setNumColumns(numColumns);
mBinding.episodeVert.setColumnWidth((width - ((numColumns - 1) * ResUtil.dp2px(8))) / numColumns);
mBinding.episodeVert.setLayoutParams(params);
mBinding.episodeVert.setWindowAlignmentOffsetPercent(6);
mBinding.episodeVert.setWindowAlignment(BaseGridView.WINDOW_ALIGN_LOW_EDGE);
mBinding.episodeVert.setWindowAlignmentOffset(0);
mBinding.episodeVert.setWindowAlignmentOffsetPercent(0f);
mBinding.episodeVert.setItemAlignmentOffsetPercent(0f);
mEpisodePresenter.setNumColumns(numColumns);
mEpisodePresenter.setNumRows(rowNum);
}
@ -1536,11 +1539,6 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if (!isFullscreen() && KeyUtil.isBackKey(event) && getFocus1() != mBinding.video) {
mBinding.video.requestFocus();
mFocus1 = null;
return true;
}
if (isFullscreen() && KeyUtil.isMenuKey(event)) onToggle();
if (isVisible(mBinding.control.getRoot())) setR1Callback();
if (isVisible(mBinding.control.getRoot())) mFocus2 = getCurrentFocus();

@ -332,4 +332,21 @@ public class Setting {
public static boolean hasCaption() {
return new Intent(Settings.ACTION_CAPTIONING_SETTINGS).resolveActivity(App.get().getPackageManager()) != null;
}
public static boolean isDisplayTime() {
return Prefers.getBoolean("display_time", false);
}
public static void putDisplayTime(boolean display) {
Prefers.put("display_time", display);
}
public static boolean isDisplaySpeed() {
return Prefers.getBoolean("display_speed", false);
}
public static void putDisplaySpeed(boolean display) {
Prefers.put("display_speed", display);
}
}

@ -35,6 +35,8 @@
<string name="play_prev">上集</string>
<string name="play_loop">循环</string>
<string name="play_timer">定时</string>
<string name="play_time">时间</string>
<string name="play_netspeed">网速</string>
<string name="play_danmu">弹幕</string>
<string name="play_change">换源</string>
<string name="play_forward"></string>

@ -35,6 +35,8 @@
<string name="play_prev">上集</string>
<string name="play_loop">循環</string>
<string name="play_timer">定時</string>
<string name="play_time">时间</string>
<string name="play_netspeed">网速</string>
<string name="play_danmu">彈幕</string>
<string name="play_change">換源</string>
<string name="play_forward"></string>

@ -35,6 +35,8 @@
<string name="play_prev">Prev</string>
<string name="play_loop">Loop</string>
<string name="play_timer">Timer</string>
<string name="play_time">Time</string>
<string name="play_netspeed">Net Speed</string>
<string name="play_danmu">Danmu</string>
<string name="play_change">Change</string>
<string name="play_forward"></string>

@ -308,7 +308,7 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo
mObserveSearch = this::setSearch;
mDialogs = new ArrayList<>();
mBroken = new ArrayList<>();
mClock = Clock.create();
mClock = Clock.create(mBinding.display.time);
mR0 = this::stopService;
mR1 = this::hideControl;
mR2 = this::setTraffic;
@ -318,6 +318,7 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo
setForeground(true);
setRecyclerView();
setVideoView();
setDisplayView();
setDanmuView();
setViewModel();
showProgress();
@ -427,6 +428,11 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo
checkDanmuImg();
}
private void setDisplayView() {
mBinding.display.getRoot().setVisibility(View.VISIBLE);
showDisplayInfo();
}
@Override
public void setSubtitle(int size) {
getExo().getSubtitleView().setFixedTextSize(Dimension.SP, size);
@ -919,6 +925,17 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo
else onRefresh();
}
private void showDisplayInfo() {
boolean controlVisible = isVisible(mBinding.control.getRoot());
boolean visible = (!controlVisible || isLock());
mBinding.display.time.setVisibility(Setting.isDisplayTime() && visible ? View.VISIBLE : View.GONE);
mBinding.display.netspeed.setVisibility(Setting.isDisplaySpeed() && visible ? View.VISIBLE : View.GONE);
}
private void onTimeChangeDisplaySpeed() {
if (Setting.isDisplaySpeed() && (!isVisible(mBinding.control.getRoot()) || isLock())) Traffic.setSpeed(mBinding.display.netspeed);
}
private void toggleFullscreen() {
if (isFullscreen()) exitFullscreen();
else enterFullscreen();
@ -1007,6 +1024,7 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo
mBinding.control.bottom.setVisibility(isLock() ? View.GONE : View.VISIBLE);
mBinding.control.top.setVisibility(isLock() ? View.GONE : View.VISIBLE);
mBinding.control.getRoot().setVisibility(View.VISIBLE);
showDisplayInfo();
checkPlayImg(mPlayers.isPlaying());
setR1Callback();
}
@ -1014,6 +1032,7 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo
private void hideControl() {
mBinding.control.getRoot().setVisibility(View.GONE);
App.removeCallbacks(mR1);
showDisplayInfo();
}
private void hideSheet() {
@ -1154,6 +1173,7 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo
@Override
public void onTimeChanged() {
onTimeChangeDisplaySpeed();
long position, duration;
mHistory.setPosition(position = mPlayers.getPosition());
mHistory.setDuration(duration = mPlayers.getDuration());

@ -13,6 +13,7 @@ import androidx.viewbinding.ViewBinding;
import com.fongmi.android.tv.App;
import com.fongmi.android.tv.R;
import com.fongmi.android.tv.Setting;
import com.fongmi.android.tv.bean.History;
import com.fongmi.android.tv.bean.Parse;
import com.fongmi.android.tv.databinding.ActivityVideoBinding;
@ -95,6 +96,8 @@ public class ControlDialog extends BaseDialog implements ParseAdapter.OnClickLis
binding.opening.setText(parent.control.action.opening.getText());
binding.loop.setActivated(parent.control.action.loop.isActivated());
binding.timer.setActivated(Timer.get().isRunning());
binding.dptime.setActivated(Setting.isDisplayTime());
binding.dpspeed.setActivated(Setting.isDisplaySpeed());
setTrackVisible();
setScaleText();
setParse();
@ -116,6 +119,22 @@ public class ControlDialog extends BaseDialog implements ParseAdapter.OnClickLis
binding.player.setOnLongClickListener(v -> longClick(binding.player, parent.control.action.player));
binding.ending.setOnLongClickListener(v -> longClick(binding.ending, parent.control.action.ending));
binding.opening.setOnLongClickListener(v -> longClick(binding.opening, parent.control.action.opening));
binding.dptime.setOnClickListener(v -> displayTime());
binding.dpspeed.setOnClickListener(v -> displaySpeed());
}
private void displayTime() {
boolean display = Setting.isDisplayTime();
parent.display.time.setVisibility(!display ? View.VISIBLE : View.GONE);
Setting.putDisplayTime(!display);
binding.dptime.setActivated(!display);
}
private void displaySpeed() {
boolean display = Setting.isDisplaySpeed();
parent.display.netspeed.setVisibility(!display ? View.VISIBLE : View.GONE);
Setting.putDisplaySpeed(!display);
binding.dpspeed.setActivated(!display);
}
private void onTimer(View view) {

@ -56,6 +56,13 @@
android:layout_height="match_parent"
android:visibility="gone" />
<include
android:id="@+id/display"
layout="@layout/view_widget_display"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone" />
</FrameLayout>
<include

@ -243,6 +243,42 @@
</LinearLayout>
<TextView
android:id="@+id/display"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:layout_marginBottom="8dp"
android:text="@string/control_display"
android:textColor="?android:attr/textColorPrimary"
android:textSize="16sp" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/dptime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:background="@drawable/shape_accent"
android:text="@string/play_time"
android:textColor="@color/control"
android:textSize="14sp" />
<TextView
android:id="@+id/dpspeed"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/shape_accent"
android:text="@string/play_netspeed"
android:textColor="@color/control"
android:textSize="14sp" />
</LinearLayout>
<TextView
android:id="@+id/other"
android:layout_width="wrap_content"

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:padding="8dp"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/time"
android:padding="8dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:textColor="@color/white"
android:textSize="14sp"
tools:text="00:00:00"/>
<TextView
android:id="@+id/netspeed"
android:padding="8dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:textColor="@color/white"
android:textSize="12sp"
tools:text="10MB/S"/>
</RelativeLayout>

@ -30,6 +30,7 @@
<string name="control_scale">缩放</string>
<string name="control_track">轨道</string>
<string name="control_other">其它</string>
<string name="control_display">屏显</string>
<!-- Dialog -->
<string name="dialog_delete_record">删除全部纪录?</string>

@ -30,6 +30,7 @@
<string name="control_scale">縮放</string>
<string name="control_track">軌道</string>
<string name="control_other">其它</string>
<string name="control_display">熒幕顯示</string>
<!-- Dialog -->
<string name="dialog_delete_record">刪除全部紀錄?</string>

@ -30,6 +30,7 @@
<string name="control_scale">Scale</string>
<string name="control_track">Track</string>
<string name="control_other">Other</string>
<string name="control_display">Display</string>
<!-- Dialog -->
<string name="dialog_delete_record">Delete all records?</string>

Loading…
Cancel
Save