From eda3e34a3cf3468b2e166354abed7c602e6d8eb2 Mon Sep 17 00:00:00 2001 From: okjack Date: Wed, 28 Feb 2024 22:18:45 +0800 Subject: [PATCH 1/2] update --- .../com/fongmi/android/tv/ui/activity/HistoryActivity.java | 3 ++- .../java/com/fongmi/android/tv/ui/activity/HomeActivity.java | 2 ++ .../java/com/fongmi/android/tv/ui/activity/VideoActivity.java | 3 +-- .../java/com/fongmi/android/tv/ui/dialog/EpisodeDialog.java | 3 +-- app/src/main/res/values-zh-rCN/strings.xml | 1 + app/src/main/res/values-zh-rTW/strings.xml | 1 + app/src/main/res/values/strings.xml | 1 + .../java/com/fongmi/android/tv/ui/fragment/VodFragment.java | 3 +++ 8 files changed, 12 insertions(+), 5 deletions(-) diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/HistoryActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/HistoryActivity.java index e5ba1a083..f213b18c7 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/HistoryActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/HistoryActivity.java @@ -6,6 +6,7 @@ import android.view.View; import androidx.recyclerview.widget.GridLayoutManager; import androidx.viewbinding.ViewBinding; +import com.fongmi.android.tv.App; import com.fongmi.android.tv.Product; import com.fongmi.android.tv.bean.History; import com.fongmi.android.tv.databinding.ActivityHistoryBinding; @@ -54,7 +55,7 @@ public class HistoryActivity extends BaseActivity implements HistoryAdapter.OnCl private void getHistory() { mAdapter.addAll(History.get()); mBinding.delete.setVisibility(mAdapter.getItemCount() > 0 ? View.VISIBLE : View.GONE); - mBinding.recycler.requestFocus(); + App.post(() -> mBinding.recycler.requestFocus(), 300); } private void onDelete(View view) { 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 ffad21025..5c1b0755f 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 @@ -401,8 +401,10 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen @Override public void onRefresh() { + Notify.progress(this); FileUtil.clearCache(null); initConfig(); + App.post(() -> Notify.show(ResUtil.getString(R.string.config_refreshed)), 2000); } @Override diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java index af81f49ef..e3eec8c20 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java @@ -397,8 +397,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List int itemCount = getEpisodeView().getAdapter().getItemCount(); if (itemCount <= 0) return; int columns = mEpisodePresenter.getNumColumns(); - int numRows = mEpisodePresenter.getNumRows(); - if (((int)Math.ceil((position + 1)/columns) + 1 == numRows) && (position + columns >= itemCount)) { + if ((position + columns >= itemCount) && ((position % columns) + 1 > (itemCount % columns))) { child.itemView.setOnKeyListener(new View.OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) { diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/dialog/EpisodeDialog.java b/app/src/leanback/java/com/fongmi/android/tv/ui/dialog/EpisodeDialog.java index f16ffa1d3..8d1547b37 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/dialog/EpisodeDialog.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/dialog/EpisodeDialog.java @@ -116,8 +116,7 @@ public class EpisodeDialog extends BaseDialog implements ArrayPresenter.OnClickL int itemCount = binding.episodeVert.getAdapter().getItemCount(); if (itemCount <= 0) return; int columns = mEpisodePresenter.getNumColumns(); - int numRows = mEpisodePresenter.getNumRows(); - if (((int)Math.ceil((position + 1)/columns) + 1 == numRows) && (position + columns >= itemCount)) { + if ((position + columns >= itemCount) && ((position % columns) + 1 > (itemCount % columns))) { child.itemView.setOnKeyListener(new View.OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) { diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 2683ae48b..335fd8784 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -152,6 +152,7 @@ 已复制 + 接口已刷新 全部 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 9dc827b5b..21163e69e 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -152,6 +152,7 @@ 已複製 + 接口已刷新 全部 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 4a8a000da..d3f45f497 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -152,6 +152,7 @@ Copied + Config rereshed All diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/VodFragment.java b/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/VodFragment.java index fe3b77b42..2fec9dcb7 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/VodFragment.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/VodFragment.java @@ -17,6 +17,7 @@ import androidx.viewbinding.ViewBinding; import androidx.viewpager.widget.ViewPager; import com.fongmi.android.tv.App; +import com.fongmi.android.tv.R; import com.fongmi.android.tv.Setting; import com.fongmi.android.tv.api.config.VodConfig; import com.fongmi.android.tv.bean.Class; @@ -48,6 +49,7 @@ import com.fongmi.android.tv.ui.dialog.SiteDialog; import com.fongmi.android.tv.utils.FileChooser; import com.fongmi.android.tv.utils.FileUtil; import com.fongmi.android.tv.utils.Notify; +import com.fongmi.android.tv.utils.ResUtil; import com.github.catvod.net.OkHttp; import com.github.catvod.utils.Trans; import com.google.common.net.HttpHeaders; @@ -211,6 +213,7 @@ public class VodFragment extends BaseFragment implements SiteCallback, FilterCal private boolean onRefresh(View view) { FileUtil.clearCache(null); if (getActivity() instanceof MainActivity) ((MainActivity) getActivity()).initConfig(); + App.post(() -> Notify.show(ResUtil.getString(R.string.config_refreshed)), 2000); return true; } From f90a1135b701ecd35df2142ce00759a02cea01fc Mon Sep 17 00:00:00 2001 From: okjack Date: Thu, 29 Feb 2024 10:09:01 +0800 Subject: [PATCH 2/2] update --- .../tv/ui/activity/HistoryActivity.java | 19 ++++++++++++++++--- .../android/tv/ui/activity/HomeActivity.java | 2 +- .../android/tv/ui/adapter/HistoryAdapter.java | 5 +++-- .../leanback/res/layout/activity_history.xml | 1 + 4 files changed, 21 insertions(+), 6 deletions(-) diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/HistoryActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/HistoryActivity.java index f213b18c7..85e8abd5a 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/HistoryActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/HistoryActivity.java @@ -54,8 +54,11 @@ public class HistoryActivity extends BaseActivity implements HistoryAdapter.OnCl private void getHistory() { mAdapter.addAll(History.get()); - mBinding.delete.setVisibility(mAdapter.getItemCount() > 0 ? View.VISIBLE : View.GONE); - App.post(() -> mBinding.recycler.requestFocus(), 300); + App.post(() -> { + mBinding.delete.setVisibility(mAdapter.getItemCount() > 0 ? View.VISIBLE : View.GONE); + mBinding.delete.setFocusable(true); + }, 500); + mBinding.recycler.requestFocus(); } private void onDelete(View view) { @@ -75,8 +78,18 @@ public class HistoryActivity extends BaseActivity implements HistoryAdapter.OnCl @Override public void onItemDelete(History item) { - mAdapter.delete(item.delete()); + mBinding.delete.setFocusable(false); + int index = mAdapter.delete(item.delete()); if (mAdapter.getItemCount() == 0) mAdapter.setDelete(false); + App.post(() -> { + mBinding.delete.setFocusable(true); + }, 300); + if (mAdapter.getItemCount() > 0) { + int nextIndex = index + 1; + if (index == mAdapter.getItemCount()) nextIndex = index - 1; + View view = mBinding.recycler.getLayoutManager().findViewByPosition(nextIndex); + if (view != null) view.requestFocus(); + } } @Override 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 5c1b0755f..c934efdd8 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 @@ -256,7 +256,7 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen if (mAdapter.size() > index && index > -1) mAdapter.removeItems(index, mAdapter.size() - index); if (getHome().getKey().isEmpty()) return; mViewModel.homeContent(); - mAdapter.add("progress"); + if (Setting.getHomeRecommend() == 1) mAdapter.add("progress"); } private void addVideo(Result result) { diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/adapter/HistoryAdapter.java b/app/src/leanback/java/com/fongmi/android/tv/ui/adapter/HistoryAdapter.java index 2d9b79f1d..01456faf9 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/adapter/HistoryAdapter.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/adapter/HistoryAdapter.java @@ -69,11 +69,12 @@ public class HistoryAdapter extends RecyclerView.Adapter