Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2b24957d authored by Leon Scroggins's avatar Leon Scroggins Committed by Android (Google) Code Review
Browse files

Merge "Do not show the dropdown unless there is something to show."

parents 540380fb 03e0119c
Loading
Loading
Loading
Loading
+32 −26
Original line number Diff line number Diff line
@@ -67,7 +67,8 @@ import junit.framework.Assert;
 * to overlay html textfields (and textareas) to use our standard
 * text editing.
 */
/* package */ class WebTextView extends AutoCompleteTextView {
/* package */ class WebTextView extends AutoCompleteTextView
        implements AdapterView.OnItemClickListener {

    static final String LOGTAG = "webtextview";

@@ -558,6 +559,27 @@ import junit.framework.Assert;
        mFromFocusChange = false;
    }

    // AdapterView.OnItemClickListener implementation

    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        if (id == 0 && position == 0) {
            // Blank out the text box while we wait for WebCore to fill the form.
            replaceText("");
            WebSettings settings = mWebView.getSettings();
            if (mAutoFillProfileIsSet) {
                // Call a webview method to tell WebCore to autofill the form.
                mWebView.autoFillForm(mQueryId);
            } else {
                // There is no autofill profile setup yet and the user has
                // elected to try and set one up. Call through to the
                // embedder to action that.
                mWebView.getWebChromeClient().setupAutoFill(
                        mHandler.obtainMessage(AUTOFILL_FORM));
            }
        }
    }

    @Override
    protected void onScrollChanged(int l, int t, int oldl, int oldt) {
        super.onScrollChanged(l, t, oldl, oldt);
@@ -814,33 +836,16 @@ import junit.framework.Assert;
            setInputType(getInputType()
                    | EditorInfo.TYPE_TEXT_FLAG_AUTO_COMPLETE);
            adapter.setTextView(this);
        }
        super.setAdapter(adapter);
            if (mAutoFillable) {
            setOnItemClickListener(new AdapterView.OnItemClickListener() {
                @Override
                public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                    if (id == 0 && position == 0) {
                        // Blank out the text box while we wait for WebCore to fill the form.
                        replaceText("");
                        WebSettings settings = mWebView.getSettings();
                        if (mAutoFillProfileIsSet) {
                            // Call a webview method to tell WebCore to autofill the form.
                            mWebView.autoFillForm(mQueryId);
                        } else {
                            // There is no autofill profile setup yet and the user has
                            // elected to try and set one up. Call through to the
                            // embedder to action that.
                            mWebView.getWebChromeClient().setupAutoFill(
                                    mHandler.obtainMessage(AUTOFILL_FORM));
                        }
                    }
                }
            });
                setOnItemClickListener(this);
            } else {
                setOnItemClickListener(null);
            }
            showDropDown();
        } else {
            dismissDropDown();
        }
        super.setAdapter(adapter);
    }

    /**
@@ -858,6 +863,7 @@ import junit.framework.Assert;
        /**
         * {@inheritDoc}
         */
        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            TextView tv =
                    (TextView) super.getView(position, convertView, parent);