AbtExperimentInfo.smali
.class public Lcom/google/firebase/abt/AbtExperimentInfo;
.super Ljava/lang/Object;
.source "com.google.firebase:firebase-abt@@19.0.0"
# static fields
.field private static final ALL_REQUIRED_KEYS:[Ljava/lang/String;
.field static final EXPERIMENT_ID_KEY:Ljava/lang/String; = "experimentId"
.field static final EXPERIMENT_START_TIME_KEY:Ljava/lang/String; = "experimentStartTime"
.field static final TIME_TO_LIVE_KEY:Ljava/lang/String; = "timeToLiveMillis"
.field static final TRIGGER_EVENT_KEY:Ljava/lang/String; = "triggerEvent"
.field static final TRIGGER_TIMEOUT_KEY:Ljava/lang/String; = "triggerTimeoutMillis"
.field static final VARIANT_ID_KEY:Ljava/lang/String; = "variantId"
.field static final protoTimestampStringParser:Ljava/text/DateFormat;
# instance fields
.field private final experimentId:Ljava/lang/String;
.field private final experimentStartTime:Ljava/util/Date;
.field private final timeToLiveInMillis:J
.field private final triggerEventName:Ljava/lang/String;
.field private final triggerTimeoutInMillis:J
.field private final variantId:Ljava/lang/String;
# direct methods
.method static constructor <clinit>()V
.registers 5
.line 90
const-string v0, "experimentId"
const-string v1, "experimentStartTime"
const-string/jumbo v2, "timeToLiveMillis"
const-string/jumbo v3, "triggerTimeoutMillis"
const-string/jumbo v4, "variantId"
filled-new-array {v0, v1, v2, v3, v4}, [Ljava/lang/String;
move-result-object v0
sput-object v0, Lcom/google/firebase/abt/AbtExperimentInfo;->ALL_REQUIRED_KEYS:[Ljava/lang/String;
.line 106
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"
invoke-direct {v0, v2, v1}, Ljava/text/SimpleDateFormat;-><init>(Ljava/lang/String;Ljava/util/Locale;)V
sput-object v0, Lcom/google/firebase/abt/AbtExperimentInfo;->protoTimestampStringParser:Ljava/text/DateFormat;
return-void
.end method
.method constructor <init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Date;JJ)V
.registers 9
.param p1, "experimentId" # Ljava/lang/String;
.param p2, "variantId" # Ljava/lang/String;
.param p3, "triggerEventName" # Ljava/lang/String;
.param p4, "experimentStartTime" # Ljava/util/Date;
.param p5, "triggerTimeoutInMillis" # J
.param p7, "timeToLiveInMillis" # J
.line 130
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 132
iput-object p1, p0, Lcom/google/firebase/abt/AbtExperimentInfo;->experimentId:Ljava/lang/String;
.line 133
iput-object p2, p0, Lcom/google/firebase/abt/AbtExperimentInfo;->variantId:Ljava/lang/String;
.line 134
iput-object p3, p0, Lcom/google/firebase/abt/AbtExperimentInfo;->triggerEventName:Ljava/lang/String;
.line 135
iput-object p4, p0, Lcom/google/firebase/abt/AbtExperimentInfo;->experimentStartTime:Ljava/util/Date;
.line 136
iput-wide p5, p0, Lcom/google/firebase/abt/AbtExperimentInfo;->triggerTimeoutInMillis:J
.line 137
iput-wide p7, p0, Lcom/google/firebase/abt/AbtExperimentInfo;->timeToLiveInMillis:J
.line 138
return-void
.end method
.method static fromMap(Ljava/util/Map;)Lcom/google/firebase/abt/AbtExperimentInfo;
.registers 13
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;)",
"Lcom/google/firebase/abt/AbtExperimentInfo;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/firebase/abt/AbtException;
}
.end annotation
.line 154
.local p0, "experimentInfoMap":Ljava/util/Map;, "Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;"
const-string/jumbo v0, "triggerEvent"
invoke-static {p0}, Lcom/google/firebase/abt/AbtExperimentInfo;->validateExperimentInfoMap(Ljava/util/Map;)V
.line 157
:try_start_6
sget-object v1, Lcom/google/firebase/abt/AbtExperimentInfo;->protoTimestampStringParser:Ljava/text/DateFormat;
const-string v2, "experimentStartTime"
.line 158
invoke-interface {p0, v2}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/String;
invoke-virtual {v1, v2}, Ljava/text/DateFormat;->parse(Ljava/lang/String;)Ljava/util/Date;
move-result-object v7
.line 159
.local v7, "experimentStartTime":Ljava/util/Date;
const-string/jumbo v1, "triggerTimeoutMillis"
invoke-interface {p0, v1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/String;
invoke-static {v1}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J
move-result-wide v8
.line 160
.local v8, "triggerTimeoutInMillis":J
const-string/jumbo v1, "timeToLiveMillis"
invoke-interface {p0, v1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/String;
invoke-static {v1}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J
move-result-wide v10
.line 162
.local v10, "timeToLiveInMillis":J
new-instance v1, Lcom/google/firebase/abt/AbtExperimentInfo;
const-string v2, "experimentId"
.line 163
invoke-interface {p0, v2}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
move-object v4, v2
check-cast v4, Ljava/lang/String;
const-string/jumbo v2, "variantId"
.line 164
invoke-interface {p0, v2}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
move-object v5, v2
check-cast v5, Ljava/lang/String;
.line 165
invoke-interface {p0, v0}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_51
.line 166
invoke-interface {p0, v0}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/String;
move-object v6, v0
goto :goto_54
.line 167
:cond_51
const-string v0, ""
move-object v6, v0
:goto_54
move-object v3, v1
invoke-direct/range {v3 .. v11}, Lcom/google/firebase/abt/AbtExperimentInfo;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Date;JJ)V
:try_end_58
.catch Ljava/text/ParseException; {:try_start_6 .. :try_end_58} :catch_62
.catch Ljava/lang/NumberFormatException; {:try_start_6 .. :try_end_58} :catch_59
.line 162
return-object v1
.line 174
.end local v7 # "experimentStartTime":Ljava/util/Date;
.end local v8 # "triggerTimeoutInMillis":J
.end local v10 # "timeToLiveInMillis":J
:catch_59
move-exception v0
.line 175
.local v0, "e":Ljava/lang/NumberFormatException;
new-instance v1, Lcom/google/firebase/abt/AbtException;
const-string v2, "Could not process experiment: one of the durations could not be converted into a long."
invoke-direct {v1, v2, v0}, Lcom/google/firebase/abt/AbtException;-><init>(Ljava/lang/String;Ljava/lang/Exception;)V
throw v1
.line 171
.end local v0 # "e":Ljava/lang/NumberFormatException;
:catch_62
move-exception v0
.line 172
.local v0, "e":Ljava/text/ParseException;
new-instance v1, Lcom/google/firebase/abt/AbtException;
const-string v2, "Could not process experiment: parsing experiment start time failed."
invoke-direct {v1, v2, v0}, Lcom/google/firebase/abt/AbtException;-><init>(Ljava/lang/String;Ljava/lang/Exception;)V
throw v1
.end method
.method private static validateExperimentInfoMap(Ljava/util/Map;)V
.registers 8
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;)V"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/firebase/abt/AbtException;
}
.end annotation
.line 219
.local p0, "experimentInfoMap":Ljava/util/Map;, "Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;"
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
.line 220
.local v0, "missingKeys":Ljava/util/List;, "Ljava/util/List<Ljava/lang/String;>;"
sget-object v1, Lcom/google/firebase/abt/AbtExperimentInfo;->ALL_REQUIRED_KEYS:[Ljava/lang/String;
array-length v2, v1
const/4 v3, 0x0
const/4 v4, 0x0
:goto_a
if-ge v4, v2, :cond_1a
aget-object v5, v1, v4
.line 221
.local v5, "key":Ljava/lang/String;
invoke-interface {p0, v5}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z
move-result v6
if-nez v6, :cond_17
.line 222
invoke-interface {v0, v5}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 220
.end local v5 # "key":Ljava/lang/String;
:cond_17
add-int/lit8 v4, v4, 0x1
goto :goto_a
.line 226
:cond_1a
invoke-interface {v0}, Ljava/util/List;->isEmpty()Z
move-result v1
if-eqz v1, :cond_21
.line 231
return-void
.line 227
:cond_21
new-instance v1, Lcom/google/firebase/abt/AbtException;
const/4 v2, 0x1
new-array v2, v2, [Ljava/lang/Object;
aput-object v0, v2, v3
.line 228
const-string v3, "The following keys are missing from the experiment info map: %s"
invoke-static {v3, v2}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2}, Lcom/google/firebase/abt/AbtException;-><init>(Ljava/lang/String;)V
goto :goto_33
:goto_32
throw v1
:goto_33
goto :goto_32
.end method
# virtual methods
.method getExperimentId()Ljava/lang/String;
.registers 2
.line 183
iget-object v0, p0, Lcom/google/firebase/abt/AbtExperimentInfo;->experimentId:Ljava/lang/String;
return-object v0
.end method
.method getStartTimeInMillisSinceEpoch()J
.registers 3
.line 198
iget-object v0, p0, Lcom/google/firebase/abt/AbtExperimentInfo;->experimentStartTime:Ljava/util/Date;
invoke-virtual {v0}, Ljava/util/Date;->getTime()J
move-result-wide v0
return-wide v0
.end method
.method getTimeToLiveInMillis()J
.registers 3
.line 208
iget-wide v0, p0, Lcom/google/firebase/abt/AbtExperimentInfo;->timeToLiveInMillis:J
return-wide v0
.end method
.method getTriggerEventName()Ljava/lang/String;
.registers 2
.line 193
iget-object v0, p0, Lcom/google/firebase/abt/AbtExperimentInfo;->triggerEventName:Ljava/lang/String;
return-object v0
.end method
.method getTriggerTimeoutInMillis()J
.registers 3
.line 203
iget-wide v0, p0, Lcom/google/firebase/abt/AbtExperimentInfo;->triggerTimeoutInMillis:J
return-wide v0
.end method
.method getVariantId()Ljava/lang/String;
.registers 2
.line 188
iget-object v0, p0, Lcom/google/firebase/abt/AbtExperimentInfo;->variantId:Ljava/lang/String;
return-object v0
.end method
.method toStringMap()Ljava/util/Map;
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;"
}
.end annotation
.line 240
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
.line 242
.local v0, "experimentInfoMap":Ljava/util/Map;, "Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;"
iget-object v1, p0, Lcom/google/firebase/abt/AbtExperimentInfo;->experimentId:Ljava/lang/String;
const-string v2, "experimentId"
invoke-interface {v0, v2, v1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 243
iget-object v1, p0, Lcom/google/firebase/abt/AbtExperimentInfo;->variantId:Ljava/lang/String;
const-string/jumbo v2, "variantId"
invoke-interface {v0, v2, v1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 244
iget-object v1, p0, Lcom/google/firebase/abt/AbtExperimentInfo;->triggerEventName:Ljava/lang/String;
const-string/jumbo v2, "triggerEvent"
invoke-interface {v0, v2, v1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 245
sget-object v1, Lcom/google/firebase/abt/AbtExperimentInfo;->protoTimestampStringParser:Ljava/text/DateFormat;
iget-object v2, p0, Lcom/google/firebase/abt/AbtExperimentInfo;->experimentStartTime:Ljava/util/Date;
.line 246
invoke-virtual {v1, v2}, Ljava/text/DateFormat;->format(Ljava/util/Date;)Ljava/lang/String;
move-result-object v1
.line 245
const-string v2, "experimentStartTime"
invoke-interface {v0, v2, v1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 247
iget-wide v1, p0, Lcom/google/firebase/abt/AbtExperimentInfo;->triggerTimeoutInMillis:J
invoke-static {v1, v2}, Ljava/lang/Long;->toString(J)Ljava/lang/String;
move-result-object v1
const-string/jumbo v2, "triggerTimeoutMillis"
invoke-interface {v0, v2, v1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 248
iget-wide v1, p0, Lcom/google/firebase/abt/AbtExperimentInfo;->timeToLiveInMillis:J
invoke-static {v1, v2}, Ljava/lang/Long;->toString(J)Ljava/lang/String;
move-result-object v1
const-string/jumbo v2, "timeToLiveMillis"
invoke-interface {v0, v2, v1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 250
return-object v0
.end method