DtbDebugProperties.smali
.class Lcom/amazon/device/ads/DtbDebugProperties;
.super Ljava/lang/Object;
.source "SourceFile"
# static fields
.field public static final AAX_HOSTNAME:Ljava/lang/String; = "aaxHostname"
.field public static final AAX_ROUTE53_ENABLED_CNAME:Ljava/lang/String; = "route53EnabledAAXCname"
.field public static final CONFIG_HOSTNAME:Ljava/lang/String; = "configHostname"
.field public static final INTERNAL_DEBUG_MODE:Ljava/lang/String; = "internalDebugMode"
.field public static final SIS_URL:Ljava/lang/String; = "sisUrl"
.field private static final TEST_OVERRIDE_FILE:Ljava/lang/String; = "com.amazon.device.ads.dtb.debug.override"
.field public static final USE_SECURE:Ljava/lang/String; = "useSecure"
.field private static debugProperties:Lcom/amazon/device/ads/DtbDebugProperties; = null
.field private static isInitialized:Z = false
.field static isInternalDebugMode:Z = false
.field private static preDefinedKeys:Ljava/util/Set;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Set<",
"Ljava/lang/String;",
">;"
}
.end annotation
.end field
.field private static propertyMap:Ljava/util/HashMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/HashMap<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;"
}
.end annotation
.end field
# direct methods
.method static constructor <clinit>()V
.registers 1
.line 30
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
sput-object v0, Lcom/amazon/device/ads/DtbDebugProperties;->propertyMap:Ljava/util/HashMap;
const/4 v0, 0x0
.line 31
sput-boolean v0, Lcom/amazon/device/ads/DtbDebugProperties;->isInitialized:Z
return-void
.end method
.method constructor <init>()V
.registers 1
.line 17
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static getAaxHostName(Ljava/lang/String;)Ljava/lang/String;
.registers 2
const-string v0, "aaxHostname"
.line 119
invoke-static {v0, p0}, Lcom/amazon/device/ads/DtbDebugProperties;->getDebugProperty(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static getConfigHostName(Ljava/lang/String;)Ljava/lang/String;
.registers 2
const-string v0, "configHostname"
.line 142
invoke-static {v0, p0}, Lcom/amazon/device/ads/DtbDebugProperties;->getDebugProperty(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static getDebugParams()Ljava/util/HashMap;
.registers 1
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/HashMap<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;"
}
.end annotation
.line 111
invoke-static {}, Lcom/amazon/device/ads/AdRegistration;->isTestMode()Z
move-result v0
if-eqz v0, :cond_d
sget-boolean v0, Lcom/amazon/device/ads/DtbDebugProperties;->isInternalDebugMode:Z
if-eqz v0, :cond_d
.line 112
sget-object v0, Lcom/amazon/device/ads/DtbDebugProperties;->propertyMap:Ljava/util/HashMap;
return-object v0
.line 114
:cond_d
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
return-object v0
.end method
.method private static getDebugProperty(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
.registers 3
.line 146
invoke-static {}, Lcom/amazon/device/ads/AdRegistration;->isTestMode()Z
move-result v0
if-eqz v0, :cond_1d
sget-boolean v0, Lcom/amazon/device/ads/DtbDebugProperties;->isInternalDebugMode:Z
if-eqz v0, :cond_1d
.line 147
sget-object v0, Lcom/amazon/device/ads/DtbDebugProperties;->propertyMap:Ljava/util/HashMap;
if-eqz v0, :cond_1d
invoke-virtual {v0, p0}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
if-eqz v0, :cond_1d
.line 148
sget-object p1, Lcom/amazon/device/ads/DtbDebugProperties;->propertyMap:Ljava/util/HashMap;
invoke-virtual {p1, p0}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p0
check-cast p0, Ljava/lang/String;
return-object p0
:cond_1d
return-object p1
.end method
.method public static getEncodedUrlParams()Ljava/lang/String;
.registers 7
.line 164
sget-boolean v0, Lcom/amazon/device/ads/DtbDebugProperties;->isInternalDebugMode:Z
if-nez v0, :cond_7
const-string v0, ""
return-object v0
.line 167
:cond_7
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
.line 168
sget-object v1, Lcom/amazon/device/ads/DtbDebugProperties;->propertyMap:Ljava/util/HashMap;
invoke-virtual {v1}, Ljava/util/HashMap;->entrySet()Ljava/util/Set;
move-result-object v1
invoke-interface {v1}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_16
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_6d
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/util/Map$Entry;
.line 169
invoke-interface {v2}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v3
check-cast v3, Ljava/lang/String;
.line 170
invoke-interface {v2}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/String;
.line 175
:try_start_2e
sget-object v4, Lcom/amazon/device/ads/DtbDebugProperties;->preDefinedKeys:Ljava/util/Set;
invoke-virtual {v3}, Ljava/lang/String;->toLowerCase()Ljava/lang/String;
move-result-object v5
invoke-interface {v4, v5}, Ljava/util/Set;->contains(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_3b
goto :goto_16
:cond_3b
const/16 v4, 0x26
.line 179
invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 180
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const/16 v4, 0x3d
invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
const-string v4, "UTF-8"
.line 181
invoke-static {v2, v4}, Ljava/net/URLEncoder;->encode(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v4
invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
:try_end_51
.catch Ljava/io/UnsupportedEncodingException; {:try_start_2e .. :try_end_51} :catch_52
goto :goto_16
:catch_52
move-exception v4
const/4 v5, 0x3
new-array v5, v5, [Ljava/lang/Object;
const/4 v6, 0x0
aput-object v3, v5, v6
const/4 v3, 0x1
aput-object v2, v5, v3
const/4 v2, 0x2
.line 184
invoke-virtual {v4}, Ljava/io/UnsupportedEncodingException;->getMessage()Ljava/lang/String;
move-result-object v3
aput-object v3, v5, v2
const-string v2, "Cannot encode %d=%d due to exception %d"
invoke-static {v2, v5}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v2
invoke-static {v2}, Lcom/amazon/device/ads/DtbLog;->debugError(Ljava/lang/String;)V
goto :goto_16
.line 187
:cond_6d
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public static getInstance()Lcom/amazon/device/ads/DtbDebugProperties;
.registers 2
.line 36
sget-boolean v0, Lcom/amazon/device/ads/DtbDebugProperties;->isInitialized:Z
if-nez v0, :cond_4f
const-string v0, "Running the debug initialization."
.line 37
invoke-static {v0}, Lcom/amazon/device/ads/DtbLog;->debug(Ljava/lang/String;)V
.line 38
new-instance v0, Lcom/amazon/device/ads/DtbDebugProperties;
invoke-direct {v0}, Lcom/amazon/device/ads/DtbDebugProperties;-><init>()V
sput-object v0, Lcom/amazon/device/ads/DtbDebugProperties;->debugProperties:Lcom/amazon/device/ads/DtbDebugProperties;
.line 39
new-instance v0, Ljava/util/HashSet;
invoke-direct {v0}, Ljava/util/HashSet;-><init>()V
.line 40
sput-object v0, Lcom/amazon/device/ads/DtbDebugProperties;->preDefinedKeys:Ljava/util/Set;
const-string v1, "aaxHostname"
invoke-virtual {v1}, Ljava/lang/String;->toLowerCase()Ljava/lang/String;
move-result-object v1
invoke-interface {v0, v1}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
.line 41
sget-object v0, Lcom/amazon/device/ads/DtbDebugProperties;->preDefinedKeys:Ljava/util/Set;
const-string v1, "sisUrl"
invoke-virtual {v1}, Ljava/lang/String;->toLowerCase()Ljava/lang/String;
move-result-object v1
invoke-interface {v0, v1}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
.line 42
sget-object v0, Lcom/amazon/device/ads/DtbDebugProperties;->preDefinedKeys:Ljava/util/Set;
const-string v1, "useSecure"
invoke-virtual {v1}, Ljava/lang/String;->toLowerCase()Ljava/lang/String;
move-result-object v1
invoke-interface {v0, v1}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
.line 43
sget-object v0, Lcom/amazon/device/ads/DtbDebugProperties;->preDefinedKeys:Ljava/util/Set;
const-string v1, "configHostname"
invoke-virtual {v1}, Ljava/lang/String;->toLowerCase()Ljava/lang/String;
move-result-object v1
invoke-interface {v0, v1}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
.line 44
sget-object v0, Lcom/amazon/device/ads/DtbDebugProperties;->preDefinedKeys:Ljava/util/Set;
const-string v1, "internalDebugMode"
invoke-virtual {v1}, Ljava/lang/String;->toLowerCase()Ljava/lang/String;
move-result-object v1
invoke-interface {v0, v1}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
.line 46
invoke-static {}, Lcom/amazon/device/ads/DtbDebugProperties;->initializeDtbDebugProperties()V
.line 48
:cond_4f
sget-object v0, Lcom/amazon/device/ads/DtbDebugProperties;->debugProperties:Lcom/amazon/device/ads/DtbDebugProperties;
return-object v0
.end method
.method public static getIsSecure(Z)Z
.registers 3
const-string v0, "useSecure"
const-string v1, ""
.line 131
invoke-static {v0, v1}, Lcom/amazon/device/ads/DtbDebugProperties;->getDebugProperty(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const-string v1, "true"
.line 132
invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_12
const/4 p0, 0x1
return p0
:cond_12
const-string v1, "false"
.line 134
invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_1b
const/4 p0, 0x0
:cond_1b
return p0
.end method
.method public static getRoute53EnabledCNAME(Ljava/lang/String;)Ljava/lang/String;
.registers 2
const-string v0, "route53EnabledAAXCname"
.line 123
invoke-static {v0, p0}, Lcom/amazon/device/ads/DtbDebugProperties;->getDebugProperty(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static getSISUrl(Ljava/lang/String;)Ljava/lang/String;
.registers 2
const-string v0, "sisUrl"
.line 127
invoke-static {v0, p0}, Lcom/amazon/device/ads/DtbDebugProperties;->getDebugProperty(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static initializeDtbDebugProperties()V
.registers 6
const-string v0, "unable to initialize debug preferences without setting app context"
.line 53
:try_start_2
invoke-static {}, Lcom/amazon/device/ads/AdRegistration;->isTestMode()Z
move-result v1
if-eqz v1, :cond_18
.line 54
invoke-static {}, Lcom/amazon/device/ads/AdRegistration;->getContext()Landroid/content/Context;
move-result-object v1
if-eqz v1, :cond_f
goto :goto_18
.line 55
:cond_f
invoke-static {v0}, Lcom/amazon/device/ads/DtbLog;->debugError(Ljava/lang/String;)V
.line 56
new-instance v1, Ljava/lang/IllegalArgumentException;
invoke-direct {v1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v1
.line 60
:cond_18
:goto_18
invoke-static {}, Lcom/amazon/device/ads/DtbCommonUtils;->getApplicationBundle()Landroid/os/Bundle;
move-result-object v0
const-string v1, "com.amazon.device.ads.dtb.debug.override"
invoke-virtual {v0, v1}, Landroid/os/Bundle;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
.line 62
invoke-static {v0}, Lcom/amazon/device/ads/DtbCommonUtils;->isNullOrEmpty(Ljava/lang/String;)Z
move-result v1
if-nez v1, :cond_ec
const-string v1, "Override file: "
.line 63
invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
invoke-static {v1}, Lcom/amazon/device/ads/DtbLog;->debug(Ljava/lang/String;)V
.line 65
invoke-static {v0}, Lcom/amazon/device/ads/DtbCommonUtils;->getResourceAsStream(Ljava/lang/String;)Ljava/io/InputStream;
move-result-object v1
if-nez v1, :cond_5f
const-string v1, "Failed to read override from classpath, trying to read override file from absolute location: "
.line 67
invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
invoke-static {v1}, Lcom/amazon/device/ads/DtbLog;->debug(Ljava/lang/String;)V
.line 68
new-instance v1, Ljava/io/File;
invoke-direct {v1, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 69
invoke-virtual {v1}, Ljava/io/File;->exists()Z
move-result v0
if-nez v0, :cond_59
const-string v0, "Couldn\'t find the override file, skipping."
.line 70
invoke-static {v0}, Lcom/amazon/device/ads/DtbLog;->debug(Ljava/lang/String;)V
return-void
.line 73
:cond_59
new-instance v0, Ljava/io/FileInputStream;
invoke-direct {v0, v1}, Ljava/io/FileInputStream;-><init>(Ljava/io/File;)V
:try_end_5e
.catch Ljava/lang/Exception; {:try_start_2 .. :try_end_5e} :catch_d6
move-object v1, v0
:cond_5f
:try_start_5f
const-string v0, "Reading debug params.."
.line 76
invoke-static {v0}, Lcom/amazon/device/ads/DtbLog;->debug(Ljava/lang/String;)V
.line 77
new-instance v0, Ljava/util/Properties;
invoke-direct {v0}, Ljava/util/Properties;-><init>()V
.line 78
invoke-virtual {v0, v1}, Ljava/util/Properties;->load(Ljava/io/InputStream;)V
.line 80
invoke-virtual {v0}, Ljava/util/Properties;->entrySet()Ljava/util/Set;
move-result-object v0
invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v0
:goto_74
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_cd
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/util/Map$Entry;
.line 81
invoke-interface {v2}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v3
check-cast v3, Ljava/lang/String;
.line 83
invoke-static {v3}, Lcom/amazon/device/ads/DtbCommonUtils;->isNullOrWhiteSpace(Ljava/lang/String;)Z
move-result v4
if-eqz v4, :cond_92
const-string v2, "Error: The debug property name must not be null or empty string"
.line 85
invoke-static {v2}, Lcom/amazon/device/ads/DtbLog;->debug(Ljava/lang/String;)V
goto :goto_74
.line 89
:cond_92
invoke-interface {v2}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/String;
if-eqz v2, :cond_9e
.line 91
invoke-virtual {v2}, Ljava/lang/String;->trim()Ljava/lang/String;
move-result-object v2
.line 93
:cond_9e
new-instance v4, Ljava/lang/StringBuilder;
const-string v5, "Overrides found: "
invoke-direct {v4, v5}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v5, " --> "
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4, v2}, 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-static {v4}, Lcom/amazon/device/ads/DtbLog;->debug(Ljava/lang/String;)V
const-string v4, "internalDebugMode"
.line 94
invoke-virtual {v3, v4}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result v4
if-eqz v4, :cond_c7
const-string v4, "true"
.line 95
invoke-virtual {v2, v4}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result v4
sput-boolean v4, Lcom/amazon/device/ads/DtbDebugProperties;->isInternalDebugMode:Z
.line 97
:cond_c7
sget-object v4, Lcom/amazon/device/ads/DtbDebugProperties;->propertyMap:Ljava/util/HashMap;
invoke-virtual {v4, v3, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:try_end_cc
.catchall {:try_start_5f .. :try_end_cc} :catchall_d1
goto :goto_74
.line 100
:cond_cd
:try_start_cd
invoke-virtual {v1}, Ljava/io/InputStream;->close()V
goto :goto_ec
:catchall_d1
move-exception v0
invoke-virtual {v1}, Ljava/io/InputStream;->close()V
.line 101
throw v0
:try_end_d6
.catch Ljava/lang/Exception; {:try_start_cd .. :try_end_d6} :catch_d6
:catch_d6
move-exception v0
.line 105
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "Error:: Failed to read the debug params. ignoring."
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0}, Ljava/lang/Exception;->getStackTrace()[Ljava/lang/StackTraceElement;
move-result-object v0
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/amazon/device/ads/DtbLog;->debug(Ljava/lang/String;)V
:cond_ec
:goto_ec
const/4 v0, 0x1
.line 107
sput-boolean v0, Lcom/amazon/device/ads/DtbDebugProperties;->isInitialized:Z
return-void
.end method
.method public static resetProperties()V
.registers 1
const/4 v0, 0x0
.line 159
sput-boolean v0, Lcom/amazon/device/ads/DtbDebugProperties;->isInitialized:Z
.line 160
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
sput-object v0, Lcom/amazon/device/ads/DtbDebugProperties;->propertyMap:Ljava/util/HashMap;
return-void
.end method
# virtual methods
.method public isDebugMode()Z
.registers 2
.line 191
sget-boolean v0, Lcom/amazon/device/ads/DtbDebugProperties;->isInternalDebugMode:Z
return v0
.end method