.class Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader; .super Ljava/lang/Object; .source "SourceFile" # interfaces .implements Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoader; # annotations .annotation system Ldalvik/annotation/EnclosingClass; value = Landroidx/emoji2/text/FontRequestEmojiCompatConfig; .end annotation .annotation system Ldalvik/annotation/InnerClass; accessFlags = 0x9 name = "FontRequestMetadataLoader" .end annotation # static fields .field private static final S_TRACE_BUILD_TYPEFACE:Ljava/lang/String; = "EmojiCompat.FontRequestEmojiCompatConfig.buildTypeface" # instance fields .field mCallback:Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoaderCallback; .annotation build Landroidx/annotation/GuardedBy; value = "mLock" .end annotation .annotation build Landroidx/annotation/Nullable; .end annotation .end field .field private final mContext:Landroid/content/Context; .annotation build Landroidx/annotation/NonNull; .end annotation .end field .field private mExecutor:Ljava/util/concurrent/Executor; .annotation build Landroidx/annotation/GuardedBy; value = "mLock" .end annotation .annotation build Landroidx/annotation/Nullable; .end annotation .end field .field private final mFontProviderHelper:Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontProviderHelper; .annotation build Landroidx/annotation/NonNull; .end annotation .end field .field private final mLock:Ljava/lang/Object; .annotation build Landroidx/annotation/NonNull; .end annotation .end field .field private mMainHandler:Landroid/os/Handler; .annotation build Landroidx/annotation/GuardedBy; value = "mLock" .end annotation .annotation build Landroidx/annotation/Nullable; .end annotation .end field .field private mMainHandlerLoadCallback:Ljava/lang/Runnable; .annotation build Landroidx/annotation/GuardedBy; value = "mLock" .end annotation .annotation build Landroidx/annotation/Nullable; .end annotation .end field .field private mMyThreadPoolExecutor:Ljava/util/concurrent/ThreadPoolExecutor; .annotation build Landroidx/annotation/GuardedBy; value = "mLock" .end annotation .annotation build Landroidx/annotation/Nullable; .end annotation .end field .field private mObserver:Landroid/database/ContentObserver; .annotation build Landroidx/annotation/GuardedBy; value = "mLock" .end annotation .annotation build Landroidx/annotation/Nullable; .end annotation .end field .field private final mRequest:Landroidx/core/provider/FontRequest; .annotation build Landroidx/annotation/NonNull; .end annotation .end field .field private mRetryPolicy:Landroidx/emoji2/text/FontRequestEmojiCompatConfig$RetryPolicy; .annotation build Landroidx/annotation/GuardedBy; value = "mLock" .end annotation .annotation build Landroidx/annotation/Nullable; .end annotation .end field # direct methods .method public constructor (Landroid/content/Context;Landroidx/core/provider/FontRequest;Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontProviderHelper;)V .locals 1 .param p1 # Landroid/content/Context; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .param p2 # Landroidx/core/provider/FontRequest; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .param p3 # Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontProviderHelper; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .line 235 invoke-direct {p0}, Ljava/lang/Object;->()V .line 208 new-instance v0, Ljava/lang/Object; invoke-direct {v0}, Ljava/lang/Object;->()V iput-object v0, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mLock:Ljava/lang/Object; const-string v0, "Context cannot be null" .line 236 invoke-static {p1, v0}, Landroidx/core/util/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; const-string v0, "FontRequest cannot be null" .line 237 invoke-static {p2, v0}, Landroidx/core/util/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 238 invoke-virtual {p1}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context; move-result-object p1 iput-object p1, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mContext:Landroid/content/Context; iput-object p2, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mRequest:Landroidx/core/provider/FontRequest; iput-object p3, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mFontProviderHelper:Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontProviderHelper; return-void .end method .method private cleanUp()V .locals 5 iget-object v0, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mLock:Ljava/lang/Object; .line 326 monitor-enter v0 const/4 v1, 0x0 :try_start_0 iput-object v1, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mCallback:Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoaderCallback; iget-object v2, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mObserver:Landroid/database/ContentObserver; if-eqz v2, :cond_0 iget-object v3, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mFontProviderHelper:Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontProviderHelper; iget-object v4, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mContext:Landroid/content/Context; .line 329 invoke-virtual {v3, v4, v2}, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontProviderHelper;->unregisterObserver(Landroid/content/Context;Landroid/database/ContentObserver;)V iput-object v1, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mObserver:Landroid/database/ContentObserver; goto :goto_0 :catchall_0 move-exception v1 goto :goto_1 :cond_0 :goto_0 iget-object v2, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mMainHandler:Landroid/os/Handler; if-eqz v2, :cond_1 iget-object v3, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mMainHandlerLoadCallback:Ljava/lang/Runnable; .line 333 invoke-virtual {v2, v3}, Landroid/os/Handler;->removeCallbacks(Ljava/lang/Runnable;)V :cond_1 iput-object v1, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mMainHandler:Landroid/os/Handler; iget-object v2, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mMyThreadPoolExecutor:Ljava/util/concurrent/ThreadPoolExecutor; if-eqz v2, :cond_2 .line 338 invoke-virtual {v2}, Ljava/util/concurrent/ThreadPoolExecutor;->shutdown()V :cond_2 iput-object v1, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mExecutor:Ljava/util/concurrent/Executor; iput-object v1, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mMyThreadPoolExecutor:Ljava/util/concurrent/ThreadPoolExecutor; .line 342 monitor-exit v0 return-void :goto_1 monitor-exit v0 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 throw v1 .end method .method private retrieveFontInfo()Landroidx/core/provider/FontsContractCompat$FontInfo; .locals 4 .annotation build Landroidx/annotation/WorkerThread; .end annotation :try_start_0 iget-object v0, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mFontProviderHelper:Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontProviderHelper; iget-object v1, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mContext:Landroid/content/Context; iget-object v2, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mRequest:Landroidx/core/provider/FontRequest; .line 285 invoke-virtual {v0, v1, v2}, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontProviderHelper;->fetchFonts(Landroid/content/Context;Landroidx/core/provider/FontRequest;)Landroidx/core/provider/FontsContractCompat$FontFamilyResult; move-result-object v0 :try_end_0 .catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_0 .. :try_end_0} :catch_0 .line 289 invoke-virtual {v0}, Landroidx/core/provider/FontsContractCompat$FontFamilyResult;->getStatusCode()I move-result v1 if-nez v1, :cond_1 .line 292 invoke-virtual {v0}, Landroidx/core/provider/FontsContractCompat$FontFamilyResult;->getFonts()[Landroidx/core/provider/FontsContractCompat$FontInfo; move-result-object v0 if-eqz v0, :cond_0 .line 293 array-length v1, v0 if-eqz v1, :cond_0 const/4 v1, 0x0 .line 296 aget-object v0, v0, v1 return-object v0 .line 294 :cond_0 new-instance v0, Ljava/lang/RuntimeException; const-string v1, "fetchFonts failed (empty result)" invoke-direct {v0, v1}, Ljava/lang/RuntimeException;->(Ljava/lang/String;)V throw v0 .line 290 :cond_1 new-instance v1, Ljava/lang/RuntimeException; new-instance v2, Ljava/lang/StringBuilder; invoke-direct {v2}, Ljava/lang/StringBuilder;->()V const-string v3, "fetchFonts failed (" invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v0}, Landroidx/core/provider/FontsContractCompat$FontFamilyResult;->getStatusCode()I move-result v0 invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; const-string v0, ")" invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 invoke-direct {v1, v0}, Ljava/lang/RuntimeException;->(Ljava/lang/String;)V throw v1 :catch_0 move-exception v0 .line 287 new-instance v1, Ljava/lang/RuntimeException; const-string v2, "provider not found" invoke-direct {v1, v2, v0}, Ljava/lang/RuntimeException;->(Ljava/lang/String;Ljava/lang/Throwable;)V throw v1 .end method .method private scheduleRetry(Landroid/net/Uri;J)V .locals 5 .annotation build Landroidx/annotation/RequiresApi; value = 0x13 .end annotation .annotation build Landroidx/annotation/WorkerThread; .end annotation iget-object v0, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mLock:Ljava/lang/Object; .line 302 monitor-enter v0 :try_start_0 iget-object v1, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mMainHandler:Landroid/os/Handler; if-nez v1, :cond_0 .line 305 invoke-static {}, Landroidx/emoji2/text/ConcurrencyHelpers;->mainHandlerAsync()Landroid/os/Handler; move-result-object v1 iput-object v1, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mMainHandler:Landroid/os/Handler; goto :goto_0 :catchall_0 move-exception p1 goto :goto_1 :cond_0 :goto_0 iget-object v2, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mObserver:Landroid/database/ContentObserver; if-nez v2, :cond_1 .line 309 new-instance v2, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader$1; invoke-direct {v2, p0, v1}, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader$1;->(Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;Landroid/os/Handler;)V iput-object v2, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mObserver:Landroid/database/ContentObserver; iget-object v3, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mFontProviderHelper:Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontProviderHelper; iget-object v4, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mContext:Landroid/content/Context; .line 315 invoke-virtual {v3, v4, p1, v2}, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontProviderHelper;->registerObserver(Landroid/content/Context;Landroid/net/Uri;Landroid/database/ContentObserver;)V :cond_1 iget-object p1, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mMainHandlerLoadCallback:Ljava/lang/Runnable; if-nez p1, :cond_2 .line 318 new-instance p1, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader$$ExternalSyntheticLambda1; invoke-direct {p1, p0}, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader$$ExternalSyntheticLambda1;->(Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;)V iput-object p1, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mMainHandlerLoadCallback:Ljava/lang/Runnable; :cond_2 iget-object p1, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mMainHandlerLoadCallback:Ljava/lang/Runnable; .line 320 invoke-virtual {v1, p1, p2, p3}, Landroid/os/Handler;->postDelayed(Ljava/lang/Runnable;J)Z .line 321 monitor-exit v0 return-void :goto_1 monitor-exit v0 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 throw p1 .end method # virtual methods .method public createMetadata()V .locals 7 .annotation build Landroidx/annotation/RequiresApi; value = 0x13 .end annotation .annotation build Landroidx/annotation/WorkerThread; .end annotation iget-object v0, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mLock:Ljava/lang/Object; .line 350 monitor-enter v0 :try_start_0 iget-object v1, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mCallback:Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoaderCallback; if-nez v1, :cond_0 .line 352 monitor-exit v0 return-void :catchall_0 move-exception v1 goto/16 :goto_9 .line 354 :cond_0 monitor-exit v0 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 .line 356 :try_start_1 invoke-direct {p0}, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->retrieveFontInfo()Landroidx/core/provider/FontsContractCompat$FontInfo; move-result-object v0 .line 358 invoke-virtual {v0}, Landroidx/core/provider/FontsContractCompat$FontInfo;->getResultCode()I move-result v1 const/4 v2, 0x2 if-ne v1, v2, :cond_2 iget-object v2, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mLock:Ljava/lang/Object; .line 361 monitor-enter v2 :try_end_1 .catchall {:try_start_1 .. :try_end_1} :catchall_2 :try_start_2 iget-object v3, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mRetryPolicy:Landroidx/emoji2/text/FontRequestEmojiCompatConfig$RetryPolicy; if-eqz v3, :cond_1 .line 363 invoke-virtual {v3}, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$RetryPolicy;->getRetryDelay()J move-result-wide v3 const-wide/16 v5, 0x0 cmp-long v5, v3, v5 if-ltz v5, :cond_1 .line 365 invoke-virtual {v0}, Landroidx/core/provider/FontsContractCompat$FontInfo;->getUri()Landroid/net/Uri; move-result-object v0 invoke-direct {p0, v0, v3, v4}, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->scheduleRetry(Landroid/net/Uri;J)V .line 366 monitor-exit v2 return-void :catchall_1 move-exception v0 goto :goto_0 .line 369 :cond_1 monitor-exit v2 goto :goto_1 :goto_0 monitor-exit v2 :try_end_2 .catchall {:try_start_2 .. :try_end_2} :catchall_1 :try_start_3 throw v0 :try_end_3 .catchall {:try_start_3 .. :try_end_3} :catchall_2 :catchall_2 move-exception v0 goto :goto_5 :cond_2 :goto_1 if-nez v1, :cond_5 :try_start_4 const-string v1, "EmojiCompat.FontRequestEmojiCompatConfig.buildTypeface" .line 378 invoke-static {v1}, Landroidx/core/os/TraceCompat;->beginSection(Ljava/lang/String;)V iget-object v1, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mFontProviderHelper:Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontProviderHelper; iget-object v2, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mContext:Landroid/content/Context; .line 380 invoke-virtual {v1, v2, v0}, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontProviderHelper;->buildTypeface(Landroid/content/Context;Landroidx/core/provider/FontsContractCompat$FontInfo;)Landroid/graphics/Typeface; move-result-object v1 iget-object v2, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mContext:Landroid/content/Context; .line 382 invoke-virtual {v0}, Landroidx/core/provider/FontsContractCompat$FontInfo;->getUri()Landroid/net/Uri; move-result-object v0 const/4 v3, 0x0 .line 381 invoke-static {v2, v3, v0}, Landroidx/core/graphics/TypefaceCompatUtil;->mmap(Landroid/content/Context;Landroid/os/CancellationSignal;Landroid/net/Uri;)Ljava/nio/ByteBuffer; move-result-object v0 if-eqz v0, :cond_4 if-eqz v1, :cond_4 .line 386 invoke-static {v1, v0}, Landroidx/emoji2/text/MetadataRepo;->create(Landroid/graphics/Typeface;Ljava/nio/ByteBuffer;)Landroidx/emoji2/text/MetadataRepo; move-result-object v0 :try_end_4 .catchall {:try_start_4 .. :try_end_4} :catchall_4 .line 388 :try_start_5 invoke-static {}, Landroidx/core/os/TraceCompat;->endSection()V iget-object v1, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mLock:Ljava/lang/Object; .line 390 monitor-enter v1 :try_end_5 .catchall {:try_start_5 .. :try_end_5} :catchall_2 :try_start_6 iget-object v2, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mCallback:Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoaderCallback; if-eqz v2, :cond_3 .line 392 invoke-virtual {v2, v0}, Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoaderCallback;->onLoaded(Landroidx/emoji2/text/MetadataRepo;)V goto :goto_2 :catchall_3 move-exception v0 goto :goto_3 .line 394 :cond_3 :goto_2 monitor-exit v1 :try_end_6 .catchall {:try_start_6 .. :try_end_6} :catchall_3 .line 395 :try_start_7 invoke-direct {p0}, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->cleanUp()V :try_end_7 .catchall {:try_start_7 .. :try_end_7} :catchall_2 goto :goto_7 .line 394 :goto_3 :try_start_8 monitor-exit v1 :try_end_8 .catchall {:try_start_8 .. :try_end_8} :catchall_3 :try_start_9 throw v0 :try_end_9 .catchall {:try_start_9 .. :try_end_9} :catchall_2 :catchall_4 move-exception v0 goto :goto_4 .line 384 :cond_4 :try_start_a new-instance v0, Ljava/lang/RuntimeException; const-string v1, "Unable to open file." invoke-direct {v0, v1}, Ljava/lang/RuntimeException;->(Ljava/lang/String;)V throw v0 :try_end_a .catchall {:try_start_a .. :try_end_a} :catchall_4 .line 388 :goto_4 :try_start_b invoke-static {}, Landroidx/core/os/TraceCompat;->endSection()V .line 389 throw v0 .line 373 :cond_5 new-instance v0, Ljava/lang/RuntimeException; new-instance v2, Ljava/lang/StringBuilder; invoke-direct {v2}, Ljava/lang/StringBuilder;->()V const-string v3, "fetchFonts result is not OK. (" invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; const-string v1, ")" invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 invoke-direct {v0, v1}, Ljava/lang/RuntimeException;->(Ljava/lang/String;)V throw v0 :try_end_b .catchall {:try_start_b .. :try_end_b} :catchall_2 :goto_5 iget-object v1, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mLock:Ljava/lang/Object; .line 397 monitor-enter v1 :try_start_c iget-object v2, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mCallback:Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoaderCallback; if-eqz v2, :cond_6 .line 399 invoke-virtual {v2, v0}, Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoaderCallback;->onFailed(Ljava/lang/Throwable;)V goto :goto_6 :catchall_5 move-exception v0 goto :goto_8 .line 401 :cond_6 :goto_6 monitor-exit v1 :try_end_c .catchall {:try_start_c .. :try_end_c} :catchall_5 .line 402 invoke-direct {p0}, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->cleanUp()V :goto_7 return-void .line 401 :goto_8 :try_start_d monitor-exit v1 :try_end_d .catchall {:try_start_d .. :try_end_d} :catchall_5 throw v0 .line 354 :goto_9 :try_start_e monitor-exit v0 :try_end_e .catchall {:try_start_e .. :try_end_e} :catchall_0 throw v1 .end method .method public load(Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoaderCallback;)V .locals 1 .param p1 # Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoaderCallback; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .annotation build Landroidx/annotation/RequiresApi; value = 0x13 .end annotation const-string v0, "LoaderCallback cannot be null" .line 258 invoke-static {p1, v0}, Landroidx/core/util/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; iget-object v0, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mLock:Ljava/lang/Object; .line 259 monitor-enter v0 :try_start_0 iput-object p1, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mCallback:Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoaderCallback; .line 261 monitor-exit v0 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 .line 262 invoke-virtual {p0}, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->loadInternal()V return-void :catchall_0 move-exception p1 .line 261 :try_start_1 monitor-exit v0 :try_end_1 .catchall {:try_start_1 .. :try_end_1} :catchall_0 throw p1 .end method .method public loadInternal()V .locals 3 .annotation build Landroidx/annotation/RequiresApi; value = 0x13 .end annotation iget-object v0, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mLock:Ljava/lang/Object; .line 267 monitor-enter v0 :try_start_0 iget-object v1, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mCallback:Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoaderCallback; if-nez v1, :cond_0 .line 270 monitor-exit v0 return-void :catchall_0 move-exception v1 goto :goto_0 :cond_0 iget-object v1, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mExecutor:Ljava/util/concurrent/Executor; if-nez v1, :cond_1 const-string v1, "emojiCompat" .line 273 invoke-static {v1}, Landroidx/emoji2/text/ConcurrencyHelpers;->createBackgroundPriorityExecutor(Ljava/lang/String;)Ljava/util/concurrent/ThreadPoolExecutor; move-result-object v1 iput-object v1, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mMyThreadPoolExecutor:Ljava/util/concurrent/ThreadPoolExecutor; iput-object v1, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mExecutor:Ljava/util/concurrent/Executor; :cond_1 iget-object v1, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mExecutor:Ljava/util/concurrent/Executor; .line 277 new-instance v2, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader$$ExternalSyntheticLambda0; invoke-direct {v2, p0}, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader$$ExternalSyntheticLambda0;->(Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;)V invoke-interface {v1, v2}, Ljava/util/concurrent/Executor;->execute(Ljava/lang/Runnable;)V .line 278 monitor-exit v0 return-void :goto_0 monitor-exit v0 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 throw v1 .end method .method public setExecutor(Ljava/util/concurrent/Executor;)V .locals 1 .param p1 # Ljava/util/concurrent/Executor; .annotation build Landroidx/annotation/NonNull; .end annotation .end param iget-object v0, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mLock:Ljava/lang/Object; .line 244 monitor-enter v0 :try_start_0 iput-object p1, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mExecutor:Ljava/util/concurrent/Executor; .line 246 monitor-exit v0 return-void :catchall_0 move-exception p1 monitor-exit v0 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 throw p1 .end method .method public setRetryPolicy(Landroidx/emoji2/text/FontRequestEmojiCompatConfig$RetryPolicy;)V .locals 1 .param p1 # Landroidx/emoji2/text/FontRequestEmojiCompatConfig$RetryPolicy; .annotation build Landroidx/annotation/Nullable; .end annotation .end param iget-object v0, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mLock:Ljava/lang/Object; .line 250 monitor-enter v0 :try_start_0 iput-object p1, p0, Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->mRetryPolicy:Landroidx/emoji2/text/FontRequestEmojiCompatConfig$RetryPolicy; .line 252 monitor-exit v0 return-void :catchall_0 move-exception p1 monitor-exit v0 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 throw p1 .end method