package io.reactivex.internal.operators.observable; import io.reactivex.Observable; import io.reactivex.Observer; import io.reactivex.exceptions.Exceptions; import io.reactivex.internal.disposables.EmptyDisposable; import io.reactivex.internal.functions.ObjectHelper; import io.reactivex.internal.observers.BasicQueueDisposable; import java.util.Iterator; /* loaded from: classes2.dex */ public final class ObservableFromIterable extends Observable { final Iterable a; static final class FromIterableDisposable extends BasicQueueDisposable { final Observer a; final Iterator b; volatile boolean c; boolean d; boolean e; boolean f; FromIterableDisposable(Observer observer, Iterator it) { this.a = observer; this.b = it; } public boolean a() { return this.c; } void b() { while (!a()) { try { T next = this.b.next(); ObjectHelper.a((Object) next, "The iterator returned a null value"); this.a.onNext(next); if (a()) { return; } try { if (!this.b.hasNext()) { if (a()) { return; } this.a.onComplete(); return; } } catch (Throwable th) { Exceptions.b(th); this.a.onError(th); return; } } catch (Throwable th2) { Exceptions.b(th2); this.a.onError(th2); return; } } } @Override // io.reactivex.internal.fuseable.SimpleQueue public void clear() { this.e = true; } @Override // io.reactivex.disposables.Disposable public void dispose() { this.c = true; } @Override // io.reactivex.internal.fuseable.SimpleQueue public boolean isEmpty() { return this.e; } @Override // io.reactivex.internal.fuseable.SimpleQueue public T poll() { if (this.e) { return null; } if (!this.f) { this.f = true; } else if (!this.b.hasNext()) { this.e = true; return null; } T next = this.b.next(); ObjectHelper.a((Object) next, "The iterator returned a null value"); return next; } @Override // io.reactivex.internal.fuseable.QueueFuseable public int requestFusion(int i) { if ((i & 1) == 0) { return 0; } this.d = true; return 1; } } public ObservableFromIterable(Iterable iterable) { this.a = iterable; } @Override // io.reactivex.Observable public void subscribeActual(Observer observer) { try { Iterator it = this.a.iterator(); try { if (!it.hasNext()) { EmptyDisposable.complete(observer); return; } FromIterableDisposable fromIterableDisposable = new FromIterableDisposable(observer, it); observer.onSubscribe(fromIterableDisposable); if (fromIterableDisposable.d) { return; } fromIterableDisposable.b(); } catch (Throwable th) { Exceptions.b(th); EmptyDisposable.error(th, observer); } } catch (Throwable th2) { Exceptions.b(th2); EmptyDisposable.error(th2, observer); } } }