.class public Lcom/google/firebase/abt/AbtExperimentInfo; .super Ljava/lang/Object; .source "SourceFile" # static fields .field public static final ALL_REQUIRED_KEYS:[Ljava/lang/String; .field public static final protoTimestampStringParser:Ljava/text/DateFormat; # instance fields .field public final experimentId:Ljava/lang/String; .field public final experimentStartTime:Ljava/util/Date; .field public final timeToLiveInMillis:J .field public final triggerEventName:Ljava/lang/String; .field public final triggerTimeoutInMillis:J .field public final variantId:Ljava/lang/String; # direct methods .method static constructor ()V .locals 5 const-string v0, "triggerTimeoutMillis" const-string v1, "variantId" const-string v2, "experimentId" const-string v3, "experimentStartTime" const-string v4, "timeToLiveMillis" filled-new-array {v2, v3, v4, v0, v1}, [Ljava/lang/String; move-result-object v0 sput-object v0, Lcom/google/firebase/abt/AbtExperimentInfo;->ALL_REQUIRED_KEYS:[Ljava/lang/String; .line 108 new-instance v0, Ljava/text/SimpleDateFormat; const-string v1, "yyyy-MM-dd\'T\'HH:mm:ss" sget-object v2, Ljava/util/Locale;->US:Ljava/util/Locale; invoke-direct {v0, v1, v2}, Ljava/text/SimpleDateFormat;->(Ljava/lang/String;Ljava/util/Locale;)V sput-object v0, Lcom/google/firebase/abt/AbtExperimentInfo;->protoTimestampStringParser:Ljava/text/DateFormat; return-void .end method .method public constructor (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Date;JJ)V .locals 0 .line 136 invoke-direct {p0}, Ljava/lang/Object;->()V iput-object p1, p0, Lcom/google/firebase/abt/AbtExperimentInfo;->experimentId:Ljava/lang/String; iput-object p2, p0, Lcom/google/firebase/abt/AbtExperimentInfo;->variantId:Ljava/lang/String; iput-object p3, p0, Lcom/google/firebase/abt/AbtExperimentInfo;->triggerEventName:Ljava/lang/String; iput-object p4, p0, Lcom/google/firebase/abt/AbtExperimentInfo;->experimentStartTime:Ljava/util/Date; iput-wide p5, p0, Lcom/google/firebase/abt/AbtExperimentInfo;->triggerTimeoutInMillis:J iput-wide p7, p0, Lcom/google/firebase/abt/AbtExperimentInfo;->timeToLiveInMillis:J return-void .end method .method public static fromConditionalUserProperty(Lcom/google/firebase/analytics/connector/AnalyticsConnector$ConditionalUserProperty;)Lcom/google/firebase/abt/AbtExperimentInfo; .locals 10 .line 298 iget-object v0, p0, Lcom/google/firebase/analytics/connector/AnalyticsConnector$ConditionalUserProperty;->triggerEventName:Ljava/lang/String; if-eqz v0, :cond_0 :goto_0 move-object v4, v0 goto :goto_1 :cond_0 const-string v0, "" goto :goto_0 .line 302 :goto_1 new-instance v0, Lcom/google/firebase/abt/AbtExperimentInfo; iget-object v2, p0, Lcom/google/firebase/analytics/connector/AnalyticsConnector$ConditionalUserProperty;->name:Ljava/lang/String; iget-object v1, p0, Lcom/google/firebase/analytics/connector/AnalyticsConnector$ConditionalUserProperty;->value:Ljava/lang/Object; .line 304 invoke-static {v1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String; move-result-object v3 new-instance v5, Ljava/util/Date; iget-wide v6, p0, Lcom/google/firebase/analytics/connector/AnalyticsConnector$ConditionalUserProperty;->creationTimestamp:J invoke-direct {v5, v6, v7}, Ljava/util/Date;->(J)V iget-wide v6, p0, Lcom/google/firebase/analytics/connector/AnalyticsConnector$ConditionalUserProperty;->triggerTimeout:J iget-wide v8, p0, Lcom/google/firebase/analytics/connector/AnalyticsConnector$ConditionalUserProperty;->timeToLive:J move-object v1, v0 invoke-direct/range {v1 .. v9}, Lcom/google/firebase/abt/AbtExperimentInfo;->(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Date;JJ)V return-object v0 .end method .method public static fromMap(Ljava/util/Map;)Lcom/google/firebase/abt/AbtExperimentInfo; .locals 12 const-string v0, "triggerEvent" .line 160 invoke-static {p0}, Lcom/google/firebase/abt/AbtExperimentInfo;->validateExperimentInfoMap(Ljava/util/Map;)V :try_start_0 sget-object v1, Lcom/google/firebase/abt/AbtExperimentInfo;->protoTimestampStringParser:Ljava/text/DateFormat; const-string v2, "experimentStartTime" .line 164 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 const-string v1, "triggerTimeoutMillis" .line 165 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 const-string v1, "timeToLiveMillis" .line 166 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 168 new-instance v1, Lcom/google/firebase/abt/AbtExperimentInfo; const-string v2, "experimentId" .line 169 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 v2, "variantId" .line 170 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 171 invoke-interface {p0, v0}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z move-result v2 if-eqz v2, :cond_0 .line 172 invoke-interface {p0, v0}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p0 check-cast p0, Ljava/lang/String; :goto_0 move-object v6, p0 goto :goto_1 :catch_0 move-exception p0 goto :goto_2 :catch_1 move-exception p0 goto :goto_3 :cond_0 const-string p0, "" goto :goto_0 :goto_1 move-object v3, v1 .line 173 invoke-direct/range {v3 .. v11}, Lcom/google/firebase/abt/AbtExperimentInfo;->(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Date;JJ)V :try_end_0 .catch Ljava/text/ParseException; {:try_start_0 .. :try_end_0} :catch_1 .catch Ljava/lang/NumberFormatException; {:try_start_0 .. :try_end_0} :catch_0 return-object v1 .line 181 :goto_2 new-instance v0, Lcom/google/firebase/abt/AbtException; const-string v1, "Could not process experiment: one of the durations could not be converted into a long." invoke-direct {v0, v1, p0}, Lcom/google/firebase/abt/AbtException;->(Ljava/lang/String;Ljava/lang/Exception;)V throw v0 .line 178 :goto_3 new-instance v0, Lcom/google/firebase/abt/AbtException; const-string v1, "Could not process experiment: parsing experiment start time failed." invoke-direct {v0, v1, p0}, Lcom/google/firebase/abt/AbtException;->(Ljava/lang/String;Ljava/lang/Exception;)V throw v0 .end method .method public static validateExperimentInfoMap(Ljava/util/Map;)V .locals 6 .line 225 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V sget-object v1, Lcom/google/firebase/abt/AbtExperimentInfo;->ALL_REQUIRED_KEYS:[Ljava/lang/String; .line 226 array-length v2, v1 const/4 v3, 0x0 :goto_0 if-ge v3, v2, :cond_1 aget-object v4, v1, v3 .line 227 invoke-interface {p0, v4}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z move-result v5 if-nez v5, :cond_0 .line 228 invoke-interface {v0, v4}, Ljava/util/List;->add(Ljava/lang/Object;)Z :cond_0 add-int/lit8 v3, v3, 0x1 goto :goto_0 .line 232 :cond_1 invoke-interface {v0}, Ljava/util/List;->isEmpty()Z move-result p0 if-eqz p0, :cond_2 return-void .line 233 :cond_2 new-instance p0, Lcom/google/firebase/abt/AbtException; const-string v1, "The following keys are missing from the experiment info map: %s" filled-new-array {v0}, [Ljava/lang/Object; move-result-object v0 .line 234 invoke-static {v1, v0}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; move-result-object v0 invoke-direct {p0, v0}, Lcom/google/firebase/abt/AbtException;->(Ljava/lang/String;)V throw p0 .end method # virtual methods .method public getExperimentId()Ljava/lang/String; .locals 1 iget-object v0, p0, Lcom/google/firebase/abt/AbtExperimentInfo;->experimentId:Ljava/lang/String; return-object v0 .end method .method public getStartTimeInMillisSinceEpoch()J .locals 2 iget-object v0, p0, Lcom/google/firebase/abt/AbtExperimentInfo;->experimentStartTime:Ljava/util/Date; .line 204 invoke-virtual {v0}, Ljava/util/Date;->getTime()J move-result-wide v0 return-wide v0 .end method .method public getVariantId()Ljava/lang/String; .locals 1 iget-object v0, p0, Lcom/google/firebase/abt/AbtExperimentInfo;->variantId:Ljava/lang/String; return-object v0 .end method .method public toConditionalUserProperty(Ljava/lang/String;)Lcom/google/firebase/analytics/connector/AnalyticsConnector$ConditionalUserProperty; .locals 3 .line 268 new-instance v0, Lcom/google/firebase/analytics/connector/AnalyticsConnector$ConditionalUserProperty; invoke-direct {v0}, Lcom/google/firebase/analytics/connector/AnalyticsConnector$ConditionalUserProperty;->()V iput-object p1, v0, Lcom/google/firebase/analytics/connector/AnalyticsConnector$ConditionalUserProperty;->origin:Ljava/lang/String; .line 271 invoke-virtual {p0}, Lcom/google/firebase/abt/AbtExperimentInfo;->getStartTimeInMillisSinceEpoch()J move-result-wide v1 iput-wide v1, v0, Lcom/google/firebase/analytics/connector/AnalyticsConnector$ConditionalUserProperty;->creationTimestamp:J iget-object p1, p0, Lcom/google/firebase/abt/AbtExperimentInfo;->experimentId:Ljava/lang/String; iput-object p1, v0, Lcom/google/firebase/analytics/connector/AnalyticsConnector$ConditionalUserProperty;->name:Ljava/lang/String; iget-object p1, p0, Lcom/google/firebase/abt/AbtExperimentInfo;->variantId:Ljava/lang/String; iput-object p1, v0, Lcom/google/firebase/analytics/connector/AnalyticsConnector$ConditionalUserProperty;->value:Ljava/lang/Object; iget-object p1, p0, Lcom/google/firebase/abt/AbtExperimentInfo;->triggerEventName:Ljava/lang/String; .line 278 invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z move-result p1 if-eqz p1, :cond_0 const/4 p1, 0x0 goto :goto_0 :cond_0 iget-object p1, p0, Lcom/google/firebase/abt/AbtExperimentInfo;->triggerEventName:Ljava/lang/String; :goto_0 iput-object p1, v0, Lcom/google/firebase/analytics/connector/AnalyticsConnector$ConditionalUserProperty;->triggerEventName:Ljava/lang/String; iget-wide v1, p0, Lcom/google/firebase/abt/AbtExperimentInfo;->triggerTimeoutInMillis:J iput-wide v1, v0, Lcom/google/firebase/analytics/connector/AnalyticsConnector$ConditionalUserProperty;->triggerTimeout:J iget-wide v1, p0, Lcom/google/firebase/abt/AbtExperimentInfo;->timeToLiveInMillis:J iput-wide v1, v0, Lcom/google/firebase/analytics/connector/AnalyticsConnector$ConditionalUserProperty;->timeToLive:J return-object v0 .end method