FirebaseRemoteConfigValueImpl.smali
.class public Lcom/google/firebase/remoteconfig/internal/FirebaseRemoteConfigValueImpl;
.super Ljava/lang/Object;
.source "com.google.firebase:firebase-config@@19.1.0"
# interfaces
.implements Lcom/google/firebase/remoteconfig/FirebaseRemoteConfigValue;
# static fields
.field private static final ILLEGAL_ARGUMENT_STRING_FORMAT:Ljava/lang/String; = "[Value: %s] cannot be converted to a %s."
# instance fields
.field private final source:I
.field private final value:Ljava/lang/String;
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method constructor <init>(Ljava/lang/String;I)V
.registers 3
.param p1, "value" # Ljava/lang/String;
.param p2, "source" # I
.line 36
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 37
iput-object p1, p0, Lcom/google/firebase/remoteconfig/internal/FirebaseRemoteConfigValueImpl;->value:Ljava/lang/String;
.line 38
iput p2, p0, Lcom/google/firebase/remoteconfig/internal/FirebaseRemoteConfigValueImpl;->source:I
.line 39
return-void
.end method
.method private asTrimmedString()Ljava/lang/String;
.registers 2
.line 119
invoke-virtual {p0}, Lcom/google/firebase/remoteconfig/internal/FirebaseRemoteConfigValueImpl;->asString()Ljava/lang/String;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/String;->trim()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method private throwIfNullValue()V
.registers 3
.line 111
iget-object v0, p0, Lcom/google/firebase/remoteconfig/internal/FirebaseRemoteConfigValueImpl;->value:Ljava/lang/String;
if-eqz v0, :cond_5
.line 115
return-void
.line 112
:cond_5
new-instance v0, Ljava/lang/IllegalArgumentException;
const-string v1, "Value is null, and cannot be converted to the desired type."
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.end method
# virtual methods
.method public asBoolean()Z
.registers 6
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/IllegalArgumentException;
}
.end annotation
.line 91
iget v0, p0, Lcom/google/firebase/remoteconfig/internal/FirebaseRemoteConfigValueImpl;->source:I
const/4 v1, 0x0
if-nez v0, :cond_6
.line 92
return v1
.line 95
:cond_6
invoke-direct {p0}, Lcom/google/firebase/remoteconfig/internal/FirebaseRemoteConfigValueImpl;->asTrimmedString()Ljava/lang/String;
move-result-object v0
.line 96
.local v0, "valueAsString":Ljava/lang/String;
sget-object v2, Lcom/google/firebase/remoteconfig/internal/ConfigGetParameterHandler;->TRUE_REGEX:Ljava/util/regex/Pattern;
invoke-virtual {v2, v0}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object v2
invoke-virtual {v2}, Ljava/util/regex/Matcher;->matches()Z
move-result v2
const/4 v3, 0x1
if-eqz v2, :cond_18
.line 97
return v3
.line 98
:cond_18
sget-object v2, Lcom/google/firebase/remoteconfig/internal/ConfigGetParameterHandler;->FALSE_REGEX:Ljava/util/regex/Pattern;
invoke-virtual {v2, v0}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object v2
invoke-virtual {v2}, Ljava/util/regex/Matcher;->matches()Z
move-result v2
if-eqz v2, :cond_25
.line 99
return v1
.line 101
:cond_25
new-instance v2, Ljava/lang/IllegalArgumentException;
const/4 v4, 0x2
new-array v4, v4, [Ljava/lang/Object;
aput-object v0, v4, v1
const-string v1, "boolean"
aput-object v1, v4, v3
.line 102
const-string v1, "[Value: %s] cannot be converted to a %s."
invoke-static {v1, v4}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
invoke-direct {v2, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v2
.end method
.method public asByteArray()[B
.registers 3
.line 83
iget v0, p0, Lcom/google/firebase/remoteconfig/internal/FirebaseRemoteConfigValueImpl;->source:I
if-nez v0, :cond_7
.line 84
sget-object v0, Lcom/google/firebase/remoteconfig/FirebaseRemoteConfig;->DEFAULT_VALUE_FOR_BYTE_ARRAY:[B
return-object v0
.line 86
:cond_7
iget-object v0, p0, Lcom/google/firebase/remoteconfig/internal/FirebaseRemoteConfigValueImpl;->value:Ljava/lang/String;
sget-object v1, Lcom/google/firebase/remoteconfig/internal/ConfigGetParameterHandler;->FRC_BYTE_ARRAY_ENCODING:Ljava/nio/charset/Charset;
invoke-virtual {v0, v1}, Ljava/lang/String;->getBytes(Ljava/nio/charset/Charset;)[B
move-result-object v0
return-object v0
.end method
.method public asDouble()D
.registers 7
.line 58
iget v0, p0, Lcom/google/firebase/remoteconfig/internal/FirebaseRemoteConfigValueImpl;->source:I
if-nez v0, :cond_7
.line 59
const-wide/16 v0, 0x0
return-wide v0
.line 62
:cond_7
invoke-direct {p0}, Lcom/google/firebase/remoteconfig/internal/FirebaseRemoteConfigValueImpl;->asTrimmedString()Ljava/lang/String;
move-result-object v0
.line 64
.local v0, "valueAsString":Ljava/lang/String;
:try_start_b
invoke-static {v0}, Ljava/lang/Double;->valueOf(Ljava/lang/String;)Ljava/lang/Double;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/Double;->doubleValue()D
move-result-wide v1
:try_end_13
.catch Ljava/lang/NumberFormatException; {:try_start_b .. :try_end_13} :catch_14
return-wide v1
.line 65
:catch_14
move-exception v1
.line 66
.local v1, "e":Ljava/lang/NumberFormatException;
new-instance v2, Ljava/lang/IllegalArgumentException;
const/4 v3, 0x2
new-array v3, v3, [Ljava/lang/Object;
const/4 v4, 0x0
aput-object v0, v3, v4
const/4 v4, 0x1
const-string v5, "double"
aput-object v5, v3, v4
.line 67
const-string v4, "[Value: %s] cannot be converted to a %s."
invoke-static {v4, v3}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v3
invoke-direct {v2, v3, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v2
.end method
.method public asLong()J
.registers 7
.line 43
iget v0, p0, Lcom/google/firebase/remoteconfig/internal/FirebaseRemoteConfigValueImpl;->source:I
if-nez v0, :cond_7
.line 44
const-wide/16 v0, 0x0
return-wide v0
.line 47
:cond_7
invoke-direct {p0}, Lcom/google/firebase/remoteconfig/internal/FirebaseRemoteConfigValueImpl;->asTrimmedString()Ljava/lang/String;
move-result-object v0
.line 49
.local v0, "valueAsString":Ljava/lang/String;
:try_start_b
invoke-static {v0}, Ljava/lang/Long;->valueOf(Ljava/lang/String;)Ljava/lang/Long;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/Long;->longValue()J
move-result-wide v1
:try_end_13
.catch Ljava/lang/NumberFormatException; {:try_start_b .. :try_end_13} :catch_14
return-wide v1
.line 50
:catch_14
move-exception v1
.line 51
.local v1, "e":Ljava/lang/NumberFormatException;
new-instance v2, Ljava/lang/IllegalArgumentException;
const/4 v3, 0x2
new-array v3, v3, [Ljava/lang/Object;
const/4 v4, 0x0
aput-object v0, v3, v4
const/4 v4, 0x1
const-string v5, "long"
aput-object v5, v3, v4
.line 52
const-string v4, "[Value: %s] cannot be converted to a %s."
invoke-static {v4, v3}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v3
invoke-direct {v2, v3, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v2
.end method
.method public asString()Ljava/lang/String;
.registers 2
.line 73
iget v0, p0, Lcom/google/firebase/remoteconfig/internal/FirebaseRemoteConfigValueImpl;->source:I
if-nez v0, :cond_7
.line 74
const-string v0, ""
return-object v0
.line 77
:cond_7
invoke-direct {p0}, Lcom/google/firebase/remoteconfig/internal/FirebaseRemoteConfigValueImpl;->throwIfNullValue()V
.line 78
iget-object v0, p0, Lcom/google/firebase/remoteconfig/internal/FirebaseRemoteConfigValueImpl;->value:Ljava/lang/String;
return-object v0
.end method
.method public getSource()I
.registers 2
.line 107
iget v0, p0, Lcom/google/firebase/remoteconfig/internal/FirebaseRemoteConfigValueImpl;->source:I
return v0
.end method