311 lines
10 KiB
Java
311 lines
10 KiB
Java
package j0.q;
|
|
|
|
import j0.g;
|
|
import java.util.ArrayList;
|
|
import java.util.Objects;
|
|
import java.util.concurrent.atomic.AtomicInteger;
|
|
import java.util.concurrent.atomic.AtomicLong;
|
|
import java.util.concurrent.atomic.AtomicReference;
|
|
import rx.Observable;
|
|
import rx.Producer;
|
|
import rx.Subscriber;
|
|
import rx.Subscription;
|
|
import rx.subjects.Subject;
|
|
/* compiled from: ReplaySubject */
|
|
public final class a<T> extends Subject<T, T> {
|
|
public static final Object[] j = new Object[0];
|
|
public final d<T> k;
|
|
|
|
/* compiled from: ReplaySubject */
|
|
/* renamed from: j0.q.a$a reason: collision with other inner class name */
|
|
public interface AbstractC0335a<T> {
|
|
}
|
|
|
|
/* compiled from: ReplaySubject */
|
|
public static final class b<T> extends AtomicInteger implements Producer, Subscription {
|
|
private static final long serialVersionUID = -5006209596735204567L;
|
|
public final Subscriber<? super T> actual;
|
|
public int index;
|
|
public Object node;
|
|
public final AtomicLong requested = new AtomicLong();
|
|
public final d<T> state;
|
|
public int tailIndex;
|
|
|
|
public b(Subscriber<? super T> subscriber, d<T> dVar) {
|
|
this.actual = subscriber;
|
|
this.state = dVar;
|
|
}
|
|
|
|
@Override // rx.Subscription
|
|
public boolean isUnsubscribed() {
|
|
return this.actual.isUnsubscribed();
|
|
}
|
|
|
|
@Override // rx.Producer
|
|
public void j(long j) {
|
|
int i = (j > 0 ? 1 : (j == 0 ? 0 : -1));
|
|
if (i > 0) {
|
|
c.q.a.k.a.p(this.requested, j);
|
|
((c) this.state.buffer).a(this);
|
|
} else if (i < 0) {
|
|
throw new IllegalArgumentException(c.d.b.a.a.o("n >= required but it was ", j));
|
|
}
|
|
}
|
|
|
|
@Override // rx.Subscription
|
|
public void unsubscribe() {
|
|
this.state.a(this);
|
|
}
|
|
}
|
|
|
|
/* compiled from: ReplaySubject */
|
|
public static final class c<T> implements AbstractC0335a<T> {
|
|
public final int a;
|
|
public volatile C0336a<T> b;
|
|
|
|
/* renamed from: c reason: collision with root package name */
|
|
public C0336a<T> f2872c;
|
|
public int d;
|
|
public volatile boolean e;
|
|
public Throwable f;
|
|
|
|
/* compiled from: ReplaySubject */
|
|
/* renamed from: j0.q.a$c$a reason: collision with other inner class name */
|
|
public static final class C0336a<T> extends AtomicReference<C0336a<T>> {
|
|
private static final long serialVersionUID = 3713592843205853725L;
|
|
public final T value;
|
|
|
|
public C0336a(T t) {
|
|
this.value = t;
|
|
}
|
|
}
|
|
|
|
public c(int i) {
|
|
this.a = i;
|
|
C0336a<T> aVar = new C0336a<>(null);
|
|
this.f2872c = aVar;
|
|
this.b = aVar;
|
|
}
|
|
|
|
public void a(b<T> bVar) {
|
|
boolean z2;
|
|
int i;
|
|
if (bVar.getAndIncrement() == 0) {
|
|
Subscriber<? super T> subscriber = bVar.actual;
|
|
int i2 = 1;
|
|
do {
|
|
long j = bVar.requested.get();
|
|
C0336a<T> aVar = (C0336a) bVar.node;
|
|
if (aVar == null) {
|
|
aVar = this.b;
|
|
}
|
|
long j2 = 0;
|
|
while (true) {
|
|
z2 = false;
|
|
i = (j2 > j ? 1 : (j2 == j ? 0 : -1));
|
|
if (i == 0) {
|
|
break;
|
|
} else if (subscriber.isUnsubscribed()) {
|
|
bVar.node = null;
|
|
return;
|
|
} else {
|
|
boolean z3 = this.e;
|
|
C0336a<T> aVar2 = aVar.get();
|
|
boolean z4 = aVar2 == null;
|
|
if (z3 && z4) {
|
|
bVar.node = null;
|
|
Throwable th = this.f;
|
|
if (th != null) {
|
|
subscriber.onError(th);
|
|
return;
|
|
} else {
|
|
subscriber.onCompleted();
|
|
return;
|
|
}
|
|
} else if (z4) {
|
|
break;
|
|
} else {
|
|
subscriber.onNext(aVar2.value);
|
|
j2++;
|
|
aVar = aVar2;
|
|
}
|
|
}
|
|
}
|
|
if (i == 0) {
|
|
if (subscriber.isUnsubscribed()) {
|
|
bVar.node = null;
|
|
return;
|
|
}
|
|
boolean z5 = this.e;
|
|
if (aVar.get() == null) {
|
|
z2 = true;
|
|
}
|
|
if (z5 && z2) {
|
|
bVar.node = null;
|
|
Throwable th2 = this.f;
|
|
if (th2 != null) {
|
|
subscriber.onError(th2);
|
|
return;
|
|
} else {
|
|
subscriber.onCompleted();
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
if (!(j2 == 0 || j == Long.MAX_VALUE)) {
|
|
c.q.a.k.a.I(bVar.requested, j2);
|
|
}
|
|
bVar.node = aVar;
|
|
i2 = bVar.addAndGet(-i2);
|
|
} while (i2 != 0);
|
|
}
|
|
}
|
|
}
|
|
|
|
/* compiled from: ReplaySubject */
|
|
public static final class d<T> extends AtomicReference<b<T>[]> implements Observable.a<T>, g<T> {
|
|
public static final b[] i = new b[0];
|
|
public static final b[] j = new b[0];
|
|
private static final long serialVersionUID = 5952362471246910544L;
|
|
public final AbstractC0335a<T> buffer;
|
|
|
|
public d(AbstractC0335a<T> aVar) {
|
|
this.buffer = aVar;
|
|
lazySet(i);
|
|
}
|
|
|
|
public void a(b<T> bVar) {
|
|
b<T>[] bVarArr;
|
|
b[] bVarArr2;
|
|
do {
|
|
bVarArr = get();
|
|
if (bVarArr != j && bVarArr != i) {
|
|
int length = bVarArr.length;
|
|
int i2 = 0;
|
|
while (true) {
|
|
if (i2 >= length) {
|
|
i2 = -1;
|
|
break;
|
|
} else if (bVarArr[i2] == bVar) {
|
|
break;
|
|
} else {
|
|
i2++;
|
|
}
|
|
}
|
|
if (i2 >= 0) {
|
|
if (length == 1) {
|
|
bVarArr2 = i;
|
|
} else {
|
|
b[] bVarArr3 = new b[(length - 1)];
|
|
System.arraycopy(bVarArr, 0, bVarArr3, 0, i2);
|
|
System.arraycopy(bVarArr, i2 + 1, bVarArr3, i2, (length - i2) - 1);
|
|
bVarArr2 = bVarArr3;
|
|
}
|
|
} else {
|
|
return;
|
|
}
|
|
} else {
|
|
return;
|
|
}
|
|
} while (!compareAndSet(bVarArr, bVarArr2));
|
|
}
|
|
|
|
@Override // rx.functions.Action1
|
|
public void call(Object obj) {
|
|
boolean z2;
|
|
Subscriber subscriber = (Subscriber) obj;
|
|
b<T> bVar = new b<>(subscriber, this);
|
|
subscriber.add(bVar);
|
|
subscriber.setProducer(bVar);
|
|
while (true) {
|
|
b<T>[] bVarArr = get();
|
|
z2 = false;
|
|
if (bVarArr != j) {
|
|
int length = bVarArr.length;
|
|
b[] bVarArr2 = new b[(length + 1)];
|
|
System.arraycopy(bVarArr, 0, bVarArr2, 0, length);
|
|
bVarArr2[length] = bVar;
|
|
if (compareAndSet(bVarArr, bVarArr2)) {
|
|
z2 = true;
|
|
break;
|
|
}
|
|
} else {
|
|
break;
|
|
}
|
|
}
|
|
if (!z2 || !bVar.isUnsubscribed()) {
|
|
((c) this.buffer).a(bVar);
|
|
} else {
|
|
a(bVar);
|
|
}
|
|
}
|
|
|
|
@Override // j0.g
|
|
public void onCompleted() {
|
|
AbstractC0335a<T> aVar = this.buffer;
|
|
((c) aVar).e = true;
|
|
for (b<T> bVar : getAndSet(j)) {
|
|
((c) aVar).a(bVar);
|
|
}
|
|
}
|
|
|
|
@Override // j0.g
|
|
public void onError(Throwable th) {
|
|
AbstractC0335a<T> aVar = this.buffer;
|
|
c cVar = (c) aVar;
|
|
cVar.f = th;
|
|
cVar.e = true;
|
|
ArrayList arrayList = null;
|
|
for (b<T> bVar : getAndSet(j)) {
|
|
try {
|
|
((c) aVar).a(bVar);
|
|
} catch (Throwable th2) {
|
|
if (arrayList == null) {
|
|
arrayList = new ArrayList();
|
|
}
|
|
arrayList.add(th2);
|
|
}
|
|
}
|
|
c.q.a.k.a.Z(arrayList);
|
|
}
|
|
|
|
@Override // j0.g
|
|
public void onNext(T t) {
|
|
AbstractC0335a<T> aVar = this.buffer;
|
|
c cVar = (c) aVar;
|
|
Objects.requireNonNull(cVar);
|
|
c.C0336a<T> aVar2 = new c.C0336a<>(t);
|
|
cVar.f2872c.set(aVar2);
|
|
cVar.f2872c = aVar2;
|
|
int i2 = cVar.d;
|
|
if (i2 == cVar.a) {
|
|
cVar.b = cVar.b.get();
|
|
} else {
|
|
cVar.d = i2 + 1;
|
|
}
|
|
for (b<T> bVar : get()) {
|
|
((c) aVar).a(bVar);
|
|
}
|
|
}
|
|
}
|
|
|
|
public a(d<T> dVar) {
|
|
super(dVar);
|
|
this.k = dVar;
|
|
}
|
|
|
|
@Override // j0.g
|
|
public void onCompleted() {
|
|
this.k.onCompleted();
|
|
}
|
|
|
|
@Override // j0.g
|
|
public void onError(Throwable th) {
|
|
this.k.onError(th);
|
|
}
|
|
|
|
@Override // j0.g
|
|
public void onNext(T t) {
|
|
this.k.onNext(t);
|
|
}
|
|
}
|