diff options
| -rw-r--r-- | core/java/android/view/inputmethod/InputMethodManager.java | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/core/java/android/view/inputmethod/InputMethodManager.java b/core/java/android/view/inputmethod/InputMethodManager.java index 74afced453fa..7e720ffbcbce 100644 --- a/core/java/android/view/inputmethod/InputMethodManager.java +++ b/core/java/android/view/inputmethod/InputMethodManager.java @@ -632,6 +632,8 @@ public final class InputMethodManager { private final DelegateImpl mDelegate = new DelegateImpl(); + private static boolean sPreventImeStartupUnlessTextEditor; + // ----------------------------------------------------------- private static final int MSG_DUMP = 1; @@ -1435,6 +1437,10 @@ public final class InputMethodManager { // display case. final Looper looper = displayId == Display.DEFAULT_DISPLAY ? Looper.getMainLooper() : context.getMainLooper(); + // Keep track of whether to expect the IME to be unavailable so as to avoid log spam in + // sendInputEventOnMainLooperLocked() by not logging a verbose message on every DPAD event + sPreventImeStartupUnlessTextEditor = context.getResources().getBoolean( + com.android.internal.R.bool.config_preventImeStartupUnlessTextEditor); return forContextInternal(displayId, looper); } @@ -3364,8 +3370,12 @@ public final class InputMethodManager { return DISPATCH_IN_PROGRESS; } - Log.w(TAG, "Unable to send input event to IME: " + getImeIdLocked() - + " dropping: " + event); + if (sPreventImeStartupUnlessTextEditor) { + Log.d(TAG, "Dropping event because IME is evicted: " + event); + } else { + Log.w(TAG, "Unable to send input event to IME: " + getImeIdLocked() + + " dropping: " + event); + } } return DISPATCH_NOT_HANDLED; } |