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 3b3396476..6b89cd34e 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 @@ -109,7 +109,7 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen @Override protected void initEvent() { - mBinding.title.setListener(this); + mBinding.site.setListener(this); mBinding.recycler.addOnChildViewHolderSelectedListener(new OnChildViewHolderSelectedListener() { @Override public void onChildViewHolderSelected(@NonNull RecyclerView parent, @Nullable RecyclerView.ViewHolder child, int position, int subposition) { @@ -203,15 +203,16 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen private void setFocus() { setLoading(false); - App.post(() -> mBinding.title.setFocusable(true), 500); - if (!mBinding.title.hasFocus()) mBinding.recycler.requestFocus(); + mBinding.site.setSelected(true); + App.post(() -> mBinding.site.setFocusable(true), 500); + if (!mBinding.site.hasFocus()) mBinding.recycler.requestFocus(); } private void getVideo() { mResult = Result.empty(); int index = getRecommendIndex(); String title = getHome().getName(); - mBinding.title.setText(title.isEmpty() ? ResUtil.getString(R.string.app_name) : title); + mBinding.site.setText(title.isEmpty() ? getString(R.string.app_name) : title); if (mAdapter.size() > index) mAdapter.removeItems(index, mAdapter.size() - index); if (getHome().getKey().isEmpty()) return; mViewModel.homeContent(); diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomTitleView.java b/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomTitleView.java index 95cffae2b..1921ababf 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomTitleView.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomTitleView.java @@ -42,7 +42,7 @@ public class CustomTitleView extends AppCompatTextView { } private boolean hasEvent(KeyEvent event) { - return !getSites().isEmpty() && (KeyUtil.isEnterKey(event) || KeyUtil.isLeftKey(event) || KeyUtil.isRightKey(event) || (KeyUtil.isUpKey(event) && !coolDown)); + return !getSites().isEmpty() && (KeyUtil.isEnterKey(event) || (KeyUtil.isUpKey(event) && !coolDown)); } @Override @@ -54,21 +54,14 @@ public class CustomTitleView extends AppCompatTextView { @Override public boolean dispatchKeyEvent(KeyEvent event) { - if (hasEvent(event)) return onKeyDown(event); - else return super.dispatchKeyEvent(event); + if (!hasEvent(event)) return super.dispatchKeyEvent(event); + onKeyDown(event); + return true; } - private boolean onKeyDown(KeyEvent event) { - if (event.getAction() == KeyEvent.ACTION_UP && KeyUtil.isEnterKey(event)) { - listener.showDialog(); - } else if (event.getAction() == KeyEvent.ACTION_DOWN && KeyUtil.isLeftKey(event)) { - listener.setSite(getSite(true)); - } else if (event.getAction() == KeyEvent.ACTION_DOWN && KeyUtil.isRightKey(event)) { - listener.setSite(getSite(false)); - } else if (event.getAction() == KeyEvent.ACTION_DOWN && KeyUtil.isUpKey(event)) { - onKeyUp(); - } - return true; + private void onKeyDown(KeyEvent event) { + if (event.getAction() == KeyEvent.ACTION_UP && KeyUtil.isEnterKey(event)) listener.showDialog(); + else if (event.getAction() == KeyEvent.ACTION_DOWN && KeyUtil.isUpKey(event)) onKeyUp(); } private void onKeyUp() { @@ -77,14 +70,6 @@ public class CustomTitleView extends AppCompatTextView { coolDown = true; } - private Site getSite(boolean next) { - List items = getSites(); - int position = VodConfig.getHomeIndex(); - if (next) position = position > 0 ? --position : items.size() - 1; - else position = position < items.size() - 1 ? ++position : 0; - return items.get(position); - } - private List getSites() { List items = new ArrayList<>(); for (Site site : VodConfig.get().getSites()) if (!site.isHide()) items.add(site); diff --git a/app/src/leanback/res/layout/activity_home.xml b/app/src/leanback/res/layout/activity_home.xml index b88f26c14..d957e780f 100644 --- a/app/src/leanback/res/layout/activity_home.xml +++ b/app/src/leanback/res/layout/activity_home.xml @@ -33,11 +33,13 @@ tools:visibility="visible" />