Merge "Clean-up a workaround that is no longer necessary." into nyc-dev

This commit is contained in:
Yohei Yukawa
2016-03-28 17:55:24 +00:00
committed by Android (Google) Code Review

View File

@@ -493,12 +493,7 @@ public final class InputMethodManager {
// Check focus again in case that "onWindowFocus" is called before // Check focus again in case that "onWindowFocus" is called before
// handling this message. // handling this message.
if (mServedView != null && mServedView.hasWindowFocus()) { if (mServedView != null && mServedView.hasWindowFocus()) {
// Please note that this handler thread could be different if (checkFocusNoStartInput(mHasBeenInactive)) {
// from a thread that created mServedView. That could happen
// the current activity is running in the system process.
// In that case, we really should not call
// mServedInputConnectionWrapper.finishComposingText().
if (checkFocusNoStartInput(mHasBeenInactive, false)) {
final int reason = active ? final int reason = active ?
InputMethodClient.START_INPUT_REASON_ACTIVATED_BY_IMMS : InputMethodClient.START_INPUT_REASON_ACTIVATED_BY_IMMS :
InputMethodClient.START_INPUT_REASON_DEACTIVATED_BY_IMMS; InputMethodClient.START_INPUT_REASON_DEACTIVATED_BY_IMMS;
@@ -1372,12 +1367,12 @@ public final class InputMethodManager {
* @hide * @hide
*/ */
public void checkFocus() { public void checkFocus() {
if (checkFocusNoStartInput(false, true)) { if (checkFocusNoStartInput(false)) {
startInputInner(InputMethodClient.START_INPUT_REASON_CHECK_FOCUS, null, 0, 0, 0); startInputInner(InputMethodClient.START_INPUT_REASON_CHECK_FOCUS, null, 0, 0, 0);
} }
} }
private boolean checkFocusNoStartInput(boolean forceNewFocus, boolean finishComposingText) { private boolean checkFocusNoStartInput(boolean forceNewFocus) {
// This is called a lot, so short-circuit before locking. // This is called a lot, so short-circuit before locking.
if (mServedView == mNextServedView && !forceNewFocus) { if (mServedView == mNextServedView && !forceNewFocus) {
return false; return false;
@@ -1411,7 +1406,7 @@ public final class InputMethodManager {
mServedConnecting = true; mServedConnecting = true;
} }
if (finishComposingText && ic != null) { if (ic != null) {
ic.finishComposingText(); ic.finishComposingText();
} }
@@ -1457,7 +1452,7 @@ public final class InputMethodManager {
controlFlags |= CONTROL_WINDOW_FIRST; controlFlags |= CONTROL_WINDOW_FIRST;
} }
if (checkFocusNoStartInput(forceNewFocus, true)) { if (checkFocusNoStartInput(forceNewFocus)) {
// We need to restart input on the current focus view. This // We need to restart input on the current focus view. This
// should be done in conjunction with telling the system service // should be done in conjunction with telling the system service
// about the window gaining focus, to help make the transition // about the window gaining focus, to help make the transition