package androidx.concurrent.futures; import C.w; import java.util.Locale; import java.util.concurrent.CancellationException; import java.util.concurrent.ExecutionException; import java.util.concurrent.Executor; import java.util.concurrent.Future; import java.util.concurrent.ScheduledFuture; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; import java.util.concurrent.atomic.AtomicReferenceFieldUpdater; import java.util.concurrent.locks.LockSupport; import java.util.logging.Level; import java.util.logging.Logger; /* loaded from: classes.dex */ public abstract class j implements L2.a { static final a ATOMIC_HELPER; private static final Object NULL; private static final long SPIN_THRESHOLD_NANOS = 1000; volatile e listeners; volatile Object value; volatile i waiters; static final boolean GENERATE_CANCELLATION_CAUSES = Boolean.parseBoolean(System.getProperty("guava.concurrent.generate_cancellation_cause", "false")); private static final Logger log = Logger.getLogger(j.class.getName()); /* JADX WARN: Multi-variable type inference failed */ /* JADX WARN: Type inference failed for: r3v1, types: [androidx.concurrent.futures.a] */ /* JADX WARN: Type inference failed for: r3v4 */ /* JADX WARN: Type inference failed for: r3v5 */ static { ?? r32; try { th = null; r32 = new f(AtomicReferenceFieldUpdater.newUpdater(i.class, Thread.class, "a"), AtomicReferenceFieldUpdater.newUpdater(i.class, i.class, "b"), AtomicReferenceFieldUpdater.newUpdater(j.class, i.class, "waiters"), AtomicReferenceFieldUpdater.newUpdater(j.class, e.class, "listeners"), AtomicReferenceFieldUpdater.newUpdater(j.class, Object.class, "value")); } catch (Throwable th) { th = th; r32 = new Object(); } ATOMIC_HELPER = r32; if (th != null) { log.log(Level.SEVERE, "SafeAtomicHelper is broken!", th); } NULL = new Object(); } public static void b(Runnable runnable, Executor executor) { try { executor.execute(runnable); } catch (RuntimeException e4) { log.log(Level.SEVERE, "RuntimeException while executing runnable " + runnable + " with executor " + executor, (Throwable) e4); } } public static Object c(Object obj) { if (obj instanceof b) { CancellationException cancellationException = ((b) obj).f2517b; CancellationException cancellationException2 = new CancellationException("Task was cancelled."); cancellationException2.initCause(cancellationException); throw cancellationException2; } if (obj instanceof d) { throw new ExecutionException(((d) obj).f2519a); } if (obj == NULL) { return null; } return obj; } public static T checkNotNull(T t2) { t2.getClass(); return t2; } public static void complete(j jVar) { e eVar; e eVar2; e eVar3 = null; while (true) { i iVar = jVar.waiters; if (ATOMIC_HELPER.c(jVar, iVar, i.f2531c)) { while (iVar != null) { Thread thread = iVar.f2532a; if (thread != null) { iVar.f2532a = null; LockSupport.unpark(thread); } iVar = iVar.f2533b; } jVar.afterDone(); do { eVar = jVar.listeners; } while (!ATOMIC_HELPER.a(jVar, eVar, e.f2520d)); while (true) { eVar2 = eVar3; eVar3 = eVar; if (eVar3 == null) { break; } eVar = eVar3.f2523c; eVar3.f2523c = eVar2; } while (eVar2 != null) { eVar3 = eVar2.f2523c; Runnable runnable = eVar2.f2521a; if (runnable instanceof g) { g gVar = (g) runnable; jVar = gVar.f2529a; if (jVar.value == gVar) { if (ATOMIC_HELPER.b(jVar, gVar, getFutureValue(gVar.f2530b))) { break; } } else { continue; } } else { b(runnable, eVar2.f2522b); } eVar2 = eVar3; } return; } } } public static Object getFutureValue(L2.a aVar) { if (aVar instanceof j) { Object obj = ((j) aVar).value; if (!(obj instanceof b)) { return obj; } b bVar = (b) obj; return bVar.f2516a ? bVar.f2517b != null ? new b(false, bVar.f2517b) : b.f2515d : obj; } boolean isCancelled = aVar.isCancelled(); if ((!GENERATE_CANCELLATION_CAUSES) && isCancelled) { return b.f2515d; } try { Object uninterruptibly = getUninterruptibly(aVar); return uninterruptibly == null ? NULL : uninterruptibly; } catch (CancellationException e4) { if (isCancelled) { return new b(false, e4); } return new d(new IllegalArgumentException("get() threw CancellationException, despite reporting isCancelled() == false: " + aVar, e4)); } catch (ExecutionException e5) { return new d(e5.getCause()); } catch (Throwable th) { return new d(th); } } public static V getUninterruptibly(Future future) throws ExecutionException { V v3; boolean z3 = false; while (true) { try { v3 = future.get(); break; } catch (InterruptedException unused) { z3 = true; } catch (Throwable th) { if (z3) { Thread.currentThread().interrupt(); } throw th; } } if (z3) { Thread.currentThread().interrupt(); } return v3; } public final void a(StringBuilder sb) { try { Object uninterruptibly = getUninterruptibly(this); sb.append("SUCCESS, result=["); sb.append(uninterruptibly == this ? "this future" : String.valueOf(uninterruptibly)); sb.append("]"); } catch (CancellationException unused) { sb.append("CANCELLED"); } catch (RuntimeException e4) { sb.append("UNKNOWN, cause=["); sb.append(e4.getClass()); sb.append(" thrown from get()]"); } catch (ExecutionException e5) { sb.append("FAILURE, cause=["); sb.append(e5.getCause()); sb.append("]"); } } @Override // L2.a public final void addListener(Runnable runnable, Executor executor) { checkNotNull(runnable); checkNotNull(executor); e eVar = this.listeners; e eVar2 = e.f2520d; if (eVar != eVar2) { e eVar3 = new e(runnable, executor); do { eVar3.f2523c = eVar; if (ATOMIC_HELPER.a(this, eVar, eVar3)) { return; } else { eVar = this.listeners; } } while (eVar != eVar2); } b(runnable, executor); } public void afterDone() { } /* JADX WARN: Code restructure failed: missing block: B:35:0x0056, code lost: return true; */ @Override // java.util.concurrent.Future /* Code decompiled incorrectly, please refer to instructions dump. To view partially-correct add '--show-bad-code' argument */ public final boolean cancel(boolean r7) { /* r6 = this; java.lang.Object r0 = r6.value r1 = 1 r2 = 0 if (r0 != 0) goto L8 r3 = r1 goto L9 L8: r3 = r2 L9: boolean r4 = r0 instanceof androidx.concurrent.futures.g r3 = r3 | r4 if (r3 == 0) goto L5e boolean r3 = androidx.concurrent.futures.j.GENERATE_CANCELLATION_CAUSES if (r3 == 0) goto L1f androidx.concurrent.futures.b r3 = new androidx.concurrent.futures.b java.util.concurrent.CancellationException r4 = new java.util.concurrent.CancellationException java.lang.String r5 = "Future.cancel() was called." r4.(r5) r3.(r7, r4) goto L26 L1f: if (r7 == 0) goto L24 androidx.concurrent.futures.b r3 = androidx.concurrent.futures.b.f2514c goto L26 L24: androidx.concurrent.futures.b r3 = androidx.concurrent.futures.b.f2515d L26: r4 = r2 L27: androidx.concurrent.futures.a r5 = androidx.concurrent.futures.j.ATOMIC_HELPER boolean r5 = r5.b(r6, r0, r3) if (r5 == 0) goto L57 if (r7 == 0) goto L34 r6.interruptTask() L34: complete(r6) boolean r6 = r0 instanceof androidx.concurrent.futures.g if (r6 == 0) goto L56 androidx.concurrent.futures.g r0 = (androidx.concurrent.futures.g) r0 L2.a r6 = r0.f2530b boolean r0 = r6 instanceof androidx.concurrent.futures.j if (r0 == 0) goto L53 androidx.concurrent.futures.j r6 = (androidx.concurrent.futures.j) r6 java.lang.Object r0 = r6.value if (r0 != 0) goto L4b r4 = r1 goto L4c L4b: r4 = r2 L4c: boolean r5 = r0 instanceof androidx.concurrent.futures.g r4 = r4 | r5 if (r4 == 0) goto L56 r4 = r1 goto L27 L53: r6.cancel(r7) L56: return r1 L57: java.lang.Object r0 = r6.value boolean r5 = r0 instanceof androidx.concurrent.futures.g if (r5 != 0) goto L27 return r4 L5e: return r2 */ throw new UnsupportedOperationException("Method not decompiled: androidx.concurrent.futures.j.cancel(boolean):boolean"); } public final void d(i iVar) { iVar.f2532a = null; while (true) { i iVar2 = this.waiters; if (iVar2 == i.f2531c) { return; } i iVar3 = null; while (iVar2 != null) { i iVar4 = iVar2.f2533b; if (iVar2.f2532a != null) { iVar3 = iVar2; } else if (iVar3 != null) { iVar3.f2533b = iVar4; if (iVar3.f2532a == null) { break; } } else if (!ATOMIC_HELPER.c(this, iVar2, iVar4)) { break; } iVar2 = iVar4; } return; } } @Override // java.util.concurrent.Future public final Object get(long j4, TimeUnit timeUnit) throws InterruptedException, TimeoutException, ExecutionException { boolean z3; long nanos = timeUnit.toNanos(j4); if (!Thread.interrupted()) { Object obj = this.value; if ((obj != null) & (!(obj instanceof g))) { return c(obj); } long nanoTime = nanos > 0 ? System.nanoTime() + nanos : 0L; if (nanos >= 1000) { i iVar = this.waiters; i iVar2 = i.f2531c; if (iVar != iVar2) { i iVar3 = new i(); z3 = true; do { a aVar = ATOMIC_HELPER; aVar.d(iVar3, iVar); if (aVar.c(this, iVar, iVar3)) { do { LockSupport.parkNanos(this, nanos); if (!Thread.interrupted()) { Object obj2 = this.value; if ((obj2 != null) & (!(obj2 instanceof g))) { return c(obj2); } nanos = nanoTime - System.nanoTime(); } else { d(iVar3); throw new InterruptedException(); } } while (nanos >= 1000); d(iVar3); } else { iVar = this.waiters; } } while (iVar != iVar2); } return c(this.value); } z3 = true; while (nanos > 0) { Object obj3 = this.value; if ((obj3 != null ? z3 : false) & (!(obj3 instanceof g))) { return c(obj3); } if (!Thread.interrupted()) { nanos = nanoTime - System.nanoTime(); } else { throw new InterruptedException(); } } String jVar = toString(); String obj4 = timeUnit.toString(); Locale locale = Locale.ROOT; String lowerCase = obj4.toLowerCase(locale); String str = "Waited " + j4 + " " + timeUnit.toString().toLowerCase(locale); if (nanos + 1000 < 0) { String n4 = w.n(str, " (plus "); long j5 = -nanos; long convert = timeUnit.convert(j5, TimeUnit.NANOSECONDS); long nanos2 = j5 - timeUnit.toNanos(convert); boolean z4 = (convert == 0 || nanos2 > 1000) ? z3 : false; if (convert > 0) { String str2 = n4 + convert + " " + lowerCase; if (z4) { str2 = w.n(str2, ","); } n4 = w.n(str2, " "); } if (z4) { n4 = n4 + nanos2 + " nanoseconds "; } str = w.n(n4, "delay)"); } if (isDone()) { throw new TimeoutException(w.n(str, " but future completed as timeout expired")); } throw new TimeoutException(str + " for " + jVar); } throw new InterruptedException(); } public void interruptTask() { } @Override // java.util.concurrent.Future public final boolean isCancelled() { return this.value instanceof b; } @Override // java.util.concurrent.Future public final boolean isDone() { return (!(r2 instanceof g)) & (this.value != null); } public final void maybePropagateCancellationTo(Future future) { if ((future != null) && isCancelled()) { future.cancel(wasInterrupted()); } } /* JADX WARN: Multi-variable type inference failed */ public String pendingToString() { Object obj = this.value; if (obj instanceof g) { StringBuilder sb = new StringBuilder("setFuture=["); L2.a aVar = ((g) obj).f2530b; return w.r(sb, aVar == this ? "this future" : String.valueOf(aVar), "]"); } if (!(this instanceof ScheduledFuture)) { return null; } return "remaining delay=[" + ((ScheduledFuture) this).getDelay(TimeUnit.MILLISECONDS) + " ms]"; } public boolean set(Object obj) { if (obj == null) { obj = NULL; } if (!ATOMIC_HELPER.b(this, null, obj)) { return false; } complete(this); return true; } public boolean setException(Throwable th) { if (!ATOMIC_HELPER.b(this, null, new d((Throwable) checkNotNull(th)))) { return false; } complete(this); return true; } public boolean setFuture(L2.a aVar) { d dVar; checkNotNull(aVar); Object obj = this.value; if (obj == null) { if (aVar.isDone()) { if (ATOMIC_HELPER.b(this, null, getFutureValue(aVar))) { complete(this); return true; } return false; } g gVar = new g(this, aVar); if (ATOMIC_HELPER.b(this, null, gVar)) { try { aVar.addListener(gVar, k.f2534a); return true; } catch (Throwable th) { try { dVar = new d(th); } catch (Throwable unused) { dVar = d.f2518b; } ATOMIC_HELPER.b(this, gVar, dVar); return true; } } obj = this.value; } if (obj instanceof b) { aVar.cancel(((b) obj).f2516a); } return false; } public String toString() { String str; StringBuilder sb = new StringBuilder(); sb.append(super.toString()); sb.append("[status="); if (isCancelled()) { sb.append("CANCELLED"); } else if (isDone()) { a(sb); } else { try { str = pendingToString(); } catch (RuntimeException e4) { str = "Exception thrown from implementation: " + e4.getClass(); } if (str != null && !str.isEmpty()) { sb.append("PENDING, info=["); sb.append(str); sb.append("]"); } else if (isDone()) { a(sb); } else { sb.append("PENDING"); } } sb.append("]"); return sb.toString(); } public final boolean wasInterrupted() { Object obj = this.value; return (obj instanceof b) && ((b) obj).f2516a; } @Override // java.util.concurrent.Future public final Object get() throws InterruptedException, ExecutionException { Object obj; if (!Thread.interrupted()) { Object obj2 = this.value; if ((obj2 != null) & (!(obj2 instanceof g))) { return c(obj2); } i iVar = this.waiters; i iVar2 = i.f2531c; if (iVar != iVar2) { i iVar3 = new i(); do { a aVar = ATOMIC_HELPER; aVar.d(iVar3, iVar); if (aVar.c(this, iVar, iVar3)) { do { LockSupport.park(this); if (!Thread.interrupted()) { obj = this.value; } else { d(iVar3); throw new InterruptedException(); } } while (!((obj != null) & (!(obj instanceof g)))); return c(obj); } iVar = this.waiters; } while (iVar != iVar2); } return c(this.value); } throw new InterruptedException(); } }