181 lines
6.9 KiB
Java
181 lines
6.9 KiB
Java
package com.discord.stores;
|
|
|
|
import c.d.b.a.a;
|
|
import com.discord.api.guild.preview.GuildPreview;
|
|
import com.discord.stores.updates.ObservationDeck;
|
|
import d0.z.d.m;
|
|
import java.util.HashMap;
|
|
import java.util.Map;
|
|
import rx.Observable;
|
|
/* compiled from: StoreGuildProfiles.kt */
|
|
public final class StoreGuildProfiles extends StoreV2 {
|
|
private final Dispatcher dispatcher;
|
|
private final Map<Long, GuildProfileData> guildProfilesState = new HashMap();
|
|
private Map<Long, GuildProfileData> guildProfilesStateSnapshot = new HashMap();
|
|
private final ObservationDeck observationDeck;
|
|
|
|
/* compiled from: StoreGuildProfiles.kt */
|
|
public enum FetchStates {
|
|
FETCHING,
|
|
FAILED,
|
|
SUCCEEDED
|
|
}
|
|
|
|
/* compiled from: StoreGuildProfiles.kt */
|
|
public static final class GuildProfileData {
|
|
private final GuildPreview data;
|
|
private final FetchStates fetchState;
|
|
|
|
public GuildProfileData(FetchStates fetchStates, GuildPreview guildPreview) {
|
|
m.checkNotNullParameter(fetchStates, "fetchState");
|
|
this.fetchState = fetchStates;
|
|
this.data = guildPreview;
|
|
}
|
|
|
|
public static /* synthetic */ GuildProfileData copy$default(GuildProfileData guildProfileData, FetchStates fetchStates, GuildPreview guildPreview, int i, Object obj) {
|
|
if ((i & 1) != 0) {
|
|
fetchStates = guildProfileData.fetchState;
|
|
}
|
|
if ((i & 2) != 0) {
|
|
guildPreview = guildProfileData.data;
|
|
}
|
|
return guildProfileData.copy(fetchStates, guildPreview);
|
|
}
|
|
|
|
public final FetchStates component1() {
|
|
return this.fetchState;
|
|
}
|
|
|
|
public final GuildPreview component2() {
|
|
return this.data;
|
|
}
|
|
|
|
public final GuildProfileData copy(FetchStates fetchStates, GuildPreview guildPreview) {
|
|
m.checkNotNullParameter(fetchStates, "fetchState");
|
|
return new GuildProfileData(fetchStates, guildPreview);
|
|
}
|
|
|
|
public boolean equals(Object obj) {
|
|
if (this == obj) {
|
|
return true;
|
|
}
|
|
if (!(obj instanceof GuildProfileData)) {
|
|
return false;
|
|
}
|
|
GuildProfileData guildProfileData = (GuildProfileData) obj;
|
|
return m.areEqual(this.fetchState, guildProfileData.fetchState) && m.areEqual(this.data, guildProfileData.data);
|
|
}
|
|
|
|
public final GuildPreview getData() {
|
|
return this.data;
|
|
}
|
|
|
|
public final FetchStates getFetchState() {
|
|
return this.fetchState;
|
|
}
|
|
|
|
public int hashCode() {
|
|
FetchStates fetchStates = this.fetchState;
|
|
int i = 0;
|
|
int hashCode = (fetchStates != null ? fetchStates.hashCode() : 0) * 31;
|
|
GuildPreview guildPreview = this.data;
|
|
if (guildPreview != null) {
|
|
i = guildPreview.hashCode();
|
|
}
|
|
return hashCode + i;
|
|
}
|
|
|
|
public String toString() {
|
|
StringBuilder L = a.L("GuildProfileData(fetchState=");
|
|
L.append(this.fetchState);
|
|
L.append(", data=");
|
|
L.append(this.data);
|
|
L.append(")");
|
|
return L.toString();
|
|
}
|
|
}
|
|
|
|
public StoreGuildProfiles(Dispatcher dispatcher, ObservationDeck observationDeck) {
|
|
m.checkNotNullParameter(dispatcher, "dispatcher");
|
|
m.checkNotNullParameter(observationDeck, "observationDeck");
|
|
this.dispatcher = dispatcher;
|
|
this.observationDeck = observationDeck;
|
|
}
|
|
|
|
public static final /* synthetic */ void access$fetchIfNonexisting(StoreGuildProfiles storeGuildProfiles, long j) {
|
|
storeGuildProfiles.fetchIfNonexisting(j);
|
|
}
|
|
|
|
public static final /* synthetic */ Dispatcher access$getDispatcher$p(StoreGuildProfiles storeGuildProfiles) {
|
|
return storeGuildProfiles.dispatcher;
|
|
}
|
|
|
|
public static final /* synthetic */ Map access$getGuildProfilesState$p(StoreGuildProfiles storeGuildProfiles) {
|
|
return storeGuildProfiles.guildProfilesState;
|
|
}
|
|
|
|
public static final /* synthetic */ Map access$getGuildProfilesStateSnapshot$p(StoreGuildProfiles storeGuildProfiles) {
|
|
return storeGuildProfiles.guildProfilesStateSnapshot;
|
|
}
|
|
|
|
public static final /* synthetic */ void access$handleGuildProfileFetchFailed(StoreGuildProfiles storeGuildProfiles, long j) {
|
|
storeGuildProfiles.handleGuildProfileFetchFailed(j);
|
|
}
|
|
|
|
public static final /* synthetic */ void access$handleGuildProfileFetchStart(StoreGuildProfiles storeGuildProfiles, long j) {
|
|
storeGuildProfiles.handleGuildProfileFetchStart(j);
|
|
}
|
|
|
|
public static final /* synthetic */ void access$handleGuildProfileFetchSuccess(StoreGuildProfiles storeGuildProfiles, GuildPreview guildPreview) {
|
|
storeGuildProfiles.handleGuildProfileFetchSuccess(guildPreview);
|
|
}
|
|
|
|
public static final /* synthetic */ void access$setGuildProfilesStateSnapshot$p(StoreGuildProfiles storeGuildProfiles, Map map) {
|
|
storeGuildProfiles.guildProfilesStateSnapshot = map;
|
|
}
|
|
|
|
@StoreThread
|
|
private final void fetchGuildProfile(long j) {
|
|
this.dispatcher.schedule(new StoreGuildProfiles$fetchGuildProfile$1(this, j));
|
|
}
|
|
|
|
@StoreThread
|
|
private final void fetchIfNonexisting(long j) {
|
|
GuildProfileData guildProfileData = this.guildProfilesState.get(Long.valueOf(j));
|
|
if (guildProfileData == null || guildProfileData.getFetchState() == FetchStates.FAILED) {
|
|
fetchGuildProfile(j);
|
|
}
|
|
}
|
|
|
|
@StoreThread
|
|
private final void handleGuildProfileFetchFailed(long j) {
|
|
this.guildProfilesState.put(Long.valueOf(j), new GuildProfileData(FetchStates.FAILED, null));
|
|
markChanged();
|
|
}
|
|
|
|
@StoreThread
|
|
private final void handleGuildProfileFetchStart(long j) {
|
|
this.guildProfilesState.put(Long.valueOf(j), new GuildProfileData(FetchStates.FETCHING, null));
|
|
markChanged();
|
|
}
|
|
|
|
@StoreThread
|
|
private final void handleGuildProfileFetchSuccess(GuildPreview guildPreview) {
|
|
this.guildProfilesState.put(Long.valueOf(guildPreview.g()), new GuildProfileData(FetchStates.SUCCEEDED, guildPreview));
|
|
markChanged();
|
|
}
|
|
|
|
public final Observable<GuildProfileData> observeGuildProfile(long j) {
|
|
this.dispatcher.schedule(new StoreGuildProfiles$observeGuildProfile$1(this, j));
|
|
Observable<GuildProfileData> r = ObservationDeck.connectRx$default(this.observationDeck, new ObservationDeck.UpdateSource[]{this}, false, null, null, new StoreGuildProfiles$observeGuildProfile$2(this, j), 14, null).r();
|
|
m.checkNotNullExpressionValue(r, "observationDeck\n … .distinctUntilChanged()");
|
|
return r;
|
|
}
|
|
|
|
@Override // com.discord.stores.StoreV2
|
|
@StoreThread
|
|
public void snapshotData() {
|
|
this.guildProfilesStateSnapshot = new HashMap(this.guildProfilesState);
|
|
}
|
|
}
|