summaryrefslogtreecommitdiff
path: root/tools/aapt2/diff/Diff.cpp
diff options
context:
space:
mode:
authorYohei Yukawa <yukawa@google.com>2017-01-04 20:15:02 -0800
committerYohei Yukawa <yukawa@google.com>2017-01-04 20:15:02 -0800
commit817d5f7d3ce051184959f9adfac317f31d39d6fe (patch)
tree5e4e3c59dc9b4f9586d662a903738691e4cba485 /tools/aapt2/diff/Diff.cpp
parent220c4155f7278b04e4005d2159cddc2e259a999b (diff)
Refresh IMMS#mBoundToMethod when IMS is disconnected
It turns out that InputMethodManagerService#mBoundToMethod is not correctly reset to false when the current InputMethodService is killed by the system before IMMS explicitly terminates the connection. As a result, InputMethodService#onBindInput() is not called when the same IMS is reconnected to the IMMS. This also means that IMS#mInputBinding and IMS#mInputConnection remain to be null unexpectedly. Crashes of IMEs and APK replacement of IMEs can trigger such a situation. With this CL, IMMS#onServiceDisconnected() eventually calls IMMS#unbindCurrentClientLocked(). It not only resets IMMS#mBoundToMethod but also updates NavBar icons and closes the IME switcher dialog, but it is probably an acceptable and reasonable behavior change because we have done so when switching the IME. Bug: b.android.com/225029 Bug: 32102706 Test: `adb shell dumpsys input_method | grep "mBoundToMethod"` becomes "false" after the current IME crashes Change-Id: Id87252a1a50029481d08b70afb12f38830bcd1d9
Diffstat (limited to 'tools/aapt2/diff/Diff.cpp')
0 files changed, 0 insertions, 0 deletions