98 lines
4 KiB
Java
98 lines
4 KiB
Java
package com.discord.stores;
|
|
|
|
import android.content.Context;
|
|
import com.discord.api.emoji.GuildEmojisUpdate;
|
|
import com.discord.models.domain.emoji.ModelEmojiGuild;
|
|
import com.discord.stores.updates.ObservationDeck;
|
|
import com.discord.utilities.rest.RestAPI;
|
|
import com.discord.utilities.rx.ObservableExtensionsKt;
|
|
import d0.t.h0;
|
|
import d0.z.d.m;
|
|
import java.util.HashMap;
|
|
import java.util.LinkedHashMap;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import kotlin.jvm.functions.Function0;
|
|
import kotlin.jvm.functions.Function1;
|
|
import rx.Observable;
|
|
/* compiled from: StoreEmojiGuild.kt */
|
|
public final class StoreEmojiGuild extends StoreV2 {
|
|
private long activeGuildId = -1;
|
|
private final Dispatcher dispatcher;
|
|
private final Map<Long, List<ModelEmojiGuild>> guildEmoji = new LinkedHashMap();
|
|
private Map<Long, ? extends List<ModelEmojiGuild>> guildEmojiSnapshot = h0.emptyMap();
|
|
private final ObservationDeck observationDeck;
|
|
private final RestAPI restAPI;
|
|
|
|
public StoreEmojiGuild(ObservationDeck observationDeck, Dispatcher dispatcher, RestAPI restAPI) {
|
|
m.checkNotNullParameter(observationDeck, "observationDeck");
|
|
m.checkNotNullParameter(dispatcher, "dispatcher");
|
|
m.checkNotNullParameter(restAPI, "restAPI");
|
|
this.observationDeck = observationDeck;
|
|
this.dispatcher = dispatcher;
|
|
this.restAPI = restAPI;
|
|
}
|
|
|
|
public static final /* synthetic */ long access$getActiveGuildId$p(StoreEmojiGuild storeEmojiGuild) {
|
|
return storeEmojiGuild.activeGuildId;
|
|
}
|
|
|
|
public static final /* synthetic */ Map access$getGuildEmoji$p(StoreEmojiGuild storeEmojiGuild) {
|
|
return storeEmojiGuild.guildEmoji;
|
|
}
|
|
|
|
public static final /* synthetic */ void access$handleGuildEmojisLoaded(StoreEmojiGuild storeEmojiGuild, long j, List list) {
|
|
storeEmojiGuild.handleGuildEmojisLoaded(j, list);
|
|
}
|
|
|
|
public static final /* synthetic */ void access$setActiveGuildId$p(StoreEmojiGuild storeEmojiGuild, long j) {
|
|
storeEmojiGuild.activeGuildId = j;
|
|
}
|
|
|
|
@StoreThread
|
|
private final void handleGuildEmojisLoaded(long j, List<ModelEmojiGuild> list) {
|
|
this.dispatcher.schedule(new StoreEmojiGuild$handleGuildEmojisLoaded$1(this, list, j));
|
|
}
|
|
|
|
public final void activate(long j) {
|
|
this.dispatcher.schedule(new StoreEmojiGuild$activate$1(this, j));
|
|
}
|
|
|
|
public final void deactivate() {
|
|
this.dispatcher.schedule(new StoreEmojiGuild$deactivate$1(this));
|
|
}
|
|
|
|
public final void deleteEmoji(long j, long j2) {
|
|
this.dispatcher.schedule(new StoreEmojiGuild$deleteEmoji$1(this, j, j2));
|
|
}
|
|
|
|
public final void fetchGuildEmoji(long j) {
|
|
ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.restSubscribeOn$default(this.restAPI.getGuildEmojis(j), false, 1, null), StoreEmojiGuild.class, (Context) null, (Function1) null, (Function1) null, (Function0) null, (Function0) null, new StoreEmojiGuild$fetchGuildEmoji$1(this, j), 62, (Object) null);
|
|
}
|
|
|
|
public final List<ModelEmojiGuild> getGuildEmoji(long j) {
|
|
return (List) this.guildEmojiSnapshot.get(Long.valueOf(j));
|
|
}
|
|
|
|
@StoreThread
|
|
public final void handleEmojiUpdate(GuildEmojisUpdate guildEmojisUpdate) {
|
|
m.checkNotNullParameter(guildEmojisUpdate, "emojiUpdate");
|
|
long c2 = guildEmojisUpdate.c();
|
|
long j = this.activeGuildId;
|
|
if (c2 == j) {
|
|
fetchGuildEmoji(j);
|
|
}
|
|
}
|
|
|
|
public final Observable<List<ModelEmojiGuild>> observeGuildEmoji(long j) {
|
|
Observable<List<ModelEmojiGuild>> r = ObservationDeck.connectRx$default(this.observationDeck, new ObservationDeck.UpdateSource[]{this}, false, null, null, new StoreEmojiGuild$observeGuildEmoji$1(this, j), 14, null).r();
|
|
m.checkNotNullExpressionValue(r, "observationDeck.connectR… .distinctUntilChanged()");
|
|
return r;
|
|
}
|
|
|
|
@Override // com.discord.stores.StoreV2
|
|
public void snapshotData() {
|
|
super.snapshotData();
|
|
this.guildEmojiSnapshot = new HashMap(this.guildEmoji);
|
|
}
|
|
}
|