Merge "Clean-up a workaround that is no longer necessary." into nyc-dev
This commit is contained in:
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user