Accessibility Android: Fix states

Using the bit flags as parameters to the JNI functions would fail since
they'd always be cast to false instead of the c-style casts.

This fixes checkboxes reporting themselves as checkable and their check
state.

Task-number: QTBUG-38831
Change-Id: I30ab63ceabbec4cc2fbda9475e05523d915087fe
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
bb10
Frederik Gladhorn 2014-05-08 16:41:44 +02:00 committed by The Qt Project
parent 679cd99f3d
commit 1248eddd14
1 changed files with 5 additions and 6 deletions

View File

@ -215,11 +215,10 @@ if (!clazz) { \
}
CALL_METHOD(node, "setEnabled", "(Z)V", !state.disabled)
//CALL_METHOD(node, "setFocusable", "(Z)V", state.focusable)
CALL_METHOD(node, "setFocusable", "(Z)V", true)
//CALL_METHOD(node, "setFocused", "(Z)V", state.focused)
CALL_METHOD(node, "setCheckable", "(Z)V", state.checkable)
CALL_METHOD(node, "setChecked", "(Z)V", state.checked)
CALL_METHOD(node, "setFocusable", "(Z)V", (bool)state.focusable)
CALL_METHOD(node, "setFocused", "(Z)V", (bool)state.focused)
CALL_METHOD(node, "setCheckable", "(Z)V", (bool)state.checkable)
CALL_METHOD(node, "setChecked", "(Z)V", (bool)state.checked)
CALL_METHOD(node, "setVisibleToUser", "(Z)V", !state.invisible)
if (iface->actionInterface()) {
@ -227,7 +226,7 @@ if (!clazz) { \
bool clickable = actions.contains(QAccessibleActionInterface::pressAction());
bool toggle = actions.contains(QAccessibleActionInterface::toggleAction());
if (clickable || toggle) {
CALL_METHOD(node, "setClickable", "(Z)V", clickable)
CALL_METHOD(node, "setClickable", "(Z)V", (bool)clickable)
CALL_METHOD(node, "addAction", "(I)V", 16) // ACTION_CLICK defined in AccessibilityNodeInfo
}
}