73 lines
2.3 KiB
Java
73 lines
2.3 KiB
Java
package com.discord.app;
|
|
|
|
import androidx.annotation.MainThread;
|
|
import androidx.lifecycle.ViewModel;
|
|
import d0.z.d.m;
|
|
import kotlin.jvm.internal.DefaultConstructorMarker;
|
|
import rx.Observable;
|
|
import rx.subjects.BehaviorSubject;
|
|
import rx.subjects.PublishSubject;
|
|
import rx.subjects.Subject;
|
|
/* compiled from: AppViewModel.kt */
|
|
public abstract class AppViewModel<V> extends ViewModel implements AppComponent {
|
|
private final Subject<Void, Void> unsubscribeSignal;
|
|
private final BehaviorSubject<V> viewStateSubject;
|
|
|
|
public AppViewModel() {
|
|
this(null, 1, null);
|
|
}
|
|
|
|
public AppViewModel(V v) {
|
|
BehaviorSubject<V> k0 = BehaviorSubject.k0();
|
|
this.viewStateSubject = k0;
|
|
PublishSubject k02 = PublishSubject.k0();
|
|
m.checkNotNullExpressionValue(k02, "PublishSubject.create()");
|
|
this.unsubscribeSignal = k02;
|
|
if (v != null) {
|
|
k0.onNext(v);
|
|
}
|
|
}
|
|
|
|
/* JADX INFO: this call moved to the top of the method (can break code semantics) */
|
|
public /* synthetic */ AppViewModel(Object obj, int i, DefaultConstructorMarker defaultConstructorMarker) {
|
|
this((i & 1) != 0 ? null : obj);
|
|
}
|
|
|
|
@Override // com.discord.app.AppComponent
|
|
public Subject<Void, Void> getUnsubscribeSignal() {
|
|
return this.unsubscribeSignal;
|
|
}
|
|
|
|
public final V getViewState() {
|
|
BehaviorSubject<V> behaviorSubject = this.viewStateSubject;
|
|
m.checkNotNullExpressionValue(behaviorSubject, "viewStateSubject");
|
|
return behaviorSubject.n0();
|
|
}
|
|
|
|
public V modifyPendingViewState(V v, V v2) {
|
|
return v2;
|
|
}
|
|
|
|
public final Observable<V> observeViewState() {
|
|
BehaviorSubject<V> behaviorSubject = this.viewStateSubject;
|
|
m.checkNotNullExpressionValue(behaviorSubject, "viewStateSubject");
|
|
return behaviorSubject;
|
|
}
|
|
|
|
@Override // androidx.lifecycle.ViewModel
|
|
public void onCleared() {
|
|
super.onCleared();
|
|
getUnsubscribeSignal().onNext(null);
|
|
}
|
|
|
|
public final V requireViewState() {
|
|
V viewState = getViewState();
|
|
m.checkNotNull(viewState);
|
|
return viewState;
|
|
}
|
|
|
|
@MainThread
|
|
public void updateViewState(V v) {
|
|
this.viewStateSubject.onNext(modifyPendingViewState(getViewState(), v));
|
|
}
|
|
}
|