ScribeBackoffPolicy.smali
.class public Lcom/tradplus/ads/network/ScribeBackoffPolicy;
.super Lcom/tradplus/ads/network/BackoffPolicy;
# direct methods
.method public constructor <init>()V
.registers 4
const v0, 0xea60
const/4 v1, 0x5
const/4 v2, 0x2
invoke-direct {p0, v0, v1, v2}, Lcom/tradplus/ads/network/ScribeBackoffPolicy;-><init>(III)V
return-void
.end method
.method constructor <init>(III)V
.registers 4
.annotation build Lcom/tradplus/ads/common/VisibleForTesting;
.end annotation
invoke-direct {p0}, Lcom/tradplus/ads/network/BackoffPolicy;-><init>()V
iput p1, p0, Lcom/tradplus/ads/network/BackoffPolicy;->c:I
iput p2, p0, Lcom/tradplus/ads/network/BackoffPolicy;->e:I
iput p3, p0, Lcom/tradplus/ads/network/BackoffPolicy;->b:I
return-void
.end method
.method private a()V
.registers 5
iget v0, p0, Lcom/tradplus/ads/network/BackoffPolicy;->b:I
int-to-double v0, v0
iget v2, p0, Lcom/tradplus/ads/network/BackoffPolicy;->d:I
int-to-double v2, v2
invoke-static {v0, v1, v2, v3}, Ljava/lang/Math;->pow(DD)D
move-result-wide v0
iget v2, p0, Lcom/tradplus/ads/network/BackoffPolicy;->c:I
int-to-double v2, v2
invoke-static {v2, v3}, Ljava/lang/Double;->isNaN(D)Z
mul-double v2, v2, v0
double-to-int v0, v2
iput v0, p0, Lcom/tradplus/ads/network/BackoffPolicy;->a:I
iget v0, p0, Lcom/tradplus/ads/network/BackoffPolicy;->d:I
add-int/lit8 v0, v0, 0x1
iput v0, p0, Lcom/tradplus/ads/network/BackoffPolicy;->d:I
return-void
.end method
# virtual methods
.method public backoff(Lcom/tradplus/ads/volley/VolleyError;)V
.registers 4
invoke-virtual {p0}, Lcom/tradplus/ads/network/BackoffPolicy;->hasAttemptRemaining()Z
move-result v0
if-eqz v0, :cond_21
instance-of v0, p1, Lcom/tradplus/ads/volley/NoConnectionError;
if-eqz v0, :cond_e
invoke-direct {p0}, Lcom/tradplus/ads/network/ScribeBackoffPolicy;->a()V
return-void
:cond_e
iget-object v0, p1, Lcom/tradplus/ads/volley/VolleyError;->networkResponse:Lcom/tradplus/ads/volley/NetworkResponse;
if-eqz v0, :cond_20
iget v0, v0, Lcom/tradplus/ads/volley/NetworkResponse;->statusCode:I
const/16 v1, 0x1f7
if-eq v0, v1, :cond_1c
const/16 v1, 0x1f8
if-ne v0, v1, :cond_20
:cond_1c
invoke-direct {p0}, Lcom/tradplus/ads/network/ScribeBackoffPolicy;->a()V
return-void
:cond_20
throw p1
:cond_21
throw p1
.end method