diff options
| author | John Reck <jreck@google.com> | 2011-10-05 18:26:57 -0700 |
|---|---|---|
| committer | John Reck <jreck@google.com> | 2011-10-05 18:26:57 -0700 |
| commit | a607060bbd985560a9fa0218906eddabf522d734 (patch) | |
| tree | a766cba38281212701acbcec473da5a23a3acb7e /core/java/android/webkit/WebTextView.java | |
| parent | afb119c5e19fe74bc99fd7ad2c4bcc21612872a5 (diff) | |
Prevent adapter flickering
Bug: 5403763
Prevent rapidly switching between a null adapter and a valid
adapter by only clearing if the node pointer changes or the text view
is no longer autocompletable.
Change-Id: Ie594396db807b5ad5e1a5a0e68ec0c7677364aaf
Diffstat (limited to 'core/java/android/webkit/WebTextView.java')
| -rw-r--r-- | core/java/android/webkit/WebTextView.java | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/core/java/android/webkit/WebTextView.java b/core/java/android/webkit/WebTextView.java index 092e2b5d6dbc..09be4fe5de09 100644 --- a/core/java/android/webkit/WebTextView.java +++ b/core/java/android/webkit/WebTextView.java @@ -892,7 +892,10 @@ import junit.framework.Assert; * WebTextView represents. */ /* package */ void setNodePointer(int ptr) { - mNodePointer = ptr; + if (ptr != mNodePointer) { + mNodePointer = ptr; + setAdapterCustom(null); + } } /** @@ -1047,11 +1050,12 @@ import junit.framework.Assert; } setHint(null); setThreshold(1); + boolean autoComplete = false; if (single) { mWebView.requestLabel(mWebView.nativeFocusCandidateFramePointer(), mNodePointer); maxLength = mWebView.nativeFocusCandidateMaxLength(); - boolean autoComplete = mWebView.nativeFocusCandidateIsAutoComplete(); + autoComplete = mWebView.nativeFocusCandidateIsAutoComplete(); if (type != PASSWORD && (mAutoFillable || autoComplete)) { String name = mWebView.nativeFocusCandidateName(); if (name != null && name.length() > 0) { @@ -1066,8 +1070,9 @@ import junit.framework.Assert; setInputType(inputType); setImeOptions(imeOptions); setVisibility(VISIBLE); - AutoCompleteAdapter adapter = null; - setAdapterCustom(adapter); + if (!autoComplete) { + setAdapterCustom(null); + } } /** |
