package com.discord.utilities.lazy.memberlist; import androidx.annotation.VisibleForTesting; import c.d.b.a.a; import com.discord.models.domain.ModelGuildMemberListUpdate; import com.discord.utilities.collections.SparseMutableList; import com.discord.utilities.lazy.memberlist.MemberListRow; import com.discord.utilities.logging.Logger; import d0.d0.f; import d0.t.g0; import d0.t.h0; import d0.t.n; import d0.t.o; import d0.z.d.m; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.SortedMap; import java.util.TreeMap; import kotlin.jvm.functions.Function1; import kotlin.jvm.internal.DefaultConstructorMarker; import kotlin.ranges.IntRange; /* compiled from: ChannelMemberList.kt */ public final class ChannelMemberList implements MemberList { private SortedMap groupIndices; private Map groups; private final int initialSize; private final String listId; private final Logger logger; private SparseMutableList rows; /* JADX INFO: this call moved to the top of the method (can break code semantics) */ public ChannelMemberList(ChannelMemberList channelMemberList) { this(channelMemberList.getListId(), 0, channelMemberList.logger, 2, null); m.checkNotNullParameter(channelMemberList, "other"); this.rows = channelMemberList.rows.deepCopy(); this.groups = new HashMap(channelMemberList.groups); this.groupIndices = new TreeMap((SortedMap) channelMemberList.groupIndices); } public ChannelMemberList(String str, int i, Logger logger) { m.checkNotNullParameter(str, "listId"); this.listId = str; this.initialSize = i; this.logger = logger; this.rows = new SparseMutableList<>(getInitialSize(), 100); this.groups = h0.emptyMap(); this.groupIndices = new TreeMap(); } /* JADX INFO: this call moved to the top of the method (can break code semantics) */ public /* synthetic */ ChannelMemberList(String str, int i, Logger logger, int i2, DefaultConstructorMarker defaultConstructorMarker) { this(str, (i2 & 2) != 0 ? 0 : i, (i2 & 4) != 0 ? null : logger); } public final void add(MemberListRow memberListRow) { Logger logger = this.logger; if (logger != null) { StringBuilder L = a.L("memberListId: "); L.append(getListId()); L.append(" ADD"); logger.recordBreadcrumb(L.toString(), "ChannelMemberList"); } this.rows.add(memberListRow); } public final void delete(int i) { Logger logger = this.logger; if (logger != null) { StringBuilder L = a.L("memberListId: "); L.append(getListId()); L.append(" DELETE index: "); L.append(i); logger.recordBreadcrumb(L.toString(), "ChannelMemberList"); } this.rows.remove(i); } @Override // com.discord.utilities.lazy.memberlist.MemberList public SortedMap getGroupIndices() { return this.groupIndices; } @Override // com.discord.utilities.lazy.memberlist.MemberList public int getInitialSize() { return this.initialSize; } @Override // com.discord.utilities.lazy.memberlist.MemberList public String getListId() { return this.listId; } @Override // com.discord.utilities.lazy.memberlist.MemberList public SparseMutableList getRows() { return this.rows; } @Override // com.discord.utilities.lazy.memberlist.MemberList public int getSize() { return this.rows.size(); } public final void insert(int i, MemberListRow memberListRow) { Logger logger = this.logger; if (logger != null) { StringBuilder L = a.L("memberListId: "); L.append(getListId()); L.append(" INSERT: index: "); L.append(i); logger.recordBreadcrumb(L.toString(), "ChannelMemberList"); } this.rows.add(i, memberListRow); } public final void invalidate(IntRange intRange) { m.checkNotNullParameter(intRange, "range"); Logger logger = this.logger; if (logger != null) { StringBuilder L = a.L("memberListId: "); L.append(getListId()); L.append(" INVALIDATE range: "); L.append(intRange); logger.recordBreadcrumb(L.toString(), "ChannelMemberList"); } int min = Math.min(intRange.getLast(), n.getLastIndex(this.rows)); int first = intRange.getFirst(); if (first <= min) { while (true) { this.rows.set(first, null); if (first != min) { first++; } else { return; } } } } /* JADX DEBUG: Multi-variable search result rejected for r2v4, resolved type: com.discord.utilities.collections.SparseMutableList */ /* JADX WARN: Multi-variable type inference failed */ public final void rebuildMembers(Function1 function1) { m.checkNotNullParameter(function1, "makeMember"); int i = 0; for (MemberListRow memberListRow : this.rows) { int i2 = i + 1; if (i < 0) { n.throwIndexOverflow(); } MemberListRow memberListRow2 = memberListRow; if (memberListRow2 instanceof MemberListRow.Member) { this.rows.set(i, function1.invoke(Long.valueOf(((MemberListRow.Member) memberListRow2).getUserId()))); } i = i2; } } @VisibleForTesting public final void setGroupIndices(SortedMap sortedMap) { m.checkNotNullParameter(sortedMap, "groupIndices"); this.groupIndices = sortedMap; } public final void setGroups(List list, Function1 function1) { m.checkNotNullParameter(list, "groups"); m.checkNotNullParameter(function1, "makeGroup"); Logger logger = this.logger; if (logger != null) { StringBuilder L = a.L("memberListId: "); L.append(getListId()); L.append(" SET_GROUPS"); logger.recordBreadcrumb(L.toString(), "ChannelMemberList"); } this.groupIndices.clear(); int i = 0; LinkedHashMap linkedHashMap = new LinkedHashMap(f.coerceAtLeast(g0.mapCapacity(o.collectionSizeOrDefault(list, 10)), 16)); for (ModelGuildMemberListUpdate.Group group : list) { String id2 = group.getId(); this.groupIndices.put(Integer.valueOf(i), group.getId()); i += group.getCount() + 1; linkedHashMap.put(id2, (MemberListRow) function1.invoke(group)); } this.groups = linkedHashMap; this.rows.setSize(i); } public final void sync(int i, List list) { m.checkNotNullParameter(list, "items"); Logger logger = this.logger; if (logger != null) { StringBuilder L = a.L("memberListId: "); L.append(getListId()); L.append(" SYNC: startIndex: "); L.append(i); L.append(" -- items size: "); L.append(list.size()); logger.recordBreadcrumb(L.toString(), "ChannelMemberList"); } int i2 = 0; for (Object obj : list) { int i3 = i2 + 1; if (i2 < 0) { n.throwIndexOverflow(); } update(i2 + i, (MemberListRow) obj); i2 = i3; } } public final void update(int i, MemberListRow memberListRow) { Logger logger = this.logger; if (logger != null) { StringBuilder L = a.L("memberListId: "); L.append(getListId()); L.append(" UPDATE index: "); L.append(i); logger.recordBreadcrumb(L.toString(), "ChannelMemberList"); } this.rows.set(i, memberListRow); } }