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 1067847b4..1b0acc8be 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
@@ -274,9 +274,9 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
}
private void setWidth(Live live) {
- int base = ResUtil.dp2px(50);
- for (Group group : live.getGroups()) live.setWidth(Math.max(live.getWidth(), ResUtil.getTextWidth(group.getName(), 16)));
- mBinding.group.getLayoutParams().width = live.getWidth() == 0 ? 0 : Math.min(live.getWidth() + base, ResUtil.dp2px(200));
+ for (Group item : live.getGroups()) live.setWidth(Math.max(live.getWidth(), ResUtil.getTextWidth(item.getName(), 16)));
+ mBinding.group.getLayoutParams().width = live.getWidth() == 0 ? 0 : Math.min(live.getWidth() + ResUtil.dp2px(50), ResUtil.dp2px(200));
+ mBinding.channel.getLayoutParams().width = live.getLogo().isEmpty() ? ResUtil.dp2px(200) : ResUtil.dp2px(260);
mBinding.divide.setVisibility(live.getWidth() == 0 ? View.GONE : View.VISIBLE);
}
@@ -465,17 +465,6 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
App.removeCallbacks(mR3);
}
- private void showEpg() {
- String epg = mChannel.getData().getEpg();
- mBinding.widget.name.setMaxEms(epg.isEmpty() ? mChannel.getName().length() : 12);
- mBinding.widget.play.setText(epg);
- setMetadata();
- }
-
- private void setEpg(Epg epg) {
- if (mChannel != null && mChannel.getName().equals(epg.getKey())) showEpg();
- }
-
private void setTraffic() {
Traffic.setSpeed(mBinding.widget.traffic);
App.post(mR2, Constant.INTERVAL_TRAFFIC);
@@ -584,7 +573,18 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
mBinding.control.line.setText(mChannel.getLineText());
mBinding.widget.line.setVisibility(mChannel.getLineVisible());
mBinding.control.line.setVisibility(mChannel.getLineVisible());
- showEpg();
+ setEpg();
+ }
+
+ private void setEpg() {
+ String epg = mChannel.getData().getEpg();
+ mBinding.widget.name.setMaxEms(epg.isEmpty() ? mChannel.getName().length() : 12);
+ mBinding.widget.play.setText(epg);
+ setMetadata();
+ }
+
+ private void setEpg(Epg epg) {
+ if (mChannel != null && mChannel.getName().equals(epg.getKey())) setEpg();
}
private void fetch() {
diff --git a/app/src/leanback/res/layout/activity_live.xml b/app/src/leanback/res/layout/activity_live.xml
index 8efaf333a..cfd24bbab 100644
--- a/app/src/leanback/res/layout/activity_live.xml
+++ b/app/src/leanback/res/layout/activity_live.xml
@@ -78,7 +78,7 @@
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 6f93862a1..fa50d54d2 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
@@ -79,7 +79,7 @@ import java.util.List;
import tv.danmaku.ijk.media.player.ui.IjkVideoView;
-public class LiveActivity extends BaseActivity implements CustomKeyDownLive.Listener, TrackDialog.Listener, Biometric.Callback, PassCallback, LiveCallback, GroupAdapter.OnClickListener, ChannelAdapter.OnClickListener, SubtitleCallback, CastDialog.Listener, InfoDialog.Listener {
+public class LiveActivity extends BaseActivity implements CustomKeyDownLive.Listener, TrackDialog.Listener, Biometric.Callback, PassCallback, LiveCallback, GroupAdapter.OnClickListener, ChannelAdapter.OnClickListener, EpgAdapter.OnClickListener, SubtitleCallback, CastDialog.Listener, InfoDialog.Listener {
private ActivityLiveBinding mBinding;
private ChannelAdapter mChannelAdapter;
@@ -204,17 +204,13 @@ public class LiveActivity extends BaseActivity implements CustomKeyDownLive.List
mBinding.control.action.speed.setOnLongClickListener(view -> onSpeedLong());
mBinding.control.action.getRoot().setOnTouchListener(this::onActionTouch);
mBinding.video.setOnTouchListener((view, event) -> mKeyDown.onTouchEvent(event));
- mBinding.channel.setOnTouchListener(this::onRecyclerTouch);
- mBinding.group.setOnTouchListener(this::onRecyclerTouch);
- mBinding.epg.setOnTouchListener(this::onRecyclerTouch);
}
private void setRecyclerView() {
- mBinding.epg.setItemAnimator(null);
mBinding.group.setItemAnimator(null);
mBinding.channel.setItemAnimator(null);
- mBinding.epg.setAdapter(mEpgAdapter = new EpgAdapter());
mBinding.group.setAdapter(mGroupAdapter = new GroupAdapter(this));
+ mBinding.widget.epg.setAdapter(mEpgAdapter = new EpgAdapter(this));
mBinding.channel.setAdapter(mChannelAdapter = new ChannelAdapter(this));
}
@@ -309,7 +305,7 @@ public class LiveActivity extends BaseActivity implements CustomKeyDownLive.List
for (Group item : live.getGroups()) live.setWidth(Math.max(live.getWidth(), ResUtil.getTextWidth(item.getName(), 14)));
mBinding.group.getLayoutParams().width = live.getWidth() == 0 ? 0 : Math.min(live.getWidth() + ResUtil.dp2px(44), ResUtil.dp2px(180));
mBinding.channel.getLayoutParams().width = live.getLogo().isEmpty() ? ResUtil.dp2px(180) : ResUtil.dp2px(236);
- mBinding.divide1.setVisibility(live.getWidth() == 0 ? View.GONE : View.VISIBLE);
+ mBinding.divide.setVisibility(live.getWidth() == 0 ? View.GONE : View.VISIBLE);
}
private void setPosition(int[] position) {
@@ -331,7 +327,6 @@ public class LiveActivity extends BaseActivity implements CustomKeyDownLive.List
if (change) mChannelAdapter.addAll(mGroup.getChannel());
mChannelAdapter.setSelected(mGroup.getPosition());
mBinding.channel.scrollToPosition(mGroup.getPosition());
- mBinding.epg.scrollToPosition(mEpgAdapter.getPosition());
}
private void onCast() {
@@ -455,11 +450,6 @@ public class LiveActivity extends BaseActivity implements CustomKeyDownLive.List
return false;
}
- private boolean onRecyclerTouch(View v, MotionEvent e) {
- if (e.getAction() == MotionEvent.ACTION_UP) onSingleTap();
- return true;
- }
-
private void hideUI() {
if (isGone(mBinding.recycler)) return;
mBinding.recycler.setVisibility(View.GONE);
@@ -529,20 +519,6 @@ public class LiveActivity extends BaseActivity implements CustomKeyDownLive.List
App.removeCallbacks(mR3);
}
- private void showEpg() {
- String epg = mChannel.getData().getEpg();
- mBinding.widget.play.setText(epg);
- mBinding.widget.name.setMaxEms(epg.isEmpty() ? mChannel.getName().length() : 12);
- mBinding.epg.setVisibility(mChannel.getData().getList().isEmpty() ? View.GONE : View.VISIBLE);
- mBinding.divide2.setVisibility(mChannel.getData().getList().isEmpty() ? View.GONE : View.VISIBLE);
- mEpgAdapter.addAll(mChannel.getData().getList());
- setMetadata();
- }
-
- private void setEpg(Epg epg) {
- if (mChannel != null && mChannel.getName().equals(epg.getKey())) showEpg();
- }
-
private void setTraffic() {
Traffic.setSpeed(mBinding.widget.traffic);
App.post(mR2, Constant.INTERVAL_TRAFFIC);
@@ -623,6 +599,11 @@ public class LiveActivity extends BaseActivity implements CustomKeyDownLive.List
return true;
}
+ @Override
+ public void onItemClick(Epg item) {
+
+ }
+
private void addKeep(Channel item) {
getKeep().add(item);
Keep keep = new Keep();
@@ -649,7 +630,19 @@ public class LiveActivity extends BaseActivity implements CustomKeyDownLive.List
mBinding.widget.line.setVisibility(mChannel.getLineVisible());
mBinding.control.action.line.setText(mBinding.widget.line.getText());
mBinding.control.action.line.setVisibility(mBinding.widget.line.getVisibility());
- showEpg();
+ setEpg();
+ }
+
+ private void setEpg() {
+ String epg = mChannel.getData().getEpg();
+ mBinding.widget.name.setMaxEms(epg.isEmpty() ? mChannel.getName().length() : 12);
+ mEpgAdapter.addAll(mChannel.getData().getList());
+ mBinding.widget.play.setText(epg);
+ setMetadata();
+ }
+
+ private void setEpg(Epg epg) {
+ if (mChannel != null && mChannel.getName().equals(epg.getKey())) setEpg();
}
private void fetch() {
@@ -674,8 +667,7 @@ public class LiveActivity extends BaseActivity implements CustomKeyDownLive.List
}
private void resetAdapter() {
- mBinding.divide1.setVisibility(View.GONE);
- mBinding.divide2.setVisibility(View.GONE);
+ mBinding.divide.setVisibility(View.GONE);
mChannelAdapter.clear();
mGroupAdapter.clear();
mEpgAdapter.clear();
diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/adapter/EpgAdapter.java b/app/src/mobile/java/com/fongmi/android/tv/ui/adapter/EpgAdapter.java
index 6425fc6d0..d7a255f31 100644
--- a/app/src/mobile/java/com/fongmi/android/tv/ui/adapter/EpgAdapter.java
+++ b/app/src/mobile/java/com/fongmi/android/tv/ui/adapter/EpgAdapter.java
@@ -14,12 +14,19 @@ import java.util.List;
public class EpgAdapter extends RecyclerView.Adapter {
+ private final OnClickListener mListener;
private final List mItems;
- public EpgAdapter() {
+ public EpgAdapter(OnClickListener listener) {
+ this.mListener = listener;
this.mItems = new ArrayList<>();
}
+ public interface OnClickListener {
+
+ void onItemClick(Epg item);
+ }
+
public void clear() {
mItems.clear();
notifyDataSetChanged();
diff --git a/app/src/mobile/res/layout/activity_live.xml b/app/src/mobile/res/layout/activity_live.xml
index 4924c37d1..f717ea525 100644
--- a/app/src/mobile/res/layout/activity_live.xml
+++ b/app/src/mobile/res/layout/activity_live.xml
@@ -72,7 +72,7 @@
tools:listitem="@layout/adapter_group" />
-
-
-
-
diff --git a/app/src/mobile/res/layout/view_widget_live.xml b/app/src/mobile/res/layout/view_widget_live.xml
index b8e001393..a2ea34599 100644
--- a/app/src/mobile/res/layout/view_widget_live.xml
+++ b/app/src/mobile/res/layout/view_widget_live.xml
@@ -182,6 +182,18 @@
+
+