Merge "Close the current input method when attached view doesn't have a handler" into jb-mr1-dev

This commit is contained in:
Satoshi Kataoka
2012-10-03 21:02:19 -07:00
committed by Android (Google) Code Review
2 changed files with 6 additions and 3 deletions

View File

@ -1078,8 +1078,11 @@ public final class InputMethodManager {
Handler vh = view.getHandler(); Handler vh = view.getHandler();
if (vh == null) { if (vh == null) {
// If the view doesn't have a handler, something has changed out // If the view doesn't have a handler, something has changed out
// from under us, so just bail. // from under us, so just close the current input.
if (DEBUG) Log.v(TAG, "ABORT input: no handler for view!"); // If we don't close the current input, the current input method can remain on the
// screen without a connection.
if (DEBUG) Log.v(TAG, "ABORT input: no handler for view! Close current input.");
closeCurrentInput();
return false; return false;
} }
if (vh.getLooper() != Looper.myLooper()) { if (vh.getLooper() != Looper.myLooper()) {

View File

@ -1843,7 +1843,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
if (mCurFocusedWindow == windowToken) { if (mCurFocusedWindow == windowToken) {
Slog.w(TAG, "Window already focused, ignoring focus gain of: " + client Slog.w(TAG, "Window already focused, ignoring focus gain of: " + client
+ " attribute=" + attribute); + " attribute=" + attribute + ", token = " + windowToken);
if (attribute != null) { if (attribute != null) {
return startInputUncheckedLocked(cs, inputContext, attribute, return startInputUncheckedLocked(cs, inputContext, attribute,
controlFlags); controlFlags);