granularity level: instruction
.class public final Lcom/google/android/datatransport/runtime/retries/Retries;
.super Ljava/lang/Object;
.source "Retries.java"
.method private constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static retry(ILjava/lang/Object;Lcom/google/android/datatransport/runtime/retries/Function;Lcom/google/android/datatransport/runtime/retries/RetryStrategy;)Ljava/lang/Object;
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Throwable;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<TInput:",
"Ljava/lang/Object;",
"TResult:",
"Ljava/lang/Object;",
"TException:",
"Ljava/lang/Throwable;",
">(ITTInput;",
"Lcom/google/android/datatransport/runtime/retries/Function<",
"TTInput;TTResult;TTException;>;",
"Lcom/google/android/datatransport/runtime/retries/RetryStrategy<",
"TTInput;TTResult;>;)TTResult;^TTException;"
}
.end annotation
const/4 v0, 0x1
if-ge p0, v0, :cond_0
invoke-interface {p2, p1}, Lcom/google/android/datatransport/runtime/retries/Function;->apply(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p0
return-object p0
:cond_0
invoke-interface {p2, p1}, Lcom/google/android/datatransport/runtime/retries/Function;->apply(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
invoke-interface {p3, p1, v1}, Lcom/google/android/datatransport/runtime/retries/RetryStrategy;->shouldRetry(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
if-eqz p1, :cond_1
add-int/lit8 p0, p0, -0x1
if-ge p0, v0, :cond_0
:cond_1
return-object v1
.end method