Optimize live epg click

pull/586/head
FongMi 2 years ago
parent 3f27f46d81
commit f016c06411
  1. 25
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java
  2. 4
      app/src/leanback/java/com/fongmi/android/tv/ui/presenter/EpgDataPresenter.java
  3. 25
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java
  4. 4
      app/src/mobile/java/com/fongmi/android/tv/ui/adapter/EpgDataAdapter.java

@ -528,7 +528,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
@Override
public void onItemClick(Channel item) {
if (item.getData().getList().size() > 0 && item.isSelected() && mChannel != null && mChannel.equals(item)) {
if (item.getData().getList().size() > 0 && item.isSelected() && item.equals(mChannel)) {
showEpg(item);
} else {
mGroup.setPosition(mBinding.channel.getSelectedPosition());
@ -549,14 +549,13 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
@Override
public void onItemClick(EpgData item) {
if (item.isFuture() || !mChannel.hasCatchup()) return;
Notify.show(getString(R.string.play_ready, item.getTitle()));
mViewModel.getUrl(mChannel, item);
setActivated(item);
mPlayers.clear();
mPlayers.stop();
showProgress();
hideEpg();
if (item.isSelected()) {
fetch(item);
} else if (mChannel.hasCatchup()) {
Notify.show(getString(R.string.play_ready, item.getTitle()));
setActivated(item);
fetch(item);
}
}
private void addKeep(Channel item) {
@ -612,6 +611,14 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
if (mChannel != null && mChannel.getTvgName().equals(epg.getKey())) setEpg();
}
private void fetch(EpgData item) {
if (mChannel == null) return;
mViewModel.getUrl(mChannel, item);
mPlayers.clear();
mPlayers.stop();
hideEpg();
}
private void fetch() {
if (mChannel == null) return;
LiveConfig.get().setKeep(mChannel);

@ -37,7 +37,9 @@ public class EpgDataPresenter extends Presenter {
holder.binding.title.setText(item.getTitle());
holder.binding.getRoot().setSelected(item.isSelected());
holder.binding.getRoot().setLeftListener(mListener::showUI);
setOnClickListener(holder, view -> mListener.onItemClick(item));
setOnClickListener(holder, view -> {
if (!item.isFuture()) mListener.onItemClick(item);
});
}
@Override

@ -570,7 +570,7 @@ public class LiveActivity extends BaseActivity implements CustomKeyDownLive.List
@Override
public void onItemClick(Channel item) {
if (item.getData().getList().size() > 0 && item.isSelected() && mChannel != null && mChannel.equals(item)) {
if (item.getData().getList().size() > 0 && item.isSelected() && item.equals(mChannel)) {
showEpg(item);
} else {
mGroup.setPosition(mChannelAdapter.setSelected(item.group(mGroup)));
@ -594,14 +594,13 @@ public class LiveActivity extends BaseActivity implements CustomKeyDownLive.List
@Override
public void onItemClick(EpgData item) {
if (item.isFuture() || !mChannel.hasCatchup()) return;
Notify.show(getString(R.string.play_ready, item.getTitle()));
mEpgDataAdapter.setSelected(item);
mViewModel.getUrl(mChannel, item);
mPlayers.clear();
mPlayers.stop();
showProgress();
hideEpg();
if (item.isSelected()) {
fetch(item);
} else if (mChannel.hasCatchup()) {
Notify.show(getString(R.string.play_ready, item.getTitle()));
mEpgDataAdapter.setSelected(item);
fetch(item);
}
}
private void addKeep(Channel item) {
@ -653,6 +652,14 @@ public class LiveActivity extends BaseActivity implements CustomKeyDownLive.List
if (mChannel != null && mChannel.getTvgName().equals(epg.getKey())) setEpg();
}
private void fetch(EpgData item) {
if (mChannel == null) return;
mViewModel.getUrl(mChannel, item);
mPlayers.clear();
mPlayers.stop();
hideEpg();
}
private void fetch() {
if (mChannel == null) return;
LiveConfig.get().setKeep(mChannel);

@ -64,7 +64,9 @@ public class EpgDataAdapter extends RecyclerView.Adapter<EpgDataAdapter.ViewHold
holder.binding.time.setText(item.getTime());
holder.binding.title.setText(item.getTitle());
holder.binding.getRoot().setSelected(item.isSelected());
holder.binding.getRoot().setOnClickListener(view -> mListener.onItemClick(item));
holder.binding.getRoot().setOnClickListener(view -> {
if (!item.isFuture()) mListener.onItemClick(item);
});
}
static class ViewHolder extends RecyclerView.ViewHolder {

Loading…
Cancel
Save