From 68df6eb2c6a91289809791ad2589c8dae3f99250 Mon Sep 17 00:00:00 2001 From: jhengazuki Date: Mon, 27 Oct 2025 02:29:57 +0800 Subject: [PATCH] Clean code --- .../android/tv/ui/activity/HomeActivity.java | 2 +- .../android/tv/ui/activity/KeepActivity.java | 8 ++--- .../android/tv/ui/activity/LiveActivity.java | 2 +- .../android/tv/ui/adapter/ConfigAdapter.java | 13 +------ .../android/tv/ui/adapter/DohAdapter.java | 10 +++--- .../android/tv/ui/adapter/KeepAdapter.java | 35 +++++++++---------- .../android/tv/ui/adapter/LiveAdapter.java | 8 ++--- .../tv/ui/presenter/HistoryPresenter.java | 29 ++++++++------- .../tv/ui/presenter/QuickPresenter.java | 10 +++--- .../android/tv/ui/activity/LiveActivity.java | 2 +- .../android/tv/ui/adapter/ConfigAdapter.java | 13 +------ .../android/tv/ui/adapter/LiveAdapter.java | 8 ++--- .../android/tv/ui/adapter/SiteAdapter.java | 26 +++++++------- 13 files changed, 73 insertions(+), 93 deletions(-) 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 9d47b5b27..6af124ca2 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 @@ -76,8 +76,8 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen private ActivityHomeBinding mBinding; private ArrayObjectAdapter mHistoryAdapter; private ArrayObjectAdapter mFuncAdapter; - private HistoryPresenter mPresenter; private ArrayObjectAdapter mAdapter; + private HistoryPresenter mPresenter; private SiteViewModel mViewModel; private boolean loading; private Result mResult; 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 10ed4bff3..e8cea7239 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 @@ -50,8 +50,7 @@ public class KeepActivity extends BaseActivity implements KeepAdapter.OnClickLis } private void getKeep() { - mAdapter.setItems(Keep.getVod()); - mBinding.progressLayout.showContent(true, mAdapter.getItemCount()); + mAdapter.setItems(Keep.getVod(), () -> mBinding.progressLayout.showContent(true, mAdapter.getItemCount())); } private void loadConfig(Config config, Keep item) { @@ -86,8 +85,9 @@ public class KeepActivity extends BaseActivity implements KeepAdapter.OnClickLis @Override public void onItemDelete(Keep item) { - mAdapter.remove(item.delete()); - if (mAdapter.getItemCount() == 0) mAdapter.setDelete(false); + mAdapter.remove(item.delete(), () -> { + if (mAdapter.getItemCount() == 0) mAdapter.setDelete(false); + }); } @Override 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 9edd9d8f2..a8704963d 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 @@ -558,7 +558,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick public void onItemClick(Channel item) { if (!item.getData().getList().isEmpty() && item.isSelected() && mChannel != null && mChannel.equals(item) && mChannel.getGroup().equals(mGroup)) { showEpg(item); - } else { + } else if (mGroup != null) { mGroup.setPosition(mBinding.channel.getSelectedPosition()); setChannel(item.group(mGroup)); hideUI(); diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/adapter/ConfigAdapter.java b/app/src/leanback/java/com/fongmi/android/tv/ui/adapter/ConfigAdapter.java index 7d781b2ac..b4800894f 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/adapter/ConfigAdapter.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/adapter/ConfigAdapter.java @@ -7,9 +7,6 @@ import android.view.ViewGroup; import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; -import com.fongmi.android.tv.api.config.LiveConfig; -import com.fongmi.android.tv.api.config.VodConfig; -import com.fongmi.android.tv.api.config.WallConfig; import com.fongmi.android.tv.bean.Config; import com.fongmi.android.tv.databinding.AdapterConfigBinding; @@ -39,18 +36,10 @@ public class ConfigAdapter extends RecyclerView.Adapter VodConfig.get().getConfig(); - case 1 -> LiveConfig.get().getConfig(); - default -> WallConfig.get().getConfig(); - }; - } - public int remove(Config item) { int position = mItems.indexOf(item); if (position == -1) return -1; diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/adapter/DohAdapter.java b/app/src/leanback/java/com/fongmi/android/tv/ui/adapter/DohAdapter.java index c96d6b3b6..c92aa6522 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/adapter/DohAdapter.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/adapter/DohAdapter.java @@ -23,6 +23,11 @@ public class DohAdapter extends RecyclerView.Adapter { this.listener = listener; } + public interface OnClickListener { + + void onItemClick(Doh item); + } + public void setSelect(int select) { this.select = select; } @@ -31,11 +36,6 @@ public class DohAdapter extends RecyclerView.Adapter { return select; } - public interface OnClickListener { - - void onItemClick(Doh item); - } - @Override public int getItemCount() { return mItems.size(); 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 5c6d21284..b1b66d8dd 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 @@ -24,13 +24,6 @@ public class KeepAdapter extends BaseDiffAdapter { setLayoutSize(); } - private void setLayoutSize() { - int space = ResUtil.dp2px(48) + ResUtil.dp2px(16 * (Product.getColumn() - 1)); - int base = ResUtil.getScreenWidth() - space; - width = base / Product.getColumn(); - height = (int) (width / 0.75f); - } - public interface OnClickListener { void onItemClick(Keep item); @@ -40,13 +33,28 @@ public class KeepAdapter extends BaseDiffAdapter { boolean onLongClick(); } + private void setLayoutSize() { + int space = ResUtil.dp2px(48) + ResUtil.dp2px(16 * (Product.getColumn() - 1)); + int base = ResUtil.getScreenWidth() - space; + width = base / Product.getColumn(); + height = (int) (width / 0.75f); + } + + public boolean isDelete() { + return delete; + } + public void setDelete(boolean delete) { this.delete = delete; notifyItemRangeChanged(0, getItemCount()); } - public boolean isDelete() { - return delete; + private void setClickListener(View root, Keep item) { + root.setOnLongClickListener(view -> listener.onLongClick()); + root.setOnClickListener(view -> { + if (isDelete()) listener.onItemDelete(item); + else listener.onItemClick(item); + }); } @NonNull @@ -70,14 +78,6 @@ public class KeepAdapter extends BaseDiffAdapter { ImgUtil.load(item.getVodName(), item.getVodPic(), holder.binding.image); } - private void setClickListener(View root, Keep item) { - root.setOnLongClickListener(view -> listener.onLongClick()); - root.setOnClickListener(view -> { - if (isDelete()) listener.onItemDelete(item); - else listener.onItemClick(item); - }); - } - public class ViewHolder extends RecyclerView.ViewHolder { private final AdapterVodBinding binding; @@ -94,7 +94,6 @@ public class KeepAdapter extends BaseDiffAdapter { v.animate().scaleX(1.1f).scaleY(1.1f).setDuration(150).start(); v.setTranslationZ(10f); v.setSelected(true); - v.bringToFront(); } else { v.animate().scaleX(1f).scaleY(1f).setDuration(150).start(); v.setTranslationZ(0f); diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/adapter/LiveAdapter.java b/app/src/leanback/java/com/fongmi/android/tv/ui/adapter/LiveAdapter.java index 76be40815..7f4638db7 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/adapter/LiveAdapter.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/adapter/LiveAdapter.java @@ -24,10 +24,6 @@ public class LiveAdapter extends RecyclerView.Adapter { this.mItems = LiveConfig.get().getLives(); } - public void setAction(boolean action) { - this.action = action; - } - public interface OnClickListener { void onItemClick(Live item); @@ -41,6 +37,10 @@ public class LiveAdapter extends RecyclerView.Adapter { boolean onPassLongClick(Live item); } + public void setAction(boolean action) { + this.action = action; + } + @Override public int getItemCount() { return mItems.size(); 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 7400dcd84..02bcd8f75 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,6 +7,7 @@ import android.view.ViewGroup; import androidx.annotation.NonNull; import androidx.leanback.widget.Presenter; +import com.bumptech.glide.Glide; import com.fongmi.android.tv.Product; import com.fongmi.android.tv.bean.History; import com.fongmi.android.tv.databinding.AdapterVodBinding; @@ -33,6 +34,13 @@ public class HistoryPresenter extends Presenter { boolean onLongClick(); } + private void setLayoutSize() { + int space = ResUtil.dp2px(48) + ResUtil.dp2px(16 * (Product.getColumn() - 1)); + int base = ResUtil.getScreenWidth() - space; + width = base / Product.getColumn(); + height = (int) (width / 0.75f); + } + public boolean isDelete() { return delete; } @@ -41,11 +49,12 @@ public class HistoryPresenter extends Presenter { this.delete = delete; } - private void setLayoutSize() { - int space = ResUtil.dp2px(48) + ResUtil.dp2px(16 * (Product.getColumn() - 1)); - int base = ResUtil.getScreenWidth() - space; - width = base / Product.getColumn(); - height = (int) (width / 0.75f); + private void setClickListener(View root, History item) { + root.setOnLongClickListener(view -> listener.onLongClick()); + root.setOnClickListener(view -> { + if (isDelete()) listener.onItemDelete(item); + else listener.onItemClick(item); + }); } @NonNull @@ -71,16 +80,10 @@ public class HistoryPresenter extends Presenter { ImgUtil.load(item.getVodName(), item.getVodPic(), holder.binding.image); } - private void setClickListener(View root, History item) { - root.setOnLongClickListener(view -> listener.onLongClick()); - root.setOnClickListener(view -> { - if (isDelete()) listener.onItemDelete(item); - else listener.onItemClick(item); - }); - } - @Override public void onUnbindViewHolder(@NonNull Presenter.ViewHolder viewHolder) { + ViewHolder holder = (ViewHolder) viewHolder; + Glide.with(holder.binding.image).clear(holder.binding.image); } public static class ViewHolder extends Presenter.ViewHolder { diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/QuickPresenter.java b/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/QuickPresenter.java index d2d8a3035..6adf9a6b4 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/QuickPresenter.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/QuickPresenter.java @@ -20,17 +20,17 @@ public class QuickPresenter extends Presenter { setLayoutSize(); } + public interface OnClickListener { + + void onItemClick(Vod item); + } + private void setLayoutSize() { int space = ResUtil.dp2px(24) + ResUtil.dp2px(32); int base = ResUtil.getScreenWidth() - space; width = base / 4; } - public interface OnClickListener { - - void onItemClick(Vod item); - } - @NonNull @Override public Presenter.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent) { diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java index ed5bb475e..03434f565 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java @@ -574,7 +574,7 @@ public class LiveActivity extends BaseActivity implements CustomKeyDown.Listener public void onItemClick(Channel item) { if (!item.getData().getList().isEmpty() && item.isSelected() && mChannel != null && mChannel.equals(item) && mChannel.getGroup().equals(mGroup)) { showEpg(item); - } else { + } else if (mGroup != null) { mGroup.setPosition(mChannelAdapter.setSelected(item.group(mGroup))); mChannel = item; setMetadata(); diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/adapter/ConfigAdapter.java b/app/src/mobile/java/com/fongmi/android/tv/ui/adapter/ConfigAdapter.java index abd2d6f9b..0cf9f13b6 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/adapter/ConfigAdapter.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/adapter/ConfigAdapter.java @@ -7,9 +7,6 @@ import android.view.ViewGroup; import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; -import com.fongmi.android.tv.api.config.LiveConfig; -import com.fongmi.android.tv.api.config.VodConfig; -import com.fongmi.android.tv.api.config.WallConfig; import com.fongmi.android.tv.bean.Config; import com.fongmi.android.tv.databinding.AdapterConfigBinding; @@ -39,18 +36,10 @@ public class ConfigAdapter extends RecyclerView.Adapter VodConfig.get().getConfig(); - case 1 -> LiveConfig.get().getConfig(); - default -> WallConfig.get().getConfig(); - }; - } - public int remove(Config item) { int position = mItems.indexOf(item); if (position == -1) return -1; diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/adapter/LiveAdapter.java b/app/src/mobile/java/com/fongmi/android/tv/ui/adapter/LiveAdapter.java index ca932598b..8505dee75 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/adapter/LiveAdapter.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/adapter/LiveAdapter.java @@ -24,10 +24,6 @@ public class LiveAdapter extends RecyclerView.Adapter { this.mItems = LiveConfig.get().getLives(); } - public void setAction(boolean action) { - this.action = action; - } - public interface OnClickListener { void onItemClick(Live item); @@ -41,6 +37,10 @@ public class LiveAdapter extends RecyclerView.Adapter { boolean onPassLongClick(Live item); } + public void setAction(boolean action) { + this.action = action; + } + @Override public int getItemCount() { return mItems.size(); diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/adapter/SiteAdapter.java b/app/src/mobile/java/com/fongmi/android/tv/ui/adapter/SiteAdapter.java index 2d1366d39..2769d5e8f 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/adapter/SiteAdapter.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/adapter/SiteAdapter.java @@ -28,6 +28,19 @@ public class SiteAdapter extends RecyclerView.Adapter { this.addAll(); } + public interface OnClickListener { + + void onTextClick(Site item); + + void onSearchClick(int position, Site item); + + void onChangeClick(int position, Site item); + + boolean onSearchLongClick(Site item); + + boolean onChangeLongClick(Site item); + } + public SiteAdapter search(boolean search) { this.search = search; return this; @@ -46,19 +59,6 @@ public class SiteAdapter extends RecyclerView.Adapter { return mItems; } - public interface OnClickListener { - - void onTextClick(Site item); - - void onSearchClick(int position, Site item); - - void onChangeClick(int position, Site item); - - boolean onSearchLongClick(Site item); - - boolean onChangeLongClick(Site item); - } - @Override public int getItemCount() { return mItems.size();