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

168 lines
8.1 KiB
Java

package com.discord.stores;
import android.content.Context;
import c0.t.h0;
import c0.t.n0;
import c0.t.o0;
import c0.z.d.m;
import com.discord.api.directory.DirectoryEntry;
import com.discord.stores.updates.ObservationDeck;
import com.discord.stores.utilities.RestCallState;
import com.discord.stores.utilities.RestCallStateKt;
import com.discord.utilities.persister.Persister;
import com.discord.utilities.rest.RestAPI;
import com.discord.utilities.rx.ObservableExtensionsKt;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.TimeUnit;
import kotlin.jvm.functions.Function0;
import kotlin.jvm.functions.Function1;
import kotlin.jvm.internal.DefaultConstructorMarker;
import rx.Observable;
/* compiled from: StoreDirectories.kt */
public final class StoreDirectories extends StoreV2 {
public static final Companion Companion = new Companion(null);
private static final String DISCORD_HUB_VERIFICATION_CLICKED_KEY = "hub_verification_clicked_key";
private static final String HUB_NAME_PROMPT = "hub_name_prompt";
private Map<Long, RestCallState<List<DirectoryEntry>>> directoriesMap;
private Map<Long, ? extends RestCallState<? extends List<DirectoryEntry>>> directoriesMapSnapshot;
private final Persister<Boolean> discordHubClickedPersister;
private final Dispatcher dispatcher;
private Map<Long, RestCallState<Map<Integer, Integer>>> entryCountMap;
private Map<Long, ? extends RestCallState<? extends Map<Integer, Integer>>> entryCountMapSnapshot;
private final StoreGuilds guildStore;
private final Persister<Set<Long>> hubNamePromptPersister;
private final ObservationDeck observationDeck;
private final RestAPI restApi;
/* compiled from: StoreDirectories.kt */
public static final class Companion {
private Companion() {
}
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
this();
}
}
public StoreDirectories(Dispatcher dispatcher, ObservationDeck observationDeck, StoreGuilds storeGuilds, RestAPI restAPI) {
m.checkNotNullParameter(dispatcher, "dispatcher");
m.checkNotNullParameter(observationDeck, "observationDeck");
m.checkNotNullParameter(storeGuilds, "guildStore");
m.checkNotNullParameter(restAPI, "restApi");
this.dispatcher = dispatcher;
this.observationDeck = observationDeck;
this.guildStore = storeGuilds;
this.restApi = restAPI;
this.directoriesMapSnapshot = h0.emptyMap();
this.directoriesMap = new LinkedHashMap();
this.entryCountMapSnapshot = h0.emptyMap();
this.entryCountMap = new LinkedHashMap();
this.discordHubClickedPersister = new Persister<>(DISCORD_HUB_VERIFICATION_CLICKED_KEY, Boolean.FALSE);
this.hubNamePromptPersister = new Persister<>(HUB_NAME_PROMPT, n0.emptySet());
}
/* JADX INFO: this call moved to the top of the method (can break code semantics) */
public /* synthetic */ StoreDirectories(Dispatcher dispatcher, ObservationDeck observationDeck, StoreGuilds storeGuilds, RestAPI restAPI, int i, DefaultConstructorMarker defaultConstructorMarker) {
this(dispatcher, observationDeck, storeGuilds, (i & 8) != 0 ? RestAPI.Companion.getApi() : restAPI);
}
public static final /* synthetic */ Map access$getDirectoriesMap$p(StoreDirectories storeDirectories) {
return storeDirectories.directoriesMap;
}
public static final /* synthetic */ Map access$getDirectoriesMapSnapshot$p(StoreDirectories storeDirectories) {
return storeDirectories.directoriesMapSnapshot;
}
public static final /* synthetic */ Dispatcher access$getDispatcher$p(StoreDirectories storeDirectories) {
return storeDirectories.dispatcher;
}
public static final /* synthetic */ Map access$getEntryCountMap$p(StoreDirectories storeDirectories) {
return storeDirectories.entryCountMap;
}
public static final /* synthetic */ Persister access$getHubNamePromptPersister$p(StoreDirectories storeDirectories) {
return storeDirectories.hubNamePromptPersister;
}
public static final /* synthetic */ void access$setDirectoriesMap$p(StoreDirectories storeDirectories, Map map) {
storeDirectories.directoriesMap = map;
}
public static final /* synthetic */ void access$setDirectoriesMapSnapshot$p(StoreDirectories storeDirectories, Map map) {
storeDirectories.directoriesMapSnapshot = map;
}
public static final /* synthetic */ void access$setEntryCountMap$p(StoreDirectories storeDirectories, Map map) {
storeDirectories.entryCountMap = map;
}
public final void addServerToDirectory(long j, DirectoryEntry directoryEntry) {
m.checkNotNullParameter(directoryEntry, "directoryEntry");
this.dispatcher.schedule(new StoreDirectories$addServerToDirectory$1(this, j, directoryEntry));
}
public final void fetchDirectoriesForChannel(long j) {
Observable<R> F = this.restApi.getDirectoryEntries(j).F(StoreDirectories$fetchDirectoriesForChannel$1.INSTANCE);
m.checkNotNullExpressionValue(F, "restApi\n .getDire…pproximateMemberCount } }");
RestCallStateKt.executeRequest(F, new StoreDirectories$fetchDirectoriesForChannel$2(this, j));
}
public final void fetchEntryCountsForChannel(long j) {
RestCallStateKt.executeRequest(this.restApi.getEntryCounts(j), new StoreDirectories$fetchEntryCountsForChannel$1(this, j));
}
public final boolean getAndSetSeenNamePrompt(long j) {
boolean contains = this.hubNamePromptPersister.get().contains(Long.valueOf(j));
Persister<Set<Long>> persister = this.hubNamePromptPersister;
Persister.set$default(persister, o0.plus(persister.get(), Long.valueOf(j)), false, 2, null);
return contains;
}
public final RestCallState<List<DirectoryEntry>> getDirectoriesForChannel(long j) {
return (RestCallState) this.directoriesMapSnapshot.get(Long.valueOf(j));
}
public final RestCallState<Map<Integer, Integer>> getEntryCountsForChannel(long j) {
return (RestCallState) this.entryCountMapSnapshot.get(Long.valueOf(j));
}
@Override // com.discord.stores.Store
public void init(Context context) {
m.checkNotNullParameter(context, "context");
super.init(context);
Observable q = ObservableExtensionsKt.computationLatest(ObservableExtensionsKt.leadingEdgeThrottle(this.guildStore.observeGuilds(), 1, TimeUnit.SECONDS)).F(StoreDirectories$init$1.INSTANCE).q();
m.checkNotNullExpressionValue(q, "guildStore\n .obse… .distinctUntilChanged()");
ObservableExtensionsKt.appSubscribe$default(q, StoreDirectories.class, (Context) null, (Function1) null, (Function1) null, (Function0) null, (Function0) null, new StoreDirectories$init$2(this), 62, (Object) null);
}
public final void markDiscordHubClicked() {
Persister.set$default(this.discordHubClickedPersister, Boolean.TRUE, false, 2, null);
}
public final Observable<RestCallState<List<DirectoryEntry>>> observeDirectoriesForChannel(long j) {
return ObservationDeck.connectRx$default(this.observationDeck, new ObservationDeck.UpdateSource[]{this}, false, null, null, new StoreDirectories$observeDirectoriesForChannel$1(this, j), 14, null);
}
public final Observable<Boolean> observeDiscordHubClicked() {
Observable<Boolean> q = this.discordHubClickedPersister.getObservable().q();
m.checkNotNullExpressionValue(q, "discordHubClickedPersist… .distinctUntilChanged()");
return q;
}
public final void removeServerFromDirectory(long j, long j2) {
RestCallStateKt.executeRequest(RestCallStateKt.logNetworkAction(this.restApi.removeServerFromHub(j, j2), new StoreDirectories$removeServerFromDirectory$1(j, j2)), new StoreDirectories$removeServerFromDirectory$2(this, j, j2));
}
@Override // com.discord.stores.StoreV2
public void snapshotData() {
this.directoriesMapSnapshot = new HashMap(this.directoriesMap);
this.entryCountMapSnapshot = new HashMap(this.entryCountMap);
}
}