From c5c488215434155144886c3a3453dc855f27400a Mon Sep 17 00:00:00 2001 From: FongMi Date: Wed, 14 Sep 2022 22:18:23 +0800 Subject: [PATCH] Clean code and remove release --- .../android/tv/ui/activity/CollectActivity.java | 2 ++ .../android/tv/ui/activity/HomeActivity.java | 3 +-- .../com/fongmi/android/tv/player/Players.java | 10 ---------- .../android/tv/ui/custom/CustomScroller.java | 16 ++++++++++++++-- 4 files changed, 17 insertions(+), 14 deletions(-) diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/CollectActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/CollectActivity.java index 8c0ac7f00..b4355002a 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/CollectActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/CollectActivity.java @@ -24,6 +24,7 @@ import com.fongmi.android.tv.bean.Collect; import com.fongmi.android.tv.bean.Site; import com.fongmi.android.tv.databinding.ActivityCollectBinding; import com.fongmi.android.tv.model.SiteViewModel; +import com.fongmi.android.tv.ui.custom.CustomScroller; import com.fongmi.android.tv.ui.fragment.CollectFragment; import com.fongmi.android.tv.ui.presenter.CollectPresenter; import com.fongmi.android.tv.utils.ResUtil; @@ -71,6 +72,7 @@ public class CollectActivity extends BaseActivity { @Override protected void initEvent() { + mBinding.recycler.addOnScrollListener(new CustomScroller()); mBinding.pager.addOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() { @Override public void onPageSelected(int position) { diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java index c12f02498..34b0d924d 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java @@ -105,8 +105,8 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen selector.addPresenter(ListRow.class, new CustomRowPresenter(16), VodPresenter.class); selector.addPresenter(ListRow.class, new CustomRowPresenter(16), FuncPresenter.class); selector.addPresenter(ListRow.class, new CustomRowPresenter(16), HistoryPresenter.class); - mBinding.recycler.setVerticalSpacing(ResUtil.dp2px(16)); mBinding.recycler.setAdapter(new ItemBridgeAdapter(mAdapter = new ArrayObjectAdapter(selector))); + mBinding.recycler.setVerticalSpacing(ResUtil.dp2px(16)); } private void setViewModel() { @@ -309,7 +309,6 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen protected void onDestroy() { super.onDestroy(); Server.get().stop(); - Players.get().release(); EventBus.getDefault().unregister(this); } } \ No newline at end of file diff --git a/app/src/main/java/com/fongmi/android/tv/player/Players.java b/app/src/main/java/com/fongmi/android/tv/player/Players.java index 4b4cd5a50..56d4413d0 100644 --- a/app/src/main/java/com/fongmi/android/tv/player/Players.java +++ b/app/src/main/java/com/fongmi/android/tv/player/Players.java @@ -156,16 +156,6 @@ public class Players implements Player.Listener, ParseTask.Callback { if (webView != null) webView.stop(false); } - public void release() { - if (exoPlayer != null) { - exoPlayer.removeListener(this); - exoPlayer.release(); - } - if (webView != null) { - webView.destroy(); - } - } - @Override public void onParseSuccess(Map headers, String url, String from) { if (from.length() > 0) Notify.show(ResUtil.getString(R.string.parse_from, from)); 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/CustomScroller.java index b56c22d55..9d3fcc676 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/CustomScroller.java @@ -3,21 +3,33 @@ package com.fongmi.android.tv.ui.custom; import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; +import com.bumptech.glide.Glide; +import com.fongmi.android.tv.App; + public class CustomScroller extends RecyclerView.OnScrollListener { - private final Callback callback; + private Callback callback; private boolean loading; private int page; + public CustomScroller() { + } + public CustomScroller(Callback callback) { this.callback = callback; this.page = 1; } + @Override + public void onScrollStateChanged(@NonNull RecyclerView recyclerView, int newState) { + if (newState == RecyclerView.SCROLL_STATE_IDLE) Glide.with(App.get()).resumeRequests(); + else Glide.with(App.get()).pauseRequests(); + } + @Override public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) { if (isLoading() || recyclerView.getScrollState() == RecyclerView.SCROLL_STATE_IDLE) return; - if (!recyclerView.canScrollVertically(1) && dy > 0) callback.onLoadMore(String.valueOf(++page)); + if (!recyclerView.canScrollVertically(1) && dy > 0 && callback != null) callback.onLoadMore(String.valueOf(++page)); } public void reset() {