Fix last change -- don't call startInputInner() with lock held.

Change-Id: Ie7a145c5a07f08ae8a3f5954a1c389bfbd946b69
This commit is contained in:
Dianne Hackborn
2012-02-16 10:25:26 -08:00
parent e8e0527aa6
commit 06a591cdd6

View File

@ -336,6 +336,7 @@ public final class InputMethodManager {
}
case MSG_UNBIND: {
final int sequence = msg.arg1;
boolean startInput = false;
synchronized (mH) {
if (mBindSequence == sequence) {
if (false) {
@ -356,10 +357,13 @@ public final class InputMethodManager {
mServedConnecting = true;
}
if (mActive) {
startInput = true;
}
}
}
if (startInput) {
startInputInner();
}
}
}
return;
}
case MSG_SET_ACTIVE: {
@ -1209,12 +1213,13 @@ public final class InputMethodManager {
mService.windowGainedFocus(mClient, rootView.getWindowToken(),
focusedView != null, isTextEditor, softInputMode, first,
windowFlags);
if (startInput) {
startInputInner();
}
} catch (RemoteException e) {
}
}
if (startInput) {
startInputInner();
}
}
/** @hide */