From d9b26ef26aef2e8d2cc22db3cea60584d3fc83f8 Mon Sep 17 00:00:00 2001 From: Taran Singh Date: Tue, 3 Dec 2024 20:56:49 +0000 Subject: Fix usage of KeyEvent modifiers in input method session In [1] we started using KeyEvent#hasModifiers() when the intention was to check if any mentioned key modifier is used. The correct usage would be directly checking for those modifiers e.g.# isCtrlPressed() [1]: I6589cc73839acb6b2c3f9256c664b5db7e1ade8a Fix: 380317043 Test: atest CtsInputMethodTestCases InputMethodServiceTest Flag: android.view.inputmethod.verify_key_event Change-Id: I69cb41d805f5b64f90f8a7c53b0e867a03c94b3e --- .../android/inputmethodservice/IInputMethodSessionWrapper.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/core/java/android/inputmethodservice/IInputMethodSessionWrapper.java b/core/java/android/inputmethodservice/IInputMethodSessionWrapper.java index 9b37533f5b02..9badbf8e2a1b 100644 --- a/core/java/android/inputmethodservice/IInputMethodSessionWrapper.java +++ b/core/java/android/inputmethodservice/IInputMethodSessionWrapper.java @@ -299,9 +299,10 @@ class IInputMethodSessionWrapper extends IInputMethodSession.Stub if (event.hasNoModifiers()) { return false; } - return event.hasModifiers(KeyEvent.META_CTRL_ON) - || event.hasModifiers(KeyEvent.META_ALT_ON) - || event.hasModifiers(KeyEvent.KEYCODE_FUNCTION); + return event.isCtrlPressed() + || event.isAltPressed() + || event.isFunctionPressed() + || event.isMetaPressed(); } private boolean needsVerification(KeyEvent event) { -- cgit v1.2.3-59-g8ed1b