From 407772390f4a1b4e1196820ea22b9327eea54019 Mon Sep 17 00:00:00 2001 From: Leon Scroggins Date: Tue, 18 Jan 2011 16:49:20 -0500 Subject: Make WebView inactive when title bar takes focus. Bug:3296938 Change-Id: I656e8582044acf3b0e9b417f41337833fe72c181 --- core/java/android/webkit/WebTextView.java | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'core/java/android/webkit/WebTextView.java') diff --git a/core/java/android/webkit/WebTextView.java b/core/java/android/webkit/WebTextView.java index 1313fccb8bde..bd5ec7944473 100644 --- a/core/java/android/webkit/WebTextView.java +++ b/core/java/android/webkit/WebTextView.java @@ -132,6 +132,9 @@ import junit.framework.Assert; private boolean mAutoFillable; // Is this textview part of an autofillable form? private int mQueryId; private boolean mAutoFillProfileIsSet; + // Used to determine whether onFocusChanged was called as a result of + // calling remove(). + private boolean mInsideRemove; // Types used with setType. Keep in sync with CachedInput.h private static final int NORMAL_TEXT_FIELD = 0; @@ -540,6 +543,11 @@ import junit.framework.Assert; Rect previouslyFocusedRect) { mFromFocusChange = true; super.onFocusChanged(focused, direction, previouslyFocusedRect); + if (focused) { + mWebView.setActive(true); + } else if (!mInsideRemove) { + mWebView.setActive(false); + } mFromFocusChange = false; } @@ -770,8 +778,10 @@ import junit.framework.Assert; if (imm.isActive(this)) { imm.hideSoftInputFromWindow(getWindowToken(), 0); } + mInsideRemove = true; mWebView.removeView(this); mWebView.requestFocus(); + mInsideRemove = false; } /** -- cgit v1.2.3