373 lines
9.7 KiB
Smali
373 lines
9.7 KiB
Smali
.class final Lcom/crashlytics/android/core/ar$e;
|
|
.super Lio/fabric/sdk/android/a/b/h;
|
|
.source "ReportUploader.java"
|
|
|
|
|
|
# annotations
|
|
.annotation system Ldalvik/annotation/EnclosingClass;
|
|
value = Lcom/crashlytics/android/core/ar;
|
|
.end annotation
|
|
|
|
.annotation system Ldalvik/annotation/InnerClass;
|
|
accessFlags = 0x0
|
|
name = "e"
|
|
.end annotation
|
|
|
|
|
|
# instance fields
|
|
.field private final qU:F
|
|
|
|
.field private final rW:Lcom/crashlytics/android/core/ar$d;
|
|
|
|
.field final synthetic rX:Lcom/crashlytics/android/core/ar;
|
|
|
|
|
|
# direct methods
|
|
.method constructor <init>(Lcom/crashlytics/android/core/ar;FLcom/crashlytics/android/core/ar$d;)V
|
|
.locals 0
|
|
|
|
iput-object p1, p0, Lcom/crashlytics/android/core/ar$e;->rX:Lcom/crashlytics/android/core/ar;
|
|
|
|
invoke-direct {p0}, Lio/fabric/sdk/android/a/b/h;-><init>()V
|
|
|
|
iput p2, p0, Lcom/crashlytics/android/core/ar$e;->qU:F
|
|
|
|
iput-object p3, p0, Lcom/crashlytics/android/core/ar$e;->rW:Lcom/crashlytics/android/core/ar$d;
|
|
|
|
return-void
|
|
.end method
|
|
|
|
|
|
# virtual methods
|
|
.method public final cY()V
|
|
.locals 8
|
|
|
|
:try_start_0
|
|
invoke-static {}, Lio/fabric/sdk/android/c;->wz()Lio/fabric/sdk/android/l;
|
|
|
|
move-result-object v0
|
|
|
|
const-string v1, "CrashlyticsCore"
|
|
|
|
new-instance v2, Ljava/lang/StringBuilder;
|
|
|
|
const-string v3, "Starting report processing in "
|
|
|
|
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
|
|
|
|
iget v3, p0, Lcom/crashlytics/android/core/ar$e;->qU:F
|
|
|
|
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;
|
|
|
|
const-string v3, " second(s)..."
|
|
|
|
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object v2
|
|
|
|
invoke-interface {v0, v1, v2}, Lio/fabric/sdk/android/l;->d(Ljava/lang/String;Ljava/lang/String;)V
|
|
|
|
iget v0, p0, Lcom/crashlytics/android/core/ar$e;->qU:F
|
|
:try_end_0
|
|
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_2
|
|
|
|
const/4 v1, 0x0
|
|
|
|
cmpl-float v0, v0, v1
|
|
|
|
if-lez v0, :cond_0
|
|
|
|
:try_start_1
|
|
iget v0, p0, Lcom/crashlytics/android/core/ar$e;->qU:F
|
|
|
|
const/high16 v1, 0x447a0000 # 1000.0f
|
|
|
|
mul-float v0, v0, v1
|
|
|
|
float-to-long v0, v0
|
|
|
|
invoke-static {v0, v1}, Ljava/lang/Thread;->sleep(J)V
|
|
:try_end_1
|
|
.catch Ljava/lang/InterruptedException; {:try_start_1 .. :try_end_1} :catch_0
|
|
.catch Ljava/lang/Exception; {:try_start_1 .. :try_end_1} :catch_2
|
|
|
|
goto :goto_0
|
|
|
|
:catch_0
|
|
:try_start_2
|
|
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-virtual {v0}, Ljava/lang/Thread;->interrupt()V
|
|
|
|
goto/16 :goto_4
|
|
|
|
:cond_0
|
|
:goto_0
|
|
iget-object v0, p0, Lcom/crashlytics/android/core/ar$e;->rX:Lcom/crashlytics/android/core/ar;
|
|
|
|
invoke-virtual {v0}, Lcom/crashlytics/android/core/ar;->cW()Ljava/util/List;
|
|
|
|
move-result-object v0
|
|
|
|
iget-object v1, p0, Lcom/crashlytics/android/core/ar$e;->rX:Lcom/crashlytics/android/core/ar;
|
|
|
|
invoke-static {v1}, Lcom/crashlytics/android/core/ar;->b(Lcom/crashlytics/android/core/ar;)Lcom/crashlytics/android/core/ar$b;
|
|
|
|
move-result-object v1
|
|
|
|
invoke-interface {v1}, Lcom/crashlytics/android/core/ar$b;->cj()Z
|
|
|
|
move-result v1
|
|
|
|
if-nez v1, :cond_4
|
|
|
|
invoke-interface {v0}, Ljava/util/List;->isEmpty()Z
|
|
|
|
move-result v1
|
|
|
|
if-nez v1, :cond_1
|
|
|
|
iget-object v1, p0, Lcom/crashlytics/android/core/ar$e;->rW:Lcom/crashlytics/android/core/ar$d;
|
|
|
|
invoke-interface {v1}, Lcom/crashlytics/android/core/ar$d;->cr()Z
|
|
|
|
move-result v1
|
|
|
|
if-nez v1, :cond_1
|
|
|
|
invoke-static {}, Lio/fabric/sdk/android/c;->wz()Lio/fabric/sdk/android/l;
|
|
|
|
move-result-object v1
|
|
|
|
const-string v2, "CrashlyticsCore"
|
|
|
|
new-instance v3, Ljava/lang/StringBuilder;
|
|
|
|
const-string v4, "User declined to send. Removing "
|
|
|
|
invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
|
|
|
|
invoke-interface {v0}, Ljava/util/List;->size()I
|
|
|
|
move-result v4
|
|
|
|
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
|
|
|
|
const-string v4, " Report(s)."
|
|
|
|
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object v3
|
|
|
|
invoke-interface {v1, v2, v3}, Lio/fabric/sdk/android/l;->d(Ljava/lang/String;Ljava/lang/String;)V
|
|
|
|
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
|
|
|
|
move-result-object v0
|
|
|
|
:goto_1
|
|
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
|
|
|
|
move-result v1
|
|
|
|
if-eqz v1, :cond_4
|
|
|
|
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
|
|
|
|
move-result-object v1
|
|
|
|
check-cast v1, Lcom/crashlytics/android/core/aq;
|
|
|
|
invoke-interface {v1}, Lcom/crashlytics/android/core/aq;->remove()V
|
|
|
|
goto :goto_1
|
|
|
|
:cond_1
|
|
const/4 v1, 0x0
|
|
|
|
:cond_2
|
|
:goto_2
|
|
invoke-interface {v0}, Ljava/util/List;->isEmpty()Z
|
|
|
|
move-result v2
|
|
|
|
if-nez v2, :cond_4
|
|
|
|
iget-object v2, p0, Lcom/crashlytics/android/core/ar$e;->rX:Lcom/crashlytics/android/core/ar;
|
|
|
|
invoke-static {v2}, Lcom/crashlytics/android/core/ar;->b(Lcom/crashlytics/android/core/ar;)Lcom/crashlytics/android/core/ar$b;
|
|
|
|
move-result-object v2
|
|
|
|
invoke-interface {v2}, Lcom/crashlytics/android/core/ar$b;->cj()Z
|
|
|
|
move-result v2
|
|
|
|
if-nez v2, :cond_4
|
|
|
|
invoke-static {}, Lio/fabric/sdk/android/c;->wz()Lio/fabric/sdk/android/l;
|
|
|
|
move-result-object v2
|
|
|
|
const-string v3, "CrashlyticsCore"
|
|
|
|
new-instance v4, Ljava/lang/StringBuilder;
|
|
|
|
const-string v5, "Attempting to send "
|
|
|
|
invoke-direct {v4, v5}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
|
|
|
|
invoke-interface {v0}, Ljava/util/List;->size()I
|
|
|
|
move-result v5
|
|
|
|
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
|
|
|
|
const-string v5, " report(s)"
|
|
|
|
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object v4
|
|
|
|
invoke-interface {v2, v3, v4}, Lio/fabric/sdk/android/l;->d(Ljava/lang/String;Ljava/lang/String;)V
|
|
|
|
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
|
|
|
|
move-result-object v0
|
|
|
|
:goto_3
|
|
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
|
|
|
|
move-result v2
|
|
|
|
if-eqz v2, :cond_3
|
|
|
|
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
|
|
|
|
move-result-object v2
|
|
|
|
check-cast v2, Lcom/crashlytics/android/core/aq;
|
|
|
|
iget-object v3, p0, Lcom/crashlytics/android/core/ar$e;->rX:Lcom/crashlytics/android/core/ar;
|
|
|
|
invoke-virtual {v3, v2}, Lcom/crashlytics/android/core/ar;->a(Lcom/crashlytics/android/core/aq;)Z
|
|
|
|
goto :goto_3
|
|
|
|
:cond_3
|
|
iget-object v0, p0, Lcom/crashlytics/android/core/ar$e;->rX:Lcom/crashlytics/android/core/ar;
|
|
|
|
invoke-virtual {v0}, Lcom/crashlytics/android/core/ar;->cW()Ljava/util/List;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-interface {v0}, Ljava/util/List;->isEmpty()Z
|
|
|
|
move-result v2
|
|
|
|
if-nez v2, :cond_2
|
|
|
|
invoke-static {}, Lcom/crashlytics/android/core/ar;->cX()[S
|
|
|
|
move-result-object v2
|
|
|
|
add-int/lit8 v3, v1, 0x1
|
|
|
|
invoke-static {}, Lcom/crashlytics/android/core/ar;->cX()[S
|
|
|
|
move-result-object v4
|
|
|
|
array-length v4, v4
|
|
|
|
add-int/lit8 v4, v4, -0x1
|
|
|
|
invoke-static {v1, v4}, Ljava/lang/Math;->min(II)I
|
|
|
|
move-result v1
|
|
|
|
aget-short v1, v2, v1
|
|
|
|
int-to-long v1, v1
|
|
|
|
invoke-static {}, Lio/fabric/sdk/android/c;->wz()Lio/fabric/sdk/android/l;
|
|
|
|
move-result-object v4
|
|
|
|
const-string v5, "CrashlyticsCore"
|
|
|
|
new-instance v6, Ljava/lang/StringBuilder;
|
|
|
|
const-string v7, "Report submisson: scheduling delayed retry in "
|
|
|
|
invoke-direct {v6, v7}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
|
|
|
|
invoke-virtual {v6, v1, v2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
|
|
|
|
const-string v7, " seconds"
|
|
|
|
invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object v6
|
|
|
|
invoke-interface {v4, v5, v6}, Lio/fabric/sdk/android/l;->d(Ljava/lang/String;Ljava/lang/String;)V
|
|
:try_end_2
|
|
.catch Ljava/lang/Exception; {:try_start_2 .. :try_end_2} :catch_2
|
|
|
|
const-wide/16 v4, 0x3e8
|
|
|
|
mul-long v1, v1, v4
|
|
|
|
:try_start_3
|
|
invoke-static {v1, v2}, Ljava/lang/Thread;->sleep(J)V
|
|
:try_end_3
|
|
.catch Ljava/lang/InterruptedException; {:try_start_3 .. :try_end_3} :catch_1
|
|
.catch Ljava/lang/Exception; {:try_start_3 .. :try_end_3} :catch_2
|
|
|
|
move v1, v3
|
|
|
|
goto/16 :goto_2
|
|
|
|
:catch_1
|
|
:try_start_4
|
|
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-virtual {v0}, Ljava/lang/Thread;->interrupt()V
|
|
:try_end_4
|
|
.catch Ljava/lang/Exception; {:try_start_4 .. :try_end_4} :catch_2
|
|
|
|
goto :goto_4
|
|
|
|
:catch_2
|
|
move-exception v0
|
|
|
|
invoke-static {}, Lio/fabric/sdk/android/c;->wz()Lio/fabric/sdk/android/l;
|
|
|
|
move-result-object v1
|
|
|
|
const-string v2, "CrashlyticsCore"
|
|
|
|
const-string v3, "An unexpected error occurred while attempting to upload crash reports."
|
|
|
|
invoke-interface {v1, v2, v3, v0}, Lio/fabric/sdk/android/l;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
|
|
|
|
:cond_4
|
|
:goto_4
|
|
iget-object v0, p0, Lcom/crashlytics/android/core/ar$e;->rX:Lcom/crashlytics/android/core/ar;
|
|
|
|
invoke-static {v0}, Lcom/crashlytics/android/core/ar;->a(Lcom/crashlytics/android/core/ar;)Ljava/lang/Thread;
|
|
|
|
return-void
|
|
.end method
|