jimu-decompiled/sources/io/reactivex/internal/operators/observable/ObservableRangeLong.java
2025-05-13 19:24:51 +02:00

89 lines
2.4 KiB
Java

package io.reactivex.internal.operators.observable;
import io.reactivex.Observable;
import io.reactivex.Observer;
import io.reactivex.internal.observers.BasicIntQueueDisposable;
/* loaded from: classes2.dex */
public final class ObservableRangeLong extends Observable<Long> {
private final long a;
private final long b;
static final class RangeDisposable extends BasicIntQueueDisposable<Long> {
final Observer<? super Long> a;
final long b;
long c;
boolean d;
RangeDisposable(Observer<? super Long> observer, long j, long j2) {
this.a = observer;
this.c = j;
this.b = j2;
}
@Override // io.reactivex.internal.fuseable.SimpleQueue
public void clear() {
this.c = this.b;
lazySet(1);
}
@Override // io.reactivex.disposables.Disposable
public void dispose() {
set(1);
}
@Override // io.reactivex.internal.fuseable.SimpleQueue
public boolean isEmpty() {
return this.c == this.b;
}
@Override // io.reactivex.internal.fuseable.QueueFuseable
public int requestFusion(int i) {
if ((i & 1) == 0) {
return 0;
}
this.d = true;
return 1;
}
void run() {
if (this.d) {
return;
}
Observer<? super Long> observer = this.a;
long j = this.b;
for (long j2 = this.c; j2 != j && get() == 0; j2++) {
observer.onNext(Long.valueOf(j2));
}
if (get() == 0) {
lazySet(1);
observer.onComplete();
}
}
@Override // io.reactivex.internal.fuseable.SimpleQueue
public Long poll() throws Exception {
long j = this.c;
if (j != this.b) {
this.c = 1 + j;
return Long.valueOf(j);
}
lazySet(1);
return null;
}
}
public ObservableRangeLong(long j, long j2) {
this.a = j;
this.b = j2;
}
@Override // io.reactivex.Observable
protected void subscribeActual(Observer<? super Long> observer) {
long j = this.a;
RangeDisposable rangeDisposable = new RangeDisposable(observer, j, j + this.b);
observer.onSubscribe(rangeDisposable);
rangeDisposable.run();
}
}