discord-jadx/app/src/main/java/com/discord/widgets/chat/list/entries/ChatListEntry.java

331 lines
15 KiB
Java

package com.discord.widgets.chat.list.entries;
import c.a.d.r0.b;
import com.discord.api.application.Application;
import com.discord.api.botuikit.Component;
import com.discord.api.channel.Channel;
import com.discord.api.message.activity.MessageActivity;
import com.discord.api.message.attachment.MessageAttachment;
import com.discord.api.message.embed.EmbedType;
import com.discord.api.message.embed.MessageEmbed;
import com.discord.api.role.GuildRole;
import com.discord.api.sticker.Sticker;
import com.discord.api.sticker.StickerPartial;
import com.discord.api.user.User;
import com.discord.models.botuikit.MessageComponent;
import com.discord.models.domain.ModelInvite;
import com.discord.models.member.GuildMember;
import com.discord.models.message.Message;
import com.discord.stores.StoreMessageState;
import com.discord.stores.StoreStream;
import com.discord.stores.StoreThreadMessages;
import com.discord.utilities.embed.InviteEmbedModel;
import com.discord.utilities.guilds.RoleUtils;
import com.discord.utilities.message.MessageUtils;
import com.discord.utilities.mg_recycler.MGRecyclerDataPayload;
import com.discord.widgets.botuikit.BotComponentExperiments;
import com.discord.widgets.botuikit.ComponentChatListState;
import com.discord.widgets.botuikit.ComponentStateMapper;
import d0.t.h0;
import d0.t.n;
import d0.t.o;
import d0.z.d.m;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import kotlin.jvm.internal.DefaultConstructorMarker;
import kotlin.text.MatchResult;
/* compiled from: ChatListEntry.kt */
public abstract class ChatListEntry implements MGRecyclerDataPayload {
public static final int APPLICATION_COMMAND = 33;
public static final int BLOCKED_MESSAGES = 10;
public static final int BOT_UI_COMPONENT = 36;
public static final int CALL_MESSAGE = 19;
public static final Companion Companion = new Companion(null);
public static final int DIVIDER = 15;
public static final int EMPTY_PINS = 16;
public static final int EPHEMERAL_MESSAGE = 34;
public static final int GAME_INVITE = 22;
public static final int GIFT = 26;
public static final int GUILD_INVITE_REMINDER = 38;
public static final int GUILD_TEMPLATE = 30;
public static final int GUILD_WELCOME = 25;
public static final int INVITE = 24;
public static final int LOAD_INDICATOR = 2;
public static final int MENTION_FOOTER = 18;
public static final int MESSAGE = 0;
public static final int MESSAGE_ATTACHMENT = 28;
public static final int MESSAGE_EMBED = 21;
public static final int MESSAGE_FAILED = 20;
public static final int MESSAGE_HEADER = 17;
public static final int MESSAGE_MINIMAL = 1;
public static final int NEW_MESSAGES = 8;
public static final int REACTIONS = 4;
public static final int REPLY = 32;
public static final int SEARCH_EMPTY = 13;
public static final int SEARCH_ERROR = 14;
public static final int SEARCH_INDEXING = 12;
public static final int SEARCH_RESULT_COUNT = 11;
public static final int SPACER = 7;
public static final int SPOTIFY_LISTEN_TOGETHER = 23;
public static final int STAGE_INVITE = 39;
public static final int START_OF_CHAT = 3;
public static final int START_OF_PRIVATE_CHAT = 29;
public static final int STICKER = 31;
public static final int STICKER_GREET = 41;
public static final int STICKER_GREET_COMPACT = 42;
public static final int SYSTEM_MESSAGE = 5;
public static final int THREAD_DRAFT_FORM = 37;
public static final int THREAD_EMBED = 35;
public static final int THREAD_STARTER_DIVIDER = 40;
public static final int TIMESTAMP = 9;
public static final int UPLOAD_STATUS = 6;
private boolean shouldShowThreadSpine;
/* compiled from: ChatListEntry.kt */
public static final class Companion {
private Companion() {
}
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
this();
}
private final ChatListEntry createEntryForInvite(Message message, String str, InviteEmbedModel inviteEmbedModel) {
ModelInvite resolveInviteCodeForPublicStage = inviteEmbedModel.resolveInviteCodeForPublicStage(str);
long j = 0;
if (resolveInviteCodeForPublicStage != null) {
User author = message.getAuthor();
m.checkNotNull(author);
long i = author.i();
long id2 = message.getId();
Long guildId = message.getGuildId();
if (guildId != null) {
j = guildId.longValue();
}
return new StageInviteEntry(i, id2, str, resolveInviteCodeForPublicStage, j);
}
User author2 = message.getAuthor();
m.checkNotNull(author2);
long i2 = author2.i();
long id3 = message.getId();
Long guildId2 = message.getGuildId();
if (guildId2 != null) {
j = guildId2.longValue();
}
return new InviteEntry(i2, id3, str, j);
}
public final Collection<ChatListEntry> createBotComponentEntries(Message message, long j, ComponentChatListState.ComponentStoreState componentStoreState) {
long j2;
m.checkNotNullParameter(message, "message");
List<Component> components = message.getComponents();
if (components == null || !(!components.isEmpty())) {
return n.emptyList();
}
List<MessageComponent> processComponentsToMessageComponents = ComponentStateMapper.INSTANCE.processComponentsToMessageComponents(message.getComponents(), componentStoreState, BotComponentExperiments.Companion.get(StoreStream.Companion.getExperiments()));
Long applicationId = message.getApplicationId();
if (applicationId != null) {
j2 = applicationId.longValue();
} else {
User author = message.getAuthor();
m.checkNotNull(author);
j2 = author.i();
}
return d0.t.m.listOf(new BotUiComponentEntry(message, j2, Long.valueOf(j), processComponentsToMessageComponents));
}
public final List<ChatListEntry> createEmbedEntries(Message message, StoreMessageState.State state, boolean z2, boolean z3, boolean z4, boolean z5, long j, boolean z6) {
m.checkNotNullParameter(message, "message");
if (!(message.hasAttachments() || (message.hasEmbeds() && z5))) {
return n.emptyList();
}
HashSet hashSet = new HashSet();
ArrayList<MessageEmbed> arrayList = new ArrayList();
List<MessageEmbed> embeds = message.getEmbeds();
if (embeds != null) {
for (MessageEmbed messageEmbed : embeds) {
if (!hashSet.contains(messageEmbed.l())) {
hashSet.add(messageEmbed.l());
arrayList.add(messageEmbed);
} else if (messageEmbed.l() == null) {
arrayList.add(messageEmbed);
}
}
}
List<MessageAttachment> attachments = message.getAttachments();
int i = 0;
ArrayList arrayList2 = new ArrayList(arrayList.size() + (attachments != null ? attachments.size() : 0));
List<MessageAttachment> attachments2 = message.getAttachments();
if (attachments2 != null) {
int i2 = 0;
for (MessageAttachment messageAttachment : attachments2) {
arrayList2.add(new AttachmentEntry(i2, j, message, state, messageAttachment, z2, z3, z4, z6));
i2++;
}
i = i2;
}
int i3 = i;
for (MessageEmbed messageEmbed2 : arrayList) {
if (messageEmbed2.k() != EmbedType.APPLICATION_NEWS) {
arrayList2.add(new EmbedEntry(i3, j, message, state, messageEmbed2, z2, z3, z4, z6));
i3++;
}
}
return arrayList2;
}
public final List<ChatListEntry> createGameInviteEntries(Message message) {
m.checkNotNullParameter(message, "message");
Application application = message.getApplication();
MessageActivity activity = message.getActivity();
if (application == null || activity == null) {
return n.emptyList();
}
User author = message.getAuthor();
m.checkNotNull(author);
return d0.t.m.listOf(new GameInviteEntry(author.i(), message.getId(), activity, application));
}
public final Collection<ChatListEntry> createGiftEntries(Message message) {
m.checkNotNullParameter(message, "message");
String content = message.getContent();
if (content == null || content.length() == 0) {
return n.emptyList();
}
HashMap hashMap = new HashMap();
for (MatchResult matchResult : b.r.findAll(content, 0)) {
List<String> groupValues = matchResult.getGroupValues();
if (!groupValues.isEmpty()) {
String str = groupValues.get(groupValues.size() - 1);
User author = message.getAuthor();
m.checkNotNull(author);
hashMap.put(str, new GiftEntry(author.i(), message.getId(), message.getChannelId(), str));
}
}
Collection<ChatListEntry> values = hashMap.values();
m.checkNotNullExpressionValue(values, "entries.values");
return values;
}
public final Collection<ChatListEntry> createGuildTemplateEntries(Message message) {
m.checkNotNullParameter(message, "message");
String content = message.getContent();
if (content != null) {
if (!(content.length() == 0)) {
HashMap hashMap = new HashMap();
for (MatchResult matchResult : b.q.findAll(content, 0)) {
List<String> groupValues = matchResult.getGroupValues();
if (!groupValues.isEmpty()) {
String str = groupValues.get(groupValues.size() - 1);
User author = message.getAuthor();
m.checkNotNull(author);
hashMap.put(str, new GuildTemplateEntry(author.i(), message.getId(), str));
}
}
Collection<ChatListEntry> values = hashMap.values();
m.checkNotNullExpressionValue(values, "entries.values");
return values;
}
}
return n.emptyList();
}
public final Collection<ChatListEntry> createInviteEntries(Message message, InviteEmbedModel inviteEmbedModel) {
m.checkNotNullParameter(message, "message");
m.checkNotNullParameter(inviteEmbedModel, "inviteEmbedModel");
String content = message.getContent();
if (content == null || content.length() == 0) {
return n.emptyList();
}
HashMap hashMap = new HashMap();
for (MatchResult matchResult : b.o.findAll(content, 0)) {
List<String> groupValues = matchResult.getGroupValues();
if (!groupValues.isEmpty()) {
String str = groupValues.get(groupValues.size() - 1);
hashMap.put(str, createEntryForInvite(message, str, inviteEmbedModel));
}
}
Collection<ChatListEntry> values = hashMap.values();
m.checkNotNullExpressionValue(values, "entries.values");
return values;
}
public final List<ChatListEntry> createSpotifyListenTogetherEntries(Message message) {
m.checkNotNullParameter(message, "message");
MessageActivity activity = message.getActivity();
if (activity == null || !message.isSpotifyListeningActivity()) {
return n.emptyList();
}
User author = message.getAuthor();
m.checkNotNull(author);
return d0.t.m.listOf(new SpotifyListenTogetherEntry(author.i(), message.getId(), activity));
}
public final List<ChatListEntry> createStickerEntries(Message message) {
ArrayList arrayList;
m.checkNotNullParameter(message, "message");
List<StickerPartial> stickerItems = message.getStickerItems();
if (!(stickerItems == null || stickerItems.isEmpty())) {
List<StickerPartial> stickerItems2 = message.getStickerItems();
arrayList = new ArrayList(o.collectionSizeOrDefault(stickerItems2, 10));
for (StickerPartial stickerPartial : stickerItems2) {
arrayList.add(new StickerEntry(message, stickerPartial));
}
} else {
List<Sticker> stickers = message.getStickers();
if (stickers != null) {
arrayList = new ArrayList(o.collectionSizeOrDefault(stickers, 10));
for (Sticker sticker : stickers) {
arrayList.add(new StickerEntry(message, sticker));
}
} else {
arrayList = null;
}
}
return arrayList != null ? arrayList : n.emptyList();
}
public final Collection<ChatListEntry> createThreadEmbedEntries(Channel channel, Map<Long, GuildMember> map, Message message, Channel channel2, StoreThreadMessages.ThreadState threadState, Map<Long, GuildRole> map2, boolean z2, boolean z3) {
Map<Long, String> map3;
Message mostRecentMessage;
User author;
Message mostRecentMessage2;
m.checkNotNullParameter(channel, "channel");
m.checkNotNullParameter(map, "channelMembers");
m.checkNotNullParameter(message, "message");
m.checkNotNullParameter(channel2, "thread");
if (!z3) {
return n.emptyList();
}
long id2 = message.getId();
int count = threadState != null ? threadState.getCount() : 0;
Long l = null;
Message mostRecentMessage3 = threadState != null ? threadState.getMostRecentMessage() : null;
Map<Long, GuildRole> map4 = RoleUtils.containsRoleMentions(message.getContent()) ? map2 : null;
if (threadState == null || (mostRecentMessage2 = threadState.getMostRecentMessage()) == null || (map3 = MessageUtils.getNickOrUsernames(mostRecentMessage2, channel, map, channel.n())) == null) {
map3 = h0.emptyMap();
}
if (!(threadState == null || (mostRecentMessage = threadState.getMostRecentMessage()) == null || (author = mostRecentMessage.getAuthor()) == null)) {
l = Long.valueOf(author.i());
}
return d0.t.m.listOf(new ThreadEmbedEntry(id2, channel2, count, mostRecentMessage3, map4, map3, z2, map.get(l), message));
}
}
public final boolean getShouldShowThreadSpine() {
return this.shouldShowThreadSpine;
}
public boolean isInExpandedBlockedMessageChunk() {
return false;
}
public final void setShouldShowThreadSpine(boolean z2) {
this.shouldShowThreadSpine = z2;
}
}