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

Commit 433a1ad2 authored by Taran Singh's avatar Taran Singh
Browse files

Add null check for IM#getInputDevice(id) in IMMS

InputManager#getInputDevice can return null. Always null-check.

Fix: 240606389
Test: atest CtsInputMethodTestCases
Change-Id: I7593d26f839520c10944ce6b3746b611ccaeaf64
parent 953c2f9b
Loading
Loading
Loading
Loading
+9 −4
Original line number Diff line number Diff line
@@ -4360,7 +4360,8 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub
        im.registerInputDeviceListener(new InputManager.InputDeviceListener() {
            @Override
            public void onInputDeviceAdded(int deviceId) {
                if (isStylusDevice(im.getInputDevice(deviceId))) {
                InputDevice device = im.getInputDevice(deviceId);
                if (device != null && isStylusDevice(device)) {
                    add(deviceId);
                }
            }
@@ -4372,7 +4373,11 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub

            @Override
            public void onInputDeviceChanged(int deviceId) {
                if (isStylusDevice(im.getInputDevice(deviceId))) {
                InputDevice device = im.getInputDevice(deviceId);
                if (device == null) {
                    return;
                }
                if (isStylusDevice(device)) {
                    add(deviceId);
                } else {
                    remove(deviceId);
@@ -4471,8 +4476,8 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub
            if (!im.isInputDeviceEnabled(id)) {
                continue;
            }
            InputDevice inputDevice = im.getInputDevice(id);
            if (isStylusDevice(inputDevice)) {
            InputDevice device = im.getInputDevice(id);
            if (device != null && isStylusDevice(device)) {
                stylusIds.add(id);
            }
        }