discord-jadx/app/src/main/java/com/discord/stores/StoreEmojiCustom.java

250 lines
10 KiB
Java

package com.discord.stores;
import com.discord.api.emoji.GuildEmoji;
import com.discord.api.emoji.GuildEmojisUpdate;
import com.discord.api.guild.Guild;
import com.discord.models.domain.ModelPayload;
import com.discord.models.domain.emoji.ModelEmojiCustom;
import com.discord.models.member.GuildMember;
import com.discord.utilities.persister.Persister;
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.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import kotlin.Unit;
import kotlin.jvm.internal.DefaultConstructorMarker;
import rx.Observable;
/* compiled from: StoreEmojiCustom.kt */
public final class StoreEmojiCustom extends StoreV2 {
public static final Companion Companion = new Companion(null);
private static final long NO_ROLE = 0;
private final Map<Long, Map<Long, ModelEmojiCustom>> allGuildEmoji = new LinkedHashMap();
private Map<Long, ? extends Map<Long, ? extends ModelEmojiCustom>> allGuildEmojiSnapshot = h0.emptyMap();
private final Persister<Map<Long, Map<Long, ModelEmojiCustom>>> allowedGuildEmojiPersister = new Persister<>("STORE_EMOJI_AVAILABLE_V5", new HashMap());
private final Map<Long, Map<Long, Map<Long, ModelEmojiCustom>>> allowedGuildEmojis = new LinkedHashMap();
/* renamed from: me reason: collision with root package name */
private long f2118me;
private final StoreStream stream;
/* compiled from: StoreEmojiCustom.kt */
public static final class Companion {
private Companion() {
}
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
this();
}
}
public StoreEmojiCustom(StoreStream storeStream) {
m.checkNotNullParameter(storeStream, "stream");
this.stream = storeStream;
}
private final void updateAllowedGuildEmojis(long j, List<Long> list, Collection<? extends ModelEmojiCustom> collection) {
Object obj;
Map<Long, Map<Long, Map<Long, ModelEmojiCustom>>> map = this.allowedGuildEmojis;
Long valueOf = Long.valueOf(j);
Map<Long, Map<Long, ModelEmojiCustom>> map2 = map.get(valueOf);
if (map2 == null) {
map2 = new HashMap<>();
map.put(valueOf, map2);
}
Map<Long, Map<Long, ModelEmojiCustom>> map3 = map2;
map3.clear();
StoreEmojiCustom$updateAllowedGuildEmojis$1 storeEmojiCustom$updateAllowedGuildEmojis$1 = new StoreEmojiCustom$updateAllowedGuildEmojis$1(this, map3);
for (ModelEmojiCustom modelEmojiCustom : collection) {
List<Long> roles = modelEmojiCustom.getRoles();
if (roles.isEmpty()) {
storeEmojiCustom$updateAllowedGuildEmojis$1.invoke(0, modelEmojiCustom);
} else {
Iterator<T> it = list.iterator();
while (true) {
if (!it.hasNext()) {
obj = null;
break;
}
obj = it.next();
if (roles.contains(Long.valueOf(((Number) obj).longValue()))) {
break;
}
}
Long l = (Long) obj;
if (l != null) {
storeEmojiCustom$updateAllowedGuildEmojis$1.invoke(l.longValue(), modelEmojiCustom);
}
}
}
}
private final void updateGlobalEmojis(long j, Collection<? extends ModelEmojiCustom> collection) {
if (collection.isEmpty()) {
this.allGuildEmoji.remove(Long.valueOf(j));
} else {
Map<Long, Map<Long, ModelEmojiCustom>> map = this.allGuildEmoji;
Long valueOf = Long.valueOf(j);
LinkedHashMap linkedHashMap = new LinkedHashMap(f.coerceAtLeast(g0.mapCapacity(o.collectionSizeOrDefault(collection, 10)), 16));
for (Object obj : collection) {
linkedHashMap.put(Long.valueOf(((ModelEmojiCustom) obj).getId()), obj);
}
map.put(valueOf, linkedHashMap);
}
markChanged();
}
/* JADX DEBUG: Type inference failed for r0v0. Raw type applied. Possible types: java.util.Map<java.lang.Long, ? extends java.util.Map<java.lang.Long, ? extends com.discord.models.domain.emoji.ModelEmojiCustom>>, java.util.Map<java.lang.Long, java.util.Map<java.lang.Long, com.discord.models.domain.emoji.ModelEmojiCustom>> */
public final Map<Long, Map<Long, ModelEmojiCustom>> getAllGuildEmoji() {
return this.allGuildEmojiSnapshot;
}
@StoreThread
public final Map<Long, Map<Long, ModelEmojiCustom>> getAllGuildEmojiInternal() {
return this.allGuildEmoji;
}
public final Map<Long, ModelEmojiCustom> getEmojiForGuild(long j) {
Map<Long, ModelEmojiCustom> map = getAllGuildEmoji().get(Long.valueOf(j));
return map != null ? map : h0.emptyMap();
}
@StoreThread
public final Map<Long, ModelEmojiCustom> getEmojiForGuildInternal(long j) {
return this.allGuildEmoji.get(Long.valueOf(j));
}
@StoreThread
public final void handleConnectionOpen(ModelPayload modelPayload) {
m.checkNotNullParameter(modelPayload, "payload");
this.f2118me = modelPayload.getMe().i();
for (Guild guild : modelPayload.getGuilds()) {
m.checkNotNullExpressionValue(guild, "guild");
handleGuildAdd(guild);
}
}
@StoreThread
public final void handleEmojiUpdate(GuildEmojisUpdate guildEmojisUpdate) {
GuildMember guildMember;
m.checkNotNullParameter(guildEmojisUpdate, "emojiUpdate");
long c2 = guildEmojisUpdate.c();
Map<Long, GuildMember> map = this.stream.getGuilds$app_productionBetaRelease().getGuildMembersComputedInternal$app_productionBetaRelease().get(Long.valueOf(c2));
List<GuildEmoji> a = guildEmojisUpdate.a();
ArrayList arrayList = new ArrayList(o.collectionSizeOrDefault(a, 10));
for (GuildEmoji guildEmoji : a) {
arrayList.add(new ModelEmojiCustom(guildEmoji, c2));
}
if (!(map == null || (guildMember = map.get(Long.valueOf(this.f2118me))) == null)) {
updateGlobalEmojis(c2, arrayList);
updateAllowedGuildEmojis(c2, guildMember.getRoles(), arrayList);
}
}
@StoreThread
public final Unit handleGuildAdd(Guild guild) {
Object obj;
Collection<? extends ModelEmojiCustom> collection;
boolean z2;
m.checkNotNullParameter(guild, "guild");
List<com.discord.api.guildmember.GuildMember> s2 = guild.s();
if (s2 == null) {
return null;
}
Iterator<T> it = s2.iterator();
while (true) {
if (!it.hasNext()) {
obj = null;
break;
}
obj = it.next();
if (((com.discord.api.guildmember.GuildMember) obj).j().i() == this.f2118me) {
z2 = true;
continue;
} else {
z2 = false;
continue;
}
if (z2) {
break;
}
}
com.discord.api.guildmember.GuildMember guildMember = (com.discord.api.guildmember.GuildMember) obj;
if (guildMember == null) {
return null;
}
long o = guild.o();
List<GuildEmoji> j = guild.j();
if (j != null) {
collection = new ArrayList<>(o.collectionSizeOrDefault(j, 10));
for (GuildEmoji guildEmoji : j) {
collection.add(new ModelEmojiCustom(guildEmoji, o));
}
} else {
collection = n.emptyList();
}
updateGlobalEmojis(o, collection);
updateAllowedGuildEmojis(o, guildMember.i(), collection);
return Unit.a;
}
@StoreThread
public final void handleGuildMemberAdd(com.discord.api.guildmember.GuildMember guildMember) {
Collection<ModelEmojiCustom> values;
m.checkNotNullParameter(guildMember, "member");
if (guildMember.j().i() == this.f2118me) {
long c2 = guildMember.c();
Map<Long, ModelEmojiCustom> map = this.allGuildEmoji.get(Long.valueOf(c2));
if (map != null && (values = map.values()) != null) {
updateAllowedGuildEmojis(c2, guildMember.i(), values);
}
}
}
@StoreThread
public final void handleGuildRemove(Guild guild) {
m.checkNotNullParameter(guild, "guild");
long o = guild.o();
if (this.allowedGuildEmojis.containsKey(Long.valueOf(o))) {
this.allowedGuildEmojis.remove(Long.valueOf(o));
markChanged();
}
if (this.allGuildEmoji.containsKey(Long.valueOf(o))) {
this.allGuildEmoji.remove(Long.valueOf(o));
markChanged();
}
}
public final Observable<Map<Long, Map<Long, ModelEmojiCustom>>> observeAllowedGuildEmoji() {
return this.allowedGuildEmojiPersister.getObservable();
}
@Override // com.discord.stores.StoreV2
public void snapshotData() {
super.snapshotData();
LinkedHashMap linkedHashMap = new LinkedHashMap();
for (Map.Entry<Long, Map<Long, ModelEmojiCustom>> entry : this.allGuildEmoji.entrySet()) {
linkedHashMap.put(Long.valueOf(entry.getKey().longValue()), h0.toMap(entry.getValue()));
}
this.allGuildEmojiSnapshot = linkedHashMap;
LinkedHashMap linkedHashMap2 = new LinkedHashMap();
for (Map.Entry<Long, Map<Long, Map<Long, ModelEmojiCustom>>> entry2 : this.allowedGuildEmojis.entrySet()) {
long longValue = entry2.getKey().longValue();
LinkedHashMap linkedHashMap3 = new LinkedHashMap();
for (Map.Entry<Long, Map<Long, ModelEmojiCustom>> entry3 : entry2.getValue().entrySet()) {
linkedHashMap3.putAll(entry3.getValue());
}
linkedHashMap2.put(Long.valueOf(longValue), linkedHashMap3);
}
Persister.set$default(this.allowedGuildEmojiPersister, linkedHashMap2, false, 2, null);
}
}