228 lines
10 KiB
Java
228 lines
10 KiB
Java
|
package com.discord.stores;
|
||
|
|
||
|
import com.discord.api.guildscheduledevent.GuildScheduledEvent;
|
||
|
import com.discord.stores.updates.ObservationDeck;
|
||
|
import d0.t.h0;
|
||
|
import d0.t.n;
|
||
|
import d0.z.d.m;
|
||
|
import java.util.HashMap;
|
||
|
import java.util.HashSet;
|
||
|
import java.util.Iterator;
|
||
|
import java.util.List;
|
||
|
import java.util.Map;
|
||
|
import rx.Observable;
|
||
|
/* compiled from: StoreGuildScheduledEvents.kt */
|
||
|
public final class StoreGuildScheduledEvents extends StoreV2 {
|
||
|
private final Dispatcher dispatcher;
|
||
|
private final HashMap<Long, List<GuildScheduledEvent>> guildScheduledEvents = new HashMap<>();
|
||
|
private Map<Long, ? extends List<GuildScheduledEvent>> guildScheduledEventsSnapshot = h0.emptyMap();
|
||
|
private final ObservationDeck observationDeck;
|
||
|
private final HashSet<Long> rsvpsAwaitingNetwork = new HashSet<>();
|
||
|
private HashSet<Long> rsvpsAwaitingSnapshot = new HashSet<>();
|
||
|
private final HashMap<Long, GuildScheduledEvent> userGuildScheduledEvents = new HashMap<>();
|
||
|
private Map<Long, GuildScheduledEvent> userGuildScheduledEventsSnapshot = h0.emptyMap();
|
||
|
|
||
|
public StoreGuildScheduledEvents(Dispatcher dispatcher, ObservationDeck observationDeck) {
|
||
|
m.checkNotNullParameter(dispatcher, "dispatcher");
|
||
|
m.checkNotNullParameter(observationDeck, "observationDeck");
|
||
|
this.dispatcher = dispatcher;
|
||
|
this.observationDeck = observationDeck;
|
||
|
}
|
||
|
|
||
|
public static final /* synthetic */ GuildScheduledEvent access$findEventFromStore(StoreGuildScheduledEvents storeGuildScheduledEvents, GuildScheduledEvent guildScheduledEvent) {
|
||
|
return storeGuildScheduledEvents.findEventFromStore(guildScheduledEvent);
|
||
|
}
|
||
|
|
||
|
public static final /* synthetic */ Dispatcher access$getDispatcher$p(StoreGuildScheduledEvents storeGuildScheduledEvents) {
|
||
|
return storeGuildScheduledEvents.dispatcher;
|
||
|
}
|
||
|
|
||
|
public static final /* synthetic */ HashMap access$getGuildScheduledEvents$p(StoreGuildScheduledEvents storeGuildScheduledEvents) {
|
||
|
return storeGuildScheduledEvents.guildScheduledEvents;
|
||
|
}
|
||
|
|
||
|
public static final /* synthetic */ Map access$getGuildScheduledEventsSnapshot$p(StoreGuildScheduledEvents storeGuildScheduledEvents) {
|
||
|
return storeGuildScheduledEvents.guildScheduledEventsSnapshot;
|
||
|
}
|
||
|
|
||
|
public static final /* synthetic */ ObservationDeck access$getObservationDeck$p(StoreGuildScheduledEvents storeGuildScheduledEvents) {
|
||
|
return storeGuildScheduledEvents.observationDeck;
|
||
|
}
|
||
|
|
||
|
public static final /* synthetic */ HashSet access$getRsvpsAwaitingNetwork$p(StoreGuildScheduledEvents storeGuildScheduledEvents) {
|
||
|
return storeGuildScheduledEvents.rsvpsAwaitingNetwork;
|
||
|
}
|
||
|
|
||
|
public static final /* synthetic */ HashMap access$getUserGuildScheduledEvents$p(StoreGuildScheduledEvents storeGuildScheduledEvents) {
|
||
|
return storeGuildScheduledEvents.userGuildScheduledEvents;
|
||
|
}
|
||
|
|
||
|
public static final /* synthetic */ Map access$getUserGuildScheduledEventsSnapshot$p(StoreGuildScheduledEvents storeGuildScheduledEvents) {
|
||
|
return storeGuildScheduledEvents.userGuildScheduledEventsSnapshot;
|
||
|
}
|
||
|
|
||
|
public static final /* synthetic */ void access$processRsvpCreate(StoreGuildScheduledEvents storeGuildScheduledEvents, GuildScheduledEvent guildScheduledEvent) {
|
||
|
storeGuildScheduledEvents.processRsvpCreate(guildScheduledEvent);
|
||
|
}
|
||
|
|
||
|
public static final /* synthetic */ void access$processRsvpDelete(StoreGuildScheduledEvents storeGuildScheduledEvents, GuildScheduledEvent guildScheduledEvent) {
|
||
|
storeGuildScheduledEvents.processRsvpDelete(guildScheduledEvent);
|
||
|
}
|
||
|
|
||
|
public static final /* synthetic */ void access$setGuildScheduledEventsSnapshot$p(StoreGuildScheduledEvents storeGuildScheduledEvents, Map map) {
|
||
|
storeGuildScheduledEvents.guildScheduledEventsSnapshot = map;
|
||
|
}
|
||
|
|
||
|
public static final /* synthetic */ void access$setUserGuildScheduledEventsSnapshot$p(StoreGuildScheduledEvents storeGuildScheduledEvents, Map map) {
|
||
|
storeGuildScheduledEvents.userGuildScheduledEventsSnapshot = map;
|
||
|
}
|
||
|
|
||
|
/* JADX DEBUG: Multi-variable search result rejected for r2v2, resolved type: java.lang.Object */
|
||
|
/* JADX WARN: Multi-variable type inference failed */
|
||
|
private final GuildScheduledEvent findEventFromStore(GuildScheduledEvent guildScheduledEvent) {
|
||
|
boolean z2;
|
||
|
List list = (List) this.guildScheduledEventsSnapshot.get(Long.valueOf(guildScheduledEvent.c()));
|
||
|
GuildScheduledEvent guildScheduledEvent2 = null;
|
||
|
if (list != null) {
|
||
|
Iterator it = list.iterator();
|
||
|
while (true) {
|
||
|
if (!it.hasNext()) {
|
||
|
break;
|
||
|
}
|
||
|
Object next = it.next();
|
||
|
if (guildScheduledEvent.d() == ((GuildScheduledEvent) next).d()) {
|
||
|
z2 = true;
|
||
|
continue;
|
||
|
} else {
|
||
|
z2 = false;
|
||
|
continue;
|
||
|
}
|
||
|
if (z2) {
|
||
|
guildScheduledEvent2 = next;
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
guildScheduledEvent2 = guildScheduledEvent2;
|
||
|
}
|
||
|
if (guildScheduledEvent2 == null) {
|
||
|
guildScheduledEvent2 = this.userGuildScheduledEvents.get(Long.valueOf(guildScheduledEvent.d()));
|
||
|
}
|
||
|
return guildScheduledEvent2 != null ? guildScheduledEvent2 : guildScheduledEvent;
|
||
|
}
|
||
|
|
||
|
public static /* synthetic */ Observable observeGuildScheduledEvents$default(StoreGuildScheduledEvents storeGuildScheduledEvents, long j, boolean z2, int i, Object obj) {
|
||
|
if ((i & 2) != 0) {
|
||
|
z2 = true;
|
||
|
}
|
||
|
return storeGuildScheduledEvents.observeGuildScheduledEvents(j, z2);
|
||
|
}
|
||
|
|
||
|
@StoreThread
|
||
|
private final void processRsvpCreate(GuildScheduledEvent guildScheduledEvent) {
|
||
|
long d = guildScheduledEvent.d();
|
||
|
if (!this.userGuildScheduledEvents.containsKey(Long.valueOf(d))) {
|
||
|
this.rsvpsAwaitingSnapshot.add(Long.valueOf(d));
|
||
|
Integer h = guildScheduledEvent.h();
|
||
|
GuildScheduledEvent a = GuildScheduledEvent.a(guildScheduledEvent, 0, 0, null, null, null, null, null, null, null, null, null, null, null, h != null ? Integer.valueOf(h.intValue() + 1) : null, 8191);
|
||
|
this.userGuildScheduledEvents.put(Long.valueOf(d), a);
|
||
|
List<GuildScheduledEvent> list = this.guildScheduledEvents.get(Long.valueOf(a.c()));
|
||
|
if (list != null) {
|
||
|
m.checkNotNullExpressionValue(list, "eventList");
|
||
|
Iterator<GuildScheduledEvent> it = list.iterator();
|
||
|
int i = 0;
|
||
|
while (true) {
|
||
|
if (!it.hasNext()) {
|
||
|
i = -1;
|
||
|
break;
|
||
|
}
|
||
|
if (it.next().d() == d) {
|
||
|
break;
|
||
|
}
|
||
|
i++;
|
||
|
}
|
||
|
if (i != -1) {
|
||
|
list.set(i, a);
|
||
|
} else {
|
||
|
list.add(a);
|
||
|
}
|
||
|
} else {
|
||
|
this.guildScheduledEvents.put(Long.valueOf(guildScheduledEvent.c()), n.mutableListOf(a));
|
||
|
}
|
||
|
markChanged();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
@StoreThread
|
||
|
private final void processRsvpDelete(GuildScheduledEvent guildScheduledEvent) {
|
||
|
long d = guildScheduledEvent.d();
|
||
|
if (this.userGuildScheduledEvents.containsKey(Long.valueOf(d))) {
|
||
|
this.rsvpsAwaitingSnapshot.add(Long.valueOf(d));
|
||
|
this.userGuildScheduledEvents.remove(Long.valueOf(d));
|
||
|
List<GuildScheduledEvent> list = this.guildScheduledEvents.get(Long.valueOf(guildScheduledEvent.c()));
|
||
|
if (list != null) {
|
||
|
m.checkNotNullExpressionValue(list, "eventList");
|
||
|
Iterator<GuildScheduledEvent> it = list.iterator();
|
||
|
boolean z2 = false;
|
||
|
int i = 0;
|
||
|
while (true) {
|
||
|
if (!it.hasNext()) {
|
||
|
i = -1;
|
||
|
break;
|
||
|
}
|
||
|
if (it.next().d() == d) {
|
||
|
break;
|
||
|
}
|
||
|
i++;
|
||
|
}
|
||
|
Integer valueOf = Integer.valueOf(i);
|
||
|
if (valueOf.intValue() != -1) {
|
||
|
z2 = true;
|
||
|
}
|
||
|
Integer num = null;
|
||
|
if (!z2) {
|
||
|
valueOf = null;
|
||
|
}
|
||
|
if (valueOf != null) {
|
||
|
int intValue = valueOf.intValue();
|
||
|
Integer h = guildScheduledEvent.h();
|
||
|
if (h != null) {
|
||
|
num = Integer.valueOf(h.intValue() - 1);
|
||
|
}
|
||
|
list.set(intValue, GuildScheduledEvent.a(guildScheduledEvent, 0, 0, null, null, null, null, null, null, null, null, null, null, null, num, 8191));
|
||
|
}
|
||
|
}
|
||
|
markChanged();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public final Observable<List<GuildScheduledEvent>> observeGuildScheduledEvents(long j, boolean z2) {
|
||
|
Observable<List<GuildScheduledEvent>> p = Observable.p(new StoreGuildScheduledEvents$observeGuildScheduledEvents$1(this, j, z2));
|
||
|
m.checkNotNullExpressionValue(p, "Observable.defer {\n …emptyList()\n }\n }");
|
||
|
return p;
|
||
|
}
|
||
|
|
||
|
public final Observable<Map<Long, GuildScheduledEvent>> observeUserGuildScheduledEvents() {
|
||
|
Observable<Map<Long, GuildScheduledEvent>> p = Observable.p(new StoreGuildScheduledEvents$observeUserGuildScheduledEvents$1(this));
|
||
|
m.checkNotNullExpressionValue(p, "Observable.defer {\n …ntsSnapshot\n }\n }");
|
||
|
return p;
|
||
|
}
|
||
|
|
||
|
@Override // com.discord.stores.StoreV2
|
||
|
public void snapshotData() {
|
||
|
super.snapshotData();
|
||
|
this.guildScheduledEventsSnapshot = new HashMap(this.guildScheduledEvents);
|
||
|
this.userGuildScheduledEventsSnapshot = new HashMap(this.userGuildScheduledEvents);
|
||
|
this.rsvpsAwaitingSnapshot.clear();
|
||
|
}
|
||
|
|
||
|
public final void toggleRsvpGuildScheduledEvent(GuildScheduledEvent guildScheduledEvent) {
|
||
|
m.checkNotNullParameter(guildScheduledEvent, "guildScheduledEvent");
|
||
|
GuildScheduledEvent findEventFromStore = findEventFromStore(guildScheduledEvent);
|
||
|
long d = findEventFromStore.d();
|
||
|
if (!this.rsvpsAwaitingNetwork.contains(Long.valueOf(d)) && !this.rsvpsAwaitingSnapshot.contains(Long.valueOf(d))) {
|
||
|
this.rsvpsAwaitingNetwork.add(Long.valueOf(d));
|
||
|
this.dispatcher.schedule(new StoreGuildScheduledEvents$toggleRsvpGuildScheduledEvent$1(this, d, findEventFromStore));
|
||
|
}
|
||
|
}
|
||
|
}
|