Skip to content
Commit 2553e488 authored by Yohei Yukawa's avatar Yohei Yukawa
Browse files

Make IMM more robust for window focus stealing

This CL is a generalized version of my previous CL [1], which addresed
Bug 31056744 where InputMethodManager (IMM) fails to recover from
failure mode when IMMS#startInputOrWindowGainedFocus() failes because
the app's window is no longer eligible to be the IME target.

This CL finally addressed one TODO in that CL. InputBindResult now has
the error code, which allows us to force restart input upon the next
window-focus-in event.  This should make IMM much more robust for
that kind of failure modes.  For instance, Bug 70629102 is fixed as
demonstrated in a newly added CTS test case [2].  Hopefully this may
also fix Bug 31056744, which we still do not know how to reproduce.

 [1]: I60adb38013b063918b074c7b947649eada77b2c8
      8e9214b4
 [2]: I4ea24c87cbbd05e4e68ad7dfafb774c8520188e2

Bug: 31056744
Fixes: 70629102
Test: Added a test case for Bug 70629102
      atest CtsInputMethodTestCases
Test: Manually made sure that Bug 28281870 is still fixed:
      1. Open app that has EditText.
      2. Start Input.
      3. Long press the task switch button to start multi-window mode.
      4. Tap the EditText that is used in step 2.
      5. Make sure that the IME still works as expected
Test: atest CtsViewTestCates
Change-Id: I7572d4b9d678f3669ca54d55718877b145015777
parent 14b1f3ed
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment