discord-jadx/app/src/main/java/com/discord/utilities/mg_recycler/DragAndDropHelper.java

114 lines
4.4 KiB
Java

package com.discord.utilities.mg_recycler;
import androidx.recyclerview.widget.ItemTouchHelper;
import androidx.recyclerview.widget.RecyclerView;
import d0.z.d.m;
import kotlin.jvm.internal.DefaultConstructorMarker;
/* compiled from: DragAndDropHelper.kt */
public final class DragAndDropHelper extends ItemTouchHelper.Callback {
public static final Companion Companion = new Companion(null);
private static final int DEFAULT_DRAG_SCROLL_SPEED = 15;
private final Adapter adapter;
private final int dragScrollSpeed;
/* compiled from: DragAndDropHelper.kt */
public interface Adapter {
boolean isValidMove(int i, int i2);
void onDrop();
void onItemMove(int i, int i2);
}
/* compiled from: DragAndDropHelper.kt */
public static final class Companion {
private Companion() {
}
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
this();
}
}
/* compiled from: DragAndDropHelper.kt */
public interface DraggableViewHolder {
boolean canDrag();
void onDragStateChanged(boolean z2);
}
public DragAndDropHelper(Adapter adapter) {
this(adapter, 0, 2, null);
}
public DragAndDropHelper(Adapter adapter, int i) {
m.checkNotNullParameter(adapter, "adapter");
this.adapter = adapter;
this.dragScrollSpeed = i;
}
/* JADX INFO: this call moved to the top of the method (can break code semantics) */
public /* synthetic */ DragAndDropHelper(Adapter adapter, int i, int i2, DefaultConstructorMarker defaultConstructorMarker) {
this(adapter, (i2 & 2) != 0 ? 15 : i);
}
@Override // androidx.recyclerview.widget.ItemTouchHelper.Callback
public void clearView(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder) {
m.checkNotNullParameter(recyclerView, "recyclerView");
m.checkNotNullParameter(viewHolder, "viewHolder");
super.clearView(recyclerView, viewHolder);
((DraggableViewHolder) viewHolder).onDragStateChanged(false);
this.adapter.onDrop();
}
@Override // androidx.recyclerview.widget.ItemTouchHelper.Callback
public int getMovementFlags(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder) {
m.checkNotNullParameter(recyclerView, "recyclerView");
m.checkNotNullParameter(viewHolder, "viewHolder");
return ItemTouchHelper.Callback.makeMovementFlags((viewHolder instanceof DraggableViewHolder) && ((DraggableViewHolder) viewHolder).canDrag() ? 3 : 0, 0);
}
@Override // androidx.recyclerview.widget.ItemTouchHelper.Callback
public int interpolateOutOfBoundsScroll(RecyclerView recyclerView, int i, int i2, int i3, long j) {
m.checkNotNullParameter(recyclerView, "recyclerView");
return this.dragScrollSpeed * ((int) Math.signum((float) i2));
}
@Override // androidx.recyclerview.widget.ItemTouchHelper.Callback
public boolean isItemViewSwipeEnabled() {
return false;
}
@Override // androidx.recyclerview.widget.ItemTouchHelper.Callback
public boolean isLongPressDragEnabled() {
return true;
}
@Override // androidx.recyclerview.widget.ItemTouchHelper.Callback
public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder viewHolder2) {
m.checkNotNullParameter(recyclerView, "recyclerView");
m.checkNotNullParameter(viewHolder, "source");
m.checkNotNullParameter(viewHolder2, "target");
if (!this.adapter.isValidMove(viewHolder.getAdapterPosition(), viewHolder2.getAdapterPosition())) {
return false;
}
this.adapter.onItemMove(viewHolder.getAdapterPosition(), viewHolder2.getAdapterPosition());
return true;
}
@Override // androidx.recyclerview.widget.ItemTouchHelper.Callback
public void onSelectedChanged(RecyclerView.ViewHolder viewHolder, int i) {
if (i == 2) {
DraggableViewHolder draggableViewHolder = (DraggableViewHolder) viewHolder;
m.checkNotNull(draggableViewHolder);
draggableViewHolder.onDragStateChanged(true);
}
super.onSelectedChanged(viewHolder, i);
}
@Override // androidx.recyclerview.widget.ItemTouchHelper.Callback
public void onSwiped(RecyclerView.ViewHolder viewHolder, int i) {
m.checkNotNullParameter(viewHolder, "viewHolder");
}
}