.class Lcom/vilyever/socketclient/SocketClient$ReceiveThread; .super Ljava/lang/Thread; .source "SocketClient.java" # annotations .annotation system Ldalvik/annotation/EnclosingClass; value = Lcom/vilyever/socketclient/SocketClient; .end annotation .annotation system Ldalvik/annotation/InnerClass; accessFlags = 0x2 name = "ReceiveThread" .end annotation # instance fields .field final synthetic this$0:Lcom/vilyever/socketclient/SocketClient; # direct methods .method private constructor (Lcom/vilyever/socketclient/SocketClient;)V .locals 0 .line 1206 iput-object p1, p0, Lcom/vilyever/socketclient/SocketClient$ReceiveThread;->this$0:Lcom/vilyever/socketclient/SocketClient; invoke-direct {p0}, Ljava/lang/Thread;->()V return-void .end method .method synthetic constructor (Lcom/vilyever/socketclient/SocketClient;Lcom/vilyever/socketclient/SocketClient$1;)V .locals 0 .line 1206 invoke-direct {p0, p1}, Lcom/vilyever/socketclient/SocketClient$ReceiveThread;->(Lcom/vilyever/socketclient/SocketClient;)V return-void .end method # virtual methods .method public run()V .locals 18 move-object/from16 v0, p0 .line 1209 invoke-super/range {p0 .. p0}, Ljava/lang/Thread;->run()V .line 1211 iget-object v1, v0, Lcom/vilyever/socketclient/SocketClient$ReceiveThread;->this$0:Lcom/vilyever/socketclient/SocketClient; iget-object v1, v1, Lcom/vilyever/socketclient/SocketClient;->self:Lcom/vilyever/socketclient/SocketClient; invoke-virtual {v1}, Lcom/vilyever/socketclient/SocketClient;->getSocketConfigure()Lcom/vilyever/socketclient/helper/SocketConfigure; move-result-object v1 invoke-virtual {v1}, Lcom/vilyever/socketclient/helper/SocketConfigure;->getSocketPacketHelper()Lcom/vilyever/socketclient/helper/SocketPacketHelper; move-result-object v1 invoke-virtual {v1}, Lcom/vilyever/socketclient/helper/SocketPacketHelper;->getReadStrategy()Lcom/vilyever/socketclient/helper/SocketPacketHelper$ReadStrategy; move-result-object v1 sget-object v2, Lcom/vilyever/socketclient/helper/SocketPacketHelper$ReadStrategy;->Manually:Lcom/vilyever/socketclient/helper/SocketPacketHelper$ReadStrategy; if-ne v1, v2, :cond_0 return-void :cond_0 :goto_0 const/4 v1, 0x0 .line 1216 :try_start_0 iget-object v2, v0, Lcom/vilyever/socketclient/SocketClient$ReceiveThread;->this$0:Lcom/vilyever/socketclient/SocketClient; iget-object v2, v2, Lcom/vilyever/socketclient/SocketClient;->self:Lcom/vilyever/socketclient/SocketClient; invoke-virtual {v2}, Lcom/vilyever/socketclient/SocketClient;->isConnected()Z move-result v2 if-eqz v2, :cond_e iget-object v2, v0, Lcom/vilyever/socketclient/SocketClient$ReceiveThread;->this$0:Lcom/vilyever/socketclient/SocketClient; iget-object v2, v2, Lcom/vilyever/socketclient/SocketClient;->self:Lcom/vilyever/socketclient/SocketClient; .line 1217 invoke-virtual {v2}, Lcom/vilyever/socketclient/SocketClient;->getSocketInputReader()Lcom/vilyever/socketclient/helper/SocketInputReader; move-result-object v2 if-eqz v2, :cond_e .line 1218 invoke-static {}, Ljava/lang/Thread;->interrupted()Z move-result v2 if-nez v2, :cond_e .line 1219 new-instance v2, Lcom/vilyever/socketclient/helper/SocketResponsePacket; invoke-direct {v2}, Lcom/vilyever/socketclient/helper/SocketResponsePacket;->()V .line 1220 iget-object v3, v0, Lcom/vilyever/socketclient/SocketClient$ReceiveThread;->this$0:Lcom/vilyever/socketclient/SocketClient; iget-object v3, v3, Lcom/vilyever/socketclient/SocketClient;->self:Lcom/vilyever/socketclient/SocketClient; invoke-virtual {v3, v2}, Lcom/vilyever/socketclient/SocketClient;->setReceivingResponsePacket(Lcom/vilyever/socketclient/helper/SocketResponsePacket;)Lcom/vilyever/socketclient/SocketClient; .line 1222 iget-object v3, v0, Lcom/vilyever/socketclient/SocketClient$ReceiveThread;->this$0:Lcom/vilyever/socketclient/SocketClient; iget-object v3, v3, Lcom/vilyever/socketclient/SocketClient;->self:Lcom/vilyever/socketclient/SocketClient; invoke-virtual {v3}, Lcom/vilyever/socketclient/SocketClient;->getSocketConfigure()Lcom/vilyever/socketclient/helper/SocketConfigure; move-result-object v3 invoke-virtual {v3}, Lcom/vilyever/socketclient/helper/SocketConfigure;->getSocketPacketHelper()Lcom/vilyever/socketclient/helper/SocketPacketHelper; move-result-object v3 invoke-virtual {v3}, Lcom/vilyever/socketclient/helper/SocketPacketHelper;->getReceiveHeaderData()[B move-result-object v3 const/4 v10, 0x0 if-nez v3, :cond_1 move v11, v10 goto :goto_1 .line 1223 :cond_1 array-length v4, v3 move v11, v4 .line 1225 :goto_1 iget-object v4, v0, Lcom/vilyever/socketclient/SocketClient$ReceiveThread;->this$0:Lcom/vilyever/socketclient/SocketClient; iget-object v4, v4, Lcom/vilyever/socketclient/SocketClient;->self:Lcom/vilyever/socketclient/SocketClient; invoke-virtual {v4}, Lcom/vilyever/socketclient/SocketClient;->getSocketConfigure()Lcom/vilyever/socketclient/helper/SocketConfigure; move-result-object v4 invoke-virtual {v4}, Lcom/vilyever/socketclient/helper/SocketConfigure;->getSocketPacketHelper()Lcom/vilyever/socketclient/helper/SocketPacketHelper; move-result-object v4 invoke-virtual {v4}, Lcom/vilyever/socketclient/helper/SocketPacketHelper;->getReceiveTrailerData()[B move-result-object v4 if-nez v4, :cond_2 move v12, v10 goto :goto_2 .line 1226 :cond_2 array-length v5, v4 move v12, v5 .line 1228 :goto_2 iget-object v5, v0, Lcom/vilyever/socketclient/SocketClient$ReceiveThread;->this$0:Lcom/vilyever/socketclient/SocketClient; iget-object v5, v5, Lcom/vilyever/socketclient/SocketClient;->self:Lcom/vilyever/socketclient/SocketClient; invoke-virtual {v5}, Lcom/vilyever/socketclient/SocketClient;->getSocketConfigure()Lcom/vilyever/socketclient/helper/SocketConfigure; move-result-object v5 invoke-virtual {v5}, Lcom/vilyever/socketclient/helper/SocketConfigure;->getSocketPacketHelper()Lcom/vilyever/socketclient/helper/SocketPacketHelper; move-result-object v5 invoke-virtual {v5}, Lcom/vilyever/socketclient/helper/SocketPacketHelper;->getReceivePacketLengthDataLength()I move-result v13 .line 1233 iget-object v5, v0, Lcom/vilyever/socketclient/SocketClient$ReceiveThread;->this$0:Lcom/vilyever/socketclient/SocketClient; iget-object v5, v5, Lcom/vilyever/socketclient/SocketClient;->self:Lcom/vilyever/socketclient/SocketClient; invoke-static {v5, v2}, Lcom/vilyever/socketclient/SocketClient;->access$200(Lcom/vilyever/socketclient/SocketClient;Lcom/vilyever/socketclient/helper/SocketResponsePacket;)V if-lez v11, :cond_3 .line 1236 iget-object v5, v0, Lcom/vilyever/socketclient/SocketClient$ReceiveThread;->this$0:Lcom/vilyever/socketclient/SocketClient; iget-object v5, v5, Lcom/vilyever/socketclient/SocketClient;->self:Lcom/vilyever/socketclient/SocketClient; invoke-virtual {v5}, Lcom/vilyever/socketclient/SocketClient;->getSocketInputReader()Lcom/vilyever/socketclient/helper/SocketInputReader; move-result-object v5 const/4 v6, 0x1 invoke-virtual {v5, v3, v6}, Lcom/vilyever/socketclient/helper/SocketInputReader;->readToData([BZ)[B move-result-object v3 .line 1237 iget-object v5, v0, Lcom/vilyever/socketclient/SocketClient$ReceiveThread;->this$0:Lcom/vilyever/socketclient/SocketClient; iget-object v5, v5, Lcom/vilyever/socketclient/SocketClient;->self:Lcom/vilyever/socketclient/SocketClient; invoke-static {}, Ljava/lang/System;->currentTimeMillis()J move-result-wide v6 invoke-virtual {v5, v6, v7}, Lcom/vilyever/socketclient/SocketClient;->setLastReceiveMessageTime(J)Lcom/vilyever/socketclient/SocketClient; .line 1238 invoke-virtual {v2, v3}, Lcom/vilyever/socketclient/helper/SocketResponsePacket;->setHeaderData([B)Lcom/vilyever/socketclient/helper/SocketResponsePacket; add-int/lit8 v3, v11, 0x0 goto :goto_3 :cond_3 move v3, v10 .line 1243 :goto_3 iget-object v5, v0, Lcom/vilyever/socketclient/SocketClient$ReceiveThread;->this$0:Lcom/vilyever/socketclient/SocketClient; iget-object v5, v5, Lcom/vilyever/socketclient/SocketClient;->self:Lcom/vilyever/socketclient/SocketClient; invoke-virtual {v5}, Lcom/vilyever/socketclient/SocketClient;->getSocketConfigure()Lcom/vilyever/socketclient/helper/SocketConfigure; move-result-object v5 invoke-virtual {v5}, Lcom/vilyever/socketclient/helper/SocketConfigure;->getSocketPacketHelper()Lcom/vilyever/socketclient/helper/SocketPacketHelper; move-result-object v5 invoke-virtual {v5}, Lcom/vilyever/socketclient/helper/SocketPacketHelper;->getReadStrategy()Lcom/vilyever/socketclient/helper/SocketPacketHelper$ReadStrategy; move-result-object v5 sget-object v6, Lcom/vilyever/socketclient/helper/SocketPacketHelper$ReadStrategy;->AutoReadByLength:Lcom/vilyever/socketclient/helper/SocketPacketHelper$ReadStrategy; if-ne v5, v6, :cond_a if-gez v13, :cond_4 .line 1245 iget-object v4, v0, Lcom/vilyever/socketclient/SocketClient$ReceiveThread;->this$0:Lcom/vilyever/socketclient/SocketClient; iget-object v4, v4, Lcom/vilyever/socketclient/SocketClient;->self:Lcom/vilyever/socketclient/SocketClient; invoke-static {v4, v2}, Lcom/vilyever/socketclient/SocketClient;->access$500(Lcom/vilyever/socketclient/SocketClient;Lcom/vilyever/socketclient/helper/SocketResponsePacket;)V .line 1246 iget-object v4, v0, Lcom/vilyever/socketclient/SocketClient$ReceiveThread;->this$0:Lcom/vilyever/socketclient/SocketClient; iget-object v4, v4, Lcom/vilyever/socketclient/SocketClient;->self:Lcom/vilyever/socketclient/SocketClient; invoke-virtual {v4, v1}, Lcom/vilyever/socketclient/SocketClient;->setReceivingResponsePacket(Lcom/vilyever/socketclient/helper/SocketResponsePacket;)Lcom/vilyever/socketclient/SocketClient; goto :goto_4 :cond_4 if-nez v13, :cond_5 .line 1249 iget-object v4, v0, Lcom/vilyever/socketclient/SocketClient$ReceiveThread;->this$0:Lcom/vilyever/socketclient/SocketClient; iget-object v4, v4, Lcom/vilyever/socketclient/SocketClient;->self:Lcom/vilyever/socketclient/SocketClient; invoke-static {v4, v2}, Lcom/vilyever/socketclient/SocketClient;->access$300(Lcom/vilyever/socketclient/SocketClient;Lcom/vilyever/socketclient/helper/SocketResponsePacket;)V .line 1250 iget-object v4, v0, Lcom/vilyever/socketclient/SocketClient$ReceiveThread;->this$0:Lcom/vilyever/socketclient/SocketClient; iget-object v4, v4, Lcom/vilyever/socketclient/SocketClient;->self:Lcom/vilyever/socketclient/SocketClient; invoke-virtual {v4, v1}, Lcom/vilyever/socketclient/SocketClient;->setReceivingResponsePacket(Lcom/vilyever/socketclient/helper/SocketResponsePacket;)Lcom/vilyever/socketclient/SocketClient; .line 1253 :cond_5 :goto_4 iget-object v4, v0, Lcom/vilyever/socketclient/SocketClient$ReceiveThread;->this$0:Lcom/vilyever/socketclient/SocketClient; iget-object v4, v4, Lcom/vilyever/socketclient/SocketClient;->self:Lcom/vilyever/socketclient/SocketClient; invoke-virtual {v4}, Lcom/vilyever/socketclient/SocketClient;->getSocketInputReader()Lcom/vilyever/socketclient/helper/SocketInputReader; move-result-object v4 invoke-virtual {v4, v13}, Lcom/vilyever/socketclient/helper/SocketInputReader;->readToLength(I)[B move-result-object v4 .line 1254 iget-object v5, v0, Lcom/vilyever/socketclient/SocketClient$ReceiveThread;->this$0:Lcom/vilyever/socketclient/SocketClient; iget-object v5, v5, Lcom/vilyever/socketclient/SocketClient;->self:Lcom/vilyever/socketclient/SocketClient; invoke-static {}, Ljava/lang/System;->currentTimeMillis()J move-result-wide v6 invoke-virtual {v5, v6, v7}, Lcom/vilyever/socketclient/SocketClient;->setLastReceiveMessageTime(J)Lcom/vilyever/socketclient/SocketClient; .line 1255 invoke-virtual {v2, v4}, Lcom/vilyever/socketclient/helper/SocketResponsePacket;->setPacketLengthData([B)Lcom/vilyever/socketclient/helper/SocketResponsePacket; add-int/2addr v3, v13 .line 1259 iget-object v5, v0, Lcom/vilyever/socketclient/SocketClient$ReceiveThread;->this$0:Lcom/vilyever/socketclient/SocketClient; iget-object v5, v5, Lcom/vilyever/socketclient/SocketClient;->self:Lcom/vilyever/socketclient/SocketClient; invoke-virtual {v5}, Lcom/vilyever/socketclient/SocketClient;->getSocketConfigure()Lcom/vilyever/socketclient/helper/SocketConfigure; move-result-object v5 invoke-virtual {v5}, Lcom/vilyever/socketclient/helper/SocketConfigure;->getSocketPacketHelper()Lcom/vilyever/socketclient/helper/SocketPacketHelper; move-result-object v5 invoke-virtual {v5, v4}, Lcom/vilyever/socketclient/helper/SocketPacketHelper;->getReceivePacketDataLength([B)I move-result v4 sub-int v14, v4, v12 if-lez v14, :cond_8 .line 1264 iget-object v4, v0, Lcom/vilyever/socketclient/SocketClient$ReceiveThread;->this$0:Lcom/vilyever/socketclient/SocketClient; iget-object v4, v4, Lcom/vilyever/socketclient/SocketClient;->self:Lcom/vilyever/socketclient/SocketClient; invoke-virtual {v4}, Lcom/vilyever/socketclient/SocketClient;->getRunningSocket()Ljava/net/Socket; move-result-object v4 invoke-virtual {v4}, Ljava/net/Socket;->getReceiveBufferSize()I move-result v4 .line 1265 iget-object v5, v0, Lcom/vilyever/socketclient/SocketClient$ReceiveThread;->this$0:Lcom/vilyever/socketclient/SocketClient; iget-object v5, v5, Lcom/vilyever/socketclient/SocketClient;->self:Lcom/vilyever/socketclient/SocketClient; invoke-virtual {v5}, Lcom/vilyever/socketclient/SocketClient;->getSocketConfigure()Lcom/vilyever/socketclient/helper/SocketConfigure; move-result-object v5 invoke-virtual {v5}, Lcom/vilyever/socketclient/helper/SocketConfigure;->getSocketPacketHelper()Lcom/vilyever/socketclient/helper/SocketPacketHelper; move-result-object v5 invoke-virtual {v5}, Lcom/vilyever/socketclient/helper/SocketPacketHelper;->isReceiveSegmentEnabled()Z move-result v5 if-eqz v5, :cond_6 .line 1266 iget-object v5, v0, Lcom/vilyever/socketclient/SocketClient$ReceiveThread;->this$0:Lcom/vilyever/socketclient/SocketClient; iget-object v5, v5, Lcom/vilyever/socketclient/SocketClient;->self:Lcom/vilyever/socketclient/SocketClient; invoke-virtual {v5}, Lcom/vilyever/socketclient/SocketClient;->getSocketConfigure()Lcom/vilyever/socketclient/helper/SocketConfigure; move-result-object v5 invoke-virtual {v5}, Lcom/vilyever/socketclient/helper/SocketConfigure;->getSocketPacketHelper()Lcom/vilyever/socketclient/helper/SocketPacketHelper; move-result-object v5 invoke-virtual {v5}, Lcom/vilyever/socketclient/helper/SocketPacketHelper;->getReceiveSegmentLength()I move-result v5 invoke-static {v4, v5}, Ljava/lang/Math;->min(II)I move-result v4 :cond_6 move v15, v4 move v4, v10 :goto_5 if-ge v4, v14, :cond_9 add-int v5, v4, v15 .line 1271 invoke-static {v5, v14}, Ljava/lang/Math;->min(II)I move-result v16 .line 1272 iget-object v5, v0, Lcom/vilyever/socketclient/SocketClient$ReceiveThread;->this$0:Lcom/vilyever/socketclient/SocketClient; iget-object v5, v5, Lcom/vilyever/socketclient/SocketClient;->self:Lcom/vilyever/socketclient/SocketClient; invoke-virtual {v5}, Lcom/vilyever/socketclient/SocketClient;->getSocketInputReader()Lcom/vilyever/socketclient/helper/SocketInputReader; move-result-object v5 sub-int v4, v16, v4 invoke-virtual {v5, v4}, Lcom/vilyever/socketclient/helper/SocketInputReader;->readToLength(I)[B move-result-object v5 .line 1273 iget-object v6, v0, Lcom/vilyever/socketclient/SocketClient$ReceiveThread;->this$0:Lcom/vilyever/socketclient/SocketClient; iget-object v6, v6, Lcom/vilyever/socketclient/SocketClient;->self:Lcom/vilyever/socketclient/SocketClient; invoke-static {}, Ljava/lang/System;->currentTimeMillis()J move-result-wide v7 invoke-virtual {v6, v7, v8}, Lcom/vilyever/socketclient/SocketClient;->setLastReceiveMessageTime(J)Lcom/vilyever/socketclient/SocketClient; .line 1275 invoke-virtual {v2}, Lcom/vilyever/socketclient/helper/SocketResponsePacket;->getData()[B move-result-object v6 if-nez v6, :cond_7 .line 1276 invoke-virtual {v2, v5}, Lcom/vilyever/socketclient/helper/SocketResponsePacket;->setData([B)Lcom/vilyever/socketclient/helper/SocketResponsePacket; goto :goto_6 .line 1279 :cond_7 invoke-virtual {v2}, Lcom/vilyever/socketclient/helper/SocketResponsePacket;->getData()[B move-result-object v6 array-length v6, v6 array-length v7, v5 add-int/2addr v6, v7 new-array v6, v6, [B .line 1281 invoke-virtual {v2}, Lcom/vilyever/socketclient/helper/SocketResponsePacket;->getData()[B move-result-object v7 invoke-virtual {v2}, Lcom/vilyever/socketclient/helper/SocketResponsePacket;->getData()[B move-result-object v8 array-length v8, v8 invoke-static {v7, v10, v6, v10, v8}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V .line 1282 invoke-virtual {v2}, Lcom/vilyever/socketclient/helper/SocketResponsePacket;->getData()[B move-result-object v7 array-length v7, v7 array-length v8, v5 invoke-static {v5, v10, v6, v7, v8}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V .line 1284 invoke-virtual {v2, v6}, Lcom/vilyever/socketclient/helper/SocketResponsePacket;->setData([B)Lcom/vilyever/socketclient/helper/SocketResponsePacket; :goto_6 add-int v17, v3, v4 .line 1289 iget-object v3, v0, Lcom/vilyever/socketclient/SocketClient$ReceiveThread;->this$0:Lcom/vilyever/socketclient/SocketClient; iget-object v3, v3, Lcom/vilyever/socketclient/SocketClient;->self:Lcom/vilyever/socketclient/SocketClient; move-object v4, v2 move/from16 v5, v17 move v6, v11 move v7, v13 move v8, v14 move v9, v12 invoke-static/range {v3 .. v9}, Lcom/vilyever/socketclient/SocketClient;->access$1500(Lcom/vilyever/socketclient/SocketClient;Lcom/vilyever/socketclient/helper/SocketResponsePacket;IIIII)V move/from16 v4, v16 move/from16 v3, v17 goto :goto_5 :cond_8 if-gez v14, :cond_9 .line 1295 iget-object v4, v0, Lcom/vilyever/socketclient/SocketClient$ReceiveThread;->this$0:Lcom/vilyever/socketclient/SocketClient; iget-object v4, v4, Lcom/vilyever/socketclient/SocketClient;->self:Lcom/vilyever/socketclient/SocketClient; invoke-static {v4, v2}, Lcom/vilyever/socketclient/SocketClient;->access$500(Lcom/vilyever/socketclient/SocketClient;Lcom/vilyever/socketclient/helper/SocketResponsePacket;)V .line 1296 iget-object v4, v0, Lcom/vilyever/socketclient/SocketClient$ReceiveThread;->this$0:Lcom/vilyever/socketclient/SocketClient; iget-object v4, v4, Lcom/vilyever/socketclient/SocketClient;->self:Lcom/vilyever/socketclient/SocketClient; invoke-virtual {v4, v1}, Lcom/vilyever/socketclient/SocketClient;->setReceivingResponsePacket(Lcom/vilyever/socketclient/helper/SocketResponsePacket;)Lcom/vilyever/socketclient/SocketClient; :cond_9 if-lez v12, :cond_c .line 1300 iget-object v4, v0, Lcom/vilyever/socketclient/SocketClient$ReceiveThread;->this$0:Lcom/vilyever/socketclient/SocketClient; iget-object v4, v4, Lcom/vilyever/socketclient/SocketClient;->self:Lcom/vilyever/socketclient/SocketClient; invoke-virtual {v4}, Lcom/vilyever/socketclient/SocketClient;->getSocketInputReader()Lcom/vilyever/socketclient/helper/SocketInputReader; move-result-object v4 invoke-virtual {v4, v12}, Lcom/vilyever/socketclient/helper/SocketInputReader;->readToLength(I)[B move-result-object v4 .line 1301 iget-object v5, v0, Lcom/vilyever/socketclient/SocketClient$ReceiveThread;->this$0:Lcom/vilyever/socketclient/SocketClient; iget-object v5, v5, Lcom/vilyever/socketclient/SocketClient;->self:Lcom/vilyever/socketclient/SocketClient; invoke-static {}, Ljava/lang/System;->currentTimeMillis()J move-result-wide v6 invoke-virtual {v5, v6, v7}, Lcom/vilyever/socketclient/SocketClient;->setLastReceiveMessageTime(J)Lcom/vilyever/socketclient/SocketClient; .line 1302 invoke-virtual {v2, v4}, Lcom/vilyever/socketclient/helper/SocketResponsePacket;->setTrailerData([B)Lcom/vilyever/socketclient/helper/SocketResponsePacket; add-int v5, v3, v12 .line 1306 iget-object v3, v0, Lcom/vilyever/socketclient/SocketClient$ReceiveThread;->this$0:Lcom/vilyever/socketclient/SocketClient; iget-object v3, v3, Lcom/vilyever/socketclient/SocketClient;->self:Lcom/vilyever/socketclient/SocketClient; move-object v4, v2 move v6, v11 move v7, v13 move v8, v14 move v9, v12 invoke-static/range {v3 .. v9}, Lcom/vilyever/socketclient/SocketClient;->access$1500(Lcom/vilyever/socketclient/SocketClient;Lcom/vilyever/socketclient/helper/SocketResponsePacket;IIIII)V goto :goto_7 .line 1309 :cond_a iget-object v3, v0, Lcom/vilyever/socketclient/SocketClient$ReceiveThread;->this$0:Lcom/vilyever/socketclient/SocketClient; iget-object v3, v3, Lcom/vilyever/socketclient/SocketClient;->self:Lcom/vilyever/socketclient/SocketClient; invoke-virtual {v3}, Lcom/vilyever/socketclient/SocketClient;->getSocketConfigure()Lcom/vilyever/socketclient/helper/SocketConfigure; move-result-object v3 invoke-virtual {v3}, Lcom/vilyever/socketclient/helper/SocketConfigure;->getSocketPacketHelper()Lcom/vilyever/socketclient/helper/SocketPacketHelper; move-result-object v3 invoke-virtual {v3}, Lcom/vilyever/socketclient/helper/SocketPacketHelper;->getReadStrategy()Lcom/vilyever/socketclient/helper/SocketPacketHelper$ReadStrategy; move-result-object v3 sget-object v5, Lcom/vilyever/socketclient/helper/SocketPacketHelper$ReadStrategy;->AutoReadToTrailer:Lcom/vilyever/socketclient/helper/SocketPacketHelper$ReadStrategy; if-ne v3, v5, :cond_c if-lez v12, :cond_b .line 1311 iget-object v3, v0, Lcom/vilyever/socketclient/SocketClient$ReceiveThread;->this$0:Lcom/vilyever/socketclient/SocketClient; iget-object v3, v3, Lcom/vilyever/socketclient/SocketClient;->self:Lcom/vilyever/socketclient/SocketClient; invoke-virtual {v3}, Lcom/vilyever/socketclient/SocketClient;->getSocketInputReader()Lcom/vilyever/socketclient/helper/SocketInputReader; move-result-object v3 invoke-virtual {v3, v4, v10}, Lcom/vilyever/socketclient/helper/SocketInputReader;->readToData([BZ)[B move-result-object v3 .line 1312 iget-object v5, v0, Lcom/vilyever/socketclient/SocketClient$ReceiveThread;->this$0:Lcom/vilyever/socketclient/SocketClient; iget-object v5, v5, Lcom/vilyever/socketclient/SocketClient;->self:Lcom/vilyever/socketclient/SocketClient; invoke-static {}, Ljava/lang/System;->currentTimeMillis()J move-result-wide v6 invoke-virtual {v5, v6, v7}, Lcom/vilyever/socketclient/SocketClient;->setLastReceiveMessageTime(J)Lcom/vilyever/socketclient/SocketClient; .line 1313 invoke-virtual {v2, v3}, Lcom/vilyever/socketclient/helper/SocketResponsePacket;->setData([B)Lcom/vilyever/socketclient/helper/SocketResponsePacket; .line 1314 invoke-virtual {v2, v4}, Lcom/vilyever/socketclient/helper/SocketResponsePacket;->setTrailerData([B)Lcom/vilyever/socketclient/helper/SocketResponsePacket; .line 1316 array-length v3, v3 goto :goto_7 .line 1319 :cond_b iget-object v3, v0, Lcom/vilyever/socketclient/SocketClient$ReceiveThread;->this$0:Lcom/vilyever/socketclient/SocketClient; iget-object v3, v3, Lcom/vilyever/socketclient/SocketClient;->self:Lcom/vilyever/socketclient/SocketClient; invoke-static {v3, v2}, Lcom/vilyever/socketclient/SocketClient;->access$500(Lcom/vilyever/socketclient/SocketClient;Lcom/vilyever/socketclient/helper/SocketResponsePacket;)V .line 1320 iget-object v3, v0, Lcom/vilyever/socketclient/SocketClient$ReceiveThread;->this$0:Lcom/vilyever/socketclient/SocketClient; iget-object v3, v3, Lcom/vilyever/socketclient/SocketClient;->self:Lcom/vilyever/socketclient/SocketClient; invoke-virtual {v3, v1}, Lcom/vilyever/socketclient/SocketClient;->setReceivingResponsePacket(Lcom/vilyever/socketclient/helper/SocketResponsePacket;)Lcom/vilyever/socketclient/SocketClient; .line 1324 :cond_c :goto_7 iget-object v3, v0, Lcom/vilyever/socketclient/SocketClient$ReceiveThread;->this$0:Lcom/vilyever/socketclient/SocketClient; iget-object v3, v3, Lcom/vilyever/socketclient/SocketClient;->self:Lcom/vilyever/socketclient/SocketClient; invoke-virtual {v3}, Lcom/vilyever/socketclient/SocketClient;->getSocketConfigure()Lcom/vilyever/socketclient/helper/SocketConfigure; move-result-object v3 invoke-virtual {v3}, Lcom/vilyever/socketclient/helper/SocketConfigure;->getHeartBeatHelper()Lcom/vilyever/socketclient/helper/SocketHeartBeatHelper; move-result-object v3 invoke-virtual {v3, v2}, Lcom/vilyever/socketclient/helper/SocketHeartBeatHelper;->isReceiveHeartBeatPacket(Lcom/vilyever/socketclient/helper/SocketResponsePacket;)Z move-result v3 invoke-virtual {v2, v3}, Lcom/vilyever/socketclient/helper/SocketResponsePacket;->setHeartBeat(Z)Lcom/vilyever/socketclient/helper/SocketResponsePacket; .line 1326 iget-object v3, v0, Lcom/vilyever/socketclient/SocketClient$ReceiveThread;->this$0:Lcom/vilyever/socketclient/SocketClient; iget-object v3, v3, Lcom/vilyever/socketclient/SocketClient;->self:Lcom/vilyever/socketclient/SocketClient; invoke-virtual {v3}, Lcom/vilyever/socketclient/SocketClient;->getSocketConfigure()Lcom/vilyever/socketclient/helper/SocketConfigure; move-result-object v3 invoke-virtual {v3}, Lcom/vilyever/socketclient/helper/SocketConfigure;->getCharsetName()Ljava/lang/String; move-result-object v3 if-eqz v3, :cond_d .line 1327 iget-object v3, v0, Lcom/vilyever/socketclient/SocketClient$ReceiveThread;->this$0:Lcom/vilyever/socketclient/SocketClient; iget-object v3, v3, Lcom/vilyever/socketclient/SocketClient;->self:Lcom/vilyever/socketclient/SocketClient; invoke-virtual {v3}, Lcom/vilyever/socketclient/SocketClient;->getSocketConfigure()Lcom/vilyever/socketclient/helper/SocketConfigure; move-result-object v3 invoke-virtual {v3}, Lcom/vilyever/socketclient/helper/SocketConfigure;->getCharsetName()Ljava/lang/String; move-result-object v3 invoke-virtual {v2, v3}, Lcom/vilyever/socketclient/helper/SocketResponsePacket;->buildStringWithCharsetName(Ljava/lang/String;)V .line 1330 :cond_d iget-object v3, v0, Lcom/vilyever/socketclient/SocketClient$ReceiveThread;->this$0:Lcom/vilyever/socketclient/SocketClient; iget-object v3, v3, Lcom/vilyever/socketclient/SocketClient;->self:Lcom/vilyever/socketclient/SocketClient; invoke-static {v3, v2}, Lcom/vilyever/socketclient/SocketClient;->access$300(Lcom/vilyever/socketclient/SocketClient;Lcom/vilyever/socketclient/helper/SocketResponsePacket;)V .line 1331 iget-object v3, v0, Lcom/vilyever/socketclient/SocketClient$ReceiveThread;->this$0:Lcom/vilyever/socketclient/SocketClient; iget-object v3, v3, Lcom/vilyever/socketclient/SocketClient;->self:Lcom/vilyever/socketclient/SocketClient; invoke-static {v3, v2}, Lcom/vilyever/socketclient/SocketClient;->access$400(Lcom/vilyever/socketclient/SocketClient;Lcom/vilyever/socketclient/helper/SocketResponsePacket;)V .line 1332 iget-object v2, v0, Lcom/vilyever/socketclient/SocketClient$ReceiveThread;->this$0:Lcom/vilyever/socketclient/SocketClient; iget-object v2, v2, Lcom/vilyever/socketclient/SocketClient;->self:Lcom/vilyever/socketclient/SocketClient; invoke-virtual {v2, v1}, Lcom/vilyever/socketclient/SocketClient;->setReceivingResponsePacket(Lcom/vilyever/socketclient/helper/SocketResponsePacket;)Lcom/vilyever/socketclient/SocketClient; :try_end_0 .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0 goto/16 :goto_0 .line 1337 :catch_0 iget-object v2, v0, Lcom/vilyever/socketclient/SocketClient$ReceiveThread;->this$0:Lcom/vilyever/socketclient/SocketClient; iget-object v2, v2, Lcom/vilyever/socketclient/SocketClient;->self:Lcom/vilyever/socketclient/SocketClient; invoke-virtual {v2}, Lcom/vilyever/socketclient/SocketClient;->disconnect()V .line 1339 iget-object v2, v0, Lcom/vilyever/socketclient/SocketClient$ReceiveThread;->this$0:Lcom/vilyever/socketclient/SocketClient; iget-object v2, v2, Lcom/vilyever/socketclient/SocketClient;->self:Lcom/vilyever/socketclient/SocketClient; invoke-virtual {v2}, Lcom/vilyever/socketclient/SocketClient;->getReceivingResponsePacket()Lcom/vilyever/socketclient/helper/SocketResponsePacket; move-result-object v2 if-eqz v2, :cond_e .line 1340 iget-object v2, v0, Lcom/vilyever/socketclient/SocketClient$ReceiveThread;->this$0:Lcom/vilyever/socketclient/SocketClient; iget-object v2, v2, Lcom/vilyever/socketclient/SocketClient;->self:Lcom/vilyever/socketclient/SocketClient; iget-object v3, v0, Lcom/vilyever/socketclient/SocketClient$ReceiveThread;->this$0:Lcom/vilyever/socketclient/SocketClient; iget-object v3, v3, Lcom/vilyever/socketclient/SocketClient;->self:Lcom/vilyever/socketclient/SocketClient; invoke-virtual {v3}, Lcom/vilyever/socketclient/SocketClient;->getReceivingResponsePacket()Lcom/vilyever/socketclient/helper/SocketResponsePacket; move-result-object v3 invoke-static {v2, v3}, Lcom/vilyever/socketclient/SocketClient;->access$500(Lcom/vilyever/socketclient/SocketClient;Lcom/vilyever/socketclient/helper/SocketResponsePacket;)V .line 1341 iget-object v2, v0, Lcom/vilyever/socketclient/SocketClient$ReceiveThread;->this$0:Lcom/vilyever/socketclient/SocketClient; iget-object v2, v2, Lcom/vilyever/socketclient/SocketClient;->self:Lcom/vilyever/socketclient/SocketClient; invoke-virtual {v2, v1}, Lcom/vilyever/socketclient/SocketClient;->setReceivingResponsePacket(Lcom/vilyever/socketclient/helper/SocketResponsePacket;)Lcom/vilyever/socketclient/SocketClient; :cond_e return-void .end method