package io.reactivex.internal.operators.observable; import io.reactivex.ObservableSource; import io.reactivex.Observer; import io.reactivex.exceptions.Exceptions; import io.reactivex.functions.Function; import io.reactivex.internal.disposables.EmptyDisposable; import io.reactivex.internal.functions.ObjectHelper; import io.reactivex.internal.observers.BasicFuseableObserver; import io.reactivex.plugins.RxJavaPlugins; import java.util.Collection; import java.util.concurrent.Callable; /* loaded from: classes2.dex */ public final class ObservableDistinct extends AbstractObservableWithUpstream { final Function b; final Callable> c; static final class DistinctObserver extends BasicFuseableObserver { final Collection f; final Function g; DistinctObserver(Observer observer, Function function, Collection collection) { super(observer); this.g = function; this.f = collection; } @Override // io.reactivex.internal.observers.BasicFuseableObserver, io.reactivex.internal.fuseable.SimpleQueue public void clear() { this.f.clear(); super.clear(); } @Override // io.reactivex.internal.observers.BasicFuseableObserver, io.reactivex.Observer public void onComplete() { if (this.d) { return; } this.d = true; this.f.clear(); this.a.onComplete(); } @Override // io.reactivex.internal.observers.BasicFuseableObserver, io.reactivex.Observer public void onError(Throwable th) { if (this.d) { RxJavaPlugins.b(th); return; } this.d = true; this.f.clear(); this.a.onError(th); } @Override // io.reactivex.Observer public void onNext(T t) { if (this.d) { return; } if (this.e != 0) { this.a.onNext(null); return; } try { K apply = this.g.apply(t); ObjectHelper.a(apply, "The keySelector returned a null key"); if (this.f.add(apply)) { this.a.onNext(t); } } catch (Throwable th) { a(th); } } @Override // io.reactivex.internal.fuseable.SimpleQueue public T poll() throws Exception { T poll; Collection collection; K apply; do { poll = this.c.poll(); if (poll == null) { break; } collection = this.f; apply = this.g.apply(poll); ObjectHelper.a(apply, "The keySelector returned a null key"); } while (!collection.add(apply)); return poll; } @Override // io.reactivex.internal.fuseable.QueueFuseable public int requestFusion(int i) { return a(i); } } public ObservableDistinct(ObservableSource observableSource, Function function, Callable> callable) { super(observableSource); this.b = function; this.c = callable; } @Override // io.reactivex.Observable protected void subscribeActual(Observer observer) { try { Collection call = this.c.call(); ObjectHelper.a(call, "The collectionSupplier returned a null collection. Null values are generally not allowed in 2.x operators and sources."); this.a.subscribe(new DistinctObserver(observer, this.b, call)); } catch (Throwable th) { Exceptions.b(th); EmptyDisposable.error(th, observer); } } }