am f880f3dc: Merge "Enable Talkback for long clicking contacts" into ub-contactsdialer-a-dev
* commit 'f880f3dc5ba09565b5803f3abc3277a77b62abe5':
Enable Talkback for long clicking contacts
diff --git a/src/com/android/contacts/list/MultiSelectContactsListFragment.java b/src/com/android/contacts/list/MultiSelectContactsListFragment.java
index bbb0d84..2465fb5 100644
--- a/src/com/android/contacts/list/MultiSelectContactsListFragment.java
+++ b/src/com/android/contacts/list/MultiSelectContactsListFragment.java
@@ -25,6 +25,7 @@
import android.os.Bundle;
import android.provider.ContactsContract;
import android.text.TextUtils;
+import android.view.accessibility.AccessibilityEvent;
import java.util.TreeSet;
@@ -125,6 +126,16 @@
mCheckBoxListListener.onStartDisplayingCheckBoxes();
}
getAdapter().toggleSelectionOfContactId(Long.valueOf(contactId));
+ // Sending an accessibility event of TYPE_VIEW_CLICKED and forcing Talkback to be
+ // performed on the checkbox.
+ // We need to:
+ // 1. consider the difference between position and adjPosition;
+ // 2. make sure the list item is not null before sending the event.
+ final int adjPosition = position + getListView().getHeaderViewsCount();
+ if (getListView() != null && adjPosition < getListView().getChildCount()) {
+ getListView().getChildAt(adjPosition).sendAccessibilityEvent(AccessibilityEvent
+ .TYPE_VIEW_CLICKED);
+ }
}
}
final int nowSelectedCount = getAdapter().getSelectedContactIds().size();