--- /home/hans/code/fdroid/data/tmp/org.jsl.wfwt_11.apk +++ /home/hans/code/fdroid/data/tmp/sigcp_org.jsl.wfwt_11.apk ├── zipinfo {} │ @@ -1,23 +1,23 @@ │ -Zip file size: 123437 bytes, number of entries: 21 │ +Zip file size: 123283 bytes, number of entries: 21 │ -rw---- 2.0 fat 1515 bl defN 16-Jun-02 15:23 META-INF/MANIFEST.MF │ -rw---- 2.0 fat 1636 bl defN 16-Jun-02 15:23 META-INF/5ECE86CF.SF │ -rw---- 2.0 fat 1326 bl defN 16-Jun-02 15:23 META-INF/5ECE86CF.RSA │ -rw---- 2.0 fat 41 bl defN 16-Jun-02 06:38 META-INF/buildserverid │ -rw---- 2.0 fat 41 bl defN 16-Jun-02 06:38 META-INF/fdroidserverid │ --rw---- 2.0 fat 2200 bX defN 16-Jun-02 06:38 AndroidManifest.xml │ --rw---- 1.0 fat 6679 b- stor 16-Jun-02 06:37 res/drawable-hdpi-v4/ic_launcher.png │ --rw---- 1.0 fat 1135 b- stor 16-Jun-02 06:37 res/drawable-hdpi-v4/ic_status.png │ --rw---- 1.0 fat 2757 b- stor 16-Jun-02 06:37 res/drawable-ldpi-v4/ic_launcher.png │ --rw---- 1.0 fat 384 b- stor 16-Jun-02 06:37 res/drawable-ldpi-v4/ic_status.png │ --rw---- 1.0 fat 3973 b- stor 16-Jun-02 06:37 res/drawable-mdpi-v4/ic_launcher.png │ --rw---- 1.0 fat 978 b- stor 16-Jun-02 06:37 res/drawable-mdpi-v4/ic_status.png │ --rw---- 1.0 fat 9424 b- stor 16-Jun-02 06:37 res/drawable-xhdpi-v4/ic_launcher.png │ --rw---- 1.0 fat 1673 b- stor 16-Jun-02 06:37 res/drawable-xhdpi-v4/ic_status.png │ --rw---- 2.0 fat 852 bl defN 16-Jun-02 06:38 res/layout/dialog_about.xml │ --rw---- 2.0 fat 1140 bl defN 16-Jun-02 06:38 res/layout/dialog_settings.xml │ --rw---- 2.0 fat 1152 bl defN 16-Jun-02 06:38 res/layout/list_view_row.xml │ --rw---- 2.0 fat 1132 bl defN 16-Jun-02 06:38 res/layout/main.xml │ --rw---- 2.0 fat 576 bl defN 16-Jun-02 06:38 res/menu/menu.xml │ --rw---- 1.0 fat 4064 b- stor 16-Jun-02 06:37 resources.arsc │ --rw---- 2.0 fat 238060 bl defN 16-Jun-02 06:37 classes.dex │ -21 files, 280738 bytes uncompressed, 120490 bytes compressed: 57.1% │ +-rw---- 2.0 fat 2200 bX defN 16-Sep-07 09:24 AndroidManifest.xml │ +-rw---- 1.0 fat 6679 b- stor 16-Sep-07 09:24 res/drawable-hdpi-v4/ic_launcher.png │ +-rw---- 1.0 fat 1135 b- stor 16-Sep-07 09:24 res/drawable-hdpi-v4/ic_status.png │ +-rw---- 1.0 fat 2757 b- stor 16-Sep-07 09:24 res/drawable-ldpi-v4/ic_launcher.png │ +-rw---- 1.0 fat 384 b- stor 16-Sep-07 09:24 res/drawable-ldpi-v4/ic_status.png │ +-rw---- 1.0 fat 3973 b- stor 16-Sep-07 09:24 res/drawable-mdpi-v4/ic_launcher.png │ +-rw---- 1.0 fat 978 b- stor 16-Sep-07 09:24 res/drawable-mdpi-v4/ic_status.png │ +-rw---- 1.0 fat 9424 b- stor 16-Sep-07 09:24 res/drawable-xhdpi-v4/ic_launcher.png │ +-rw---- 1.0 fat 1673 b- stor 16-Sep-07 09:24 res/drawable-xhdpi-v4/ic_status.png │ +-rw---- 2.0 fat 852 bl defN 16-Sep-07 09:24 res/layout/dialog_about.xml │ +-rw---- 2.0 fat 1140 bl defN 16-Sep-07 09:24 res/layout/dialog_settings.xml │ +-rw---- 2.0 fat 1152 bl defN 16-Sep-07 09:24 res/layout/list_view_row.xml │ +-rw---- 2.0 fat 1132 bl defN 16-Sep-07 09:24 res/layout/main.xml │ +-rw---- 2.0 fat 576 bl defN 16-Sep-07 09:24 res/menu/menu.xml │ +-rw---- 1.0 fat 4064 b- stor 16-Sep-07 09:24 resources.arsc │ +-rw---- 2.0 fat 237848 bl defN 16-Sep-07 09:24 classes.dex │ +21 files, 280526 bytes uncompressed, 120407 bytes compressed: 57.1% ├── smali/org/jsl/wfwt/AudioPlayer.smali │ @@ -58,44 +58,46 @@ │ .line 37 │ const-class v0, Lorg/jsl/wfwt/AudioPlayer$Node; │ │ const-class v1, Lorg/jsl/wfwt/AudioPlayer$Node; │ │ const-string v2, "next" │ │ + .line 38 │ invoke-static {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;->newUpdater(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater; │ │ move-result-object v0 │ │ sput-object v0, Lorg/jsl/wfwt/AudioPlayer;->s_nodeNextUpdater:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater; │ │ .line 40 │ const-class v0, Lorg/jsl/wfwt/AudioPlayer$Impl; │ │ const-class v1, Lorg/jsl/wfwt/AudioPlayer$Node; │ │ const-string v2, "m_tail" │ │ + .line 41 │ invoke-static {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;->newUpdater(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater; │ │ move-result-object v0 │ │ sput-object v0, Lorg/jsl/wfwt/AudioPlayer;->s_tailUpdater:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater; │ │ + .line 40 │ return-void │ .end method │ │ .method public constructor ()V │ .locals 0 │ │ .prologue │ .line 33 │ invoke-direct {p0}, Ljava/lang/Object;->()V │ │ - .line 150 │ return-void │ .end method │ │ .method static synthetic access$000()Ljava/lang/String; │ .locals 1 │ │ .prologue ├── smali/org/jsl/wfwt/AudioRecorder.smali │ @@ -152,14 +152,15 @@ │ iput-object v0, p0, Lorg/jsl/wfwt/AudioRecorder;->m_thread:Ljava/lang/Thread; │ │ .line 82 │ new-instance v0, Lorg/jsl/collider/RetainableByteBufferCache; │ │ const/4 v1, 0x1 │ │ + .line 84 │ invoke-static {p4}, Lorg/jsl/wfwt/Protocol$AudioFrame;->getMessageSize(I)I │ │ move-result v2 │ │ mul-int/lit8 v2, v2, 0x4 │ │ const/16 v3, 0x10 │ @@ -204,172 +205,153 @@ │ .line 79 │ iput-object v0, p0, Lorg/jsl/wfwt/AudioRecorder;->m_list:Ljava/util/LinkedList; │ │ goto :goto_0 │ .end method │ │ .method public static create(Lorg/jsl/wfwt/SessionManager;Z)Lorg/jsl/wfwt/AudioRecorder; │ - .locals 21 │ + .locals 16 │ .param p0, "sessionManager" # Lorg/jsl/wfwt/SessionManager; │ .param p1, "repeat" # Z │ │ .prologue │ .line 274 │ - const/4 v3, 0x4 │ + const/4 v1, 0x4 │ │ - new-array v0, v3, [I │ + new-array v15, v1, [I │ │ - move-object/from16 v20, v0 │ - │ - fill-array-data v20, :array_0 │ + fill-array-data v15, :array_0 │ │ .line 275 │ - .local v20, "rates":[I │ - move-object/from16 v15, v20 │ - │ - .local v15, "arr$":[I │ - array-length v0, v15 │ - │ - move/from16 v18, v0 │ + .local v15, "rates":[I │ + array-length v3, v15 │ │ - .local v18, "len$":I │ - const/16 v17, 0x0 │ + const/4 v1, 0x0 │ │ - .local v17, "i$":I │ :goto_0 │ - move/from16 v0, v17 │ + if-ge v1, v3, :cond_2 │ │ - move/from16 v1, v18 │ - │ - if-ge v0, v1, :cond_2 │ - │ - aget v4, v15, v17 │ + aget v2, v15, v1 │ │ .line 277 │ - .local v4, "sampleRate":I │ - const/16 v16, 0x10 │ + .local v2, "sampleRate":I │ + const/16 v13, 0x10 │ │ .line 278 │ - .local v16, "channelConfig":I │ - const/16 v3, 0x10 │ + .local v13, "channelConfig":I │ + const/16 v4, 0x10 │ │ - const/4 v5, 0x2 │ + const/4 v6, 0x2 │ │ - invoke-static {v4, v3, v5}, Landroid/media/AudioRecord;->getMinBufferSize(III)I │ + invoke-static {v2, v4, v6}, Landroid/media/AudioRecord;->getMinBufferSize(III)I │ │ - move-result v19 │ + move-result v14 │ │ .line 281 │ - .local v19, "minBufferSize":I │ - const/4 v3, -0x1 │ - │ - move/from16 v0, v19 │ - │ - if-eq v0, v3, :cond_1 │ + .local v14, "minBufferSize":I │ + const/4 v4, -0x1 │ │ - const/4 v3, -0x2 │ + if-eq v14, v4, :cond_1 │ │ - move/from16 v0, v19 │ + const/4 v4, -0x2 │ │ - if-eq v0, v3, :cond_1 │ + if-eq v14, v4, :cond_1 │ │ .line 287 │ - mul-int/lit8 v3, v4, 0x2 │ + mul-int/lit8 v1, v2, 0x2 │ │ - div-int/lit8 v3, v3, 0x2 │ + div-int/lit8 v1, v1, 0x2 │ │ - const v5, 0x7ffffffe │ + const v3, 0x7ffffffe │ │ - and-int v12, v3, v5 │ + and-int v10, v1, v3 │ │ .line 288 │ - .local v12, "frameSize":I │ - mul-int/lit8 v7, v12, 0x4 │ + .local v10, "frameSize":I │ + mul-int/lit8 v5, v10, 0x4 │ │ .line 289 │ - .local v7, "bufferSize":I │ - move/from16 v0, v19 │ - │ - if-ge v7, v0, :cond_0 │ + .local v5, "bufferSize":I │ + if-ge v5, v14, :cond_0 │ │ .line 290 │ - move/from16 v7, v19 │ + move v5, v14 │ │ .line 292 │ :cond_0 │ - new-instance v2, Landroid/media/AudioRecord; │ + new-instance v0, Landroid/media/AudioRecord; │ │ - const/4 v3, 0x1 │ + const/4 v1, 0x1 │ │ - const/16 v5, 0x10 │ + const/16 v3, 0x10 │ │ - const/4 v6, 0x2 │ + const/4 v4, 0x2 │ │ - invoke-direct/range {v2 .. v7}, Landroid/media/AudioRecord;->(IIIII)V │ + invoke-direct/range {v0 .. v5}, Landroid/media/AudioRecord;->(IIIII)V │ │ .line 299 │ - .local v2, "audioRecord":Landroid/media/AudioRecord; │ - new-instance v3, Ljava/lang/StringBuilder; │ + .local v0, "audioRecord":Landroid/media/AudioRecord; │ + new-instance v1, Ljava/lang/StringBuilder; │ │ - invoke-direct {v3}, Ljava/lang/StringBuilder;->()V │ + invoke-direct {v1}, Ljava/lang/StringBuilder;->()V │ │ - const-string v5, "PCM:" │ + const-string v3, "PCM:" │ │ - invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v3 │ + move-result-object v1 │ │ - invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; │ + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; │ │ - move-result-object v3 │ + move-result-object v1 │ │ - invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ │ - move-result-object v11 │ + move-result-object v9 │ │ .line 301 │ - .local v11, "audioFormat":Ljava/lang/String; │ - new-instance v8, Lorg/jsl/wfwt/AudioRecorder; │ + .local v9, "audioFormat":Ljava/lang/String; │ + new-instance v6, Lorg/jsl/wfwt/AudioRecorder; │ │ - move-object/from16 v9, p0 │ + move-object/from16 v7, p0 │ │ - move-object v10, v2 │ + move-object v8, v0 │ │ - move v13, v7 │ + move v11, v5 │ │ - move/from16 v14, p1 │ + move/from16 v12, p1 │ │ - invoke-direct/range {v8 .. v14}, Lorg/jsl/wfwt/AudioRecorder;->(Lorg/jsl/wfwt/SessionManager;Landroid/media/AudioRecord;Ljava/lang/String;IIZ)V │ + invoke-direct/range {v6 .. v12}, Lorg/jsl/wfwt/AudioRecorder;->(Lorg/jsl/wfwt/SessionManager;Landroid/media/AudioRecord;Ljava/lang/String;IIZ)V │ │ .line 304 │ - .end local v2 # "audioRecord":Landroid/media/AudioRecord; │ - .end local v4 # "sampleRate":I │ - .end local v7 # "bufferSize":I │ - .end local v11 # "audioFormat":Ljava/lang/String; │ - .end local v12 # "frameSize":I │ - .end local v16 # "channelConfig":I │ - .end local v19 # "minBufferSize":I │ + .end local v0 # "audioRecord":Landroid/media/AudioRecord; │ + .end local v2 # "sampleRate":I │ + .end local v5 # "bufferSize":I │ + .end local v9 # "audioFormat":Ljava/lang/String; │ + .end local v10 # "frameSize":I │ + .end local v13 # "channelConfig":I │ + .end local v14 # "minBufferSize":I │ :goto_1 │ - return-object v8 │ + return-object v6 │ │ .line 275 │ - .restart local v4 # "sampleRate":I │ - .restart local v16 # "channelConfig":I │ - .restart local v19 # "minBufferSize":I │ + .restart local v2 # "sampleRate":I │ + .restart local v13 # "channelConfig":I │ + .restart local v14 # "minBufferSize":I │ :cond_1 │ - add-int/lit8 v17, v17, 0x1 │ + add-int/lit8 v1, v1, 0x1 │ │ goto :goto_0 │ │ .line 304 │ - .end local v4 # "sampleRate":I │ - .end local v16 # "channelConfig":I │ - .end local v19 # "minBufferSize":I │ + .end local v2 # "sampleRate":I │ + .end local v13 # "channelConfig":I │ + .end local v14 # "minBufferSize":I │ :cond_2 │ - const/4 v8, 0x0 │ + const/4 v6, 0x0 │ │ goto :goto_1 │ │ .line 274 │ :array_0 │ .array-data 4 │ 0x2b11 │ @@ -388,591 +370,591 @@ │ .line 93 │ iget-object v0, p0, Lorg/jsl/wfwt/AudioRecorder;->m_audioFormat:Ljava/lang/String; │ │ return-object v0 │ .end method │ │ .method public run()V │ - .locals 15 │ + .locals 14 │ │ .prologue │ .line 98 │ - const-string v12, "AudioRecorder" │ + const-string v11, "AudioRecorder" │ │ - new-instance v13, Ljava/lang/StringBuilder; │ + new-instance v12, Ljava/lang/StringBuilder; │ │ - invoke-direct {v13}, Ljava/lang/StringBuilder;->()V │ + invoke-direct {v12}, Ljava/lang/StringBuilder;->()V │ │ - const-string v14, "run [" │ + const-string v13, "run [" │ │ - invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v13 │ + move-result-object v12 │ │ - iget-object v14, p0, Lorg/jsl/wfwt/AudioRecorder;->m_audioFormat:Ljava/lang/String; │ + iget-object v13, p0, Lorg/jsl/wfwt/AudioRecorder;->m_audioFormat:Ljava/lang/String; │ │ - invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v13 │ + move-result-object v12 │ │ - const-string v14, "]: frameSize=" │ + const-string v13, "]: frameSize=" │ │ - invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v13 │ + move-result-object v12 │ │ - iget v14, p0, Lorg/jsl/wfwt/AudioRecorder;->m_frameSize:I │ + iget v13, p0, Lorg/jsl/wfwt/AudioRecorder;->m_frameSize:I │ │ - invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; │ + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; │ │ - move-result-object v13 │ + move-result-object v12 │ │ - const-string v14, " bufferSize=" │ + const-string v13, " bufferSize=" │ │ - invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v13 │ + move-result-object v12 │ │ - iget v14, p0, Lorg/jsl/wfwt/AudioRecorder;->m_bufferSize:I │ + iget v13, p0, Lorg/jsl/wfwt/AudioRecorder;->m_bufferSize:I │ │ - invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; │ + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; │ │ - move-result-object v13 │ + move-result-object v12 │ │ - invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ + invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ │ - move-result-object v13 │ + move-result-object v12 │ │ - invoke-static {v12, v13}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I │ + invoke-static {v11, v12}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I │ │ .line 99 │ - const/16 v12, -0x13 │ + const/16 v11, -0x13 │ │ - invoke-static {v12}, Landroid/os/Process;->setThreadPriority(I)V │ + invoke-static {v11}, Landroid/os/Process;->setThreadPriority(I)V │ │ .line 100 │ - iget-object v12, p0, Lorg/jsl/wfwt/AudioRecorder;->m_byteBufferCache:Lorg/jsl/collider/RetainableByteBufferCache; │ + iget-object v11, p0, Lorg/jsl/wfwt/AudioRecorder;->m_byteBufferCache:Lorg/jsl/collider/RetainableByteBufferCache; │ │ - invoke-virtual {v12}, Lorg/jsl/collider/RetainableByteBufferCache;->get()Ljava/lang/Object; │ + invoke-virtual {v11}, Lorg/jsl/collider/RetainableByteBufferCache;->get()Ljava/lang/Object; │ │ move-result-object v1 │ │ check-cast v1, Lorg/jsl/collider/RetainableByteBuffer; │ │ .line 101 │ .local v1, "byteBuffer":Lorg/jsl/collider/RetainableByteBuffer; │ invoke-virtual {v1}, Lorg/jsl/collider/RetainableByteBuffer;->getNioByteBuffer()Ljava/nio/ByteBuffer; │ │ - move-result-object v12 │ + move-result-object v11 │ │ - invoke-virtual {v12}, Ljava/nio/ByteBuffer;->array()[B │ + invoke-virtual {v11}, Ljava/nio/ByteBuffer;->array()[B │ │ move-result-object v2 │ │ .line 102 │ .local v2, "byteBufferArray":[B │ invoke-virtual {v1}, Lorg/jsl/collider/RetainableByteBuffer;->getNioByteBuffer()Ljava/nio/ByteBuffer; │ │ - move-result-object v12 │ + move-result-object v11 │ │ - invoke-virtual {v12}, Ljava/nio/ByteBuffer;->arrayOffset()I │ + invoke-virtual {v11}, Ljava/nio/ByteBuffer;->arrayOffset()I │ │ move-result v3 │ │ .line 103 │ .local v3, "byteBufferArrayOffset":I │ const/4 v6, 0x0 │ │ .line 108 │ .local v6, "frames":I │ :goto_0 │ :try_start_0 │ - iget-object v12, p0, Lorg/jsl/wfwt/AudioRecorder;->m_lock:Ljava/util/concurrent/locks/ReentrantLock; │ + iget-object v11, p0, Lorg/jsl/wfwt/AudioRecorder;->m_lock:Ljava/util/concurrent/locks/ReentrantLock; │ │ - invoke-virtual {v12}, Ljava/util/concurrent/locks/ReentrantLock;->lock()V │ + invoke-virtual {v11}, Ljava/util/concurrent/locks/ReentrantLock;->lock()V │ :try_end_0 │ .catch Ljava/lang/InterruptedException; {:try_start_0 .. :try_end_0} :catch_0 │ │ .line 111 │ :goto_1 │ :try_start_1 │ - iget v12, p0, Lorg/jsl/wfwt/AudioRecorder;->m_state:I │ + iget v11, p0, Lorg/jsl/wfwt/AudioRecorder;->m_state:I │ │ - if-nez v12, :cond_0 │ + if-nez v11, :cond_0 │ │ .line 112 │ - iget-object v12, p0, Lorg/jsl/wfwt/AudioRecorder;->m_cond:Ljava/util/concurrent/locks/Condition; │ + iget-object v11, p0, Lorg/jsl/wfwt/AudioRecorder;->m_cond:Ljava/util/concurrent/locks/Condition; │ │ - invoke-interface {v12}, Ljava/util/concurrent/locks/Condition;->await()V │ + invoke-interface {v11}, Ljava/util/concurrent/locks/Condition;->await()V │ :try_end_1 │ .catchall {:try_start_1 .. :try_end_1} :catchall_0 │ │ goto :goto_1 │ │ .line 144 │ :catchall_0 │ - move-exception v12 │ + move-exception v11 │ │ :try_start_2 │ - iget-object v13, p0, Lorg/jsl/wfwt/AudioRecorder;->m_lock:Ljava/util/concurrent/locks/ReentrantLock; │ + iget-object v12, p0, Lorg/jsl/wfwt/AudioRecorder;->m_lock:Ljava/util/concurrent/locks/ReentrantLock; │ │ - invoke-virtual {v13}, Ljava/util/concurrent/locks/ReentrantLock;->unlock()V │ + invoke-virtual {v12}, Ljava/util/concurrent/locks/ReentrantLock;->unlock()V │ │ - throw v12 │ + throw v11 │ :try_end_2 │ .catch Ljava/lang/InterruptedException; {:try_start_2 .. :try_end_2} :catch_0 │ │ .line 194 │ :catch_0 │ move-exception v5 │ │ .line 196 │ .local v5, "ex":Ljava/lang/InterruptedException; │ - const-string v12, "AudioRecorder" │ + const-string v11, "AudioRecorder" │ │ invoke-virtual {v5}, Ljava/lang/InterruptedException;->toString()Ljava/lang/String; │ │ - move-result-object v13 │ + move-result-object v12 │ │ - invoke-static {v12, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I │ + invoke-static {v11, v12}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I │ │ .line 197 │ invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread; │ │ - move-result-object v12 │ + move-result-object v11 │ │ - invoke-virtual {v12}, Ljava/lang/Thread;->interrupt()V │ + invoke-virtual {v11}, Ljava/lang/Thread;->interrupt()V │ │ .line 200 │ .end local v5 # "ex":Ljava/lang/InterruptedException; │ :goto_2 │ - iget-object v12, p0, Lorg/jsl/wfwt/AudioRecorder;->m_audioRecord:Landroid/media/AudioRecord; │ + iget-object v11, p0, Lorg/jsl/wfwt/AudioRecorder;->m_audioRecord:Landroid/media/AudioRecord; │ │ - invoke-virtual {v12}, Landroid/media/AudioRecord;->stop()V │ + invoke-virtual {v11}, Landroid/media/AudioRecord;->stop()V │ │ .line 201 │ - iget-object v12, p0, Lorg/jsl/wfwt/AudioRecorder;->m_audioRecord:Landroid/media/AudioRecord; │ + iget-object v11, p0, Lorg/jsl/wfwt/AudioRecorder;->m_audioRecord:Landroid/media/AudioRecord; │ │ - invoke-virtual {v12}, Landroid/media/AudioRecord;->release()V │ + invoke-virtual {v11}, Landroid/media/AudioRecord;->release()V │ │ .line 202 │ invoke-virtual {v1}, Lorg/jsl/collider/RetainableByteBuffer;->release()V │ │ .line 204 │ - const-string v12, "AudioRecorder" │ + const-string v11, "AudioRecorder" │ │ - new-instance v13, Ljava/lang/StringBuilder; │ + new-instance v12, Ljava/lang/StringBuilder; │ │ - invoke-direct {v13}, Ljava/lang/StringBuilder;->()V │ + invoke-direct {v12}, Ljava/lang/StringBuilder;->()V │ │ - const-string v14, "run [" │ + const-string v13, "run [" │ │ - invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v13 │ + move-result-object v12 │ │ - iget-object v14, p0, Lorg/jsl/wfwt/AudioRecorder;->m_audioFormat:Ljava/lang/String; │ + iget-object v13, p0, Lorg/jsl/wfwt/AudioRecorder;->m_audioFormat:Ljava/lang/String; │ │ - invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v13 │ + move-result-object v12 │ │ - const-string v14, "]: done" │ + const-string v13, "]: done" │ │ - invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v13 │ + move-result-object v12 │ │ - invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ + invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ │ - move-result-object v13 │ + move-result-object v12 │ │ - invoke-static {v12, v13}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I │ + invoke-static {v11, v12}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I │ │ .line 205 │ return-void │ │ .line 114 │ :cond_0 │ :try_start_3 │ - iget v12, p0, Lorg/jsl/wfwt/AudioRecorder;->m_state:I │ + iget v11, p0, Lorg/jsl/wfwt/AudioRecorder;->m_state:I │ │ - const/4 v13, 0x1 │ + const/4 v12, 0x1 │ │ - if-ne v12, v13, :cond_4 │ + if-ne v11, v12, :cond_4 │ │ .line 116 │ - iget-object v12, p0, Lorg/jsl/wfwt/AudioRecorder;->m_audioRecord:Landroid/media/AudioRecord; │ + iget-object v11, p0, Lorg/jsl/wfwt/AudioRecorder;->m_audioRecord:Landroid/media/AudioRecord; │ │ - invoke-virtual {v12}, Landroid/media/AudioRecord;->startRecording()V │ + invoke-virtual {v11}, Landroid/media/AudioRecord;->startRecording()V │ :try_end_3 │ .catchall {:try_start_3 .. :try_end_3} :catchall_0 │ │ .line 144 │ :cond_1 │ :try_start_4 │ - iget-object v12, p0, Lorg/jsl/wfwt/AudioRecorder;->m_lock:Ljava/util/concurrent/locks/ReentrantLock; │ + iget-object v11, p0, Lorg/jsl/wfwt/AudioRecorder;->m_lock:Ljava/util/concurrent/locks/ReentrantLock; │ │ - invoke-virtual {v12}, Ljava/util/concurrent/locks/ReentrantLock;->unlock()V │ + invoke-virtual {v11}, Ljava/util/concurrent/locks/ReentrantLock;->unlock()V │ │ .line 147 │ invoke-virtual {v1}, Lorg/jsl/collider/RetainableByteBuffer;->position()I │ │ - move-result v10 │ + move-result v9 │ │ .line 148 │ - .local v10, "position":I │ + .local v9, "position":I │ invoke-virtual {v1}, Lorg/jsl/collider/RetainableByteBuffer;->limit()I │ │ - move-result v12 │ + move-result v11 │ │ - sub-int/2addr v12, v10 │ + sub-int/2addr v11, v9 │ │ - iget v13, p0, Lorg/jsl/wfwt/AudioRecorder;->m_frameSize:I │ + iget v12, p0, Lorg/jsl/wfwt/AudioRecorder;->m_frameSize:I │ │ - invoke-static {v13}, Lorg/jsl/wfwt/Protocol$AudioFrame;->getMessageSize(I)I │ + invoke-static {v12}, Lorg/jsl/wfwt/Protocol$AudioFrame;->getMessageSize(I)I │ │ - move-result v13 │ + move-result v12 │ │ - if-ge v12, v13, :cond_2 │ + if-ge v11, v12, :cond_2 │ │ .line 150 │ invoke-virtual {v1}, Lorg/jsl/collider/RetainableByteBuffer;->release()V │ │ .line 151 │ - iget-object v12, p0, Lorg/jsl/wfwt/AudioRecorder;->m_byteBufferCache:Lorg/jsl/collider/RetainableByteBufferCache; │ + iget-object v11, p0, Lorg/jsl/wfwt/AudioRecorder;->m_byteBufferCache:Lorg/jsl/collider/RetainableByteBufferCache; │ │ - invoke-virtual {v12}, Lorg/jsl/collider/RetainableByteBufferCache;->get()Ljava/lang/Object; │ + invoke-virtual {v11}, Lorg/jsl/collider/RetainableByteBufferCache;->get()Ljava/lang/Object; │ │ - move-result-object v12 │ + move-result-object v11 │ │ - move-object v0, v12 │ + move-object v0, v11 │ │ check-cast v0, Lorg/jsl/collider/RetainableByteBuffer; │ │ move-object v1, v0 │ │ .line 152 │ invoke-virtual {v1}, Lorg/jsl/collider/RetainableByteBuffer;->getNioByteBuffer()Ljava/nio/ByteBuffer; │ │ - move-result-object v12 │ + move-result-object v11 │ │ - invoke-virtual {v12}, Ljava/nio/ByteBuffer;->array()[B │ + invoke-virtual {v11}, Ljava/nio/ByteBuffer;->array()[B │ │ move-result-object v2 │ │ .line 153 │ invoke-virtual {v1}, Lorg/jsl/collider/RetainableByteBuffer;->getNioByteBuffer()Ljava/nio/ByteBuffer; │ │ - move-result-object v12 │ + move-result-object v11 │ │ - invoke-virtual {v12}, Ljava/nio/ByteBuffer;->arrayOffset()I │ + invoke-virtual {v11}, Ljava/nio/ByteBuffer;->arrayOffset()I │ │ move-result v3 │ │ .line 154 │ - const/4 v10, 0x0 │ + const/4 v9, 0x0 │ │ .line 160 │ :cond_2 │ invoke-virtual {v1}, Lorg/jsl/collider/RetainableByteBuffer;->getNioByteBuffer()Ljava/nio/ByteBuffer; │ │ - move-result-object v12 │ + move-result-object v11 │ │ - iget v13, p0, Lorg/jsl/wfwt/AudioRecorder;->m_frameSize:I │ + iget v12, p0, Lorg/jsl/wfwt/AudioRecorder;->m_frameSize:I │ │ - invoke-static {v12, v13}, Lorg/jsl/wfwt/Protocol$AudioFrame;->init(Ljava/nio/ByteBuffer;I)Ljava/nio/ByteBuffer; │ + invoke-static {v11, v12}, Lorg/jsl/wfwt/Protocol$AudioFrame;->init(Ljava/nio/ByteBuffer;I)Ljava/nio/ByteBuffer; │ │ .line 164 │ - iget-object v12, p0, Lorg/jsl/wfwt/AudioRecorder;->m_audioRecord:Landroid/media/AudioRecord; │ + iget-object v11, p0, Lorg/jsl/wfwt/AudioRecorder;->m_audioRecord:Landroid/media/AudioRecord; │ │ + .line 165 │ invoke-virtual {v1}, Lorg/jsl/collider/RetainableByteBuffer;->position()I │ │ - move-result v13 │ + move-result v12 │ │ - add-int/2addr v13, v3 │ + add-int/2addr v12, v3 │ │ - iget v14, p0, Lorg/jsl/wfwt/AudioRecorder;->m_frameSize:I │ + iget v13, p0, Lorg/jsl/wfwt/AudioRecorder;->m_frameSize:I │ │ - invoke-virtual {v12, v2, v13, v14}, Landroid/media/AudioRecord;->read([BII)I │ + .line 164 │ + invoke-virtual {v11, v2, v12, v13}, Landroid/media/AudioRecord;->read([BII)I │ │ move-result v4 │ │ .line 166 │ .local v4, "bytesReady":I │ - iget v12, p0, Lorg/jsl/wfwt/AudioRecorder;->m_frameSize:I │ + iget v11, p0, Lorg/jsl/wfwt/AudioRecorder;->m_frameSize:I │ │ - if-ne v4, v12, :cond_8 │ + if-ne v4, v11, :cond_8 │ │ .line 168 │ - iget v12, p0, Lorg/jsl/wfwt/AudioRecorder;->m_frameSize:I │ + iget v11, p0, Lorg/jsl/wfwt/AudioRecorder;->m_frameSize:I │ │ - invoke-static {v12}, Lorg/jsl/wfwt/Protocol$AudioFrame;->getMessageSize(I)I │ + invoke-static {v11}, Lorg/jsl/wfwt/Protocol$AudioFrame;->getMessageSize(I)I │ │ - move-result v12 │ + move-result v11 │ │ - add-int v8, v10, v12 │ + add-int v7, v9, v11 │ │ .line 169 │ - .local v8, "limit":I │ - invoke-virtual {v1, v10}, Lorg/jsl/collider/RetainableByteBuffer;->position(I)Lorg/jsl/collider/RetainableByteBuffer; │ + .local v7, "limit":I │ + invoke-virtual {v1, v9}, Lorg/jsl/collider/RetainableByteBuffer;->position(I)Lorg/jsl/collider/RetainableByteBuffer; │ │ .line 170 │ - invoke-virtual {v1, v8}, Lorg/jsl/collider/RetainableByteBuffer;->limit(I)Lorg/jsl/collider/RetainableByteBuffer; │ + invoke-virtual {v1, v7}, Lorg/jsl/collider/RetainableByteBuffer;->limit(I)Lorg/jsl/collider/RetainableByteBuffer; │ │ .line 171 │ invoke-virtual {v1}, Lorg/jsl/collider/RetainableByteBuffer;->slice()Lorg/jsl/collider/RetainableByteBuffer; │ │ - move-result-object v9 │ + move-result-object v8 │ │ .line 172 │ - .local v9, "msg":Lorg/jsl/collider/RetainableByteBuffer; │ - iget-object v12, p0, Lorg/jsl/wfwt/AudioRecorder;->m_sessionManager:Lorg/jsl/wfwt/SessionManager; │ + .local v8, "msg":Lorg/jsl/collider/RetainableByteBuffer; │ + iget-object v11, p0, Lorg/jsl/wfwt/AudioRecorder;->m_sessionManager:Lorg/jsl/wfwt/SessionManager; │ │ - invoke-virtual {v12, v9}, Lorg/jsl/wfwt/SessionManager;->send(Lorg/jsl/collider/RetainableByteBuffer;)V │ + invoke-virtual {v11, v8}, Lorg/jsl/wfwt/SessionManager;->send(Lorg/jsl/collider/RetainableByteBuffer;)V │ │ .line 173 │ add-int/lit8 v6, v6, 0x1 │ │ .line 175 │ - iget-object v12, p0, Lorg/jsl/wfwt/AudioRecorder;->m_list:Ljava/util/LinkedList; │ + iget-object v11, p0, Lorg/jsl/wfwt/AudioRecorder;->m_list:Ljava/util/LinkedList; │ │ - if-eqz v12, :cond_3 │ + if-eqz v11, :cond_3 │ │ .line 180 │ - iget-object v12, p0, Lorg/jsl/wfwt/AudioRecorder;->m_list:Ljava/util/LinkedList; │ + iget-object v11, p0, Lorg/jsl/wfwt/AudioRecorder;->m_list:Ljava/util/LinkedList; │ │ - invoke-static {v9}, Lorg/jsl/wfwt/Protocol$AudioFrame;->getAudioData(Lorg/jsl/collider/RetainableByteBuffer;)Lorg/jsl/collider/RetainableByteBuffer; │ + invoke-static {v8}, Lorg/jsl/wfwt/Protocol$AudioFrame;->getAudioData(Lorg/jsl/collider/RetainableByteBuffer;)Lorg/jsl/collider/RetainableByteBuffer; │ │ - move-result-object v13 │ + move-result-object v12 │ │ - invoke-virtual {v12, v13}, Ljava/util/LinkedList;->add(Ljava/lang/Object;)Z │ + invoke-virtual {v11, v12}, Ljava/util/LinkedList;->add(Ljava/lang/Object;)Z │ │ .line 183 │ :cond_3 │ - invoke-virtual {v9}, Lorg/jsl/collider/RetainableByteBuffer;->release()V │ + invoke-virtual {v8}, Lorg/jsl/collider/RetainableByteBuffer;->release()V │ │ .line 184 │ invoke-virtual {v1}, Lorg/jsl/collider/RetainableByteBuffer;->capacity()I │ │ - move-result v12 │ + move-result v11 │ │ - invoke-virtual {v1, v12}, Lorg/jsl/collider/RetainableByteBuffer;->limit(I)Lorg/jsl/collider/RetainableByteBuffer; │ + invoke-virtual {v1, v11}, Lorg/jsl/collider/RetainableByteBuffer;->limit(I)Lorg/jsl/collider/RetainableByteBuffer; │ │ .line 185 │ - invoke-virtual {v1, v8}, Lorg/jsl/collider/RetainableByteBuffer;->position(I)Lorg/jsl/collider/RetainableByteBuffer; │ + invoke-virtual {v1, v7}, Lorg/jsl/collider/RetainableByteBuffer;->position(I)Lorg/jsl/collider/RetainableByteBuffer; │ :try_end_4 │ .catch Ljava/lang/InterruptedException; {:try_start_4 .. :try_end_4} :catch_0 │ │ goto/16 :goto_0 │ │ .line 118 │ .end local v4 # "bytesReady":I │ - .end local v8 # "limit":I │ - .end local v9 # "msg":Lorg/jsl/collider/RetainableByteBuffer; │ - .end local v10 # "position":I │ + .end local v7 # "limit":I │ + .end local v8 # "msg":Lorg/jsl/collider/RetainableByteBuffer; │ + .end local v9 # "position":I │ :cond_4 │ :try_start_5 │ - iget v12, p0, Lorg/jsl/wfwt/AudioRecorder;->m_state:I │ + iget v11, p0, Lorg/jsl/wfwt/AudioRecorder;->m_state:I │ │ - const/4 v13, 0x3 │ + const/4 v12, 0x3 │ │ - if-ne v12, v13, :cond_7 │ + if-ne v11, v12, :cond_7 │ │ .line 120 │ - iget-object v12, p0, Lorg/jsl/wfwt/AudioRecorder;->m_audioRecord:Landroid/media/AudioRecord; │ + iget-object v11, p0, Lorg/jsl/wfwt/AudioRecorder;->m_audioRecord:Landroid/media/AudioRecord; │ │ - invoke-virtual {v12}, Landroid/media/AudioRecord;->stop()V │ + invoke-virtual {v11}, Landroid/media/AudioRecord;->stop()V │ │ .line 121 │ - const/4 v12, 0x0 │ + const/4 v11, 0x0 │ │ - iput v12, p0, Lorg/jsl/wfwt/AudioRecorder;->m_state:I │ + iput v11, p0, Lorg/jsl/wfwt/AudioRecorder;->m_state:I │ │ .line 123 │ - iget-object v12, p0, Lorg/jsl/wfwt/AudioRecorder;->m_list:Ljava/util/LinkedList; │ + iget-object v11, p0, Lorg/jsl/wfwt/AudioRecorder;->m_list:Ljava/util/LinkedList; │ │ - if-eqz v12, :cond_6 │ + if-eqz v11, :cond_6 │ │ .line 125 │ - const/4 v11, 0x0 │ + const/4 v10, 0x0 │ │ .line 126 │ - .local v11, "replayedFrames":I │ - iget-object v12, p0, Lorg/jsl/wfwt/AudioRecorder;->m_list:Ljava/util/LinkedList; │ + .local v10, "replayedFrames":I │ + iget-object v11, p0, Lorg/jsl/wfwt/AudioRecorder;->m_list:Ljava/util/LinkedList; │ │ - invoke-virtual {v12}, Ljava/util/LinkedList;->iterator()Ljava/util/Iterator; │ + invoke-virtual {v11}, Ljava/util/LinkedList;->iterator()Ljava/util/Iterator; │ │ - move-result-object v7 │ + move-result-object v11 │ │ - .local v7, "i$":Ljava/util/Iterator; │ :goto_3 │ - invoke-interface {v7}, Ljava/util/Iterator;->hasNext()Z │ + invoke-interface {v11}, Ljava/util/Iterator;->hasNext()Z │ │ move-result v12 │ │ if-eqz v12, :cond_5 │ │ - invoke-interface {v7}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ + invoke-interface {v11}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ │ - move-result-object v9 │ + move-result-object v8 │ │ - check-cast v9, Lorg/jsl/collider/RetainableByteBuffer; │ + check-cast v8, Lorg/jsl/collider/RetainableByteBuffer; │ │ .line 128 │ - .restart local v9 # "msg":Lorg/jsl/collider/RetainableByteBuffer; │ + .restart local v8 # "msg":Lorg/jsl/collider/RetainableByteBuffer; │ iget-object v12, p0, Lorg/jsl/wfwt/AudioRecorder;->m_audioPlayer:Lorg/jsl/wfwt/AudioPlayer; │ │ - invoke-virtual {v12, v9}, Lorg/jsl/wfwt/AudioPlayer;->play(Lorg/jsl/collider/RetainableByteBuffer;)V │ + invoke-virtual {v12, v8}, Lorg/jsl/wfwt/AudioPlayer;->play(Lorg/jsl/collider/RetainableByteBuffer;)V │ │ .line 129 │ - invoke-virtual {v9}, Lorg/jsl/collider/RetainableByteBuffer;->release()V │ + invoke-virtual {v8}, Lorg/jsl/collider/RetainableByteBuffer;->release()V │ │ .line 130 │ - add-int/lit8 v11, v11, 0x1 │ + add-int/lit8 v10, v10, 0x1 │ │ .line 131 │ goto :goto_3 │ │ .line 132 │ - .end local v9 # "msg":Lorg/jsl/collider/RetainableByteBuffer; │ + .end local v8 # "msg":Lorg/jsl/collider/RetainableByteBuffer; │ :cond_5 │ - iget-object v12, p0, Lorg/jsl/wfwt/AudioRecorder;->m_list:Ljava/util/LinkedList; │ + iget-object v11, p0, Lorg/jsl/wfwt/AudioRecorder;->m_list:Ljava/util/LinkedList; │ │ - invoke-virtual {v12}, Ljava/util/LinkedList;->clear()V │ + invoke-virtual {v11}, Ljava/util/LinkedList;->clear()V │ │ .line 133 │ - const-string v12, "AudioRecorder" │ + const-string v11, "AudioRecorder" │ │ - new-instance v13, Ljava/lang/StringBuilder; │ + new-instance v12, Ljava/lang/StringBuilder; │ │ - invoke-direct {v13}, Ljava/lang/StringBuilder;->()V │ + invoke-direct {v12}, Ljava/lang/StringBuilder;->()V │ │ - const-string v14, "Replayed " │ + const-string v13, "Replayed " │ │ - invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v13 │ + move-result-object v12 │ │ - invoke-virtual {v13, v11}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; │ + invoke-virtual {v12, v10}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; │ │ - move-result-object v13 │ + move-result-object v12 │ │ - const-string v14, " frames." │ + const-string v13, " frames." │ │ - invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v13 │ + move-result-object v12 │ │ - invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ + invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ │ - move-result-object v13 │ + move-result-object v12 │ │ - invoke-static {v12, v13}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I │ + invoke-static {v11, v12}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I │ │ .line 136 │ - .end local v7 # "i$":Ljava/util/Iterator; │ - .end local v11 # "replayedFrames":I │ + .end local v10 # "replayedFrames":I │ :cond_6 │ - const-string v12, "AudioRecorder" │ + const-string v11, "AudioRecorder" │ │ - new-instance v13, Ljava/lang/StringBuilder; │ + new-instance v12, Ljava/lang/StringBuilder; │ │ - invoke-direct {v13}, Ljava/lang/StringBuilder;->()V │ + invoke-direct {v12}, Ljava/lang/StringBuilder;->()V │ │ - const-string v14, "Sent " │ + const-string v13, "Sent " │ │ - invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v13 │ + move-result-object v12 │ │ - invoke-virtual {v13, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; │ + invoke-virtual {v12, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; │ │ - move-result-object v13 │ + move-result-object v12 │ │ - const-string v14, " frames." │ + const-string v13, " frames." │ │ - invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v13 │ + move-result-object v12 │ │ - invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ + invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ │ - move-result-object v13 │ + move-result-object v12 │ │ - invoke-static {v12, v13}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I │ + invoke-static {v11, v12}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I │ :try_end_5 │ .catchall {:try_start_5 .. :try_end_5} :catchall_0 │ │ .line 144 │ :try_start_6 │ - iget-object v12, p0, Lorg/jsl/wfwt/AudioRecorder;->m_lock:Ljava/util/concurrent/locks/ReentrantLock; │ + iget-object v11, p0, Lorg/jsl/wfwt/AudioRecorder;->m_lock:Ljava/util/concurrent/locks/ReentrantLock; │ │ - invoke-virtual {v12}, Ljava/util/concurrent/locks/ReentrantLock;->unlock()V │ + invoke-virtual {v11}, Ljava/util/concurrent/locks/ReentrantLock;->unlock()V │ :try_end_6 │ .catch Ljava/lang/InterruptedException; {:try_start_6 .. :try_end_6} :catch_0 │ │ goto/16 :goto_0 │ │ .line 139 │ :cond_7 │ :try_start_7 │ - iget v12, p0, Lorg/jsl/wfwt/AudioRecorder;->m_state:I │ + iget v11, p0, Lorg/jsl/wfwt/AudioRecorder;->m_state:I │ :try_end_7 │ .catchall {:try_start_7 .. :try_end_7} :catchall_0 │ │ - const/4 v13, 0x4 │ + const/4 v12, 0x4 │ │ - if-ne v12, v13, :cond_1 │ + if-ne v11, v12, :cond_1 │ │ .line 144 │ :try_start_8 │ - iget-object v12, p0, Lorg/jsl/wfwt/AudioRecorder;->m_lock:Ljava/util/concurrent/locks/ReentrantLock; │ + iget-object v11, p0, Lorg/jsl/wfwt/AudioRecorder;->m_lock:Ljava/util/concurrent/locks/ReentrantLock; │ │ - invoke-virtual {v12}, Ljava/util/concurrent/locks/ReentrantLock;->unlock()V │ + invoke-virtual {v11}, Ljava/util/concurrent/locks/ReentrantLock;->unlock()V │ │ goto/16 :goto_2 │ │ .line 189 │ .restart local v4 # "bytesReady":I │ - .restart local v10 # "position":I │ + .restart local v9 # "position":I │ :cond_8 │ - const-string v12, "AudioRecorder" │ + const-string v11, "AudioRecorder" │ │ - new-instance v13, Ljava/lang/StringBuilder; │ + new-instance v12, Ljava/lang/StringBuilder; │ │ - invoke-direct {v13}, Ljava/lang/StringBuilder;->()V │ + invoke-direct {v12}, Ljava/lang/StringBuilder;->()V │ │ - const-string v14, "readSize=" │ + const-string v13, "readSize=" │ │ - invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v13 │ + move-result-object v12 │ │ - iget v14, p0, Lorg/jsl/wfwt/AudioRecorder;->m_frameSize:I │ + iget v13, p0, Lorg/jsl/wfwt/AudioRecorder;->m_frameSize:I │ │ - invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; │ + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; │ │ - move-result-object v13 │ + move-result-object v12 │ │ - const-string v14, " bytesReady=" │ + const-string v13, " bytesReady=" │ │ - invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v13 │ + move-result-object v12 │ │ - invoke-virtual {v13, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; │ + invoke-virtual {v12, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; │ │ - move-result-object v13 │ + move-result-object v12 │ │ - invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ + invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ │ - move-result-object v13 │ + move-result-object v12 │ │ - invoke-static {v12, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I │ + invoke-static {v11, v12}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I │ :try_end_8 │ .catch Ljava/lang/InterruptedException; {:try_start_8 .. :try_end_8} :catch_0 │ │ goto/16 :goto_2 │ .end method │ │ .method public shutdown()V ├── smali/org/jsl/wfwt/Channel$ChannelAcceptor.smali │ @@ -136,14 +136,15 @@ │ invoke-virtual {v0, p1, v8}, Ljava/util/LinkedHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; │ │ .line 356 │ new-instance v0, Lorg/jsl/wfwt/HandshakeServerSession; │ │ iget-object v1, p0, Lorg/jsl/wfwt/Channel$ChannelAcceptor;->this$0:Lorg/jsl/wfwt/Channel; │ │ + .line 357 │ # getter for: Lorg/jsl/wfwt/Channel;->m_audioFormat:Ljava/lang/String; │ invoke-static {v1}, Lorg/jsl/wfwt/Channel;->access$1600(Lorg/jsl/wfwt/Channel;)Ljava/lang/String; │ │ move-result-object v1 │ │ iget-object v2, p0, Lorg/jsl/wfwt/Channel$ChannelAcceptor;->this$0:Lorg/jsl/wfwt/Channel; │ │ @@ -317,14 +318,15 @@ │ .local v2, "serviceInfo":Landroid/net/nsd/NsdServiceInfo; │ new-instance v4, Ljava/lang/StringBuilder; │ │ invoke-direct {v4}, Ljava/lang/StringBuilder;->()V │ │ iget-object v5, p0, Lorg/jsl/wfwt/Channel$ChannelAcceptor;->this$0:Lorg/jsl/wfwt/Channel; │ │ + .line 385 │ # getter for: Lorg/jsl/wfwt/Channel;->m_name:Ljava/lang/String; │ invoke-static {v5}, Lorg/jsl/wfwt/Channel;->access$000(Lorg/jsl/wfwt/Channel;)Ljava/lang/String; │ │ move-result-object v5 │ │ invoke-virtual {v5}, Ljava/lang/String;->getBytes()[B │ │ @@ -344,14 +346,15 @@ │ │ invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v4 │ │ iget-object v5, p0, Lorg/jsl/wfwt/Channel$ChannelAcceptor;->this$0:Lorg/jsl/wfwt/Channel; │ │ + .line 387 │ # getter for: Lorg/jsl/wfwt/Channel;->m_deviceID:Ljava/lang/String; │ invoke-static {v5}, Lorg/jsl/wfwt/Channel;->access$2200(Lorg/jsl/wfwt/Channel;)Ljava/lang/String; │ │ move-result-object v5 │ │ invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ├── smali/org/jsl/wfwt/Channel$ChannelConnector.smali │ @@ -159,14 +159,15 @@ │ .line 455 │ new-instance v0, Lorg/jsl/wfwt/HandshakeClientSession; │ │ iget-object v1, p0, Lorg/jsl/wfwt/Channel$ChannelConnector;->this$0:Lorg/jsl/wfwt/Channel; │ │ iget-object v2, p0, Lorg/jsl/wfwt/Channel$ChannelConnector;->this$0:Lorg/jsl/wfwt/Channel; │ │ + .line 456 │ # getter for: Lorg/jsl/wfwt/Channel;->m_audioFormat:Ljava/lang/String; │ invoke-static {v2}, Lorg/jsl/wfwt/Channel;->access$1600(Lorg/jsl/wfwt/Channel;)Ljava/lang/String; │ │ move-result-object v2 │ │ iget-object v3, p0, Lorg/jsl/wfwt/Channel$ChannelConnector;->this$0:Lorg/jsl/wfwt/Channel; ├── smali/org/jsl/wfwt/Channel$RegistrationListener.smali │ @@ -241,426 +241,424 @@ │ .line 119 │ const/4 v2, 0x1 │ │ goto :goto_0 │ .end method │ │ .method public onServiceRegistered(Landroid/net/nsd/NsdServiceInfo;)V │ - .locals 10 │ + .locals 9 │ .param p1, "nsdServiceInfo" # Landroid/net/nsd/NsdServiceInfo; │ │ .prologue │ .line 140 │ - const-string v6, "Channel" │ + const-string v5, "Channel" │ │ - new-instance v7, Ljava/lang/StringBuilder; │ + new-instance v6, Ljava/lang/StringBuilder; │ │ - invoke-direct {v7}, Ljava/lang/StringBuilder;->()V │ + invoke-direct {v6}, Ljava/lang/StringBuilder;->()V │ │ - iget-object v8, p0, Lorg/jsl/wfwt/Channel$RegistrationListener;->this$0:Lorg/jsl/wfwt/Channel; │ + iget-object v7, p0, Lorg/jsl/wfwt/Channel$RegistrationListener;->this$0:Lorg/jsl/wfwt/Channel; │ │ # getter for: Lorg/jsl/wfwt/Channel;->m_name:Ljava/lang/String; │ - invoke-static {v8}, Lorg/jsl/wfwt/Channel;->access$000(Lorg/jsl/wfwt/Channel;)Ljava/lang/String; │ + invoke-static {v7}, Lorg/jsl/wfwt/Channel;->access$000(Lorg/jsl/wfwt/Channel;)Ljava/lang/String; │ │ - move-result-object v8 │ + move-result-object v7 │ │ - invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v7 │ + move-result-object v6 │ │ - const-string v8, ": onServiceRegistered: " │ + const-string v7, ": onServiceRegistered: " │ │ - invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v7 │ + move-result-object v6 │ │ - invoke-virtual {v7, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; │ + invoke-virtual {v6, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; │ │ - move-result-object v7 │ + move-result-object v6 │ │ - invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ │ - move-result-object v7 │ + move-result-object v6 │ │ - invoke-static {v6, v7}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I │ + invoke-static {v5, v6}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I │ │ .line 142 │ - iget-object v6, p0, Lorg/jsl/wfwt/Channel$RegistrationListener;->this$0:Lorg/jsl/wfwt/Channel; │ + iget-object v5, p0, Lorg/jsl/wfwt/Channel$RegistrationListener;->this$0:Lorg/jsl/wfwt/Channel; │ │ # getter for: Lorg/jsl/wfwt/Channel;->m_lock:Ljava/util/concurrent/locks/ReentrantLock; │ - invoke-static {v6}, Lorg/jsl/wfwt/Channel;->access$100(Lorg/jsl/wfwt/Channel;)Ljava/util/concurrent/locks/ReentrantLock; │ + invoke-static {v5}, Lorg/jsl/wfwt/Channel;->access$100(Lorg/jsl/wfwt/Channel;)Ljava/util/concurrent/locks/ReentrantLock; │ │ - move-result-object v6 │ + move-result-object v5 │ │ - invoke-virtual {v6}, Ljava/util/concurrent/locks/ReentrantLock;->lock()V │ + invoke-virtual {v5}, Ljava/util/concurrent/locks/ReentrantLock;->lock()V │ │ .line 145 │ :try_start_0 │ - iget-object v6, p0, Lorg/jsl/wfwt/Channel$RegistrationListener;->this$0:Lorg/jsl/wfwt/Channel; │ + iget-object v5, p0, Lorg/jsl/wfwt/Channel$RegistrationListener;->this$0:Lorg/jsl/wfwt/Channel; │ │ # getter for: Lorg/jsl/wfwt/Channel;->m_stopLatch:Ljava/util/concurrent/CountDownLatch; │ - invoke-static {v6}, Lorg/jsl/wfwt/Channel;->access$400(Lorg/jsl/wfwt/Channel;)Ljava/util/concurrent/CountDownLatch; │ + invoke-static {v5}, Lorg/jsl/wfwt/Channel;->access$400(Lorg/jsl/wfwt/Channel;)Ljava/util/concurrent/CountDownLatch; │ │ - move-result-object v6 │ + move-result-object v5 │ │ - if-nez v6, :cond_4 │ + if-nez v5, :cond_4 │ │ .line 147 │ - iget-object v6, p0, Lorg/jsl/wfwt/Channel$RegistrationListener;->this$0:Lorg/jsl/wfwt/Channel; │ + iget-object v5, p0, Lorg/jsl/wfwt/Channel$RegistrationListener;->this$0:Lorg/jsl/wfwt/Channel; │ │ # getter for: Lorg/jsl/wfwt/Channel;->m_serviceName:Ljava/lang/String; │ - invoke-static {v6}, Lorg/jsl/wfwt/Channel;->access$600(Lorg/jsl/wfwt/Channel;)Ljava/lang/String; │ + invoke-static {v5}, Lorg/jsl/wfwt/Channel;->access$600(Lorg/jsl/wfwt/Channel;)Ljava/lang/String; │ │ - move-result-object v6 │ + move-result-object v5 │ │ - if-eqz v6, :cond_0 │ + if-eqz v5, :cond_0 │ │ .line 149 │ - const-string v6, "Channel" │ + const-string v5, "Channel" │ │ - new-instance v7, Ljava/lang/StringBuilder; │ + new-instance v6, Ljava/lang/StringBuilder; │ │ - invoke-direct {v7}, Ljava/lang/StringBuilder;->()V │ + invoke-direct {v6}, Ljava/lang/StringBuilder;->()V │ │ - const-string v8, "Duplicate registration: " │ + const-string v7, "Duplicate registration: " │ │ - invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v7 │ + move-result-object v6 │ │ - invoke-virtual {v7, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; │ + invoke-virtual {v6, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; │ │ - move-result-object v7 │ + move-result-object v6 │ │ - invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ │ - move-result-object v7 │ + move-result-object v6 │ │ - invoke-static {v6, v7}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I │ + invoke-static {v5, v6}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I │ :try_end_0 │ .catchall {:try_start_0 .. :try_end_0} :catchall_0 │ │ .line 179 │ - iget-object v6, p0, Lorg/jsl/wfwt/Channel$RegistrationListener;->this$0:Lorg/jsl/wfwt/Channel; │ + iget-object v5, p0, Lorg/jsl/wfwt/Channel$RegistrationListener;->this$0:Lorg/jsl/wfwt/Channel; │ │ # getter for: Lorg/jsl/wfwt/Channel;->m_lock:Ljava/util/concurrent/locks/ReentrantLock; │ - invoke-static {v6}, Lorg/jsl/wfwt/Channel;->access$100(Lorg/jsl/wfwt/Channel;)Ljava/util/concurrent/locks/ReentrantLock; │ + invoke-static {v5}, Lorg/jsl/wfwt/Channel;->access$100(Lorg/jsl/wfwt/Channel;)Ljava/util/concurrent/locks/ReentrantLock; │ │ - move-result-object v6 │ + move-result-object v5 │ │ - invoke-virtual {v6}, Ljava/util/concurrent/locks/ReentrantLock;->unlock()V │ + invoke-virtual {v5}, Ljava/util/concurrent/locks/ReentrantLock;->unlock()V │ │ .line 192 │ :goto_0 │ return-void │ │ .line 153 │ :cond_0 │ :try_start_1 │ - iget-object v6, p0, Lorg/jsl/wfwt/Channel$RegistrationListener;->this$0:Lorg/jsl/wfwt/Channel; │ + iget-object v5, p0, Lorg/jsl/wfwt/Channel$RegistrationListener;->this$0:Lorg/jsl/wfwt/Channel; │ │ invoke-virtual {p1}, Landroid/net/nsd/NsdServiceInfo;->getServiceName()Ljava/lang/String; │ │ - move-result-object v7 │ + move-result-object v6 │ │ # setter for: Lorg/jsl/wfwt/Channel;->m_serviceName:Ljava/lang/String; │ - invoke-static {v6, v7}, Lorg/jsl/wfwt/Channel;->access$602(Lorg/jsl/wfwt/Channel;Ljava/lang/String;)Ljava/lang/String; │ + invoke-static {v5, v6}, Lorg/jsl/wfwt/Channel;->access$602(Lorg/jsl/wfwt/Channel;Ljava/lang/String;)Ljava/lang/String; │ │ .line 154 │ - iget-object v6, p0, Lorg/jsl/wfwt/Channel$RegistrationListener;->this$0:Lorg/jsl/wfwt/Channel; │ + iget-object v5, p0, Lorg/jsl/wfwt/Channel$RegistrationListener;->this$0:Lorg/jsl/wfwt/Channel; │ │ # invokes: Lorg/jsl/wfwt/Channel;->updateStateLocked()V │ - invoke-static {v6}, Lorg/jsl/wfwt/Channel;->access$700(Lorg/jsl/wfwt/Channel;)V │ + invoke-static {v5}, Lorg/jsl/wfwt/Channel;->access$700(Lorg/jsl/wfwt/Channel;)V │ │ .line 156 │ - iget-object v6, p0, Lorg/jsl/wfwt/Channel$RegistrationListener;->this$0:Lorg/jsl/wfwt/Channel; │ + iget-object v5, p0, Lorg/jsl/wfwt/Channel$RegistrationListener;->this$0:Lorg/jsl/wfwt/Channel; │ │ # getter for: Lorg/jsl/wfwt/Channel;->m_serviceInfo:Ljava/util/TreeMap; │ - invoke-static {v6}, Lorg/jsl/wfwt/Channel;->access$800(Lorg/jsl/wfwt/Channel;)Ljava/util/TreeMap; │ + invoke-static {v5}, Lorg/jsl/wfwt/Channel;->access$800(Lorg/jsl/wfwt/Channel;)Ljava/util/TreeMap; │ │ - move-result-object v6 │ + move-result-object v5 │ │ - invoke-virtual {v6}, Ljava/util/TreeMap;->entrySet()Ljava/util/Set; │ + invoke-virtual {v5}, Ljava/util/TreeMap;->entrySet()Ljava/util/Set; │ │ - move-result-object v6 │ + move-result-object v5 │ │ - invoke-interface {v6}, Ljava/util/Set;->iterator()Ljava/util/Iterator; │ + invoke-interface {v5}, Ljava/util/Set;->iterator()Ljava/util/Iterator; │ │ - move-result-object v3 │ + move-result-object v6 │ │ - .local v3, "i$":Ljava/util/Iterator; │ :cond_1 │ - invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z │ + invoke-interface {v6}, Ljava/util/Iterator;->hasNext()Z │ │ - move-result v6 │ + move-result v5 │ │ - if-eqz v6, :cond_2 │ + if-eqz v5, :cond_2 │ │ - invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ + invoke-interface {v6}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ │ move-result-object v1 │ │ check-cast v1, Ljava/util/Map$Entry; │ │ .line 158 │ .local v1, "entry":Ljava/util/Map$Entry;, "Ljava/util/Map$Entry;" │ - iget-object v6, p0, Lorg/jsl/wfwt/Channel$RegistrationListener;->this$0:Lorg/jsl/wfwt/Channel; │ + iget-object v5, p0, Lorg/jsl/wfwt/Channel$RegistrationListener;->this$0:Lorg/jsl/wfwt/Channel; │ │ # getter for: Lorg/jsl/wfwt/Channel;->m_serviceName:Ljava/lang/String; │ - invoke-static {v6}, Lorg/jsl/wfwt/Channel;->access$600(Lorg/jsl/wfwt/Channel;)Ljava/lang/String; │ + invoke-static {v5}, Lorg/jsl/wfwt/Channel;->access$600(Lorg/jsl/wfwt/Channel;)Ljava/lang/String; │ │ move-result-object v7 │ │ invoke-interface {v1}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object; │ │ - move-result-object v6 │ + move-result-object v5 │ │ - check-cast v6, Ljava/lang/String; │ + check-cast v5, Ljava/lang/String; │ │ - invoke-virtual {v7, v6}, Ljava/lang/String;->compareTo(Ljava/lang/String;)I │ + invoke-virtual {v7, v5}, Ljava/lang/String;->compareTo(Ljava/lang/String;)I │ │ - move-result v6 │ + move-result v5 │ │ - if-lez v6, :cond_1 │ + if-lez v5, :cond_1 │ │ .line 160 │ invoke-interface {v1}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object; │ │ - move-result-object v4 │ + move-result-object v3 │ │ - check-cast v4, Lorg/jsl/wfwt/Channel$ServiceInfo; │ + check-cast v3, Lorg/jsl/wfwt/Channel$ServiceInfo; │ │ .line 161 │ - .local v4, "serviceInfo":Lorg/jsl/wfwt/Channel$ServiceInfo; │ - const-string v6, "Channel" │ + .local v3, "serviceInfo":Lorg/jsl/wfwt/Channel$ServiceInfo; │ + const-string v5, "Channel" │ │ - new-instance v7, Ljava/lang/StringBuilder; │ + new-instance v6, Ljava/lang/StringBuilder; │ │ - invoke-direct {v7}, Ljava/lang/StringBuilder;->()V │ + invoke-direct {v6}, Ljava/lang/StringBuilder;->()V │ │ - iget-object v8, p0, Lorg/jsl/wfwt/Channel$RegistrationListener;->this$0:Lorg/jsl/wfwt/Channel; │ + iget-object v7, p0, Lorg/jsl/wfwt/Channel$RegistrationListener;->this$0:Lorg/jsl/wfwt/Channel; │ │ # getter for: Lorg/jsl/wfwt/Channel;->m_name:Ljava/lang/String; │ - invoke-static {v8}, Lorg/jsl/wfwt/Channel;->access$000(Lorg/jsl/wfwt/Channel;)Ljava/lang/String; │ + invoke-static {v7}, Lorg/jsl/wfwt/Channel;->access$000(Lorg/jsl/wfwt/Channel;)Ljava/lang/String; │ │ - move-result-object v8 │ + move-result-object v7 │ │ - invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v7 │ + move-result-object v6 │ │ - const-string v8, ": resolve service: " │ + const-string v7, ": resolve service: " │ │ - invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v7 │ + move-result-object v6 │ │ - iget-object v8, v4, Lorg/jsl/wfwt/Channel$ServiceInfo;->nsdServiceInfo:Landroid/net/nsd/NsdServiceInfo; │ + iget-object v7, v3, Lorg/jsl/wfwt/Channel$ServiceInfo;->nsdServiceInfo:Landroid/net/nsd/NsdServiceInfo; │ │ - invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; │ + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; │ │ - move-result-object v7 │ + move-result-object v6 │ │ - invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ │ - move-result-object v7 │ + move-result-object v6 │ │ - invoke-static {v6, v7}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I │ + invoke-static {v5, v6}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I │ │ .line 162 │ - const/4 v6, 0x0 │ + const/4 v5, 0x0 │ │ - iput v6, v4, Lorg/jsl/wfwt/Channel$ServiceInfo;->nsdUpdates:I │ + iput v5, v3, Lorg/jsl/wfwt/Channel$ServiceInfo;->nsdUpdates:I │ │ .line 163 │ - iget-object v7, p0, Lorg/jsl/wfwt/Channel$RegistrationListener;->this$0:Lorg/jsl/wfwt/Channel; │ + iget-object v6, p0, Lorg/jsl/wfwt/Channel$RegistrationListener;->this$0:Lorg/jsl/wfwt/Channel; │ │ - new-instance v8, Lorg/jsl/wfwt/Channel$ResolveListener; │ + new-instance v7, Lorg/jsl/wfwt/Channel$ResolveListener; │ │ - iget-object v9, p0, Lorg/jsl/wfwt/Channel$RegistrationListener;->this$0:Lorg/jsl/wfwt/Channel; │ + iget-object v8, p0, Lorg/jsl/wfwt/Channel$RegistrationListener;->this$0:Lorg/jsl/wfwt/Channel; │ │ invoke-interface {v1}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object; │ │ - move-result-object v6 │ + move-result-object v5 │ │ - check-cast v6, Ljava/lang/String; │ + check-cast v5, Ljava/lang/String; │ │ - invoke-direct {v8, v9, v6}, Lorg/jsl/wfwt/Channel$ResolveListener;->(Lorg/jsl/wfwt/Channel;Ljava/lang/String;)V │ + invoke-direct {v7, v8, v5}, Lorg/jsl/wfwt/Channel$ResolveListener;->(Lorg/jsl/wfwt/Channel;Ljava/lang/String;)V │ │ # setter for: Lorg/jsl/wfwt/Channel;->m_resolveListener:Lorg/jsl/wfwt/Channel$ResolveListener; │ - invoke-static {v7, v8}, Lorg/jsl/wfwt/Channel;->access$902(Lorg/jsl/wfwt/Channel;Lorg/jsl/wfwt/Channel$ResolveListener;)Lorg/jsl/wfwt/Channel$ResolveListener; │ + invoke-static {v6, v7}, Lorg/jsl/wfwt/Channel;->access$902(Lorg/jsl/wfwt/Channel;Lorg/jsl/wfwt/Channel$ResolveListener;)Lorg/jsl/wfwt/Channel$ResolveListener; │ │ .line 164 │ - iget-object v6, p0, Lorg/jsl/wfwt/Channel$RegistrationListener;->this$0:Lorg/jsl/wfwt/Channel; │ + iget-object v5, p0, Lorg/jsl/wfwt/Channel$RegistrationListener;->this$0:Lorg/jsl/wfwt/Channel; │ │ # getter for: Lorg/jsl/wfwt/Channel;->m_nsdManager:Landroid/net/nsd/NsdManager; │ - invoke-static {v6}, Lorg/jsl/wfwt/Channel;->access$1000(Lorg/jsl/wfwt/Channel;)Landroid/net/nsd/NsdManager; │ + invoke-static {v5}, Lorg/jsl/wfwt/Channel;->access$1000(Lorg/jsl/wfwt/Channel;)Landroid/net/nsd/NsdManager; │ │ - move-result-object v6 │ + move-result-object v5 │ │ - iget-object v7, v4, Lorg/jsl/wfwt/Channel$ServiceInfo;->nsdServiceInfo:Landroid/net/nsd/NsdServiceInfo; │ + iget-object v6, v3, Lorg/jsl/wfwt/Channel$ServiceInfo;->nsdServiceInfo:Landroid/net/nsd/NsdServiceInfo; │ │ - iget-object v8, p0, Lorg/jsl/wfwt/Channel$RegistrationListener;->this$0:Lorg/jsl/wfwt/Channel; │ + iget-object v7, p0, Lorg/jsl/wfwt/Channel$RegistrationListener;->this$0:Lorg/jsl/wfwt/Channel; │ │ # getter for: Lorg/jsl/wfwt/Channel;->m_resolveListener:Lorg/jsl/wfwt/Channel$ResolveListener; │ - invoke-static {v8}, Lorg/jsl/wfwt/Channel;->access$900(Lorg/jsl/wfwt/Channel;)Lorg/jsl/wfwt/Channel$ResolveListener; │ + invoke-static {v7}, Lorg/jsl/wfwt/Channel;->access$900(Lorg/jsl/wfwt/Channel;)Lorg/jsl/wfwt/Channel$ResolveListener; │ │ - move-result-object v8 │ + move-result-object v7 │ │ - invoke-virtual {v6, v7, v8}, Landroid/net/nsd/NsdManager;->resolveService(Landroid/net/nsd/NsdServiceInfo;Landroid/net/nsd/NsdManager$ResolveListener;)V │ + invoke-virtual {v5, v6, v7}, Landroid/net/nsd/NsdManager;->resolveService(Landroid/net/nsd/NsdServiceInfo;Landroid/net/nsd/NsdManager$ResolveListener;)V │ │ .line 169 │ .end local v1 # "entry":Ljava/util/Map$Entry;, "Ljava/util/Map$Entry;" │ - .end local v4 # "serviceInfo":Lorg/jsl/wfwt/Channel$ServiceInfo; │ + .end local v3 # "serviceInfo":Lorg/jsl/wfwt/Channel$ServiceInfo; │ :cond_2 │ - iget-object v6, p0, Lorg/jsl/wfwt/Channel$RegistrationListener;->this$0:Lorg/jsl/wfwt/Channel; │ + iget-object v5, p0, Lorg/jsl/wfwt/Channel$RegistrationListener;->this$0:Lorg/jsl/wfwt/Channel; │ │ # getter for: Lorg/jsl/wfwt/Channel;->m_stateListener:Lorg/jsl/wfwt/Channel$StateListener; │ - invoke-static {v6}, Lorg/jsl/wfwt/Channel;->access$1100(Lorg/jsl/wfwt/Channel;)Lorg/jsl/wfwt/Channel$StateListener; │ + invoke-static {v5}, Lorg/jsl/wfwt/Channel;->access$1100(Lorg/jsl/wfwt/Channel;)Lorg/jsl/wfwt/Channel$StateListener; │ │ - move-result-object v5 │ + move-result-object v4 │ │ .line 170 │ - .local v5, "stateListener":Lorg/jsl/wfwt/Channel$StateListener; │ - if-eqz v5, :cond_3 │ + .local v4, "stateListener":Lorg/jsl/wfwt/Channel$StateListener; │ + if-eqz v4, :cond_3 │ │ .line 171 │ - iget-object v6, p0, Lorg/jsl/wfwt/Channel$RegistrationListener;->this$0:Lorg/jsl/wfwt/Channel; │ + iget-object v5, p0, Lorg/jsl/wfwt/Channel$RegistrationListener;->this$0:Lorg/jsl/wfwt/Channel; │ │ # invokes: Lorg/jsl/wfwt/Channel;->getStationListLocked()[Lorg/jsl/wfwt/StationInfo; │ - invoke-static {v6}, Lorg/jsl/wfwt/Channel;->access$1200(Lorg/jsl/wfwt/Channel;)[Lorg/jsl/wfwt/StationInfo; │ + invoke-static {v5}, Lorg/jsl/wfwt/Channel;->access$1200(Lorg/jsl/wfwt/Channel;)[Lorg/jsl/wfwt/StationInfo; │ │ - move-result-object v6 │ + move-result-object v5 │ │ - invoke-interface {v5, v6}, Lorg/jsl/wfwt/Channel$StateListener;->onStationListChanged([Lorg/jsl/wfwt/StationInfo;)V │ + invoke-interface {v4, v5}, Lorg/jsl/wfwt/Channel$StateListener;->onStationListChanged([Lorg/jsl/wfwt/StationInfo;)V │ :try_end_1 │ .catchall {:try_start_1 .. :try_end_1} :catchall_0 │ │ .line 179 │ :cond_3 │ - iget-object v6, p0, Lorg/jsl/wfwt/Channel$RegistrationListener;->this$0:Lorg/jsl/wfwt/Channel; │ + iget-object v5, p0, Lorg/jsl/wfwt/Channel$RegistrationListener;->this$0:Lorg/jsl/wfwt/Channel; │ │ # getter for: Lorg/jsl/wfwt/Channel;->m_lock:Ljava/util/concurrent/locks/ReentrantLock; │ - invoke-static {v6}, Lorg/jsl/wfwt/Channel;->access$100(Lorg/jsl/wfwt/Channel;)Ljava/util/concurrent/locks/ReentrantLock; │ + invoke-static {v5}, Lorg/jsl/wfwt/Channel;->access$100(Lorg/jsl/wfwt/Channel;)Ljava/util/concurrent/locks/ReentrantLock; │ │ - move-result-object v6 │ + move-result-object v5 │ │ - invoke-virtual {v6}, Ljava/util/concurrent/locks/ReentrantLock;->unlock()V │ + invoke-virtual {v5}, Ljava/util/concurrent/locks/ReentrantLock;->unlock()V │ │ goto/16 :goto_0 │ │ .line 174 │ - .end local v3 # "i$":Ljava/util/Iterator; │ - .end local v5 # "stateListener":Lorg/jsl/wfwt/Channel$StateListener; │ + .end local v4 # "stateListener":Lorg/jsl/wfwt/Channel$StateListener; │ :cond_4 │ :try_start_2 │ - iget-object v6, p0, Lorg/jsl/wfwt/Channel$RegistrationListener;->this$0:Lorg/jsl/wfwt/Channel; │ + iget-object v5, p0, Lorg/jsl/wfwt/Channel$RegistrationListener;->this$0:Lorg/jsl/wfwt/Channel; │ │ # getter for: Lorg/jsl/wfwt/Channel;->m_acceptor:Lorg/jsl/wfwt/Channel$ChannelAcceptor; │ - invoke-static {v6}, Lorg/jsl/wfwt/Channel;->access$300(Lorg/jsl/wfwt/Channel;)Lorg/jsl/wfwt/Channel$ChannelAcceptor; │ + invoke-static {v5}, Lorg/jsl/wfwt/Channel;->access$300(Lorg/jsl/wfwt/Channel;)Lorg/jsl/wfwt/Channel$ChannelAcceptor; │ │ move-result-object v0 │ │ .line 175 │ .local v0, "acceptor":Lorg/jsl/collider/Acceptor; │ - iget-object v6, p0, Lorg/jsl/wfwt/Channel$RegistrationListener;->this$0:Lorg/jsl/wfwt/Channel; │ + iget-object v5, p0, Lorg/jsl/wfwt/Channel$RegistrationListener;->this$0:Lorg/jsl/wfwt/Channel; │ │ - const/4 v7, 0x0 │ + const/4 v6, 0x0 │ │ # setter for: Lorg/jsl/wfwt/Channel;->m_acceptor:Lorg/jsl/wfwt/Channel$ChannelAcceptor; │ - invoke-static {v6, v7}, Lorg/jsl/wfwt/Channel;->access$302(Lorg/jsl/wfwt/Channel;Lorg/jsl/wfwt/Channel$ChannelAcceptor;)Lorg/jsl/wfwt/Channel$ChannelAcceptor; │ + invoke-static {v5, v6}, Lorg/jsl/wfwt/Channel;->access$302(Lorg/jsl/wfwt/Channel;Lorg/jsl/wfwt/Channel$ChannelAcceptor;)Lorg/jsl/wfwt/Channel$ChannelAcceptor; │ :try_end_2 │ .catchall {:try_start_2 .. :try_end_2} :catchall_0 │ │ .line 179 │ - iget-object v6, p0, Lorg/jsl/wfwt/Channel$RegistrationListener;->this$0:Lorg/jsl/wfwt/Channel; │ + iget-object v5, p0, Lorg/jsl/wfwt/Channel$RegistrationListener;->this$0:Lorg/jsl/wfwt/Channel; │ │ # getter for: Lorg/jsl/wfwt/Channel;->m_lock:Ljava/util/concurrent/locks/ReentrantLock; │ - invoke-static {v6}, Lorg/jsl/wfwt/Channel;->access$100(Lorg/jsl/wfwt/Channel;)Ljava/util/concurrent/locks/ReentrantLock; │ + invoke-static {v5}, Lorg/jsl/wfwt/Channel;->access$100(Lorg/jsl/wfwt/Channel;)Ljava/util/concurrent/locks/ReentrantLock; │ │ - move-result-object v6 │ + move-result-object v5 │ │ - invoke-virtual {v6}, Ljava/util/concurrent/locks/ReentrantLock;->unlock()V │ + invoke-virtual {v5}, Ljava/util/concurrent/locks/ReentrantLock;->unlock()V │ │ .line 186 │ :try_start_3 │ - iget-object v6, p0, Lorg/jsl/wfwt/Channel$RegistrationListener;->this$0:Lorg/jsl/wfwt/Channel; │ + iget-object v5, p0, Lorg/jsl/wfwt/Channel$RegistrationListener;->this$0:Lorg/jsl/wfwt/Channel; │ │ # getter for: Lorg/jsl/wfwt/Channel;->m_collider:Lorg/jsl/collider/Collider; │ - invoke-static {v6}, Lorg/jsl/wfwt/Channel;->access$500(Lorg/jsl/wfwt/Channel;)Lorg/jsl/collider/Collider; │ + invoke-static {v5}, Lorg/jsl/wfwt/Channel;->access$500(Lorg/jsl/wfwt/Channel;)Lorg/jsl/collider/Collider; │ │ - move-result-object v6 │ + move-result-object v5 │ │ - invoke-virtual {v6, v0}, Lorg/jsl/collider/Collider;->removeAcceptor(Lorg/jsl/collider/Acceptor;)V │ + invoke-virtual {v5, v0}, Lorg/jsl/collider/Collider;->removeAcceptor(Lorg/jsl/collider/Acceptor;)V │ :try_end_3 │ .catch Ljava/lang/InterruptedException; {:try_start_3 .. :try_end_3} :catch_0 │ │ goto/16 :goto_0 │ │ .line 188 │ :catch_0 │ move-exception v2 │ │ .line 190 │ .local v2, "ex":Ljava/lang/InterruptedException; │ - const-string v6, "Channel" │ + const-string v5, "Channel" │ │ - new-instance v7, Ljava/lang/StringBuilder; │ + new-instance v6, Ljava/lang/StringBuilder; │ │ - invoke-direct {v7}, Ljava/lang/StringBuilder;->()V │ + invoke-direct {v6}, Ljava/lang/StringBuilder;->()V │ │ - iget-object v8, p0, Lorg/jsl/wfwt/Channel$RegistrationListener;->this$0:Lorg/jsl/wfwt/Channel; │ + iget-object v7, p0, Lorg/jsl/wfwt/Channel$RegistrationListener;->this$0:Lorg/jsl/wfwt/Channel; │ │ # getter for: Lorg/jsl/wfwt/Channel;->m_name:Ljava/lang/String; │ - invoke-static {v8}, Lorg/jsl/wfwt/Channel;->access$000(Lorg/jsl/wfwt/Channel;)Ljava/lang/String; │ + invoke-static {v7}, Lorg/jsl/wfwt/Channel;->access$000(Lorg/jsl/wfwt/Channel;)Ljava/lang/String; │ │ - move-result-object v8 │ + move-result-object v7 │ │ - invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v7 │ + move-result-object v6 │ │ - const-string v8, ": " │ + const-string v7, ": " │ │ - invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v7 │ + move-result-object v6 │ │ invoke-virtual {v2}, Ljava/lang/InterruptedException;->toString()Ljava/lang/String; │ │ - move-result-object v8 │ + move-result-object v7 │ │ - invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v7 │ + move-result-object v6 │ │ - invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ │ - move-result-object v7 │ + move-result-object v6 │ │ - invoke-static {v6, v7}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I │ + invoke-static {v5, v6}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I │ │ goto/16 :goto_0 │ │ .line 179 │ .end local v0 # "acceptor":Lorg/jsl/collider/Acceptor; │ .end local v2 # "ex":Ljava/lang/InterruptedException; │ :catchall_0 │ - move-exception v6 │ + move-exception v5 │ │ - iget-object v7, p0, Lorg/jsl/wfwt/Channel$RegistrationListener;->this$0:Lorg/jsl/wfwt/Channel; │ + iget-object v6, p0, Lorg/jsl/wfwt/Channel$RegistrationListener;->this$0:Lorg/jsl/wfwt/Channel; │ │ # getter for: Lorg/jsl/wfwt/Channel;->m_lock:Ljava/util/concurrent/locks/ReentrantLock; │ - invoke-static {v7}, Lorg/jsl/wfwt/Channel;->access$100(Lorg/jsl/wfwt/Channel;)Ljava/util/concurrent/locks/ReentrantLock; │ + invoke-static {v6}, Lorg/jsl/wfwt/Channel;->access$100(Lorg/jsl/wfwt/Channel;)Ljava/util/concurrent/locks/ReentrantLock; │ │ - move-result-object v7 │ + move-result-object v6 │ │ - invoke-virtual {v7}, Ljava/util/concurrent/locks/ReentrantLock;->unlock()V │ + invoke-virtual {v6}, Ljava/util/concurrent/locks/ReentrantLock;->unlock()V │ │ - throw v6 │ + throw v5 │ .end method │ │ .method public onServiceUnregistered(Landroid/net/nsd/NsdServiceInfo;)V │ .locals 5 │ .param p1, "nsdServiceInfo" # Landroid/net/nsd/NsdServiceInfo; │ │ .prologue ├── smali/org/jsl/wfwt/Channel.smali │ @@ -2,15 +2,14 @@ │ .super Ljava/lang/Object; │ .source "Channel.java" │ │ │ # annotations │ .annotation system Ldalvik/annotation/MemberClasses; │ value = { │ - Lorg/jsl/wfwt/Channel$1;, │ Lorg/jsl/wfwt/Channel$ChannelConnector;, │ Lorg/jsl/wfwt/Channel$ChannelAcceptor;, │ Lorg/jsl/wfwt/Channel$ResolveListener;, │ Lorg/jsl/wfwt/Channel$RegistrationListener;, │ Lorg/jsl/wfwt/Channel$SessionInfo;, │ Lorg/jsl/wfwt/Channel$ServiceInfo;, │ Lorg/jsl/wfwt/Channel$StateListener; │ @@ -514,62 +513,61 @@ │ iget-object v0, p0, Lorg/jsl/wfwt/Channel;->m_serviceName:Ljava/lang/String; │ │ if-nez v0, :cond_1 │ │ .line 530 │ const/4 v0, 0x0 │ │ - new-array v14, v0, [Lorg/jsl/wfwt/StationInfo; │ + new-array v13, v0, [Lorg/jsl/wfwt/StationInfo; │ │ .line 580 │ :cond_0 │ - return-object v14 │ + return-object v13 │ │ .line 532 │ :cond_1 │ - const/4 v13, 0x0 │ + const/4 v12, 0x0 │ │ .line 533 │ - .local v13, "sessions":I │ + .local v12, "sessions":I │ iget-object v0, p0, Lorg/jsl/wfwt/Channel;->m_serviceInfo:Ljava/util/TreeMap; │ │ invoke-virtual {v0}, Ljava/util/TreeMap;->entrySet()Ljava/util/Set; │ │ move-result-object v0 │ │ invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator; │ │ - move-result-object v8 │ + move-result-object v1 │ │ - .local v8, "i$":Ljava/util/Iterator; │ :cond_2 │ :goto_0 │ - invoke-interface {v8}, Ljava/util/Iterator;->hasNext()Z │ + invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z │ │ move-result v0 │ │ if-eqz v0, :cond_3 │ │ - invoke-interface {v8}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ + invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ │ move-result-object v6 │ │ check-cast v6, Ljava/util/Map$Entry; │ │ .line 535 │ .local v6, "e":Ljava/util/Map$Entry;, "Ljava/util/Map$Entry;" │ - iget-object v1, p0, Lorg/jsl/wfwt/Channel;->m_serviceName:Ljava/lang/String; │ + iget-object v2, p0, Lorg/jsl/wfwt/Channel;->m_serviceName:Ljava/lang/String; │ │ invoke-interface {v6}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object; │ │ move-result-object v0 │ │ check-cast v0, Ljava/lang/String; │ │ - invoke-virtual {v1, v0}, Ljava/lang/String;->compareTo(Ljava/lang/String;)I │ + invoke-virtual {v2, v0}, Ljava/lang/String;->compareTo(Ljava/lang/String;)I │ │ move-result v0 │ │ if-lez v0, :cond_2 │ │ .line 538 │ invoke-interface {v6}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object; │ @@ -579,40 +577,40 @@ │ check-cast v0, Lorg/jsl/wfwt/Channel$ServiceInfo; │ │ iget-object v0, v0, Lorg/jsl/wfwt/Channel$ServiceInfo;->stationName:Ljava/lang/String; │ │ if-eqz v0, :cond_2 │ │ .line 539 │ - add-int/lit8 v13, v13, 0x1 │ + add-int/lit8 v12, v12, 0x1 │ │ goto :goto_0 │ │ .line 543 │ .end local v6 # "e":Ljava/util/Map$Entry;, "Ljava/util/Map$Entry;" │ :cond_3 │ iget-object v0, p0, Lorg/jsl/wfwt/Channel;->m_sessions:Ljava/util/LinkedHashMap; │ │ invoke-virtual {v0}, Ljava/util/LinkedHashMap;->entrySet()Ljava/util/Set; │ │ move-result-object v0 │ │ invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator; │ │ - move-result-object v8 │ + move-result-object v1 │ │ :cond_4 │ :goto_1 │ - invoke-interface {v8}, Ljava/util/Iterator;->hasNext()Z │ + invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z │ │ move-result v0 │ │ if-eqz v0, :cond_5 │ │ - invoke-interface {v8}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ + invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ │ move-result-object v7 │ │ check-cast v7, Ljava/util/Map$Entry; │ │ .line 545 │ .local v7, "e":Ljava/util/Map$Entry;, "Ljava/util/Map$Entry;" │ @@ -623,48 +621,48 @@ │ check-cast v0, Lorg/jsl/wfwt/Channel$SessionInfo; │ │ iget-object v0, v0, Lorg/jsl/wfwt/Channel$SessionInfo;->stationName:Ljava/lang/String; │ │ if-eqz v0, :cond_4 │ │ .line 546 │ - add-int/lit8 v13, v13, 0x1 │ + add-int/lit8 v12, v12, 0x1 │ │ goto :goto_1 │ │ .line 549 │ .end local v7 # "e":Ljava/util/Map$Entry;, "Ljava/util/Map$Entry;" │ :cond_5 │ - new-array v14, v13, [Lorg/jsl/wfwt/StationInfo; │ + new-array v13, v12, [Lorg/jsl/wfwt/StationInfo; │ │ .line 550 │ - .local v14, "stationInfo":[Lorg/jsl/wfwt/StationInfo; │ - const/4 v9, 0x0 │ + .local v13, "stationInfo":[Lorg/jsl/wfwt/StationInfo; │ + const/4 v8, 0x0 │ │ .line 551 │ - .local v9, "idx":I │ + .local v8, "idx":I │ iget-object v0, p0, Lorg/jsl/wfwt/Channel;->m_serviceInfo:Ljava/util/TreeMap; │ │ invoke-virtual {v0}, Ljava/util/TreeMap;->entrySet()Ljava/util/Set; │ │ move-result-object v0 │ │ invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator; │ │ - move-result-object v8 │ + move-result-object v14 │ │ :cond_6 │ :goto_2 │ - invoke-interface {v8}, Ljava/util/Iterator;->hasNext()Z │ + invoke-interface {v14}, Ljava/util/Iterator;->hasNext()Z │ │ move-result v0 │ │ if-eqz v0, :cond_7 │ │ - invoke-interface {v8}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ + invoke-interface {v14}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ │ move-result-object v6 │ │ check-cast v6, Ljava/util/Map$Entry; │ │ .line 553 │ .restart local v6 # "e":Ljava/util/Map$Entry;, "Ljava/util/Map$Entry;" │ @@ -692,185 +690,185 @@ │ iget-object v0, v0, Lorg/jsl/wfwt/Channel$ServiceInfo;->stationName:Ljava/lang/String; │ │ if-eqz v0, :cond_6 │ │ .line 557 │ invoke-interface {v6}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object; │ │ - move-result-object v11 │ + move-result-object v10 │ │ - check-cast v11, Lorg/jsl/wfwt/Channel$ServiceInfo; │ + check-cast v10, Lorg/jsl/wfwt/Channel$ServiceInfo; │ │ .line 558 │ - .local v11, "serviceInfo":Lorg/jsl/wfwt/Channel$ServiceInfo; │ - add-int/lit8 v10, v9, 0x1 │ + .local v10, "serviceInfo":Lorg/jsl/wfwt/Channel$ServiceInfo; │ + add-int/lit8 v9, v8, 0x1 │ │ - .end local v9 # "idx":I │ - .local v10, "idx":I │ + .end local v8 # "idx":I │ + .local v9, "idx":I │ new-instance v0, Lorg/jsl/wfwt/StationInfo; │ │ - iget-object v1, v11, Lorg/jsl/wfwt/Channel$ServiceInfo;->stationName:Ljava/lang/String; │ + iget-object v1, v10, Lorg/jsl/wfwt/Channel$ServiceInfo;->stationName:Ljava/lang/String; │ │ - iget-object v2, v11, Lorg/jsl/wfwt/Channel$ServiceInfo;->addr:Ljava/lang/String; │ + iget-object v2, v10, Lorg/jsl/wfwt/Channel$ServiceInfo;->addr:Ljava/lang/String; │ │ - iget v3, v11, Lorg/jsl/wfwt/Channel$ServiceInfo;->state:I │ + iget v3, v10, Lorg/jsl/wfwt/Channel$ServiceInfo;->state:I │ │ - iget-wide v4, v11, Lorg/jsl/wfwt/Channel$ServiceInfo;->ping:J │ + iget-wide v4, v10, Lorg/jsl/wfwt/Channel$ServiceInfo;->ping:J │ │ invoke-direct/range {v0 .. v5}, Lorg/jsl/wfwt/StationInfo;->(Ljava/lang/String;Ljava/lang/String;IJ)V │ │ - aput-object v0, v14, v9 │ + aput-object v0, v13, v8 │ │ - move v9, v10 │ + move v8, v9 │ │ - .end local v10 # "idx":I │ - .restart local v9 # "idx":I │ + .end local v9 # "idx":I │ + .restart local v8 # "idx":I │ goto :goto_2 │ │ .line 567 │ .end local v6 # "e":Ljava/util/Map$Entry;, "Ljava/util/Map$Entry;" │ - .end local v11 # "serviceInfo":Lorg/jsl/wfwt/Channel$ServiceInfo; │ + .end local v10 # "serviceInfo":Lorg/jsl/wfwt/Channel$ServiceInfo; │ :cond_7 │ iget-object v0, p0, Lorg/jsl/wfwt/Channel;->m_sessions:Ljava/util/LinkedHashMap; │ │ invoke-virtual {v0}, Ljava/util/LinkedHashMap;->entrySet()Ljava/util/Set; │ │ move-result-object v0 │ │ invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator; │ │ - move-result-object v8 │ + move-result-object v14 │ │ :cond_8 │ :goto_3 │ - invoke-interface {v8}, Ljava/util/Iterator;->hasNext()Z │ + invoke-interface {v14}, Ljava/util/Iterator;->hasNext()Z │ │ move-result v0 │ │ if-eqz v0, :cond_0 │ │ - invoke-interface {v8}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ + invoke-interface {v14}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ │ move-result-object v7 │ │ check-cast v7, Ljava/util/Map$Entry; │ │ .line 569 │ .restart local v7 # "e":Ljava/util/Map$Entry;, "Ljava/util/Map$Entry;" │ invoke-interface {v7}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object; │ │ - move-result-object v12 │ + move-result-object v11 │ │ - check-cast v12, Lorg/jsl/wfwt/Channel$SessionInfo; │ + check-cast v11, Lorg/jsl/wfwt/Channel$SessionInfo; │ │ .line 570 │ - .local v12, "sessionInfo":Lorg/jsl/wfwt/Channel$SessionInfo; │ - iget-object v0, v12, Lorg/jsl/wfwt/Channel$SessionInfo;->stationName:Ljava/lang/String; │ + .local v11, "sessionInfo":Lorg/jsl/wfwt/Channel$SessionInfo; │ + iget-object v0, v11, Lorg/jsl/wfwt/Channel$SessionInfo;->stationName:Ljava/lang/String; │ │ if-eqz v0, :cond_8 │ │ .line 572 │ - add-int/lit8 v10, v9, 0x1 │ + add-int/lit8 v9, v8, 0x1 │ │ - .end local v9 # "idx":I │ - .restart local v10 # "idx":I │ + .end local v8 # "idx":I │ + .restart local v9 # "idx":I │ new-instance v0, Lorg/jsl/wfwt/StationInfo; │ │ - iget-object v1, v12, Lorg/jsl/wfwt/Channel$SessionInfo;->stationName:Ljava/lang/String; │ + iget-object v1, v11, Lorg/jsl/wfwt/Channel$SessionInfo;->stationName:Ljava/lang/String; │ │ - iget-object v2, v12, Lorg/jsl/wfwt/Channel$SessionInfo;->addr:Ljava/lang/String; │ + iget-object v2, v11, Lorg/jsl/wfwt/Channel$SessionInfo;->addr:Ljava/lang/String; │ │ - iget v3, v12, Lorg/jsl/wfwt/Channel$SessionInfo;->state:I │ + iget v3, v11, Lorg/jsl/wfwt/Channel$SessionInfo;->state:I │ │ - iget-wide v4, v12, Lorg/jsl/wfwt/Channel$SessionInfo;->ping:J │ + iget-wide v4, v11, Lorg/jsl/wfwt/Channel$SessionInfo;->ping:J │ │ invoke-direct/range {v0 .. v5}, Lorg/jsl/wfwt/StationInfo;->(Ljava/lang/String;Ljava/lang/String;IJ)V │ │ - aput-object v0, v14, v9 │ + aput-object v0, v13, v8 │ │ - move v9, v10 │ + move v8, v9 │ │ - .end local v10 # "idx":I │ - .restart local v9 # "idx":I │ + .end local v9 # "idx":I │ + .restart local v8 # "idx":I │ goto :goto_3 │ .end method │ │ .method private resolveNextLocked(Ljava/lang/String;)V │ .locals 7 │ .param p1, "skipServiceName" # Ljava/lang/String; │ │ .prologue │ .line 228 │ - iget-object v4, p0, Lorg/jsl/wfwt/Channel;->m_serviceInfo:Ljava/util/TreeMap; │ + iget-object v3, p0, Lorg/jsl/wfwt/Channel;->m_serviceInfo:Ljava/util/TreeMap; │ │ - invoke-virtual {v4}, Ljava/util/TreeMap;->entrySet()Ljava/util/Set; │ + invoke-virtual {v3}, Ljava/util/TreeMap;->entrySet()Ljava/util/Set; │ │ - move-result-object v4 │ + move-result-object v3 │ │ - invoke-interface {v4}, Ljava/util/Set;->iterator()Ljava/util/Iterator; │ + invoke-interface {v3}, Ljava/util/Set;->iterator()Ljava/util/Iterator; │ │ - move-result-object v1 │ + move-result-object v3 │ │ - .local v1, "i$":Ljava/util/Iterator; │ :cond_0 │ :goto_0 │ - invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z │ + invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z │ │ move-result v4 │ │ if-eqz v4, :cond_1 │ │ - invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ + invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ │ move-result-object v0 │ │ check-cast v0, Ljava/util/Map$Entry; │ │ .line 230 │ .local v0, "entry":Ljava/util/Map$Entry;, "Ljava/util/Map$Entry;" │ invoke-interface {v0}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object; │ │ - move-result-object v3 │ + move-result-object v2 │ │ - check-cast v3, Ljava/lang/String; │ + check-cast v2, Ljava/lang/String; │ │ .line 231 │ - .local v3, "serviceName":Ljava/lang/String; │ - invoke-virtual {v3, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z │ + .local v2, "serviceName":Ljava/lang/String; │ + invoke-virtual {v2, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z │ │ move-result v4 │ │ if-nez v4, :cond_0 │ │ iget-object v4, p0, Lorg/jsl/wfwt/Channel;->m_serviceName:Ljava/lang/String; │ │ - invoke-virtual {v4, v3}, Ljava/lang/String;->compareTo(Ljava/lang/String;)I │ + .line 232 │ + invoke-virtual {v4, v2}, Ljava/lang/String;->compareTo(Ljava/lang/String;)I │ │ move-result v4 │ │ if-lez v4, :cond_0 │ │ .line 234 │ invoke-interface {v0}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object; │ │ - move-result-object v2 │ + move-result-object v1 │ │ - check-cast v2, Lorg/jsl/wfwt/Channel$ServiceInfo; │ + check-cast v1, Lorg/jsl/wfwt/Channel$ServiceInfo; │ │ .line 235 │ - .local v2, "serviceInfo":Lorg/jsl/wfwt/Channel$ServiceInfo; │ - iget v4, v2, Lorg/jsl/wfwt/Channel$ServiceInfo;->nsdUpdates:I │ + .local v1, "serviceInfo":Lorg/jsl/wfwt/Channel$ServiceInfo; │ + iget v4, v1, Lorg/jsl/wfwt/Channel$ServiceInfo;->nsdUpdates:I │ │ if-lez v4, :cond_0 │ │ - iget-object v4, v2, Lorg/jsl/wfwt/Channel$ServiceInfo;->connector:Lorg/jsl/collider/Connector; │ + iget-object v4, v1, Lorg/jsl/wfwt/Channel$ServiceInfo;->connector:Lorg/jsl/collider/Connector; │ │ if-nez v4, :cond_0 │ │ - iget-object v4, v2, Lorg/jsl/wfwt/Channel$ServiceInfo;->session:Lorg/jsl/collider/Session; │ + iget-object v4, v1, Lorg/jsl/wfwt/Channel$ServiceInfo;->session:Lorg/jsl/collider/Session; │ │ if-nez v4, :cond_0 │ │ .line 239 │ const-string v4, "Channel" │ │ new-instance v5, Ljava/lang/StringBuilder; │ @@ -885,53 +883,53 @@ │ │ const-string v6, ": resolveNextLocked: " │ │ invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v5 │ │ - iget-object v6, v2, Lorg/jsl/wfwt/Channel$ServiceInfo;->nsdServiceInfo:Landroid/net/nsd/NsdServiceInfo; │ + iget-object v6, v1, Lorg/jsl/wfwt/Channel$ServiceInfo;->nsdServiceInfo:Landroid/net/nsd/NsdServiceInfo; │ │ invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; │ │ move-result-object v5 │ │ invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ │ move-result-object v5 │ │ invoke-static {v4, v5}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I │ │ .line 240 │ const/4 v4, 0x0 │ │ - iput v4, v2, Lorg/jsl/wfwt/Channel$ServiceInfo;->nsdUpdates:I │ + iput v4, v1, Lorg/jsl/wfwt/Channel$ServiceInfo;->nsdUpdates:I │ │ .line 241 │ new-instance v4, Lorg/jsl/wfwt/Channel$ResolveListener; │ │ - invoke-direct {v4, p0, v3}, Lorg/jsl/wfwt/Channel$ResolveListener;->(Lorg/jsl/wfwt/Channel;Ljava/lang/String;)V │ + invoke-direct {v4, p0, v2}, Lorg/jsl/wfwt/Channel$ResolveListener;->(Lorg/jsl/wfwt/Channel;Ljava/lang/String;)V │ │ iput-object v4, p0, Lorg/jsl/wfwt/Channel;->m_resolveListener:Lorg/jsl/wfwt/Channel$ResolveListener; │ │ .line 242 │ iget-object v4, p0, Lorg/jsl/wfwt/Channel;->m_nsdManager:Landroid/net/nsd/NsdManager; │ │ - iget-object v5, v2, Lorg/jsl/wfwt/Channel$ServiceInfo;->nsdServiceInfo:Landroid/net/nsd/NsdServiceInfo; │ + iget-object v5, v1, Lorg/jsl/wfwt/Channel$ServiceInfo;->nsdServiceInfo:Landroid/net/nsd/NsdServiceInfo; │ │ iget-object v6, p0, Lorg/jsl/wfwt/Channel;->m_resolveListener:Lorg/jsl/wfwt/Channel$ResolveListener; │ │ invoke-virtual {v4, v5, v6}, Landroid/net/nsd/NsdManager;->resolveService(Landroid/net/nsd/NsdServiceInfo;Landroid/net/nsd/NsdManager$ResolveListener;)V │ │ goto :goto_0 │ │ .line 246 │ .end local v0 # "entry":Ljava/util/Map$Entry;, "Ljava/util/Map$Entry;" │ - .end local v2 # "serviceInfo":Lorg/jsl/wfwt/Channel$ServiceInfo; │ - .end local v3 # "serviceName":Ljava/lang/String; │ + .end local v1 # "serviceInfo":Lorg/jsl/wfwt/Channel$ServiceInfo; │ + .end local v2 # "serviceName":Ljava/lang/String; │ :cond_1 │ return-void │ .end method │ │ .method private updateStateLocked()V │ .locals 5 │ │ @@ -1133,14 +1131,15 @@ │ .line 693 │ iget-object v2, p0, Lorg/jsl/wfwt/Channel;->m_serviceName:Ljava/lang/String; │ │ if-eqz v2, :cond_1 │ │ iget-object v2, p0, Lorg/jsl/wfwt/Channel;->m_serviceName:Ljava/lang/String; │ │ + .line 694 │ invoke-virtual {v2, v1}, Ljava/lang/String;->compareTo(Ljava/lang/String;)I │ │ move-result v2 │ │ if-lez v2, :cond_1 │ │ .line 696 │ @@ -1340,14 +1339,15 @@ │ :try_start_1 │ iget-object v3, p0, Lorg/jsl/wfwt/Channel;->m_serviceName:Ljava/lang/String; │ │ if-eqz v3, :cond_5 │ │ iget-object v3, p0, Lorg/jsl/wfwt/Channel;->m_serviceName:Ljava/lang/String; │ │ + .line 740 │ invoke-virtual {v3, v1}, Ljava/lang/String;->compareTo(Ljava/lang/String;)I │ │ move-result v3 │ │ if-lez v3, :cond_5 │ │ .line 743 │ @@ -1997,179 +1997,174 @@ │ │ invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantLock;->unlock()V │ │ throw v0 │ .end method │ │ .method public setStationName(Ljava/lang/String;)V │ - .locals 8 │ + .locals 7 │ .param p1, "stationName" # Ljava/lang/String; │ │ .prologue │ .line 845 │ - iget-object v6, p0, Lorg/jsl/wfwt/Channel;->m_lock:Ljava/util/concurrent/locks/ReentrantLock; │ + iget-object v5, p0, Lorg/jsl/wfwt/Channel;->m_lock:Ljava/util/concurrent/locks/ReentrantLock; │ │ - invoke-virtual {v6}, Ljava/util/concurrent/locks/ReentrantLock;->lock()V │ + invoke-virtual {v5}, Ljava/util/concurrent/locks/ReentrantLock;->lock()V │ │ .line 849 │ :try_start_0 │ iput-object p1, p0, Lorg/jsl/wfwt/Channel;->m_stationName:Ljava/lang/String; │ │ .line 850 │ invoke-static {p1}, Lorg/jsl/wfwt/Protocol$StationName;->create(Ljava/lang/String;)Ljava/nio/ByteBuffer; │ │ - move-result-object v3 │ + move-result-object v2 │ │ .line 852 │ - .local v3, "msg":Ljava/nio/ByteBuffer; │ - iget-object v6, p0, Lorg/jsl/wfwt/Channel;->m_serviceInfo:Ljava/util/TreeMap; │ + .local v2, "msg":Ljava/nio/ByteBuffer; │ + iget-object v5, p0, Lorg/jsl/wfwt/Channel;->m_serviceInfo:Ljava/util/TreeMap; │ │ - invoke-virtual {v6}, Ljava/util/TreeMap;->entrySet()Ljava/util/Set; │ + invoke-virtual {v5}, Ljava/util/TreeMap;->entrySet()Ljava/util/Set; │ │ - move-result-object v6 │ + move-result-object v5 │ │ - invoke-interface {v6}, Ljava/util/Set;->iterator()Ljava/util/Iterator; │ + invoke-interface {v5}, Ljava/util/Set;->iterator()Ljava/util/Iterator; │ │ - move-result-object v2 │ + move-result-object v5 │ │ - .local v2, "i$":Ljava/util/Iterator; │ :cond_0 │ :goto_0 │ - invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z │ + invoke-interface {v5}, Ljava/util/Iterator;->hasNext()Z │ │ move-result v6 │ │ if-eqz v6, :cond_1 │ │ - invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ + invoke-interface {v5}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ │ move-result-object v0 │ │ check-cast v0, Ljava/util/Map$Entry; │ │ .line 854 │ .local v0, "entry":Ljava/util/Map$Entry;, "Ljava/util/Map$Entry;" │ invoke-interface {v0}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object; │ │ - move-result-object v4 │ + move-result-object v3 │ │ - check-cast v4, Lorg/jsl/wfwt/Channel$ServiceInfo; │ + check-cast v3, Lorg/jsl/wfwt/Channel$ServiceInfo; │ │ .line 855 │ - .local v4, "serviceInfo":Lorg/jsl/wfwt/Channel$ServiceInfo; │ - iget-object v5, v4, Lorg/jsl/wfwt/Channel$ServiceInfo;->session:Lorg/jsl/collider/Session; │ + .local v3, "serviceInfo":Lorg/jsl/wfwt/Channel$ServiceInfo; │ + iget-object v4, v3, Lorg/jsl/wfwt/Channel$ServiceInfo;->session:Lorg/jsl/collider/Session; │ │ .line 856 │ - .local v5, "session":Lorg/jsl/collider/Session; │ - if-eqz v5, :cond_0 │ + .local v4, "session":Lorg/jsl/collider/Session; │ + if-eqz v4, :cond_0 │ │ .line 857 │ - invoke-virtual {v3}, Ljava/nio/ByteBuffer;->duplicate()Ljava/nio/ByteBuffer; │ + invoke-virtual {v2}, Ljava/nio/ByteBuffer;->duplicate()Ljava/nio/ByteBuffer; │ │ move-result-object v6 │ │ - invoke-interface {v5, v6}, Lorg/jsl/collider/Session;->sendData(Ljava/nio/ByteBuffer;)I │ + invoke-interface {v4, v6}, Lorg/jsl/collider/Session;->sendData(Ljava/nio/ByteBuffer;)I │ :try_end_0 │ .catch Ljava/nio/charset/CharacterCodingException; {:try_start_0 .. :try_end_0} :catch_0 │ .catchall {:try_start_0 .. :try_end_0} :catchall_0 │ │ goto :goto_0 │ │ .line 863 │ .end local v0 # "entry":Ljava/util/Map$Entry;, "Ljava/util/Map$Entry;" │ - .end local v2 # "i$":Ljava/util/Iterator; │ - .end local v3 # "msg":Ljava/nio/ByteBuffer; │ - .end local v4 # "serviceInfo":Lorg/jsl/wfwt/Channel$ServiceInfo; │ - .end local v5 # "session":Lorg/jsl/collider/Session; │ + .end local v2 # "msg":Ljava/nio/ByteBuffer; │ + .end local v3 # "serviceInfo":Lorg/jsl/wfwt/Channel$ServiceInfo; │ + .end local v4 # "session":Lorg/jsl/collider/Session; │ :catch_0 │ move-exception v1 │ │ .line 865 │ .local v1, "ex":Ljava/nio/charset/CharacterCodingException; │ :try_start_1 │ - const-string v6, "Channel" │ + const-string v5, "Channel" │ │ invoke-virtual {v1}, Ljava/nio/charset/CharacterCodingException;->toString()Ljava/lang/String; │ │ - move-result-object v7 │ + move-result-object v6 │ │ - invoke-static {v6, v7}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I │ + invoke-static {v5, v6}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I │ :try_end_1 │ .catchall {:try_start_1 .. :try_end_1} :catchall_0 │ │ .line 869 │ - iget-object v6, p0, Lorg/jsl/wfwt/Channel;->m_lock:Ljava/util/concurrent/locks/ReentrantLock; │ + iget-object v5, p0, Lorg/jsl/wfwt/Channel;->m_lock:Ljava/util/concurrent/locks/ReentrantLock; │ │ - invoke-virtual {v6}, Ljava/util/concurrent/locks/ReentrantLock;->unlock()V │ + invoke-virtual {v5}, Ljava/util/concurrent/locks/ReentrantLock;->unlock()V │ │ .line 871 │ .end local v1 # "ex":Ljava/nio/charset/CharacterCodingException; │ :goto_1 │ return-void │ │ .line 860 │ - .restart local v2 # "i$":Ljava/util/Iterator; │ - .restart local v3 # "msg":Ljava/nio/ByteBuffer; │ + .restart local v2 # "msg":Ljava/nio/ByteBuffer; │ :cond_1 │ :try_start_2 │ - iget-object v6, p0, Lorg/jsl/wfwt/Channel;->m_sessions:Ljava/util/LinkedHashMap; │ + iget-object v5, p0, Lorg/jsl/wfwt/Channel;->m_sessions:Ljava/util/LinkedHashMap; │ │ - invoke-virtual {v6}, Ljava/util/LinkedHashMap;->keySet()Ljava/util/Set; │ + invoke-virtual {v5}, Ljava/util/LinkedHashMap;->keySet()Ljava/util/Set; │ │ - move-result-object v6 │ + move-result-object v5 │ │ - invoke-interface {v6}, Ljava/util/Set;->iterator()Ljava/util/Iterator; │ + invoke-interface {v5}, Ljava/util/Set;->iterator()Ljava/util/Iterator; │ │ - move-result-object v2 │ + move-result-object v5 │ │ :goto_2 │ - invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z │ + invoke-interface {v5}, Ljava/util/Iterator;->hasNext()Z │ │ move-result v6 │ │ if-eqz v6, :cond_2 │ │ - invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ + invoke-interface {v5}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ │ - move-result-object v5 │ + move-result-object v4 │ │ - check-cast v5, Lorg/jsl/collider/Session; │ + check-cast v4, Lorg/jsl/collider/Session; │ │ .line 861 │ - .restart local v5 # "session":Lorg/jsl/collider/Session; │ - invoke-virtual {v3}, Ljava/nio/ByteBuffer;->duplicate()Ljava/nio/ByteBuffer; │ + .restart local v4 # "session":Lorg/jsl/collider/Session; │ + invoke-virtual {v2}, Ljava/nio/ByteBuffer;->duplicate()Ljava/nio/ByteBuffer; │ │ move-result-object v6 │ │ - invoke-interface {v5, v6}, Lorg/jsl/collider/Session;->sendData(Ljava/nio/ByteBuffer;)I │ + invoke-interface {v4, v6}, Lorg/jsl/collider/Session;->sendData(Ljava/nio/ByteBuffer;)I │ :try_end_2 │ .catch Ljava/nio/charset/CharacterCodingException; {:try_start_2 .. :try_end_2} :catch_0 │ .catchall {:try_start_2 .. :try_end_2} :catchall_0 │ │ goto :goto_2 │ │ .line 869 │ - .end local v2 # "i$":Ljava/util/Iterator; │ - .end local v3 # "msg":Ljava/nio/ByteBuffer; │ - .end local v5 # "session":Lorg/jsl/collider/Session; │ + .end local v2 # "msg":Ljava/nio/ByteBuffer; │ + .end local v4 # "session":Lorg/jsl/collider/Session; │ :catchall_0 │ - move-exception v6 │ + move-exception v5 │ │ - iget-object v7, p0, Lorg/jsl/wfwt/Channel;->m_lock:Ljava/util/concurrent/locks/ReentrantLock; │ + iget-object v6, p0, Lorg/jsl/wfwt/Channel;->m_lock:Ljava/util/concurrent/locks/ReentrantLock; │ │ - invoke-virtual {v7}, Ljava/util/concurrent/locks/ReentrantLock;->unlock()V │ + invoke-virtual {v6}, Ljava/util/concurrent/locks/ReentrantLock;->unlock()V │ │ - throw v6 │ + throw v5 │ │ - .restart local v2 # "i$":Ljava/util/Iterator; │ - .restart local v3 # "msg":Ljava/nio/ByteBuffer; │ + .restart local v2 # "msg":Ljava/nio/ByteBuffer; │ :cond_2 │ - iget-object v6, p0, Lorg/jsl/wfwt/Channel;->m_lock:Ljava/util/concurrent/locks/ReentrantLock; │ + iget-object v5, p0, Lorg/jsl/wfwt/Channel;->m_lock:Ljava/util/concurrent/locks/ReentrantLock; │ │ - invoke-virtual {v6}, Ljava/util/concurrent/locks/ReentrantLock;->unlock()V │ + invoke-virtual {v5}, Ljava/util/concurrent/locks/ReentrantLock;->unlock()V │ │ goto :goto_1 │ .end method │ │ .method public setStationName(Ljava/lang/String;Ljava/lang/String;)V │ .locals 5 │ .param p1, "serviceName" # Ljava/lang/String; ├── smali/org/jsl/wfwt/HandshakeClientSession.smali │ @@ -5,15 +5,14 @@ │ # interfaces │ .implements Lorg/jsl/collider/Session$Listener; │ │ │ # annotations │ .annotation system Ldalvik/annotation/MemberClasses; │ value = { │ - Lorg/jsl/wfwt/HandshakeClientSession$1;, │ Lorg/jsl/wfwt/HandshakeClientSession$TimerHandler; │ } │ .end annotation │ │ │ # static fields │ .field private static final LOG_TAG:Ljava/lang/String; │ @@ -524,15 +523,15 @@ │ │ .line 137 │ .local v10, "audioFormat":Ljava/lang/String; │ invoke-static {v13}, Lorg/jsl/wfwt/Protocol$HandshakeReplyOk;->getStationName(Lorg/jsl/collider/RetainableByteBuffer;)Ljava/lang/String; │ │ move-result-object v15 │ │ - .line 138 │ + .line 139 │ .local v15, "stationName":Ljava/lang/String; │ invoke-direct/range {p0 .. p0}, Lorg/jsl/wfwt/HandshakeClientSession;->getLogPrefix()Ljava/lang/String; │ │ move-result-object v2 │ │ move-object/from16 v0, p0 │ │ @@ -542,14 +541,15 @@ │ │ iget-object v4, v0, Lorg/jsl/wfwt/HandshakeClientSession;->m_serviceName:Ljava/lang/String; │ │ move-object/from16 v0, p0 │ │ iget-object v5, v0, Lorg/jsl/wfwt/HandshakeClientSession;->m_session:Lorg/jsl/collider/Session; │ │ + .line 138 │ invoke-static {v2, v10, v3, v4, v5}, Lorg/jsl/wfwt/AudioPlayer;->create(Ljava/lang/String;Ljava/lang/String;Lorg/jsl/wfwt/Channel;Ljava/lang/String;Lorg/jsl/collider/Session;)Lorg/jsl/wfwt/AudioPlayer; │ │ move-result-object v7 │ │ .line 140 │ .local v7, "audioPlayer":Lorg/jsl/wfwt/AudioPlayer; │ if-nez v7, :cond_3 │ @@ -910,14 +910,15 @@ │ │ move-result-object v3 │ │ move-object/from16 v0, p0 │ │ iget-object v4, v0, Lorg/jsl/wfwt/HandshakeClientSession;->m_session:Lorg/jsl/collider/Session; │ │ + .line 182 │ invoke-interface {v4}, Lorg/jsl/collider/Session;->getRemoteAddress()Ljava/net/SocketAddress; │ │ move-result-object v4 │ │ invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; │ │ move-result-object v3 │ @@ -928,14 +929,15 @@ │ │ move-result-object v3 │ │ invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ │ move-result-object v3 │ │ + .line 180 │ invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I │ │ .line 183 │ move-object/from16 v0, p0 │ │ iget-object v2, v0, Lorg/jsl/wfwt/HandshakeClientSession;->m_session:Lorg/jsl/collider/Session; ├── smali/org/jsl/wfwt/HandshakeServerSession.smali │ @@ -5,15 +5,14 @@ │ # interfaces │ .implements Lorg/jsl/collider/Session$Listener; │ │ │ # annotations │ .annotation system Ldalvik/annotation/MemberClasses; │ value = { │ - Lorg/jsl/wfwt/HandshakeServerSession$1;, │ Lorg/jsl/wfwt/HandshakeServerSession$TimerHandler; │ } │ .end annotation │ │ │ # static fields │ .field private static final LOG_TAG:Ljava/lang/String; = "HandshakeServerSession" │ @@ -452,15 +451,15 @@ │ │ .line 126 │ .local v10, "audioFormat":Ljava/lang/String; │ invoke-static {v14}, Lorg/jsl/wfwt/Protocol$HandshakeRequest;->getStationName(Lorg/jsl/collider/RetainableByteBuffer;)Ljava/lang/String; │ │ move-result-object v16 │ │ - .line 127 │ + .line 128 │ .local v16, "stationName":Ljava/lang/String; │ invoke-direct/range {p0 .. p0}, Lorg/jsl/wfwt/HandshakeServerSession;->getLogPrefix()Ljava/lang/String; │ │ move-result-object v2 │ │ move-object/from16 v0, p0 │ │ @@ -468,14 +467,15 @@ │ │ const/4 v4, 0x0 │ │ move-object/from16 v0, p0 │ │ iget-object v5, v0, Lorg/jsl/wfwt/HandshakeServerSession;->m_session:Lorg/jsl/collider/Session; │ │ + .line 127 │ invoke-static {v2, v10, v3, v4, v5}, Lorg/jsl/wfwt/AudioPlayer;->create(Ljava/lang/String;Ljava/lang/String;Lorg/jsl/wfwt/Channel;Ljava/lang/String;Lorg/jsl/collider/Session;)Lorg/jsl/wfwt/AudioPlayer; │ │ move-result-object v7 │ │ .line 129 │ .local v7, "audioPlayer":Lorg/jsl/wfwt/AudioPlayer; │ if-nez v7, :cond_4 ├── smali/org/jsl/wfwt/MainActivity$1.smali │ @@ -22,14 +22,15 @@ │ │ .field final synthetic val$audioRecorder:Lorg/jsl/wfwt/AudioRecorder; │ │ │ # direct methods │ .method constructor (Lorg/jsl/wfwt/MainActivity;Lorg/jsl/wfwt/AudioRecorder;)V │ .locals 0 │ + .param p1, "this$0" # Lorg/jsl/wfwt/MainActivity; │ │ .prologue │ .line 197 │ iput-object p1, p0, Lorg/jsl/wfwt/MainActivity$1;->this$0:Lorg/jsl/wfwt/MainActivity; │ │ iput-object p2, p0, Lorg/jsl/wfwt/MainActivity$1;->val$audioRecorder:Lorg/jsl/wfwt/AudioRecorder; ├── smali/org/jsl/wfwt/MainActivity$2.smali │ @@ -24,14 +24,15 @@ │ │ .field final synthetic val$stateString:Ljava/lang/String; │ │ │ # direct methods │ .method constructor (Lorg/jsl/wfwt/MainActivity;Ljava/lang/String;Z)V │ .locals 0 │ + .param p1, "this$0" # Lorg/jsl/wfwt/MainActivity; │ │ .prologue │ .line 213 │ iput-object p1, p0, Lorg/jsl/wfwt/MainActivity$2;->this$0:Lorg/jsl/wfwt/MainActivity; │ │ iput-object p2, p0, Lorg/jsl/wfwt/MainActivity$2;->val$stateString:Ljava/lang/String; ├── smali/org/jsl/wfwt/MainActivity$3.smali │ @@ -22,14 +22,15 @@ │ │ .field final synthetic val$stationInfo:[Lorg/jsl/wfwt/StationInfo; │ │ │ # direct methods │ .method constructor (Lorg/jsl/wfwt/MainActivity;[Lorg/jsl/wfwt/StationInfo;)V │ .locals 0 │ + .param p1, "this$0" # Lorg/jsl/wfwt/MainActivity; │ │ .prologue │ .line 224 │ iput-object p1, p0, Lorg/jsl/wfwt/MainActivity$3;->this$0:Lorg/jsl/wfwt/MainActivity; │ │ iput-object p2, p0, Lorg/jsl/wfwt/MainActivity$3;->val$stationInfo:[Lorg/jsl/wfwt/StationInfo; ├── smali/org/jsl/wfwt/MainActivity$4.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Lorg/jsl/wfwt/MainActivity; │ │ │ # direct methods │ .method constructor (Lorg/jsl/wfwt/MainActivity;)V │ .locals 0 │ + .param p1, "this$0" # Lorg/jsl/wfwt/MainActivity; │ │ .prologue │ .line 347 │ iput-object p1, p0, Lorg/jsl/wfwt/MainActivity$4;->this$0:Lorg/jsl/wfwt/MainActivity; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/org/jsl/wfwt/MainActivity.smali │ @@ -51,15 +51,14 @@ │ .method public constructor ()V │ .locals 0 │ │ .prologue │ .line 35 │ invoke-direct {p0}, Landroid/app/Activity;->()V │ │ - .line 139 │ return-void │ .end method │ │ .method static synthetic access$000(Lorg/jsl/wfwt/MainActivity;)Lorg/jsl/wfwt/AudioRecorder; │ .locals 1 │ .param p0, "x0" # Lorg/jsl/wfwt/MainActivity; ├── smali/org/jsl/wfwt/Protocol.smali │ @@ -40,10 +40,9 @@ │ .method public constructor ()V │ .locals 0 │ │ .prologue │ .line 30 │ invoke-direct {p0}, Ljava/lang/Object;->()V │ │ - .line 327 │ return-void │ .end method ├── smali/org/jsl/wfwt/SessionManager.smali │ @@ -150,38 +150,37 @@ │ │ .method public send(Lorg/jsl/collider/RetainableByteBuffer;)V │ .locals 3 │ .param p1, "msg" # Lorg/jsl/collider/RetainableByteBuffer; │ │ .prologue │ .line 77 │ - iget-object v2, p0, Lorg/jsl/wfwt/SessionManager;->m_sessions:Ljava/util/HashSet; │ + iget-object v1, p0, Lorg/jsl/wfwt/SessionManager;->m_sessions:Ljava/util/HashSet; │ │ - invoke-virtual {v2}, Ljava/util/HashSet;->iterator()Ljava/util/Iterator; │ + invoke-virtual {v1}, Ljava/util/HashSet;->iterator()Ljava/util/Iterator; │ │ - move-result-object v0 │ + move-result-object v1 │ │ - .local v0, "i$":Ljava/util/Iterator; │ :goto_0 │ - invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z │ + invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z │ │ move-result v2 │ │ if-eqz v2, :cond_0 │ │ - invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ + invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ │ - move-result-object v1 │ + move-result-object v0 │ │ - check-cast v1, Lorg/jsl/wfwt/ChannelSession; │ + check-cast v0, Lorg/jsl/wfwt/ChannelSession; │ │ .line 78 │ - .local v1, "session":Lorg/jsl/wfwt/ChannelSession; │ - invoke-virtual {v1, p1}, Lorg/jsl/wfwt/ChannelSession;->sendMessage(Lorg/jsl/collider/RetainableByteBuffer;)I │ + .local v0, "session":Lorg/jsl/wfwt/ChannelSession; │ + invoke-virtual {v0, p1}, Lorg/jsl/wfwt/ChannelSession;->sendMessage(Lorg/jsl/collider/RetainableByteBuffer;)I │ │ goto :goto_0 │ │ .line 79 │ - .end local v1 # "session":Lorg/jsl/wfwt/ChannelSession; │ + .end local v0 # "session":Lorg/jsl/wfwt/ChannelSession; │ :cond_0 │ return-void │ .end method ├── smali/org/jsl/wfwt/R.smali │ @@ -20,10 +20,9 @@ │ .method public constructor ()V │ .locals 0 │ │ .prologue │ .line 10 │ invoke-direct {p0}, Ljava/lang/Object;->()V │ │ - .line 41 │ return-void │ .end method ├── smali/org/jsl/wfwt/SwitchButton.smali │ @@ -804,14 +804,15 @@ │ │ int-to-float v7, v7 │ │ cmpl-float v6, v6, v7 │ │ if-gtz v6, :cond_3 │ │ + .line 201 │ invoke-static {v2}, Ljava/lang/Math;->abs(F)F │ │ move-result v6 │ │ iget v7, p0, Lorg/jsl/wfwt/SwitchButton;->m_touchSlop:I │ │ int-to-float v7, v7 ├── smali/org/jsl/wfwt/WalkieService.smali │ @@ -2,15 +2,14 @@ │ .super Landroid/app/Service; │ .source "WalkieService.java" │ │ │ # annotations │ .annotation system Ldalvik/annotation/MemberClasses; │ value = { │ - Lorg/jsl/wfwt/WalkieService$1;, │ Lorg/jsl/wfwt/WalkieService$DiscoveryListener;, │ Lorg/jsl/wfwt/WalkieService$ColliderThread;, │ Lorg/jsl/wfwt/WalkieService$BinderImpl;, │ Lorg/jsl/wfwt/WalkieService$StateListener; │ } │ .end annotation │ │ @@ -817,14 +816,15 @@ │ .local v10, "timerQueue":Lorg/jsl/collider/TimerQueue; │ new-instance v1, Lorg/jsl/wfwt/Channel; │ │ move-object/from16 v0, p0 │ │ iget-object v4, v0, Lorg/jsl/wfwt/WalkieService;->m_audioRecorder:Lorg/jsl/wfwt/AudioRecorder; │ │ + .line 287 │ invoke-virtual {v4}, Lorg/jsl/wfwt/AudioRecorder;->getAudioFormat()Ljava/lang/String; │ │ move-result-object v4 │ │ move-object/from16 v0, p0 │ │ iget-object v5, v0, Lorg/jsl/wfwt/WalkieService;->m_collider:Lorg/jsl/collider/Collider; ├── smali/org/jsl/wfwt/WalkieService$BinderImpl.smali │ @@ -17,14 +17,15 @@ │ # instance fields │ .field final synthetic this$0:Lorg/jsl/wfwt/WalkieService; │ │ │ # direct methods │ .method public constructor (Lorg/jsl/wfwt/WalkieService;)V │ .locals 0 │ + .param p1, "this$0" # Lorg/jsl/wfwt/WalkieService; │ │ .prologue │ .line 69 │ iput-object p1, p0, Lorg/jsl/wfwt/WalkieService$BinderImpl;->this$0:Lorg/jsl/wfwt/WalkieService; │ │ invoke-direct {p0}, Landroid/os/Binder;->()V