[leanback] display video title

pull/501/head
okjack 2 years ago
parent 2b8608df88
commit 62b2bf7890
  1. 5
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java
  2. 12
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java
  3. 10
      app/src/leanback/java/com/fongmi/android/tv/ui/adapter/DisplayAdapter.java
  4. 40
      app/src/leanback/res/layout/view_widget_display.xml

@ -489,7 +489,6 @@ public class LiveActivity extends BaseActivity implements Clock.Callback, GroupP
private void hideControl() {
mBinding.control.getRoot().setVisibility(View.GONE);
mBinding.widget.top.setVisibility(Setting.isDisplayVideoInformation() ? View.VISIBLE : View.GONE);
App.removeCallbacks(mR1);
}
@ -499,7 +498,7 @@ public class LiveActivity extends BaseActivity implements Clock.Callback, GroupP
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.widget.top.setVisibility(Setting.isDisplayVideoInformation() && visible ? View.VISIBLE : View.GONE);
mBinding.display.titleLayout.setVisibility(Setting.isDisplayVideoTitle() && visible ? View.VISIBLE : View.GONE);
}
private void onTimeChangeDisplaySpeed() {
@ -644,6 +643,7 @@ public class LiveActivity extends BaseActivity implements Clock.Callback, GroupP
mChannel.loadLogo(mBinding.widget.logo);
mBinding.widget.name.setText(mChannel.getName());
mBinding.widget.title.setText(mChannel.getName());
mBinding.display.title.setText(mChannel.getName());
mBinding.widget.line.setText(mChannel.getLineText());
mBinding.widget.number.setText(mChannel.getNumber());
mBinding.control.line.setText(mChannel.getLineText());
@ -756,6 +756,7 @@ public class LiveActivity extends BaseActivity implements Clock.Callback, GroupP
mPlayers.reset();
setTrackVisible(true);
mBinding.widget.size.setText(mPlayers.getSizeText());
mBinding.display.size.setText(mPlayers.getSizeText());
break;
case Player.STATE_ENDED:
nextEpg();

@ -539,6 +539,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List
private void getPlayer(Flag flag, Episode episode, boolean replay) {
mBinding.widget.title.setText(getString(R.string.detail_title, mBinding.name.getText(), episode.getName()));
mBinding.display.title.setText(mBinding.widget.title.getText());
mViewModel.playerContent(getKey(), flag.getFlag(), episode.getUrl());
updateHistory(episode, replay);
mPlayers.clear();
@ -793,8 +794,8 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List
mBinding.display.clock.setVisibility(Setting.isDisplayTime() || isVisible(mBinding.widget.info) ? View.VISIBLE : View.GONE);
mBinding.display.netspeed.setVisibility(Setting.isDisplaySpeed() && !isVisible(mBinding.control.getRoot()) ? View.VISIBLE : View.GONE);
mBinding.display.duration.setVisibility(Setting.isDisplayDuration() && !isVisible(mBinding.control.getRoot()) ? View.VISIBLE : View.GONE);
mBinding.display.progress.setVisibility(Setting.isDisplayMiniProgress() && !isVisible(mBinding.control.getRoot()) && (mPlayers.getDuration() > 60000) ? View.VISIBLE : View.GONE);
mBinding.widget.info.setVisibility(Setting.isDisplayVideoInformation() || isVisible(mBinding.widget.info) ? View.VISIBLE : View.GONE);
mBinding.display.progress.setVisibility(Setting.isDisplayMiniProgress() && !isVisible(mBinding.control.getRoot()) && (mPlayers.isVod()) ? View.VISIBLE : View.GONE);
mBinding.display.titleLayout.setVisibility(Setting.isDisplayVideoTitle() && !isVisible(mBinding.control.getRoot()) ? View.VISIBLE : View.GONE);
}
private void onTimeChangeDisplaySpeed() {
@ -802,7 +803,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List
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();
}
@ -1114,7 +1115,6 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List
}
private void hideInfo() {
mBinding.widget.info.setVisibility(Setting.isDisplayVideoInformation() ? View.VISIBLE : View.GONE);
showDisplayInfo();
}
@ -1372,6 +1372,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List
setTrackVisible(true);
mHistory.setPlayer(mPlayers.getPlayer());
mBinding.widget.size.setText(mPlayers.getSizeText());
mBinding.display.size.setText(mPlayers.getSizeText());
break;
case Player.STATE_ENDED:
checkEnded();
@ -1557,8 +1558,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List
mBinding.widget.exoDuration.setText(mPlayers.getDurationTime());
mBinding.widget.exoPosition.setText(mPlayers.getPositionTime(0));
if (visible) showInfoAndCenter();
else if (Setting.isDisplayVideoInformation() == false)
hideInfoAndCenter();
else hideInfoAndCenter();
mPlayers.pause();
}

@ -26,7 +26,7 @@ public class DisplayAdapter extends RecyclerView.Adapter<DisplayAdapter.ViewHold
mItems.add(ResUtil.getString(R.string.play_netspeed));
mItems.add(ResUtil.getString(R.string.play_duration));
mItems.add(ResUtil.getString(R.string.play_mini_progress));
mItems.add(ResUtil.getString(R.string.play_video_information));
mItems.add(ResUtil.getString(R.string.play_video_title));
}
@Override
@ -55,7 +55,7 @@ public class DisplayAdapter extends RecyclerView.Adapter<DisplayAdapter.ViewHold
else if (position == 1) return Setting.isDisplaySpeed();
else if (position == 2) return Setting.isDisplayDuration();
else if (position == 3) return Setting.isDisplayMiniProgress();
else if (position == 4) return Setting.isDisplayVideoInformation();
else if (position == 4) return Setting.isDisplayVideoTitle();
return false;
}
@ -64,7 +64,7 @@ public class DisplayAdapter extends RecyclerView.Adapter<DisplayAdapter.ViewHold
else if (position == 1) Setting.putDisplaySpeed(!Setting.isDisplaySpeed());
else if (position == 2) Setting.putDisplayDuration(!Setting.isDisplayDuration());
else if (position == 3) Setting.putDisplayMiniProgress(!Setting.isDisplayMiniProgress());
else if (position == 4) Setting.putDisplayVideoInformation(!Setting.isDisplayVideoInformation());
else if (position == 4) Setting.putDisplayVideoTitle(!Setting.isDisplayVideoTitle());
notifyItemRangeChanged(0, getItemCount());
}
@ -74,12 +74,12 @@ public class DisplayAdapter extends RecyclerView.Adapter<DisplayAdapter.ViewHold
else if (position == 1) checked = Setting.isDisplaySpeed();
else if (position == 2) checked = Setting.isDisplayDuration();
else if (position == 3) checked = Setting.isDisplayMiniProgress();
else if (position == 4) checked = Setting.isDisplayVideoInformation();
else if (position == 4) checked = Setting.isDisplayVideoTitle();
Setting.putDisplayTime(!checked);
Setting.putDisplaySpeed(!checked);
Setting.putDisplayDuration(!checked);
Setting.putDisplayMiniProgress(!checked);
Setting.putDisplayVideoInformation(!checked);
Setting.putDisplayVideoTitle(!checked);
notifyItemRangeChanged(0, getItemCount());
return true;
}

@ -4,6 +4,46 @@
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/titleLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_marginTop="16dp"
android:layout_marginStart="16dp"
android:orientation="vertical"
android:visibility="invisible"
tools:visibility="visible">
<TextView
android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginEnd="100dp"
android:letterSpacing="0.02"
android:shadowColor="@color/grey_900"
android:shadowDx="2"
android:shadowDy="2"
android:shadowRadius="1"
android:singleLine="true"
android:textColor="@color/white"
android:textSize="20sp"
tools:text="慶餘年第一季:第一集" />
<TextView
android:id="@+id/size"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:shadowColor="@color/grey_900"
android:shadowDx="2"
android:shadowDy="2"
android:shadowRadius="1"
android:textColor="@color/white"
android:textSize="16sp"
tools:text="1920 x 1080" />
</LinearLayout>
<TextView
android:id="@+id/clock"
android:layout_width="wrap_content"

Loading…
Cancel
Save