package com.discord.stores; import com.airbnb.lottie.parser.AnimatableValueParser; import com.discord.api.guild.Guild; import com.discord.api.voice.state.VoiceState; import com.discord.models.domain.ModelPayload; import com.discord.stores.updates.ObservationDeck; import d0.t.h0; import d0.z.d.m; import java.util.HashMap; import java.util.HashSet; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import kotlin.Unit; import kotlin.jvm.functions.Function3; import rx.Observable; /* compiled from: StoreVoiceStates.kt */ public final class StoreVoiceStates extends StoreV2 { private final HashSet dirtyGuildIds = new HashSet<>(); private Long myUserId; private final Function3 notifyVoiceStatesUpdated; private final ObservationDeck observationDeck; private String sessionId; private final HashMap> voiceStates; private Map> voiceStatesSnapshot; /* JADX DEBUG: Multi-variable search result rejected for r2v0, resolved type: kotlin.jvm.functions.Function3 */ /* JADX WARN: Multi-variable type inference failed */ public StoreVoiceStates(Function3 function3, ObservationDeck observationDeck) { m.checkNotNullParameter(function3, "notifyVoiceStatesUpdated"); m.checkNotNullParameter(observationDeck, "observationDeck"); this.notifyVoiceStatesUpdated = function3; this.observationDeck = observationDeck; HashMap> hashMap = new HashMap<>(); this.voiceStates = hashMap; this.voiceStatesSnapshot = new HashMap(hashMap); } public static final /* synthetic */ Map access$getVoiceStatesSnapshot$p(StoreVoiceStates storeVoiceStates) { return storeVoiceStates.voiceStatesSnapshot; } public static final /* synthetic */ void access$setVoiceStatesSnapshot$p(StoreVoiceStates storeVoiceStates, Map map) { storeVoiceStates.voiceStatesSnapshot = map; } @StoreThread private final void clear() { this.dirtyGuildIds.addAll(this.voiceStates.keySet()); this.voiceStates.clear(); markChanged(); } /* JADX WARNING: Removed duplicated region for block: B:35:0x00bf */ @StoreThread private final void updateVoiceState(VoiceState voiceState, Long l) { Long a; Long l2; long longValue = l != null ? l.longValue() : voiceState.c(); long m = voiceState.m(); if (!(!m.areEqual(voiceState.k(), this.sessionId)) || (l2 = this.myUserId) == null || m != l2.longValue()) { boolean z2 = false; HashMap> hashMap = this.voiceStates; Long valueOf = Long.valueOf(longValue); HashMap hashMap2 = this.voiceStates.get(Long.valueOf(longValue)); if (hashMap2 == null) { hashMap2 = new HashMap<>(); } long j = 0; if (AnimatableValueParser.v1(voiceState)) { VoiceState remove = hashMap2.remove(Long.valueOf(m)); if (remove != null) { Long a2 = remove.a(); if (a2 != null) { j = a2.longValue(); } } hashMap.put(valueOf, hashMap2); if (z2) { this.dirtyGuildIds.add(Long.valueOf(longValue)); this.notifyVoiceStatesUpdated.invoke(Long.valueOf(longValue), Long.valueOf(j), Long.valueOf(m)); } } else { if (!m.areEqual(voiceState, hashMap2.get(Long.valueOf(m)))) { VoiceState voiceState2 = hashMap2.get(Long.valueOf(m)); if (!(voiceState2 == null || (a = voiceState2.a()) == null)) { j = a.longValue(); } hashMap2.put(Long.valueOf(m), voiceState); } hashMap.put(valueOf, hashMap2); if (z2) { } } z2 = true; hashMap.put(valueOf, hashMap2); if (z2) { } } else { HashMap hashMap3 = this.voiceStates.get(Long.valueOf(longValue)); if (!(hashMap3 == null || hashMap3.remove(Long.valueOf(m)) == null)) { this.dirtyGuildIds.add(Long.valueOf(longValue)); } } if (!this.dirtyGuildIds.isEmpty()) { markChanged(); } } public static /* synthetic */ void updateVoiceState$default(StoreVoiceStates storeVoiceStates, VoiceState voiceState, Long l, int i, Object obj) { if ((i & 2) != 0) { l = null; } storeVoiceStates.updateVoiceState(voiceState, l); } /* JADX DEBUG: Type inference failed for r0v0. Raw type applied. Possible types: java.util.Map>, java.util.Map> */ public final Map> get() { return this.voiceStatesSnapshot; } public final Map getForChannel(long j, long j2) { Map map = (Map) this.voiceStatesSnapshot.get(Long.valueOf(j)); if (map == null) { map = h0.emptyMap(); } LinkedHashMap linkedHashMap = new LinkedHashMap(); for (Map.Entry entry : map.entrySet()) { Long a = ((VoiceState) entry.getValue()).a(); if (a != null && a.longValue() == j2) { linkedHashMap.put(entry.getKey(), entry.getValue()); } } return linkedHashMap; } @StoreThread public final Map> getInternal$app_productionBetaRelease() { return this.voiceStates; } @StoreThread public final void handleAuthToken(String str) { if (str == null) { clear(); } } @StoreThread public final void handleConnectionOpen(ModelPayload modelPayload) { m.checkNotNullParameter(modelPayload, "payload"); this.sessionId = modelPayload.getSessionId(); this.myUserId = Long.valueOf(modelPayload.getMe().i()); clear(); List guilds = modelPayload.getGuilds(); m.checkNotNullExpressionValue(guilds, "payload.guilds"); for (Guild guild : guilds) { List O = guild.O(); if (O != null) { for (VoiceState voiceState : O) { updateVoiceState(voiceState, Long.valueOf(guild.o())); } } } } @StoreThread public final void handleGuildAdd(Guild guild) { m.checkNotNullParameter(guild, "guild"); List O = guild.O(); if (O != null) { for (VoiceState voiceState : O) { updateVoiceState(voiceState, Long.valueOf(guild.o())); } } } @StoreThread public final void handleGuildRemove(Guild guild) { m.checkNotNullParameter(guild, "guild"); this.voiceStates.remove(Long.valueOf(guild.o())); this.dirtyGuildIds.add(Long.valueOf(guild.o())); markChanged(); } @StoreThread public final void handleVoiceStateUpdate(VoiceState voiceState) { m.checkNotNullParameter(voiceState, "voiceState"); updateVoiceState$default(this, voiceState, null, 2, null); } public final Observable> observe(long j) { return ObservationDeck.connectRx$default(this.observationDeck, new ObservationDeck.UpdateSource[]{this}, false, null, null, new StoreVoiceStates$observe$1(this, j), 14, null); } public final Observable> observe(long j, long j2) { Observable> r = observe(j).Y(new StoreVoiceStates$observe$2(j2)).r(); m.checkNotNullExpressionValue(r, "observe(guildId)\n … .distinctUntilChanged()"); return r; } public final Observable> observeForPrivateChannels(long j) { return observe(0, j); } @Override // com.discord.stores.StoreV2 @StoreThread public void snapshotData() { HashMap hashMap = new HashMap(this.voiceStates.size()); for (Map.Entry> entry : this.voiceStates.entrySet()) { long longValue = entry.getKey().longValue(); HashMap value = entry.getValue(); if (this.dirtyGuildIds.contains(Long.valueOf(longValue))) { hashMap.put(Long.valueOf(longValue), new HashMap(value)); } else { Map map = (Map) this.voiceStatesSnapshot.get(Long.valueOf(longValue)); if (map != null) { hashMap.put(Long.valueOf(longValue), map); } } } this.voiceStatesSnapshot = hashMap; this.dirtyGuildIds.clear(); } }