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 32e70634d..0e69c7422 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 @@ -291,7 +291,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick int padding = ResUtil.dp2px(60); if (group.isKeep()) group.setWidth(0); if (group.getWidth() == 0) for (Channel item : group.getChannel()) group.setWidth(Math.max(group.getWidth(), (item.getLogo().isEmpty() ? 0 : logo) + ResUtil.getTextWidth(item.getNumber() + item.getName(), 16))); - mBinding.channel.getLayoutParams().width = group.getWidth() == 0 ? 0 : Math.min(group.getWidth() + padding, ResUtil.getScreenWidth() / 2); + mBinding.channel.getLayoutParams().width = group.getWidth() == 0 ? 0 : Math.min(group.getWidth() + padding, ResUtil.getScreenWidth() / 3); return group; } diff --git a/app/src/main/java/com/fongmi/android/tv/bean/Group.java b/app/src/main/java/com/fongmi/android/tv/bean/Group.java index 956a8f2bd..94026f2f2 100644 --- a/app/src/main/java/com/fongmi/android/tv/bean/Group.java +++ b/app/src/main/java/com/fongmi/android/tv/bean/Group.java @@ -35,17 +35,13 @@ public class Group { } public static Group create() { - return create(""); + return create(R.string.setting_live); } public static Group create(@StringRes int resId) { return new Group(ResUtil.getString(resId)); } - public static Group create(String name) { - return new Group(name); - } - public static Group create(String name, boolean pass) { return new Group(name, pass); } @@ -58,6 +54,7 @@ public class Group { this.name = name; this.position = -1; if (name.contains("_")) parse(pass); + if (name.isEmpty()) setName(ResUtil.getString(R.string.setting_live)); } private void parse(boolean pass) { 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 ca6e2ae3f..b29ec747e 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 @@ -184,7 +184,6 @@ public class LiveActivity extends BaseActivity implements CustomKeyDownLive.List @SuppressLint("ClickableViewAccessibility") protected void initEvent() { mBinding.control.seek.setListener(mPlayers); - mBinding.arrow.setOnClickListener(view -> onArrow()); mBinding.control.cast.setOnClickListener(view -> onCast()); mBinding.control.info.setOnClickListener(view -> onInfo()); mBinding.control.right.back.setOnClickListener(view -> onBack()); @@ -319,7 +318,7 @@ public class LiveActivity extends BaseActivity implements CustomKeyDownLive.List int padding = ResUtil.dp2px(60); if (group.isKeep()) group.setWidth(0); if (group.getWidth() == 0) for (Channel item : group.getChannel()) group.setWidth(Math.max(group.getWidth(), (item.getLogo().isEmpty() ? 0 : logo) + ResUtil.getTextWidth(item.getNumber() + item.getName(), 14))); - mBinding.channel.getLayoutParams().width = group.getWidth() == 0 ? 0 : Math.min(group.getWidth() + padding, ResUtil.getScreenWidth() / 2); + mBinding.channel.getLayoutParams().width = group.getWidth() == 0 ? 0 : Math.min(group.getWidth() + padding, ResUtil.getScreenWidth() / 3); } private void setWidth(Epg epg) { @@ -352,10 +351,6 @@ public class LiveActivity extends BaseActivity implements CustomKeyDownLive.List mBinding.group.scrollToPosition(position); } - private void onArrow() { - showEpg(); - } - private void onCast() { CastDialog.create().video(CastVideo.get(mBinding.control.title.getText().toString(), mPlayers.getUrl())).fm(false).show(this); } @@ -491,8 +486,10 @@ public class LiveActivity extends BaseActivity implements CustomKeyDownLive.List hideEpg(); } - private void showEpg() { - mBinding.widget.epgData.scrollToPosition(mChannel.getData().getSelected()); + @Override + public void showEpg(Channel item) { + if (mChannel == null || mChannel.getData().getList().isEmpty() || mEpgDataAdapter.getItemCount() == 0 || !mChannel.equals(item)) return; + mBinding.widget.epgData.scrollToPosition(item.getData().getSelected()); mBinding.widget.epg.setVisibility(View.VISIBLE); hideUI(); } @@ -666,7 +663,6 @@ public class LiveActivity extends BaseActivity implements CustomKeyDownLive.List mViewModel.getEpg(mChannel); mBinding.widget.play.setText(""); mChannel.loadLogo(mBinding.widget.logo); - mBinding.arrow.setVisibility(View.GONE); mBinding.widget.name.setText(mChannel.getName()); mBinding.control.title.setText(mChannel.getName()); mBinding.widget.namePip.setText(mChannel.getName()); @@ -683,8 +679,8 @@ public class LiveActivity extends BaseActivity implements CustomKeyDownLive.List String epg = mChannel.getData().getEpg(); List data = mChannel.getData().getList(); if (epg.length() > 0) mBinding.widget.name.setMaxEms(12); - mBinding.arrow.setVisibility(data.isEmpty() ? View.GONE : View.VISIBLE); mBinding.widget.play.setText(epg); + mChannelAdapter.changed(mChannel); mEpgDataAdapter.addAll(data); 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 59ca77773..f75dcbf8c 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 @@ -1,6 +1,7 @@ package com.fongmi.android.tv.ui.adapter; import android.view.LayoutInflater; +import android.view.View; import android.view.ViewGroup; import androidx.annotation.NonNull; @@ -24,6 +25,8 @@ public class ChannelAdapter extends RecyclerView.Adapter mListener.showEpg(item)); holder.binding.getRoot().setOnClickListener(view -> mListener.onItemClick(item)); holder.binding.getRoot().setOnLongClickListener(view -> mListener.onLongClick(item)); + holder.binding.epg.setVisibility(item.getData().getList().isEmpty() || !item.isSelected() ? View.GONE : View.VISIBLE); } static class ViewHolder extends RecyclerView.ViewHolder { diff --git a/app/src/mobile/res/drawable/ic_action_arrow.xml b/app/src/mobile/res/drawable/ic_action_arrow.xml index f407edd0e..345bf286f 100644 --- a/app/src/mobile/res/drawable/ic_action_arrow.xml +++ b/app/src/mobile/res/drawable/ic_action_arrow.xml @@ -1,6 +1,6 @@ - - diff --git a/app/src/mobile/res/layout/adapter_channel.xml b/app/src/mobile/res/layout/adapter_channel.xml index 5f6edeecf..ec3e53904 100644 --- a/app/src/mobile/res/layout/adapter_channel.xml +++ b/app/src/mobile/res/layout/adapter_channel.xml @@ -33,8 +33,9 @@ + + \ No newline at end of file