diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/accessibility/KeyboardAccessibilityDelegate.kt b/app/src/main/java/org/dslul/openboard/inputmethod/accessibility/KeyboardAccessibilityDelegate.kt index 556662c8f..abf9338a9 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/accessibility/KeyboardAccessibilityDelegate.kt +++ b/app/src/main/java/org/dslul/openboard/inputmethod/accessibility/KeyboardAccessibilityDelegate.kt @@ -112,7 +112,7 @@ open class KeyboardAccessibilityDelegate(protected val mKeyb * @param event The hover event. * @return key The key that the `event` is on. */ - protected fun getHoverKeyOf(event: MotionEvent): Key { + protected fun getHoverKeyOf(event: MotionEvent): Key? { val actionIndex = event.actionIndex val x = event.getX(actionIndex).toInt() val y = event.getY(actionIndex).toInt() @@ -145,7 +145,7 @@ open class KeyboardAccessibilityDelegate(protected val mKeyb if (DEBUG_HOVER) { Log.d(TAG, "onHoverEnter: key=$key") } - key.let { onHoverEnterTo(it) } + key?.let { onHoverEnterTo(it) } mLastHoverKey = key } @@ -159,9 +159,9 @@ open class KeyboardAccessibilityDelegate(protected val mKeyb val key = getHoverKeyOf(event) if (key !== lastKey) { lastKey?.let { onHoverExitFrom(it) } - key.let { onHoverEnterTo(it) } + key?.let { onHoverEnterTo(it) } } - key.let { onHoverMoveWithin(it) } + key?.let { onHoverMoveWithin(it) } mLastHoverKey = key } @@ -179,8 +179,8 @@ open class KeyboardAccessibilityDelegate(protected val mKeyb val key = getHoverKeyOf(event) // Make sure we're not getting an EXIT event because the user slid // off the keyboard area, then force a key press. - performClickOn(key) - onHoverExitFrom(key) + key?.let { performClickOn(it) + onHoverExitFrom(it) } mLastHoverKey = null } diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/accessibility/KeyboardAccessibilityNodeProvider.kt b/app/src/main/java/org/dslul/openboard/inputmethod/accessibility/KeyboardAccessibilityNodeProvider.kt index 8aaca4101..9154e3d3c 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/accessibility/KeyboardAccessibilityNodeProvider.kt +++ b/app/src/main/java/org/dslul/openboard/inputmethod/accessibility/KeyboardAccessibilityNodeProvider.kt @@ -209,7 +209,7 @@ class KeyboardAccessibilityNodeProvider(keyboardView: KV, } override fun performAction(virtualViewId: Int, action: Int, - arguments: Bundle): Boolean { + arguments: Bundle?): Boolean { val key = getKeyOf(virtualViewId) ?: return false return performActionForKey(key, action) } @@ -300,4 +300,4 @@ class KeyboardAccessibilityNodeProvider(keyboardView: KV, // call to setKeyboard() and therefore need to call it now. setKeyboard(keyboardView!!.keyboard) } -} \ No newline at end of file +}