.class public abstract Lcom/singular/sdk/internal/BaseApi; .super Lcom/singular/sdk/internal/SingularMap; .source "SourceFile" # interfaces .implements Lcom/singular/sdk/internal/Api; # static fields .field public static final logger:Lcom/singular/sdk/internal/SingularLog; # direct methods .method static constructor ()V .locals 1 const-class v0, Lcom/singular/sdk/internal/BaseApi; .line 48 invoke-virtual {v0}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String; move-result-object v0 invoke-static {v0}, Lcom/singular/sdk/internal/SingularLog;->getLogger(Ljava/lang/String;)Lcom/singular/sdk/internal/SingularLog; move-result-object v0 sput-object v0, Lcom/singular/sdk/internal/BaseApi;->logger:Lcom/singular/sdk/internal/SingularLog; return-void .end method .method public constructor (Ljava/lang/String;J)V .locals 1 .line 54 invoke-direct {p0}, Lcom/singular/sdk/internal/SingularMap;->()V const-string v0, "__TYPE__" .line 55 invoke-virtual {p0, v0, p1}, Lcom/singular/sdk/internal/SingularMap;->put(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; const-string p1, "__TIMESTAMP__" .line 56 invoke-static {p2, p3}, Ljava/lang/String;->valueOf(J)Ljava/lang/String; move-result-object p2 invoke-virtual {p0, p1, p2}, Lcom/singular/sdk/internal/SingularMap;->put(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; return-void .end method .method public static from(Ljava/lang/String;)Lcom/singular/sdk/internal/BaseApi; .locals 4 if-eqz p0, :cond_6 .line 128 invoke-static {p0}, Lcom/singular/sdk/internal/BaseApi;->fromString(Ljava/lang/String;)Ljava/util/Map; move-result-object p0 const-string v0, "__TYPE__" .line 129 invoke-interface {p0, v0}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v0 check-cast v0, Ljava/lang/String; const-string v1, "__TIMESTAMP__" .line 130 invoke-interface {p0, v1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v1 check-cast v1, Ljava/lang/String; .line 131 invoke-static {v1}, Lcom/singular/sdk/internal/Utils;->isEmptyOrNull(Ljava/lang/String;)Z move-result v2 if-nez v2, :cond_0 invoke-static {v1}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J move-result-wide v1 goto :goto_0 :cond_0 const-wide/16 v1, -0x1 :goto_0 const-string v3, "EVENT" .line 134 invoke-virtual {v3, v0}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z move-result v3 if-eqz v3, :cond_1 .line 135 new-instance v0, Lcom/singular/sdk/internal/ApiSubmitEvent; invoke-direct {v0, v1, v2}, Lcom/singular/sdk/internal/ApiSubmitEvent;->(J)V .line 136 invoke-virtual {v0, p0}, Lcom/singular/sdk/internal/BaseApi;->addParams(Ljava/util/Map;)V return-object v0 :cond_1 const-string v3, "SESSION_START" .line 140 invoke-virtual {v3, v0}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z move-result v3 if-eqz v3, :cond_2 .line 141 new-instance v0, Lcom/singular/sdk/internal/ApiStartSession; invoke-direct {v0, v1, v2}, Lcom/singular/sdk/internal/ApiStartSession;->(J)V .line 142 invoke-virtual {v0, p0}, Lcom/singular/sdk/internal/BaseApi;->addParams(Ljava/util/Map;)V return-object v0 :cond_2 const-string v3, "GDPR_CONSENT" .line 146 invoke-virtual {v3, v0}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z move-result v3 if-eqz v3, :cond_3 .line 147 new-instance v0, Lcom/singular/sdk/internal/ApiGDPRConsent; invoke-direct {v0, v1, v2}, Lcom/singular/sdk/internal/ApiGDPRConsent;->(J)V .line 148 invoke-virtual {v0, p0}, Lcom/singular/sdk/internal/BaseApi;->addParams(Ljava/util/Map;)V return-object v0 :cond_3 const-string v3, "GDPR_UNDER_13" .line 152 invoke-virtual {v3, v0}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z move-result v3 if-eqz v3, :cond_4 .line 153 new-instance v0, Lcom/singular/sdk/internal/ApiGDPRUnder13; invoke-direct {v0, v1, v2}, Lcom/singular/sdk/internal/ApiGDPRUnder13;->(J)V .line 154 invoke-virtual {v0, p0}, Lcom/singular/sdk/internal/BaseApi;->addParams(Ljava/util/Map;)V return-object v0 :cond_4 const-string v3, "CUSTOM_USER_ID" .line 158 invoke-virtual {v3, v0}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z move-result v3 if-eqz v3, :cond_5 .line 159 new-instance v0, Lcom/singular/sdk/internal/ApiCustomUserId; invoke-direct {v0, v1, v2}, Lcom/singular/sdk/internal/ApiCustomUserId;->(J)V .line 160 invoke-virtual {v0, p0}, Lcom/singular/sdk/internal/BaseApi;->addParams(Ljava/util/Map;)V return-object v0 .line 164 :cond_5 new-instance p0, Ljava/util/InvalidPropertiesFormatException; const-string v1, "Unknown type = %s" filled-new-array {v0}, [Ljava/lang/Object; move-result-object v0 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}, Ljava/util/InvalidPropertiesFormatException;->(Ljava/lang/String;)V throw p0 .line 125 :cond_6 new-instance p0, Ljava/lang/NullPointerException; const-string v0, "api string cannot be null" invoke-direct {p0, v0}, Ljava/lang/NullPointerException;->(Ljava/lang/String;)V throw p0 .end method .method public static fromString(Ljava/lang/String;)Ljava/util/Map; .locals 4 .line 176 :try_start_0 new-instance v0, Lorg/json/JSONObject; invoke-direct {v0, p0}, Lorg/json/JSONObject;->(Ljava/lang/String;)V .line 177 new-instance p0, Ljava/util/HashMap; invoke-direct {p0}, Ljava/util/HashMap;->()V .line 180 invoke-virtual {v0}, Lorg/json/JSONObject;->keys()Ljava/util/Iterator; move-result-object v1 .line 181 :goto_0 invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z move-result v2 if-eqz v2, :cond_0 .line 182 invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v2 check-cast v2, Ljava/lang/String; .line 183 invoke-virtual {v0, v2}, Lorg/json/JSONObject;->get(Ljava/lang/String;)Ljava/lang/Object; move-result-object v3 check-cast v3, Ljava/lang/String; .line 184 invoke-interface {p0, v2, v3}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; :try_end_0 .catch Lorg/json/JSONException; {:try_start_0 .. :try_end_0} :catch_0 goto :goto_0 :catch_0 move-exception p0 goto :goto_1 :cond_0 return-object p0 .line 188 :goto_1 new-instance v0, Ljava/io/IOException; invoke-direct {v0, p0}, Ljava/io/IOException;->(Ljava/lang/Throwable;)V throw v0 .end method # virtual methods .method public addParams(Ljava/util/Map;)V .locals 0 if-nez p1, :cond_0 return-void .line 84 :cond_0 invoke-virtual {p0, p1}, Ljava/util/AbstractMap;->putAll(Ljava/util/Map;)V return-void .end method .method public getParams()Ljava/util/Map; .locals 2 .line 66 new-instance v0, Ljava/util/HashMap; invoke-direct {v0, p0}, Ljava/util/HashMap;->(Ljava/util/Map;)V const-string v1, "__TYPE__" .line 68 invoke-virtual {v0, v1}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object; const-string v1, "__TIMESTAMP__" .line 69 invoke-virtual {v0, v1}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object; return-object v0 .end method .method public getTimestamp()J .locals 2 const-string v0, "__TIMESTAMP__" .line 94 invoke-virtual {p0, v0}, Ljava/util/AbstractMap;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v0 check-cast v0, Ljava/lang/String; .line 95 invoke-static {v0}, Lcom/singular/sdk/internal/Utils;->isEmptyOrNull(Ljava/lang/String;)Z move-result v1 if-nez v1, :cond_0 invoke-static {v0}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J move-result-wide v0 goto :goto_0 :cond_0 const-wide/16 v0, -0x1 :goto_0 return-wide v0 .end method .method public getUrl()Ljava/lang/String; .locals 2 .line 99 new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V const-string v1, "https://sdk-api-v1.singular.net/api/v1" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-interface {p0}, Lcom/singular/sdk/internal/Api;->getPath()Ljava/lang/String; move-result-object v1 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 return-object v0 .end method .method public makeRequest(Lcom/singular/sdk/internal/SingularInstance;)Z .locals 6 .line 104 invoke-virtual {p0}, Lcom/singular/sdk/internal/BaseApi;->getUrl()Ljava/lang/String; move-result-object v1 invoke-virtual {p0}, Lcom/singular/sdk/internal/BaseApi;->getParams()Ljava/util/Map; move-result-object v2 invoke-virtual {p0}, Lcom/singular/sdk/internal/BaseApi;->getTimestamp()J move-result-wide v3 invoke-interface {p0}, Lcom/singular/sdk/internal/Api;->getOnApiCallback()Lcom/singular/sdk/internal/Api$OnApiCallback; move-result-object v5 move-object v0, p1 invoke-static/range {v0 .. v5}, Lcom/singular/sdk/internal/SingularRequestHandler;->makeRequest(Lcom/singular/sdk/internal/SingularInstance;Ljava/lang/String;Ljava/util/Map;JLcom/singular/sdk/internal/Api$OnApiCallback;)Z move-result p1 return p1 .end method .method public toJsonAsString()Ljava/lang/String; .locals 1 .line 110 new-instance v0, Lorg/json/JSONObject; invoke-direct {v0, p0}, Lorg/json/JSONObject;->(Ljava/util/Map;)V .line 112 invoke-virtual {v0}, Lorg/json/JSONObject;->toString()Ljava/lang/String; move-result-object v0 return-object v0 .end method