- 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
134 lines
5.9 KiB
Java
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();
|
|
}
|
|
}
|
|
}
|
|
}
|