discord-jadx/app/src/main/java/androidx/recyclerview/widget/SimpleItemAnimator.java

142 lines
5.8 KiB
Java

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;
}
}