Loading core/java/android/widget/ExpandableListView.java +14 −6 Original line number Diff line number Diff line Loading @@ -31,6 +31,7 @@ import android.view.ContextMenu; import android.view.ContextMenu.ContextMenuInfo; import android.view.SoundEffectConstants; import android.view.View; import android.view.accessibility.AccessibilityEvent; import android.view.accessibility.AccessibilityNodeInfo; import android.widget.ExpandableListConnector.PositionMetadata; Loading Loading @@ -660,7 +661,11 @@ public class ExpandableListView extends ListView { // Internally handle the item click final int adjustedPosition = getFlatPositionForConnector(position); return handleItemClick(v, adjustedPosition, id); final boolean clicked = handleItemClick(v, adjustedPosition, id); if (v != null) { v.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_CLICKED); } return clicked; } /** Loading Loading @@ -1150,15 +1155,18 @@ public class ExpandableListView extends ListView { public void onInitializeAccessibilityNodeInfoForItem( View view, int position, AccessibilityNodeInfo info) { super.onInitializeAccessibilityNodeInfoForItem(view, position, info); final PositionMetadata metadata = mConnector.getUnflattenedPos(position); if (metadata.position.type == ExpandableListPosition.GROUP) { if (view != null && view.isEnabled()) { info.setClickable(true); info.addAction(AccessibilityNodeInfo.AccessibilityAction.ACTION_CLICK); if (isGroupExpanded(metadata.position.groupPos)) { info.addAction(AccessibilityNodeInfo.AccessibilityAction.ACTION_COLLAPSE); } else { info.addAction(AccessibilityNodeInfo.AccessibilityAction.ACTION_EXPAND); } } } metadata.recycle(); } Loading Loading
core/java/android/widget/ExpandableListView.java +14 −6 Original line number Diff line number Diff line Loading @@ -31,6 +31,7 @@ import android.view.ContextMenu; import android.view.ContextMenu.ContextMenuInfo; import android.view.SoundEffectConstants; import android.view.View; import android.view.accessibility.AccessibilityEvent; import android.view.accessibility.AccessibilityNodeInfo; import android.widget.ExpandableListConnector.PositionMetadata; Loading Loading @@ -660,7 +661,11 @@ public class ExpandableListView extends ListView { // Internally handle the item click final int adjustedPosition = getFlatPositionForConnector(position); return handleItemClick(v, adjustedPosition, id); final boolean clicked = handleItemClick(v, adjustedPosition, id); if (v != null) { v.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_CLICKED); } return clicked; } /** Loading Loading @@ -1150,15 +1155,18 @@ public class ExpandableListView extends ListView { public void onInitializeAccessibilityNodeInfoForItem( View view, int position, AccessibilityNodeInfo info) { super.onInitializeAccessibilityNodeInfoForItem(view, position, info); final PositionMetadata metadata = mConnector.getUnflattenedPos(position); if (metadata.position.type == ExpandableListPosition.GROUP) { if (view != null && view.isEnabled()) { info.setClickable(true); info.addAction(AccessibilityNodeInfo.AccessibilityAction.ACTION_CLICK); if (isGroupExpanded(metadata.position.groupPos)) { info.addAction(AccessibilityNodeInfo.AccessibilityAction.ACTION_COLLAPSE); } else { info.addAction(AccessibilityNodeInfo.AccessibilityAction.ACTION_EXPAND); } } } metadata.recycle(); } Loading