Loading src/com/android/contacts/list/MultiSelectContactsListFragment.java +11 −0 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ import android.net.Uri; import android.os.Bundle; import android.provider.ContactsContract; import android.text.TextUtils; import android.view.accessibility.AccessibilityEvent; import java.util.TreeSet; Loading Loading @@ -125,6 +126,16 @@ public class MultiSelectContactsListFragment extends DefaultContactBrowseListFra 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(); Loading Loading
src/com/android/contacts/list/MultiSelectContactsListFragment.java +11 −0 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ import android.net.Uri; import android.os.Bundle; import android.provider.ContactsContract; import android.text.TextUtils; import android.view.accessibility.AccessibilityEvent; import java.util.TreeSet; Loading Loading @@ -125,6 +126,16 @@ public class MultiSelectContactsListFragment extends DefaultContactBrowseListFra 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(); Loading