|
|
|
|
@ -266,13 +266,12 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick |
|
|
|
|
mBinding.group.getLayoutParams().width = live.getWidth() == 0 ? 0 : Math.min(live.getWidth() + padding, ResUtil.getScreenWidth() / 4); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private Group setWidth(Group group) { |
|
|
|
|
private void setWidth(Group group) { |
|
|
|
|
int logo = ResUtil.dp2px(60); |
|
|
|
|
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); |
|
|
|
|
return group; |
|
|
|
|
mBinding.channel.getLayoutParams().width = group.getWidth() == 0 ? 1 : Math.min(group.getWidth() + padding, ResUtil.getScreenWidth() / 2); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void setWidth(Epg epg) { |
|
|
|
|
@ -310,6 +309,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick |
|
|
|
|
mOldView = child.itemView; |
|
|
|
|
mOldView.setSelected(true); |
|
|
|
|
onItemClick(group); |
|
|
|
|
setWidth(group); |
|
|
|
|
resetPass(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -525,7 +525,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public void onItemClick(Group item) { |
|
|
|
|
mChannelAdapter.setItems(setWidth(item).getChannel(), null); |
|
|
|
|
mChannelAdapter.setItems(item.getChannel(), null); |
|
|
|
|
mBinding.channel.setSelectedPosition(Math.max(item.getPosition(), 0)); |
|
|
|
|
if (!item.isKeep() || ++count < 5 || mHides.isEmpty()) return; |
|
|
|
|
PassDialog.create().show(this); |
|
|
|
|
@ -788,7 +788,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick |
|
|
|
|
if (mGroup == null) return; |
|
|
|
|
int position = mGroup.getPosition() - 1; |
|
|
|
|
boolean limit = position < 0; |
|
|
|
|
if (Setting.isAcross() & limit) prevGroup(true); |
|
|
|
|
if (Setting.isAcross() & limit) prevGroup(); |
|
|
|
|
else mGroup.setPosition(limit ? mChannelAdapter.size() - 1 : position); |
|
|
|
|
if (!mGroup.isEmpty()) setChannel(mGroup.current()); |
|
|
|
|
} |
|
|
|
|
@ -797,11 +797,35 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick |
|
|
|
|
if (mGroup == null) return; |
|
|
|
|
int position = mGroup.getPosition() + 1; |
|
|
|
|
boolean limit = position > mChannelAdapter.size() - 1; |
|
|
|
|
if (Setting.isAcross() && limit) nextGroup(true); |
|
|
|
|
if (Setting.isAcross() && limit) nextGroup(); |
|
|
|
|
else mGroup.setPosition(limit ? 0 : position); |
|
|
|
|
if (!mGroup.isEmpty()) setChannel(mGroup.current()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private boolean nextGroup() { |
|
|
|
|
int position = mBinding.group.getSelectedPosition() + 1; |
|
|
|
|
if (position > mGroupAdapter.size() - 1) position = 0; |
|
|
|
|
if (mGroup.equals(mGroupAdapter.get(position))) return false; |
|
|
|
|
mGroup = (Group) mGroupAdapter.get(position); |
|
|
|
|
mBinding.group.setSelectedPosition(position); |
|
|
|
|
if (mGroup.skip()) return nextGroup(); |
|
|
|
|
mChannelAdapter.setItems(mGroup.getChannel(), null); |
|
|
|
|
mGroup.setPosition(0); |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private boolean prevGroup() { |
|
|
|
|
int position = mBinding.group.getSelectedPosition() - 1; |
|
|
|
|
if (position < 0) position = mGroupAdapter.size() - 1; |
|
|
|
|
if (mGroup.equals(mGroupAdapter.get(position))) return false; |
|
|
|
|
mGroup = (Group) mGroupAdapter.get(position); |
|
|
|
|
mBinding.group.setSelectedPosition(position); |
|
|
|
|
if (mGroup.skip()) return prevGroup(); |
|
|
|
|
mChannelAdapter.setItems(mGroup.getChannel(), null); |
|
|
|
|
mGroup.setPosition(mGroup.getChannel().size() - 1); |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void checkNext() { |
|
|
|
|
int current = mChannel.getData().getInRange(); |
|
|
|
|
int position = mChannel.getData().getSelected() + 1; |
|
|
|
|
@ -860,32 +884,6 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick |
|
|
|
|
App.post(mR4, Constant.INTERVAL_HIDE); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public boolean nextGroup(boolean skip) { |
|
|
|
|
int position = mBinding.group.getSelectedPosition() + 1; |
|
|
|
|
if (position > mGroupAdapter.size() - 1) position = 0; |
|
|
|
|
if (mGroup.equals(mGroupAdapter.get(position))) return false; |
|
|
|
|
mGroup = (Group) mGroupAdapter.get(position); |
|
|
|
|
mBinding.group.setSelectedPosition(position); |
|
|
|
|
if (skip && mGroup.skip()) return nextGroup(true); |
|
|
|
|
mChannelAdapter.setItems(mGroup.getChannel(), null); |
|
|
|
|
mGroup.setPosition(0); |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public boolean prevGroup(boolean skip) { |
|
|
|
|
int position = mBinding.group.getSelectedPosition() - 1; |
|
|
|
|
if (position < 0) position = mGroupAdapter.size() - 1; |
|
|
|
|
if (mGroup.equals(mGroupAdapter.get(position))) return false; |
|
|
|
|
mGroup = (Group) mGroupAdapter.get(position); |
|
|
|
|
mBinding.group.setSelectedPosition(position); |
|
|
|
|
if (skip && mGroup.skip()) return prevGroup(true); |
|
|
|
|
mChannelAdapter.setItems(mGroup.getChannel(), null); |
|
|
|
|
mGroup.setPosition(mGroup.getChannel().size() - 1); |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public boolean dispatch(boolean check) { |
|
|
|
|
return !check || isGone(mBinding.recycler) && isGone(mBinding.control.getRoot()); |
|
|
|
|
|