.class public abstract Lcom/google/firebase/crashlytics/internal/common/Utils; .super Ljava/lang/Object; .source "SourceFile" # static fields .field public static final TASK_CONTINUATION_EXECUTOR_SERVICE:Ljava/util/concurrent/ExecutorService; # direct methods .method public static synthetic $r8$lambda$5a7k-WS7-ouTcetu0gP5GgTnQAI(Lcom/google/android/gms/tasks/TaskCompletionSource;Lcom/google/android/gms/tasks/Task;)Ljava/lang/Void; .locals 0 .line 0 invoke-static {p0, p1}, Lcom/google/firebase/crashlytics/internal/common/Utils;->lambda$race$1(Lcom/google/android/gms/tasks/TaskCompletionSource;Lcom/google/android/gms/tasks/Task;)Ljava/lang/Void; move-result-object p0 return-object p0 .end method .method public static synthetic $r8$lambda$QYDAU0kMkD0sRCyoHp31L98kyZM(Lcom/google/android/gms/tasks/TaskCompletionSource;Lcom/google/android/gms/tasks/Task;)Ljava/lang/Void; .locals 0 .line 0 invoke-static {p0, p1}, Lcom/google/firebase/crashlytics/internal/common/Utils;->lambda$race$0(Lcom/google/android/gms/tasks/TaskCompletionSource;Lcom/google/android/gms/tasks/Task;)Ljava/lang/Void; move-result-object p0 return-object p0 .end method .method public static synthetic $r8$lambda$TKUJtEaUamA8BNwB9EIMZB8qUfw(Ljava/util/concurrent/CountDownLatch;Lcom/google/android/gms/tasks/Task;)Ljava/lang/Object; .locals 0 .line 0 invoke-static {p0, p1}, Lcom/google/firebase/crashlytics/internal/common/Utils;->lambda$awaitEvenIfOnMainThread$4(Ljava/util/concurrent/CountDownLatch;Lcom/google/android/gms/tasks/Task;)Ljava/lang/Object; move-result-object p0 return-object p0 .end method .method public static synthetic $r8$lambda$YgGXbSEA0Ws2cXVF9PJQx1j_hsw(Lcom/google/android/gms/tasks/TaskCompletionSource;Lcom/google/android/gms/tasks/Task;)Ljava/lang/Object; .locals 0 .line 0 invoke-static {p0, p1}, Lcom/google/firebase/crashlytics/internal/common/Utils;->lambda$callTask$2(Lcom/google/android/gms/tasks/TaskCompletionSource;Lcom/google/android/gms/tasks/Task;)Ljava/lang/Object; move-result-object p0 return-object p0 .end method .method public static synthetic $r8$lambda$uyb51yW4Rf8sAIRf8mmI-ITDli8(Ljava/util/concurrent/Callable;Ljava/util/concurrent/Executor;Lcom/google/android/gms/tasks/TaskCompletionSource;)V .locals 0 .line 0 invoke-static {p0, p1, p2}, Lcom/google/firebase/crashlytics/internal/common/Utils;->lambda$callTask$3(Ljava/util/concurrent/Callable;Ljava/util/concurrent/Executor;Lcom/google/android/gms/tasks/TaskCompletionSource;)V return-void .end method .method static constructor ()V .locals 1 const-string v0, "awaitEvenIfOnMainThread task continuation executor" .line 168 invoke-static {v0}, Lcom/google/firebase/crashlytics/internal/common/ExecutorUtils;->buildSingleThreadExecutorService(Ljava/lang/String;)Ljava/util/concurrent/ExecutorService; move-result-object v0 sput-object v0, Lcom/google/firebase/crashlytics/internal/common/Utils;->TASK_CONTINUATION_EXECUTOR_SERVICE:Ljava/util/concurrent/ExecutorService; return-void .end method .method public static awaitEvenIfOnMainThread(Lcom/google/android/gms/tasks/Task;)Ljava/lang/Object; .locals 4 .line 112 new-instance v0, Ljava/util/concurrent/CountDownLatch; const/4 v1, 0x1 invoke-direct {v0, v1}, Ljava/util/concurrent/CountDownLatch;->(I)V sget-object v1, Lcom/google/firebase/crashlytics/internal/common/Utils;->TASK_CONTINUATION_EXECUTOR_SERVICE:Ljava/util/concurrent/ExecutorService; .line 114 new-instance v2, Lcom/google/firebase/crashlytics/internal/common/Utils$$ExternalSyntheticLambda0; invoke-direct {v2, v0}, Lcom/google/firebase/crashlytics/internal/common/Utils$$ExternalSyntheticLambda0;->(Ljava/util/concurrent/CountDownLatch;)V invoke-virtual {p0, v1, v2}, Lcom/google/android/gms/tasks/Task;->continueWith(Ljava/util/concurrent/Executor;Lcom/google/android/gms/tasks/Continuation;)Lcom/google/android/gms/tasks/Task; .line 121 invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper; move-result-object v1 invoke-static {}, Landroid/os/Looper;->myLooper()Landroid/os/Looper; move-result-object v2 if-ne v1, v2, :cond_0 const-wide/16 v1, 0x3 .line 122 sget-object v3, Ljava/util/concurrent/TimeUnit;->SECONDS:Ljava/util/concurrent/TimeUnit; invoke-virtual {v0, v1, v2, v3}, Ljava/util/concurrent/CountDownLatch;->await(JLjava/util/concurrent/TimeUnit;)Z goto :goto_0 :cond_0 const-wide/16 v1, 0x4 .line 124 sget-object v3, Ljava/util/concurrent/TimeUnit;->SECONDS:Ljava/util/concurrent/TimeUnit; invoke-virtual {v0, v1, v2, v3}, Ljava/util/concurrent/CountDownLatch;->await(JLjava/util/concurrent/TimeUnit;)Z .line 127 :goto_0 invoke-virtual {p0}, Lcom/google/android/gms/tasks/Task;->isSuccessful()Z move-result v0 if-eqz v0, :cond_1 .line 128 invoke-virtual {p0}, Lcom/google/android/gms/tasks/Task;->getResult()Ljava/lang/Object; move-result-object p0 return-object p0 .line 129 :cond_1 invoke-virtual {p0}, Lcom/google/android/gms/tasks/Task;->isCanceled()Z move-result v0 if-nez v0, :cond_3 .line 131 invoke-virtual {p0}, Lcom/google/android/gms/tasks/Task;->isComplete()Z move-result v0 if-eqz v0, :cond_2 .line 132 new-instance v0, Ljava/lang/IllegalStateException; invoke-virtual {p0}, Lcom/google/android/gms/tasks/Task;->getException()Ljava/lang/Exception; move-result-object p0 invoke-direct {v0, p0}, Ljava/lang/IllegalStateException;->(Ljava/lang/Throwable;)V throw v0 .line 134 :cond_2 new-instance p0, Ljava/util/concurrent/TimeoutException; invoke-direct {p0}, Ljava/util/concurrent/TimeoutException;->()V throw p0 .line 130 :cond_3 new-instance p0, Ljava/util/concurrent/CancellationException; const-string v0, "Task is already canceled" invoke-direct {p0, v0}, Ljava/util/concurrent/CancellationException;->(Ljava/lang/String;)V throw p0 .end method .method public static awaitUninterruptibly(Ljava/util/concurrent/CountDownLatch;JLjava/util/concurrent/TimeUnit;)Z .locals 3 const/4 v0, 0x0 .line 143 :try_start_0 invoke-virtual {p3, p1, p2}, Ljava/util/concurrent/TimeUnit;->toNanos(J)J move-result-wide p1 .line 144 invoke-static {}, Ljava/lang/System;->nanoTime()J move-result-wide v1 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 add-long/2addr v1, p1 .line 149 :goto_0 :try_start_1 sget-object p3, Ljava/util/concurrent/TimeUnit;->NANOSECONDS:Ljava/util/concurrent/TimeUnit; invoke-virtual {p0, p1, p2, p3}, Ljava/util/concurrent/CountDownLatch;->await(JLjava/util/concurrent/TimeUnit;)Z move-result p0 :try_end_1 .catch Ljava/lang/InterruptedException; {:try_start_1 .. :try_end_1} :catch_0 .catchall {:try_start_1 .. :try_end_1} :catchall_0 if-eqz v0, :cond_0 .line 157 invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread; move-result-object p1 invoke-virtual {p1}, Ljava/lang/Thread;->interrupt()V :cond_0 return p0 :catchall_0 move-exception p0 goto :goto_1 :catch_0 const/4 v0, 0x1 .line 152 :try_start_2 invoke-static {}, Ljava/lang/System;->nanoTime()J move-result-wide p1 :try_end_2 .catchall {:try_start_2 .. :try_end_2} :catchall_0 sub-long p1, v1, p1 goto :goto_0 :goto_1 if-eqz v0, :cond_1 .line 157 invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread; move-result-object p1 invoke-virtual {p1}, Ljava/lang/Thread;->interrupt()V .line 159 :cond_1 throw p0 .end method .method public static callTask(Ljava/util/concurrent/Executor;Ljava/util/concurrent/Callable;)Lcom/google/android/gms/tasks/Task; .locals 2 .line 74 new-instance v0, Lcom/google/android/gms/tasks/TaskCompletionSource; invoke-direct {v0}, Lcom/google/android/gms/tasks/TaskCompletionSource;->()V .line 75 new-instance v1, Lcom/google/firebase/crashlytics/internal/common/Utils$$ExternalSyntheticLambda2; invoke-direct {v1, p1, p0, v0}, Lcom/google/firebase/crashlytics/internal/common/Utils$$ExternalSyntheticLambda2;->(Ljava/util/concurrent/Callable;Ljava/util/concurrent/Executor;Lcom/google/android/gms/tasks/TaskCompletionSource;)V invoke-interface {p0, v1}, Ljava/util/concurrent/Executor;->execute(Ljava/lang/Runnable;)V .line 94 invoke-virtual {v0}, Lcom/google/android/gms/tasks/TaskCompletionSource;->getTask()Lcom/google/android/gms/tasks/Task; move-result-object p0 return-object p0 .end method .method public static synthetic lambda$awaitEvenIfOnMainThread$4(Ljava/util/concurrent/CountDownLatch;Lcom/google/android/gms/tasks/Task;)Ljava/lang/Object; .locals 0 .line 117 invoke-virtual {p0}, Ljava/util/concurrent/CountDownLatch;->countDown()V const/4 p0, 0x0 return-object p0 .end method .method public static synthetic lambda$callTask$2(Lcom/google/android/gms/tasks/TaskCompletionSource;Lcom/google/android/gms/tasks/Task;)Ljava/lang/Object; .locals 1 .line 83 invoke-virtual {p1}, Lcom/google/android/gms/tasks/Task;->isSuccessful()Z move-result v0 if-eqz v0, :cond_0 .line 84 invoke-virtual {p1}, Lcom/google/android/gms/tasks/Task;->getResult()Ljava/lang/Object; move-result-object p1 invoke-virtual {p0, p1}, Lcom/google/android/gms/tasks/TaskCompletionSource;->setResult(Ljava/lang/Object;)V goto :goto_0 .line 85 :cond_0 invoke-virtual {p1}, Lcom/google/android/gms/tasks/Task;->getException()Ljava/lang/Exception; move-result-object v0 if-eqz v0, :cond_1 .line 86 invoke-virtual {p1}, Lcom/google/android/gms/tasks/Task;->getException()Ljava/lang/Exception; move-result-object p1 invoke-virtual {p0, p1}, Lcom/google/android/gms/tasks/TaskCompletionSource;->setException(Ljava/lang/Exception;)V :cond_1 :goto_0 const/4 p0, 0x0 return-object p0 .end method .method public static synthetic lambda$callTask$3(Ljava/util/concurrent/Callable;Ljava/util/concurrent/Executor;Lcom/google/android/gms/tasks/TaskCompletionSource;)V .locals 1 .line 79 :try_start_0 invoke-interface {p0}, Ljava/util/concurrent/Callable;->call()Ljava/lang/Object; move-result-object p0 check-cast p0, Lcom/google/android/gms/tasks/Task; new-instance v0, Lcom/google/firebase/crashlytics/internal/common/Utils$$ExternalSyntheticLambda3; invoke-direct {v0, p2}, Lcom/google/firebase/crashlytics/internal/common/Utils$$ExternalSyntheticLambda3;->(Lcom/google/android/gms/tasks/TaskCompletionSource;)V .line 80 invoke-virtual {p0, p1, v0}, Lcom/google/android/gms/tasks/Task;->continueWith(Ljava/util/concurrent/Executor;Lcom/google/android/gms/tasks/Continuation;)Lcom/google/android/gms/tasks/Task; :try_end_0 .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0 goto :goto_0 :catch_0 move-exception p0 .line 91 invoke-virtual {p2, p0}, Lcom/google/android/gms/tasks/TaskCompletionSource;->setException(Ljava/lang/Exception;)V :goto_0 return-void .end method .method public static synthetic lambda$race$0(Lcom/google/android/gms/tasks/TaskCompletionSource;Lcom/google/android/gms/tasks/Task;)Ljava/lang/Void; .locals 1 .line 43 invoke-virtual {p1}, Lcom/google/android/gms/tasks/Task;->isSuccessful()Z move-result v0 if-eqz v0, :cond_0 .line 44 invoke-virtual {p1}, Lcom/google/android/gms/tasks/Task;->getResult()Ljava/lang/Object; move-result-object p1 invoke-virtual {p0, p1}, Lcom/google/android/gms/tasks/TaskCompletionSource;->trySetResult(Ljava/lang/Object;)Z goto :goto_0 .line 45 :cond_0 invoke-virtual {p1}, Lcom/google/android/gms/tasks/Task;->getException()Ljava/lang/Exception; move-result-object v0 if-eqz v0, :cond_1 .line 46 invoke-virtual {p1}, Lcom/google/android/gms/tasks/Task;->getException()Ljava/lang/Exception; move-result-object p1 invoke-virtual {p0, p1}, Lcom/google/android/gms/tasks/TaskCompletionSource;->trySetException(Ljava/lang/Exception;)Z :cond_1 :goto_0 const/4 p0, 0x0 return-object p0 .end method .method public static synthetic lambda$race$1(Lcom/google/android/gms/tasks/TaskCompletionSource;Lcom/google/android/gms/tasks/Task;)Ljava/lang/Void; .locals 1 .line 60 invoke-virtual {p1}, Lcom/google/android/gms/tasks/Task;->isSuccessful()Z move-result v0 if-eqz v0, :cond_0 .line 61 invoke-virtual {p1}, Lcom/google/android/gms/tasks/Task;->getResult()Ljava/lang/Object; move-result-object p1 invoke-virtual {p0, p1}, Lcom/google/android/gms/tasks/TaskCompletionSource;->trySetResult(Ljava/lang/Object;)Z goto :goto_0 .line 62 :cond_0 invoke-virtual {p1}, Lcom/google/android/gms/tasks/Task;->getException()Ljava/lang/Exception; move-result-object v0 if-eqz v0, :cond_1 .line 63 invoke-virtual {p1}, Lcom/google/android/gms/tasks/Task;->getException()Ljava/lang/Exception; move-result-object p1 invoke-virtual {p0, p1}, Lcom/google/android/gms/tasks/TaskCompletionSource;->trySetException(Ljava/lang/Exception;)Z :cond_1 :goto_0 const/4 p0, 0x0 return-object p0 .end method .method public static race(Lcom/google/android/gms/tasks/Task;Lcom/google/android/gms/tasks/Task;)Lcom/google/android/gms/tasks/Task; .locals 2 .line 40 new-instance v0, Lcom/google/android/gms/tasks/TaskCompletionSource; invoke-direct {v0}, Lcom/google/android/gms/tasks/TaskCompletionSource;->()V .line 41 new-instance v1, Lcom/google/firebase/crashlytics/internal/common/Utils$$ExternalSyntheticLambda4; invoke-direct {v1, v0}, Lcom/google/firebase/crashlytics/internal/common/Utils$$ExternalSyntheticLambda4;->(Lcom/google/android/gms/tasks/TaskCompletionSource;)V .line 50 invoke-virtual {p0, v1}, Lcom/google/android/gms/tasks/Task;->continueWith(Lcom/google/android/gms/tasks/Continuation;)Lcom/google/android/gms/tasks/Task; .line 51 invoke-virtual {p1, v1}, Lcom/google/android/gms/tasks/Task;->continueWith(Lcom/google/android/gms/tasks/Continuation;)Lcom/google/android/gms/tasks/Task; .line 52 invoke-virtual {v0}, Lcom/google/android/gms/tasks/TaskCompletionSource;->getTask()Lcom/google/android/gms/tasks/Task; move-result-object p0 return-object p0 .end method .method public static race(Ljava/util/concurrent/Executor;Lcom/google/android/gms/tasks/Task;Lcom/google/android/gms/tasks/Task;)Lcom/google/android/gms/tasks/Task; .locals 2 .line 57 new-instance v0, Lcom/google/android/gms/tasks/TaskCompletionSource; invoke-direct {v0}, Lcom/google/android/gms/tasks/TaskCompletionSource;->()V .line 58 new-instance v1, Lcom/google/firebase/crashlytics/internal/common/Utils$$ExternalSyntheticLambda1; invoke-direct {v1, v0}, Lcom/google/firebase/crashlytics/internal/common/Utils$$ExternalSyntheticLambda1;->(Lcom/google/android/gms/tasks/TaskCompletionSource;)V .line 67 invoke-virtual {p1, p0, v1}, Lcom/google/android/gms/tasks/Task;->continueWith(Ljava/util/concurrent/Executor;Lcom/google/android/gms/tasks/Continuation;)Lcom/google/android/gms/tasks/Task; .line 68 invoke-virtual {p2, p0, v1}, Lcom/google/android/gms/tasks/Task;->continueWith(Ljava/util/concurrent/Executor;Lcom/google/android/gms/tasks/Continuation;)Lcom/google/android/gms/tasks/Task; .line 69 invoke-virtual {v0}, Lcom/google/android/gms/tasks/TaskCompletionSource;->getTask()Lcom/google/android/gms/tasks/Task; move-result-object p0 return-object p0 .end method