ApiKey.smali
.class public Lio/fabric/sdk/android/services/common/ApiKey;
.super Ljava/lang/Object;
.source "ApiKey.java"
# static fields
.field static final CRASHLYTICS_API_KEY:Ljava/lang/String; = "com.crashlytics.ApiKey"
.field static final FABRIC_API_KEY:Ljava/lang/String; = "io.fabric.ApiKey"
# direct methods
.method public constructor <init>()V
.registers 1
.line 28
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static getApiKey(Landroid/content/Context;)Ljava/lang/String;
.registers 4
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.line 38
invoke-static {}, Lio/fabric/sdk/android/Fabric;->getLogger()Lio/fabric/sdk/android/Logger;
move-result-object v0
const-string v1, "Fabric"
const-string v2, "getApiKey(context) is deprecated, please upgrade kit(s) to the latest version."
invoke-interface {v0, v1, v2}, Lio/fabric/sdk/android/Logger;->w(Ljava/lang/String;Ljava/lang/String;)V
.line 40
new-instance v0, Lio/fabric/sdk/android/services/common/ApiKey;
invoke-direct {v0}, Lio/fabric/sdk/android/services/common/ApiKey;-><init>()V
invoke-virtual {v0, p0}, Lio/fabric/sdk/android/services/common/ApiKey;->getValue(Landroid/content/Context;)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static getApiKey(Landroid/content/Context;Z)Ljava/lang/String;
.registers 4
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.line 48
invoke-static {}, Lio/fabric/sdk/android/Fabric;->getLogger()Lio/fabric/sdk/android/Logger;
move-result-object p1
const-string v0, "Fabric"
const-string v1, "getApiKey(context, debug) is deprecated, please upgrade kit(s) to the latest version."
invoke-interface {p1, v0, v1}, Lio/fabric/sdk/android/Logger;->w(Ljava/lang/String;Ljava/lang/String;)V
.line 50
new-instance p1, Lio/fabric/sdk/android/services/common/ApiKey;
invoke-direct {p1}, Lio/fabric/sdk/android/services/common/ApiKey;-><init>()V
invoke-virtual {p1, p0}, Lio/fabric/sdk/android/services/common/ApiKey;->getValue(Landroid/content/Context;)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
# virtual methods
.method protected buildApiKeyInstructions()Ljava/lang/String;
.registers 2
const-string v0, "Fabric could not be initialized, API key missing from AndroidManifest.xml. Add the following tag to your Application element \n\t<meta-data android:name=\"io.fabric.ApiKey\" android:value=\"YOUR_API_KEY\"/>"
return-object v0
.end method
.method protected getApiKeyFromManifest(Landroid/content/Context;)Ljava/lang/String;
.registers 7
const-string v0, "Fabric"
const/4 v1, 0x0
.line 70
:try_start_3
invoke-virtual {p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object v2
.line 71
invoke-virtual {p1}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object p1
const/16 v3, 0x80
invoke-virtual {p1, v2, v3}, Landroid/content/pm/PackageManager;->getApplicationInfo(Ljava/lang/String;I)Landroid/content/pm/ApplicationInfo;
move-result-object p1
.line 73
iget-object p1, p1, Landroid/content/pm/ApplicationInfo;->metaData:Landroid/os/Bundle;
if-eqz p1, :cond_46
const-string v2, "io.fabric.ApiKey"
.line 75
invoke-virtual {p1, v2}, Landroid/os/Bundle;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
if-nez v1, :cond_46
.line 78
invoke-static {}, Lio/fabric/sdk/android/Fabric;->getLogger()Lio/fabric/sdk/android/Logger;
move-result-object v2
const-string v3, "Falling back to Crashlytics key lookup from Manifest"
invoke-interface {v2, v0, v3}, Lio/fabric/sdk/android/Logger;->d(Ljava/lang/String;Ljava/lang/String;)V
const-string v2, "com.crashlytics.ApiKey"
.line 80
invoke-virtual {p1, v2}, Landroid/os/Bundle;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
:try_end_2c
.catch Ljava/lang/Exception; {:try_start_3 .. :try_end_2c} :catch_2d
goto :goto_46
:catch_2d
move-exception p1
.line 86
invoke-static {}, Lio/fabric/sdk/android/Fabric;->getLogger()Lio/fabric/sdk/android/Logger;
move-result-object v2
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "Caught non-fatal exception while retrieving apiKey: "
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-interface {v2, v0, p1}, Lio/fabric/sdk/android/Logger;->d(Ljava/lang/String;Ljava/lang/String;)V
:cond_46
:goto_46
return-object v1
.end method
.method protected getApiKeyFromStrings(Landroid/content/Context;)Ljava/lang/String;
.registers 6
const-string v0, "io.fabric.ApiKey"
const-string v1, "string"
.line 95
invoke-static {p1, v0, v1}, Lio/fabric/sdk/android/services/common/CommonUtils;->getResourcesIdentifier(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)I
move-result v0
if-nez v0, :cond_1b
.line 98
invoke-static {}, Lio/fabric/sdk/android/Fabric;->getLogger()Lio/fabric/sdk/android/Logger;
move-result-object v0
const-string v2, "Fabric"
const-string v3, "Falling back to Crashlytics key lookup from Strings"
invoke-interface {v0, v2, v3}, Lio/fabric/sdk/android/Logger;->d(Ljava/lang/String;Ljava/lang/String;)V
const-string v0, "com.crashlytics.ApiKey"
.line 99
invoke-static {p1, v0, v1}, Lio/fabric/sdk/android/services/common/CommonUtils;->getResourcesIdentifier(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)I
move-result v0
:cond_1b
if-eqz v0, :cond_26
.line 103
invoke-virtual {p1}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object p1
invoke-virtual {p1, v0}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String;
move-result-object p1
goto :goto_27
:cond_26
const/4 p1, 0x0
:goto_27
return-object p1
.end method
.method public getValue(Landroid/content/Context;)Ljava/lang/String;
.registers 4
.line 54
invoke-virtual {p0, p1}, Lio/fabric/sdk/android/services/common/ApiKey;->getApiKeyFromManifest(Landroid/content/Context;)Ljava/lang/String;
move-result-object v0
.line 56
invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v1
if-eqz v1, :cond_e
.line 57
invoke-virtual {p0, p1}, Lio/fabric/sdk/android/services/common/ApiKey;->getApiKeyFromStrings(Landroid/content/Context;)Ljava/lang/String;
move-result-object v0
.line 60
:cond_e
invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v1
if-eqz v1, :cond_17
.line 61
invoke-virtual {p0, p1}, Lio/fabric/sdk/android/services/common/ApiKey;->logErrorOrThrowException(Landroid/content/Context;)V
:cond_17
return-object v0
.end method
.method protected logErrorOrThrowException(Landroid/content/Context;)V
.registers 4
.line 109
invoke-static {}, Lio/fabric/sdk/android/Fabric;->isDebuggable()Z
move-result v0
if-nez v0, :cond_1a
invoke-static {p1}, Lio/fabric/sdk/android/services/common/CommonUtils;->isAppDebuggable(Landroid/content/Context;)Z
move-result p1
if-nez p1, :cond_1a
.line 112
invoke-static {}, Lio/fabric/sdk/android/Fabric;->getLogger()Lio/fabric/sdk/android/Logger;
move-result-object p1
invoke-virtual {p0}, Lio/fabric/sdk/android/services/common/ApiKey;->buildApiKeyInstructions()Ljava/lang/String;
move-result-object v0
const-string v1, "Fabric"
invoke-interface {p1, v1, v0}, Lio/fabric/sdk/android/Logger;->e(Ljava/lang/String;Ljava/lang/String;)V
return-void
.line 110
:cond_1a
new-instance p1, Ljava/lang/IllegalArgumentException;
invoke-virtual {p0}, Lio/fabric/sdk/android/services/common/ApiKey;->buildApiKeyInstructions()Ljava/lang/String;
move-result-object v0
invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method