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 81f6c51ea..7cb391533 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 @@ -26,6 +26,7 @@ import com.fongmi.android.tv.model.LiveViewModel; import com.fongmi.android.tv.player.Players; import com.fongmi.android.tv.player.source.Force; import com.fongmi.android.tv.ui.custom.CustomKeyDownLive; +import com.fongmi.android.tv.ui.custom.CustomScrollerLive; import com.fongmi.android.tv.ui.presenter.ChannelPresenter; import com.fongmi.android.tv.ui.presenter.GroupPresenter; import com.fongmi.android.tv.utils.Clock; @@ -95,18 +96,14 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick protected void initEvent() { EventBus.getDefault().register(this); getPlayerView().setOnClickListener(view -> toggle()); + mBinding.group.addOnScrollListener(new CustomScrollerLive(this::setUITimer)); + mBinding.channel.addOnScrollListener(new CustomScrollerLive(this::setUITimer)); mBinding.group.addOnChildViewHolderSelectedListener(new OnChildViewHolderSelectedListener() { @Override public void onChildViewHolderSelected(@NonNull RecyclerView parent, @Nullable RecyclerView.ViewHolder child, int position, int subposition) { onChildSelected(child, mGroup = (Group) mGroupAdapter.get(position)); } }); - mBinding.channel.addOnChildViewHolderSelectedListener(new OnChildViewHolderSelectedListener() { - @Override - public void onChildViewHolderSelected(@NonNull RecyclerView parent, @Nullable RecyclerView.ViewHolder child, int position, int subposition) { - setUITimer(); - } - }); } private void setRecyclerView() { @@ -193,7 +190,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick private void setUITimer() { mHandler.removeCallbacks(mR0); - mHandler.postDelayed(mR0, 2000); + mHandler.postDelayed(mR0, 5000); } private void hideInfo() { diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/fragment/VodFragment.java b/app/src/leanback/java/com/fongmi/android/tv/ui/fragment/VodFragment.java index d2d7347e1..8e96cab0a 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/fragment/VodFragment.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/fragment/VodFragment.java @@ -24,7 +24,7 @@ import com.fongmi.android.tv.ui.activity.BaseFragment; import com.fongmi.android.tv.ui.activity.CollectActivity; import com.fongmi.android.tv.ui.activity.DetailActivity; import com.fongmi.android.tv.ui.custom.CustomRowPresenter; -import com.fongmi.android.tv.ui.custom.CustomScroller; +import com.fongmi.android.tv.ui.custom.CustomScrollerVod; import com.fongmi.android.tv.ui.custom.CustomSelector; import com.fongmi.android.tv.ui.presenter.FilterPresenter; import com.fongmi.android.tv.ui.presenter.VodPresenter; @@ -37,14 +37,14 @@ import java.util.HashMap; import java.util.List; import java.util.Objects; -public class VodFragment extends BaseFragment implements CustomScroller.Callback, VodPresenter.OnClickListener { +public class VodFragment extends BaseFragment implements CustomScrollerVod.Callback, VodPresenter.OnClickListener { private HashMap mExtend; private FragmentVodBinding mBinding; + private CustomScrollerVod mScroller; private ArrayObjectAdapter mAdapter; private ArrayObjectAdapter mLast; private SiteViewModel mViewModel; - private CustomScroller mScroller; private List mFilters; private List mTypeIds; private boolean mOpen; @@ -92,7 +92,7 @@ public class VodFragment extends BaseFragment implements CustomScroller.Callback CustomSelector selector = new CustomSelector(); selector.addPresenter(ListRow.class, new CustomRowPresenter(16), VodPresenter.class); selector.addPresenter(ListRow.class, new CustomRowPresenter(8, FocusHighlight.ZOOM_FACTOR_NONE, HorizontalGridView.FOCUS_SCROLL_ALIGNED), FilterPresenter.class); - mBinding.recycler.addOnScrollListener(mScroller = new CustomScroller(this)); + mBinding.recycler.addOnScrollListener(mScroller = new CustomScrollerVod(this)); mBinding.recycler.setAdapter(new ItemBridgeAdapter(mAdapter = new ArrayObjectAdapter(selector))); mBinding.recycler.setHeader(getActivity().findViewById(R.id.recycler)); mBinding.recycler.setVerticalSpacing(ResUtil.dp2px(16)); diff --git a/app/src/main/java/com/fongmi/android/tv/ui/custom/CustomScrollerLive.java b/app/src/main/java/com/fongmi/android/tv/ui/custom/CustomScrollerLive.java new file mode 100644 index 000000000..9809ca50c --- /dev/null +++ b/app/src/main/java/com/fongmi/android/tv/ui/custom/CustomScrollerLive.java @@ -0,0 +1,22 @@ +package com.fongmi.android.tv.ui.custom; + +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; + +public class CustomScrollerLive extends RecyclerView.OnScrollListener { + + private final Callback callback; + + public CustomScrollerLive(Callback callback) { + this.callback = callback; + } + + @Override + public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) { + callback.onScrolled(); + } + + public interface Callback { + void onScrolled(); + } +} diff --git a/app/src/main/java/com/fongmi/android/tv/ui/custom/CustomScroller.java b/app/src/main/java/com/fongmi/android/tv/ui/custom/CustomScrollerVod.java similarity index 90% rename from app/src/main/java/com/fongmi/android/tv/ui/custom/CustomScroller.java rename to app/src/main/java/com/fongmi/android/tv/ui/custom/CustomScrollerVod.java index cdfc6f252..ef908991d 100644 --- a/app/src/main/java/com/fongmi/android/tv/ui/custom/CustomScroller.java +++ b/app/src/main/java/com/fongmi/android/tv/ui/custom/CustomScrollerVod.java @@ -3,14 +3,14 @@ package com.fongmi.android.tv.ui.custom; import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; -public class CustomScroller extends RecyclerView.OnScrollListener { +public class CustomScrollerVod extends RecyclerView.OnScrollListener { private final Callback callback; private boolean loading; private boolean more; private int page; - public CustomScroller(Callback callback) { + public CustomScrollerVod(Callback callback) { this.callback = callback; this.page = 1; }