PredefinedRetryPolicies$SDKDefaultRetryCondition.smali

.class public Lcom/amazonaws/retry/PredefinedRetryPolicies$SDKDefaultRetryCondition;
.super Ljava/lang/Object;
.source "SourceFile"

# interfaces
.implements Lcom/amazonaws/retry/RetryPolicy$RetryCondition;


# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
    value = Lcom/amazonaws/retry/PredefinedRetryPolicies;
.end annotation

.annotation system Ldalvik/annotation/InnerClass;
    accessFlags = 0x9
    name = "SDKDefaultRetryCondition"
.end annotation


# direct methods
.method public constructor <init>()V
    .registers 1

    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    return-void
.end method


# virtual methods
.method public final a(Lcom/amazonaws/AmazonClientException;I)Z
    .registers 6

    .line 1
    invoke-virtual {p1}, Ljava/lang/Throwable;->getCause()Ljava/lang/Throwable;

    move-result-object p2

    instance-of p2, p2, Ljava/io/IOException;

    const/4 v0, 0x1

    if-eqz p2, :cond_12

    .line 2
    invoke-virtual {p1}, Ljava/lang/Throwable;->getCause()Ljava/lang/Throwable;

    move-result-object p2

    instance-of p2, p2, Ljava/io/InterruptedIOException;

    if-nez p2, :cond_12

    return v0

    .line 3
    :cond_12
    instance-of p2, p1, Lcom/amazonaws/AmazonServiceException;

    const/4 v1, 0x0

    if-eqz p2, :cond_54

    .line 4
    check-cast p1, Lcom/amazonaws/AmazonServiceException;

    .line 5
    iget p2, p1, Lcom/amazonaws/AmazonServiceException;->d:I

    const/16 v2, 0x1f4

    if-eq p2, v2, :cond_53

    const/16 v2, 0x1f7

    if-eq p2, v2, :cond_53

    const/16 v2, 0x1f6

    if-eq p2, v2, :cond_53

    const/16 v2, 0x1f8

    if-ne p2, v2, :cond_2c

    goto :goto_53

    .line 6
    :cond_2c
    iget-object p2, p1, Lcom/amazonaws/AmazonServiceException;->b:Ljava/lang/String;

    const-string v2, "Throttling"

    .line 7
    invoke-virtual {v2, p2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v2

    if-nez v2, :cond_49

    const-string v2, "ThrottlingException"

    .line 8
    invoke-virtual {v2, p2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v2

    if-nez v2, :cond_49

    const-string v2, "ProvisionedThroughputExceededException"

    .line 9
    invoke-virtual {v2, p2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result p2

    if-eqz p2, :cond_47

    goto :goto_49

    :cond_47
    const/4 p2, 0x0

    goto :goto_4a

    :cond_49
    :goto_49
    const/4 p2, 0x1

    :goto_4a
    if-eqz p2, :cond_4d

    return v0

    .line 10
    :cond_4d
    invoke-static {p1}, Lcom/amazonaws/retry/RetryUtils;->a(Lcom/amazonaws/AmazonServiceException;)Z

    move-result p1

    if-eqz p1, :cond_54

    :cond_53
    :goto_53
    return v0

    :cond_54
    return v1
.end method