Fix last change -- don't call startInputInner() with lock held.
Change-Id: Ie7a145c5a07f08ae8a3f5954a1c389bfbd946b69
This commit is contained in:
@ -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 */
|
||||
|
Reference in New Issue
Block a user