package androidx.recyclerview.widget; import android.animation.Animator; import android.graphics.Canvas; import android.view.View; import android.view.animation.Interpolator; import androidx.core.view.ViewCompat; import androidx.recyclerview.R$dimen; import androidx.recyclerview.widget.RecyclerView; import java.util.List; /* loaded from: classes.dex */ public class ItemTouchHelper extends RecyclerView.ItemDecoration implements RecyclerView.OnChildAttachStateChangeListener { public static abstract class Callback { private static final int ABS_HORIZONTAL_DIR_FLAGS = 789516; public static final int DEFAULT_DRAG_ANIMATION_DURATION = 200; public static final int DEFAULT_SWIPE_ANIMATION_DURATION = 250; private static final long DRAG_SCROLL_ACCELERATION_LIMIT_TIME_MS = 2000; static final int RELATIVE_DIR_FLAGS = 3158064; private static final Interpolator sDragScrollInterpolator = new Interpolator() { // from class: androidx.recyclerview.widget.ItemTouchHelper.Callback.1 @Override // android.animation.TimeInterpolator public float getInterpolation(float f) { return f * f * f * f * f; } }; private static final Interpolator sDragViewScrollCapInterpolator = new Interpolator() { // from class: androidx.recyclerview.widget.ItemTouchHelper.Callback.2 @Override // android.animation.TimeInterpolator public float getInterpolation(float f) { float f2 = f - 1.0f; return (f2 * f2 * f2 * f2 * f2) + 1.0f; } }; private int mCachedMaxScrollSpeed = -1; public static int convertToRelativeDirection(int i, int i2) { int i3; int i4 = i & ABS_HORIZONTAL_DIR_FLAGS; if (i4 == 0) { return i; } int i5 = i & (~i4); if (i2 == 0) { i3 = i4 << 2; } else { int i6 = i4 << 1; i5 |= (-789517) & i6; i3 = (i6 & ABS_HORIZONTAL_DIR_FLAGS) << 2; } return i5 | i3; } public static ItemTouchUIUtil getDefaultUIUtil() { return ItemTouchUIUtilImpl.a; } private int getMaxDragScroll(RecyclerView recyclerView) { if (this.mCachedMaxScrollSpeed == -1) { this.mCachedMaxScrollSpeed = recyclerView.getResources().getDimensionPixelSize(R$dimen.item_touch_helper_max_drag_scroll_per_frame); } return this.mCachedMaxScrollSpeed; } public static int makeFlag(int i, int i2) { return i2 << (i * 8); } public static int makeMovementFlags(int i, int i2) { return makeFlag(2, i) | makeFlag(1, i2) | makeFlag(0, i2 | i); } public boolean canDropOver(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder viewHolder2) { return true; } public RecyclerView.ViewHolder chooseDropTarget(RecyclerView.ViewHolder viewHolder, List list, int i, int i2) { int i3; int bottom; int top; int abs; int left; int abs2; int right; int width = i + viewHolder.itemView.getWidth(); int height = i2 + viewHolder.itemView.getHeight(); int left2 = i - viewHolder.itemView.getLeft(); int top2 = i2 - viewHolder.itemView.getTop(); int size = list.size(); RecyclerView.ViewHolder viewHolder2 = null; int i4 = -1; for (int i5 = 0; i5 < size; i5++) { RecyclerView.ViewHolder viewHolder3 = list.get(i5); if (left2 <= 0 || (right = viewHolder3.itemView.getRight() - width) >= 0 || viewHolder3.itemView.getRight() <= viewHolder.itemView.getRight() || (i3 = Math.abs(right)) <= i4) { i3 = i4; } else { viewHolder2 = viewHolder3; } if (left2 < 0 && (left = viewHolder3.itemView.getLeft() - i) > 0 && viewHolder3.itemView.getLeft() < viewHolder.itemView.getLeft() && (abs2 = Math.abs(left)) > i3) { i3 = abs2; viewHolder2 = viewHolder3; } if (top2 < 0 && (top = viewHolder3.itemView.getTop() - i2) > 0 && viewHolder3.itemView.getTop() < viewHolder.itemView.getTop() && (abs = Math.abs(top)) > i3) { i3 = abs; viewHolder2 = viewHolder3; } if (top2 <= 0 || (bottom = viewHolder3.itemView.getBottom() - height) >= 0 || viewHolder3.itemView.getBottom() <= viewHolder.itemView.getBottom() || (i4 = Math.abs(bottom)) <= i3) { i4 = i3; } else { viewHolder2 = viewHolder3; } } return viewHolder2; } public void clearView(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder) { ItemTouchUIUtilImpl.a.a(viewHolder.itemView); } public int convertToAbsoluteDirection(int i, int i2) { int i3; int i4 = i & RELATIVE_DIR_FLAGS; if (i4 == 0) { return i; } int i5 = i & (~i4); if (i2 == 0) { i3 = i4 >> 2; } else { int i6 = i4 >> 1; i5 |= (-3158065) & i6; i3 = (i6 & RELATIVE_DIR_FLAGS) >> 2; } return i5 | i3; } final int getAbsoluteMovementFlags(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder) { return convertToAbsoluteDirection(getMovementFlags(recyclerView, viewHolder), ViewCompat.k(recyclerView)); } public long getAnimationDuration(RecyclerView recyclerView, int i, float f, float f2) { RecyclerView.ItemAnimator itemAnimator = recyclerView.getItemAnimator(); return itemAnimator == null ? i == 8 ? 200L : 250L : i == 8 ? itemAnimator.e() : itemAnimator.f(); } public int getBoundingBoxMargin() { return 0; } public abstract float getMoveThreshold(RecyclerView.ViewHolder viewHolder); public abstract int getMovementFlags(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder); public float getSwipeEscapeVelocity(float f) { return f; } public abstract float getSwipeThreshold(RecyclerView.ViewHolder viewHolder); public float getSwipeVelocityThreshold(float f) { return f; } boolean hasDragFlag(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder) { return (getAbsoluteMovementFlags(recyclerView, viewHolder) & 16711680) != 0; } boolean hasSwipeFlag(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder) { return (getAbsoluteMovementFlags(recyclerView, viewHolder) & 65280) != 0; } public int interpolateOutOfBoundsScroll(RecyclerView recyclerView, int i, int i2, int i3, long j) { int signum = (int) (((int) (((int) Math.signum(i2)) * getMaxDragScroll(recyclerView) * sDragViewScrollCapInterpolator.getInterpolation(Math.min(1.0f, (Math.abs(i2) * 1.0f) / i)))) * sDragScrollInterpolator.getInterpolation(j <= DRAG_SCROLL_ACCELERATION_LIMIT_TIME_MS ? j / 2000.0f : 1.0f)); return signum == 0 ? i2 > 0 ? 1 : -1 : signum; } public abstract boolean isItemViewSwipeEnabled(); public abstract boolean isLongPressDragEnabled(); public void onChildDraw(Canvas canvas, RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, float f, float f2, int i, boolean z) { ItemTouchUIUtilImpl.a.b(canvas, recyclerView, viewHolder.itemView, f, f2, i, z); } public void onChildDrawOver(Canvas canvas, RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, float f, float f2, int i, boolean z) { ItemTouchUIUtilImpl.a.a(canvas, recyclerView, viewHolder.itemView, f, f2, i, z); } void onDraw(Canvas canvas, RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, List list, int i, float f, float f2) { int size = list.size(); for (int i2 = 0; i2 < size; i2++) { RecoverAnimation recoverAnimation = list.get(i2); recoverAnimation.a(); int save = canvas.save(); onChildDraw(canvas, recyclerView, recoverAnimation.e, recoverAnimation.h, recoverAnimation.i, recoverAnimation.f, false); canvas.restoreToCount(save); } if (viewHolder != null) { int save2 = canvas.save(); onChildDraw(canvas, recyclerView, viewHolder, f, f2, i, true); canvas.restoreToCount(save2); } } void onDrawOver(Canvas canvas, RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, List list, int i, float f, float f2) { int size = list.size(); boolean z = false; for (int i2 = 0; i2 < size; i2++) { RecoverAnimation recoverAnimation = list.get(i2); int save = canvas.save(); onChildDrawOver(canvas, recyclerView, recoverAnimation.e, recoverAnimation.h, recoverAnimation.i, recoverAnimation.f, false); canvas.restoreToCount(save); } if (viewHolder != null) { int save2 = canvas.save(); onChildDrawOver(canvas, recyclerView, viewHolder, f, f2, i, true); canvas.restoreToCount(save2); } for (int i3 = size - 1; i3 >= 0; i3--) { RecoverAnimation recoverAnimation2 = list.get(i3); if (recoverAnimation2.j && !recoverAnimation2.g) { list.remove(i3); } else if (!recoverAnimation2.j) { z = true; } } if (z) { recyclerView.invalidate(); } } public abstract boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder viewHolder2); /* JADX WARN: Multi-variable type inference failed */ public void onMoved(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, int i, RecyclerView.ViewHolder viewHolder2, int i2, int i3, int i4) { RecyclerView.LayoutManager layoutManager = recyclerView.getLayoutManager(); if (layoutManager instanceof ViewDropHandler) { ((ViewDropHandler) layoutManager).a(viewHolder.itemView, viewHolder2.itemView, i3, i4); return; } if (layoutManager.a()) { if (layoutManager.f(viewHolder2.itemView) <= recyclerView.getPaddingLeft()) { recyclerView.j(i2); } if (layoutManager.i(viewHolder2.itemView) >= recyclerView.getWidth() - recyclerView.getPaddingRight()) { recyclerView.j(i2); } } if (layoutManager.b()) { if (layoutManager.j(viewHolder2.itemView) <= recyclerView.getPaddingTop()) { recyclerView.j(i2); } if (layoutManager.e(viewHolder2.itemView) >= recyclerView.getHeight() - recyclerView.getPaddingBottom()) { recyclerView.j(i2); } } } public void onSelectedChanged(RecyclerView.ViewHolder viewHolder, int i) { if (viewHolder != null) { ItemTouchUIUtilImpl.a.b(viewHolder.itemView); } } public abstract void onSwiped(RecyclerView.ViewHolder viewHolder, int i); } private static class RecoverAnimation implements Animator.AnimatorListener { final float a; final float b; final float c; final float d; final RecyclerView.ViewHolder e; final int f; boolean g; float h; float i; boolean j; private float k; public void a(float f) { this.k = f; } @Override // android.animation.Animator.AnimatorListener public void onAnimationCancel(Animator animator) { a(1.0f); } @Override // android.animation.Animator.AnimatorListener public void onAnimationEnd(Animator animator) { if (!this.j) { this.e.setIsRecyclable(true); } this.j = true; } @Override // android.animation.Animator.AnimatorListener public void onAnimationRepeat(Animator animator) { } @Override // android.animation.Animator.AnimatorListener public void onAnimationStart(Animator animator) { } public void a() { float f = this.a; float f2 = this.c; if (f == f2) { this.h = this.e.itemView.getTranslationX(); } else { this.h = f + (this.k * (f2 - f)); } float f3 = this.b; float f4 = this.d; if (f3 == f4) { this.i = this.e.itemView.getTranslationY(); } else { this.i = f3 + (this.k * (f4 - f3)); } } } public interface ViewDropHandler { void a(View view, View view2, int i, int i2); } public void a(RecyclerView.ViewHolder viewHolder) { throw null; } }