ADD week 5
This commit is contained in:
		| @@ -0,0 +1,152 @@ | ||||
| package androidx.emoji2.text; | ||||
|  | ||||
| import android.content.Context; | ||||
| 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; | ||||
| import kotlin.jvm.internal.Intrinsics; | ||||
|  | ||||
| /* 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 | ||||
|     public Boolean create(Context context) { | ||||
|         EmojiCompat.init(new BackgroundDefaultConfig(context)); | ||||
|         delayUntilFirstResume(context); | ||||
|         return true; | ||||
|     } | ||||
|  | ||||
|     void delayUntilFirstResume(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 /* synthetic */ void onCreate(LifecycleOwner lifecycleOwner) { | ||||
|                 Intrinsics.checkNotNullParameter(lifecycleOwner, "owner"); | ||||
|             } | ||||
|  | ||||
|             @Override // androidx.lifecycle.DefaultLifecycleObserver | ||||
|             public /* synthetic */ void onDestroy(LifecycleOwner lifecycleOwner) { | ||||
|                 Intrinsics.checkNotNullParameter(lifecycleOwner, "owner"); | ||||
|             } | ||||
|  | ||||
|             @Override // androidx.lifecycle.DefaultLifecycleObserver | ||||
|             public /* synthetic */ void onPause(LifecycleOwner lifecycleOwner) { | ||||
|                 Intrinsics.checkNotNullParameter(lifecycleOwner, "owner"); | ||||
|             } | ||||
|  | ||||
|             @Override // androidx.lifecycle.DefaultLifecycleObserver | ||||
|             public /* synthetic */ void onStart(LifecycleOwner lifecycleOwner) { | ||||
|                 Intrinsics.checkNotNullParameter(lifecycleOwner, "owner"); | ||||
|             } | ||||
|  | ||||
|             @Override // androidx.lifecycle.DefaultLifecycleObserver | ||||
|             public /* synthetic */ void onStop(LifecycleOwner lifecycleOwner) { | ||||
|                 Intrinsics.checkNotNullParameter(lifecycleOwner, "owner"); | ||||
|             } | ||||
|  | ||||
|             @Override // androidx.lifecycle.DefaultLifecycleObserver | ||||
|             public void onResume(LifecycleOwner lifecycleOwner) { | ||||
|                 EmojiCompatInitializer.this.loadEmojiCompatAfterDelay(); | ||||
|                 lifecycle.removeObserver(this); | ||||
|             } | ||||
|         }); | ||||
|     } | ||||
|  | ||||
|     void loadEmojiCompatAfterDelay() { | ||||
|         ConcurrencyHelpers.mainHandlerAsync().postDelayed(new LoadEmojiCompatRunnable(), STARTUP_THREAD_CREATION_DELAY_MS); | ||||
|     } | ||||
|  | ||||
|     @Override // androidx.startup.Initializer | ||||
|     public List<Class<? extends Initializer<?>>> dependencies() { | ||||
|         return Collections.singletonList(ProcessLifecycleInitializer.class); | ||||
|     } | ||||
|  | ||||
|     static class LoadEmojiCompatRunnable implements Runnable { | ||||
|         LoadEmojiCompatRunnable() { | ||||
|         } | ||||
|  | ||||
|         @Override // java.lang.Runnable | ||||
|         public void run() { | ||||
|             try { | ||||
|                 TraceCompat.beginSection("EmojiCompat.EmojiCompatInitializer.run"); | ||||
|                 if (EmojiCompat.isConfigured()) { | ||||
|                     EmojiCompat.get().load(); | ||||
|                 } | ||||
|             } finally { | ||||
|                 TraceCompat.endSection(); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     static class BackgroundDefaultConfig extends EmojiCompat.Config { | ||||
|         protected BackgroundDefaultConfig(Context context) { | ||||
|             super(new BackgroundDefaultLoader(context)); | ||||
|             setMetadataLoadStrategy(1); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     static class BackgroundDefaultLoader implements EmojiCompat.MetadataRepoLoader { | ||||
|         private final Context mContext; | ||||
|  | ||||
|         BackgroundDefaultLoader(Context context) { | ||||
|             this.mContext = context.getApplicationContext(); | ||||
|         } | ||||
|  | ||||
|         @Override // androidx.emoji2.text.EmojiCompat.MetadataRepoLoader | ||||
|         public void load(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.m166x5cc8028a(metadataRepoLoaderCallback, createBackgroundPriorityExecutor); | ||||
|                 } | ||||
|             }); | ||||
|         } | ||||
|  | ||||
|         /* JADX INFO: Access modifiers changed from: package-private */ | ||||
|         /* renamed from: doLoad, reason: merged with bridge method [inline-methods] */ | ||||
|         public void m166x5cc8028a(final EmojiCompat.MetadataRepoLoaderCallback metadataRepoLoaderCallback, 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(MetadataRepo metadataRepo) { | ||||
|                         try { | ||||
|                             metadataRepoLoaderCallback.onLoaded(metadataRepo); | ||||
|                         } finally { | ||||
|                             threadPoolExecutor.shutdown(); | ||||
|                         } | ||||
|                     } | ||||
|  | ||||
|                     @Override // androidx.emoji2.text.EmojiCompat.MetadataRepoLoaderCallback | ||||
|                     public void onFailed(Throwable th) { | ||||
|                         try { | ||||
|                             metadataRepoLoaderCallback.onFailed(th); | ||||
|                         } finally { | ||||
|                             threadPoolExecutor.shutdown(); | ||||
|                         } | ||||
|                     } | ||||
|                 }); | ||||
|             } catch (Throwable th) { | ||||
|                 metadataRepoLoaderCallback.onFailed(th); | ||||
|                 threadPoolExecutor.shutdown(); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user