.class public Lcom/google/firebase/crashlytics/internal/settings/DefaultSettingsSpiCall; .super Ljava/lang/Object; .source "SourceFile" # interfaces .implements Lcom/google/firebase/crashlytics/internal/settings/SettingsSpiCall; # instance fields .field public final logger:Lcom/google/firebase/crashlytics/internal/Logger; .field public final requestFactory:Lcom/google/firebase/crashlytics/internal/network/HttpRequestFactory; .field public final url:Ljava/lang/String; # direct methods .method public constructor (Ljava/lang/String;Lcom/google/firebase/crashlytics/internal/network/HttpRequestFactory;)V .locals 1 .line 67 invoke-static {}, Lcom/google/firebase/crashlytics/internal/Logger;->getLogger()Lcom/google/firebase/crashlytics/internal/Logger; move-result-object v0 invoke-direct {p0, p1, p2, v0}, Lcom/google/firebase/crashlytics/internal/settings/DefaultSettingsSpiCall;->(Ljava/lang/String;Lcom/google/firebase/crashlytics/internal/network/HttpRequestFactory;Lcom/google/firebase/crashlytics/internal/Logger;)V return-void .end method .method public constructor (Ljava/lang/String;Lcom/google/firebase/crashlytics/internal/network/HttpRequestFactory;Lcom/google/firebase/crashlytics/internal/Logger;)V .locals 0 .line 71 invoke-direct {p0}, Ljava/lang/Object;->()V if-eqz p1, :cond_0 iput-object p3, p0, Lcom/google/firebase/crashlytics/internal/settings/DefaultSettingsSpiCall;->logger:Lcom/google/firebase/crashlytics/internal/Logger; iput-object p2, p0, Lcom/google/firebase/crashlytics/internal/settings/DefaultSettingsSpiCall;->requestFactory:Lcom/google/firebase/crashlytics/internal/network/HttpRequestFactory; iput-object p1, p0, Lcom/google/firebase/crashlytics/internal/settings/DefaultSettingsSpiCall;->url:Ljava/lang/String; return-void .line 73 :cond_0 new-instance p1, Ljava/lang/IllegalArgumentException; const-string p2, "url must not be null." invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p1 .end method # virtual methods .method public final applyHeadersTo(Lcom/google/firebase/crashlytics/internal/network/HttpGetRequest;Lcom/google/firebase/crashlytics/internal/settings/SettingsRequest;)Lcom/google/firebase/crashlytics/internal/network/HttpGetRequest; .locals 2 .line 175 iget-object v0, p2, Lcom/google/firebase/crashlytics/internal/settings/SettingsRequest;->googleAppId:Ljava/lang/String; const-string v1, "X-CRASHLYTICS-GOOGLE-APP-ID" invoke-virtual {p0, p1, v1, v0}, Lcom/google/firebase/crashlytics/internal/settings/DefaultSettingsSpiCall;->applyNonNullHeader(Lcom/google/firebase/crashlytics/internal/network/HttpGetRequest;Ljava/lang/String;Ljava/lang/String;)V const-string v0, "X-CRASHLYTICS-API-CLIENT-TYPE" const-string v1, "android" .line 176 invoke-virtual {p0, p1, v0, v1}, Lcom/google/firebase/crashlytics/internal/settings/DefaultSettingsSpiCall;->applyNonNullHeader(Lcom/google/firebase/crashlytics/internal/network/HttpGetRequest;Ljava/lang/String;Ljava/lang/String;)V const-string v0, "X-CRASHLYTICS-API-CLIENT-VERSION" .line 177 invoke-static {}, Lcom/google/firebase/crashlytics/internal/common/CrashlyticsCore;->getVersion()Ljava/lang/String; move-result-object v1 invoke-virtual {p0, p1, v0, v1}, Lcom/google/firebase/crashlytics/internal/settings/DefaultSettingsSpiCall;->applyNonNullHeader(Lcom/google/firebase/crashlytics/internal/network/HttpGetRequest;Ljava/lang/String;Ljava/lang/String;)V const-string v0, "Accept" const-string v1, "application/json" .line 178 invoke-virtual {p0, p1, v0, v1}, Lcom/google/firebase/crashlytics/internal/settings/DefaultSettingsSpiCall;->applyNonNullHeader(Lcom/google/firebase/crashlytics/internal/network/HttpGetRequest;Ljava/lang/String;Ljava/lang/String;)V const-string v0, "X-CRASHLYTICS-DEVICE-MODEL" .line 179 iget-object v1, p2, Lcom/google/firebase/crashlytics/internal/settings/SettingsRequest;->deviceModel:Ljava/lang/String; invoke-virtual {p0, p1, v0, v1}, Lcom/google/firebase/crashlytics/internal/settings/DefaultSettingsSpiCall;->applyNonNullHeader(Lcom/google/firebase/crashlytics/internal/network/HttpGetRequest;Ljava/lang/String;Ljava/lang/String;)V const-string v0, "X-CRASHLYTICS-OS-BUILD-VERSION" .line 180 iget-object v1, p2, Lcom/google/firebase/crashlytics/internal/settings/SettingsRequest;->osBuildVersion:Ljava/lang/String; invoke-virtual {p0, p1, v0, v1}, Lcom/google/firebase/crashlytics/internal/settings/DefaultSettingsSpiCall;->applyNonNullHeader(Lcom/google/firebase/crashlytics/internal/network/HttpGetRequest;Ljava/lang/String;Ljava/lang/String;)V const-string v0, "X-CRASHLYTICS-OS-DISPLAY-VERSION" .line 181 iget-object v1, p2, Lcom/google/firebase/crashlytics/internal/settings/SettingsRequest;->osDisplayVersion:Ljava/lang/String; invoke-virtual {p0, p1, v0, v1}, Lcom/google/firebase/crashlytics/internal/settings/DefaultSettingsSpiCall;->applyNonNullHeader(Lcom/google/firebase/crashlytics/internal/network/HttpGetRequest;Ljava/lang/String;Ljava/lang/String;)V .line 182 iget-object p2, p2, Lcom/google/firebase/crashlytics/internal/settings/SettingsRequest;->installIdProvider:Lcom/google/firebase/crashlytics/internal/common/InstallIdProvider; .line 185 invoke-interface {p2}, Lcom/google/firebase/crashlytics/internal/common/InstallIdProvider;->getInstallIds()Lcom/google/firebase/crashlytics/internal/common/InstallIdProvider$InstallIds; move-result-object p2 invoke-virtual {p2}, Lcom/google/firebase/crashlytics/internal/common/InstallIdProvider$InstallIds;->getCrashlyticsInstallId()Ljava/lang/String; move-result-object p2 const-string v0, "X-CRASHLYTICS-INSTALLATION-ID" .line 182 invoke-virtual {p0, p1, v0, p2}, Lcom/google/firebase/crashlytics/internal/settings/DefaultSettingsSpiCall;->applyNonNullHeader(Lcom/google/firebase/crashlytics/internal/network/HttpGetRequest;Ljava/lang/String;Ljava/lang/String;)V return-object p1 .end method .method public final applyNonNullHeader(Lcom/google/firebase/crashlytics/internal/network/HttpGetRequest;Ljava/lang/String;Ljava/lang/String;)V .locals 0 if-eqz p3, :cond_0 .line 192 invoke-virtual {p1, p2, p3}, Lcom/google/firebase/crashlytics/internal/network/HttpGetRequest;->header(Ljava/lang/String;Ljava/lang/String;)Lcom/google/firebase/crashlytics/internal/network/HttpGetRequest; :cond_0 return-void .end method .method public createHttpGetRequest(Ljava/util/Map;)Lcom/google/firebase/crashlytics/internal/network/HttpGetRequest; .locals 2 iget-object v0, p0, Lcom/google/firebase/crashlytics/internal/settings/DefaultSettingsSpiCall;->requestFactory:Lcom/google/firebase/crashlytics/internal/network/HttpRequestFactory; iget-object v1, p0, Lcom/google/firebase/crashlytics/internal/settings/DefaultSettingsSpiCall;->url:Ljava/lang/String; .line 91 invoke-virtual {v0, v1, p1}, Lcom/google/firebase/crashlytics/internal/network/HttpRequestFactory;->buildHttpGetRequest(Ljava/lang/String;Ljava/util/Map;)Lcom/google/firebase/crashlytics/internal/network/HttpGetRequest; move-result-object p1 .line 92 new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V const-string v1, "Crashlytics Android SDK/" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; .line 93 invoke-static {}, Lcom/google/firebase/crashlytics/internal/common/CrashlyticsCore;->getVersion()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 const-string v1, "User-Agent" invoke-virtual {p1, v1, v0}, Lcom/google/firebase/crashlytics/internal/network/HttpGetRequest;->header(Ljava/lang/String;Ljava/lang/String;)Lcom/google/firebase/crashlytics/internal/network/HttpGetRequest; move-result-object p1 const-string v0, "X-CRASHLYTICS-DEVELOPER-TOKEN" const-string v1, "470fa2b4ae81cd56ecbcda9735803434cec591fa" .line 94 invoke-virtual {p1, v0, v1}, Lcom/google/firebase/crashlytics/internal/network/HttpGetRequest;->header(Ljava/lang/String;Ljava/lang/String;)Lcom/google/firebase/crashlytics/internal/network/HttpGetRequest; move-result-object p1 return-object p1 .end method .method public final getJsonObjectFrom(Ljava/lang/String;)Lorg/json/JSONObject; .locals 4 .line 150 :try_start_0 new-instance v0, Lorg/json/JSONObject; invoke-direct {v0, p1}, Lorg/json/JSONObject;->(Ljava/lang/String;)V :try_end_0 .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0 return-object v0 :catch_0 move-exception v0 iget-object v1, p0, Lcom/google/firebase/crashlytics/internal/settings/DefaultSettingsSpiCall;->logger:Lcom/google/firebase/crashlytics/internal/Logger; .line 152 new-instance v2, Ljava/lang/StringBuilder; invoke-direct {v2}, Ljava/lang/StringBuilder;->()V const-string v3, "Failed to parse settings JSON from " invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget-object v3, p0, Lcom/google/firebase/crashlytics/internal/settings/DefaultSettingsSpiCall;->url:Ljava/lang/String; invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v2 invoke-virtual {v1, v2, v0}, Lcom/google/firebase/crashlytics/internal/Logger;->w(Ljava/lang/String;Ljava/lang/Throwable;)V iget-object v0, p0, Lcom/google/firebase/crashlytics/internal/settings/DefaultSettingsSpiCall;->logger:Lcom/google/firebase/crashlytics/internal/Logger; .line 153 new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;->()V const-string v2, "Settings response " invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 invoke-virtual {v0, p1}, Lcom/google/firebase/crashlytics/internal/Logger;->w(Ljava/lang/String;)V const/4 p1, 0x0 return-object p1 .end method .method public final getQueryParamsFor(Lcom/google/firebase/crashlytics/internal/settings/SettingsRequest;)Ljava/util/Map; .locals 3 .line 159 new-instance v0, Ljava/util/HashMap; invoke-direct {v0}, Ljava/util/HashMap;->()V .line 160 iget-object v1, p1, Lcom/google/firebase/crashlytics/internal/settings/SettingsRequest;->buildVersion:Ljava/lang/String; const-string v2, "build_version" invoke-interface {v0, v2, v1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; const-string v1, "display_version" .line 161 iget-object v2, p1, Lcom/google/firebase/crashlytics/internal/settings/SettingsRequest;->displayVersion:Ljava/lang/String; invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 162 iget v1, p1, Lcom/google/firebase/crashlytics/internal/settings/SettingsRequest;->source:I invoke-static {v1}, Ljava/lang/Integer;->toString(I)Ljava/lang/String; move-result-object v1 const-string v2, "source" invoke-interface {v0, v2, v1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 164 iget-object p1, p1, Lcom/google/firebase/crashlytics/internal/settings/SettingsRequest;->instanceId:Ljava/lang/String; .line 165 invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z move-result v1 if-nez v1, :cond_0 const-string v1, "instance" .line 166 invoke-interface {v0, v1, p1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; :cond_0 return-object v0 .end method .method public handleResponse(Lcom/google/firebase/crashlytics/internal/network/HttpResponse;)Lorg/json/JSONObject; .locals 4 .line 123 invoke-virtual {p1}, Lcom/google/firebase/crashlytics/internal/network/HttpResponse;->code()I move-result v0 iget-object v1, p0, Lcom/google/firebase/crashlytics/internal/settings/DefaultSettingsSpiCall;->logger:Lcom/google/firebase/crashlytics/internal/Logger; .line 124 new-instance v2, Ljava/lang/StringBuilder; invoke-direct {v2}, Ljava/lang/StringBuilder;->()V const-string v3, "Settings response code was: " invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v2 invoke-virtual {v1, v2}, Lcom/google/firebase/crashlytics/internal/Logger;->v(Ljava/lang/String;)V .line 127 invoke-virtual {p0, v0}, Lcom/google/firebase/crashlytics/internal/settings/DefaultSettingsSpiCall;->requestWasSuccessful(I)Z move-result v1 if-eqz v1, :cond_0 .line 128 invoke-virtual {p1}, Lcom/google/firebase/crashlytics/internal/network/HttpResponse;->body()Ljava/lang/String; move-result-object p1 invoke-virtual {p0, p1}, Lcom/google/firebase/crashlytics/internal/settings/DefaultSettingsSpiCall;->getJsonObjectFrom(Ljava/lang/String;)Lorg/json/JSONObject; move-result-object p1 goto :goto_0 :cond_0 iget-object p1, p0, Lcom/google/firebase/crashlytics/internal/settings/DefaultSettingsSpiCall;->logger:Lcom/google/firebase/crashlytics/internal/Logger; .line 130 new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;->()V const-string v2, "Settings request failed; (status: " invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; const-string v0, ") from " invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget-object v0, p0, Lcom/google/firebase/crashlytics/internal/settings/DefaultSettingsSpiCall;->url:Ljava/lang/String; invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 invoke-virtual {p1, v0}, Lcom/google/firebase/crashlytics/internal/Logger;->e(Ljava/lang/String;)V const/4 p1, 0x0 :goto_0 return-object p1 .end method .method public invoke(Lcom/google/firebase/crashlytics/internal/settings/SettingsRequest;Z)Lorg/json/JSONObject; .locals 3 if-eqz p2, :cond_0 .line 105 :try_start_0 invoke-virtual {p0, p1}, Lcom/google/firebase/crashlytics/internal/settings/DefaultSettingsSpiCall;->getQueryParamsFor(Lcom/google/firebase/crashlytics/internal/settings/SettingsRequest;)Ljava/util/Map; move-result-object p2 .line 106 invoke-virtual {p0, p2}, Lcom/google/firebase/crashlytics/internal/settings/DefaultSettingsSpiCall;->createHttpGetRequest(Ljava/util/Map;)Lcom/google/firebase/crashlytics/internal/network/HttpGetRequest; move-result-object v0 .line 107 invoke-virtual {p0, v0, p1}, Lcom/google/firebase/crashlytics/internal/settings/DefaultSettingsSpiCall;->applyHeadersTo(Lcom/google/firebase/crashlytics/internal/network/HttpGetRequest;Lcom/google/firebase/crashlytics/internal/settings/SettingsRequest;)Lcom/google/firebase/crashlytics/internal/network/HttpGetRequest; move-result-object p1 iget-object v0, p0, Lcom/google/firebase/crashlytics/internal/settings/DefaultSettingsSpiCall;->logger:Lcom/google/firebase/crashlytics/internal/Logger; .line 109 new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;->()V const-string v2, "Requesting settings from " invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget-object v2, p0, Lcom/google/firebase/crashlytics/internal/settings/DefaultSettingsSpiCall;->url:Ljava/lang/String; invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 invoke-virtual {v0, v1}, Lcom/google/firebase/crashlytics/internal/Logger;->d(Ljava/lang/String;)V iget-object v0, p0, Lcom/google/firebase/crashlytics/internal/settings/DefaultSettingsSpiCall;->logger:Lcom/google/firebase/crashlytics/internal/Logger; .line 110 new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;->()V const-string v2, "Settings query params were: " invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p2 invoke-virtual {v0, p2}, Lcom/google/firebase/crashlytics/internal/Logger;->v(Ljava/lang/String;)V .line 112 invoke-virtual {p1}, Lcom/google/firebase/crashlytics/internal/network/HttpGetRequest;->execute()Lcom/google/firebase/crashlytics/internal/network/HttpResponse; move-result-object p1 .line 113 invoke-virtual {p0, p1}, Lcom/google/firebase/crashlytics/internal/settings/DefaultSettingsSpiCall;->handleResponse(Lcom/google/firebase/crashlytics/internal/network/HttpResponse;)Lorg/json/JSONObject; move-result-object p1 :try_end_0 .catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0 goto :goto_0 :catch_0 move-exception p1 iget-object p2, p0, Lcom/google/firebase/crashlytics/internal/settings/DefaultSettingsSpiCall;->logger:Lcom/google/firebase/crashlytics/internal/Logger; const-string v0, "Settings request failed." .line 115 invoke-virtual {p2, v0, p1}, Lcom/google/firebase/crashlytics/internal/Logger;->e(Ljava/lang/String;Ljava/lang/Throwable;)V const/4 p1, 0x0 :goto_0 return-object p1 .line 100 :cond_0 new-instance p1, Ljava/lang/RuntimeException; const-string p2, "An invalid data collection token was used." invoke-direct {p1, p2}, Ljava/lang/RuntimeException;->(Ljava/lang/String;)V throw p1 .end method .method public requestWasSuccessful(I)Z .locals 1 const/16 v0, 0xc8 if-eq p1, v0, :cond_1 const/16 v0, 0xc9 if-eq p1, v0, :cond_1 const/16 v0, 0xca if-eq p1, v0, :cond_1 const/16 v0, 0xcb if-ne p1, v0, :cond_0 goto :goto_0 :cond_0 const/4 p1, 0x0 goto :goto_1 :cond_1 :goto_0 const/4 p1, 0x1 :goto_1 return p1 .end method