@SuppressWarnings("unchecked") @Override public void onSetSwipeBackground(@NonNull RecyclerView.ViewHolder holder, int position, int type) { if (!(mExpandableItemAdapter instanceof BaseExpandableSwipeableItemAdapter)) { return; } final BaseExpandableSwipeableItemAdapter adapter = (BaseExpandableSwipeableItemAdapter) mExpandableItemAdapter; //noinspection UnnecessaryLocalVariable 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) { adapter.onSetGroupItemSwipeBackground(holder, groupPosition, type); } else { adapter.onSetChildItemSwipeBackground(holder, groupPosition, childPosition, type); } }
@SuppressWarnings("unchecked") @Override public void onSwipeItemStarted(@NonNull RecyclerView.ViewHolder holder, int position) { if (!(mExpandableItemAdapter instanceof BaseExpandableSwipeableItemAdapter)) { return; } final BaseExpandableSwipeableItemAdapter adapter = (BaseExpandableSwipeableItemAdapter) mExpandableItemAdapter; //noinspection UnnecessaryLocalVariable 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) { adapter.onSwipeGroupItemStarted(holder, groupPosition); } else { adapter.onSwipeChildItemStarted(holder, groupPosition, childPosition); } }
@SuppressWarnings("unchecked") @Override public int onGetSwipeReactionType(@NonNull RecyclerView.ViewHolder holder, int position, int x, int y) { if (!(mExpandableItemAdapter instanceof BaseExpandableSwipeableItemAdapter)) { return RecyclerViewSwipeManager.REACTION_CAN_NOT_SWIPE_ANY; } final BaseExpandableSwipeableItemAdapter adapter = (BaseExpandableSwipeableItemAdapter) mExpandableItemAdapter; //noinspection UnnecessaryLocalVariable 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 adapter.onGetGroupItemSwipeReactionType(holder, groupPosition, x, y); } else { return adapter.onGetChildItemSwipeReactionType(holder, groupPosition, childPosition, x, y); } }