.class final Lcom/google/android/gms/common/images/zaa; .super Ljava/lang/Object; .source "com.google.android.gms:play-services-base@@18.0.1" # interfaces .implements Ljava/lang/Runnable; # instance fields .field public final synthetic zaa:Lcom/google/android/gms/common/images/ImageManager; .field private final zab:Landroid/net/Uri; .field private final zac:Landroid/os/ParcelFileDescriptor; .annotation build Landroidx/annotation/Nullable; .end annotation .end field # direct methods .method public constructor (Lcom/google/android/gms/common/images/ImageManager;Landroid/net/Uri;Landroid/os/ParcelFileDescriptor;)V .locals 0 .param p2 # Landroid/net/Uri; .annotation build Landroidx/annotation/Nullable; .end annotation .end param iput-object p1, p0, Lcom/google/android/gms/common/images/zaa;->zaa:Lcom/google/android/gms/common/images/ImageManager; invoke-direct {p0}, Ljava/lang/Object;->()V iput-object p2, p0, Lcom/google/android/gms/common/images/zaa;->zab:Landroid/net/Uri; iput-object p3, p0, Lcom/google/android/gms/common/images/zaa;->zac:Landroid/os/ParcelFileDescriptor; return-void .end method # virtual methods .method public final run()V .locals 12 const-string v0, "LoadBitmapFromDiskRunnable can\'t be executed in the main thread" .line 1 invoke-static {v0}, Lcom/google/android/gms/common/internal/Asserts;->checkNotMainThread(Ljava/lang/String;)V iget-object v0, p0, Lcom/google/android/gms/common/images/zaa;->zac:Landroid/os/ParcelFileDescriptor; const/4 v1, 0x1 const/4 v2, 0x0 const/4 v3, 0x0 const-string v4, "ImageManager" if-eqz v0, :cond_0 .line 2 :try_start_0 invoke-virtual {v0}, Landroid/os/ParcelFileDescriptor;->getFileDescriptor()Ljava/io/FileDescriptor; move-result-object v0 invoke-static {v0}, Landroid/graphics/BitmapFactory;->decodeFileDescriptor(Ljava/io/FileDescriptor;)Landroid/graphics/Bitmap; move-result-object v0 :try_end_0 .catch Ljava/lang/OutOfMemoryError; {:try_start_0 .. :try_end_0} :catch_0 move-object v2, v0 goto :goto_0 :catch_0 move-exception v0 .line 3 iget-object v3, p0, Lcom/google/android/gms/common/images/zaa;->zab:Landroid/net/Uri; .line 4 invoke-static {v3}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String; move-result-object v3 const-string v5, "OOM while loading bitmap for uri: " invoke-virtual {v5, v3}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String; move-result-object v3 invoke-static {v4, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I move v3, v1 .line 5 :goto_0 :try_start_1 iget-object v0, p0, Lcom/google/android/gms/common/images/zaa;->zac:Landroid/os/ParcelFileDescriptor; .line 6 invoke-virtual {v0}, Landroid/os/ParcelFileDescriptor;->close()V :try_end_1 .catch Ljava/io/IOException; {:try_start_1 .. :try_end_1} :catch_1 goto :goto_1 :catch_1 move-exception v0 const-string v5, "closed failed" .line 7 invoke-static {v4, v5, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I :cond_0 :goto_1 move-object v9, v2 move v10, v3 .line 8 new-instance v0, Ljava/util/concurrent/CountDownLatch; .line 9 invoke-direct {v0, v1}, Ljava/util/concurrent/CountDownLatch;->(I)V iget-object v7, p0, Lcom/google/android/gms/common/images/zaa;->zaa:Lcom/google/android/gms/common/images/ImageManager; invoke-static {v7}, Lcom/google/android/gms/common/images/ImageManager;->zab(Lcom/google/android/gms/common/images/ImageManager;)Landroid/os/Handler; move-result-object v1 new-instance v2, Lcom/google/android/gms/common/images/zac; iget-object v8, p0, Lcom/google/android/gms/common/images/zaa;->zab:Landroid/net/Uri; move-object v6, v2 move-object v11, v0 invoke-direct/range {v6 .. v11}, Lcom/google/android/gms/common/images/zac;->(Lcom/google/android/gms/common/images/ImageManager;Landroid/net/Uri;Landroid/graphics/Bitmap;ZLjava/util/concurrent/CountDownLatch;)V .line 10 invoke-virtual {v1, v2}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z .line 11 :try_start_2 invoke-virtual {v0}, Ljava/util/concurrent/CountDownLatch;->await()V :try_end_2 .catch Ljava/lang/InterruptedException; {:try_start_2 .. :try_end_2} :catch_2 return-void .line 12 :catch_2 iget-object v0, p0, Lcom/google/android/gms/common/images/zaa;->zab:Landroid/net/Uri; .line 13 invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String; move-result-object v0 const-string v1, "Latch interrupted while posting " invoke-virtual {v1, v0}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String; move-result-object v0 invoke-static {v4, v0}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I return-void .end method