From b5893d0492185561828a3499390c726223a14e96 Mon Sep 17 00:00:00 2001 From: FongMi Date: Tue, 21 Feb 2023 15:35:50 +0800 Subject: [PATCH] [leanback] fix build --- .../java/com/fongmi/android/tv/Product.java | 4 +++- .../android/tv/ui/activity/HomeActivity.java | 4 ++-- .../android/tv/ui/activity/KeepActivity.java | 6 +++--- .../fongmi/android/tv/ui/adapter/KeepAdapter.java | 6 +++--- .../android/tv/ui/fragment/CollectFragment.java | 6 +++--- .../fongmi/android/tv/ui/fragment/VodFragment.java | 14 ++++++++------ .../android/tv/ui/presenter/HistoryPresenter.java | 6 +++--- .../android/tv/ui/presenter/VodPresenter.java | 6 +++--- 8 files changed, 28 insertions(+), 24 deletions(-) diff --git a/app/src/leanback/java/com/fongmi/android/tv/Product.java b/app/src/leanback/java/com/fongmi/android/tv/Product.java index c4ea02588..fcee239e1 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/Product.java +++ b/app/src/leanback/java/com/fongmi/android/tv/Product.java @@ -2,6 +2,8 @@ package com.fongmi.android.tv; import android.content.res.Resources; +import com.fongmi.android.tv.utils.Prefers; + import me.jessyan.autosize.AutoSizeCompat; public class Product { @@ -16,6 +18,6 @@ public class Product { } public static int getColumn() { - return Math.abs(getSize() - 7); + return Math.abs(Prefers.getSize() - 7); } } 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 97b20db3d..3d3364726 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 @@ -14,6 +14,7 @@ import androidx.recyclerview.widget.RecyclerView; import androidx.viewbinding.ViewBinding; import com.fongmi.android.tv.App; +import com.fongmi.android.tv.Product; import com.fongmi.android.tv.R; import com.fongmi.android.tv.api.ApiConfig; import com.fongmi.android.tv.api.LiveConfig; @@ -41,7 +42,6 @@ import com.fongmi.android.tv.ui.presenter.ProgressPresenter; import com.fongmi.android.tv.ui.presenter.VodPresenter; import com.fongmi.android.tv.utils.Clock; import com.fongmi.android.tv.utils.Notify; -import com.fongmi.android.tv.utils.Prefers; import com.fongmi.android.tv.utils.ResUtil; import com.fongmi.android.tv.utils.Utils; import com.google.common.collect.Lists; @@ -158,7 +158,7 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen } private void addVideo(Result result) { - for (List items : Lists.partition(result.getList(), Prefers.getColumn())) { + for (List items : Lists.partition(result.getList(), Product.getColumn())) { ArrayObjectAdapter adapter = new ArrayObjectAdapter(new VodPresenter(this)); adapter.setItems(items, null); mAdapter.add(new ListRow(adapter)); diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/KeepActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/KeepActivity.java index 8f15935a5..5e7267f58 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/KeepActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/KeepActivity.java @@ -6,6 +6,7 @@ import android.content.Intent; import androidx.recyclerview.widget.GridLayoutManager; import androidx.viewbinding.ViewBinding; +import com.fongmi.android.tv.Product; import com.fongmi.android.tv.api.ApiConfig; import com.fongmi.android.tv.bean.Config; import com.fongmi.android.tv.bean.Keep; @@ -14,7 +15,6 @@ import com.fongmi.android.tv.event.RefreshEvent; import com.fongmi.android.tv.net.Callback; import com.fongmi.android.tv.ui.adapter.KeepAdapter; import com.fongmi.android.tv.ui.custom.SpaceItemDecoration; -import com.fongmi.android.tv.utils.Prefers; import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.ThreadMode; @@ -43,8 +43,8 @@ public class KeepActivity extends BaseActivity implements KeepAdapter.OnClickLis mBinding.recycler.setHasFixedSize(true); mBinding.recycler.setItemAnimator(null); mBinding.recycler.setAdapter(mAdapter = new KeepAdapter(this)); - mBinding.recycler.setLayoutManager(new GridLayoutManager(this, Prefers.getColumn())); - mBinding.recycler.addItemDecoration(new SpaceItemDecoration(Prefers.getColumn(), 16)); + mBinding.recycler.setLayoutManager(new GridLayoutManager(this, Product.getColumn())); + mBinding.recycler.addItemDecoration(new SpaceItemDecoration(Product.getColumn(), 16)); } private void getKeep() { diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/adapter/KeepAdapter.java b/app/src/leanback/java/com/fongmi/android/tv/ui/adapter/KeepAdapter.java index 2494f7b48..6e73403e4 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/adapter/KeepAdapter.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/adapter/KeepAdapter.java @@ -7,10 +7,10 @@ import android.view.ViewGroup; import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; +import com.fongmi.android.tv.Product; import com.fongmi.android.tv.bean.Keep; import com.fongmi.android.tv.databinding.AdapterVodBinding; import com.fongmi.android.tv.utils.ImgUtil; -import com.fongmi.android.tv.utils.Prefers; import com.fongmi.android.tv.utils.ResUtil; import java.util.ArrayList; @@ -30,9 +30,9 @@ public class KeepAdapter extends RecyclerView.Adapter { } private void setLayoutSize() { - int space = ResUtil.dp2px(48) + ResUtil.dp2px(16 * (Prefers.getColumn() - 1)); + int space = ResUtil.dp2px(48) + ResUtil.dp2px(16 * (Product.getColumn() - 1)); int base = ResUtil.getScreenWidthPx() - space; - width = base / Prefers.getColumn(); + width = base / Product.getColumn(); height = (int) (width / 0.75f); } diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/fragment/CollectFragment.java b/app/src/leanback/java/com/fongmi/android/tv/ui/fragment/CollectFragment.java index a632b5bb2..d788b8b45 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/fragment/CollectFragment.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/fragment/CollectFragment.java @@ -11,6 +11,7 @@ import androidx.leanback.widget.ItemBridgeAdapter; import androidx.leanback.widget.ListRow; import androidx.viewbinding.ViewBinding; +import com.fongmi.android.tv.Product; import com.fongmi.android.tv.R; import com.fongmi.android.tv.bean.Result; import com.fongmi.android.tv.bean.Vod; @@ -21,7 +22,6 @@ import com.fongmi.android.tv.ui.activity.VodActivity; import com.fongmi.android.tv.ui.custom.CustomRowPresenter; import com.fongmi.android.tv.ui.custom.CustomSelector; import com.fongmi.android.tv.ui.presenter.VodPresenter; -import com.fongmi.android.tv.utils.Prefers; import com.fongmi.android.tv.utils.ResUtil; import com.google.common.collect.Lists; import com.google.gson.Gson; @@ -66,7 +66,7 @@ public class CollectFragment extends BaseFragment implements VodPresenter.OnClic private boolean checkLastSize(List items) { if (mLast == null || items.size() == 0) return false; - int size = Prefers.getColumn() - mLast.size(); + int size = Product.getColumn() - mLast.size(); if (size == 0) return false; size = Math.min(size, items.size()); mLast.addAll(mLast.size(), new ArrayList<>(items.subList(0, size))); @@ -77,7 +77,7 @@ public class CollectFragment extends BaseFragment implements VodPresenter.OnClic public void addVideo(List items) { if (checkLastSize(items) || getActivity() == null || getActivity().isFinishing()) return; List rows = new ArrayList<>(); - for (List part : Lists.partition(items, Prefers.getColumn())) { + for (List part : Lists.partition(items, Product.getColumn())) { mLast = new ArrayObjectAdapter(new VodPresenter(this)); mLast.setItems(part, null); rows.add(new ListRow(mLast)); 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 5e05f01e9..7a6690247 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 @@ -15,6 +15,7 @@ import androidx.leanback.widget.ListRow; import androidx.lifecycle.ViewModelProvider; import androidx.viewbinding.ViewBinding; +import com.fongmi.android.tv.Product; import com.fongmi.android.tv.R; import com.fongmi.android.tv.bean.Filter; import com.fongmi.android.tv.bean.Vod; @@ -28,7 +29,6 @@ import com.fongmi.android.tv.ui.custom.CustomScroller; import com.fongmi.android.tv.ui.custom.CustomSelector; import com.fongmi.android.tv.ui.presenter.FilterPresenter; import com.fongmi.android.tv.ui.presenter.VodPresenter; -import com.fongmi.android.tv.utils.Prefers; import com.fongmi.android.tv.utils.ResUtil; import com.google.common.collect.Lists; @@ -142,7 +142,7 @@ public class VodFragment extends BaseFragment implements CustomScroller.Callback private boolean checkLastSize(List items) { if (mLast == null || items.size() == 0) return false; - int size = Prefers.getColumn() - mLast.size(); + int size = Product.getColumn() - mLast.size(); if (size == 0) return false; size = Math.min(size, items.size()); mLast.addAll(mLast.size(), new ArrayList<>(items.subList(0, size))); @@ -153,7 +153,7 @@ public class VodFragment extends BaseFragment implements CustomScroller.Callback private void addVideo(List items) { if (checkLastSize(items)) return; List rows = new ArrayList<>(); - for (List part : Lists.partition(items, Prefers.getColumn())) { + for (List part : Lists.partition(items, Product.getColumn())) { mLast = new ArrayObjectAdapter(new VodPresenter(this)); mLast.setItems(part, null); rows.add(new ListRow(mLast)); @@ -192,10 +192,12 @@ public class VodFragment extends BaseFragment implements CustomScroller.Callback getVideo(typeId, "1"); } - public boolean canBack() { - if (mTypeIds.size() == 0) return true; + public boolean canGoBack() { + return mTypeIds.size() > 1; + } + + public void goBack() { refresh(2); - return false; } @Override diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/HistoryPresenter.java b/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/HistoryPresenter.java index f7f1f4fad..555796c22 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/HistoryPresenter.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/HistoryPresenter.java @@ -7,12 +7,12 @@ import android.view.ViewGroup; import androidx.annotation.NonNull; import androidx.leanback.widget.Presenter; +import com.fongmi.android.tv.Product; import com.fongmi.android.tv.R; import com.fongmi.android.tv.api.ApiConfig; import com.fongmi.android.tv.bean.History; import com.fongmi.android.tv.databinding.AdapterVodBinding; import com.fongmi.android.tv.utils.ImgUtil; -import com.fongmi.android.tv.utils.Prefers; import com.fongmi.android.tv.utils.ResUtil; public class HistoryPresenter extends Presenter { @@ -44,9 +44,9 @@ public class HistoryPresenter extends Presenter { } private void setLayoutSize() { - int space = ResUtil.dp2px(48) + ResUtil.dp2px(16 * (Prefers.getColumn() - 1)); + int space = ResUtil.dp2px(48) + ResUtil.dp2px(16 * (Product.getColumn() - 1)); int base = ResUtil.getScreenWidthPx() - space; - width = base / Prefers.getColumn(); + width = base / Product.getColumn(); height = (int) (width / 0.75f); } diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/VodPresenter.java b/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/VodPresenter.java index 08996b4d5..fcba7e9e8 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/VodPresenter.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/VodPresenter.java @@ -6,10 +6,10 @@ import android.view.ViewGroup; import androidx.annotation.NonNull; import androidx.leanback.widget.Presenter; +import com.fongmi.android.tv.Product; import com.fongmi.android.tv.bean.Vod; import com.fongmi.android.tv.databinding.AdapterVodBinding; import com.fongmi.android.tv.utils.ImgUtil; -import com.fongmi.android.tv.utils.Prefers; import com.fongmi.android.tv.utils.ResUtil; public class VodPresenter extends Presenter { @@ -30,9 +30,9 @@ public class VodPresenter extends Presenter { } private void setLayoutSize() { - int space = ResUtil.dp2px(48) + ResUtil.dp2px(16 * (Prefers.getColumn() - 1)); + int space = ResUtil.dp2px(48) + ResUtil.dp2px(16 * (Product.getColumn() - 1)); int base = ResUtil.getScreenWidthPx() - space; - width = base / Prefers.getColumn(); + width = base / Product.getColumn(); height = (int) (width / 0.75f); }