Support show site dialog when search

pull/123/head
FongMi 3 years ago
parent 69a42f2f6a
commit 3cfe0e5349
  1. 7
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/SearchActivity.java
  2. 2
      app/src/leanback/java/com/fongmi/android/tv/ui/adapter/KeyboardAdapter.java
  3. 6
      app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomKeyboard.java
  4. 12
      app/src/leanback/java/com/fongmi/android/tv/ui/custom/dialog/SiteDialog.java
  5. 1
      app/src/leanback/java/com/fongmi/android/tv/ui/presenter/SitePresenter.java
  6. 10
      app/src/leanback/res/drawable/ic_keyboard_space.xml

@ -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);

@ -20,7 +20,7 @@ public class KeyboardAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolde
private final List<Object> 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;
}

@ -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();

@ -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;
}

@ -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());

@ -1,10 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="#FFFFFF"
android:viewportWidth="48"
android:viewportHeight="48">
<path
android:fillColor="#FFFFFF"
android:pathData="M8,30V18H11V27H37V18H40V30Z" />
</vector>
Loading…
Cancel
Save