diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java index 9dae69ea6..0dbd46051 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java @@ -454,7 +454,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick private void showControl(View view) { mBinding.control.getRoot().setVisibility(View.VISIBLE); - mBinding.widget.info.setVisibility(View.VISIBLE); + mBinding.widget.top.setVisibility(View.VISIBLE); App.post(view::requestFocus, 25); setR1Callback(); hideInfo(); @@ -462,7 +462,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick private void hideControl() { mBinding.control.getRoot().setVisibility(View.GONE); - mBinding.widget.info.setVisibility(View.GONE); + mBinding.widget.top.setVisibility(View.GONE); App.removeCallbacks(mR1); } @@ -560,8 +560,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick if (item.isSelected()) { fetch(item); } else if (mChannel.hasCatchup()) { - mBinding.widget.epg.setVisibility(item.isInRange() ? View.GONE : View.VISIBLE); - mBinding.widget.epg.setText(item.isInRange() ? "" : item.getTitle()); + mBinding.widget.title.setText(getString(R.string.detail_title, mChannel.getName(), item.getTitle())); Notify.show(getString(R.string.play_ready, item.getTitle())); setActivated(item); fetch(item); @@ -595,7 +594,6 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick mBinding.widget.play.setText(""); mChannel.loadLogo(mBinding.widget.logo); mBinding.widget.title.setSelected(true); - mBinding.widget.epg.setVisibility(View.GONE); mBinding.widget.name.setText(mChannel.getName()); mBinding.widget.title.setText(mChannel.getName()); mBinding.widget.line.setText(mChannel.getLineText()); @@ -606,10 +604,12 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick } private void setEpg() { - String epg = mChannel.getData().getEpg(); - if (!epg.isEmpty()) mBinding.widget.name.setMaxEms(12); + EpgData data = mChannel.getData().getEpgData(); + boolean hasTitle = !data.getTitle().isEmpty(); mEpgDataAdapter.setItems(mChannel.getData().getList(), null); - mBinding.widget.play.setText(epg); + if (hasTitle) mBinding.widget.title.setText(getString(R.string.detail_title, mChannel.getName(), data.getTitle())); + mBinding.widget.name.setMaxEms(hasTitle ? 12 : 48); + mBinding.widget.play.setText(data.format()); setWidth(mChannel.getData()); setMetadata(); } 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 324512106..0de3779c8 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 @@ -881,14 +881,14 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List } private void showInfo() { - mBinding.widget.info.setVisibility(View.VISIBLE); + mBinding.widget.top.setVisibility(View.VISIBLE); mBinding.widget.center.setVisibility(View.VISIBLE); mBinding.widget.exoDuration.setText(mPlayers.getDurationTime()); mBinding.widget.exoPosition.setText(mPlayers.getPositionTime(0)); } private void hideInfo() { - mBinding.widget.info.setVisibility(View.GONE); + mBinding.widget.top.setVisibility(View.GONE); mBinding.widget.center.setVisibility(View.GONE); } diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomLiveListView.java b/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomLiveListView.java index 6eabf7955..d270b951d 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomLiveListView.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomLiveListView.java @@ -34,14 +34,14 @@ public class CustomLiveListView extends VerticalGridView { private boolean onKeyDown() { if (getSelectedPosition() != getAdapter().getItemCount() - 1) return false; - if (getId() == R.id.channel || getId() == R.id.epg) setSelectedPosition(0); + if (getId() == R.id.channel || getId() == R.id.epgData) setSelectedPosition(0); else if (listener != null) listener.nextGroup(false); return true; } private boolean onKeyUp() { if (getSelectedPosition() != 0) return false; - if (getId() == R.id.channel || getId() == R.id.epg) setSelectedPosition(getAdapter().getItemCount()); + if (getId() == R.id.channel || getId() == R.id.epgData) setSelectedPosition(getAdapter().getItemCount()); else if (listener != null) listener.prevGroup(false); return true; } diff --git a/app/src/leanback/res/layout/view_widget_live.xml b/app/src/leanback/res/layout/view_widget_live.xml index b29f56d2d..d8f7fd175 100644 --- a/app/src/leanback/res/layout/view_widget_live.xml +++ b/app/src/leanback/res/layout/view_widget_live.xml @@ -5,7 +5,7 @@ android:layout_height="match_parent"> - - diff --git a/app/src/main/java/com/fongmi/android/tv/bean/Epg.java b/app/src/main/java/com/fongmi/android/tv/bean/Epg.java index 204dc5b25..4f68e867d 100644 --- a/app/src/main/java/com/fongmi/android/tv/bean/Epg.java +++ b/app/src/main/java/com/fongmi/android/tv/bean/Epg.java @@ -88,9 +88,9 @@ public class Epg { } } - public String getEpg() { - for (EpgData item : getList()) if (item.isSelected()) return item.format(); - return ""; + public EpgData getEpgData() { + for (EpgData item : getList()) if (item.isSelected()) return item; + return new EpgData(); } public Epg selected() { 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 c141d974c..89bcb3130 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 @@ -580,9 +580,8 @@ public class LiveActivity extends BaseActivity implements CustomKeyDownLive.List if (item.isSelected()) { fetch(item); } else if (mChannel.hasCatchup()) { + mBinding.control.title.setText(getString(R.string.detail_title, mChannel.getName(), item.getTitle())); Notify.show(getString(R.string.play_ready, item.getTitle())); - mBinding.control.epg.setVisibility(View.VISIBLE); - mBinding.control.epg.setText(item.getTitle()); mEpgDataAdapter.setSelected(item); fetch(item); } @@ -607,7 +606,6 @@ public class LiveActivity extends BaseActivity implements CustomKeyDownLive.List mBinding.widget.play.setText(""); mChannel.loadLogo(mBinding.widget.logo); mBinding.control.title.setSelected(true); - mBinding.control.epg.setVisibility(View.GONE); mBinding.widget.name.setText(mChannel.getName()); mBinding.control.title.setText(mChannel.getName()); mBinding.widget.namePip.setText(mChannel.getName()); @@ -620,12 +618,12 @@ public class LiveActivity extends BaseActivity implements CustomKeyDownLive.List } private void setEpg() { - String epg = mChannel.getData().getEpg(); - List data = mChannel.getData().getList(); - if (!epg.isEmpty()) mBinding.widget.name.setMaxEms(12); - mBinding.widget.play.setText(epg); - mChannelAdapter.changed(mChannel); - mEpgDataAdapter.addAll(data); + EpgData data = mChannel.getData().getEpgData(); + boolean hasTitle = !data.getTitle().isEmpty(); + mEpgDataAdapter.addAll(mChannel.getData().getList()); + if (hasTitle) mBinding.control.title.setText(getString(R.string.detail_title, mChannel.getName(), data.getTitle())); + mBinding.widget.name.setMaxEms(hasTitle ? 12 : 48); + mBinding.widget.play.setText(data.format()); setWidth(mChannel.getData()); setMetadata(); } diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/adapter/ChannelAdapter.java b/app/src/mobile/java/com/fongmi/android/tv/ui/adapter/ChannelAdapter.java index 669fa230b..59ca77773 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/adapter/ChannelAdapter.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/adapter/ChannelAdapter.java @@ -40,12 +40,6 @@ public class ChannelAdapter extends RecyclerView.Adapter - -