package androidx.recyclerview.widget; import android.view.View; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.recyclerview.widget.RecyclerView; public abstract class SimpleItemAnimator extends RecyclerView.ItemAnimator { private static final boolean DEBUG = false; private static final String TAG = "SimpleItemAnimator"; public boolean mSupportsChangeAnimations = true; public abstract boolean animateAdd(RecyclerView.ViewHolder viewHolder); @Override // androidx.recyclerview.widget.RecyclerView.ItemAnimator public boolean animateAppearance(@NonNull RecyclerView.ViewHolder viewHolder, @Nullable RecyclerView.ItemAnimator.ItemHolderInfo itemHolderInfo, @NonNull RecyclerView.ItemAnimator.ItemHolderInfo itemHolderInfo2) { int i; int i2; return (itemHolderInfo == null || ((i = itemHolderInfo.left) == (i2 = itemHolderInfo2.left) && itemHolderInfo.top == itemHolderInfo2.top)) ? animateAdd(viewHolder) : animateMove(viewHolder, i, itemHolderInfo.top, i2, itemHolderInfo2.top); } public abstract boolean animateChange(RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder viewHolder2, int i, int i2, int i3, int i4); @Override // androidx.recyclerview.widget.RecyclerView.ItemAnimator public boolean animateChange(@NonNull RecyclerView.ViewHolder viewHolder, @NonNull RecyclerView.ViewHolder viewHolder2, @NonNull RecyclerView.ItemAnimator.ItemHolderInfo itemHolderInfo, @NonNull RecyclerView.ItemAnimator.ItemHolderInfo itemHolderInfo2) { int i; int i2; int i3 = itemHolderInfo.left; int i4 = itemHolderInfo.top; if (viewHolder2.shouldIgnore()) { int i5 = itemHolderInfo.left; i = itemHolderInfo.top; i2 = i5; } else { i2 = itemHolderInfo2.left; i = itemHolderInfo2.top; } return animateChange(viewHolder, viewHolder2, i3, i4, i2, i); } @Override // androidx.recyclerview.widget.RecyclerView.ItemAnimator public boolean animateDisappearance(@NonNull RecyclerView.ViewHolder viewHolder, @NonNull RecyclerView.ItemAnimator.ItemHolderInfo itemHolderInfo, @Nullable RecyclerView.ItemAnimator.ItemHolderInfo itemHolderInfo2) { int i = itemHolderInfo.left; int i2 = itemHolderInfo.top; View view = viewHolder.itemView; int left = itemHolderInfo2 == null ? view.getLeft() : itemHolderInfo2.left; int top = itemHolderInfo2 == null ? view.getTop() : itemHolderInfo2.top; if (viewHolder.isRemoved() || (i == left && i2 == top)) { return animateRemove(viewHolder); } view.layout(left, top, view.getWidth() + left, view.getHeight() + top); return animateMove(viewHolder, i, i2, left, top); } public abstract boolean animateMove(RecyclerView.ViewHolder viewHolder, int i, int i2, int i3, int i4); @Override // androidx.recyclerview.widget.RecyclerView.ItemAnimator public boolean animatePersistence(@NonNull RecyclerView.ViewHolder viewHolder, @NonNull RecyclerView.ItemAnimator.ItemHolderInfo itemHolderInfo, @NonNull RecyclerView.ItemAnimator.ItemHolderInfo itemHolderInfo2) { int i = itemHolderInfo.left; int i2 = itemHolderInfo2.left; if (i != i2 || itemHolderInfo.top != itemHolderInfo2.top) { return animateMove(viewHolder, i, itemHolderInfo.top, i2, itemHolderInfo2.top); } dispatchMoveFinished(viewHolder); return false; } public abstract boolean animateRemove(RecyclerView.ViewHolder viewHolder); @Override // androidx.recyclerview.widget.RecyclerView.ItemAnimator public boolean canReuseUpdatedViewHolder(@NonNull RecyclerView.ViewHolder viewHolder) { return !this.mSupportsChangeAnimations || viewHolder.isInvalid(); } public final void dispatchAddFinished(RecyclerView.ViewHolder viewHolder) { onAddFinished(viewHolder); dispatchAnimationFinished(viewHolder); } public final void dispatchAddStarting(RecyclerView.ViewHolder viewHolder) { onAddStarting(viewHolder); } public final void dispatchChangeFinished(RecyclerView.ViewHolder viewHolder, boolean z2) { onChangeFinished(viewHolder, z2); dispatchAnimationFinished(viewHolder); } public final void dispatchChangeStarting(RecyclerView.ViewHolder viewHolder, boolean z2) { onChangeStarting(viewHolder, z2); } public final void dispatchMoveFinished(RecyclerView.ViewHolder viewHolder) { onMoveFinished(viewHolder); dispatchAnimationFinished(viewHolder); } public final void dispatchMoveStarting(RecyclerView.ViewHolder viewHolder) { onMoveStarting(viewHolder); } public final void dispatchRemoveFinished(RecyclerView.ViewHolder viewHolder) { onRemoveFinished(viewHolder); dispatchAnimationFinished(viewHolder); } public final void dispatchRemoveStarting(RecyclerView.ViewHolder viewHolder) { onRemoveStarting(viewHolder); } public boolean getSupportsChangeAnimations() { return this.mSupportsChangeAnimations; } public void onAddFinished(RecyclerView.ViewHolder viewHolder) { } public void onAddStarting(RecyclerView.ViewHolder viewHolder) { } public void onChangeFinished(RecyclerView.ViewHolder viewHolder, boolean z2) { } public void onChangeStarting(RecyclerView.ViewHolder viewHolder, boolean z2) { } public void onMoveFinished(RecyclerView.ViewHolder viewHolder) { } public void onMoveStarting(RecyclerView.ViewHolder viewHolder) { } public void onRemoveFinished(RecyclerView.ViewHolder viewHolder) { } public void onRemoveStarting(RecyclerView.ViewHolder viewHolder) { } public void setSupportsChangeAnimations(boolean z2) { this.mSupportsChangeAnimations = z2; } }