From 50dbd4077f825bb6e594d652745cd5461db3a9df Mon Sep 17 00:00:00 2001 From: Christian Schneppe Date: Tue, 4 Dec 2018 21:01:08 +0100 Subject: open direct search after hitting + in share with screen --- .../ui/AbstractSearchableListItemActivity.java | 27 ++++++++++++---------- 1 file changed, 15 insertions(+), 12 deletions(-) (limited to 'src/main/java/de/pixart/messenger/ui/AbstractSearchableListItemActivity.java') diff --git a/src/main/java/de/pixart/messenger/ui/AbstractSearchableListItemActivity.java b/src/main/java/de/pixart/messenger/ui/AbstractSearchableListItemActivity.java index 91dc52ecf..01246ad92 100644 --- a/src/main/java/de/pixart/messenger/ui/AbstractSearchableListItemActivity.java +++ b/src/main/java/de/pixart/messenger/ui/AbstractSearchableListItemActivity.java @@ -6,6 +6,7 @@ import android.os.Bundle; import android.support.v7.widget.Toolbar; import android.text.Editable; import android.text.TextWatcher; +import android.view.KeyEvent; import android.view.Menu; import android.view.MenuItem; import android.view.View; @@ -13,6 +14,7 @@ import android.view.inputmethod.InputMethodManager; import android.widget.ArrayAdapter; import android.widget.EditText; import android.widget.ListView; +import android.widget.TextView; import java.util.ArrayList; import java.util.List; @@ -22,7 +24,7 @@ import de.pixart.messenger.databinding.ActivityChooseContactBinding; import de.pixart.messenger.entities.ListItem; import de.pixart.messenger.ui.adapter.ListItemAdapter; -public abstract class AbstractSearchableListItemActivity extends XmppActivity { +public abstract class AbstractSearchableListItemActivity extends XmppActivity implements TextView.OnEditorActionListener { protected ActivityChooseContactBinding binding; private final List listItems = new ArrayList<>(); private ArrayAdapter mListItemsAdapter; @@ -33,15 +35,10 @@ public abstract class AbstractSearchableListItemActivity extends XmppActivity { @Override public boolean onMenuItemActionExpand(final MenuItem item) { - mSearchEditText.post(new Runnable() { - - @Override - public void run() { - mSearchEditText.requestFocus(); - final InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); - imm.showSoftInput(mSearchEditText, - InputMethodManager.SHOW_IMPLICIT); - } + mSearchEditText.post(() -> { + mSearchEditText.requestFocus(); + final InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); + imm.showSoftInput(mSearchEditText, InputMethodManager.SHOW_IMPLICIT); }); return true; @@ -50,8 +47,7 @@ public abstract class AbstractSearchableListItemActivity extends XmppActivity { @Override public boolean onMenuItemActionCollapse(final MenuItem item) { final InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); - imm.hideSoftInputFromWindow(mSearchEditText.getWindowToken(), - InputMethodManager.HIDE_IMPLICIT_ONLY); + imm.hideSoftInputFromWindow(mSearchEditText.getWindowToken(), InputMethodManager.HIDE_IMPLICIT_ONLY); mSearchEditText.setText(""); filterContacts(); return true; @@ -110,6 +106,8 @@ public abstract class AbstractSearchableListItemActivity extends XmppActivity { final View mSearchView = menuSearchView.getActionView(); mSearchEditText = mSearchView.findViewById(R.id.search_field); mSearchEditText.addTextChangedListener(mSearchTextWatcher); + mSearchEditText.setHint(R.string.search_contacts); + mSearchEditText.setOnEditorActionListener(this); menuSearchView.setOnActionExpandListener(mOnActionExpandListener); return true; } @@ -129,4 +127,9 @@ public abstract class AbstractSearchableListItemActivity extends XmppActivity { void onBackendConnected() { filterContacts(); } + + @Override + public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { + return false; + } } -- cgit v1.2.3