package io.reactivex.internal.operators.observable; import io.reactivex.ObservableSource; import io.reactivex.Observer; import io.reactivex.disposables.Disposable; import io.reactivex.exceptions.Exceptions; import io.reactivex.internal.disposables.DisposableHelper; import io.reactivex.internal.disposables.EmptyDisposable; import io.reactivex.internal.functions.ObjectHelper; import io.reactivex.internal.observers.QueueDrainObserver; import io.reactivex.internal.queue.MpscLinkedQueue; import io.reactivex.internal.util.QueueDrainHelper; import io.reactivex.observers.DisposableObserver; import io.reactivex.observers.SerializedObserver; import java.util.Collection; import java.util.concurrent.Callable; /* loaded from: classes2.dex */ public final class ObservableBufferExactBoundary, B> extends AbstractObservableWithUpstream { final ObservableSource b; final Callable c; static final class BufferBoundaryObserver, B> extends DisposableObserver { final BufferExactBoundaryObserver b; BufferBoundaryObserver(BufferExactBoundaryObserver bufferExactBoundaryObserver) { this.b = bufferExactBoundaryObserver; } @Override // io.reactivex.Observer public void onComplete() { this.b.onComplete(); } @Override // io.reactivex.Observer public void onError(Throwable th) { this.b.onError(th); } @Override // io.reactivex.Observer public void onNext(B b) { this.b.f(); } } static final class BufferExactBoundaryObserver, B> extends QueueDrainObserver implements Observer, Disposable { final Callable g; final ObservableSource h; Disposable i; Disposable j; U k; BufferExactBoundaryObserver(Observer observer, Callable callable, ObservableSource observableSource) { super(observer, new MpscLinkedQueue()); this.g = callable; this.h = observableSource; } /* JADX WARN: Multi-variable type inference failed */ @Override // io.reactivex.internal.observers.QueueDrainObserver, io.reactivex.internal.util.ObservableQueueDrain public /* bridge */ /* synthetic */ void a(Observer observer, Object obj) { a((Observer) observer, (Observer) obj); } @Override // io.reactivex.disposables.Disposable public void dispose() { if (this.d) { return; } this.d = true; this.j.dispose(); this.i.dispose(); if (d()) { this.c.clear(); } } void f() { try { U call = this.g.call(); ObjectHelper.a(call, "The buffer supplied is null"); U u = call; synchronized (this) { U u2 = this.k; if (u2 == null) { return; } this.k = u; a(u2, false, this); } } catch (Throwable th) { Exceptions.b(th); dispose(); this.b.onError(th); } } @Override // io.reactivex.Observer public void onComplete() { synchronized (this) { U u = this.k; if (u == null) { return; } this.k = null; this.c.offer(u); this.e = true; if (d()) { QueueDrainHelper.a(this.c, this.b, false, this, this); } } } @Override // io.reactivex.Observer public void onError(Throwable th) { dispose(); this.b.onError(th); } @Override // io.reactivex.Observer public void onNext(T t) { synchronized (this) { U u = this.k; if (u == null) { return; } u.add(t); } } @Override // io.reactivex.Observer public void onSubscribe(Disposable disposable) { if (DisposableHelper.validate(this.i, disposable)) { this.i = disposable; try { U call = this.g.call(); ObjectHelper.a(call, "The buffer supplied is null"); this.k = call; BufferBoundaryObserver bufferBoundaryObserver = new BufferBoundaryObserver(this); this.j = bufferBoundaryObserver; this.b.onSubscribe(this); if (this.d) { return; } this.h.subscribe(bufferBoundaryObserver); } catch (Throwable th) { Exceptions.b(th); this.d = true; disposable.dispose(); EmptyDisposable.error(th, this.b); } } } public void a(Observer observer, U u) { this.b.onNext(u); } } public ObservableBufferExactBoundary(ObservableSource observableSource, ObservableSource observableSource2, Callable callable) { super(observableSource); this.b = observableSource2; this.c = callable; } @Override // io.reactivex.Observable protected void subscribeActual(Observer observer) { this.a.subscribe(new BufferExactBoundaryObserver(new SerializedObserver(observer), this.c, this.b)); } }