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

102 lines
3.8 KiB
Java

package com.discord.stores;
import c.d.b.a.a;
import com.discord.api.guild.Guild;
import com.discord.api.guildmember.GuildMember;
import com.discord.app.AppLog;
import com.discord.models.domain.ModelPayload;
import com.discord.stores.updates.ObservationDeck;
import com.discord.stores.updates.ObservationDeckProvider;
import d0.t.h0;
import d0.z.d.m;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import rx.Observable;
/* compiled from: StoreGuildMemberCounts.kt */
public final class StoreGuildMemberCounts extends StoreV2 {
private final HashMap<Long, Integer> guildMemberCounts = new HashMap<>();
private Map<Long, Integer> guildMemberCountsSnapshot = h0.emptyMap();
public static final /* synthetic */ Map access$getGuildMemberCountsSnapshot$p(StoreGuildMemberCounts storeGuildMemberCounts) {
return storeGuildMemberCounts.guildMemberCountsSnapshot;
}
public static final /* synthetic */ void access$setGuildMemberCountsSnapshot$p(StoreGuildMemberCounts storeGuildMemberCounts, Map map) {
storeGuildMemberCounts.guildMemberCountsSnapshot = map;
}
public final int getApproximateMemberCount(long j) {
Integer num = this.guildMemberCountsSnapshot.get(Long.valueOf(j));
if (num != null) {
return num.intValue();
}
return 0;
}
@StoreThread
public final void handleConnectionOpen(ModelPayload modelPayload) {
m.checkNotNullParameter(modelPayload, "payload");
List<Guild> guilds = modelPayload.getGuilds();
if (guilds != null) {
for (Guild guild : guilds) {
this.guildMemberCounts.put(Long.valueOf(guild.o()), Integer.valueOf(guild.r()));
}
}
markChanged();
}
@StoreThread
public final void handleGuildCreate(Guild guild) {
m.checkNotNullParameter(guild, "guild");
this.guildMemberCounts.put(Long.valueOf(guild.o()), Integer.valueOf(guild.r()));
markChanged();
}
@StoreThread
public final void handleGuildDelete(long j) {
this.guildMemberCounts.remove(Long.valueOf(j));
markChanged();
}
@StoreThread
public final void handleGuildMemberAdd(GuildMember guildMember) {
m.checkNotNullParameter(guildMember, "member");
Integer num = this.guildMemberCounts.get(Long.valueOf(guildMember.c()));
if (num != null) {
this.guildMemberCounts.put(Long.valueOf(guildMember.c()), Integer.valueOf(num.intValue() + 1));
markChanged();
}
}
@StoreThread
public final void handleGuildMemberRemove(long j) {
Integer num = this.guildMemberCounts.get(Long.valueOf(j));
if (num != null) {
this.guildMemberCounts.put(Long.valueOf(j), Integer.valueOf(num.intValue() - 1));
markChanged();
}
}
public final Observable<Integer> observeApproximateMemberCount(long j) {
Observable<Integer> r = ObservationDeck.connectRx$default(ObservationDeckProvider.get(), new ObservationDeck.UpdateSource[]{this}, false, null, null, new StoreGuildMemberCounts$observeApproximateMemberCount$1(this, j), 14, null).r();
m.checkNotNullExpressionValue(r, "ObservationDeckProvider.… }.distinctUntilChanged()");
return r;
}
@Override // com.discord.stores.StoreV2
@StoreThread
public void snapshotData() {
super.snapshotData();
try {
this.guildMemberCountsSnapshot = new HashMap(this.guildMemberCounts);
} catch (OutOfMemoryError e) {
AppLog appLog = AppLog.g;
StringBuilder L = a.L("OOM in StoreGuildMemberCounts. size: ");
L.append(this.guildMemberCounts.size());
appLog.recordBreadcrumb(L.toString(), "StoreGuildMemberCounts");
throw e;
}
}
}