SRE/02-Easy5/E5/sources/androidx/emoji2/text/ConcurrencyHelpers.java
2025-03-31 16:33:42 +02:00

66 lines
2.3 KiB
Java

package androidx.emoji2.text;
import android.os.Build;
import android.os.Handler;
import android.os.Looper;
import java.util.Objects;
import java.util.concurrent.Executor;
import java.util.concurrent.LinkedBlockingDeque;
import java.util.concurrent.ThreadFactory;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
/* loaded from: classes.dex */
class ConcurrencyHelpers {
private static final int FONT_LOAD_TIMEOUT_SECONDS = 15;
private ConcurrencyHelpers() {
}
static ThreadPoolExecutor createBackgroundPriorityExecutor(final String str) {
ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(0, 1, 15L, TimeUnit.SECONDS, new LinkedBlockingDeque(), new ThreadFactory() { // from class: androidx.emoji2.text.ConcurrencyHelpers$$ExternalSyntheticLambda0
@Override // java.util.concurrent.ThreadFactory
public final Thread newThread(Runnable runnable) {
return ConcurrencyHelpers.lambda$createBackgroundPriorityExecutor$0(str, runnable);
}
});
threadPoolExecutor.allowCoreThreadTimeOut(true);
return threadPoolExecutor;
}
static /* synthetic */ Thread lambda$createBackgroundPriorityExecutor$0(String str, Runnable runnable) {
Thread thread = new Thread(runnable, str);
thread.setPriority(10);
return thread;
}
static Handler mainHandlerAsync() {
if (Build.VERSION.SDK_INT >= 28) {
return Handler28Impl.createAsync(Looper.getMainLooper());
}
return new Handler(Looper.getMainLooper());
}
@Deprecated
static Executor convertHandlerToExecutor(final Handler handler) {
Objects.requireNonNull(handler);
return new Executor() { // from class: androidx.emoji2.text.ConcurrencyHelpers$$ExternalSyntheticLambda1
@Override // java.util.concurrent.Executor
public final void execute(Runnable runnable) {
handler.post(runnable);
}
};
}
static class Handler28Impl {
private Handler28Impl() {
}
public static Handler createAsync(Looper looper) {
Handler createAsync;
createAsync = Handler.createAsync(looper);
return createAsync;
}
}
}