diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/CastActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/CastActivity.java
index aa62875f3..0288454bb 100644
--- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/CastActivity.java
+++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/CastActivity.java
@@ -106,10 +106,10 @@ public class CastActivity extends BaseActivity implements CustomKeyDownCast.List
@SuppressLint("ClickableViewAccessibility")
protected void initEvent() {
mBinding.control.seek.setListener(mPlayers);
- mBinding.control.text.setAddListener(this::onTextAdd);
- mBinding.control.text.setSubListener(this::onTextSub);
- mBinding.control.speed.setAddListener(this::onSpeedAdd);
- mBinding.control.speed.setSubListener(this::onSpeedSub);
+ mBinding.control.text.setUpListener(this::onTextAdd);
+ mBinding.control.text.setDownListener(this::onTextSub);
+ mBinding.control.speed.setUpListener(this::onSpeedAdd);
+ mBinding.control.speed.setDownListener(this::onSpeedSub);
mBinding.control.text.setOnClickListener(this::onTrack);
mBinding.control.audio.setOnClickListener(this::onTrack);
mBinding.control.video.setOnClickListener(this::onTrack);
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 cebae687e..5309bf345 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
@@ -30,6 +30,7 @@ import com.fongmi.android.tv.Setting;
import com.fongmi.android.tv.api.config.LiveConfig;
import com.fongmi.android.tv.bean.Channel;
import com.fongmi.android.tv.bean.Epg;
+import com.fongmi.android.tv.bean.EpgData;
import com.fongmi.android.tv.bean.Group;
import com.fongmi.android.tv.bean.Keep;
import com.fongmi.android.tv.bean.Live;
@@ -55,6 +56,7 @@ import com.fongmi.android.tv.ui.dialog.PassDialog;
import com.fongmi.android.tv.ui.dialog.SubtitleDialog;
import com.fongmi.android.tv.ui.dialog.TrackDialog;
import com.fongmi.android.tv.ui.presenter.ChannelPresenter;
+import com.fongmi.android.tv.ui.presenter.EpgDataPresenter;
import com.fongmi.android.tv.ui.presenter.GroupPresenter;
import com.fongmi.android.tv.utils.Biometric;
import com.fongmi.android.tv.utils.Clock;
@@ -73,10 +75,11 @@ import java.util.List;
import tv.danmaku.ijk.media.player.ui.IjkVideoView;
-public class LiveActivity extends BaseActivity implements GroupPresenter.OnClickListener, ChannelPresenter.OnClickListener, CustomKeyDownLive.Listener, CustomLiveListView.Callback, TrackDialog.Listener, Biometric.Callback, PassCallback, LiveCallback, SubtitleCallback {
+public class LiveActivity extends BaseActivity implements GroupPresenter.OnClickListener, ChannelPresenter.OnClickListener, EpgDataPresenter.OnClickListener, CustomKeyDownLive.Listener, CustomLiveListView.Callback, TrackDialog.Listener, Biometric.Callback, PassCallback, LiveCallback, SubtitleCallback {
private ActivityLiveBinding mBinding;
private ArrayObjectAdapter mChannelAdapter;
+ private ArrayObjectAdapter mEpgDataAdapter;
private ArrayObjectAdapter mGroupAdapter;
private CustomKeyDownLive mKeyDown;
private LiveViewModel mViewModel;
@@ -188,8 +191,10 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
private void setRecyclerView() {
mBinding.group.setItemAnimator(null);
mBinding.channel.setItemAnimator(null);
+ mBinding.widget.epgData.setItemAnimator(null);
mBinding.group.setAdapter(new ItemBridgeAdapter(mGroupAdapter = new ArrayObjectAdapter(new GroupPresenter(this))));
mBinding.channel.setAdapter(new ItemBridgeAdapter(mChannelAdapter = new ArrayObjectAdapter(new ChannelPresenter(this))));
+ mBinding.widget.epgData.setAdapter(new ItemBridgeAdapter(mEpgDataAdapter = new ArrayObjectAdapter(new EpgDataPresenter(this))));
}
private void setPlayerView() {
@@ -289,6 +294,14 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
return group;
}
+ private void setWidth(Epg epg) {
+ int padding = ResUtil.dp2px(48);
+ if (epg.getList().isEmpty()) return;
+ int minWidth = ResUtil.getTextWidth(epg.getList().get(0).getTime(), 16);
+ if (epg.getWidth() == 0) for (EpgData item : epg.getList()) epg.setWidth(Math.max(epg.getWidth(), ResUtil.getTextWidth(item.getTitle(), 16)));
+ mBinding.widget.epgData.getLayoutParams().width = epg.getWidth() == 0 ? 0 : Math.min(Math.max(epg.getWidth(), minWidth) + padding, ResUtil.getScreenWidth() / 3);
+ }
+
private void setPosition(int[] position) {
if (position[0] == -1) return;
if (mGroupAdapter.size() == 1) return;
@@ -414,11 +427,27 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
setPosition();
}
- private void showUI() {
+ @Override
+ public void showUI() {
if (isVisible(mBinding.recycler)) return;
mBinding.recycler.setVisibility(View.VISIBLE);
mBinding.channel.requestFocus();
setPosition();
+ setUITimer();
+ hideEpg();
+ }
+
+ @Override
+ public void showEpg() {
+ if (mChannel == null || mChannel.getData().getList().isEmpty() || mEpgDataAdapter.size() == 0) return;
+ mBinding.widget.epgData.setSelectedPosition(mChannel.getData().getIndex());
+ mBinding.widget.epg.setVisibility(View.VISIBLE);
+ mBinding.widget.epg.requestFocus();
+ hideUI();
+ }
+
+ private void hideEpg() {
+ mBinding.widget.epg.setVisibility(View.GONE);
}
private void showProgress() {
@@ -450,6 +479,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
view.requestFocus();
setR1Callback();
hideInfo();
+ hideEpg();
}
private void hideControl() {
@@ -548,6 +578,11 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
return true;
}
+ @Override
+ public void onItemClick(EpgData item) {
+
+ }
+
private void addKeep(Channel item) {
getKeep().add(item);
Keep keep = new Keep();
@@ -582,13 +617,16 @@ 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());
+ hideEpg();
setEpg();
}
private void setEpg() {
String epg = mChannel.getData().getEpg();
mBinding.widget.name.setMaxEms(epg.isEmpty() ? mChannel.getName().length() : 12);
+ mEpgDataAdapter.setItems(mChannel.getData().getList(), null);
mBinding.widget.play.setText(epg);
+ setWidth(mChannel.getData());
setMetadata();
}
@@ -605,7 +643,11 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
}
private void resetAdapter() {
+ mBinding.widget.epgData.getLayoutParams().width = 0;
+ mBinding.channel.getLayoutParams().width = 0;
+ mBinding.group.getLayoutParams().width = 0;
mBinding.divide.setVisibility(View.GONE);
+ mEpgDataAdapter.clear();
mChannelAdapter.clear();
mGroupAdapter.clear();
mHides.clear();
@@ -842,7 +884,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
@Override
public boolean dispatch(boolean check) {
- return !check || isGone(mBinding.recycler) && isGone(mBinding.control.getRoot());
+ return !check || isGone(mBinding.recycler) && isGone(mBinding.control.getRoot()) && isGone(mBinding.widget.epg);
}
@Override
@@ -912,6 +954,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
@Override
public void onDoubleTap() {
if (isVisible(mBinding.recycler)) hideUI();
+ else if (isVisible(mBinding.widget.epg)) hideEpg();
else if (isVisible(mBinding.control.getRoot())) hideControl();
else onMenu();
}
@@ -942,6 +985,8 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
hideControl();
} else if (isVisible(mBinding.widget.bottom)) {
hideInfo();
+ } else if (isVisible(mBinding.widget.epg)) {
+ hideEpg();
} else if (isVisible(mBinding.recycler)) {
hideUI();
} else if (!confirm) {
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 9b3295bf9..5593223da 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
@@ -322,14 +322,14 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List
mBinding.control.text.setOnClickListener(this::onTrack);
mBinding.control.audio.setOnClickListener(this::onTrack);
mBinding.control.video.setOnClickListener(this::onTrack);
- mBinding.control.text.setAddListener(this::onTextAdd);
- mBinding.control.text.setSubListener(this::onTextSub);
- mBinding.control.speed.setAddListener(this::onSpeedAdd);
- mBinding.control.speed.setSubListener(this::onSpeedSub);
- mBinding.control.ending.setAddListener(this::onEndingAdd);
- mBinding.control.ending.setSubListener(this::onEndingSub);
- mBinding.control.opening.setAddListener(this::onOpeningAdd);
- mBinding.control.opening.setSubListener(this::onOpeningSub);
+ mBinding.control.text.setUpListener(this::onTextAdd);
+ mBinding.control.text.setDownListener(this::onTextSub);
+ mBinding.control.speed.setUpListener(this::onSpeedAdd);
+ mBinding.control.speed.setDownListener(this::onSpeedSub);
+ mBinding.control.ending.setUpListener(this::onEndingAdd);
+ mBinding.control.ending.setDownListener(this::onEndingSub);
+ mBinding.control.opening.setUpListener(this::onOpeningAdd);
+ mBinding.control.opening.setDownListener(this::onOpeningSub);
mBinding.control.loop.setOnClickListener(view -> onLoop());
mBinding.control.danmu.setOnClickListener(view -> onDanmu());
mBinding.control.next.setOnClickListener(view -> checkNext());
diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomLeftRightView.java b/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomLeftRightView.java
new file mode 100644
index 000000000..375941048
--- /dev/null
+++ b/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomLeftRightView.java
@@ -0,0 +1,59 @@
+package com.fongmi.android.tv.ui.custom;
+
+import android.content.Context;
+import android.util.AttributeSet;
+import android.view.KeyEvent;
+import android.widget.LinearLayout;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
+import com.fongmi.android.tv.utils.KeyUtil;
+
+public class CustomLeftRightView extends LinearLayout {
+
+ private LeftListener leftListener;
+ private RightListener rightListener;
+
+ public CustomLeftRightView(@NonNull Context context) {
+ super(context);
+ }
+
+ public CustomLeftRightView(@NonNull Context context, @Nullable AttributeSet attrs) {
+ super(context, attrs);
+ }
+
+ public void setLeftListener(LeftListener leftListener) {
+ this.leftListener = leftListener;
+ }
+
+ public void setRightListener(RightListener rightListener) {
+ this.rightListener = rightListener;
+ }
+
+ private boolean hasEvent(KeyEvent event) {
+ return event.getAction() == KeyEvent.ACTION_DOWN && ((leftListener != null && KeyUtil.isLeftKey(event)) || (rightListener != null && KeyUtil.isRightKey(event)));
+ }
+
+ @Override
+ public boolean dispatchKeyEvent(KeyEvent event) {
+ if (hasEvent(event)) return onKeyDown(event);
+ else return super.dispatchKeyEvent(event);
+ }
+
+ private boolean onKeyDown(KeyEvent event) {
+ if (leftListener != null && KeyUtil.isLeftKey(event)) leftListener.onLeft();
+ if (rightListener != null && KeyUtil.isRightKey(event)) rightListener.onRight();
+ return true;
+ }
+
+ public interface LeftListener {
+
+ void onLeft();
+ }
+
+ public interface RightListener {
+
+ void onRight();
+ }
+}
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 b7e41fcd4..e3c55d368 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
@@ -35,21 +35,21 @@ public class CustomLiveListView extends VerticalGridView {
private boolean onKeyDown() {
if (getSelectedPosition() != getAdapter().getItemCount() - 1) return false;
if (getId() == R.id.channel) setSelectedPosition(0);
- else listener.nextGroup(false);
+ else if (listener != null) listener.nextGroup(false);
return true;
}
private boolean onKeyUp() {
if (getSelectedPosition() != 0) return false;
if (getId() == R.id.channel) setSelectedPosition(getAdapter().getItemCount());
- else listener.prevGroup(false);
+ else if (listener != null) listener.prevGroup(false);
return true;
}
@Override
public boolean dispatchKeyEvent(@NonNull KeyEvent event) {
if (getVisibility() == View.GONE || event.getAction() != KeyEvent.ACTION_DOWN) return super.dispatchKeyEvent(event);
- if (getVisibility() == View.VISIBLE) listener.setUITimer();
+ if (getVisibility() == View.VISIBLE && listener != null) listener.setUITimer();
if (KeyUtil.isDownKey(event)) return onKeyDown();
if (KeyUtil.isUpKey(event)) return onKeyUp();
return super.dispatchKeyEvent(event);
diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomUpDownView.java b/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomUpDownView.java
index cebe646a9..522f717e2 100644
--- a/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomUpDownView.java
+++ b/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomUpDownView.java
@@ -12,8 +12,8 @@ import com.fongmi.android.tv.utils.KeyUtil;
public class CustomUpDownView extends AppCompatTextView {
- private AddListener addListener;
- private SubListener subListener;
+ private UpListener upListener;
+ private DownListener downListener;
public CustomUpDownView(@NonNull Context context) {
super(context);
@@ -23,16 +23,16 @@ public class CustomUpDownView extends AppCompatTextView {
super(context, attrs);
}
- public void setAddListener(AddListener addListener) {
- this.addListener = addListener;
+ public void setUpListener(UpListener upListener) {
+ this.upListener = upListener;
}
- public void setSubListener(SubListener subListener) {
- this.subListener = subListener;
+ public void setDownListener(DownListener downListener) {
+ this.downListener = downListener;
}
private boolean hasEvent(KeyEvent event) {
- return event.getAction() == KeyEvent.ACTION_DOWN && (KeyUtil.isUpKey(event) || KeyUtil.isDownKey(event));
+ return event.getAction() == KeyEvent.ACTION_DOWN && ((upListener != null && KeyUtil.isUpKey(event)) || (downListener != null && KeyUtil.isDownKey(event)));
}
@Override
@@ -42,18 +42,18 @@ public class CustomUpDownView extends AppCompatTextView {
}
private boolean onKeyDown(KeyEvent event) {
- if (KeyUtil.isUpKey(event)) addListener.onAdd();
- if (KeyUtil.isDownKey(event)) subListener.onSud();
+ if (upListener != null && KeyUtil.isUpKey(event)) upListener.onUp();
+ if (downListener != null && KeyUtil.isDownKey(event)) downListener.onDown();
return true;
}
- public interface AddListener {
+ public interface UpListener {
- void onAdd();
+ void onUp();
}
- public interface SubListener {
+ public interface DownListener {
- void onSud();
+ void onDown();
}
}
diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/ChannelPresenter.java b/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/ChannelPresenter.java
index ea294fdf1..a36310a0a 100644
--- a/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/ChannelPresenter.java
+++ b/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/ChannelPresenter.java
@@ -19,6 +19,8 @@ public class ChannelPresenter extends Presenter {
public interface OnClickListener {
+ void showEpg();
+
void onItemClick(Channel item);
boolean onLongClick(Channel item);
@@ -37,6 +39,7 @@ public class ChannelPresenter extends Presenter {
holder.binding.name.setText(item.getName());
holder.binding.number.setText(item.getNumber());
holder.binding.getRoot().setSelected(item.isSelected());
+ holder.binding.getRoot().setRightListener(mListener::showEpg);
setOnClickListener(holder, view -> mListener.onItemClick(item));
holder.view.setOnLongClickListener(view -> mListener.onLongClick(item));
}
diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/EpgDataPresenter.java b/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/EpgDataPresenter.java
new file mode 100644
index 000000000..186e1a960
--- /dev/null
+++ b/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/EpgDataPresenter.java
@@ -0,0 +1,56 @@
+package com.fongmi.android.tv.ui.presenter;
+
+import android.view.LayoutInflater;
+import android.view.ViewGroup;
+
+import androidx.annotation.NonNull;
+import androidx.leanback.widget.Presenter;
+
+import com.fongmi.android.tv.bean.EpgData;
+import com.fongmi.android.tv.databinding.AdapterEpgDataBinding;
+
+public class EpgDataPresenter extends Presenter {
+
+ private final OnClickListener mListener;
+
+ public EpgDataPresenter(OnClickListener listener) {
+ this.mListener = listener;
+ }
+
+ public interface OnClickListener {
+
+ void showUI();
+
+ void onItemClick(EpgData item);
+ }
+
+ @Override
+ public Presenter.ViewHolder onCreateViewHolder(ViewGroup parent) {
+ return new ViewHolder(AdapterEpgDataBinding.inflate(LayoutInflater.from(parent.getContext()), parent, false));
+ }
+
+ @Override
+ public void onBindViewHolder(Presenter.ViewHolder viewHolder, Object object) {
+ EpgData item = (EpgData) object;
+ ViewHolder holder = (ViewHolder) viewHolder;
+ holder.binding.time.setText(item.getTime());
+ holder.binding.title.setText(item.getTitle());
+ holder.binding.getRoot().setSelected(item.isInRange());
+ holder.binding.getRoot().setLeftListener(mListener::showUI);
+ setOnClickListener(holder, view -> mListener.onItemClick(item));
+ }
+
+ @Override
+ public void onUnbindViewHolder(Presenter.ViewHolder viewHolder) {
+ }
+
+ public static class ViewHolder extends Presenter.ViewHolder {
+
+ private final AdapterEpgDataBinding binding;
+
+ public ViewHolder(@NonNull AdapterEpgDataBinding binding) {
+ super(binding.getRoot());
+ this.binding = binding;
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/leanback/res/color/chip.xml b/app/src/leanback/res/color/chip.xml
deleted file mode 100644
index ba6677dcc..000000000
--- a/app/src/leanback/res/color/chip.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/leanback/res/color/epg.xml b/app/src/leanback/res/color/epg.xml
new file mode 100644
index 000000000..311ab2994
--- /dev/null
+++ b/app/src/leanback/res/color/epg.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/leanback/res/drawable/selector_epg.xml b/app/src/leanback/res/drawable/selector_epg.xml
new file mode 100644
index 000000000..318a7508e
--- /dev/null
+++ b/app/src/leanback/res/drawable/selector_epg.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/leanback/res/drawable/shape_epg_focused.xml b/app/src/leanback/res/drawable/shape_epg_focused.xml
new file mode 100644
index 000000000..baddab9eb
--- /dev/null
+++ b/app/src/leanback/res/drawable/shape_epg_focused.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/leanback/res/layout/adapter_channel.xml b/app/src/leanback/res/layout/adapter_channel.xml
index b3ede8d79..ab1ebae77 100644
--- a/app/src/leanback/res/layout/adapter_channel.xml
+++ b/app/src/leanback/res/layout/adapter_channel.xml
@@ -1,5 +1,5 @@
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/leanback/res/layout/adapter_epg_data.xml b/app/src/leanback/res/layout/adapter_epg_data.xml
new file mode 100644
index 000000000..18c21ac19
--- /dev/null
+++ b/app/src/leanback/res/layout/adapter_epg_data.xml
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/leanback/res/layout/view_widget_live.xml b/app/src/leanback/res/layout/view_widget_live.xml
index abe717e65..8ceb8cadc 100644
--- a/app/src/leanback/res/layout/view_widget_live.xml
+++ b/app/src/leanback/res/layout/view_widget_live.xml
@@ -241,4 +241,24 @@
tools:text="16:50" />
+
+
+
+
+
+
\ No newline at end of file
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 abc8c53c3..0101ab562 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
@@ -76,6 +76,11 @@ public class Epg {
}
}
+ public int getIndex() {
+ for (int i = 0; i < getList().size(); i++) if (getList().get(i).isInRange()) return i;
+ return -1;
+ }
+
public String getEpg() {
for (EpgData item : getList()) if (item.isInRange()) return item.format();
return "";
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 44626a47c..1e09eaa6f 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
@@ -323,7 +323,7 @@ public class LiveActivity extends BaseActivity implements CustomKeyDownLive.List
private void setWidth(Epg epg) {
int padding = ResUtil.dp2px(40);
if (epg.getList().isEmpty()) return;
- int minWidth = ResUtil.getTextWidth(epg.getList().get(0).getTime(), 12);
+ int minWidth = ResUtil.getTextWidth(epg.getList().get(0).getTime(), 14);
if (epg.getWidth() == 0) for (EpgData item : epg.getList()) epg.setWidth(Math.max(epg.getWidth(), ResUtil.getTextWidth(item.getTitle(), 14)));
mBinding.widget.epgData.getLayoutParams().width = epg.getWidth() == 0 ? 0 : Math.min(Math.max(epg.getWidth(), minWidth) + padding, ResUtil.getScreenWidth() / 3);
}
@@ -668,6 +668,7 @@ 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());
+ hideEpg();
setEpg();
}
@@ -708,6 +709,9 @@ public class LiveActivity extends BaseActivity implements CustomKeyDownLive.List
}
private void resetAdapter() {
+ mBinding.widget.epgData.getLayoutParams().width = 0;
+ mBinding.channel.getLayoutParams().width = 0;
+ mBinding.group.getLayoutParams().width = 0;
mBinding.divide.setVisibility(View.GONE);
mEpgDataAdapter.clear();
mChannelAdapter.clear();