discord-jadx/app/src/main/java/com/discord/widgets/servers/SettingsChannelListAdapter....

649 lines
26 KiB
Java

package com.discord.widgets.servers;
import a0.a.a.b;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import androidx.recyclerview.widget.ItemTouchHelper;
import androidx.recyclerview.widget.RecyclerView;
import c.d.b.a.a;
import com.airbnb.lottie.parser.AnimatableValueParser;
import com.discord.api.channel.Channel;
import com.discord.databinding.SettingsChannelListCategoryItemBinding;
import com.discord.databinding.SettingsChannelListItemBinding;
import com.discord.utilities.mg_recycler.CategoricalDragAndDropAdapter;
import com.discord.utilities.mg_recycler.DragAndDropHelper;
import com.discord.utilities.mg_recycler.MGRecyclerViewHolder;
import d0.t.h0;
import d0.t.n;
import d0.z.d.m;
import java.util.HashMap;
import java.util.Map;
import kotlin.Unit;
import kotlin.jvm.functions.Function1;
import kotlin.jvm.internal.DefaultConstructorMarker;
import rx.functions.Action1;
/* compiled from: SettingsChannelListAdapter.kt */
public final class SettingsChannelListAdapter extends CategoricalDragAndDropAdapter<CategoricalDragAndDropAdapter.Payload> {
public static final Companion Companion = new Companion(null);
public static final int TYPE_CATEGORY = 1;
public static final int TYPE_CHANNEL = 0;
private Function1<? super Long, Unit> onClickListener;
private Function1<? super Map<Long, UpdatedPosition>, Unit> onPositionUpdateListener;
/* compiled from: SettingsChannelListAdapter.kt */
public static final class CategoryItem implements CategoricalDragAndDropAdapter.Payload {
private final boolean canManageCategory;
private final boolean canManageChannelsOfCategory;
/* renamed from: id reason: collision with root package name */
private final long f2161id;
private final boolean isDraggable;
private final String key;
private final String name;
private final int pos;
private final int type = 1;
public CategoryItem(String str, long j, int i, boolean z2, boolean z3, boolean z4) {
this.name = str;
this.f2161id = j;
this.pos = i;
this.isDraggable = z2;
this.canManageCategory = z3;
this.canManageChannelsOfCategory = z4;
this.key = String.valueOf(j);
}
private final int component3() {
return this.pos;
}
public static /* synthetic */ CategoryItem copy$default(CategoryItem categoryItem, String str, long j, int i, boolean z2, boolean z3, boolean z4, int i2, Object obj) {
if ((i2 & 1) != 0) {
str = categoryItem.name;
}
if ((i2 & 2) != 0) {
j = categoryItem.f2161id;
}
if ((i2 & 4) != 0) {
i = categoryItem.pos;
}
if ((i2 & 8) != 0) {
z2 = categoryItem.isDraggable;
}
if ((i2 & 16) != 0) {
z3 = categoryItem.canManageCategory;
}
if ((i2 & 32) != 0) {
z4 = categoryItem.canManageChannelsOfCategory;
}
return categoryItem.copy(str, j, i, z2, z3, z4);
}
public final String component1() {
return this.name;
}
public final long component2() {
return this.f2161id;
}
public final boolean component4() {
return this.isDraggable;
}
public final boolean component5() {
return this.canManageCategory;
}
public final boolean component6() {
return this.canManageChannelsOfCategory;
}
public final CategoryItem copy(String str, long j, int i, boolean z2, boolean z3, boolean z4) {
return new CategoryItem(str, j, i, z2, z3, z4);
}
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (!(obj instanceof CategoryItem)) {
return false;
}
CategoryItem categoryItem = (CategoryItem) obj;
return m.areEqual(this.name, categoryItem.name) && this.f2161id == categoryItem.f2161id && this.pos == categoryItem.pos && this.isDraggable == categoryItem.isDraggable && this.canManageCategory == categoryItem.canManageCategory && this.canManageChannelsOfCategory == categoryItem.canManageChannelsOfCategory;
}
public final boolean getCanManageCategory() {
return this.canManageCategory;
}
public final boolean getCanManageChannelsOfCategory() {
return this.canManageChannelsOfCategory;
}
@Override // com.discord.utilities.mg_recycler.CategoricalDragAndDropAdapter.Payload
public String getCategory() {
return String.valueOf(getType());
}
public final long getId() {
return this.f2161id;
}
@Override // com.discord.utilities.mg_recycler.MGRecyclerDataPayload, com.discord.utilities.recycler.DiffKeyProvider
public String getKey() {
return this.key;
}
public final String getName() {
return this.name;
}
@Override // com.discord.utilities.mg_recycler.DragAndDropAdapter.Payload
public int getPosition() {
return this.pos;
}
@Override // com.discord.utilities.mg_recycler.MGRecyclerDataPayload
public int getType() {
return this.type;
}
public int hashCode() {
String str = this.name;
int a = (((b.a(this.f2161id) + ((str != null ? str.hashCode() : 0) * 31)) * 31) + this.pos) * 31;
boolean z2 = this.isDraggable;
int i = 1;
if (z2) {
z2 = true;
}
int i2 = z2 ? 1 : 0;
int i3 = z2 ? 1 : 0;
int i4 = z2 ? 1 : 0;
int i5 = (a + i2) * 31;
boolean z3 = this.canManageCategory;
if (z3) {
z3 = true;
}
int i6 = z3 ? 1 : 0;
int i7 = z3 ? 1 : 0;
int i8 = z3 ? 1 : 0;
int i9 = (i5 + i6) * 31;
boolean z4 = this.canManageChannelsOfCategory;
if (!z4) {
i = z4 ? 1 : 0;
}
return i9 + i;
}
public final boolean isDraggable() {
return this.isDraggable;
}
public String toString() {
StringBuilder K = a.K("CategoryItem(name=");
K.append(this.name);
K.append(", id=");
K.append(this.f2161id);
K.append(", pos=");
K.append(this.pos);
K.append(", isDraggable=");
K.append(this.isDraggable);
K.append(", canManageCategory=");
K.append(this.canManageCategory);
K.append(", canManageChannelsOfCategory=");
return a.F(K, this.canManageChannelsOfCategory, ")");
}
}
/* compiled from: SettingsChannelListAdapter.kt */
public static final class CategoryListItem extends MGRecyclerViewHolder<SettingsChannelListAdapter, CategoricalDragAndDropAdapter.Payload> implements DragAndDropHelper.DraggableViewHolder {
private final SettingsChannelListCategoryItemBinding binding;
private CategoryItem categoryItem;
/* JADX INFO: super call moved to the top of the method (can break code semantics) */
public CategoryListItem(SettingsChannelListAdapter settingsChannelListAdapter) {
super(2131558659, settingsChannelListAdapter);
m.checkNotNullParameter(settingsChannelListAdapter, "adapter");
View view = this.itemView;
int i = 2131364935;
ImageView imageView = (ImageView) view.findViewById(2131364935);
if (imageView != null) {
i = 2131364936;
TextView textView = (TextView) view.findViewById(2131364936);
if (textView != null) {
SettingsChannelListCategoryItemBinding settingsChannelListCategoryItemBinding = new SettingsChannelListCategoryItemBinding((RelativeLayout) view, imageView, textView);
m.checkNotNullExpressionValue(settingsChannelListCategoryItemBinding, "SettingsChannelListCateg…temBinding.bind(itemView)");
this.binding = settingsChannelListCategoryItemBinding;
return;
}
}
throw new NullPointerException("Missing required view with ID: ".concat(view.getResources().getResourceName(i)));
}
@Override // com.discord.utilities.mg_recycler.DragAndDropHelper.DraggableViewHolder
public boolean canDrag() {
CategoryItem categoryItem = this.categoryItem;
return categoryItem != null && categoryItem.isDraggable() && categoryItem.getCanManageCategory();
}
public void onConfigure(int i, CategoricalDragAndDropAdapter.Payload payload) {
m.checkNotNullParameter(payload, "data");
super.onConfigure(i, (int) payload);
CategoryItem categoryItem = (CategoryItem) payload;
this.categoryItem = categoryItem;
if (categoryItem != null) {
Function1<Long, Unit> onClickListener = ((SettingsChannelListAdapter) this.adapter).getOnClickListener();
if (onClickListener != null) {
this.itemView.setOnClickListener(new SettingsChannelListAdapter$CategoryListItem$onConfigure$$inlined$let$lambda$1(onClickListener, categoryItem, this));
}
TextView textView = this.binding.f1626c;
m.checkNotNullExpressionValue(textView, "binding.settingsChannelListCategoryItemText");
String name = categoryItem.getName();
if (name == null) {
View view = this.itemView;
m.checkNotNullExpressionValue(view, "itemView");
name = view.getContext().getString(2131894282);
}
textView.setText(name);
ImageView imageView = this.binding.b;
m.checkNotNullExpressionValue(imageView, "binding.settingsChannelListCategoryItemDrag");
imageView.setVisibility(canDrag() ? 0 : 8);
}
}
@Override // com.discord.utilities.mg_recycler.DragAndDropHelper.DraggableViewHolder
public void onDragStateChanged(boolean z2) {
}
}
/* compiled from: SettingsChannelListAdapter.kt */
public static final class ChannelItem implements CategoricalDragAndDropAdapter.Payload {
private final boolean canManageCategoryOfChannel;
private final Channel channel;
private final boolean isDraggable;
private final String key;
private final long parentId;
private final int type;
public ChannelItem(Channel channel, boolean z2, long j, boolean z3) {
m.checkNotNullParameter(channel, "channel");
this.channel = channel;
this.isDraggable = z2;
this.parentId = j;
this.canManageCategoryOfChannel = z3;
this.key = String.valueOf(channel.h());
}
public static /* synthetic */ ChannelItem copy$default(ChannelItem channelItem, Channel channel, boolean z2, long j, boolean z3, int i, Object obj) {
if ((i & 1) != 0) {
channel = channelItem.channel;
}
if ((i & 2) != 0) {
z2 = channelItem.isDraggable;
}
if ((i & 4) != 0) {
j = channelItem.parentId;
}
if ((i & 8) != 0) {
z3 = channelItem.canManageCategoryOfChannel;
}
return channelItem.copy(channel, z2, j, z3);
}
public final Channel component1() {
return this.channel;
}
public final boolean component2() {
return this.isDraggable;
}
public final long component3() {
return this.parentId;
}
public final boolean component4() {
return this.canManageCategoryOfChannel;
}
public final ChannelItem copy(Channel channel, boolean z2, long j, boolean z3) {
m.checkNotNullParameter(channel, "channel");
return new ChannelItem(channel, z2, j, z3);
}
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (!(obj instanceof ChannelItem)) {
return false;
}
ChannelItem channelItem = (ChannelItem) obj;
return m.areEqual(this.channel, channelItem.channel) && this.isDraggable == channelItem.isDraggable && this.parentId == channelItem.parentId && this.canManageCategoryOfChannel == channelItem.canManageCategoryOfChannel;
}
public final boolean getCanManageCategoryOfChannel() {
return this.canManageCategoryOfChannel;
}
@Override // com.discord.utilities.mg_recycler.CategoricalDragAndDropAdapter.Payload
public String getCategory() {
return String.valueOf(getType());
}
public final Channel getChannel() {
return this.channel;
}
@Override // com.discord.utilities.mg_recycler.MGRecyclerDataPayload, com.discord.utilities.recycler.DiffKeyProvider
public String getKey() {
return this.key;
}
public final long getParentId() {
return this.parentId;
}
@Override // com.discord.utilities.mg_recycler.DragAndDropAdapter.Payload
public int getPosition() {
return this.channel.t();
}
@Override // com.discord.utilities.mg_recycler.MGRecyclerDataPayload
public int getType() {
return this.type;
}
public int hashCode() {
Channel channel = this.channel;
int hashCode = (channel != null ? channel.hashCode() : 0) * 31;
boolean z2 = this.isDraggable;
int i = 1;
if (z2) {
z2 = true;
}
int i2 = z2 ? 1 : 0;
int i3 = z2 ? 1 : 0;
int i4 = z2 ? 1 : 0;
int a = (b.a(this.parentId) + ((hashCode + i2) * 31)) * 31;
boolean z3 = this.canManageCategoryOfChannel;
if (!z3) {
i = z3 ? 1 : 0;
}
return a + i;
}
public final boolean isDraggable() {
return this.isDraggable;
}
public String toString() {
StringBuilder K = a.K("ChannelItem(channel=");
K.append(this.channel);
K.append(", isDraggable=");
K.append(this.isDraggable);
K.append(", parentId=");
K.append(this.parentId);
K.append(", canManageCategoryOfChannel=");
return a.F(K, this.canManageCategoryOfChannel, ")");
}
}
/* compiled from: SettingsChannelListAdapter.kt */
public static final class ChannelListItem extends MGRecyclerViewHolder<SettingsChannelListAdapter, CategoricalDragAndDropAdapter.Payload> implements DragAndDropHelper.DraggableViewHolder {
private final SettingsChannelListItemBinding binding;
private ChannelItem channelItem;
/* JADX INFO: super call moved to the top of the method (can break code semantics) */
public ChannelListItem(SettingsChannelListAdapter settingsChannelListAdapter) {
super(2131558660, settingsChannelListAdapter);
m.checkNotNullParameter(settingsChannelListAdapter, "adapter");
View view = this.itemView;
int i = 2131364937;
ImageView imageView = (ImageView) view.findViewById(2131364937);
if (imageView != null) {
i = 2131364938;
ImageView imageView2 = (ImageView) view.findViewById(2131364938);
if (imageView2 != null) {
i = 2131364939;
TextView textView = (TextView) view.findViewById(2131364939);
if (textView != null) {
i = 2131364940;
View findViewById = view.findViewById(2131364940);
if (findViewById != null) {
SettingsChannelListItemBinding settingsChannelListItemBinding = new SettingsChannelListItemBinding((RelativeLayout) view, imageView, imageView2, textView, findViewById);
m.checkNotNullExpressionValue(settingsChannelListItemBinding, "SettingsChannelListItemBinding.bind(itemView)");
this.binding = settingsChannelListItemBinding;
return;
}
}
}
}
throw new NullPointerException("Missing required view with ID: ".concat(view.getResources().getResourceName(i)));
}
@Override // com.discord.utilities.mg_recycler.DragAndDropHelper.DraggableViewHolder
public boolean canDrag() {
ChannelItem channelItem = this.channelItem;
return channelItem != null && channelItem.isDraggable() && channelItem.getCanManageCategoryOfChannel();
}
public void onConfigure(int i, CategoricalDragAndDropAdapter.Payload payload) {
m.checkNotNullParameter(payload, "data");
super.onConfigure(i, (int) payload);
ChannelItem channelItem = (ChannelItem) payload;
this.channelItem = channelItem;
if (channelItem != null) {
this.itemView.setOnClickListener(null);
Function1<Long, Unit> onClickListener = ((SettingsChannelListAdapter) this.adapter).getOnClickListener();
if (onClickListener != null) {
this.itemView.setOnClickListener(new SettingsChannelListAdapter$ChannelListItem$onConfigure$$inlined$let$lambda$1(onClickListener, channelItem, this));
}
ImageView imageView = this.binding.f1627c;
int A = channelItem.getChannel().A();
imageView.setImageResource(A != 2 ? A != 5 ? A != 13 ? 2131231498 : 2131231493 : 2131231483 : 2131231507);
TextView textView = this.binding.d;
m.checkNotNullExpressionValue(textView, "binding.settingsChannelListItemName");
textView.setText(AnimatableValueParser.y0(channelItem.getChannel()));
ImageView imageView2 = this.binding.b;
m.checkNotNullExpressionValue(imageView2, "binding.settingsChannelListItemDrag");
imageView2.setVisibility(canDrag() ? 0 : 8);
}
}
@Override // com.discord.utilities.mg_recycler.DragAndDropHelper.DraggableViewHolder
public void onDragStateChanged(boolean z2) {
View view = this.binding.e;
m.checkNotNullExpressionValue(view, "binding.settingsChannelListItemSelectedOverlay");
view.setVisibility(z2 ? 0 : 8);
}
}
/* compiled from: SettingsChannelListAdapter.kt */
public static final class Companion {
private Companion() {
}
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
this();
}
}
/* compiled from: SettingsChannelListAdapter.kt */
public static final class UpdatedPosition {
private final Long parentId;
private final int position;
public UpdatedPosition(int i, Long l) {
this.position = i;
this.parentId = l;
}
public static /* synthetic */ UpdatedPosition copy$default(UpdatedPosition updatedPosition, int i, Long l, int i2, Object obj) {
if ((i2 & 1) != 0) {
i = updatedPosition.position;
}
if ((i2 & 2) != 0) {
l = updatedPosition.parentId;
}
return updatedPosition.copy(i, l);
}
public final int component1() {
return this.position;
}
public final Long component2() {
return this.parentId;
}
public final UpdatedPosition copy(int i, Long l) {
return new UpdatedPosition(i, l);
}
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (!(obj instanceof UpdatedPosition)) {
return false;
}
UpdatedPosition updatedPosition = (UpdatedPosition) obj;
return this.position == updatedPosition.position && m.areEqual(this.parentId, updatedPosition.parentId);
}
public final Long getParentId() {
return this.parentId;
}
public final int getPosition() {
return this.position;
}
public int hashCode() {
int i = this.position * 31;
Long l = this.parentId;
return i + (l != null ? l.hashCode() : 0);
}
public String toString() {
StringBuilder K = a.K("UpdatedPosition(position=");
K.append(this.position);
K.append(", parentId=");
return a.A(K, this.parentId, ")");
}
}
/* JADX INFO: super call moved to the top of the method (can break code semantics) */
public SettingsChannelListAdapter(RecyclerView recyclerView, boolean z2) {
super(recyclerView);
m.checkNotNullParameter(recyclerView, "recycler");
if (z2) {
new ItemTouchHelper(new DragAndDropHelper(this, 0, 2, null)).attachToRecyclerView(recyclerView);
}
}
/* JADX INFO: this call moved to the top of the method (can break code semantics) */
public /* synthetic */ SettingsChannelListAdapter(RecyclerView recyclerView, boolean z2, int i, DefaultConstructorMarker defaultConstructorMarker) {
this(recyclerView, (i & 2) != 0 ? true : z2);
}
private final void handleChangedPositions(Map<Long, Integer> map, Map<Long, Long> map2) {
HashMap hashMap = new HashMap();
for (Map.Entry<Long, Integer> entry : map.entrySet()) {
long longValue = entry.getKey().longValue();
hashMap.put(Long.valueOf(longValue), new UpdatedPosition(entry.getValue().intValue(), map2.get(Long.valueOf(longValue))));
}
Function1<? super Map<Long, UpdatedPosition>, Unit> function1 = this.onPositionUpdateListener;
if (function1 != null) {
function1.invoke(hashMap);
}
}
@Override // com.discord.utilities.mg_recycler.CategoricalDragAndDropAdapter, com.discord.utilities.mg_recycler.DragAndDropAdapter
public Map<String, Integer> computeChangedPositions() {
SettingsChannelListAdapter$computeChangedPositions$1 settingsChannelListAdapter$computeChangedPositions$1 = SettingsChannelListAdapter$computeChangedPositions$1.INSTANCE;
SettingsChannelListAdapter$computeChangedPositions$2 settingsChannelListAdapter$computeChangedPositions$2 = SettingsChannelListAdapter$computeChangedPositions$2.INSTANCE;
SettingsChannelListAdapter$computeChangedPositions$3 settingsChannelListAdapter$computeChangedPositions$3 = SettingsChannelListAdapter$computeChangedPositions$3.INSTANCE;
HashMap hashMap = new HashMap();
HashMap hashMap2 = new HashMap();
int i = 0;
Long l = null;
for (Object obj : getDataCopy()) {
int i2 = i + 1;
if (i < 0) {
n.throwIndexOverflow();
}
CategoricalDragAndDropAdapter.Payload payload = (CategoricalDragAndDropAdapter.Payload) obj;
Long invoke = SettingsChannelListAdapter$computeChangedPositions$1.INSTANCE.invoke(payload);
long longValue = invoke != null ? invoke.longValue() : 0;
if (payload.getType() == 1) {
l = SettingsChannelListAdapter$computeChangedPositions$2.INSTANCE.invoke(longValue);
}
Long invoke2 = payload.getType() != 0 ? null : SettingsChannelListAdapter$computeChangedPositions$2.INSTANCE.invoke(((ChannelItem) payload).getParentId());
Integer num = getOrigPositions().get(payload.getKey());
if ((num == null || num.intValue() != i) && SettingsChannelListAdapter$computeChangedPositions$3.INSTANCE.invoke(payload)) {
hashMap.put(Long.valueOf(longValue), Integer.valueOf(i));
if ((!m.areEqual(invoke2, l)) && payload.getType() == 0) {
hashMap2.put(Long.valueOf(longValue), Long.valueOf(l != null ? l.longValue() : -1));
}
}
i = i2;
}
handleChangedPositions(hashMap, hashMap2);
return h0.emptyMap();
}
/* JADX DEBUG: Type inference failed for r0v0. Raw type applied. Possible types: kotlin.jvm.functions.Function1<? super java.lang.Long, kotlin.Unit>, kotlin.jvm.functions.Function1<java.lang.Long, kotlin.Unit> */
public final Function1<Long, Unit> getOnClickListener() {
return this.onClickListener;
}
@Override // com.discord.utilities.mg_recycler.CategoricalDragAndDropAdapter, com.discord.utilities.mg_recycler.DragAndDropHelper.Adapter
public boolean isValidMove(int i, int i2) {
if (i2 <= 0) {
return false;
}
CategoricalDragAndDropAdapter.Payload item = getItem(i2 - 1);
int type = item.getType();
if (type == 0) {
return ((ChannelItem) item).getCanManageCategoryOfChannel();
}
if (type != 1) {
return false;
}
return ((CategoryItem) item).getCanManageChannelsOfCategory();
}
@Override // androidx.recyclerview.widget.RecyclerView.Adapter
public MGRecyclerViewHolder<SettingsChannelListAdapter, CategoricalDragAndDropAdapter.Payload> onCreateViewHolder(ViewGroup viewGroup, int i) {
m.checkNotNullParameter(viewGroup, "parent");
if (i == 0) {
return new ChannelListItem(this);
}
if (i == 1) {
return new CategoryListItem(this);
}
throw invalidViewTypeException(i);
}
@Override // com.discord.utilities.mg_recycler.DragAndDropAdapter
public void onNewPositions(Map<String, Integer> map) {
m.checkNotNullParameter(map, "newPositions");
}
public final void setOnClickListener(Function1<? super Long, Unit> function1) {
this.onClickListener = function1;
}
public final void setPositionUpdateListener(Action1<Map<Long, UpdatedPosition>> action1) {
m.checkNotNullParameter(action1, "onPositionUpdateListener");
this.onPositionUpdateListener = new SettingsChannelListAdapter$setPositionUpdateListener$1(action1);
}
}