Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 89025ff0 authored by Yohei Yukawa's avatar Yohei Yukawa
Browse files

Fix a background NPE in A11yIME

This is a follow up CL to my previous CL [1], which aimed to clean up
A11yIME without changing any semantics.  One thing I overlooked is that

  android.accessibilityservice.InputMethod#mStartedInputConnection

can be set to null at any time (on the UI thread) and

  InputMethod.SessionImpl#invalidateInput()

needs to gracefully do early-exit as needed.

 [1]: I5ff2e804cbcf90828370a0612ff54111130bdff4
      c60176c1

Fix: 245973012
Test: atest CtsInputMethodTestCases:AccessibilityInputMethodTest
Test: atest CtsAccessibilityServiceTestCases:AccessibilityInputConnectionTest
Test: atest CtsAccessibilityServiceTestCases:AccessibilityImeTest
Change-Id: I3bacff7772d20660bfdbeff724a0d19b5f0e6fe4
parent 1eaf0fad
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -517,7 +517,8 @@ public class InputMethod {
        @Override
        public void invalidateInput(EditorInfo editorInfo,
                IRemoteAccessibilityInputConnection connection, int sessionId) {
            if (!mStartedInputConnection.isSameConnection(connection)) {
            if (!mEnabled || mStartedInputConnection == null
                    || !mStartedInputConnection.isSameConnection(connection)) {
                // This is not an error, and can be safely ignored.
                return;
            }