Util.smali
.class public Lcom/adjust/sdk/Util;
.super Ljava/lang/Object;
.source "Util.java"
# static fields
.field private static final DATE_FORMAT:Ljava/lang/String; = "yyyy-MM-dd\'T\'HH:mm:ss.SSS\'Z\'Z"
.field public static final SecondsDisplayFormat:Ljava/text/DecimalFormat;
.field private static dateFormat:Ljava/text/SimpleDateFormat; = null
.field private static final fieldReadErrorMessage:Ljava/lang/String; = "Unable to read \'%s\' field in migration device with message (%s)"
# direct methods
.method static constructor <clinit>()V
.registers 2
.line 62
new-instance v0, Ljava/text/DecimalFormat;
const-string v1, "0.0"
invoke-direct {v0, v1}, Ljava/text/DecimalFormat;-><init>(Ljava/lang/String;)V
sput-object v0, Lcom/adjust/sdk/Util;->SecondsDisplayFormat:Ljava/text/DecimalFormat;
return-void
.end method
.method public constructor <init>()V
.registers 1
.line 57
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static checkPermission(Landroid/content/Context;Ljava/lang/String;)Z
.registers 2
.line 363
invoke-virtual {p0, p1}, Landroid/content/Context;->checkCallingOrSelfPermission(Ljava/lang/String;)I
move-result p0
if-nez p0, :cond_8
const/4 p0, 0x1
goto :goto_9
:cond_8
const/4 p0, 0x0
:goto_9
return p0
.end method
.method public static convertToHex([B)Ljava/lang/String;
.registers 5
.line 505
new-instance v0, Ljava/math/BigInteger;
const/4 v1, 0x1
invoke-direct {v0, v1, p0}, Ljava/math/BigInteger;-><init>(I[B)V
.line 506
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "%0"
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
array-length p0, p0
shl-int/2addr p0, v1
invoke-virtual {v2, p0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string/jumbo p0, "x"
invoke-virtual {v2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
.line 507
sget-object v2, Ljava/util/Locale;->US:Ljava/util/Locale;
new-array v1, v1, [Ljava/lang/Object;
const/4 v3, 0x0
aput-object v0, v1, v3
invoke-static {v2, p0, v1}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static createGETHttpsURLConnection(Ljava/lang/String;Ljava/lang/String;)Lcom/adjust/sdk/AdjustFactory$URLGetConnection;
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 289
new-instance v0, Ljava/net/URL;
invoke-direct {v0, p0}, Ljava/net/URL;-><init>(Ljava/lang/String;)V
.line 290
invoke-static {v0}, Lcom/adjust/sdk/AdjustFactory;->getHttpsURLGetConnection(Ljava/net/URL;)Lcom/adjust/sdk/AdjustFactory$URLGetConnection;
move-result-object p0
.line 292
iget-object v0, p0, Lcom/adjust/sdk/AdjustFactory$URLGetConnection;->httpsURLConnection:Ljavax/net/ssl/HttpsURLConnection;
.line 293
invoke-static {v0, p1}, Lcom/adjust/sdk/Util;->setDefaultHttpsUrlConnectionProperties(Ljavax/net/ssl/HttpsURLConnection;Ljava/lang/String;)V
const-string p1, "GET"
.line 295
invoke-virtual {v0, p1}, Ljavax/net/ssl/HttpsURLConnection;->setRequestMethod(Ljava/lang/String;)V
return-object p0
.end method
.method public static createPOSTHttpsURLConnection(Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;I)Ljavax/net/ssl/HttpsURLConnection;
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Ljava/lang/String;",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;I)",
"Ljavax/net/ssl/HttpsURLConnection;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 305
new-instance v0, Ljava/net/URL;
invoke-direct {v0, p0}, Ljava/net/URL;-><init>(Ljava/lang/String;)V
.line 306
invoke-static {v0}, Lcom/adjust/sdk/AdjustFactory;->getHttpsURLConnection(Ljava/net/URL;)Ljavax/net/ssl/HttpsURLConnection;
move-result-object p0
.line 308
invoke-static {p0, p1}, Lcom/adjust/sdk/Util;->setDefaultHttpsUrlConnectionProperties(Ljavax/net/ssl/HttpsURLConnection;Ljava/lang/String;)V
const-string p1, "POST"
.line 309
invoke-virtual {p0, p1}, Ljavax/net/ssl/HttpsURLConnection;->setRequestMethod(Ljava/lang/String;)V
const/4 p1, 0x0
.line 311
invoke-virtual {p0, p1}, Ljavax/net/ssl/HttpsURLConnection;->setUseCaches(Z)V
const/4 p1, 0x1
.line 312
invoke-virtual {p0, p1}, Ljavax/net/ssl/HttpsURLConnection;->setDoInput(Z)V
.line 313
invoke-virtual {p0, p1}, Ljavax/net/ssl/HttpsURLConnection;->setDoOutput(Z)V
.line 315
new-instance p1, Ljava/io/DataOutputStream;
invoke-virtual {p0}, Ljavax/net/ssl/HttpsURLConnection;->getOutputStream()Ljava/io/OutputStream;
move-result-object v0
invoke-direct {p1, v0}, Ljava/io/DataOutputStream;-><init>(Ljava/io/OutputStream;)V
.line 316
invoke-static {p2, p3}, Lcom/adjust/sdk/Util;->getPostDataString(Ljava/util/Map;I)Ljava/lang/String;
move-result-object p2
invoke-virtual {p1, p2}, Ljava/io/DataOutputStream;->writeBytes(Ljava/lang/String;)V
.line 317
invoke-virtual {p1}, Ljava/io/DataOutputStream;->flush()V
.line 318
invoke-virtual {p1}, Ljava/io/DataOutputStream;->close()V
return-object p0
.end method
.method protected static createUuid()Ljava/lang/String;
.registers 1
.line 69
invoke-static {}, Ljava/util/UUID;->randomUUID()Ljava/util/UUID;
move-result-object v0
invoke-virtual {v0}, Ljava/util/UUID;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public static dateFormat(J)Ljava/lang/String;
.registers 5
.line 87
sget-object v0, Lcom/adjust/sdk/Util;->dateFormat:Ljava/text/SimpleDateFormat;
if-nez v0, :cond_10
.line 88
new-instance v0, Ljava/text/SimpleDateFormat;
sget-object v1, Ljava/util/Locale;->US:Ljava/util/Locale;
const-string/jumbo v2, "yyyy-MM-dd\'T\'HH:mm:ss.SSS\'Z\'Z"
invoke-direct {v0, v2, v1}, Ljava/text/SimpleDateFormat;-><init>(Ljava/lang/String;Ljava/util/Locale;)V
sput-object v0, Lcom/adjust/sdk/Util;->dateFormat:Ljava/text/SimpleDateFormat;
.line 90
:cond_10
sget-object v0, Lcom/adjust/sdk/Util;->dateFormat:Ljava/text/SimpleDateFormat;
invoke-static {p0, p1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object p0
invoke-virtual {v0, p0}, Ljava/text/SimpleDateFormat;->format(Ljava/lang/Object;)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static equalBoolean(Ljava/lang/Boolean;Ljava/lang/Boolean;)Z
.registers 2
.line 445
invoke-static {p0, p1}, Lcom/adjust/sdk/Util;->equalObject(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result p0
return p0
.end method
.method public static equalEnum(Ljava/lang/Enum;Ljava/lang/Enum;)Z
.registers 2
.line 433
invoke-static {p0, p1}, Lcom/adjust/sdk/Util;->equalObject(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result p0
return p0
.end method
.method public static equalInt(Ljava/lang/Integer;Ljava/lang/Integer;)Z
.registers 2
.line 441
invoke-static {p0, p1}, Lcom/adjust/sdk/Util;->equalObject(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result p0
return p0
.end method
.method public static equalLong(Ljava/lang/Long;Ljava/lang/Long;)Z
.registers 2
.line 437
invoke-static {p0, p1}, Lcom/adjust/sdk/Util;->equalObject(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result p0
return p0
.end method
.method public static equalObject(Ljava/lang/Object;Ljava/lang/Object;)Z
.registers 2
if-eqz p0, :cond_a
if-nez p1, :cond_5
goto :goto_a
.line 411
:cond_5
invoke-virtual {p0, p1}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result p0
return p0
:cond_a
:goto_a
if-nez p0, :cond_10
if-nez p1, :cond_10
const/4 p0, 0x1
goto :goto_11
:cond_10
const/4 p0, 0x0
:goto_11
return p0
.end method
.method public static equalString(Ljava/lang/String;Ljava/lang/String;)Z
.registers 2
.line 429
invoke-static {p0, p1}, Lcom/adjust/sdk/Util;->equalObject(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result p0
return p0
.end method
.method public static equalsDouble(Ljava/lang/Double;Ljava/lang/Double;)Z
.registers 7
const/4 v0, 0x1
const/4 v1, 0x0
if-eqz p0, :cond_1e
if-nez p1, :cond_7
goto :goto_1e
.line 425
:cond_7
invoke-virtual {p0}, Ljava/lang/Double;->doubleValue()D
move-result-wide v2
invoke-static {v2, v3}, Ljava/lang/Double;->doubleToLongBits(D)J
move-result-wide v2
invoke-virtual {p1}, Ljava/lang/Double;->doubleValue()D
move-result-wide p0
invoke-static {p0, p1}, Ljava/lang/Double;->doubleToLongBits(D)J
move-result-wide p0
cmp-long v4, v2, p0
if-nez v4, :cond_1c
goto :goto_1d
:cond_1c
const/4 v0, 0x0
:goto_1d
return v0
:cond_1e
:goto_1e
if-nez p0, :cond_23
if-nez p1, :cond_23
goto :goto_24
:cond_23
const/4 v0, 0x0
:goto_24
return v0
.end method
.method public static equalsMap(Ljava/util/Map;Ljava/util/Map;)Z
.registers 2
if-eqz p0, :cond_12
if-nez p1, :cond_5
goto :goto_12
.line 418
:cond_5
invoke-interface {p0}, Ljava/util/Map;->entrySet()Ljava/util/Set;
move-result-object p0
invoke-interface {p1}, Ljava/util/Map;->entrySet()Ljava/util/Set;
move-result-object p1
invoke-interface {p0, p1}, Ljava/util/Set;->equals(Ljava/lang/Object;)Z
move-result p0
return p0
:cond_12
:goto_12
if-nez p0, :cond_18
if-nez p1, :cond_18
const/4 p0, 0x1
goto :goto_19
:cond_18
const/4 p0, 0x0
:goto_19
return p0
.end method
.method public static getAndroidId(Landroid/content/Context;)Ljava/lang/String;
.registers 1
.line 139
invoke-static {p0}, Lcom/adjust/sdk/Reflection;->getAndroidId(Landroid/content/Context;)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static getCpuAbi()Ljava/lang/String;
.registers 1
.line 515
invoke-static {}, Lcom/adjust/sdk/Reflection;->getCpuAbi()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public static getGoogleAdId(Landroid/content/Context;Lcom/adjust/sdk/OnDeviceIdsRead;)V
.registers 6
.line 98
invoke-static {}, Lcom/adjust/sdk/AdjustFactory;->getLogger()Lcom/adjust/sdk/ILogger;
move-result-object v0
.line 99
invoke-static {}, Landroid/os/Looper;->myLooper()Landroid/os/Looper;
move-result-object v1
invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper;
move-result-object v2
const/4 v3, 0x0
if-eq v1, v2, :cond_34
new-array v1, v3, [Ljava/lang/Object;
const-string v2, "GoogleAdId being read in the background"
.line 100
invoke-interface {v0, v2, v1}, Lcom/adjust/sdk/ILogger;->debug(Ljava/lang/String;[Ljava/lang/Object;)V
.line 101
invoke-static {p0}, Lcom/adjust/sdk/Util;->getPlayAdId(Landroid/content/Context;)Ljava/lang/String;
move-result-object p0
.line 103
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "GoogleAdId read "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
new-array v2, v3, [Ljava/lang/Object;
invoke-interface {v0, v1, v2}, Lcom/adjust/sdk/ILogger;->debug(Ljava/lang/String;[Ljava/lang/Object;)V
.line 104
invoke-interface {p1, p0}, Lcom/adjust/sdk/OnDeviceIdsRead;->onGoogleAdIdRead(Ljava/lang/String;)V
return-void
:cond_34
new-array v1, v3, [Ljava/lang/Object;
const-string v2, "GoogleAdId being read in the foreground"
.line 108
invoke-interface {v0, v2, v1}, Lcom/adjust/sdk/ILogger;->debug(Ljava/lang/String;[Ljava/lang/Object;)V
.line 109
new-instance v0, Lcom/adjust/sdk/Util$1;
invoke-direct {v0, p1}, Lcom/adjust/sdk/Util$1;-><init>(Lcom/adjust/sdk/OnDeviceIdsRead;)V
const/4 p1, 0x1
new-array p1, p1, [Landroid/content/Context;
aput-object p0, p1, v3
.line 124
invoke-virtual {v0, p1}, Lcom/adjust/sdk/Util$1;->execute([Ljava/lang/Object;)Landroid/os/AsyncTask;
return-void
.end method
.method private static getLogger()Lcom/adjust/sdk/ILogger;
.registers 1
.line 65
invoke-static {}, Lcom/adjust/sdk/AdjustFactory;->getLogger()Lcom/adjust/sdk/ILogger;
move-result-object v0
return-object v0
.end method
.method public static getMacAddress(Landroid/content/Context;)Ljava/lang/String;
.registers 1
.line 132
invoke-static {p0}, Lcom/adjust/sdk/Reflection;->getMacAddress(Landroid/content/Context;)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static getPlayAdId(Landroid/content/Context;)Ljava/lang/String;
.registers 1
.line 94
invoke-static {p0}, Lcom/adjust/sdk/Reflection;->getPlayAdId(Landroid/content/Context;)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static getPluginKeys(Landroid/content/Context;)Ljava/util/Map;
.registers 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/content/Context;",
")",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;"
}
.end annotation
.line 136
invoke-static {p0}, Lcom/adjust/sdk/Reflection;->getPluginKeys(Landroid/content/Context;)Ljava/util/Map;
move-result-object p0
return-object p0
.end method
.method private static getPostDataString(Ljava/util/Map;I)Ljava/lang/String;
.registers 10
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;I)",
"Ljava/lang/String;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/UnsupportedEncodingException;
}
.end annotation
.line 324
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
.line 326
invoke-interface {p0}, Ljava/util/Map;->entrySet()Ljava/util/Set;
move-result-object p0
invoke-interface {p0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object p0
:goto_d
invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
const-string v2, ""
const-string v3, "="
const-string v4, "&"
const-string v5, "UTF-8"
if-eqz v1, :cond_4a
invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/util/Map$Entry;
.line 327
invoke-interface {v1}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v6
check-cast v6, Ljava/lang/String;
invoke-static {v6, v5}, Ljava/net/URLEncoder;->encode(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v6
.line 328
invoke-interface {v1}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/String;
if-eqz v1, :cond_37
.line 329
invoke-static {v1, v5}, Ljava/net/URLEncoder;->encode(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
.line 330
:cond_37
invoke-virtual {v0}, Ljava/lang/StringBuilder;->length()I
move-result v1
if-lez v1, :cond_40
.line 331
invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 334
:cond_40
invoke-virtual {v0, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 335
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 336
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
goto :goto_d
.line 339
:cond_4a
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v6
.line 340
invoke-static {v6, v7}, Lcom/adjust/sdk/Util;->dateFormat(J)Ljava/lang/String;
move-result-object p0
.line 342
invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, "sent_at"
.line 343
invoke-static {v1, v5}, Ljava/net/URLEncoder;->encode(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 344
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 345
invoke-static {p0, v5}, Ljava/net/URLEncoder;->encode(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 347
invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p0, "queue_size"
.line 348
invoke-static {p0, v5}, Ljava/net/URLEncoder;->encode(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 349
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 350
new-instance p0, Ljava/lang/StringBuilder;
invoke-direct {p0}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {p0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
invoke-static {p0, v5}, Ljava/net/URLEncoder;->encode(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 353
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static getReasonString(Ljava/lang/String;Ljava/lang/Throwable;)Ljava/lang/String;
.registers 6
const/4 v0, 0x0
const/4 v1, 0x1
if-eqz p1, :cond_14
.line 520
sget-object v2, Ljava/util/Locale;->US:Ljava/util/Locale;
const/4 v3, 0x2
new-array v3, v3, [Ljava/lang/Object;
aput-object p0, v3, v0
aput-object p1, v3, v1
const-string p0, "%s: %s"
invoke-static {v2, p0, v3}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p0
return-object p0
.line 522
:cond_14
sget-object p1, Ljava/util/Locale;->US:Ljava/util/Locale;
new-array v1, v1, [Ljava/lang/Object;
aput-object p0, v1, v0
const-string p0, "%s"
invoke-static {p1, p0, v1}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static getSupportedAbis()[Ljava/lang/String;
.registers 1
.line 511
invoke-static {}, Lcom/adjust/sdk/Reflection;->getSupportedAbis()[Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public static getWaitingTime(ILcom/adjust/sdk/BackoffStrategy;)J
.registers 6
.line 527
iget v0, p1, Lcom/adjust/sdk/BackoffStrategy;->minRetries:I
if-ge p0, v0, :cond_7
const-wide/16 p0, 0x0
return-wide p0
.line 531
:cond_7
iget v0, p1, Lcom/adjust/sdk/BackoffStrategy;->minRetries:I
sub-int/2addr p0, v0
const-wide/high16 v0, 0x4000000000000000L # 2.0
int-to-double v2, p0
.line 533
invoke-static {v0, v1, v2, v3}, Ljava/lang/Math;->pow(DD)D
move-result-wide v0
double-to-long v0, v0
iget-wide v2, p1, Lcom/adjust/sdk/BackoffStrategy;->milliSecondMultiplier:J
mul-long v0, v0, v2
.line 535
iget-wide v2, p1, Lcom/adjust/sdk/BackoffStrategy;->maxWait:J
invoke-static {v0, v1, v2, v3}, Ljava/lang/Math;->min(JJ)J
move-result-wide v0
.line 537
iget-wide v2, p1, Lcom/adjust/sdk/BackoffStrategy;->minRange:D
iget-wide p0, p1, Lcom/adjust/sdk/BackoffStrategy;->maxRange:D
invoke-static {v2, v3, p0, p1}, Lcom/adjust/sdk/Util;->randomInRange(DD)D
move-result-wide p0
long-to-double v0, v0
mul-double v0, v0, p0
double-to-long p0, v0
return-wide p0
.end method
.method public static hash(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
.registers 4
:try_start_0
const-string v0, "UTF-8"
.line 494
invoke-virtual {p0, v0}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object p0
.line 495
invoke-static {p1}, Ljava/security/MessageDigest;->getInstance(Ljava/lang/String;)Ljava/security/MessageDigest;
move-result-object p1
const/4 v0, 0x0
.line 496
array-length v1, p0
invoke-virtual {p1, p0, v0, v1}, Ljava/security/MessageDigest;->update([BII)V
.line 497
invoke-virtual {p1}, Ljava/security/MessageDigest;->digest()[B
move-result-object p0
.line 498
invoke-static {p0}, Lcom/adjust/sdk/Util;->convertToHex([B)Ljava/lang/String;
move-result-object p0
:try_end_17
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_17} :catch_18
goto :goto_19
:catch_18
const/4 p0, 0x0
:goto_19
return-object p0
.end method
.method public static hashBoolean(Ljava/lang/Boolean;)I
.registers 1
if-nez p0, :cond_4
const/4 p0, 0x0
return p0
.line 452
:cond_4
invoke-virtual {p0}, Ljava/lang/Boolean;->hashCode()I
move-result p0
return p0
.end method
.method public static hashEnum(Ljava/lang/Enum;)I
.registers 1
if-nez p0, :cond_4
const/4 p0, 0x0
return p0
.line 473
:cond_4
invoke-virtual {p0}, Ljava/lang/Enum;->hashCode()I
move-result p0
return p0
.end method
.method public static hashLong(Ljava/lang/Long;)I
.registers 1
if-nez p0, :cond_4
const/4 p0, 0x0
return p0
.line 459
:cond_4
invoke-virtual {p0}, Ljava/lang/Long;->hashCode()I
move-result p0
return p0
.end method
.method public static hashMap(Ljava/util/Map;)I
.registers 1
if-nez p0, :cond_4
const/4 p0, 0x0
return p0
.line 480
:cond_4
invoke-interface {p0}, Ljava/util/Map;->entrySet()Ljava/util/Set;
move-result-object p0
invoke-interface {p0}, Ljava/util/Set;->hashCode()I
move-result p0
return p0
.end method
.method public static hashString(Ljava/lang/String;)I
.registers 1
if-nez p0, :cond_4
const/4 p0, 0x0
return p0
.line 466
:cond_4
invoke-virtual {p0}, Ljava/lang/String;->hashCode()I
move-result p0
return p0
.end method
.method public static isPlayTrackingEnabled(Landroid/content/Context;)Ljava/lang/Boolean;
.registers 1
.line 128
invoke-static {p0}, Lcom/adjust/sdk/Reflection;->isPlayTrackingEnabled(Landroid/content/Context;)Ljava/lang/Boolean;
move-result-object p0
return-object p0
.end method
.method public static md5(Ljava/lang/String;)Ljava/lang/String;
.registers 2
const-string v0, "MD5"
.line 488
invoke-static {p0, v0}, Lcom/adjust/sdk/Util;->hash(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static quote(Ljava/lang/String;)Ljava/lang/String;
.registers 4
if-nez p0, :cond_4
const/4 p0, 0x0
return-object p0
:cond_4
const-string v0, "\\s"
.line 77
invoke-static {v0}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
move-result-object v0
.line 78
invoke-virtual {v0, p0}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object v0
.line 79
invoke-virtual {v0}, Ljava/util/regex/Matcher;->find()Z
move-result v0
if-nez v0, :cond_15
return-object p0
.line 83
:cond_15
sget-object v0, Ljava/util/Locale;->US:Ljava/util/Locale;
const/4 v1, 0x1
new-array v1, v1, [Ljava/lang/Object;
const/4 v2, 0x0
aput-object p0, v1, v2
const-string p0, "\'%s\'"
invoke-static {v0, p0, v1}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method private static randomInRange(DD)D
.registers 6
.line 544
new-instance v0, Ljava/util/Random;
invoke-direct {v0}, Ljava/util/Random;-><init>()V
sub-double/2addr p2, p0
.line 546
invoke-virtual {v0}, Ljava/util/Random;->nextDouble()D
move-result-wide v0
mul-double v0, v0, p2
add-double/2addr v0, p0
return-wide v0
.end method
.method public static readBooleanField(Ljava/io/ObjectInputStream$GetField;Ljava/lang/String;Z)Z
.registers 6
.line 382
:try_start_0
invoke-virtual {p0, p1, p2}, Ljava/io/ObjectInputStream$GetField;->get(Ljava/lang/String;Z)Z
move-result p0
:try_end_4
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_4} :catch_5
return p0
:catch_5
move-exception p0
.line 384
invoke-static {}, Lcom/adjust/sdk/Util;->getLogger()Lcom/adjust/sdk/ILogger;
move-result-object v0
const/4 v1, 0x2
new-array v1, v1, [Ljava/lang/Object;
const/4 v2, 0x0
aput-object p1, v1, v2
const/4 p1, 0x1
invoke-virtual {p0}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object p0
aput-object p0, v1, p1
const-string p0, "Unable to read \'%s\' field in migration device with message (%s)"
invoke-interface {v0, p0, v1}, Lcom/adjust/sdk/ILogger;->debug(Ljava/lang/String;[Ljava/lang/Object;)V
return p2
.end method
.method public static readHttpResponse(Ljavax/net/ssl/HttpsURLConnection;Lcom/adjust/sdk/ActivityPackage;)Lcom/adjust/sdk/ResponseData;
.registers 9
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.line 212
new-instance v0, Ljava/lang/StringBuffer;
invoke-direct {v0}, Ljava/lang/StringBuffer;-><init>()V
.line 213
invoke-static {}, Lcom/adjust/sdk/Util;->getLogger()Lcom/adjust/sdk/ILogger;
move-result-object v1
const/4 v2, 0x0
const/4 v3, 0x1
.line 216
:try_start_b
invoke-virtual {p0}, Ljavax/net/ssl/HttpsURLConnection;->getResponseCode()I
move-result v4
invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v4
.line 219
invoke-virtual {v4}, Ljava/lang/Integer;->intValue()I
move-result v5
const/16 v6, 0x190
if-lt v5, v6, :cond_20
.line 220
invoke-virtual {p0}, Ljavax/net/ssl/HttpsURLConnection;->getErrorStream()Ljava/io/InputStream;
move-result-object v5
goto :goto_24
.line 222
:cond_20
invoke-virtual {p0}, Ljavax/net/ssl/HttpsURLConnection;->getInputStream()Ljava/io/InputStream;
move-result-object v5
.line 225
:goto_24
new-instance v6, Ljava/io/InputStreamReader;
invoke-direct {v6, v5}, Ljava/io/InputStreamReader;-><init>(Ljava/io/InputStream;)V
.line 226
new-instance v5, Ljava/io/BufferedReader;
invoke-direct {v5, v6}, Ljava/io/BufferedReader;-><init>(Ljava/io/Reader;)V
.line 229
:goto_2e
invoke-virtual {v5}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;
move-result-object v6
if-eqz v6, :cond_38
.line 230
invoke-virtual {v0, v6}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
:try_end_37
.catch Ljava/lang/Exception; {:try_start_b .. :try_end_37} :catch_b6
.catchall {:try_start_b .. :try_end_37} :catchall_b4
goto :goto_2e
:cond_38
if-eqz p0, :cond_3d
.line 237
invoke-virtual {p0}, Ljavax/net/ssl/HttpsURLConnection;->disconnect()V
.line 241
:cond_3d
invoke-static {p1}, Lcom/adjust/sdk/ResponseData;->buildResponseData(Lcom/adjust/sdk/ActivityPackage;)Lcom/adjust/sdk/ResponseData;
move-result-object p0
.line 243
invoke-virtual {v0}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
move-result-object p1
new-array v0, v3, [Ljava/lang/Object;
aput-object p1, v0, v2
const-string v5, "Response: %s"
.line 244
invoke-interface {v1, v5, v0}, Lcom/adjust/sdk/ILogger;->verbose(Ljava/lang/String;[Ljava/lang/Object;)V
if-eqz p1, :cond_b3
.line 246
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v0
if-nez v0, :cond_57
goto :goto_b3
:cond_57
const/4 v0, 0x0
.line 252
:try_start_58
new-instance v5, Lorg/json/JSONObject;
invoke-direct {v5, p1}, Lorg/json/JSONObject;-><init>(Ljava/lang/String;)V
:try_end_5d
.catch Lorg/json/JSONException; {:try_start_58 .. :try_end_5d} :catch_5e
goto :goto_75
:catch_5e
move-exception p1
new-array v5, v3, [Ljava/lang/Object;
.line 254
invoke-virtual {p1}, Lorg/json/JSONException;->getMessage()Ljava/lang/String;
move-result-object p1
aput-object p1, v5, v2
const-string p1, "Failed to parse json response. (%s)"
invoke-static {p1, v5}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
new-array v5, v2, [Ljava/lang/Object;
.line 255
invoke-interface {v1, p1, v5}, Lcom/adjust/sdk/ILogger;->error(Ljava/lang/String;[Ljava/lang/Object;)V
.line 256
iput-object p1, p0, Lcom/adjust/sdk/ResponseData;->message:Ljava/lang/String;
move-object v5, v0
:goto_75
if-nez v5, :cond_78
return-object p0
.line 263
:cond_78
iput-object v5, p0, Lcom/adjust/sdk/ResponseData;->jsonResponse:Lorg/json/JSONObject;
const-string p1, "message"
.line 265
invoke-virtual {v5, p1, v0}, Lorg/json/JSONObject;->optString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
.line 267
iput-object p1, p0, Lcom/adjust/sdk/ResponseData;->message:Ljava/lang/String;
const-string v6, "timestamp"
.line 268
invoke-virtual {v5, v6, v0}, Lorg/json/JSONObject;->optString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v6
iput-object v6, p0, Lcom/adjust/sdk/ResponseData;->timestamp:Ljava/lang/String;
const-string v6, "adid"
.line 269
invoke-virtual {v5, v6, v0}, Lorg/json/JSONObject;->optString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcom/adjust/sdk/ResponseData;->adid:Ljava/lang/String;
if-nez p1, :cond_96
const-string p1, "No message found"
:cond_96
const-string v0, "%s"
if-eqz v4, :cond_ac
.line 276
invoke-virtual {v4}, Ljava/lang/Integer;->intValue()I
move-result v4
const/16 v5, 0xc8
if-ne v4, v5, :cond_ac
new-array v4, v3, [Ljava/lang/Object;
aput-object p1, v4, v2
.line 277
invoke-interface {v1, v0, v4}, Lcom/adjust/sdk/ILogger;->info(Ljava/lang/String;[Ljava/lang/Object;)V
.line 278
iput-boolean v3, p0, Lcom/adjust/sdk/ResponseData;->success:Z
goto :goto_b3
:cond_ac
new-array v3, v3, [Ljava/lang/Object;
aput-object p1, v3, v2
.line 280
invoke-interface {v1, v0, v3}, Lcom/adjust/sdk/ILogger;->error(Ljava/lang/String;[Ljava/lang/Object;)V
:cond_b3
:goto_b3
return-object p0
:catchall_b4
move-exception p1
goto :goto_c5
:catch_b6
move-exception p1
:try_start_b7
const-string v0, "Failed to read response. (%s)"
new-array v3, v3, [Ljava/lang/Object;
.line 233
invoke-virtual {p1}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object v4
aput-object v4, v3, v2
invoke-interface {v1, v0, v3}, Lcom/adjust/sdk/ILogger;->error(Ljava/lang/String;[Ljava/lang/Object;)V
.line 234
throw p1
:try_end_c5
.catchall {:try_start_b7 .. :try_end_c5} :catchall_b4
:goto_c5
if-eqz p0, :cond_ca
.line 237
invoke-virtual {p0}, Ljavax/net/ssl/HttpsURLConnection;->disconnect()V
:cond_ca
throw p1
.end method
.method public static readIntField(Ljava/io/ObjectInputStream$GetField;Ljava/lang/String;I)I
.registers 6
.line 391
:try_start_0
invoke-virtual {p0, p1, p2}, Ljava/io/ObjectInputStream$GetField;->get(Ljava/lang/String;I)I
move-result p0
:try_end_4
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_4} :catch_5
return p0
:catch_5
move-exception p0
.line 393
invoke-static {}, Lcom/adjust/sdk/Util;->getLogger()Lcom/adjust/sdk/ILogger;
move-result-object v0
const/4 v1, 0x2
new-array v1, v1, [Ljava/lang/Object;
const/4 v2, 0x0
aput-object p1, v1, v2
const/4 p1, 0x1
invoke-virtual {p0}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object p0
aput-object p0, v1, p1
const-string p0, "Unable to read \'%s\' field in migration device with message (%s)"
invoke-interface {v0, p0, v1}, Lcom/adjust/sdk/ILogger;->debug(Ljava/lang/String;[Ljava/lang/Object;)V
return p2
.end method
.method public static readLongField(Ljava/io/ObjectInputStream$GetField;Ljava/lang/String;J)J
.registers 7
.line 400
:try_start_0
invoke-virtual {p0, p1, p2, p3}, Ljava/io/ObjectInputStream$GetField;->get(Ljava/lang/String;J)J
move-result-wide p0
:try_end_4
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_4} :catch_5
return-wide p0
:catch_5
move-exception p0
.line 402
invoke-static {}, Lcom/adjust/sdk/Util;->getLogger()Lcom/adjust/sdk/ILogger;
move-result-object v0
const/4 v1, 0x2
new-array v1, v1, [Ljava/lang/Object;
const/4 v2, 0x0
aput-object p1, v1, v2
const/4 p1, 0x1
invoke-virtual {p0}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object p0
aput-object p0, v1, p1
const-string p0, "Unable to read \'%s\' field in migration device with message (%s)"
invoke-interface {v0, p0, v1}, Lcom/adjust/sdk/ILogger;->debug(Ljava/lang/String;[Ljava/lang/Object;)V
return-wide p2
.end method
.method public static readObject(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
.registers 11
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Landroid/content/Context;",
"Ljava/lang/String;",
"Ljava/lang/String;",
"Ljava/lang/Class<",
"TT;>;)TT;"
}
.end annotation
const/4 v0, 0x0
const/4 v1, 0x2
const/4 v2, 0x0
const/4 v3, 0x1
.line 146
:try_start_4
invoke-virtual {p0, p1}, Landroid/content/Context;->openFileInput(Ljava/lang/String;)Ljava/io/FileInputStream;
move-result-object p0
:try_end_8
.catch Ljava/io/FileNotFoundException; {:try_start_4 .. :try_end_8} :catch_8f
.catch Ljava/lang/Exception; {:try_start_4 .. :try_end_8} :catch_7d
.line 149
:try_start_8
new-instance p1, Ljava/io/BufferedInputStream;
invoke-direct {p1, p0}, Ljava/io/BufferedInputStream;-><init>(Ljava/io/InputStream;)V
:try_end_d
.catch Ljava/io/FileNotFoundException; {:try_start_8 .. :try_end_d} :catch_79
.catch Ljava/lang/Exception; {:try_start_8 .. :try_end_d} :catch_74
.line 152
:try_start_d
new-instance p0, Ljava/io/ObjectInputStream;
invoke-direct {p0, p1}, Ljava/io/ObjectInputStream;-><init>(Ljava/io/InputStream;)V
:try_end_12
.catch Ljava/io/FileNotFoundException; {:try_start_d .. :try_end_12} :catch_71
.catch Ljava/lang/Exception; {:try_start_d .. :try_end_12} :catch_6b
.line 156
:try_start_12
invoke-virtual {p0}, Ljava/io/ObjectInputStream;->readObject()Ljava/lang/Object;
move-result-object p1
invoke-virtual {p3, p1}, Ljava/lang/Class;->cast(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
.line 157
invoke-static {}, Lcom/adjust/sdk/Util;->getLogger()Lcom/adjust/sdk/ILogger;
move-result-object p1
const-string p3, "Read %s: %s"
new-array v4, v1, [Ljava/lang/Object;
aput-object p2, v4, v2
aput-object v0, v4, v3
invoke-interface {p1, p3, v4}, Lcom/adjust/sdk/ILogger;->debug(Ljava/lang/String;[Ljava/lang/Object;)V
:try_end_29
.catch Ljava/lang/ClassNotFoundException; {:try_start_12 .. :try_end_29} :catch_56
.catch Ljava/lang/ClassCastException; {:try_start_12 .. :try_end_29} :catch_41
.catch Ljava/lang/Exception; {:try_start_12 .. :try_end_29} :catch_2b
.catch Ljava/io/FileNotFoundException; {:try_start_12 .. :try_end_29} :catch_79
goto/16 :goto_a0
:catch_2b
move-exception p1
.line 163
:try_start_2c
invoke-static {}, Lcom/adjust/sdk/Util;->getLogger()Lcom/adjust/sdk/ILogger;
move-result-object p3
const-string v4, "Failed to read %s object (%s)"
new-array v5, v1, [Ljava/lang/Object;
aput-object p2, v5, v2
invoke-virtual {p1}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object p1
aput-object p1, v5, v3
invoke-interface {p3, v4, v5}, Lcom/adjust/sdk/ILogger;->error(Ljava/lang/String;[Ljava/lang/Object;)V
goto/16 :goto_a0
:catch_41
move-exception p1
.line 161
invoke-static {}, Lcom/adjust/sdk/Util;->getLogger()Lcom/adjust/sdk/ILogger;
move-result-object p3
const-string v4, "Failed to cast %s object (%s)"
new-array v5, v1, [Ljava/lang/Object;
aput-object p2, v5, v2
invoke-virtual {p1}, Ljava/lang/ClassCastException;->getMessage()Ljava/lang/String;
move-result-object p1
aput-object p1, v5, v3
invoke-interface {p3, v4, v5}, Lcom/adjust/sdk/ILogger;->error(Ljava/lang/String;[Ljava/lang/Object;)V
goto :goto_a0
:catch_56
move-exception p1
.line 159
invoke-static {}, Lcom/adjust/sdk/Util;->getLogger()Lcom/adjust/sdk/ILogger;
move-result-object p3
const-string v4, "Failed to find %s class (%s)"
new-array v5, v1, [Ljava/lang/Object;
aput-object p2, v5, v2
invoke-virtual {p1}, Ljava/lang/ClassNotFoundException;->getMessage()Ljava/lang/String;
move-result-object p1
aput-object p1, v5, v3
invoke-interface {p3, v4, v5}, Lcom/adjust/sdk/ILogger;->error(Ljava/lang/String;[Ljava/lang/Object;)V
:try_end_6a
.catch Ljava/io/FileNotFoundException; {:try_start_2c .. :try_end_6a} :catch_79
.catch Ljava/lang/Exception; {:try_start_2c .. :try_end_6a} :catch_74
goto :goto_a0
:catch_6b
move-exception p0
move-object v6, p1
move-object p1, p0
move-object p0, v0
move-object v0, v6
goto :goto_7f
:catch_71
move-object p0, v0
move-object v0, p1
goto :goto_90
:catch_74
move-exception p1
move-object v6, v0
move-object v0, p0
move-object p0, v6
goto :goto_7f
:catch_79
move-object v6, v0
move-object v0, p0
move-object p0, v6
goto :goto_90
:catch_7d
move-exception p1
move-object p0, v0
.line 168
:goto_7f
invoke-static {}, Lcom/adjust/sdk/Util;->getLogger()Lcom/adjust/sdk/ILogger;
move-result-object p3
new-array v4, v1, [Ljava/lang/Object;
aput-object p2, v4, v2
aput-object p1, v4, v3
const-string p1, "Failed to open %s file for reading (%s)"
invoke-interface {p3, p1, v4}, Lcom/adjust/sdk/ILogger;->error(Ljava/lang/String;[Ljava/lang/Object;)V
goto :goto_9d
:catch_8f
move-object p0, v0
.line 166
:goto_90
invoke-static {}, Lcom/adjust/sdk/Util;->getLogger()Lcom/adjust/sdk/ILogger;
move-result-object p1
new-array p3, v3, [Ljava/lang/Object;
aput-object p2, p3, v2
const-string v4, "%s file not found"
invoke-interface {p1, v4, p3}, Lcom/adjust/sdk/ILogger;->debug(Ljava/lang/String;[Ljava/lang/Object;)V
:goto_9d
move-object v6, v0
move-object v0, p0
move-object p0, v6
:goto_a0
if-eqz p0, :cond_b6
.line 172
:try_start_a2
invoke-interface {p0}, Ljava/io/Closeable;->close()V
:try_end_a5
.catch Ljava/lang/Exception; {:try_start_a2 .. :try_end_a5} :catch_a6
goto :goto_b6
:catch_a6
move-exception p0
.line 175
invoke-static {}, Lcom/adjust/sdk/Util;->getLogger()Lcom/adjust/sdk/ILogger;
move-result-object p1
new-array p3, v1, [Ljava/lang/Object;
aput-object p2, p3, v2
aput-object p0, p3, v3
const-string p0, "Failed to close %s file for reading (%s)"
invoke-interface {p1, p0, p3}, Lcom/adjust/sdk/ILogger;->error(Ljava/lang/String;[Ljava/lang/Object;)V
:cond_b6
:goto_b6
return-object v0
.end method
.method public static readObjectField(Ljava/io/ObjectInputStream$GetField;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/io/ObjectInputStream$GetField;",
"Ljava/lang/String;",
"TT;)TT;"
}
.end annotation
.line 373
:try_start_0
invoke-virtual {p0, p1, p2}, Ljava/io/ObjectInputStream$GetField;->get(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p0
:try_end_4
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_4} :catch_5
return-object p0
:catch_5
move-exception p0
.line 375
invoke-static {}, Lcom/adjust/sdk/Util;->getLogger()Lcom/adjust/sdk/ILogger;
move-result-object v0
const/4 v1, 0x2
new-array v1, v1, [Ljava/lang/Object;
const/4 v2, 0x0
aput-object p1, v1, v2
const/4 p1, 0x1
invoke-virtual {p0}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object p0
aput-object p0, v1, p1
const-string p0, "Unable to read \'%s\' field in migration device with message (%s)"
invoke-interface {v0, p0, v1}, Lcom/adjust/sdk/ILogger;->debug(Ljava/lang/String;[Ljava/lang/Object;)V
return-object p2
.end method
.method public static readStringField(Ljava/io/ObjectInputStream$GetField;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
.registers 3
.line 368
invoke-static {p0, p1, p2}, Lcom/adjust/sdk/Util;->readObjectField(Ljava/io/ObjectInputStream$GetField;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p0
check-cast p0, Ljava/lang/String;
return-object p0
.end method
.method public static setDefaultHttpsUrlConnectionProperties(Ljavax/net/ssl/HttpsURLConnection;Ljava/lang/String;)V
.registers 3
const-string v0, "Client-SDK"
.line 357
invoke-virtual {p0, v0, p1}, Ljavax/net/ssl/HttpsURLConnection;->setRequestProperty(Ljava/lang/String;Ljava/lang/String;)V
const p1, 0xea60
.line 358
invoke-virtual {p0, p1}, Ljavax/net/ssl/HttpsURLConnection;->setConnectTimeout(I)V
.line 359
invoke-virtual {p0, p1}, Ljavax/net/ssl/HttpsURLConnection;->setReadTimeout(I)V
return-void
.end method
.method public static sha1(Ljava/lang/String;)Ljava/lang/String;
.registers 2
const-string v0, "SHA-1"
.line 484
invoke-static {p0, v0}, Lcom/adjust/sdk/Util;->hash(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static writeObject(Ljava/lang/Object;Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)V
.registers 9
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(TT;",
"Landroid/content/Context;",
"Ljava/lang/String;",
"Ljava/lang/String;",
")V"
}
.end annotation
const/4 v0, 0x2
const/4 v1, 0x1
const/4 v2, 0x0
.line 184
:try_start_3
invoke-virtual {p1, p2, v2}, Landroid/content/Context;->openFileOutput(Ljava/lang/String;I)Ljava/io/FileOutputStream;
move-result-object p1
:try_end_7
.catch Ljava/lang/Exception; {:try_start_3 .. :try_end_7} :catch_37
.line 187
:try_start_7
new-instance p2, Ljava/io/BufferedOutputStream;
invoke-direct {p2, p1}, Ljava/io/BufferedOutputStream;-><init>(Ljava/io/OutputStream;)V
:try_end_c
.catch Ljava/lang/Exception; {:try_start_7 .. :try_end_c} :catch_35
.line 190
:try_start_c
new-instance p1, Ljava/io/ObjectOutputStream;
invoke-direct {p1, p2}, Ljava/io/ObjectOutputStream;-><init>(Ljava/io/OutputStream;)V
:try_end_11
.catch Ljava/lang/Exception; {:try_start_c .. :try_end_11} :catch_32
.line 194
:try_start_11
invoke-virtual {p1, p0}, Ljava/io/ObjectOutputStream;->writeObject(Ljava/lang/Object;)V
.line 195
invoke-static {}, Lcom/adjust/sdk/Util;->getLogger()Lcom/adjust/sdk/ILogger;
move-result-object p2
const-string v3, "Wrote %s: %s"
new-array v4, v0, [Ljava/lang/Object;
aput-object p3, v4, v2
aput-object p0, v4, v1
invoke-interface {p2, v3, v4}, Lcom/adjust/sdk/ILogger;->debug(Ljava/lang/String;[Ljava/lang/Object;)V
:try_end_23
.catch Ljava/io/NotSerializableException; {:try_start_11 .. :try_end_23} :catch_24
.catch Ljava/lang/Exception; {:try_start_11 .. :try_end_23} :catch_35
goto :goto_48
.line 197
:catch_24
:try_start_24
invoke-static {}, Lcom/adjust/sdk/Util;->getLogger()Lcom/adjust/sdk/ILogger;
move-result-object p0
const-string p2, "Failed to serialize %s"
new-array v3, v1, [Ljava/lang/Object;
aput-object p3, v3, v2
invoke-interface {p0, p2, v3}, Lcom/adjust/sdk/ILogger;->error(Ljava/lang/String;[Ljava/lang/Object;)V
:try_end_31
.catch Ljava/lang/Exception; {:try_start_24 .. :try_end_31} :catch_35
goto :goto_48
:catch_32
move-exception p0
move-object p1, p2
goto :goto_39
:catch_35
move-exception p0
goto :goto_39
:catch_37
move-exception p0
const/4 p1, 0x0
.line 200
:goto_39
invoke-static {}, Lcom/adjust/sdk/Util;->getLogger()Lcom/adjust/sdk/ILogger;
move-result-object p2
new-array v3, v0, [Ljava/lang/Object;
aput-object p3, v3, v2
aput-object p0, v3, v1
const-string p0, "Failed to open %s for writing (%s)"
invoke-interface {p2, p0, v3}, Lcom/adjust/sdk/ILogger;->error(Ljava/lang/String;[Ljava/lang/Object;)V
:goto_48
if-eqz p1, :cond_5e
.line 204
:try_start_4a
invoke-interface {p1}, Ljava/io/Closeable;->close()V
:try_end_4d
.catch Ljava/lang/Exception; {:try_start_4a .. :try_end_4d} :catch_4e
goto :goto_5e
:catch_4e
move-exception p0
.line 207
invoke-static {}, Lcom/adjust/sdk/Util;->getLogger()Lcom/adjust/sdk/ILogger;
move-result-object p1
new-array p2, v0, [Ljava/lang/Object;
aput-object p3, p2, v2
aput-object p0, p2, v1
const-string p0, "Failed to close %s file for writing (%s)"
invoke-interface {p1, p0, p2}, Lcom/adjust/sdk/ILogger;->error(Ljava/lang/String;[Ljava/lang/Object;)V
:cond_5e
:goto_5e
return-void
.end method