482 lines
20 KiB
Java
482 lines
20 KiB
Java
package com.discord.widgets.servers;
|
|
|
|
import a0.a.a.b;
|
|
import android.content.Context;
|
|
import android.view.View;
|
|
import android.view.ViewGroup;
|
|
import android.widget.ImageView;
|
|
import android.widget.RelativeLayout;
|
|
import android.widget.TextView;
|
|
import androidx.recyclerview.widget.RecyclerView;
|
|
import c.d.b.a.a;
|
|
import com.discord.api.role.GuildRole;
|
|
import com.discord.databinding.WidgetServerSettingsHelpItemBinding;
|
|
import com.discord.databinding.WidgetServerSettingsRoleItemBinding;
|
|
import com.discord.utilities.guilds.RoleUtils;
|
|
import com.discord.utilities.mg_recycler.DragAndDropAdapter;
|
|
import com.discord.utilities.mg_recycler.DragAndDropHelper;
|
|
import com.discord.utilities.mg_recycler.MGRecyclerAdapter;
|
|
import com.discord.utilities.mg_recycler.MGRecyclerViewHolder;
|
|
import com.discord.utilities.view.extensions.ViewExtensions;
|
|
import com.discord.utilities.view.text.LinkifiedTextView;
|
|
import d0.d0.f;
|
|
import d0.z.d.m;
|
|
import java.util.HashMap;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Objects;
|
|
import kotlin.Unit;
|
|
import kotlin.jvm.functions.Function1;
|
|
import kotlin.jvm.internal.DefaultConstructorMarker;
|
|
/* compiled from: WidgetServerSettingsRolesListAdapter.kt */
|
|
public final class WidgetServerSettingsRolesListAdapter extends DragAndDropAdapter<DragAndDropAdapter.Payload> {
|
|
public static final Companion Companion = new Companion(null);
|
|
public static final int TYPE_HELP = 0;
|
|
public static final int TYPE_ROLE = 1;
|
|
private Function1<? super Map<String, Integer>, Unit> roleDropListener = WidgetServerSettingsRolesListAdapter$roleDropListener$1.INSTANCE;
|
|
private Function1<? super GuildRole, Unit> roleSelectedListener = WidgetServerSettingsRolesListAdapter$roleSelectedListener$1.INSTANCE;
|
|
|
|
/* compiled from: WidgetServerSettingsRolesListAdapter.kt */
|
|
public static final class Companion {
|
|
private Companion() {
|
|
}
|
|
|
|
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
|
|
this();
|
|
}
|
|
}
|
|
|
|
/* compiled from: WidgetServerSettingsRolesListAdapter.kt */
|
|
public static final class HelpItem implements DragAndDropAdapter.Payload {
|
|
private final long guildId;
|
|
private final String key = "key0";
|
|
private final int type;
|
|
|
|
public HelpItem(long j) {
|
|
this.guildId = j;
|
|
}
|
|
|
|
public static /* synthetic */ HelpItem copy$default(HelpItem helpItem, long j, int i, Object obj) {
|
|
if ((i & 1) != 0) {
|
|
j = helpItem.guildId;
|
|
}
|
|
return helpItem.copy(j);
|
|
}
|
|
|
|
public final long component1() {
|
|
return this.guildId;
|
|
}
|
|
|
|
public final HelpItem copy(long j) {
|
|
return new HelpItem(j);
|
|
}
|
|
|
|
public boolean equals(Object obj) {
|
|
if (this != obj) {
|
|
return (obj instanceof HelpItem) && this.guildId == ((HelpItem) obj).guildId;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
public final long getGuildId() {
|
|
return this.guildId;
|
|
}
|
|
|
|
@Override // com.discord.utilities.mg_recycler.MGRecyclerDataPayload, com.discord.utilities.recycler.DiffKeyProvider
|
|
public String getKey() {
|
|
return this.key;
|
|
}
|
|
|
|
@Override // com.discord.utilities.mg_recycler.DragAndDropAdapter.Payload
|
|
public int getPosition() {
|
|
return 0;
|
|
}
|
|
|
|
@Override // com.discord.utilities.mg_recycler.MGRecyclerDataPayload
|
|
public int getType() {
|
|
return this.type;
|
|
}
|
|
|
|
public int hashCode() {
|
|
return b.a(this.guildId);
|
|
}
|
|
|
|
public String toString() {
|
|
return a.y(a.K("HelpItem(guildId="), this.guildId, ")");
|
|
}
|
|
}
|
|
|
|
/* compiled from: WidgetServerSettingsRolesListAdapter.kt */
|
|
public static final class RoleItem implements DragAndDropAdapter.Payload {
|
|
private final boolean elevated;
|
|
private final boolean everyoneRole;
|
|
private final String key;
|
|
private final boolean locked;
|
|
private final GuildRole role;
|
|
private final int type;
|
|
private final boolean userAbleToManageRoles;
|
|
|
|
public RoleItem(GuildRole guildRole, boolean z2, boolean z3, boolean z4, boolean z5) {
|
|
m.checkNotNullParameter(guildRole, "role");
|
|
this.role = guildRole;
|
|
this.everyoneRole = z2;
|
|
this.locked = z3;
|
|
this.userAbleToManageRoles = z4;
|
|
this.elevated = z5;
|
|
this.key = String.valueOf(guildRole.getId());
|
|
this.type = 1;
|
|
}
|
|
|
|
/* JADX INFO: this call moved to the top of the method (can break code semantics) */
|
|
public /* synthetic */ RoleItem(GuildRole guildRole, boolean z2, boolean z3, boolean z4, boolean z5, int i, DefaultConstructorMarker defaultConstructorMarker) {
|
|
this(guildRole, z2, (i & 4) != 0 ? false : z3, z4, z5);
|
|
}
|
|
|
|
public static /* synthetic */ RoleItem copy$default(RoleItem roleItem, GuildRole guildRole, boolean z2, boolean z3, boolean z4, boolean z5, int i, Object obj) {
|
|
if ((i & 1) != 0) {
|
|
guildRole = roleItem.role;
|
|
}
|
|
if ((i & 2) != 0) {
|
|
z2 = roleItem.everyoneRole;
|
|
}
|
|
if ((i & 4) != 0) {
|
|
z3 = roleItem.locked;
|
|
}
|
|
if ((i & 8) != 0) {
|
|
z4 = roleItem.userAbleToManageRoles;
|
|
}
|
|
if ((i & 16) != 0) {
|
|
z5 = roleItem.elevated;
|
|
}
|
|
return roleItem.copy(guildRole, z2, z3, z4, z5);
|
|
}
|
|
|
|
public final boolean canReorder() {
|
|
return !this.everyoneRole && !this.locked && this.userAbleToManageRoles && this.elevated;
|
|
}
|
|
|
|
public final GuildRole component1() {
|
|
return this.role;
|
|
}
|
|
|
|
public final boolean component2() {
|
|
return this.everyoneRole;
|
|
}
|
|
|
|
public final boolean component3() {
|
|
return this.locked;
|
|
}
|
|
|
|
public final boolean component4() {
|
|
return this.userAbleToManageRoles;
|
|
}
|
|
|
|
public final boolean component5() {
|
|
return this.elevated;
|
|
}
|
|
|
|
public final RoleItem copy(GuildRole guildRole, boolean z2, boolean z3, boolean z4, boolean z5) {
|
|
m.checkNotNullParameter(guildRole, "role");
|
|
return new RoleItem(guildRole, z2, z3, z4, z5);
|
|
}
|
|
|
|
public boolean equals(Object obj) {
|
|
if (this == obj) {
|
|
return true;
|
|
}
|
|
if (!(obj instanceof RoleItem)) {
|
|
return false;
|
|
}
|
|
RoleItem roleItem = (RoleItem) obj;
|
|
return m.areEqual(this.role, roleItem.role) && this.everyoneRole == roleItem.everyoneRole && this.locked == roleItem.locked && this.userAbleToManageRoles == roleItem.userAbleToManageRoles && this.elevated == roleItem.elevated;
|
|
}
|
|
|
|
public final boolean getElevated() {
|
|
return this.elevated;
|
|
}
|
|
|
|
public final boolean getEveryoneRole() {
|
|
return this.everyoneRole;
|
|
}
|
|
|
|
@Override // com.discord.utilities.mg_recycler.MGRecyclerDataPayload, com.discord.utilities.recycler.DiffKeyProvider
|
|
public String getKey() {
|
|
return this.key;
|
|
}
|
|
|
|
public final boolean getLocked() {
|
|
return this.locked;
|
|
}
|
|
|
|
@Override // com.discord.utilities.mg_recycler.DragAndDropAdapter.Payload
|
|
public int getPosition() {
|
|
return this.role.h();
|
|
}
|
|
|
|
public final GuildRole getRole() {
|
|
return this.role;
|
|
}
|
|
|
|
@Override // com.discord.utilities.mg_recycler.MGRecyclerDataPayload
|
|
public int getType() {
|
|
return this.type;
|
|
}
|
|
|
|
public final boolean getUserAbleToManageRoles() {
|
|
return this.userAbleToManageRoles;
|
|
}
|
|
|
|
public int hashCode() {
|
|
GuildRole guildRole = this.role;
|
|
int hashCode = (guildRole != null ? guildRole.hashCode() : 0) * 31;
|
|
boolean z2 = this.everyoneRole;
|
|
int i = 1;
|
|
if (z2) {
|
|
z2 = true;
|
|
}
|
|
int i2 = z2 ? 1 : 0;
|
|
int i3 = z2 ? 1 : 0;
|
|
int i4 = z2 ? 1 : 0;
|
|
int i5 = (hashCode + i2) * 31;
|
|
boolean z3 = this.locked;
|
|
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.userAbleToManageRoles;
|
|
if (z4) {
|
|
z4 = true;
|
|
}
|
|
int i10 = z4 ? 1 : 0;
|
|
int i11 = z4 ? 1 : 0;
|
|
int i12 = z4 ? 1 : 0;
|
|
int i13 = (i9 + i10) * 31;
|
|
boolean z5 = this.elevated;
|
|
if (!z5) {
|
|
i = z5 ? 1 : 0;
|
|
}
|
|
return i13 + i;
|
|
}
|
|
|
|
public String toString() {
|
|
StringBuilder K = a.K("RoleItem(role=");
|
|
K.append(this.role);
|
|
K.append(", everyoneRole=");
|
|
K.append(this.everyoneRole);
|
|
K.append(", locked=");
|
|
K.append(this.locked);
|
|
K.append(", userAbleToManageRoles=");
|
|
K.append(this.userAbleToManageRoles);
|
|
K.append(", elevated=");
|
|
return a.F(K, this.elevated, ")");
|
|
}
|
|
}
|
|
|
|
/* compiled from: WidgetServerSettingsRolesListAdapter.kt */
|
|
public static final class RoleListHelpItem extends MGRecyclerViewHolder<MGRecyclerAdapter<DragAndDropAdapter.Payload>, DragAndDropAdapter.Payload> implements DragAndDropHelper.DraggableViewHolder {
|
|
private final WidgetServerSettingsHelpItemBinding binding;
|
|
|
|
/* JADX INFO: super call moved to the top of the method (can break code semantics) */
|
|
public RoleListHelpItem(WidgetServerSettingsRolesListAdapter widgetServerSettingsRolesListAdapter) {
|
|
super(2131559189, widgetServerSettingsRolesListAdapter);
|
|
m.checkNotNullParameter(widgetServerSettingsRolesListAdapter, "adapter");
|
|
View view = this.itemView;
|
|
Objects.requireNonNull(view, "rootView");
|
|
LinkifiedTextView linkifiedTextView = (LinkifiedTextView) view;
|
|
WidgetServerSettingsHelpItemBinding widgetServerSettingsHelpItemBinding = new WidgetServerSettingsHelpItemBinding(linkifiedTextView, linkifiedTextView);
|
|
m.checkNotNullExpressionValue(widgetServerSettingsHelpItemBinding, "WidgetServerSettingsHelpItemBinding.bind(itemView)");
|
|
this.binding = widgetServerSettingsHelpItemBinding;
|
|
}
|
|
|
|
@Override // com.discord.utilities.mg_recycler.DragAndDropHelper.DraggableViewHolder
|
|
public boolean canDrag() {
|
|
return false;
|
|
}
|
|
|
|
public void onConfigure(int i, DragAndDropAdapter.Payload payload) {
|
|
m.checkNotNullParameter(payload, "data");
|
|
super.onConfigure(i, (int) payload);
|
|
LinkifiedTextView linkifiedTextView = this.binding.b;
|
|
m.checkNotNullExpressionValue(linkifiedTextView, "binding.serverSettingsHelpItem");
|
|
c.a.k.b.l(linkifiedTextView, 2131890239, new Object[0], new WidgetServerSettingsRolesListAdapter$RoleListHelpItem$onConfigure$1(payload));
|
|
}
|
|
|
|
@Override // com.discord.utilities.mg_recycler.DragAndDropHelper.DraggableViewHolder
|
|
public void onDragStateChanged(boolean z2) {
|
|
}
|
|
}
|
|
|
|
/* compiled from: WidgetServerSettingsRolesListAdapter.kt */
|
|
public static final class RoleListItem extends MGRecyclerViewHolder<MGRecyclerAdapter<DragAndDropAdapter.Payload>, DragAndDropAdapter.Payload> implements DragAndDropHelper.DraggableViewHolder {
|
|
private final WidgetServerSettingsRoleItemBinding binding;
|
|
private boolean canDrag;
|
|
|
|
/* JADX INFO: super call moved to the top of the method (can break code semantics) */
|
|
public RoleListItem(WidgetServerSettingsRolesListAdapter widgetServerSettingsRolesListAdapter) {
|
|
super(2131559203, widgetServerSettingsRolesListAdapter);
|
|
m.checkNotNullParameter(widgetServerSettingsRolesListAdapter, "adapter");
|
|
View view = this.itemView;
|
|
int i = 2131364799;
|
|
View findViewById = view.findViewById(2131364799);
|
|
if (findViewById != null) {
|
|
i = 2131364800;
|
|
View findViewById2 = view.findViewById(2131364800);
|
|
if (findViewById2 != null) {
|
|
i = 2131364801;
|
|
View findViewById3 = view.findViewById(2131364801);
|
|
if (findViewById3 != null) {
|
|
i = 2131364802;
|
|
ImageView imageView = (ImageView) view.findViewById(2131364802);
|
|
if (imageView != null) {
|
|
i = 2131364803;
|
|
TextView textView = (TextView) view.findViewById(2131364803);
|
|
if (textView != null) {
|
|
WidgetServerSettingsRoleItemBinding widgetServerSettingsRoleItemBinding = new WidgetServerSettingsRoleItemBinding((RelativeLayout) view, findViewById, findViewById2, findViewById3, imageView, textView);
|
|
m.checkNotNullExpressionValue(widgetServerSettingsRoleItemBinding, "WidgetServerSettingsRoleItemBinding.bind(itemView)");
|
|
this.binding = widgetServerSettingsRoleItemBinding;
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
throw new NullPointerException("Missing required view with ID: ".concat(view.getResources().getResourceName(i)));
|
|
}
|
|
|
|
public static final /* synthetic */ MGRecyclerAdapter access$getAdapter$p(RoleListItem roleListItem) {
|
|
return roleListItem.adapter;
|
|
}
|
|
|
|
@Override // com.discord.utilities.mg_recycler.DragAndDropHelper.DraggableViewHolder
|
|
public boolean canDrag() {
|
|
return this.canDrag;
|
|
}
|
|
|
|
public void onConfigure(int i, DragAndDropAdapter.Payload payload) {
|
|
m.checkNotNullParameter(payload, "data");
|
|
super.onConfigure(i, (int) payload);
|
|
RoleItem roleItem = (RoleItem) payload;
|
|
this.canDrag = roleItem.canReorder();
|
|
TextView textView = this.binding.d;
|
|
m.checkNotNullExpressionValue(textView, "binding.serverSettingsRoleItemName");
|
|
textView.setText(roleItem.getRole().f());
|
|
TextView textView2 = this.binding.d;
|
|
GuildRole role = roleItem.getRole();
|
|
RelativeLayout relativeLayout = this.binding.a;
|
|
m.checkNotNullExpressionValue(relativeLayout, "binding.root");
|
|
Context context = relativeLayout.getContext();
|
|
m.checkNotNullExpressionValue(context, "binding.root.context");
|
|
textView2.setTextColor(RoleUtils.getRoleColor$default(role, context, null, 2, null));
|
|
this.binding.a.setOnClickListener(new WidgetServerSettingsRolesListAdapter$RoleListItem$onConfigure$1(this, roleItem));
|
|
if (roleItem.getEveryoneRole()) {
|
|
RelativeLayout relativeLayout2 = this.binding.a;
|
|
m.checkNotNullExpressionValue(relativeLayout2, "binding.root");
|
|
ViewExtensions.setOnLongClickListenerConsumeClick(relativeLayout2, WidgetServerSettingsRolesListAdapter$RoleListItem$onConfigure$2.INSTANCE);
|
|
} else if (!roleItem.getUserAbleToManageRoles()) {
|
|
RelativeLayout relativeLayout3 = this.binding.a;
|
|
m.checkNotNullExpressionValue(relativeLayout3, "binding.root");
|
|
ViewExtensions.setOnLongClickListenerConsumeClick(relativeLayout3, WidgetServerSettingsRolesListAdapter$RoleListItem$onConfigure$3.INSTANCE);
|
|
} else if (!roleItem.getElevated()) {
|
|
RelativeLayout relativeLayout4 = this.binding.a;
|
|
m.checkNotNullExpressionValue(relativeLayout4, "binding.root");
|
|
ViewExtensions.setOnLongClickListenerConsumeClick(relativeLayout4, WidgetServerSettingsRolesListAdapter$RoleListItem$onConfigure$4.INSTANCE);
|
|
} else {
|
|
this.binding.a.setOnLongClickListener(null);
|
|
}
|
|
ImageView imageView = this.binding.f1915c;
|
|
m.checkNotNullExpressionValue(imageView, "binding.serverSettingsRoleItemLockIndicator");
|
|
imageView.setVisibility(roleItem.getLocked() ? 0 : 8);
|
|
}
|
|
|
|
@Override // com.discord.utilities.mg_recycler.DragAndDropHelper.DraggableViewHolder
|
|
public void onDragStateChanged(boolean z2) {
|
|
View view = this.binding.b;
|
|
m.checkNotNullExpressionValue(view, "binding.serverSettingsRoleItemDragOverlay");
|
|
view.setVisibility(z2 ? 0 : 8);
|
|
}
|
|
}
|
|
|
|
/* JADX INFO: super call moved to the top of the method (can break code semantics) */
|
|
public WidgetServerSettingsRolesListAdapter(RecyclerView recyclerView) {
|
|
super(recyclerView);
|
|
m.checkNotNullParameter(recyclerView, "recycler");
|
|
}
|
|
|
|
public static final /* synthetic */ Function1 access$getRoleSelectedListener$p(WidgetServerSettingsRolesListAdapter widgetServerSettingsRolesListAdapter) {
|
|
return widgetServerSettingsRolesListAdapter.roleSelectedListener;
|
|
}
|
|
|
|
public static final /* synthetic */ void access$setRoleSelectedListener$p(WidgetServerSettingsRolesListAdapter widgetServerSettingsRolesListAdapter, Function1 function1) {
|
|
widgetServerSettingsRolesListAdapter.roleSelectedListener = function1;
|
|
}
|
|
|
|
@Override // com.discord.utilities.mg_recycler.DragAndDropAdapter
|
|
public Map<String, Integer> computeChangedPositions() {
|
|
HashMap hashMap = new HashMap();
|
|
int size = getDataCopy().size();
|
|
for (int i = 0; i < size; i++) {
|
|
DragAndDropAdapter.Payload payload = getDataCopy().get(i);
|
|
if (payload.getType() == 1) {
|
|
RoleItem roleItem = (RoleItem) payload;
|
|
if (!roleItem.getEveryoneRole()) {
|
|
int i2 = (size - 1) - i;
|
|
Integer num = getOrigPositions().get(roleItem.getKey());
|
|
if (num == null || i2 != num.intValue()) {
|
|
hashMap.put(roleItem.getKey(), Integer.valueOf(i2));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return hashMap;
|
|
}
|
|
|
|
public final void configure(List<? extends DragAndDropAdapter.Payload> list, Function1<? super GuildRole, Unit> function1, Function1<? super Map<String, Integer>, Unit> function12) {
|
|
m.checkNotNullParameter(list, "roles");
|
|
m.checkNotNullParameter(function1, "roleSelectedListener");
|
|
m.checkNotNullParameter(function12, "roleDropListener");
|
|
this.roleSelectedListener = function1;
|
|
this.roleDropListener = function12;
|
|
setData(list);
|
|
}
|
|
|
|
@Override // com.discord.utilities.mg_recycler.DragAndDropHelper.Adapter
|
|
public boolean isValidMove(int i, int i2) {
|
|
int coerceAtMost = f.coerceAtMost(i, i2);
|
|
int coerceAtLeast = f.coerceAtLeast(i, i2);
|
|
if (coerceAtMost <= coerceAtLeast) {
|
|
while (true) {
|
|
DragAndDropAdapter.Payload payload = getDataCopy().get(coerceAtMost);
|
|
if (payload.getType() == 1 && ((RoleItem) payload).canReorder()) {
|
|
if (coerceAtMost == coerceAtLeast) {
|
|
break;
|
|
}
|
|
coerceAtMost++;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
|
|
@Override // androidx.recyclerview.widget.RecyclerView.Adapter
|
|
public MGRecyclerViewHolder<?, DragAndDropAdapter.Payload> onCreateViewHolder(ViewGroup viewGroup, int i) {
|
|
m.checkNotNullParameter(viewGroup, "parent");
|
|
if (i == 0) {
|
|
return new RoleListHelpItem(this);
|
|
}
|
|
if (i == 1) {
|
|
return new RoleListItem(this);
|
|
}
|
|
throw invalidViewTypeException(i);
|
|
}
|
|
|
|
@Override // com.discord.utilities.mg_recycler.DragAndDropAdapter
|
|
public void onNewPositions(Map<String, Integer> map) {
|
|
m.checkNotNullParameter(map, "newPositions");
|
|
this.roleDropListener.invoke(map);
|
|
}
|
|
}
|