package com.chad.library.adapter.base; import android.graphics.Canvas; import android.view.MotionEvent; import android.view.View; import androidx.core.view.MotionEventCompat; import androidx.recyclerview.widget.ItemTouchHelper; import androidx.recyclerview.widget.RecyclerView; import com.chad.library.R$id; import com.chad.library.adapter.base.BaseViewHolder; import com.chad.library.adapter.base.listener.OnItemDragListener; import com.chad.library.adapter.base.listener.OnItemSwipeListener; import java.util.Collections; import java.util.List; /* loaded from: classes.dex */ public abstract class BaseItemDraggableAdapter extends BaseQuickAdapter { private static final String ERROR_NOT_SAME_ITEMTOUCHHELPER = "Item drag and item swipe should pass the same ItemTouchHelper"; private static final int NO_TOGGLE_VIEW = 0; protected boolean itemDragEnabled; protected boolean itemSwipeEnabled; protected boolean mDragOnLongPress; protected ItemTouchHelper mItemTouchHelper; protected OnItemDragListener mOnItemDragListener; protected OnItemSwipeListener mOnItemSwipeListener; protected View.OnLongClickListener mOnToggleViewLongClickListener; protected View.OnTouchListener mOnToggleViewTouchListener; protected int mToggleViewId; public BaseItemDraggableAdapter(List list) { super(list); this.mToggleViewId = 0; this.itemDragEnabled = false; this.itemSwipeEnabled = false; this.mDragOnLongPress = true; } private boolean inRange(int i) { return i >= 0 && i < this.mData.size(); } public void disableDragItem() { this.itemDragEnabled = false; this.mItemTouchHelper = null; } public void disableSwipeItem() { this.itemSwipeEnabled = false; } public void enableDragItem(ItemTouchHelper itemTouchHelper) { enableDragItem(itemTouchHelper, 0, true); } public void enableSwipeItem() { this.itemSwipeEnabled = true; } public int getViewHolderPosition(RecyclerView.ViewHolder viewHolder) { return viewHolder.getAdapterPosition() - getHeaderLayoutCount(); } public boolean isItemDraggable() { return this.itemDragEnabled; } public boolean isItemSwipeEnable() { return this.itemSwipeEnabled; } public void onItemDragEnd(RecyclerView.ViewHolder viewHolder) { OnItemDragListener onItemDragListener = this.mOnItemDragListener; if (onItemDragListener == null || !this.itemDragEnabled) { return; } onItemDragListener.onItemDragEnd(viewHolder, getViewHolderPosition(viewHolder)); } public void onItemDragMoving(RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder viewHolder2) { int viewHolderPosition = getViewHolderPosition(viewHolder); int viewHolderPosition2 = getViewHolderPosition(viewHolder2); if (inRange(viewHolderPosition) && inRange(viewHolderPosition2)) { if (viewHolderPosition < viewHolderPosition2) { int i = viewHolderPosition; while (i < viewHolderPosition2) { int i2 = i + 1; Collections.swap(this.mData, i, i2); i = i2; } } else { for (int i3 = viewHolderPosition; i3 > viewHolderPosition2; i3--) { Collections.swap(this.mData, i3, i3 - 1); } } notifyItemMoved(viewHolder.getAdapterPosition(), viewHolder2.getAdapterPosition()); } OnItemDragListener onItemDragListener = this.mOnItemDragListener; if (onItemDragListener == null || !this.itemDragEnabled) { return; } onItemDragListener.onItemDragMoving(viewHolder, viewHolderPosition, viewHolder2, viewHolderPosition2); } public void onItemDragStart(RecyclerView.ViewHolder viewHolder) { OnItemDragListener onItemDragListener = this.mOnItemDragListener; if (onItemDragListener == null || !this.itemDragEnabled) { return; } onItemDragListener.onItemDragStart(viewHolder, getViewHolderPosition(viewHolder)); } public void onItemSwipeClear(RecyclerView.ViewHolder viewHolder) { OnItemSwipeListener onItemSwipeListener = this.mOnItemSwipeListener; if (onItemSwipeListener == null || !this.itemSwipeEnabled) { return; } onItemSwipeListener.clearView(viewHolder, getViewHolderPosition(viewHolder)); } public void onItemSwipeStart(RecyclerView.ViewHolder viewHolder) { OnItemSwipeListener onItemSwipeListener = this.mOnItemSwipeListener; if (onItemSwipeListener == null || !this.itemSwipeEnabled) { return; } onItemSwipeListener.onItemSwipeStart(viewHolder, getViewHolderPosition(viewHolder)); } public void onItemSwiped(RecyclerView.ViewHolder viewHolder) { int viewHolderPosition = getViewHolderPosition(viewHolder); if (inRange(viewHolderPosition)) { this.mData.remove(viewHolderPosition); notifyItemRemoved(viewHolder.getAdapterPosition()); } OnItemSwipeListener onItemSwipeListener = this.mOnItemSwipeListener; if (onItemSwipeListener == null || !this.itemSwipeEnabled) { return; } onItemSwipeListener.onItemSwiped(viewHolder, getViewHolderPosition(viewHolder)); } public void onItemSwiping(Canvas canvas, RecyclerView.ViewHolder viewHolder, float f, float f2, boolean z) { OnItemSwipeListener onItemSwipeListener = this.mOnItemSwipeListener; if (onItemSwipeListener == null || !this.itemSwipeEnabled) { return; } onItemSwipeListener.onItemSwipeMoving(canvas, viewHolder, f, f2, z); } public void setOnItemDragListener(OnItemDragListener onItemDragListener) { this.mOnItemDragListener = onItemDragListener; } public void setOnItemSwipeListener(OnItemSwipeListener onItemSwipeListener) { this.mOnItemSwipeListener = onItemSwipeListener; } public void setToggleDragOnLongPress(boolean z) { this.mDragOnLongPress = z; if (this.mDragOnLongPress) { this.mOnToggleViewTouchListener = null; this.mOnToggleViewLongClickListener = new View.OnLongClickListener() { // from class: com.chad.library.adapter.base.BaseItemDraggableAdapter.1 @Override // android.view.View.OnLongClickListener public boolean onLongClick(View view) { BaseItemDraggableAdapter baseItemDraggableAdapter = BaseItemDraggableAdapter.this; ItemTouchHelper itemTouchHelper = baseItemDraggableAdapter.mItemTouchHelper; if (itemTouchHelper == null || !baseItemDraggableAdapter.itemDragEnabled) { return true; } itemTouchHelper.a((RecyclerView.ViewHolder) view.getTag(R$id.BaseQuickAdapter_viewholder_support)); throw null; } }; } else { this.mOnToggleViewTouchListener = new View.OnTouchListener() { // from class: com.chad.library.adapter.base.BaseItemDraggableAdapter.2 @Override // android.view.View.OnTouchListener public boolean onTouch(View view, MotionEvent motionEvent) { if (MotionEventCompat.a(motionEvent) != 0) { return false; } BaseItemDraggableAdapter baseItemDraggableAdapter = BaseItemDraggableAdapter.this; if (baseItemDraggableAdapter.mDragOnLongPress) { return false; } ItemTouchHelper itemTouchHelper = baseItemDraggableAdapter.mItemTouchHelper; if (itemTouchHelper == null || !baseItemDraggableAdapter.itemDragEnabled) { return true; } itemTouchHelper.a((RecyclerView.ViewHolder) view.getTag(R$id.BaseQuickAdapter_viewholder_support)); throw null; } }; this.mOnToggleViewLongClickListener = null; } } public void setToggleViewId(int i) { this.mToggleViewId = i; } public void enableDragItem(ItemTouchHelper itemTouchHelper, int i, boolean z) { this.itemDragEnabled = true; this.mItemTouchHelper = itemTouchHelper; setToggleViewId(i); setToggleDragOnLongPress(z); } @Override // com.chad.library.adapter.base.BaseQuickAdapter, androidx.recyclerview.widget.RecyclerView.Adapter public void onBindViewHolder(K k, int i) { super.onBindViewHolder((BaseItemDraggableAdapter) k, i); int itemViewType = k.getItemViewType(); if (this.mItemTouchHelper == null || !this.itemDragEnabled || itemViewType == 546 || itemViewType == 273 || itemViewType == 1365 || itemViewType == 819) { return; } int i2 = this.mToggleViewId; if (i2 == 0) { k.itemView.setTag(R$id.BaseQuickAdapter_viewholder_support, k); k.itemView.setOnLongClickListener(this.mOnToggleViewLongClickListener); return; } View view = k.getView(i2); if (view != null) { view.setTag(R$id.BaseQuickAdapter_viewholder_support, k); if (this.mDragOnLongPress) { view.setOnLongClickListener(this.mOnToggleViewLongClickListener); } else { view.setOnTouchListener(this.mOnToggleViewTouchListener); } } } public BaseItemDraggableAdapter(int i, List list) { super(i, list); this.mToggleViewId = 0; this.itemDragEnabled = false; this.itemSwipeEnabled = false; this.mDragOnLongPress = true; } }