From 681906e10fde8d4d82c3fa1928effd4f44459b6f Mon Sep 17 00:00:00 2001 From: okjack Date: Fri, 15 Mar 2024 13:40:04 +0800 Subject: [PATCH 1/6] fix home --- .../com/fongmi/android/tv/ui/activity/HomeActivity.java | 9 +++++---- .../com/fongmi/android/tv/ui/fragment/HomeFragment.java | 2 ++ 2 files changed, 7 insertions(+), 4 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 45a652f182..88c67f73ef 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 @@ -319,7 +319,8 @@ public void success() { @Override public void error(String msg) { if (TextUtils.isEmpty(msg) && AppDatabase.getBackup().exists()) onRestore(); - getHomeFragment().mBinding.progressLayout.showContent(); + else if (getHomeFragment().init) getHomeFragment().mBinding.progressLayout.showContent(); + else App.post(() -> getHomeFragment().mBinding.progressLayout.showContent(), 1000); mResult = Result.empty(); Notify.show(msg); } @@ -511,11 +512,11 @@ protected boolean handleBack() { @Override protected void onBackPress() { - if (mBinding.recycler.getSelectedPosition() != 0) { + if (mBinding.recycler.getVisibility() != View.GONE && mBinding.recycler.getSelectedPosition() != 0) { mBinding.recycler.scrollToPosition(0); - } else if (mPageAdapter != null && getHomeFragment().mBinding.progressLayout.isProgress()) { + } else if (mPageAdapter != null && getHomeFragment().init && getHomeFragment().mBinding.progressLayout.isProgress()) { getHomeFragment().mBinding.progressLayout.showContent(); - } else if (mPageAdapter != null && getHomeFragment().mPresenter != null && getHomeFragment().mPresenter.isDelete()) { + } else if (mPageAdapter != null && getHomeFragment().init && getHomeFragment().mPresenter != null && getHomeFragment().mPresenter.isDelete()) { getHomeFragment().setHistoryDelete(false); } else if (getHomeFragment().canBack()) { getHomeFragment().goBack(); diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/fragment/HomeFragment.java b/app/src/leanback/java/com/fongmi/android/tv/ui/fragment/HomeFragment.java index 2dcdbbfad0..325c0e6fc1 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/fragment/HomeFragment.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/fragment/HomeFragment.java @@ -57,6 +57,7 @@ public class HomeFragment extends BaseFragment implements VodPresenter.OnClickLi private ArrayObjectAdapter mHistoryAdapter; public HistoryPresenter mPresenter; private ArrayObjectAdapter mAdapter; + public boolean init; private int homeUI; private String button; @@ -75,6 +76,7 @@ protected void initView() { setRecyclerView(); setAdapter(); initEvent(); + init = true; } @Override From a00a71da9baf96c257c63aa6fe487b1b875e6872 Mon Sep 17 00:00:00 2001 From: okjack Date: Fri, 15 Mar 2024 13:44:51 +0800 Subject: [PATCH 2/6] update --- .../java/com/fongmi/android/tv/ui/activity/HomeActivity.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 88c67f73ef..cebcb89cc1 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 @@ -512,7 +512,7 @@ protected boolean handleBack() { @Override protected void onBackPress() { - if (mBinding.recycler.getVisibility() != View.GONE && mBinding.recycler.getSelectedPosition() != 0) { + if (isVisible(mBinding.recycler) && mBinding.recycler.getSelectedPosition() != 0) { mBinding.recycler.scrollToPosition(0); } else if (mPageAdapter != null && getHomeFragment().init && getHomeFragment().mBinding.progressLayout.isProgress()) { getHomeFragment().mBinding.progressLayout.showContent(); From 2f084e78ceea95b751eae3e02436166efaa6abc8 Mon Sep 17 00:00:00 2001 From: okjack Date: Sat, 16 Mar 2024 17:26:18 +0800 Subject: [PATCH 3/6] update --- .../java/com/fongmi/android/tv/ui/fragment/HomeFragment.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/fragment/HomeFragment.java b/app/src/leanback/java/com/fongmi/android/tv/ui/fragment/HomeFragment.java index 325c0e6fc1..b2cb369fbc 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/fragment/HomeFragment.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/fragment/HomeFragment.java @@ -147,7 +147,7 @@ private ListRow getFuncRow() { private void refreshFuncRow() { if (homeUI == Setting.getHomeUI() && Setting.getHomeButtons(Button.getDefaultButtons()).equals(button)) return; - if (!TextUtils.isEmpty(button)) mAdapter.removeItems(0, 1); + mAdapter.removeItems(0, 1); homeUI = Setting.getHomeUI(); button = Setting.getHomeButtons(Button.getDefaultButtons()); ListRow funcRow = getFuncRow(); From 1b50912f37002c2e14a00a060d7ec133b6e00a30 Mon Sep 17 00:00:00 2001 From: okjack Date: Sat, 16 Mar 2024 23:08:23 +0800 Subject: [PATCH 4/6] update --- .../com/fongmi/android/tv/ui/activity/HomeActivity.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 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 cebcb89cc1..2cd3a33b29 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 @@ -82,6 +82,7 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen private View mOldView; private boolean confirm; private Clock mClock; + private View mFocus; private Site getHome() { return VodConfig.get().getHome(); @@ -197,6 +198,7 @@ public void homeContent() { String title = getHome().getName(); mBinding.title.setText(title.isEmpty() ? ResUtil.getString(R.string.app_name) : title); if (getHome().getKey().isEmpty()) return; + mFocus = getCurrentFocus(); getHomeFragment().mBinding.progressLayout.showProgress(); mViewModel.homeContent(); } @@ -211,7 +213,7 @@ public void setTypes(Result result) { mPageAdapter.notifyDataSetChanged(); getHomeFragment().addVideo(result); getHomeFragment().mBinding.progressLayout.showContent(); - setFocus(); + App.post(() -> setFocus(), 200); } private void setPager() { @@ -466,8 +468,8 @@ public void setLoading(boolean loading) { private void setFocus() { setLoading(false); - App.post(() -> mBinding.title.setFocusable(true), 500); - if (!mBinding.title.hasFocus()) { + if (!mBinding.title.isFocusable()) App.post(() -> mBinding.title.setFocusable(true), 500); + if (mFocus != mBinding.title) { if (Setting.getHomeUI() == 0) getHomeFragment().mBinding.recycler.requestFocus(); else mBinding.recycler.requestFocus(); } From 3fea20369fad6d8ca944cfe4043166568bd14eaa Mon Sep 17 00:00:00 2001 From: okjack Date: Sun, 17 Mar 2024 00:27:38 +0800 Subject: [PATCH 5/6] build.gradle --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 5e988bd9a6..6cbcc19bb8 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ android { applicationId "com.fongmi.android.tv" minSdk 21 targetSdk 28 - versionCode 230 - versionName "0315" + versionCode 231 + versionName "2.3.1" javaCompileOptions { annotationProcessorOptions { arguments = ["room.schemaLocation": "$projectDir/schemas".toString()] From 4277e62db68db0723d48ccfaac15a67f67b6f241 Mon Sep 17 00:00:00 2001 From: okjack Date: Sun, 17 Mar 2024 00:34:15 +0800 Subject: [PATCH 6/6] update --- .../java/com/fongmi/android/tv/ui/fragment/HomeFragment.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/fragment/HomeFragment.java b/app/src/leanback/java/com/fongmi/android/tv/ui/fragment/HomeFragment.java index b2cb369fbc..325c0e6fc1 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/fragment/HomeFragment.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/fragment/HomeFragment.java @@ -147,7 +147,7 @@ private ListRow getFuncRow() { private void refreshFuncRow() { if (homeUI == Setting.getHomeUI() && Setting.getHomeButtons(Button.getDefaultButtons()).equals(button)) return; - mAdapter.removeItems(0, 1); + if (!TextUtils.isEmpty(button)) mAdapter.removeItems(0, 1); homeUI = Setting.getHomeUI(); button = Setting.getHomeButtons(Button.getDefaultButtons()); ListRow funcRow = getFuncRow();