package androidx.arch.core.executor; import android.os.Build; import android.os.Handler; import android.os.Looper; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.annotation.RestrictTo; import java.lang.reflect.InvocationTargetException; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.ThreadFactory; import java.util.concurrent.atomic.AtomicInteger; @RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX}) public class DefaultTaskExecutor extends TaskExecutor { private final ExecutorService mDiskIO = Executors.newFixedThreadPool(4, new AnonymousClass1()); private final Object mLock = new Object(); @Nullable private volatile Handler mMainHandler; /* renamed from: androidx.arch.core.executor.DefaultTaskExecutor$1 reason: invalid class name */ public class AnonymousClass1 implements ThreadFactory { private static final String THREAD_NAME_STEM = "arch_disk_io_%d"; private final AtomicInteger mThreadId = new AtomicInteger(0); public AnonymousClass1() { } @Override // java.util.concurrent.ThreadFactory public Thread newThread(Runnable runnable) { Thread thread = new Thread(runnable); thread.setName(String.format(THREAD_NAME_STEM, Integer.valueOf(this.mThreadId.getAndIncrement()))); return thread; } } private static Handler createAsync(@NonNull Looper looper) { if (Build.VERSION.SDK_INT >= 28) { return Handler.createAsync(looper); } try { return (Handler) Handler.class.getDeclaredConstructor(Looper.class, Handler.Callback.class, Boolean.TYPE).newInstance(looper, null, Boolean.TRUE); } catch (IllegalAccessException | InstantiationException | NoSuchMethodException unused) { return new Handler(looper); } catch (InvocationTargetException unused2) { return new Handler(looper); } } @Override // androidx.arch.core.executor.TaskExecutor public void executeOnDiskIO(Runnable runnable) { this.mDiskIO.execute(runnable); } @Override // androidx.arch.core.executor.TaskExecutor public boolean isMainThread() { return Looper.getMainLooper().getThread() == Thread.currentThread(); } @Override // androidx.arch.core.executor.TaskExecutor public void postToMainThread(Runnable runnable) { if (this.mMainHandler == null) { synchronized (this.mLock) { if (this.mMainHandler == null) { this.mMainHandler = createAsync(Looper.getMainLooper()); } } } this.mMainHandler.post(runnable); } }