discord-jadx/app/src/main/java/j0/l/a/z0.java

199 lines
6.1 KiB
Java

package j0.l.a;
import j0.l.c.m;
import j0.l.e.h;
import j0.l.e.m.c;
import j0.l.e.n.n;
import j0.l.e.n.y;
import j0.o.l;
import java.util.Queue;
import java.util.concurrent.atomic.AtomicLong;
import rx.Observable;
import rx.Scheduler;
import rx.Subscriber;
import rx.exceptions.MissingBackpressureException;
import rx.functions.Action0;
/* compiled from: OperatorObserveOn */
public final class z0<T> implements Observable.b<T, T> {
public final Scheduler i;
public final boolean j;
public final int k;
/* compiled from: OperatorObserveOn */
public static final class a<T> extends Subscriber<T> implements Action0 {
public final Subscriber<? super T> i;
public final Scheduler.Worker j;
public final boolean k;
public final Queue<Object> l;
public final int m;
public volatile boolean n;
public final AtomicLong o = new AtomicLong();
public final AtomicLong p = new AtomicLong();
public Throwable q;
public long r;
public a(Scheduler scheduler, Subscriber<? super T> subscriber, boolean z2, int i) {
this.i = subscriber;
this.j = scheduler.a();
this.k = z2;
i = i <= 0 ? h.i : i;
this.m = i - (i >> 2);
if (y.b()) {
this.l = new n(i);
} else {
this.l = new c(i);
}
request((long) i);
}
public boolean a(boolean z2, boolean z3, Subscriber<? super T> subscriber, Queue<Object> queue) {
if (subscriber.isUnsubscribed()) {
queue.clear();
return true;
} else if (!z2) {
return false;
} else {
if (!this.k) {
Throwable th = this.q;
if (th != null) {
queue.clear();
try {
subscriber.onError(th);
return true;
} finally {
this.j.unsubscribe();
}
} else if (!z3) {
return false;
} else {
try {
subscriber.onCompleted();
return true;
} finally {
this.j.unsubscribe();
}
}
} else if (!z3) {
return false;
} else {
Throwable th2 = this.q;
if (th2 != null) {
try {
subscriber.onError(th2);
} catch (Throwable th3) {
this.j.unsubscribe();
throw th3;
}
} else {
subscriber.onCompleted();
}
this.j.unsubscribe();
return false;
}
}
}
public void b() {
if (this.p.getAndIncrement() == 0) {
this.j.a(this);
}
}
@Override // rx.functions.Action0
public void call() {
int i;
long j = this.r;
Queue<Object> queue = this.l;
Subscriber<? super T> subscriber = this.i;
long j2 = 1;
do {
long j3 = this.o.get();
while (true) {
i = (j3 > j ? 1 : (j3 == j ? 0 : -1));
if (i == 0) {
break;
}
boolean z2 = this.n;
Object poll = queue.poll();
boolean z3 = poll == null;
if (!a(z2, z3, subscriber, queue)) {
if (z3) {
break;
}
subscriber.onNext((Object) e.b(poll));
j++;
if (j == ((long) this.m)) {
j3 = c.q.a.k.a.I(this.o, j);
request(j);
j = 0;
}
} else {
return;
}
}
if (i != 0 || !a(this.n, queue.isEmpty(), subscriber, queue)) {
this.r = j;
j2 = this.p.addAndGet(-j2);
} else {
return;
}
} while (j2 != 0);
}
@Override // j0.g
public void onCompleted() {
if (!isUnsubscribed() && !this.n) {
this.n = true;
b();
}
}
@Override // j0.g
public void onError(Throwable th) {
if (isUnsubscribed() || this.n) {
l.b(th);
return;
}
this.q = th;
this.n = true;
b();
}
@Override // j0.g
public void onNext(T t) {
if (!isUnsubscribed() && !this.n) {
Queue<Object> queue = this.l;
if (t == null) {
t = (T) e.b;
}
if (!queue.offer(t)) {
onError(new MissingBackpressureException());
} else {
b();
}
}
}
}
public z0(Scheduler scheduler, boolean z2, int i) {
this.i = scheduler;
this.j = z2;
this.k = i <= 0 ? h.i : i;
}
@Override // j0.k.b
public Object call(Object obj) {
Subscriber subscriber = (Subscriber) obj;
Scheduler scheduler = this.i;
if (scheduler instanceof m) {
return subscriber;
}
a aVar = new a(scheduler, subscriber, this.j, this.k);
Subscriber<? super T> subscriber2 = aVar.i;
subscriber2.setProducer(new y0(aVar));
subscriber2.add(aVar.j);
subscriber2.add(aVar);
return aVar;
}
}