package com.youth.banner; import android.os.Handler; import android.os.Message; import java.lang.ref.WeakReference; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; /* loaded from: classes2.dex */ public class WeakHandler { private Lock b = new ReentrantLock(); final ChainedRef c = new ChainedRef(this.b, null); private final ExecHandler a = new ExecHandler(); private static class ExecHandler extends Handler { private final WeakReference a = null; ExecHandler() { } @Override // android.os.Handler public void handleMessage(Message message) { Handler.Callback callback; WeakReference weakReference = this.a; if (weakReference == null || (callback = weakReference.get()) == null) { return; } callback.handleMessage(message); } } static class WeakRunnable implements Runnable { private final WeakReference a; private final WeakReference b; WeakRunnable(WeakReference weakReference, WeakReference weakReference2) { this.a = weakReference; this.b = weakReference2; } @Override // java.lang.Runnable public void run() { Runnable runnable = this.a.get(); ChainedRef chainedRef = this.b.get(); if (chainedRef != null) { chainedRef.a(); } if (runnable != null) { runnable.run(); } } } private WeakRunnable c(Runnable runnable) { if (runnable == null) { throw new NullPointerException("Runnable can't be null"); } ChainedRef chainedRef = new ChainedRef(this.b, runnable); this.c.a(chainedRef); return chainedRef.d; } public final boolean a(Runnable runnable) { return this.a.post(c(runnable)); } public final void b(Runnable runnable) { WeakRunnable a = this.c.a(runnable); if (a != null) { this.a.removeCallbacks(a); } } public final boolean a(Runnable runnable, long j) { return this.a.postDelayed(c(runnable), j); } static class ChainedRef { ChainedRef a; ChainedRef b; final Runnable c; final WeakRunnable d; Lock e; public ChainedRef(Lock lock, Runnable runnable) { this.c = runnable; this.e = lock; this.d = new WeakRunnable(new WeakReference(runnable), new WeakReference(this)); } public WeakRunnable a() { this.e.lock(); try { if (this.b != null) { this.b.a = this.a; } if (this.a != null) { this.a.b = this.b; } this.b = null; this.a = null; this.e.unlock(); return this.d; } catch (Throwable th) { this.e.unlock(); throw th; } } public void a(ChainedRef chainedRef) { this.e.lock(); try { if (this.a != null) { this.a.b = chainedRef; } chainedRef.a = this.a; this.a = chainedRef; chainedRef.b = this; } finally { this.e.unlock(); } } public WeakRunnable a(Runnable runnable) { this.e.lock(); try { for (ChainedRef chainedRef = this.a; chainedRef != null; chainedRef = chainedRef.a) { if (chainedRef.c == runnable) { return chainedRef.a(); } } this.e.unlock(); return null; } finally { this.e.unlock(); } } } }