207 lines
8 KiB
Java
207 lines
8 KiB
Java
package com.discord.stores;
|
|
|
|
import c.d.b.a.a;
|
|
import com.discord.models.domain.ModelSubscription;
|
|
import com.discord.stores.updates.ObservationDeck;
|
|
import com.discord.utilities.rest.RestAPI;
|
|
import d0.z.d.m;
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
import kotlin.NoWhenBranchMatchedException;
|
|
import kotlin.jvm.internal.DefaultConstructorMarker;
|
|
import rx.Observable;
|
|
/* compiled from: StoreSubscriptions.kt */
|
|
public final class StoreSubscriptions extends StoreV2 {
|
|
private final Dispatcher dispatcher;
|
|
private final ObservationDeck observationDeck;
|
|
private final RestAPI restAPI;
|
|
private SubscriptionsState subscriptionsState;
|
|
private SubscriptionsState subscriptionsStateSnapshot;
|
|
|
|
/* compiled from: StoreSubscriptions.kt */
|
|
public static abstract class SubscriptionsState {
|
|
|
|
/* compiled from: StoreSubscriptions.kt */
|
|
public static final class Failure extends SubscriptionsState {
|
|
public static final Failure INSTANCE = new Failure();
|
|
|
|
private Failure() {
|
|
super(null);
|
|
}
|
|
}
|
|
|
|
/* compiled from: StoreSubscriptions.kt */
|
|
public static final class Loaded extends SubscriptionsState {
|
|
private final List<ModelSubscription> subscriptions;
|
|
|
|
/* JADX INFO: super call moved to the top of the method (can break code semantics) */
|
|
public Loaded(List<ModelSubscription> list) {
|
|
super(null);
|
|
m.checkNotNullParameter(list, "subscriptions");
|
|
this.subscriptions = list;
|
|
}
|
|
|
|
/* JADX DEBUG: Multi-variable search result rejected for r0v0, resolved type: com.discord.stores.StoreSubscriptions$SubscriptionsState$Loaded */
|
|
/* JADX WARN: Multi-variable type inference failed */
|
|
public static /* synthetic */ Loaded copy$default(Loaded loaded, List list, int i, Object obj) {
|
|
if ((i & 1) != 0) {
|
|
list = loaded.subscriptions;
|
|
}
|
|
return loaded.copy(list);
|
|
}
|
|
|
|
public final List<ModelSubscription> component1() {
|
|
return this.subscriptions;
|
|
}
|
|
|
|
public final Loaded copy(List<ModelSubscription> list) {
|
|
m.checkNotNullParameter(list, "subscriptions");
|
|
return new Loaded(list);
|
|
}
|
|
|
|
public boolean equals(Object obj) {
|
|
if (this != obj) {
|
|
return (obj instanceof Loaded) && m.areEqual(this.subscriptions, ((Loaded) obj).subscriptions);
|
|
}
|
|
return true;
|
|
}
|
|
|
|
public final List<ModelSubscription> getSubscriptions() {
|
|
return this.subscriptions;
|
|
}
|
|
|
|
public int hashCode() {
|
|
List<ModelSubscription> list = this.subscriptions;
|
|
if (list != null) {
|
|
return list.hashCode();
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
public String toString() {
|
|
return a.D(a.K("Loaded(subscriptions="), this.subscriptions, ")");
|
|
}
|
|
}
|
|
|
|
/* compiled from: StoreSubscriptions.kt */
|
|
public static final class Loading extends SubscriptionsState {
|
|
public static final Loading INSTANCE = new Loading();
|
|
|
|
private Loading() {
|
|
super(null);
|
|
}
|
|
}
|
|
|
|
/* compiled from: StoreSubscriptions.kt */
|
|
public static final class Unfetched extends SubscriptionsState {
|
|
public static final Unfetched INSTANCE = new Unfetched();
|
|
|
|
private Unfetched() {
|
|
super(null);
|
|
}
|
|
}
|
|
|
|
private SubscriptionsState() {
|
|
}
|
|
|
|
public /* synthetic */ SubscriptionsState(DefaultConstructorMarker defaultConstructorMarker) {
|
|
this();
|
|
}
|
|
}
|
|
|
|
public StoreSubscriptions(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;
|
|
SubscriptionsState.Unfetched unfetched = SubscriptionsState.Unfetched.INSTANCE;
|
|
this.subscriptionsState = unfetched;
|
|
this.subscriptionsStateSnapshot = unfetched;
|
|
}
|
|
|
|
public static final /* synthetic */ Dispatcher access$getDispatcher$p(StoreSubscriptions storeSubscriptions) {
|
|
return storeSubscriptions.dispatcher;
|
|
}
|
|
|
|
public static final /* synthetic */ RestAPI access$getRestAPI$p(StoreSubscriptions storeSubscriptions) {
|
|
return storeSubscriptions.restAPI;
|
|
}
|
|
|
|
public static final /* synthetic */ SubscriptionsState access$getSubscriptionsState$p(StoreSubscriptions storeSubscriptions) {
|
|
return storeSubscriptions.subscriptionsState;
|
|
}
|
|
|
|
public static final /* synthetic */ void access$handleSubscriptionsFetchFailure(StoreSubscriptions storeSubscriptions) {
|
|
storeSubscriptions.handleSubscriptionsFetchFailure();
|
|
}
|
|
|
|
public static final /* synthetic */ void access$handleSubscriptionsFetchStart(StoreSubscriptions storeSubscriptions) {
|
|
storeSubscriptions.handleSubscriptionsFetchStart();
|
|
}
|
|
|
|
public static final /* synthetic */ void access$handleSubscriptionsFetchSuccess(StoreSubscriptions storeSubscriptions, List list) {
|
|
storeSubscriptions.handleSubscriptionsFetchSuccess(list);
|
|
}
|
|
|
|
public static final /* synthetic */ void access$setSubscriptionsState$p(StoreSubscriptions storeSubscriptions, SubscriptionsState subscriptionsState) {
|
|
storeSubscriptions.subscriptionsState = subscriptionsState;
|
|
}
|
|
|
|
@StoreThread
|
|
private final void handleSubscriptionsFetchFailure() {
|
|
this.subscriptionsState = SubscriptionsState.Failure.INSTANCE;
|
|
markChanged();
|
|
}
|
|
|
|
@StoreThread
|
|
private final void handleSubscriptionsFetchStart() {
|
|
this.subscriptionsState = SubscriptionsState.Loading.INSTANCE;
|
|
markChanged();
|
|
}
|
|
|
|
@StoreThread
|
|
private final void handleSubscriptionsFetchSuccess(List<ModelSubscription> list) {
|
|
this.subscriptionsState = new SubscriptionsState.Loaded(list);
|
|
markChanged();
|
|
}
|
|
|
|
public final void fetchSubscriptions() {
|
|
this.dispatcher.schedule(new StoreSubscriptions$fetchSubscriptions$1(this));
|
|
}
|
|
|
|
public final SubscriptionsState getSubscriptions() {
|
|
return this.subscriptionsStateSnapshot;
|
|
}
|
|
|
|
@StoreThread
|
|
public final void handlePreLogout() {
|
|
this.subscriptionsState = SubscriptionsState.Unfetched.INSTANCE;
|
|
markChanged();
|
|
}
|
|
|
|
@StoreThread
|
|
public final void handleUserSubscriptionsUpdate() {
|
|
fetchSubscriptions();
|
|
}
|
|
|
|
public final Observable<SubscriptionsState> observeSubscriptions() {
|
|
Observable<SubscriptionsState> r = ObservationDeck.connectRx$default(this.observationDeck, new ObservationDeck.UpdateSource[]{this}, false, null, null, new StoreSubscriptions$observeSubscriptions$1(this), 14, null).r();
|
|
m.checkNotNullExpressionValue(r, "observationDeck.connectR… .distinctUntilChanged()");
|
|
return r;
|
|
}
|
|
|
|
@Override // com.discord.stores.StoreV2
|
|
public void snapshotData() {
|
|
super.snapshotData();
|
|
SubscriptionsState subscriptionsState = this.subscriptionsState;
|
|
if (subscriptionsState instanceof SubscriptionsState.Loaded) {
|
|
SubscriptionsState.Loaded loaded = (SubscriptionsState.Loaded) subscriptionsState;
|
|
subscriptionsState = loaded.copy(new ArrayList(loaded.getSubscriptions()));
|
|
} else if (!m.areEqual(subscriptionsState, SubscriptionsState.Failure.INSTANCE) && !m.areEqual(subscriptionsState, SubscriptionsState.Loading.INSTANCE) && !m.areEqual(subscriptionsState, SubscriptionsState.Unfetched.INSTANCE)) {
|
|
throw new NoWhenBranchMatchedException();
|
|
}
|
|
this.subscriptionsStateSnapshot = subscriptionsState;
|
|
}
|
|
}
|