diff options
| author | 2011-01-11 12:41:52 -0800 | |
|---|---|---|
| committer | 2011-01-11 12:41:52 -0800 | |
| commit | 9fafe4e0ebab270591a505f1f07fd2e5489a16f7 (patch) | |
| tree | 6ef3dd1b72b4b1ab2bb62c523c09fceb0e5a79c9 | |
| parent | 033376f6f0cb65f4cf5862c92ca0bf8ad5895566 (diff) | |
| parent | 7014b12873068f109f58b9d0ad4116fd8d4bf22f (diff) | |
Merge "Find when pressing enter. Call onClickListener in TextView." into honeycomb
| -rw-r--r-- | core/java/android/webkit/FindActionModeCallback.java | 30 | ||||
| -rw-r--r-- | core/java/android/widget/TextView.java | 3 |
2 files changed, 22 insertions, 11 deletions
diff --git a/core/java/android/webkit/FindActionModeCallback.java b/core/java/android/webkit/FindActionModeCallback.java index 700d313c8d4e..a322fa3d160d 100644 --- a/core/java/android/webkit/FindActionModeCallback.java +++ b/core/java/android/webkit/FindActionModeCallback.java @@ -34,7 +34,7 @@ import android.view.View; import android.view.inputmethod.InputMethodManager; class FindActionModeCallback implements ActionMode.Callback, TextWatcher, - View.OnLongClickListener { + View.OnLongClickListener, View.OnClickListener { private View mCustomView; private EditText mEditText; private TextView mMatches; @@ -53,6 +53,7 @@ class FindActionModeCallback implements ActionMode.Callback, TextWatcher, // Override long click so that select ActionMode is not opened, which // would exit find ActionMode. mEditText.setOnLongClickListener(this); + mEditText.setOnClickListener(this); setText(""); mMatches = (TextView) mCustomView.findViewById( com.android.internal.R.id.matches); @@ -105,7 +106,17 @@ class FindActionModeCallback implements ActionMode.Callback, TextWatcher, throw new AssertionError( "No WebView for FindActionModeCallback::findNext"); } + if (!mMatchesFound) { + findAll(); + return; + } + if (0 == mNumberOfMatches) { + // There are no matches, so moving to the next match will not do + // anything. + return; + } mWebView.findNext(next); + updateMatchesString(); } /* @@ -158,6 +169,13 @@ class FindActionModeCallback implements ActionMode.Callback, TextWatcher, @Override public boolean onLongClick(View v) { return true; } + // OnClickListener implementation + + @Override + public void onClick(View v) { + findNext(true); + } + // ActionMode.Callback implementation @Override @@ -193,15 +211,6 @@ class FindActionModeCallback implements ActionMode.Callback, TextWatcher, "No WebView for FindActionModeCallback::onActionItemClicked"); } mInput.hideSoftInputFromWindow(mWebView.getWindowToken(), 0); - if (!mMatchesFound) { - findAll(); - return true; - } - if (0 == mNumberOfMatches) { - // There are no matches, so moving to the next match will not do - // anything. - return true; - } switch(item.getItemId()) { case com.android.internal.R.id.find_prev: findNext(false); @@ -212,7 +221,6 @@ class FindActionModeCallback implements ActionMode.Callback, TextWatcher, default: return false; } - updateMatchesString(); return true; } diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java index 7675e0cb7c52..a1c286fb1ca4 100644 --- a/core/java/android/widget/TextView.java +++ b/core/java/android/widget/TextView.java @@ -4672,6 +4672,9 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener // don't let it be inserted into the text. if ((event.getFlags() & KeyEvent.FLAG_EDITOR_ACTION) != 0 || shouldAdvanceFocusOnEnter()) { + if (mOnClickListener != null) { + return 0; + } return -1; } } |