diff options
| author | 2023-08-08 13:08:49 -0700 | |
|---|---|---|
| committer | 2024-01-18 12:00:15 +0000 | |
| commit | 2b5fbda551cbf90c8e4de14f0404ad07c07ac4a3 (patch) | |
| tree | c142d004160e5f2bfce4e8865eca68c9d88e24e4 /services/coverage/java | |
| parent | a9156d61fbfd348ac587e9cc579db2669b571745 (diff) | |
RemoteInputConnectionImpl should not call on IMM#isActive()
Historically RemoteInputConnectionImpl has been calling on
InputMethodManager#isActive()
to see if the InputConnection is considered to be active or inactive
when actually handling each incoming InputConnection operation.
However, InputMethodManager#isActive() is also known to be tricky
because it internally calls InputMethodManager#checkFocus(), which can
have non-trivial side effects.
With this CL, RemoteInputConnectionImpl keeps maintains its own
boolean state on whether #deactivate() is already called or not so
that it does not need to rely on IMM#isActive() any more.
For 99% cases there must be no observable behavior change, and for the
remaining 1% cases the new behavior should be more easily
understandable.
Bug: 291826769
Test: atest CtsInputMethodTestCases:InputConnectionHandlerTest#testInputConnectionSideEffect
Merged-In: I2fb9c549da19ff01e7cc3fd8bfc1f9c19aa0f0a8
Change-Id: I2fb9c549da19ff01e7cc3fd8bfc1f9c19aa0f0a8
Diffstat (limited to 'services/coverage/java')
0 files changed, 0 insertions, 0 deletions