.class public Lcom/firemint/realracing/Http; .super Ljava/lang/Object; .source "SourceFile" # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Lcom/firemint/realracing/Http$HttpThread; } .end annotation # static fields .field static final synthetic $assertionsDisabled:Z = false .field private static s_sslContextInit:Z = false .field private static s_userAgent:Ljava/lang/String; # instance fields .field m_callbackPointer:J .field m_data:[B .field m_readCapacity:I .field m_thread:Ljava/lang/Thread; .field m_url:Ljava/lang/String; # direct methods .method public static bridge synthetic -$$Nest$mcompleteCallback(Lcom/firemint/realracing/Http;J)V .locals 0 .line 0 invoke-direct {p0, p1, p2}, Lcom/firemint/realracing/Http;->completeCallback(J)V return-void .end method .method public static bridge synthetic -$$Nest$mdataCallback(Lcom/firemint/realracing/Http;J[BI)V .locals 0 .line 0 invoke-direct {p0, p1, p2, p3, p4}, Lcom/firemint/realracing/Http;->dataCallback(J[BI)V return-void .end method .method public static bridge synthetic -$$Nest$merrorCallback(Lcom/firemint/realracing/Http;J)V .locals 0 .line 0 invoke-direct {p0, p1, p2}, Lcom/firemint/realracing/Http;->errorCallback(J)V return-void .end method .method public static bridge synthetic -$$Nest$mheaderCallback(Lcom/firemint/realracing/Http;JI)V .locals 0 .line 0 invoke-direct {p0, p1, p2, p3}, Lcom/firemint/realracing/Http;->headerCallback(JI)V return-void .end method .method public static bridge synthetic -$$Nest$sfgets_userAgent()Ljava/lang/String; .locals 1 .line 0 sget-object v0, Lcom/firemint/realracing/Http;->s_userAgent:Ljava/lang/String; return-object v0 .end method .method static constructor ()V .locals 0 return-void .end method .method public constructor ()V .locals 3 .line 29 invoke-direct {p0}, Ljava/lang/Object;->()V const-string v0, "" iput-object v0, p0, Lcom/firemint/realracing/Http;->m_url:Ljava/lang/String; const/4 v0, 0x0 iput-object v0, p0, Lcom/firemint/realracing/Http;->m_data:[B const/4 v1, 0x0 iput v1, p0, Lcom/firemint/realracing/Http;->m_readCapacity:I const-wide/16 v1, 0x0 iput-wide v1, p0, Lcom/firemint/realracing/Http;->m_callbackPointer:J iput-object v0, p0, Lcom/firemint/realracing/Http;->m_thread:Ljava/lang/Thread; .line 30 invoke-static {}, Lcom/firemint/realracing/Http;->initUserAgent()V .line 31 invoke-static {}, Lcom/firemint/realracing/Http;->initSSLContext()V return-void .end method .method private native completeCallback(J)V .end method .method private native dataCallback(J[BI)V .end method .method private native errorCallback(J)V .end method .method private native headerCallback(JI)V .end method .method private static initSSLContext()V .locals 5 sget-boolean v0, Lcom/firemint/realracing/Http;->s_sslContextInit:Z if-eqz v0, :cond_0 return-void .line 229 :cond_0 new-instance v0, Lcom/firemint/realracing/Http$1; invoke-direct {v0}, Lcom/firemint/realracing/Http$1;->()V const/4 v1, 0x1 :try_start_0 new-array v2, v1, [Ljavax/net/ssl/TrustManager; const/4 v3, 0x0 aput-object v0, v2, v3 const-string v0, "TLS" .line 241 invoke-static {v0}, Ljavax/net/ssl/SSLContext;->getInstance(Ljava/lang/String;)Ljavax/net/ssl/SSLContext; move-result-object v0 .line 242 new-instance v3, Ljava/security/SecureRandom; invoke-direct {v3}, Ljava/security/SecureRandom;->()V const/4 v4, 0x0 invoke-virtual {v0, v4, v2, v3}, Ljavax/net/ssl/SSLContext;->init([Ljavax/net/ssl/KeyManager;[Ljavax/net/ssl/TrustManager;Ljava/security/SecureRandom;)V .line 245 invoke-virtual {v0}, Ljavax/net/ssl/SSLContext;->getSocketFactory()Ljavax/net/ssl/SSLSocketFactory; move-result-object v0 invoke-static {v0}, Ljavax/net/ssl/HttpsURLConnection;->setDefaultSSLSocketFactory(Ljavax/net/ssl/SSLSocketFactory;)V .line 246 sget-object v0, Lorg/apache/http/conn/ssl/SSLSocketFactory;->ALLOW_ALL_HOSTNAME_VERIFIER:Lorg/apache/http/conn/ssl/X509HostnameVerifier; invoke-static {v0}, Ljavax/net/ssl/HttpsURLConnection;->setDefaultHostnameVerifier(Ljavax/net/ssl/HostnameVerifier;)V :try_end_0 .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0 goto :goto_0 :catch_0 const-string v0, "RealRacing3" const-string v2, "Exception when trying to init SSLContext!" .line 250 invoke-static {v0, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I :goto_0 sput-boolean v1, Lcom/firemint/realracing/Http;->s_sslContextInit:Z return-void .end method .method private static initUserAgent()V .locals 2 sget-object v0, Lcom/firemint/realracing/Http;->s_userAgent:Ljava/lang/String; if-eqz v0, :cond_0 return-void .line 214 :cond_0 new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V invoke-static {}, Lcom/firemint/realracing/Platform;->getAppName()Ljava/lang/String; move-result-object v1 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v1, "/" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-static {}, Lcom/firemint/realracing/Platform;->getAppVersion()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 .line 215 new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;->()V invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v0, " " invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v0, "http.agent" invoke-static {v0}, Ljava/lang/System;->getProperty(Ljava/lang/String;)Ljava/lang/String; move-result-object v0 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 sput-object v0, Lcom/firemint/realracing/Http;->s_userAgent:Ljava/lang/String; return-void .end method # virtual methods .method public close()V .locals 2 const-wide/16 v0, 0x0 iput-wide v0, p0, Lcom/firemint/realracing/Http;->m_callbackPointer:J const/4 v0, 0x0 iput-object v0, p0, Lcom/firemint/realracing/Http;->m_thread:Ljava/lang/Thread; return-void .end method .method public init(Ljava/lang/String;[BIJ)V .locals 0 iput-object p1, p0, Lcom/firemint/realracing/Http;->m_url:Ljava/lang/String; iput-object p2, p0, Lcom/firemint/realracing/Http;->m_data:[B iput p3, p0, Lcom/firemint/realracing/Http;->m_readCapacity:I iput-wide p4, p0, Lcom/firemint/realracing/Http;->m_callbackPointer:J return-void .end method .method public isClosed()Z .locals 4 iget-wide v0, p0, Lcom/firemint/realracing/Http;->m_callbackPointer:J const-wide/16 v2, 0x0 cmp-long v0, v0, v2 if-nez v0, :cond_0 const/4 v0, 0x1 goto :goto_0 :cond_0 const/4 v0, 0x0 :goto_0 return v0 .end method .method public post()V .locals 2 .line 59 new-instance v0, Lcom/firemint/realracing/Http$HttpThread; const/4 v1, 0x0 invoke-direct {v0, p0, v1}, Lcom/firemint/realracing/Http$HttpThread;->(Lcom/firemint/realracing/Http;Lcom/firemint/realracing/Http$HttpThread-IA;)V iput-object v0, p0, Lcom/firemint/realracing/Http;->m_thread:Ljava/lang/Thread; .line 60 invoke-virtual {v0}, Ljava/lang/Thread;->start()V return-void .end method