package io.reactivex.internal.subscriptions; import io.reactivex.exceptions.ProtocolViolationException; import io.reactivex.internal.functions.ObjectHelper; import io.reactivex.internal.util.BackpressureHelper; import io.reactivex.plugins.RxJavaPlugins; import java.util.concurrent.atomic.AtomicLong; import java.util.concurrent.atomic.AtomicReference; import org.reactivestreams.Subscription; /* loaded from: classes2.dex */ public enum SubscriptionHelper implements Subscription { CANCELLED; public static boolean cancel(AtomicReference atomicReference) { Subscription andSet; Subscription subscription = atomicReference.get(); SubscriptionHelper subscriptionHelper = CANCELLED; if (subscription == subscriptionHelper || (andSet = atomicReference.getAndSet(subscriptionHelper)) == CANCELLED) { return false; } if (andSet == null) { return true; } andSet.cancel(); return true; } public static void deferredRequest(AtomicReference atomicReference, AtomicLong atomicLong, long j) { Subscription subscription = atomicReference.get(); if (subscription != null) { subscription.request(j); return; } if (validate(j)) { BackpressureHelper.a(atomicLong, j); Subscription subscription2 = atomicReference.get(); if (subscription2 != null) { long andSet = atomicLong.getAndSet(0L); if (andSet != 0) { subscription2.request(andSet); } } } } public static boolean deferredSetOnce(AtomicReference atomicReference, AtomicLong atomicLong, Subscription subscription) { if (!setOnce(atomicReference, subscription)) { return false; } long andSet = atomicLong.getAndSet(0L); if (andSet == 0) { return true; } subscription.request(andSet); return true; } public static boolean isCancelled(Subscription subscription) { return subscription == CANCELLED; } public static boolean replace(AtomicReference atomicReference, Subscription subscription) { Subscription subscription2; do { subscription2 = atomicReference.get(); if (subscription2 == CANCELLED) { if (subscription == null) { return false; } subscription.cancel(); return false; } } while (!atomicReference.compareAndSet(subscription2, subscription)); return true; } public static void reportMoreProduced(long j) { RxJavaPlugins.b(new ProtocolViolationException("More produced than requested: " + j)); } public static void reportSubscriptionSet() { RxJavaPlugins.b(new ProtocolViolationException("Subscription already set!")); } public static boolean set(AtomicReference atomicReference, Subscription subscription) { Subscription subscription2; do { subscription2 = atomicReference.get(); if (subscription2 == CANCELLED) { if (subscription == null) { return false; } subscription.cancel(); return false; } } while (!atomicReference.compareAndSet(subscription2, subscription)); if (subscription2 == null) { return true; } subscription2.cancel(); return true; } public static boolean setOnce(AtomicReference atomicReference, Subscription subscription) { ObjectHelper.a(subscription, "s is null"); if (atomicReference.compareAndSet(null, subscription)) { return true; } subscription.cancel(); if (atomicReference.get() == CANCELLED) { return false; } reportSubscriptionSet(); return false; } public static boolean validate(Subscription subscription, Subscription subscription2) { if (subscription2 == null) { RxJavaPlugins.b(new NullPointerException("next is null")); return false; } if (subscription == null) { return true; } subscription2.cancel(); reportSubscriptionSet(); return false; } @Override // org.reactivestreams.Subscription public void cancel() { } @Override // org.reactivestreams.Subscription public void request(long j) { } public static boolean validate(long j) { if (j > 0) { return true; } RxJavaPlugins.b(new IllegalArgumentException("n > 0 required but it was " + j)); return false; } public static boolean setOnce(AtomicReference atomicReference, Subscription subscription, long j) { if (!setOnce(atomicReference, subscription)) { return false; } subscription.request(j); return true; } }