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 implements Observable.b { public final Scheduler i; public final boolean j; public final int k; /* compiled from: OperatorObserveOn */ public static final class a extends Subscriber implements Action0 { public final Subscriber i; public final Scheduler.Worker j; public final boolean k; public final Queue 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 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 subscriber, Queue 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 queue = this.l; Subscriber 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 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 subscriber2 = aVar.i; subscriber2.setProducer(new y0(aVar)); subscriber2.add(aVar.j); subscriber2.add(aVar); return aVar; } }