diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SearchActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SearchActivity.java index fafc0a872..981343413 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SearchActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SearchActivity.java @@ -145,10 +145,15 @@ public class SearchActivity extends BaseActivity implements WordAdapter.OnClickL @Override public boolean dispatchKeyEvent(KeyEvent event) { - if (Utils.isMenuKey(event)) SiteDialog.create(this).search(true).show(); + if (Utils.isMenuKey(event)) showDialog(); return super.dispatchKeyEvent(event); } + @Override + public void showDialog() { + SiteDialog.create(this).search(true).show(); + } + @Override public void onRemote() { PushActivity.start(this); diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/adapter/KeyboardAdapter.java b/app/src/leanback/java/com/fongmi/android/tv/ui/adapter/KeyboardAdapter.java index f1db4d100..d9ed09339 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/adapter/KeyboardAdapter.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/adapter/KeyboardAdapter.java @@ -20,7 +20,7 @@ public class KeyboardAdapter extends RecyclerView.Adapter mItems; public KeyboardAdapter(OnClickListener listener) { - this.mItems = Arrays.asList(R.drawable.ic_keyboard_remote, R.drawable.ic_keyboard_left, R.drawable.ic_keyboard_space, R.drawable.ic_keyboard_right, R.drawable.ic_keyboard_back, R.drawable.ic_keyboard_search, "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"); + this.mItems = Arrays.asList(R.drawable.ic_keyboard_remote, R.drawable.ic_search_on, R.drawable.ic_keyboard_left, R.drawable.ic_keyboard_right, R.drawable.ic_keyboard_back, R.drawable.ic_keyboard_search, "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"); this.mListener = listener; } diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomKeyboard.java b/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomKeyboard.java index 7217d5674..506e438bf 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomKeyboard.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomKeyboard.java @@ -42,8 +42,8 @@ public class CustomKeyboard implements KeyboardAdapter.OnClickListener { StringBuilder sb = new StringBuilder(binding.keyword.getText().toString()); int cursor = binding.keyword.getSelectionStart(); switch (resId) { - case R.drawable.ic_keyboard_space: - onTextClick(" "); + case R.drawable.ic_search_on: + callback.showDialog(); break; case R.drawable.ic_keyboard_left: binding.keyword.setSelection(--cursor < 0 ? 0 : cursor); @@ -75,6 +75,8 @@ public class CustomKeyboard implements KeyboardAdapter.OnClickListener { public interface Callback { + void showDialog(); + void onRemote(); void onSearch(); diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/custom/dialog/SiteDialog.java b/app/src/leanback/java/com/fongmi/android/tv/ui/custom/dialog/SiteDialog.java index f96ae2336..9e8864bc3 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/custom/dialog/SiteDialog.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/custom/dialog/SiteDialog.java @@ -20,11 +20,9 @@ public class SiteDialog implements SitePresenter.OnClickListener { private final ArrayObjectAdapter adapter; private final DialogSiteBinding binding; + private final SitePresenter presenter; private final SiteCallback callback; private final AlertDialog dialog; - private SitePresenter presenter; - private boolean search; - private boolean filter; public static SiteDialog create(Activity activity) { return new SiteDialog(activity); @@ -38,18 +36,18 @@ public class SiteDialog implements SitePresenter.OnClickListener { } public SiteDialog search(boolean search) { - this.presenter.search(this.search = search); + this.presenter.search(search); return this; } public SiteDialog filter(boolean filter) { - this.presenter.filter(this.filter = filter); + this.presenter.filter(filter); return this; } public SiteDialog all() { - this.presenter.search(this.search = true); - this.presenter.filter(this.filter = true); + this.presenter.search(true); + this.presenter.filter(true); return this; } diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/SitePresenter.java b/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/SitePresenter.java index af85de973..2f4b0f0de 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/SitePresenter.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/SitePresenter.java @@ -52,6 +52,7 @@ public class SitePresenter extends Presenter { public void onBindViewHolder(Presenter.ViewHolder viewHolder, Object object) { Site item = (Site) object; ViewHolder holder = (ViewHolder) viewHolder; + holder.binding.text.setFocusable(!search || filter); holder.binding.text.setText(item.getActivatedName()); holder.binding.filter.setImageResource(item.getFilterIcon()); holder.binding.search.setImageResource(item.getSearchIcon()); diff --git a/app/src/leanback/res/drawable/ic_keyboard_space.xml b/app/src/leanback/res/drawable/ic_keyboard_space.xml deleted file mode 100644 index 82861615c..000000000 --- a/app/src/leanback/res/drawable/ic_keyboard_space.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - \ No newline at end of file