From ff0641f0682e54c4d357f7c0eb9c8f1036656c5c Mon Sep 17 00:00:00 2001 From: FongMi Date: Wed, 17 Jan 2024 01:56:06 +0800 Subject: [PATCH] Optimize focus logic --- .../java/com/fongmi/android/tv/ui/activity/VideoActivity.java | 3 ++- .../java/com/fongmi/android/tv/ui/base/BaseActivity.java | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) 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 f1b8b67e1..8eb745fdf 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 @@ -719,6 +719,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List mArrayPresenter.setNextFocusUp(findFocusUp(3)); mPartPresenter.setNextFocusUp(findFocusUp(5)); notifyItemChanged(getEpisodeView(), mEpisodeAdapter); + notifyItemChanged(mBinding.quality, mQualityAdapter); notifyItemChanged(mBinding.array, mArrayAdapter); notifyItemChanged(mBinding.part, mPartAdapter); notifyItemChanged(mBinding.flag, mFlagAdapter); @@ -1055,7 +1056,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List } private void setR2Callback() { - App.post(mR2, 1000); + App.post(mR2, 500); } private void setArtwork(String url) { diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/base/BaseActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/base/BaseActivity.java index 3eb891c74..de6620d03 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/base/BaseActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/base/BaseActivity.java @@ -79,6 +79,10 @@ public abstract class BaseActivity extends AppCompatActivity { if (!view.isComputingLayout()) adapter.notifyArrayItemRangeChanged(0, adapter.size()); } + protected void notifyItemChanged(RecyclerView view, RecyclerView.Adapter adapter) { + if (!view.isComputingLayout()) adapter.notifyItemRangeChanged(0, adapter.getItemCount()); + } + private void setBackCallback() { getOnBackPressedDispatcher().addCallback(this, new OnBackPressedCallback(handleBack()) { @Override