140 lines
6.5 KiB
Java
140 lines
6.5 KiB
Java
package com.discord.stores;
|
|
|
|
import android.content.Context;
|
|
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 d0.t.h0;
|
|
import d0.t.n0;
|
|
import d0.t.o0;
|
|
import d0.z.d.m;
|
|
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 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.discordHubClickedPersister = new Persister<>("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 */ 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 final void addDirectoryToChannel(long j, DirectoryEntry directoryEntry) {
|
|
m.checkNotNullParameter(directoryEntry, "directoryEntry");
|
|
this.dispatcher.schedule(new StoreDirectories$addDirectoryToChannel$1(this, j, directoryEntry));
|
|
}
|
|
|
|
public final void fetchDirectoriesForChannel(long j) {
|
|
RestCallStateKt.executeRequest(this.restApi.getDirectoryEntries(j), new StoreDirectories$fetchDirectoriesForChannel$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));
|
|
}
|
|
|
|
@Override // com.discord.stores.Store
|
|
public void init(Context context) {
|
|
m.checkNotNullParameter(context, "context");
|
|
super.init(context);
|
|
Observable r = ObservableExtensionsKt.computationLatest(ObservableExtensionsKt.leadingEdgeThrottle(this.guildStore.observeGuilds(), 1, TimeUnit.SECONDS)).F(StoreDirectories$init$1.INSTANCE).r();
|
|
m.checkNotNullExpressionValue(r, "guildStore\n .obse… .distinctUntilChanged()");
|
|
ObservableExtensionsKt.appSubscribe$default(r, 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 ObservationDeck.Observer observeDirectoriesForChannel(long j) {
|
|
return ObservationDeck.connect$default(this.observationDeck, new ObservationDeck.UpdateSource[]{this}, false, null, new StoreDirectories$observeDirectoriesForChannel$1(this, j), 6, null);
|
|
}
|
|
|
|
public final Observable<Boolean> observeDiscordHubClicked() {
|
|
Observable<Boolean> r = this.discordHubClickedPersister.getObservable().r();
|
|
m.checkNotNullExpressionValue(r, "discordHubClickedPersist… .distinctUntilChanged()");
|
|
return r;
|
|
}
|
|
|
|
@Override // com.discord.stores.StoreV2
|
|
public void snapshotData() {
|
|
this.directoriesMapSnapshot = new HashMap(this.directoriesMap);
|
|
}
|
|
}
|