discord-jadx/app/src/main/java/com/discord/widgets/channels/memberlist/ThreadMemberListItemGenerat...

156 lines
8.4 KiB
Java

package com.discord.widgets.channels.memberlist;
import com.discord.api.channel.Channel;
import com.discord.api.presence.ClientStatus;
import com.discord.api.role.GuildRole;
import com.discord.models.domain.ModelApplicationStream;
import com.discord.models.guild.Guild;
import com.discord.models.member.GuildMember;
import com.discord.models.presence.Presence;
import com.discord.models.user.User;
import com.discord.stores.StoreChannelMembers;
import com.discord.stores.StoreEmojiCustom;
import com.discord.stores.StoreGuilds;
import com.discord.utilities.guilds.RoleUtils;
import com.discord.utilities.lazy.memberlist.MemberListRow;
import com.discord.utilities.lazy.memberlist.ThreadMemberList;
import com.discord.widgets.channels.memberlist.WidgetChannelMembersListViewModel;
import d0.t.m0;
import d0.t.u;
import d0.z.d.m;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Comparator;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Set;
import java.util.SortedSet;
/* compiled from: ThreadMemberListItemGenerator.kt */
public final class ThreadMemberListItemGeneratorKt {
private static final Comparator<MemberListRow.Member> ALPHABETICAL_COMPARATOR = ThreadMemberListItemGeneratorKt$ALPHABETICAL_COMPARATOR$1.INSTANCE;
public static final ThreadMemberList createThreadMemberList(String str, Map<Long, GuildRole> map, LinkedHashMap<Long, SortedSet<MemberListRow.Member>> linkedHashMap) {
String str2;
m.checkNotNullParameter(str, "listId");
m.checkNotNullParameter(map, "roles");
m.checkNotNullParameter(linkedHashMap, "threadMemberMap");
int i = 0;
ThreadMemberList threadMemberList = new ThreadMemberList(str, 0, 2, null);
for (Map.Entry<Long, SortedSet<MemberListRow.Member>> entry : linkedHashMap.entrySet()) {
long longValue = entry.getKey().longValue();
SortedSet<MemberListRow.Member> value = entry.getValue();
if (!value.isEmpty()) {
MemberListRow.StatusHeader.Type type = MemberListRow.StatusHeader.Type.ONLINE;
if (longValue == type.getId()) {
threadMemberList.add(new MemberListRow.StatusHeader(type.name(), type, value.size()));
} else {
MemberListRow.StatusHeader.Type type2 = MemberListRow.StatusHeader.Type.OFFLINE;
if (longValue == type2.getId()) {
threadMemberList.add(new MemberListRow.StatusHeader(type2.name(), type2, value.size()));
} else {
GuildRole guildRole = map.get(Long.valueOf(longValue));
if (guildRole == null || (str2 = guildRole.f()) == null) {
str2 = "";
}
threadMemberList.add(new MemberListRow.RoleHeader(longValue, str2, value.size()));
}
}
threadMemberList.getGroupIndices().put(Integer.valueOf(i), String.valueOf(longValue));
int size = value.size() + 1 + i;
for (MemberListRow.Member member : value) {
threadMemberList.add(member);
}
i = size;
}
}
return threadMemberList;
}
public static final WidgetChannelMembersListViewModel.MemberList generateThreadMemberListItems(Channel channel, Map<Long, GuildRole> map, Guild guild, Map<Long, GuildMember> map2, Map<Long, ? extends User> map3, Map<Long, Presence> map4, Map<Long, ? extends ModelApplicationStream> map5, Set<Long> set, StoreGuilds storeGuilds, StoreEmojiCustom storeEmojiCustom) {
Map<Long, Presence> map6 = map4;
m.checkNotNullParameter(channel, "channel");
m.checkNotNullParameter(map, "roles");
m.checkNotNullParameter(map2, "guildMembers");
m.checkNotNullParameter(map3, "users");
m.checkNotNullParameter(map6, "presences");
m.checkNotNullParameter(map5, "streams");
m.checkNotNullParameter(set, "threadMembers");
m.checkNotNullParameter(storeGuilds, "storeGuilds");
m.checkNotNullParameter(storeEmojiCustom, "storeEmojiCustom");
if (set.isEmpty()) {
return GuildMemberListItemGeneratorKt.generateGuildMemberListItems(new ThreadMemberList(String.valueOf(channel.h()), map2.size()), guild, channel, map, false, storeGuilds, storeEmojiCustom);
}
LinkedHashMap<Long, SortedSet<MemberListRow.Member>> initializeOrderedMap = initializeOrderedMap(map);
for (Number number : set) {
long longValue = number.longValue();
MemberListRow.Member makeRowMember = StoreChannelMembers.Companion.makeRowMember(longValue, map2, map3, map6.get(Long.valueOf(longValue)), map5.containsKey(Long.valueOf(longValue)), false);
if (makeRowMember != null) {
insertMemberIntoMap(makeRowMember, map2, map, initializeOrderedMap);
}
initializeOrderedMap = initializeOrderedMap;
map6 = map4;
}
return GuildMemberListItemGeneratorKt.generateGuildMemberListItems(createThreadMemberList(String.valueOf(channel.h()), map, initializeOrderedMap), guild, channel, map, false, storeGuilds, storeEmojiCustom);
}
public static final Comparator<MemberListRow.Member> getALPHABETICAL_COMPARATOR() {
return ALPHABETICAL_COMPARATOR;
}
private static final LinkedHashMap<Long, SortedSet<MemberListRow.Member>> initializeOrderedMap(Map<Long, GuildRole> map) {
LinkedHashMap<Long, SortedSet<MemberListRow.Member>> linkedHashMap = new LinkedHashMap<>();
Collection<GuildRole> values = map.values();
ArrayList arrayList = new ArrayList();
for (Object obj : values) {
if (((GuildRole) obj).c()) {
arrayList.add(obj);
}
}
for (GuildRole guildRole : u.sortedWith(arrayList, RoleUtils.getROLE_COMPARATOR())) {
linkedHashMap.put(Long.valueOf(guildRole.getId()), m0.sortedSetOf(ALPHABETICAL_COMPARATOR, new MemberListRow.Member[0]));
}
Long valueOf = Long.valueOf(MemberListRow.StatusHeader.Type.ONLINE.getId());
Comparator<MemberListRow.Member> comparator = ALPHABETICAL_COMPARATOR;
linkedHashMap.put(valueOf, m0.sortedSetOf(comparator, new MemberListRow.Member[0]));
linkedHashMap.put(Long.valueOf(MemberListRow.StatusHeader.Type.OFFLINE.getId()), m0.sortedSetOf(comparator, new MemberListRow.Member[0]));
return linkedHashMap;
}
private static final void insertMemberIntoMap(MemberListRow.Member member, Map<Long, GuildMember> map, Map<Long, GuildRole> map2, LinkedHashMap<Long, SortedSet<MemberListRow.Member>> linkedHashMap) {
SortedSet<MemberListRow.Member> sortedSet;
GuildMember guildMember = map.get(Long.valueOf(member.getUserId()));
Presence presence = member.getPresence();
Long l = null;
boolean z2 = false;
boolean z3 = (presence != null ? presence.getStatus() : null) == null || member.getPresence().getStatus() == ClientStatus.INVISIBLE || member.getPresence().getStatus() == ClientStatus.OFFLINE;
if (!((guildMember != null ? Long.valueOf(guildMember.getHoistRoleId()) : null) == null || guildMember.getHoistRoleId() == 0)) {
z2 = true;
}
if (z3) {
MemberListRow.StatusHeader.Type type = MemberListRow.StatusHeader.Type.OFFLINE;
SortedSet<MemberListRow.Member> sortedSet2 = linkedHashMap.get(Long.valueOf(type.getId()));
if (sortedSet2 != null) {
sortedSet2.add(member);
linkedHashMap.put(Long.valueOf(type.getId()), sortedSet2);
return;
}
} else if (z2) {
if (guildMember != null) {
l = Long.valueOf(guildMember.getHoistRoleId());
}
GuildRole guildRole = map2.get(l);
if (!(guildRole == null || (sortedSet = linkedHashMap.get(Long.valueOf(guildRole.getId()))) == null)) {
sortedSet.add(member);
linkedHashMap.put(Long.valueOf(guildRole.getId()), sortedSet);
return;
}
}
MemberListRow.StatusHeader.Type type2 = MemberListRow.StatusHeader.Type.ONLINE;
SortedSet<MemberListRow.Member> sortedSet3 = linkedHashMap.get(Long.valueOf(type2.getId()));
if (sortedSet3 != null) {
sortedSet3.add(member);
linkedHashMap.put(Long.valueOf(type2.getId()), sortedSet3);
}
}
}