Files
rr3-apk/decompiled-community/sources/androidx/emoji2/text/EmojiCompatInitializer.java
Daniel Elliott c080f0d97f Add Discord community version (64-bit only)
- Added realracing3-community.apk (71.57 MB)
- Removed 32-bit support (armeabi-v7a)
- Only includes arm64-v8a libraries
- Decompiled source code included
- Added README-community.md with analysis
2026-02-18 15:48:36 -08:00

134 lines
5.9 KiB
Java

package androidx.emoji2.text;
import android.content.Context;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.RequiresApi;
import androidx.annotation.WorkerThread;
import androidx.core.os.TraceCompat;
import androidx.emoji2.text.EmojiCompat;
import androidx.emoji2.text.EmojiCompatInitializer;
import androidx.lifecycle.DefaultLifecycleObserver;
import androidx.lifecycle.Lifecycle;
import androidx.lifecycle.LifecycleOwner;
import androidx.lifecycle.ProcessLifecycleInitializer;
import androidx.startup.AppInitializer;
import androidx.startup.Initializer;
import java.util.Collections;
import java.util.List;
import java.util.concurrent.ThreadPoolExecutor;
/* loaded from: classes.dex */
public class EmojiCompatInitializer implements Initializer<Boolean> {
private static final long STARTUP_THREAD_CREATION_DELAY_MS = 500;
private static final String S_INITIALIZER_THREAD_NAME = "EmojiCompatInitializer";
/* JADX WARN: Can't rename method to resolve collision */
@Override // androidx.startup.Initializer
@NonNull
public Boolean create(@NonNull Context context) {
EmojiCompat.init(new BackgroundDefaultConfig(context));
delayUntilFirstResume(context);
return Boolean.TRUE;
}
@RequiresApi(19)
public void delayUntilFirstResume(@NonNull Context context) {
final Lifecycle lifecycle = ((LifecycleOwner) AppInitializer.getInstance(context).initializeComponent(ProcessLifecycleInitializer.class)).getLifecycle();
lifecycle.addObserver(new DefaultLifecycleObserver() { // from class: androidx.emoji2.text.EmojiCompatInitializer.1
@Override // androidx.lifecycle.DefaultLifecycleObserver
public void onResume(@NonNull LifecycleOwner lifecycleOwner) {
EmojiCompatInitializer.this.loadEmojiCompatAfterDelay();
lifecycle.removeObserver(this);
}
});
}
@RequiresApi(19)
public void loadEmojiCompatAfterDelay() {
ConcurrencyHelpers.mainHandlerAsync().postDelayed(new LoadEmojiCompatRunnable(), 500L);
}
@Override // androidx.startup.Initializer
@NonNull
public List<Class<? extends Initializer<?>>> dependencies() {
return Collections.singletonList(ProcessLifecycleInitializer.class);
}
public static class LoadEmojiCompatRunnable implements Runnable {
@Override // java.lang.Runnable
public void run() {
try {
TraceCompat.beginSection("EmojiCompat.EmojiCompatInitializer.run");
if (EmojiCompat.isConfigured()) {
EmojiCompat.get().load();
}
} finally {
TraceCompat.endSection();
}
}
}
@RequiresApi(19)
public static class BackgroundDefaultConfig extends EmojiCompat.Config {
public BackgroundDefaultConfig(Context context) {
super(new BackgroundDefaultLoader(context));
setMetadataLoadStrategy(1);
}
}
@RequiresApi(19)
public static class BackgroundDefaultLoader implements EmojiCompat.MetadataRepoLoader {
private final Context mContext;
public BackgroundDefaultLoader(Context context) {
this.mContext = context.getApplicationContext();
}
@Override // androidx.emoji2.text.EmojiCompat.MetadataRepoLoader
public void load(@NonNull final EmojiCompat.MetadataRepoLoaderCallback metadataRepoLoaderCallback) {
final ThreadPoolExecutor createBackgroundPriorityExecutor = ConcurrencyHelpers.createBackgroundPriorityExecutor(EmojiCompatInitializer.S_INITIALIZER_THREAD_NAME);
createBackgroundPriorityExecutor.execute(new Runnable() { // from class: androidx.emoji2.text.EmojiCompatInitializer$BackgroundDefaultLoader$$ExternalSyntheticLambda0
@Override // java.lang.Runnable
public final void run() {
EmojiCompatInitializer.BackgroundDefaultLoader.this.lambda$load$0(metadataRepoLoaderCallback, createBackgroundPriorityExecutor);
}
});
}
@WorkerThread
/* renamed from: doLoad, reason: merged with bridge method [inline-methods] */
public void lambda$load$0(@NonNull final EmojiCompat.MetadataRepoLoaderCallback metadataRepoLoaderCallback, @NonNull final ThreadPoolExecutor threadPoolExecutor) {
try {
FontRequestEmojiCompatConfig create = DefaultEmojiCompatConfig.create(this.mContext);
if (create == null) {
throw new RuntimeException("EmojiCompat font provider not available on this device.");
}
create.setLoadingExecutor(threadPoolExecutor);
create.getMetadataRepoLoader().load(new EmojiCompat.MetadataRepoLoaderCallback() { // from class: androidx.emoji2.text.EmojiCompatInitializer.BackgroundDefaultLoader.1
@Override // androidx.emoji2.text.EmojiCompat.MetadataRepoLoaderCallback
public void onLoaded(@NonNull MetadataRepo metadataRepo) {
try {
metadataRepoLoaderCallback.onLoaded(metadataRepo);
} finally {
threadPoolExecutor.shutdown();
}
}
@Override // androidx.emoji2.text.EmojiCompat.MetadataRepoLoaderCallback
public void onFailed(@Nullable Throwable th) {
try {
metadataRepoLoaderCallback.onFailed(th);
} finally {
threadPoolExecutor.shutdown();
}
}
});
} catch (Throwable th) {
metadataRepoLoaderCallback.onFailed(th);
threadPoolExecutor.shutdown();
}
}
}
}