329 lines
15 KiB
Java
329 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) {
|
|
m.checkNotNullParameter(message, "message");
|
|
ArrayList arrayList = null;
|
|
if (message.hasStickerItems()) {
|
|
List<StickerPartial> stickerItems = message.getStickerItems();
|
|
if (stickerItems != null) {
|
|
arrayList = new ArrayList(o.collectionSizeOrDefault(stickerItems, 10));
|
|
for (StickerPartial stickerPartial : stickerItems) {
|
|
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));
|
|
}
|
|
}
|
|
}
|
|
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;
|
|
}
|
|
}
|