@SuppressWarnings("unchecked")
boolean onTapItem(@NonNull RecyclerView.ViewHolder holder, int position, int x, int y) {
if (mExpandableItemAdapter == null) {
return false;
}
final int flatPosition = position;
final long expandablePosition = mPositionTranslator.getExpandablePosition(flatPosition);
final int groupPosition = ExpandableAdapterHelper.getPackedPositionGroup(expandablePosition);
final int childPosition = ExpandableAdapterHelper.getPackedPositionChild(expandablePosition);
if (childPosition != RecyclerView.NO_POSITION) {
return false;
}
final boolean expand = !(mPositionTranslator.isGroupExpanded(groupPosition));
boolean result = mExpandableItemAdapter.onCheckCanExpandOrCollapseGroup(holder, groupPosition, x, y, expand);
if (!result) {
return false;
}
if (expand) {
expandGroup(groupPosition, true, null);
} else {
collapseGroup(groupPosition, true, null);
}
return true;
}