--- /home/hans/code/fdroid/data/tmp/com.termux.api_10.apk +++ /home/hans/code/fdroid/data/tmp/sigcp_com.termux.api_10.apk ├── zipinfo {} │ @@ -1,17 +1,17 @@ │ -Zip file size: 51451 bytes, number of entries: 15 │ +Zip file size: 51210 bytes, number of entries: 15 │ -rw---- 2.0 fat 1049 bl defN 08-Jan-01 00:00 META-INF/MANIFEST.MF │ -rw---- 2.0 fat 1170 bl defN 08-Jan-01 00:00 META-INF/84D3000E.SF │ -rw---- 2.0 fat 1326 bl defN 08-Jan-01 00:00 META-INF/84D3000E.RSA │ -rw---- 2.0 fat 41 bl defN 08-Jan-01 00:00 META-INF/buildserverid │ -rw---- 2.0 fat 41 bl defN 08-Jan-01 00:00 META-INF/fdroidserverid │ -rw---- 2.0 fat 6244 bX defN 08-Jan-01 00:00 AndroidManifest.xml │ -rw---- 1.0 fat 912 b- stor 08-Jan-01 00:00 res/drawable-hdpi-v4/ic_launcher.png │ -rw---- 1.0 fat 660 b- stor 08-Jan-01 00:00 res/drawable-mdpi-v4/ic_launcher.png │ -rw---- 1.0 fat 1061 b- stor 08-Jan-01 00:00 res/drawable-xhdpi-v4/ic_launcher.png │ -rw---- 1.0 fat 1429 b- stor 08-Jan-01 00:00 res/drawable-xxhdpi-v4/ic_launcher.png │ -rw---- 1.0 fat 1749 b- stor 08-Jan-01 00:00 res/drawable-xxxhdpi-v4/ic_launcher.png │ -rw---- 2.0 fat 1088 bl defN 08-Jan-01 00:00 res/layout/activity_permission.xml │ -rw---- 2.0 fat 1396 bl defN 08-Jan-01 00:00 res/layout/dialog_textarea_input.xml │ -rw---- 1.0 fat 2932 b- stor 08-Jan-01 00:00 resources.arsc │ --rw---- 2.0 fat 76452 bl defN 08-Jan-01 00:00 classes.dex │ -15 files, 97550 bytes uncompressed, 49314 bytes compressed: 49.4% │ +-rw---- 2.0 fat 75888 bl defN 08-Jan-01 00:00 classes.dex │ +15 files, 96986 bytes uncompressed, 49120 bytes compressed: 49.4% ├── AndroidManifest.xml │ @@ -1,9 +1,9 @@ │ │ - ├── smali/com/termux/api/CameraInfoAPI$1.smali │ @@ -42,184 +42,165 @@ │ } │ .end annotation │ │ .prologue │ .line 23 │ move-object/from16 v0, p0 │ │ - iget-object v0, v0, Lcom/termux/api/CameraInfoAPI$1;->val$context:Landroid/content/Context; │ + iget-object v15, v0, Lcom/termux/api/CameraInfoAPI$1;->val$context:Landroid/content/Context; │ │ - move-object/from16 v21, v0 │ + const-string v16, "camera" │ │ - const-string v22, "camera" │ + invoke-virtual/range {v15 .. v16}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; │ │ - invoke-virtual/range {v21 .. v22}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; │ - │ - move-result-object v17 │ + move-result-object v11 │ │ - check-cast v17, Landroid/hardware/camera2/CameraManager; │ + check-cast v11, Landroid/hardware/camera2/CameraManager; │ │ .line 25 │ - .local v17, "manager":Landroid/hardware/camera2/CameraManager; │ + .local v11, "manager":Landroid/hardware/camera2/CameraManager; │ invoke-virtual/range {p1 .. p1}, Landroid/util/JsonWriter;->beginArray()Landroid/util/JsonWriter; │ │ .line 26 │ - invoke-virtual/range {v17 .. v17}, Landroid/hardware/camera2/CameraManager;->getCameraIdList()[Ljava/lang/String; │ + invoke-virtual {v11}, Landroid/hardware/camera2/CameraManager;->getCameraIdList()[Ljava/lang/String; │ │ - move-result-object v4 │ + move-result-object v18 │ + │ + move-object/from16 v0, v18 │ │ - .local v4, "arr$":[Ljava/lang/String; │ - array-length v14, v4 │ + array-length v0, v0 │ │ - .local v14, "len$":I │ - const/4 v12, 0x0 │ + move/from16 v19, v0 │ │ - .local v12, "i$":I │ - move v13, v12 │ + const/4 v15, 0x0 │ + │ + move/from16 v17, v15 │ │ - .end local v4 # "arr$":[Ljava/lang/String; │ - .end local v12 # "i$":I │ - .end local v14 # "len$":I │ - .local v13, "i$":I │ :goto_0 │ - if-ge v13, v14, :cond_4 │ + move/from16 v0, v17 │ + │ + move/from16 v1, v19 │ + │ + if-ge v0, v1, :cond_4 │ │ - aget-object v7, v4, v13 │ + aget-object v5, v18, v17 │ │ .line 27 │ - .local v7, "cameraId":Ljava/lang/String; │ + .local v5, "cameraId":Ljava/lang/String; │ invoke-virtual/range {p1 .. p1}, Landroid/util/JsonWriter;->beginObject()Landroid/util/JsonWriter; │ │ .line 28 │ - const-string v21, "id" │ + const-string v15, "id" │ │ move-object/from16 v0, p1 │ │ - move-object/from16 v1, v21 │ - │ - invoke-virtual {v0, v1}, Landroid/util/JsonWriter;->name(Ljava/lang/String;)Landroid/util/JsonWriter; │ - │ - move-result-object v21 │ + invoke-virtual {v0, v15}, Landroid/util/JsonWriter;->name(Ljava/lang/String;)Landroid/util/JsonWriter; │ │ - move-object/from16 v0, v21 │ + move-result-object v15 │ │ - invoke-virtual {v0, v7}, Landroid/util/JsonWriter;->value(Ljava/lang/String;)Landroid/util/JsonWriter; │ + invoke-virtual {v15, v5}, Landroid/util/JsonWriter;->value(Ljava/lang/String;)Landroid/util/JsonWriter; │ │ .line 30 │ - move-object/from16 v0, v17 │ - │ - invoke-virtual {v0, v7}, Landroid/hardware/camera2/CameraManager;->getCameraCharacteristics(Ljava/lang/String;)Landroid/hardware/camera2/CameraCharacteristics; │ + invoke-virtual {v11, v5}, Landroid/hardware/camera2/CameraManager;->getCameraCharacteristics(Ljava/lang/String;)Landroid/hardware/camera2/CameraCharacteristics; │ │ - move-result-object v6 │ + move-result-object v4 │ │ .line 32 │ - .local v6, "camera":Landroid/hardware/camera2/CameraCharacteristics; │ - const-string v21, "facing" │ + .local v4, "camera":Landroid/hardware/camera2/CameraCharacteristics; │ + const-string v15, "facing" │ │ move-object/from16 v0, p1 │ │ - move-object/from16 v1, v21 │ - │ - invoke-virtual {v0, v1}, Landroid/util/JsonWriter;->name(Ljava/lang/String;)Landroid/util/JsonWriter; │ + invoke-virtual {v0, v15}, Landroid/util/JsonWriter;->name(Ljava/lang/String;)Landroid/util/JsonWriter; │ │ .line 33 │ - sget-object v21, Landroid/hardware/camera2/CameraCharacteristics;->LENS_FACING:Landroid/hardware/camera2/CameraCharacteristics$Key; │ - │ - move-object/from16 v0, v21 │ + sget-object v15, Landroid/hardware/camera2/CameraCharacteristics;->LENS_FACING:Landroid/hardware/camera2/CameraCharacteristics$Key; │ │ - invoke-virtual {v6, v0}, Landroid/hardware/camera2/CameraCharacteristics;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object; │ + invoke-virtual {v4, v15}, Landroid/hardware/camera2/CameraCharacteristics;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object; │ │ - move-result-object v21 │ + move-result-object v15 │ │ - check-cast v21, Ljava/lang/Integer; │ + check-cast v15, Ljava/lang/Integer; │ │ - invoke-virtual/range {v21 .. v21}, Ljava/lang/Integer;->intValue()I │ + invoke-virtual {v15}, Ljava/lang/Integer;->intValue()I │ │ - move-result v16 │ + move-result v10 │ │ .line 34 │ - .local v16, "lensFacing":I │ - packed-switch v16, :pswitch_data_0 │ + .local v10, "lensFacing":I │ + packed-switch v10, :pswitch_data_0 │ │ .line 42 │ - move/from16 v0, v16 │ - │ - int-to-long v0, v0 │ + int-to-long v0, v10 │ │ - move-wide/from16 v22, v0 │ + move-wide/from16 v20, v0 │ │ move-object/from16 v0, p1 │ │ - move-wide/from16 v1, v22 │ + move-wide/from16 v1, v20 │ │ invoke-virtual {v0, v1, v2}, Landroid/util/JsonWriter;->value(J)Landroid/util/JsonWriter; │ │ .line 45 │ :goto_1 │ - sget-object v21, Landroid/hardware/camera2/CameraCharacteristics;->SCALER_STREAM_CONFIGURATION_MAP:Landroid/hardware/camera2/CameraCharacteristics$Key; │ - │ - move-object/from16 v0, v21 │ + sget-object v15, Landroid/hardware/camera2/CameraCharacteristics;->SCALER_STREAM_CONFIGURATION_MAP:Landroid/hardware/camera2/CameraCharacteristics$Key; │ │ - invoke-virtual {v6, v0}, Landroid/hardware/camera2/CameraCharacteristics;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object; │ + invoke-virtual {v4, v15}, Landroid/hardware/camera2/CameraCharacteristics;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object; │ │ - move-result-object v18 │ + move-result-object v12 │ │ - check-cast v18, Landroid/hardware/camera2/params/StreamConfigurationMap; │ + check-cast v12, Landroid/hardware/camera2/params/StreamConfigurationMap; │ │ .line 46 │ - .local v18, "map":Landroid/hardware/camera2/params/StreamConfigurationMap; │ - const-string v21, "jpeg_output_sizes" │ + .local v12, "map":Landroid/hardware/camera2/params/StreamConfigurationMap; │ + const-string v15, "jpeg_output_sizes" │ │ move-object/from16 v0, p1 │ │ - move-object/from16 v1, v21 │ - │ - invoke-virtual {v0, v1}, Landroid/util/JsonWriter;->name(Ljava/lang/String;)Landroid/util/JsonWriter; │ + invoke-virtual {v0, v15}, Landroid/util/JsonWriter;->name(Ljava/lang/String;)Landroid/util/JsonWriter; │ │ - move-result-object v21 │ + move-result-object v15 │ │ - invoke-virtual/range {v21 .. v21}, Landroid/util/JsonWriter;->beginArray()Landroid/util/JsonWriter; │ + invoke-virtual {v15}, Landroid/util/JsonWriter;->beginArray()Landroid/util/JsonWriter; │ │ .line 47 │ - const/16 v21, 0x100 │ + const/16 v15, 0x100 │ │ - move-object/from16 v0, v18 │ + invoke-virtual {v12, v15}, Landroid/hardware/camera2/params/StreamConfigurationMap;->getOutputSizes(I)[Landroid/util/Size; │ │ - move/from16 v1, v21 │ + move-result-object v16 │ │ - invoke-virtual {v0, v1}, Landroid/hardware/camera2/params/StreamConfigurationMap;->getOutputSizes(I)[Landroid/util/Size; │ + move-object/from16 v0, v16 │ │ - move-result-object v5 │ + array-length v0, v0 │ │ - .local v5, "arr$":[Landroid/util/Size; │ - array-length v15, v5 │ + move/from16 v20, v0 │ │ - .local v15, "len$":I │ - const/4 v12, 0x0 │ + const/4 v15, 0x0 │ │ - .end local v13 # "i$":I │ - .restart local v12 # "i$":I │ :goto_2 │ - if-ge v12, v15, :cond_0 │ + move/from16 v0, v20 │ + │ + if-ge v15, v0, :cond_0 │ │ - aget-object v20, v5, v12 │ + aget-object v14, v16, v15 │ │ .line 48 │ - .local v20, "size":Landroid/util/Size; │ + .local v14, "size":Landroid/util/Size; │ invoke-virtual/range {p1 .. p1}, Landroid/util/JsonWriter;->beginObject()Landroid/util/JsonWriter; │ │ move-result-object v21 │ │ const-string v22, "width" │ │ invoke-virtual/range {v21 .. v22}, Landroid/util/JsonWriter;->name(Ljava/lang/String;)Landroid/util/JsonWriter; │ │ move-result-object v21 │ │ - invoke-virtual/range {v20 .. v20}, Landroid/util/Size;->getWidth()I │ + invoke-virtual {v14}, Landroid/util/Size;->getWidth()I │ │ move-result v22 │ │ move/from16 v0, v22 │ │ int-to-long v0, v0 │ │ @@ -231,15 +212,15 @@ │ │ const-string v22, "height" │ │ invoke-virtual/range {v21 .. v22}, Landroid/util/JsonWriter;->name(Ljava/lang/String;)Landroid/util/JsonWriter; │ │ move-result-object v21 │ │ - invoke-virtual/range {v20 .. v20}, Landroid/util/Size;->getHeight()I │ + invoke-virtual {v14}, Landroid/util/Size;->getHeight()I │ │ move-result v22 │ │ move/from16 v0, v22 │ │ int-to-long v0, v0 │ │ @@ -248,360 +229,346 @@ │ invoke-virtual/range {v21 .. v23}, Landroid/util/JsonWriter;->value(J)Landroid/util/JsonWriter; │ │ move-result-object v21 │ │ invoke-virtual/range {v21 .. v21}, Landroid/util/JsonWriter;->endObject()Landroid/util/JsonWriter; │ │ .line 47 │ - add-int/lit8 v12, v12, 0x1 │ + add-int/lit8 v15, v15, 0x1 │ │ goto :goto_2 │ │ .line 36 │ - .end local v5 # "arr$":[Landroid/util/Size; │ - .end local v12 # "i$":I │ - .end local v15 # "len$":I │ - .end local v18 # "map":Landroid/hardware/camera2/params/StreamConfigurationMap; │ - .end local v20 # "size":Landroid/util/Size; │ - .restart local v13 # "i$":I │ + .end local v12 # "map":Landroid/hardware/camera2/params/StreamConfigurationMap; │ + .end local v14 # "size":Landroid/util/Size; │ :pswitch_0 │ - const-string v21, "front" │ + const-string v15, "front" │ │ move-object/from16 v0, p1 │ │ - move-object/from16 v1, v21 │ - │ - invoke-virtual {v0, v1}, Landroid/util/JsonWriter;->value(Ljava/lang/String;)Landroid/util/JsonWriter; │ + invoke-virtual {v0, v15}, Landroid/util/JsonWriter;->value(Ljava/lang/String;)Landroid/util/JsonWriter; │ │ goto :goto_1 │ │ .line 39 │ :pswitch_1 │ - const-string v21, "back" │ + const-string v15, "back" │ │ move-object/from16 v0, p1 │ │ - move-object/from16 v1, v21 │ - │ - invoke-virtual {v0, v1}, Landroid/util/JsonWriter;->value(Ljava/lang/String;)Landroid/util/JsonWriter; │ + invoke-virtual {v0, v15}, Landroid/util/JsonWriter;->value(Ljava/lang/String;)Landroid/util/JsonWriter; │ │ goto :goto_1 │ │ .line 50 │ - .end local v13 # "i$":I │ - .restart local v5 # "arr$":[Landroid/util/Size; │ - .restart local v12 # "i$":I │ - .restart local v15 # "len$":I │ - .restart local v18 # "map":Landroid/hardware/camera2/params/StreamConfigurationMap; │ + .restart local v12 # "map":Landroid/hardware/camera2/params/StreamConfigurationMap; │ :cond_0 │ invoke-virtual/range {p1 .. p1}, Landroid/util/JsonWriter;->endArray()Landroid/util/JsonWriter; │ │ .line 52 │ - const-string v21, "focal_lengths" │ + const-string v15, "focal_lengths" │ │ move-object/from16 v0, p1 │ │ - move-object/from16 v1, v21 │ - │ - invoke-virtual {v0, v1}, Landroid/util/JsonWriter;->name(Ljava/lang/String;)Landroid/util/JsonWriter; │ + invoke-virtual {v0, v15}, Landroid/util/JsonWriter;->name(Ljava/lang/String;)Landroid/util/JsonWriter; │ │ - move-result-object v21 │ + move-result-object v15 │ │ - invoke-virtual/range {v21 .. v21}, Landroid/util/JsonWriter;->beginArray()Landroid/util/JsonWriter; │ + invoke-virtual {v15}, Landroid/util/JsonWriter;->beginArray()Landroid/util/JsonWriter; │ │ .line 53 │ - sget-object v21, Landroid/hardware/camera2/CameraCharacteristics;->LENS_INFO_AVAILABLE_FOCAL_LENGTHS:Landroid/hardware/camera2/CameraCharacteristics$Key; │ + sget-object v15, Landroid/hardware/camera2/CameraCharacteristics;->LENS_INFO_AVAILABLE_FOCAL_LENGTHS:Landroid/hardware/camera2/CameraCharacteristics$Key; │ │ - move-object/from16 v0, v21 │ + invoke-virtual {v4, v15}, Landroid/hardware/camera2/CameraCharacteristics;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object; │ │ - invoke-virtual {v6, v0}, Landroid/hardware/camera2/CameraCharacteristics;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object; │ + move-result-object v15 │ │ - move-result-object v5 │ + check-cast v15, [F │ │ - .end local v5 # "arr$":[Landroid/util/Size; │ - check-cast v5, [F │ + array-length v0, v15 │ │ - .local v5, "arr$":[F │ - array-length v15, v5 │ + move/from16 v20, v0 │ │ - const/4 v12, 0x0 │ + const/16 v16, 0x0 │ │ :goto_3 │ - if-ge v12, v15, :cond_1 │ + move/from16 v0, v16 │ + │ + move/from16 v1, v20 │ + │ + if-ge v0, v1, :cond_1 │ │ - aget v9, v5, v12 │ + aget v7, v15, v16 │ │ .line 54 │ - .local v9, "f":F │ - float-to-double v0, v9 │ + .local v7, "f":F │ + float-to-double v0, v7 │ │ move-wide/from16 v22, v0 │ │ move-object/from16 v0, p1 │ │ move-wide/from16 v1, v22 │ │ invoke-virtual {v0, v1, v2}, Landroid/util/JsonWriter;->value(D)Landroid/util/JsonWriter; │ │ .line 53 │ - add-int/lit8 v12, v12, 0x1 │ + add-int/lit8 v16, v16, 0x1 │ │ goto :goto_3 │ │ .line 55 │ - .end local v9 # "f":F │ + .end local v7 # "f":F │ :cond_1 │ invoke-virtual/range {p1 .. p1}, Landroid/util/JsonWriter;->endArray()Landroid/util/JsonWriter; │ │ .line 57 │ - const-string v21, "auto_exposure_modes" │ + const-string v15, "auto_exposure_modes" │ │ move-object/from16 v0, p1 │ │ - move-object/from16 v1, v21 │ - │ - invoke-virtual {v0, v1}, Landroid/util/JsonWriter;->name(Ljava/lang/String;)Landroid/util/JsonWriter; │ + invoke-virtual {v0, v15}, Landroid/util/JsonWriter;->name(Ljava/lang/String;)Landroid/util/JsonWriter; │ │ - move-result-object v21 │ + move-result-object v15 │ │ - invoke-virtual/range {v21 .. v21}, Landroid/util/JsonWriter;->beginArray()Landroid/util/JsonWriter; │ + invoke-virtual {v15}, Landroid/util/JsonWriter;->beginArray()Landroid/util/JsonWriter; │ │ .line 58 │ - sget-object v21, Landroid/hardware/camera2/CameraCharacteristics;->CONTROL_AE_AVAILABLE_MODES:Landroid/hardware/camera2/CameraCharacteristics$Key; │ + sget-object v15, Landroid/hardware/camera2/CameraCharacteristics;->CONTROL_AE_AVAILABLE_MODES:Landroid/hardware/camera2/CameraCharacteristics$Key; │ │ - move-object/from16 v0, v21 │ + invoke-virtual {v4, v15}, Landroid/hardware/camera2/CameraCharacteristics;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object; │ │ - invoke-virtual {v6, v0}, Landroid/hardware/camera2/CameraCharacteristics;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object; │ + move-result-object v9 │ │ - move-result-object v11 │ - │ - check-cast v11, [I │ + check-cast v9, [I │ │ .line 59 │ - .local v11, "flashModeValues":[I │ - move-object v5, v11 │ + .local v9, "flashModeValues":[I │ + array-length v0, v9 │ │ - .local v5, "arr$":[I │ - array-length v15, v5 │ + move/from16 v16, v0 │ │ - const/4 v12, 0x0 │ + const/4 v15, 0x0 │ │ :goto_4 │ - if-ge v12, v15, :cond_2 │ + move/from16 v0, v16 │ │ - aget v10, v5, v12 │ + if-ge v15, v0, :cond_2 │ + │ + aget v8, v9, v15 │ │ .line 60 │ - .local v10, "flashMode":I │ - packed-switch v10, :pswitch_data_1 │ + .local v8, "flashMode":I │ + packed-switch v8, :pswitch_data_1 │ │ .line 77 │ - int-to-long v0, v10 │ + int-to-long v0, v8 │ │ - move-wide/from16 v22, v0 │ + move-wide/from16 v20, v0 │ │ move-object/from16 v0, p1 │ │ - move-wide/from16 v1, v22 │ + move-wide/from16 v1, v20 │ │ invoke-virtual {v0, v1, v2}, Landroid/util/JsonWriter;->value(J)Landroid/util/JsonWriter; │ │ .line 59 │ :goto_5 │ - add-int/lit8 v12, v12, 0x1 │ + add-int/lit8 v15, v15, 0x1 │ │ goto :goto_4 │ │ .line 62 │ :pswitch_2 │ - const-string v21, "CONTROL_AE_MODE_OFF" │ + const-string v20, "CONTROL_AE_MODE_OFF" │ │ move-object/from16 v0, p1 │ │ - move-object/from16 v1, v21 │ + move-object/from16 v1, v20 │ │ invoke-virtual {v0, v1}, Landroid/util/JsonWriter;->value(Ljava/lang/String;)Landroid/util/JsonWriter; │ │ goto :goto_5 │ │ .line 65 │ :pswitch_3 │ - const-string v21, "CONTROL_AE_MODE_ON" │ + const-string v20, "CONTROL_AE_MODE_ON" │ │ move-object/from16 v0, p1 │ │ - move-object/from16 v1, v21 │ + move-object/from16 v1, v20 │ │ invoke-virtual {v0, v1}, Landroid/util/JsonWriter;->value(Ljava/lang/String;)Landroid/util/JsonWriter; │ │ goto :goto_5 │ │ .line 68 │ :pswitch_4 │ - const-string v21, "CONTROL_AE_MODE_ON_ALWAYS_FLASH" │ + const-string v20, "CONTROL_AE_MODE_ON_ALWAYS_FLASH" │ │ move-object/from16 v0, p1 │ │ - move-object/from16 v1, v21 │ + move-object/from16 v1, v20 │ │ invoke-virtual {v0, v1}, Landroid/util/JsonWriter;->value(Ljava/lang/String;)Landroid/util/JsonWriter; │ │ goto :goto_5 │ │ .line 71 │ :pswitch_5 │ - const-string v21, "CONTROL_AE_MODE_ON_AUTO_FLASH" │ + const-string v20, "CONTROL_AE_MODE_ON_AUTO_FLASH" │ │ move-object/from16 v0, p1 │ │ - move-object/from16 v1, v21 │ + move-object/from16 v1, v20 │ │ invoke-virtual {v0, v1}, Landroid/util/JsonWriter;->value(Ljava/lang/String;)Landroid/util/JsonWriter; │ │ goto :goto_5 │ │ .line 74 │ :pswitch_6 │ - const-string v21, "CONTROL_AE_MODE_ON_AUTO_FLASH_REDEYE" │ + const-string v20, "CONTROL_AE_MODE_ON_AUTO_FLASH_REDEYE" │ │ move-object/from16 v0, p1 │ │ - move-object/from16 v1, v21 │ + move-object/from16 v1, v20 │ │ invoke-virtual {v0, v1}, Landroid/util/JsonWriter;->value(Ljava/lang/String;)Landroid/util/JsonWriter; │ │ goto :goto_5 │ │ .line 80 │ - .end local v10 # "flashMode":I │ + .end local v8 # "flashMode":I │ :cond_2 │ invoke-virtual/range {p1 .. p1}, Landroid/util/JsonWriter;->endArray()Landroid/util/JsonWriter; │ │ .line 82 │ - sget-object v21, Landroid/hardware/camera2/CameraCharacteristics;->SENSOR_INFO_PHYSICAL_SIZE:Landroid/hardware/camera2/CameraCharacteristics$Key; │ - │ - move-object/from16 v0, v21 │ + sget-object v15, Landroid/hardware/camera2/CameraCharacteristics;->SENSOR_INFO_PHYSICAL_SIZE:Landroid/hardware/camera2/CameraCharacteristics$Key; │ │ - invoke-virtual {v6, v0}, Landroid/hardware/camera2/CameraCharacteristics;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object; │ + invoke-virtual {v4, v15}, Landroid/hardware/camera2/CameraCharacteristics;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object; │ │ - move-result-object v19 │ + move-result-object v13 │ │ - check-cast v19, Landroid/util/SizeF; │ + check-cast v13, Landroid/util/SizeF; │ │ .line 83 │ - .local v19, "physicalSize":Landroid/util/SizeF; │ - const-string v21, "physical_size" │ + .local v13, "physicalSize":Landroid/util/SizeF; │ + const-string v15, "physical_size" │ │ move-object/from16 v0, p1 │ │ - move-object/from16 v1, v21 │ - │ - invoke-virtual {v0, v1}, Landroid/util/JsonWriter;->name(Ljava/lang/String;)Landroid/util/JsonWriter; │ + invoke-virtual {v0, v15}, Landroid/util/JsonWriter;->name(Ljava/lang/String;)Landroid/util/JsonWriter; │ │ - move-result-object v21 │ + move-result-object v15 │ │ - invoke-virtual/range {v21 .. v21}, Landroid/util/JsonWriter;->beginObject()Landroid/util/JsonWriter; │ + invoke-virtual {v15}, Landroid/util/JsonWriter;->beginObject()Landroid/util/JsonWriter; │ │ - move-result-object v21 │ + move-result-object v15 │ │ - const-string v22, "width" │ + const-string v16, "width" │ │ - invoke-virtual/range {v21 .. v22}, Landroid/util/JsonWriter;->name(Ljava/lang/String;)Landroid/util/JsonWriter; │ + invoke-virtual/range {v15 .. v16}, Landroid/util/JsonWriter;->name(Ljava/lang/String;)Landroid/util/JsonWriter; │ │ - move-result-object v21 │ + move-result-object v15 │ │ - invoke-virtual/range {v19 .. v19}, Landroid/util/SizeF;->getWidth()F │ + invoke-virtual {v13}, Landroid/util/SizeF;->getWidth()F │ │ - move-result v22 │ + move-result v16 │ │ - move/from16 v0, v22 │ + move/from16 v0, v16 │ │ float-to-double v0, v0 │ │ - move-wide/from16 v22, v0 │ + move-wide/from16 v20, v0 │ │ - invoke-virtual/range {v21 .. v23}, Landroid/util/JsonWriter;->value(D)Landroid/util/JsonWriter; │ + move-wide/from16 v0, v20 │ │ - move-result-object v21 │ + invoke-virtual {v15, v0, v1}, Landroid/util/JsonWriter;->value(D)Landroid/util/JsonWriter; │ │ - const-string v22, "height" │ + move-result-object v15 │ │ - invoke-virtual/range {v21 .. v22}, Landroid/util/JsonWriter;->name(Ljava/lang/String;)Landroid/util/JsonWriter; │ + const-string v16, "height" │ │ - move-result-object v21 │ + invoke-virtual/range {v15 .. v16}, Landroid/util/JsonWriter;->name(Ljava/lang/String;)Landroid/util/JsonWriter; │ │ - invoke-virtual/range {v19 .. v19}, Landroid/util/SizeF;->getHeight()F │ + move-result-object v15 │ │ - move-result v22 │ + .line 84 │ + invoke-virtual {v13}, Landroid/util/SizeF;->getHeight()F │ │ - move/from16 v0, v22 │ + move-result v16 │ + │ + move/from16 v0, v16 │ │ float-to-double v0, v0 │ │ - move-wide/from16 v22, v0 │ + move-wide/from16 v20, v0 │ │ - invoke-virtual/range {v21 .. v23}, Landroid/util/JsonWriter;->value(D)Landroid/util/JsonWriter; │ + move-wide/from16 v0, v20 │ │ - move-result-object v21 │ + invoke-virtual {v15, v0, v1}, Landroid/util/JsonWriter;->value(D)Landroid/util/JsonWriter; │ │ - invoke-virtual/range {v21 .. v21}, Landroid/util/JsonWriter;->endObject()Landroid/util/JsonWriter; │ + move-result-object v15 │ + │ + invoke-virtual {v15}, Landroid/util/JsonWriter;->endObject()Landroid/util/JsonWriter; │ │ .line 86 │ - const-string v21, "capabilities" │ + const-string v15, "capabilities" │ │ move-object/from16 v0, p1 │ │ - move-object/from16 v1, v21 │ - │ - invoke-virtual {v0, v1}, Landroid/util/JsonWriter;->name(Ljava/lang/String;)Landroid/util/JsonWriter; │ + invoke-virtual {v0, v15}, Landroid/util/JsonWriter;->name(Ljava/lang/String;)Landroid/util/JsonWriter; │ │ - move-result-object v21 │ + move-result-object v15 │ │ - invoke-virtual/range {v21 .. v21}, Landroid/util/JsonWriter;->beginArray()Landroid/util/JsonWriter; │ + invoke-virtual {v15}, Landroid/util/JsonWriter;->beginArray()Landroid/util/JsonWriter; │ │ .line 87 │ - sget-object v21, Landroid/hardware/camera2/CameraCharacteristics;->REQUEST_AVAILABLE_CAPABILITIES:Landroid/hardware/camera2/CameraCharacteristics$Key; │ + sget-object v15, Landroid/hardware/camera2/CameraCharacteristics;->REQUEST_AVAILABLE_CAPABILITIES:Landroid/hardware/camera2/CameraCharacteristics$Key; │ │ - move-object/from16 v0, v21 │ + invoke-virtual {v4, v15}, Landroid/hardware/camera2/CameraCharacteristics;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object; │ │ - invoke-virtual {v6, v0}, Landroid/hardware/camera2/CameraCharacteristics;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object; │ + move-result-object v15 │ │ - move-result-object v5 │ + check-cast v15, [I │ │ - .end local v5 # "arr$":[I │ - check-cast v5, [I │ + array-length v0, v15 │ │ - .restart local v5 # "arr$":[I │ - array-length v15, v5 │ + move/from16 v20, v0 │ │ - const/4 v12, 0x0 │ + const/16 v16, 0x0 │ │ :goto_6 │ - if-ge v12, v15, :cond_3 │ + move/from16 v0, v16 │ + │ + move/from16 v1, v20 │ + │ + if-ge v0, v1, :cond_3 │ │ - aget v8, v5, v12 │ + aget v6, v15, v16 │ │ .line 88 │ - .local v8, "capability":I │ - packed-switch v8, :pswitch_data_2 │ + .local v6, "capability":I │ + packed-switch v6, :pswitch_data_2 │ │ .line 102 │ - int-to-long v0, v8 │ + int-to-long v0, v6 │ │ move-wide/from16 v22, v0 │ │ move-object/from16 v0, p1 │ │ move-wide/from16 v1, v22 │ │ invoke-virtual {v0, v1, v2}, Landroid/util/JsonWriter;->value(J)Landroid/util/JsonWriter; │ │ .line 87 │ :goto_7 │ - add-int/lit8 v12, v12, 0x1 │ + add-int/lit8 v16, v16, 0x1 │ │ goto :goto_6 │ │ .line 90 │ :pswitch_7 │ const-string v21, "manual_sensor" │ │ @@ -646,48 +613,42 @@ │ move-object/from16 v1, v21 │ │ invoke-virtual {v0, v1}, Landroid/util/JsonWriter;->value(Ljava/lang/String;)Landroid/util/JsonWriter; │ │ goto :goto_7 │ │ .line 105 │ - .end local v8 # "capability":I │ + .end local v6 # "capability":I │ :cond_3 │ invoke-virtual/range {p1 .. p1}, Landroid/util/JsonWriter;->endArray()Landroid/util/JsonWriter; │ │ .line 107 │ invoke-virtual/range {p1 .. p1}, Landroid/util/JsonWriter;->endObject()Landroid/util/JsonWriter; │ │ .line 26 │ - add-int/lit8 v12, v13, 0x1 │ + add-int/lit8 v15, v17, 0x1 │ │ - move v13, v12 │ + move/from16 v17, v15 │ │ - .end local v12 # "i$":I │ - .restart local v13 # "i$":I │ goto/16 :goto_0 │ │ .line 109 │ - .end local v5 # "arr$":[I │ - .end local v6 # "camera":Landroid/hardware/camera2/CameraCharacteristics; │ - .end local v7 # "cameraId":Ljava/lang/String; │ - .end local v11 # "flashModeValues":[I │ - .end local v15 # "len$":I │ - .end local v16 # "lensFacing":I │ - .end local v18 # "map":Landroid/hardware/camera2/params/StreamConfigurationMap; │ - .end local v19 # "physicalSize":Landroid/util/SizeF; │ + .end local v4 # "camera":Landroid/hardware/camera2/CameraCharacteristics; │ + .end local v5 # "cameraId":Ljava/lang/String; │ + .end local v9 # "flashModeValues":[I │ + .end local v10 # "lensFacing":I │ + .end local v12 # "map":Landroid/hardware/camera2/params/StreamConfigurationMap; │ + .end local v13 # "physicalSize":Landroid/util/SizeF; │ :cond_4 │ invoke-virtual/range {p1 .. p1}, Landroid/util/JsonWriter;->endArray()Landroid/util/JsonWriter; │ │ .line 110 │ return-void │ │ .line 34 │ - nop │ - │ :pswitch_data_0 │ .packed-switch 0x0 │ :pswitch_0 │ :pswitch_1 │ .end packed-switch │ │ .line 60 ├── smali/com/termux/api/ContactListAPI.smali │ @@ -11,15 +11,15 @@ │ .line 16 │ invoke-direct {p0}, Ljava/lang/Object;->()V │ │ return-void │ .end method │ │ .method static listContacts(Landroid/content/Context;Landroid/util/JsonWriter;)V │ - .locals 24 │ + .locals 23 │ .param p0, "context" # Landroid/content/Context; │ .param p1, "out" # Landroid/util/JsonWriter; │ .annotation system Ldalvik/annotation/Throws; │ value = { │ Ljava/lang/Exception; │ } │ .end annotation │ @@ -145,19 +145,19 @@ │ :try_end_1 │ .catchall {:try_start_1 .. :try_end_1} :catchall_0 │ │ .line 42 │ :catchall_0 │ move-exception v6 │ │ - move-object/from16 v23, v6 │ + move-object/from16 v22, v6 │ │ move-object v6, v3 │ │ - move-object/from16 v3, v23 │ + move-object/from16 v3, v22 │ │ :goto_1 │ if-eqz v21, :cond_0 │ │ if-eqz v6, :cond_6 │ │ :try_start_2 │ @@ -316,19 +316,19 @@ │ :try_end_6 │ .catchall {:try_start_6 .. :try_end_6} :catchall_1 │ │ .line 57 │ :catchall_1 │ move-exception v6 │ │ - move-object/from16 v23, v6 │ + move-object/from16 v22, v6 │ │ move-object v6, v3 │ │ - move-object/from16 v3, v23 │ + move-object/from16 v3, v22 │ │ :goto_5 │ if-eqz v17, :cond_4 │ │ if-eqz v6, :cond_a │ │ :try_start_7 │ @@ -351,42 +351,34 @@ │ │ invoke-virtual/range {p1 .. p1}, Landroid/util/JsonWriter;->endArray()Landroid/util/JsonWriter; │ │ throw v3 │ │ .line 42 │ :catch_2 │ - move-exception v22 │ - │ - .local v22, "x2":Ljava/lang/Throwable; │ - move-object/from16 v0, v22 │ + move-exception v3 │ │ - invoke-virtual {v6, v0}, Ljava/lang/Throwable;->addSuppressed(Ljava/lang/Throwable;)V │ + invoke-virtual {v6, v3}, Ljava/lang/Throwable;->addSuppressed(Ljava/lang/Throwable;)V │ │ goto :goto_3 │ │ - .end local v22 # "x2":Ljava/lang/Throwable; │ :cond_5 │ invoke-interface/range {v21 .. v21}, Landroid/database/Cursor;->close()V │ │ goto :goto_3 │ │ .end local v19 # "phoneContactIdIdx":I │ .end local v20 # "phoneNumberIdx":I │ :catch_3 │ - move-exception v22 │ - │ - .restart local v22 # "x2":Ljava/lang/Throwable; │ - move-object/from16 v0, v22 │ + move-exception v7 │ │ - invoke-virtual {v6, v0}, Ljava/lang/Throwable;->addSuppressed(Ljava/lang/Throwable;)V │ + invoke-virtual {v6, v7}, Ljava/lang/Throwable;->addSuppressed(Ljava/lang/Throwable;)V │ │ goto/16 :goto_2 │ │ - .end local v22 # "x2":Ljava/lang/Throwable; │ :cond_6 │ invoke-interface/range {v21 .. v21}, Landroid/database/Cursor;->close()V │ │ goto/16 :goto_2 │ │ .line 57 │ .restart local v12 # "contactDisplayNameIdx":I │ @@ -411,43 +403,35 @@ │ invoke-virtual/range {p1 .. p1}, Landroid/util/JsonWriter;->endArray()Landroid/util/JsonWriter; │ │ .line 60 │ return-void │ │ .line 57 │ :catch_4 │ - move-exception v22 │ + move-exception v3 │ │ - .restart local v22 # "x2":Ljava/lang/Throwable; │ :try_start_a │ - move-object/from16 v0, v22 │ - │ - invoke-virtual {v6, v0}, Ljava/lang/Throwable;->addSuppressed(Ljava/lang/Throwable;)V │ + invoke-virtual {v6, v3}, Ljava/lang/Throwable;->addSuppressed(Ljava/lang/Throwable;)V │ │ goto :goto_7 │ │ - .end local v22 # "x2":Ljava/lang/Throwable; │ :cond_9 │ invoke-interface/range {v17 .. v17}, Landroid/database/Cursor;->close()V │ │ goto :goto_7 │ │ .end local v12 # "contactDisplayNameIdx":I │ .end local v14 # "contactIdIdx":I │ :catch_5 │ - move-exception v22 │ - │ - .restart local v22 # "x2":Ljava/lang/Throwable; │ - move-object/from16 v0, v22 │ + move-exception v7 │ │ - invoke-virtual {v6, v0}, Ljava/lang/Throwable;->addSuppressed(Ljava/lang/Throwable;)V │ + invoke-virtual {v6, v7}, Ljava/lang/Throwable;->addSuppressed(Ljava/lang/Throwable;)V │ │ goto :goto_6 │ │ - .end local v22 # "x2":Ljava/lang/Throwable; │ :cond_a │ invoke-interface/range {v17 .. v17}, Landroid/database/Cursor;->close()V │ :try_end_a │ .catchall {:try_start_a .. :try_end_a} :catchall_2 │ │ goto :goto_6 ├── smali/com/termux/api/DialogActivity$1$1$1.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$2:Lcom/termux/api/DialogActivity$1$1; │ │ │ # direct methods │ .method constructor (Lcom/termux/api/DialogActivity$1$1;)V │ .locals 0 │ + .param p1, "this$2" # Lcom/termux/api/DialogActivity$1$1; │ │ .prologue │ .line 60 │ iput-object p1, p0, Lcom/termux/api/DialogActivity$1$1$1;->this$2:Lcom/termux/api/DialogActivity$1$1; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/com/termux/api/DialogActivity$1$1.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$1:Lcom/termux/api/DialogActivity$1; │ │ │ # direct methods │ .method constructor (Lcom/termux/api/DialogActivity$1;)V │ .locals 0 │ + .param p1, "this$1" # Lcom/termux/api/DialogActivity$1; │ │ .prologue │ .line 57 │ iput-object p1, p0, Lcom/termux/api/DialogActivity$1$1;->this$1:Lcom/termux/api/DialogActivity$1; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/com/termux/api/DialogActivity$1.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Lcom/termux/api/DialogActivity; │ │ │ # direct methods │ .method constructor (Lcom/termux/api/DialogActivity;)V │ .locals 0 │ + .param p1, "this$0" # Lcom/termux/api/DialogActivity; │ │ .prologue │ .line 54 │ iput-object p1, p0, Lcom/termux/api/DialogActivity$1;->this$0:Lcom/termux/api/DialogActivity; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/com/termux/api/DialogActivity$2$1$1.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$2:Lcom/termux/api/DialogActivity$2$1; │ │ │ # direct methods │ .method constructor (Lcom/termux/api/DialogActivity$2$1;)V │ .locals 0 │ + .param p1, "this$2" # Lcom/termux/api/DialogActivity$2$1; │ │ .prologue │ .line 79 │ iput-object p1, p0, Lcom/termux/api/DialogActivity$2$1$1;->this$2:Lcom/termux/api/DialogActivity$2$1; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/com/termux/api/DialogActivity$2$1.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$1:Lcom/termux/api/DialogActivity$2; │ │ │ # direct methods │ .method constructor (Lcom/termux/api/DialogActivity$2;)V │ .locals 0 │ + .param p1, "this$1" # Lcom/termux/api/DialogActivity$2; │ │ .prologue │ .line 74 │ iput-object p1, p0, Lcom/termux/api/DialogActivity$2$1;->this$1:Lcom/termux/api/DialogActivity$2; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/com/termux/api/DialogActivity$2.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Lcom/termux/api/DialogActivity; │ │ │ # direct methods │ .method constructor (Lcom/termux/api/DialogActivity;)V │ .locals 0 │ + .param p1, "this$0" # Lcom/termux/api/DialogActivity; │ │ .prologue │ .line 71 │ iput-object p1, p0, Lcom/termux/api/DialogActivity$2;->this$0:Lcom/termux/api/DialogActivity; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/com/termux/api/InfraredAPI$1.smali │ @@ -30,151 +30,143 @@ │ │ return-void │ .end method │ │ │ # virtual methods │ .method public writeJson(Landroid/util/JsonWriter;)V │ - .locals 10 │ + .locals 8 │ .param p1, "out" # Landroid/util/JsonWriter; │ .annotation system Ldalvik/annotation/Throws; │ value = { │ Ljava/lang/Exception; │ } │ .end annotation │ │ .prologue │ .line 19 │ - iget-object v6, p0, Lcom/termux/api/InfraredAPI$1;->val$context:Landroid/content/Context; │ + iget-object v3, p0, Lcom/termux/api/InfraredAPI$1;->val$context:Landroid/content/Context; │ │ - const-string v7, "consumer_ir" │ + const-string v4, "consumer_ir" │ │ - invoke-virtual {v6, v7}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; │ + invoke-virtual {v3, v4}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; │ │ - move-result-object v2 │ + move-result-object v0 │ │ - check-cast v2, Landroid/hardware/ConsumerIrManager; │ + check-cast v0, Landroid/hardware/ConsumerIrManager; │ │ .line 21 │ - .local v2, "irManager":Landroid/hardware/ConsumerIrManager; │ - invoke-virtual {v2}, Landroid/hardware/ConsumerIrManager;->hasIrEmitter()Z │ + .local v0, "irManager":Landroid/hardware/ConsumerIrManager; │ + invoke-virtual {v0}, Landroid/hardware/ConsumerIrManager;->hasIrEmitter()Z │ │ - move-result v6 │ + move-result v3 │ │ - if-eqz v6, :cond_2 │ + if-eqz v3, :cond_2 │ │ .line 22 │ - invoke-virtual {v2}, Landroid/hardware/ConsumerIrManager;->getCarrierFrequencies()[Landroid/hardware/ConsumerIrManager$CarrierFrequencyRange; │ + invoke-virtual {v0}, Landroid/hardware/ConsumerIrManager;->getCarrierFrequencies()[Landroid/hardware/ConsumerIrManager$CarrierFrequencyRange; │ │ - move-result-object v5 │ + move-result-object v2 │ │ .line 23 │ - .local v5, "ranges":[Landroid/hardware/ConsumerIrManager$CarrierFrequencyRange; │ - if-nez v5, :cond_0 │ + .local v2, "ranges":[Landroid/hardware/ConsumerIrManager$CarrierFrequencyRange; │ + if-nez v2, :cond_0 │ │ .line 24 │ invoke-virtual {p1}, Landroid/util/JsonWriter;->beginObject()Landroid/util/JsonWriter; │ │ - move-result-object v6 │ + move-result-object v3 │ │ - const-string v7, "API_ERROR" │ + const-string v4, "API_ERROR" │ │ - invoke-virtual {v6, v7}, Landroid/util/JsonWriter;->name(Ljava/lang/String;)Landroid/util/JsonWriter; │ + invoke-virtual {v3, v4}, Landroid/util/JsonWriter;->name(Ljava/lang/String;)Landroid/util/JsonWriter; │ │ - move-result-object v6 │ + move-result-object v3 │ │ - const-string v7, "Error communicating with the Consumer IR Service" │ + const-string v4, "Error communicating with the Consumer IR Service" │ │ - invoke-virtual {v6, v7}, Landroid/util/JsonWriter;->value(Ljava/lang/String;)Landroid/util/JsonWriter; │ + invoke-virtual {v3, v4}, Landroid/util/JsonWriter;->value(Ljava/lang/String;)Landroid/util/JsonWriter; │ │ - move-result-object v6 │ + move-result-object v3 │ │ - invoke-virtual {v6}, Landroid/util/JsonWriter;->endObject()Landroid/util/JsonWriter; │ + invoke-virtual {v3}, Landroid/util/JsonWriter;->endObject()Landroid/util/JsonWriter; │ │ .line 38 │ - .end local v5 # "ranges":[Landroid/hardware/ConsumerIrManager$CarrierFrequencyRange; │ + .end local v2 # "ranges":[Landroid/hardware/ConsumerIrManager$CarrierFrequencyRange; │ :goto_0 │ return-void │ │ .line 26 │ - .restart local v5 # "ranges":[Landroid/hardware/ConsumerIrManager$CarrierFrequencyRange; │ + .restart local v2 # "ranges":[Landroid/hardware/ConsumerIrManager$CarrierFrequencyRange; │ :cond_0 │ invoke-virtual {p1}, Landroid/util/JsonWriter;->beginArray()Landroid/util/JsonWriter; │ │ .line 27 │ - move-object v0, v5 │ - │ - .local v0, "arr$":[Landroid/hardware/ConsumerIrManager$CarrierFrequencyRange; │ - array-length v3, v0 │ + array-length v4, v2 │ │ - .local v3, "len$":I │ - const/4 v1, 0x0 │ + const/4 v3, 0x0 │ │ - .local v1, "i$":I │ :goto_1 │ - if-ge v1, v3, :cond_1 │ + if-ge v3, v4, :cond_1 │ │ - aget-object v4, v0, v1 │ + aget-object v1, v2, v3 │ │ .line 28 │ - .local v4, "range":Landroid/hardware/ConsumerIrManager$CarrierFrequencyRange; │ + .local v1, "range":Landroid/hardware/ConsumerIrManager$CarrierFrequencyRange; │ invoke-virtual {p1}, Landroid/util/JsonWriter;->beginObject()Landroid/util/JsonWriter; │ │ .line 29 │ - const-string v6, "min" │ + const-string v5, "min" │ │ - invoke-virtual {p1, v6}, Landroid/util/JsonWriter;->name(Ljava/lang/String;)Landroid/util/JsonWriter; │ + invoke-virtual {p1, v5}, Landroid/util/JsonWriter;->name(Ljava/lang/String;)Landroid/util/JsonWriter; │ │ - move-result-object v6 │ + move-result-object v5 │ │ - invoke-virtual {v4}, Landroid/hardware/ConsumerIrManager$CarrierFrequencyRange;->getMinFrequency()I │ + invoke-virtual {v1}, Landroid/hardware/ConsumerIrManager$CarrierFrequencyRange;->getMinFrequency()I │ │ - move-result v7 │ + move-result v6 │ │ - int-to-long v8, v7 │ + int-to-long v6, v6 │ │ - invoke-virtual {v6, v8, v9}, Landroid/util/JsonWriter;->value(J)Landroid/util/JsonWriter; │ + invoke-virtual {v5, v6, v7}, Landroid/util/JsonWriter;->value(J)Landroid/util/JsonWriter; │ │ .line 30 │ - const-string v6, "max" │ + const-string v5, "max" │ │ - invoke-virtual {p1, v6}, Landroid/util/JsonWriter;->name(Ljava/lang/String;)Landroid/util/JsonWriter; │ + invoke-virtual {p1, v5}, Landroid/util/JsonWriter;->name(Ljava/lang/String;)Landroid/util/JsonWriter; │ │ - move-result-object v6 │ + move-result-object v5 │ │ - invoke-virtual {v4}, Landroid/hardware/ConsumerIrManager$CarrierFrequencyRange;->getMaxFrequency()I │ + invoke-virtual {v1}, Landroid/hardware/ConsumerIrManager$CarrierFrequencyRange;->getMaxFrequency()I │ │ - move-result v7 │ + move-result v6 │ │ - int-to-long v8, v7 │ + int-to-long v6, v6 │ │ - invoke-virtual {v6, v8, v9}, Landroid/util/JsonWriter;->value(J)Landroid/util/JsonWriter; │ + invoke-virtual {v5, v6, v7}, Landroid/util/JsonWriter;->value(J)Landroid/util/JsonWriter; │ │ .line 31 │ invoke-virtual {p1}, Landroid/util/JsonWriter;->endObject()Landroid/util/JsonWriter; │ │ .line 27 │ - add-int/lit8 v1, v1, 0x1 │ + add-int/lit8 v3, v3, 0x1 │ │ goto :goto_1 │ │ .line 33 │ - .end local v4 # "range":Landroid/hardware/ConsumerIrManager$CarrierFrequencyRange; │ + .end local v1 # "range":Landroid/hardware/ConsumerIrManager$CarrierFrequencyRange; │ :cond_1 │ invoke-virtual {p1}, Landroid/util/JsonWriter;->endArray()Landroid/util/JsonWriter; │ │ goto :goto_0 │ │ .line 36 │ - .end local v0 # "arr$":[Landroid/hardware/ConsumerIrManager$CarrierFrequencyRange; │ - .end local v1 # "i$":I │ - .end local v3 # "len$":I │ - .end local v5 # "ranges":[Landroid/hardware/ConsumerIrManager$CarrierFrequencyRange; │ + .end local v2 # "ranges":[Landroid/hardware/ConsumerIrManager$CarrierFrequencyRange; │ :cond_2 │ invoke-virtual {p1}, Landroid/util/JsonWriter;->beginArray()Landroid/util/JsonWriter; │ │ - move-result-object v6 │ + move-result-object v3 │ │ - invoke-virtual {v6}, Landroid/util/JsonWriter;->endArray()Landroid/util/JsonWriter; │ + invoke-virtual {v3}, Landroid/util/JsonWriter;->endArray()Landroid/util/JsonWriter; │ │ goto :goto_0 │ .end method ├── smali/com/termux/api/LocationAPI$1$1.smali │ @@ -22,14 +22,15 @@ │ │ .field final synthetic val$out:Landroid/util/JsonWriter; │ │ │ # direct methods │ .method constructor (Lcom/termux/api/LocationAPI$1;Landroid/util/JsonWriter;)V │ .locals 0 │ + .param p1, "this$0" # Lcom/termux/api/LocationAPI$1; │ │ .prologue │ .line 54 │ iput-object p1, p0, Lcom/termux/api/LocationAPI$1$1;->this$0:Lcom/termux/api/LocationAPI$1; │ │ iput-object p2, p0, Lcom/termux/api/LocationAPI$1$1;->val$out:Landroid/util/JsonWriter; ├── smali/com/termux/api/LocationAPI$1$2.smali │ @@ -22,14 +22,15 @@ │ │ .field final synthetic val$out:Landroid/util/JsonWriter; │ │ │ # direct methods │ .method constructor (Lcom/termux/api/LocationAPI$1;Landroid/util/JsonWriter;)V │ .locals 0 │ + .param p1, "this$0" # Lcom/termux/api/LocationAPI$1; │ │ .prologue │ .line 86 │ iput-object p1, p0, Lcom/termux/api/LocationAPI$1$2;->this$0:Lcom/termux/api/LocationAPI$1; │ │ iput-object p2, p0, Lcom/termux/api/LocationAPI$1$2;->val$out:Landroid/util/JsonWriter; ├── smali/com/termux/api/LocationAPI$1$3.smali │ @@ -19,14 +19,15 @@ │ │ .field final synthetic val$looper:Landroid/os/Looper; │ │ │ # direct methods │ .method constructor (Lcom/termux/api/LocationAPI$1;Landroid/os/Looper;)V │ .locals 0 │ + .param p1, "this$0" # Lcom/termux/api/LocationAPI$1; │ │ .prologue │ .line 114 │ iput-object p1, p0, Lcom/termux/api/LocationAPI$1$3;->this$0:Lcom/termux/api/LocationAPI$1; │ │ iput-object p2, p0, Lcom/termux/api/LocationAPI$1$3;->val$looper:Landroid/os/Looper; ├── smali/com/termux/api/LocationAPI$1.smali │ @@ -93,27 +93,29 @@ │ │ move-result v2 │ │ if-nez v2, :cond_1 │ │ const-string v2, "passive" │ │ + .line 36 │ invoke-virtual {v1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z │ │ move-result v2 │ │ if-nez v2, :cond_1 │ │ .line 37 │ invoke-virtual {p1}, Landroid/util/JsonWriter;->beginObject()Landroid/util/JsonWriter; │ │ move-result-object v2 │ │ const-string v3, "API_ERROR" │ │ + .line 38 │ invoke-virtual {v2, v3}, Landroid/util/JsonWriter;->name(Ljava/lang/String;)Landroid/util/JsonWriter; │ │ move-result-object v2 │ │ new-instance v3, Ljava/lang/StringBuilder; │ │ invoke-direct {v3}, Ljava/lang/StringBuilder;->()V │ @@ -170,18 +172,20 @@ │ │ move-result-object v3 │ │ invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ │ move-result-object v3 │ │ + .line 39 │ invoke-virtual {v2, v3}, Landroid/util/JsonWriter;->value(Ljava/lang/String;)Landroid/util/JsonWriter; │ │ move-result-object v2 │ │ + .line 40 │ invoke-virtual {v2}, Landroid/util/JsonWriter;->endObject()Landroid/util/JsonWriter; │ │ .line 133 │ :goto_0 │ return-void │ │ .line 44 │ @@ -218,14 +222,15 @@ │ .line 128 │ invoke-virtual {p1}, Landroid/util/JsonWriter;->beginObject()Landroid/util/JsonWriter; │ │ move-result-object v2 │ │ const-string v3, "API_ERROR" │ │ + .line 129 │ invoke-virtual {v2, v3}, Landroid/util/JsonWriter;->name(Ljava/lang/String;)Landroid/util/JsonWriter; │ │ move-result-object v2 │ │ new-instance v3, Ljava/lang/StringBuilder; │ │ invoke-direct {v3}, Ljava/lang/StringBuilder;->()V │ @@ -282,18 +287,20 @@ │ │ move-result-object v3 │ │ invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ │ move-result-object v3 │ │ + .line 130 │ invoke-virtual {v2, v3}, Landroid/util/JsonWriter;->value(Ljava/lang/String;)Landroid/util/JsonWriter; │ │ move-result-object v2 │ │ + .line 131 │ invoke-virtual {v2}, Landroid/util/JsonWriter;->endObject()Landroid/util/JsonWriter; │ │ goto :goto_0 │ │ .line 47 │ :sswitch_0 │ const-string v3, "last" │ @@ -385,14 +392,15 @@ │ │ .line 114 │ .local v8, "looper":Landroid/os/Looper; │ new-instance v2, Lcom/termux/api/LocationAPI$1$3; │ │ invoke-direct {v2, p0, v8}, Lcom/termux/api/LocationAPI$1$3;->(Lcom/termux/api/LocationAPI$1;Landroid/os/Looper;)V │ │ + .line 124 │ invoke-virtual {v2}, Lcom/termux/api/LocationAPI$1$3;->start()V │ │ .line 125 │ invoke-static {}, Landroid/os/Looper;->loop()V │ │ goto/16 :goto_0 ├── smali/com/termux/api/Manifest.smali │ @@ -15,10 +15,9 @@ │ .method public constructor ()V │ .locals 0 │ │ .prologue │ .line 10 │ invoke-direct {p0}, Ljava/lang/Object;->()V │ │ - .line 11 │ return-void │ .end method ├── smali/com/termux/api/NotificationAPI.smali │ @@ -107,14 +107,15 @@ │ │ const/high16 v9, -0x1000000 │ │ invoke-virtual {v8, v9}, Landroid/app/Notification$Builder;->setColor(I)Landroid/app/Notification$Builder; │ │ move-result-object v8 │ │ + .line 33 │ invoke-virtual {v8, v5}, Landroid/app/Notification$Builder;->setContentTitle(Ljava/lang/CharSequence;)Landroid/app/Notification$Builder; │ │ move-result-object v8 │ │ invoke-virtual {v8, v0}, Landroid/app/Notification$Builder;->setContentText(Ljava/lang/CharSequence;)Landroid/app/Notification$Builder; │ │ move-result-object v2 ├── smali/com/termux/api/PhotoAPI$4$1.smali │ @@ -19,14 +19,15 @@ │ │ .field final synthetic val$reader:Landroid/media/ImageReader; │ │ │ # direct methods │ .method constructor (Lcom/termux/api/PhotoAPI$4;Landroid/media/ImageReader;)V │ .locals 0 │ + .param p1, "this$0" # Lcom/termux/api/PhotoAPI$4; │ │ .prologue │ .line 125 │ iput-object p1, p0, Lcom/termux/api/PhotoAPI$4$1;->this$0:Lcom/termux/api/PhotoAPI$4; │ │ iput-object p2, p0, Lcom/termux/api/PhotoAPI$4$1;->val$reader:Landroid/media/ImageReader; │ │ @@ -34,232 +35,230 @@ │ │ return-void │ .end method │ │ │ # virtual methods │ .method public run()V │ - .locals 10 │ + .locals 9 │ │ .prologue │ - const/4 v8, 0x0 │ + const/4 v7, 0x0 │ │ .line 128 │ - iget-object v6, p0, Lcom/termux/api/PhotoAPI$4$1;->val$reader:Landroid/media/ImageReader; │ + iget-object v5, p0, Lcom/termux/api/PhotoAPI$4$1;->val$reader:Landroid/media/ImageReader; │ │ - invoke-virtual {v6}, Landroid/media/ImageReader;->acquireNextImage()Landroid/media/Image; │ + invoke-virtual {v5}, Landroid/media/ImageReader;->acquireNextImage()Landroid/media/Image; │ │ move-result-object v3 │ │ .line 129 │ .local v3, "mImage":Landroid/media/Image; │ :try_start_0 │ invoke-virtual {v3}, Landroid/media/Image;->getPlanes()[Landroid/media/Image$Plane; │ │ - move-result-object v6 │ + move-result-object v5 │ │ - const/4 v7, 0x0 │ + const/4 v6, 0x0 │ │ - aget-object v6, v6, v7 │ + aget-object v5, v5, v6 │ │ - invoke-virtual {v6}, Landroid/media/Image$Plane;->getBuffer()Ljava/nio/ByteBuffer; │ + invoke-virtual {v5}, Landroid/media/Image$Plane;->getBuffer()Ljava/nio/ByteBuffer; │ │ move-result-object v0 │ │ .line 130 │ .local v0, "buffer":Ljava/nio/ByteBuffer; │ invoke-virtual {v0}, Ljava/nio/ByteBuffer;->remaining()I │ │ - move-result v6 │ + move-result v5 │ │ - new-array v1, v6, [B │ + new-array v1, v5, [B │ │ .line 131 │ .local v1, "bytes":[B │ invoke-virtual {v0, v1}, Ljava/nio/ByteBuffer;->get([B)Ljava/nio/ByteBuffer; │ :try_end_0 │ .catch Ljava/lang/Throwable; {:try_start_0 .. :try_end_0} :catch_2 │ .catchall {:try_start_0 .. :try_end_0} :catchall_2 │ │ .line 132 │ :try_start_1 │ new-instance v4, Ljava/io/FileOutputStream; │ │ - iget-object v6, p0, Lcom/termux/api/PhotoAPI$4$1;->this$0:Lcom/termux/api/PhotoAPI$4; │ + iget-object v5, p0, Lcom/termux/api/PhotoAPI$4$1;->this$0:Lcom/termux/api/PhotoAPI$4; │ │ - iget-object v6, v6, Lcom/termux/api/PhotoAPI$4;->val$outputFile:Ljava/io/File; │ + iget-object v5, v5, Lcom/termux/api/PhotoAPI$4;->val$outputFile:Ljava/io/File; │ │ - invoke-direct {v4, v6}, Ljava/io/FileOutputStream;->(Ljava/io/File;)V │ + invoke-direct {v4, v5}, Ljava/io/FileOutputStream;->(Ljava/io/File;)V │ :try_end_1 │ .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_1} :catch_1 │ .catchall {:try_start_1 .. :try_end_1} :catchall_1 │ │ .local v4, "output":Ljava/io/FileOutputStream; │ - const/4 v6, 0x0 │ + const/4 v5, 0x0 │ │ .line 133 │ :try_start_2 │ invoke-virtual {v4, v1}, Ljava/io/FileOutputStream;->write([B)V │ :try_end_2 │ .catch Ljava/lang/Throwable; {:try_start_2 .. :try_end_2} :catch_3 │ .catchall {:try_start_2 .. :try_end_2} :catchall_4 │ │ .line 134 │ if-eqz v4, :cond_0 │ │ - if-eqz v8, :cond_3 │ + if-eqz v7, :cond_3 │ │ :try_start_3 │ invoke-virtual {v4}, Ljava/io/FileOutputStream;->close()V │ :try_end_3 │ .catch Ljava/lang/Throwable; {:try_start_3 .. :try_end_3} :catch_0 │ .catch Ljava/lang/Exception; {:try_start_3 .. :try_end_3} :catch_1 │ .catchall {:try_start_3 .. :try_end_3} :catchall_1 │ │ .line 138 │ :cond_0 │ :goto_0 │ :try_start_4 │ - iget-object v6, p0, Lcom/termux/api/PhotoAPI$4$1;->this$0:Lcom/termux/api/PhotoAPI$4; │ + iget-object v5, p0, Lcom/termux/api/PhotoAPI$4$1;->this$0:Lcom/termux/api/PhotoAPI$4; │ │ - iget-object v6, v6, Lcom/termux/api/PhotoAPI$4;->val$camera:Landroid/hardware/camera2/CameraDevice; │ + iget-object v5, v5, Lcom/termux/api/PhotoAPI$4;->val$camera:Landroid/hardware/camera2/CameraDevice; │ │ - iget-object v7, p0, Lcom/termux/api/PhotoAPI$4$1;->this$0:Lcom/termux/api/PhotoAPI$4; │ + iget-object v6, p0, Lcom/termux/api/PhotoAPI$4$1;->this$0:Lcom/termux/api/PhotoAPI$4; │ │ - iget-object v7, v7, Lcom/termux/api/PhotoAPI$4;->val$looper:Landroid/os/Looper; │ + iget-object v6, v6, Lcom/termux/api/PhotoAPI$4;->val$looper:Landroid/os/Looper; │ │ - invoke-static {v6, v7}, Lcom/termux/api/PhotoAPI;->closeCamera(Landroid/hardware/camera2/CameraDevice;Landroid/os/Looper;)V │ + invoke-static {v5, v6}, Lcom/termux/api/PhotoAPI;->closeCamera(Landroid/hardware/camera2/CameraDevice;Landroid/os/Looper;)V │ :try_end_4 │ .catch Ljava/lang/Throwable; {:try_start_4 .. :try_end_4} :catch_2 │ .catchall {:try_start_4 .. :try_end_4} :catchall_2 │ │ .line 140 │ .end local v4 # "output":Ljava/io/FileOutputStream; │ :goto_1 │ if-eqz v3, :cond_1 │ │ - if-eqz v8, :cond_6 │ + if-eqz v7, :cond_6 │ │ :try_start_5 │ invoke-virtual {v3}, Landroid/media/Image;->close()V │ :try_end_5 │ .catch Ljava/lang/Throwable; {:try_start_5 .. :try_end_5} :catch_5 │ │ .line 141 │ :cond_1 │ :goto_2 │ return-void │ │ .line 134 │ .restart local v4 # "output":Ljava/io/FileOutputStream; │ :catch_0 │ - move-exception v5 │ + move-exception v6 │ │ - .local v5, "x2":Ljava/lang/Throwable; │ :try_start_6 │ - invoke-virtual {v6, v5}, Ljava/lang/Throwable;->addSuppressed(Ljava/lang/Throwable;)V │ + invoke-virtual {v5, v6}, Ljava/lang/Throwable;->addSuppressed(Ljava/lang/Throwable;)V │ :try_end_6 │ .catch Ljava/lang/Exception; {:try_start_6 .. :try_end_6} :catch_1 │ .catchall {:try_start_6 .. :try_end_6} :catchall_1 │ │ goto :goto_0 │ │ .end local v4 # "output":Ljava/io/FileOutputStream; │ - .end local v5 # "x2":Ljava/lang/Throwable; │ :catch_1 │ move-exception v2 │ │ .line 135 │ .local v2, "e":Ljava/lang/Exception; │ :try_start_7 │ - iget-object v6, p0, Lcom/termux/api/PhotoAPI$4$1;->this$0:Lcom/termux/api/PhotoAPI$4; │ + iget-object v5, p0, Lcom/termux/api/PhotoAPI$4$1;->this$0:Lcom/termux/api/PhotoAPI$4; │ │ - iget-object v6, v6, Lcom/termux/api/PhotoAPI$4;->val$stdout:Ljava/io/PrintWriter; │ + iget-object v5, v5, Lcom/termux/api/PhotoAPI$4;->val$stdout:Ljava/io/PrintWriter; │ │ - 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 v9, "Error writing image: " │ + const-string v8, "Error writing image: " │ │ - invoke-virtual {v7, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v7 │ + move-result-object v6 │ │ invoke-virtual {v2}, Ljava/lang/Exception;->getMessage()Ljava/lang/String; │ │ - move-result-object v9 │ + move-result-object v8 │ │ - invoke-virtual {v7, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v6, v8}, 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-virtual {v6, v7}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V │ + invoke-virtual {v5, v6}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V │ │ .line 136 │ - const-string v6, "Error writing image" │ + const-string v5, "Error writing image" │ │ - invoke-static {v6, v2}, Lcom/termux/api/util/TermuxApiLogger;->error(Ljava/lang/String;Ljava/lang/Exception;)V │ + invoke-static {v5, v2}, Lcom/termux/api/util/TermuxApiLogger;->error(Ljava/lang/String;Ljava/lang/Exception;)V │ :try_end_7 │ .catchall {:try_start_7 .. :try_end_7} :catchall_1 │ │ .line 138 │ :try_start_8 │ - iget-object v6, p0, Lcom/termux/api/PhotoAPI$4$1;->this$0:Lcom/termux/api/PhotoAPI$4; │ + iget-object v5, p0, Lcom/termux/api/PhotoAPI$4$1;->this$0:Lcom/termux/api/PhotoAPI$4; │ │ - iget-object v6, v6, Lcom/termux/api/PhotoAPI$4;->val$camera:Landroid/hardware/camera2/CameraDevice; │ + iget-object v5, v5, Lcom/termux/api/PhotoAPI$4;->val$camera:Landroid/hardware/camera2/CameraDevice; │ │ - iget-object v7, p0, Lcom/termux/api/PhotoAPI$4$1;->this$0:Lcom/termux/api/PhotoAPI$4; │ + iget-object v6, p0, Lcom/termux/api/PhotoAPI$4$1;->this$0:Lcom/termux/api/PhotoAPI$4; │ │ - iget-object v7, v7, Lcom/termux/api/PhotoAPI$4;->val$looper:Landroid/os/Looper; │ + iget-object v6, v6, Lcom/termux/api/PhotoAPI$4;->val$looper:Landroid/os/Looper; │ │ - invoke-static {v6, v7}, Lcom/termux/api/PhotoAPI;->closeCamera(Landroid/hardware/camera2/CameraDevice;Landroid/os/Looper;)V │ + invoke-static {v5, v6}, Lcom/termux/api/PhotoAPI;->closeCamera(Landroid/hardware/camera2/CameraDevice;Landroid/os/Looper;)V │ :try_end_8 │ .catch Ljava/lang/Throwable; {:try_start_8 .. :try_end_8} :catch_2 │ .catchall {:try_start_8 .. :try_end_8} :catchall_2 │ │ goto :goto_1 │ │ .line 128 │ .end local v0 # "buffer":Ljava/nio/ByteBuffer; │ .end local v1 # "bytes":[B │ .end local v2 # "e":Ljava/lang/Exception; │ :catch_2 │ - move-exception v6 │ + move-exception v5 │ │ :try_start_9 │ - throw v6 │ + throw v5 │ :try_end_9 │ .catchall {:try_start_9 .. :try_end_9} :catchall_0 │ │ .line 140 │ :catchall_0 │ - move-exception v7 │ + move-exception v6 │ │ - move-object v8, v6 │ + move-object v7, v5 │ │ - move-object v6, v7 │ + move-object v5, v6 │ │ :goto_3 │ if-eqz v3, :cond_2 │ │ - if-eqz v8, :cond_7 │ + if-eqz v7, :cond_7 │ │ :try_start_a │ invoke-virtual {v3}, Landroid/media/Image;->close()V │ :try_end_a │ .catch Ljava/lang/Throwable; {:try_start_a .. :try_end_a} :catch_6 │ │ :cond_2 │ :goto_4 │ - throw v6 │ + throw v5 │ │ .line 134 │ .restart local v0 # "buffer":Ljava/nio/ByteBuffer; │ .restart local v1 # "bytes":[B │ .restart local v4 # "output":Ljava/io/FileOutputStream; │ :cond_3 │ :try_start_b │ @@ -269,126 +268,120 @@ │ .catchall {:try_start_b .. :try_end_b} :catchall_1 │ │ goto :goto_0 │ │ .line 138 │ .end local v4 # "output":Ljava/io/FileOutputStream; │ :catchall_1 │ - move-exception v6 │ + move-exception v5 │ │ :try_start_c │ - iget-object v7, p0, Lcom/termux/api/PhotoAPI$4$1;->this$0:Lcom/termux/api/PhotoAPI$4; │ + iget-object v6, p0, Lcom/termux/api/PhotoAPI$4$1;->this$0:Lcom/termux/api/PhotoAPI$4; │ │ - iget-object v7, v7, Lcom/termux/api/PhotoAPI$4;->val$camera:Landroid/hardware/camera2/CameraDevice; │ + iget-object v6, v6, Lcom/termux/api/PhotoAPI$4;->val$camera:Landroid/hardware/camera2/CameraDevice; │ │ - iget-object v9, p0, Lcom/termux/api/PhotoAPI$4$1;->this$0:Lcom/termux/api/PhotoAPI$4; │ + iget-object v8, p0, Lcom/termux/api/PhotoAPI$4$1;->this$0:Lcom/termux/api/PhotoAPI$4; │ │ - iget-object v9, v9, Lcom/termux/api/PhotoAPI$4;->val$looper:Landroid/os/Looper; │ + iget-object v8, v8, Lcom/termux/api/PhotoAPI$4;->val$looper:Landroid/os/Looper; │ │ - invoke-static {v7, v9}, Lcom/termux/api/PhotoAPI;->closeCamera(Landroid/hardware/camera2/CameraDevice;Landroid/os/Looper;)V │ + invoke-static {v6, v8}, Lcom/termux/api/PhotoAPI;->closeCamera(Landroid/hardware/camera2/CameraDevice;Landroid/os/Looper;)V │ │ - throw v6 │ + throw v5 │ :try_end_c │ .catch Ljava/lang/Throwable; {:try_start_c .. :try_end_c} :catch_2 │ .catchall {:try_start_c .. :try_end_c} :catchall_2 │ │ .line 140 │ .end local v0 # "buffer":Ljava/nio/ByteBuffer; │ .end local v1 # "bytes":[B │ :catchall_2 │ - move-exception v6 │ + move-exception v5 │ │ goto :goto_3 │ │ .line 132 │ .restart local v0 # "buffer":Ljava/nio/ByteBuffer; │ .restart local v1 # "bytes":[B │ .restart local v4 # "output":Ljava/io/FileOutputStream; │ :catch_3 │ - move-exception v7 │ + move-exception v6 │ │ :try_start_d │ - throw v7 │ + throw v6 │ :try_end_d │ .catchall {:try_start_d .. :try_end_d} :catchall_3 │ │ .line 134 │ :catchall_3 │ - move-exception v6 │ + move-exception v5 │ │ :goto_5 │ if-eqz v4, :cond_4 │ │ - if-eqz v7, :cond_5 │ + if-eqz v6, :cond_5 │ │ :try_start_e │ invoke-virtual {v4}, Ljava/io/FileOutputStream;->close()V │ :try_end_e │ .catch Ljava/lang/Throwable; {:try_start_e .. :try_end_e} :catch_4 │ .catch Ljava/lang/Exception; {:try_start_e .. :try_end_e} :catch_1 │ .catchall {:try_start_e .. :try_end_e} :catchall_1 │ │ :cond_4 │ :goto_6 │ :try_start_f │ - throw v6 │ + throw v5 │ │ :catch_4 │ - move-exception v5 │ + move-exception v8 │ │ - .restart local v5 # "x2":Ljava/lang/Throwable; │ - invoke-virtual {v7, v5}, Ljava/lang/Throwable;->addSuppressed(Ljava/lang/Throwable;)V │ + invoke-virtual {v6, v8}, Ljava/lang/Throwable;->addSuppressed(Ljava/lang/Throwable;)V │ │ goto :goto_6 │ │ - .end local v5 # "x2":Ljava/lang/Throwable; │ :cond_5 │ invoke-virtual {v4}, Ljava/io/FileOutputStream;->close()V │ :try_end_f │ .catch Ljava/lang/Exception; {:try_start_f .. :try_end_f} :catch_1 │ .catchall {:try_start_f .. :try_end_f} :catchall_1 │ │ goto :goto_6 │ │ .line 140 │ .end local v4 # "output":Ljava/io/FileOutputStream; │ :catch_5 │ move-exception v5 │ │ - .restart local v5 # "x2":Ljava/lang/Throwable; │ - invoke-virtual {v8, v5}, Ljava/lang/Throwable;->addSuppressed(Ljava/lang/Throwable;)V │ + invoke-virtual {v7, v5}, Ljava/lang/Throwable;->addSuppressed(Ljava/lang/Throwable;)V │ │ goto :goto_2 │ │ - .end local v5 # "x2":Ljava/lang/Throwable; │ :cond_6 │ invoke-virtual {v3}, Landroid/media/Image;->close()V │ │ goto :goto_2 │ │ .end local v0 # "buffer":Ljava/nio/ByteBuffer; │ .end local v1 # "bytes":[B │ :catch_6 │ - move-exception v5 │ + move-exception v6 │ │ - .restart local v5 # "x2":Ljava/lang/Throwable; │ - invoke-virtual {v8, v5}, Ljava/lang/Throwable;->addSuppressed(Ljava/lang/Throwable;)V │ + invoke-virtual {v7, v6}, Ljava/lang/Throwable;->addSuppressed(Ljava/lang/Throwable;)V │ │ goto :goto_4 │ │ - .end local v5 # "x2":Ljava/lang/Throwable; │ :cond_7 │ invoke-virtual {v3}, Landroid/media/Image;->close()V │ │ goto :goto_4 │ │ .line 134 │ .restart local v0 # "buffer":Ljava/nio/ByteBuffer; │ .restart local v1 # "bytes":[B │ .restart local v4 # "output":Ljava/io/FileOutputStream; │ :catchall_4 │ - move-exception v6 │ + move-exception v5 │ │ - move-object v7, v8 │ + move-object v6, v7 │ │ goto :goto_5 │ .end method ├── smali/com/termux/api/PhotoAPI$4.smali │ @@ -54,12 +54,13 @@ │ │ .prologue │ .line 125 │ new-instance v0, Lcom/termux/api/PhotoAPI$4$1; │ │ invoke-direct {v0, p0, p1}, Lcom/termux/api/PhotoAPI$4$1;->(Lcom/termux/api/PhotoAPI$4;Landroid/media/ImageReader;)V │ │ + .line 142 │ invoke-virtual {v0}, Lcom/termux/api/PhotoAPI$4$1;->start()V │ │ .line 143 │ return-void │ .end method ├── smali/com/termux/api/PhotoAPI.smali │ @@ -168,14 +168,15 @@ │ │ invoke-static {v6}, Lcom/termux/api/util/TermuxApiLogger;->info(Ljava/lang/String;)V │ │ .line 203 │ :goto_2 │ const-string v6, "window" │ │ + .line 204 │ invoke-virtual {p0, v6}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; │ │ move-result-object v6 │ │ check-cast v6, Landroid/view/WindowManager; │ │ invoke-interface {v6}, Landroid/view/WindowManager;->getDefaultDisplay()Landroid/view/Display; │ @@ -191,24 +192,26 @@ │ packed-switch v1, :pswitch_data_0 │ │ .line 211 │ const-string v6, "Default display has unknown rotation %d. Assuming 0 degrees." │ │ new-array v9, v7, [Ljava/lang/Object; │ │ + .line 212 │ invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; │ │ move-result-object v10 │ │ aput-object v10, v9, v8 │ │ invoke-static {v6, v9}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; │ │ move-result-object v6 │ │ + .line 211 │ invoke-static {v6}, Lcom/termux/api/util/TermuxApiLogger;->info(Ljava/lang/String;)V │ │ .line 213 │ const/4 v0, 0x0 │ │ .line 215 │ .local v0, "deviceOrientation":I │ @@ -402,15 +405,15 @@ │ invoke-static {p0, p2, v4}, Lcom/termux/api/util/ResultReturner;->returnData(Ljava/lang/Object;Landroid/content/Intent;Lcom/termux/api/util/ResultReturner$ResultWriter;)V │ │ .line 54 │ return-void │ .end method │ │ .method static proceedWithOpenedCamera(Landroid/content/Context;Landroid/hardware/camera2/CameraManager;Landroid/hardware/camera2/CameraDevice;Ljava/io/File;Landroid/os/Looper;Ljava/io/PrintWriter;)V │ - .locals 22 │ + .locals 19 │ .param p0, "context" # Landroid/content/Context; │ .param p1, "manager" # Landroid/hardware/camera2/CameraManager; │ .param p2, "camera" # Landroid/hardware/camera2/CameraDevice; │ .param p3, "outputFile" # Ljava/io/File; │ .param p4, "looper" # Landroid/os/Looper; │ .param p5, "stdout" # Ljava/io/PrintWriter; │ .annotation system Ldalvik/annotation/Throws; │ @@ -418,168 +421,157 @@ │ Landroid/hardware/camera2/CameraAccessException;, │ Ljava/lang/IllegalArgumentException; │ } │ .end annotation │ │ .prologue │ .line 97 │ - new-instance v19, Ljava/util/ArrayList; │ + new-instance v16, Ljava/util/ArrayList; │ │ - invoke-direct/range {v19 .. v19}, Ljava/util/ArrayList;->()V │ + invoke-direct/range {v16 .. v16}, Ljava/util/ArrayList;->()V │ │ .line 99 │ - .local v19, "outputSurfaces":Ljava/util/List;, "Ljava/util/List;" │ + .local v16, "outputSurfaces":Ljava/util/List;, "Ljava/util/List;" │ invoke-virtual/range {p2 .. p2}, Landroid/hardware/camera2/CameraDevice;->getId()Ljava/lang/String; │ │ move-result-object v4 │ │ move-object/from16 v0, p1 │ │ invoke-virtual {v0, v4}, Landroid/hardware/camera2/CameraManager;->getCameraCharacteristics(Ljava/lang/String;)Landroid/hardware/camera2/CameraCharacteristics; │ │ move-result-object v9 │ │ .line 101 │ .local v9, "characteristics":Landroid/hardware/camera2/CameraCharacteristics; │ - const/4 v12, 0x0 │ + const/4 v11, 0x0 │ │ .line 102 │ - .local v12, "autoExposureMode":I │ + .local v11, "autoExposureMode":I │ sget-object v4, Landroid/hardware/camera2/CameraCharacteristics;->CONTROL_AE_AVAILABLE_MODES:Landroid/hardware/camera2/CameraCharacteristics$Key; │ │ invoke-virtual {v9, v4}, Landroid/hardware/camera2/CameraCharacteristics;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object; │ │ - move-result-object v11 │ - │ - check-cast v11, [I │ + move-result-object v4 │ │ - .local v11, "arr$":[I │ - array-length v0, v11 │ + check-cast v4, [I │ │ - move/from16 v16, v0 │ + array-length v8, v4 │ │ - .local v16, "len$":I │ - const/4 v14, 0x0 │ + const/4 v5, 0x0 │ │ - .local v14, "i$":I │ :goto_0 │ - move/from16 v0, v16 │ + if-ge v5, v8, :cond_1 │ │ - if-ge v14, v0, :cond_1 │ - │ - aget v21, v11, v14 │ + aget v18, v4, v5 │ │ .line 103 │ - .local v21, "supportedMode":I │ - const/4 v4, 0x1 │ + .local v18, "supportedMode":I │ + const/4 v10, 0x1 │ │ - move/from16 v0, v21 │ + move/from16 v0, v18 │ │ - if-ne v0, v4, :cond_0 │ + if-ne v0, v10, :cond_0 │ │ .line 104 │ - move/from16 v12, v21 │ + move/from16 v11, v18 │ │ .line 102 │ :cond_0 │ - add-int/lit8 v14, v14, 0x1 │ + add-int/lit8 v5, v5, 0x1 │ │ goto :goto_0 │ │ .line 107 │ - .end local v21 # "supportedMode":I │ + .end local v18 # "supportedMode":I │ :cond_1 │ - move v7, v12 │ + move v7, v11 │ │ .line 110 │ .local v7, "autoExposureModeFinal":I │ sget-object v4, Landroid/hardware/camera2/CameraCharacteristics;->SCALER_STREAM_CONFIGURATION_MAP:Landroid/hardware/camera2/CameraCharacteristics$Key; │ │ invoke-virtual {v9, v4}, Landroid/hardware/camera2/CameraCharacteristics;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object; │ │ - move-result-object v18 │ + move-result-object v15 │ │ - check-cast v18, Landroid/hardware/camera2/params/StreamConfigurationMap; │ + check-cast v15, Landroid/hardware/camera2/params/StreamConfigurationMap; │ │ .line 111 │ - .local v18, "map":Landroid/hardware/camera2/params/StreamConfigurationMap; │ - new-instance v13, Lcom/termux/api/PhotoAPI$3; │ + .local v15, "map":Landroid/hardware/camera2/params/StreamConfigurationMap; │ + new-instance v12, Lcom/termux/api/PhotoAPI$3; │ │ - invoke-direct {v13}, Lcom/termux/api/PhotoAPI$3;->()V │ + invoke-direct {v12}, Lcom/termux/api/PhotoAPI$3;->()V │ │ .line 118 │ - .local v13, "bySize":Ljava/util/Comparator;, "Ljava/util/Comparator;" │ + .local v12, "bySize":Ljava/util/Comparator;, "Ljava/util/Comparator;" │ const/16 v4, 0x100 │ │ - move-object/from16 v0, v18 │ - │ - invoke-virtual {v0, v4}, Landroid/hardware/camera2/params/StreamConfigurationMap;->getOutputSizes(I)[Landroid/util/Size; │ + invoke-virtual {v15, v4}, Landroid/hardware/camera2/params/StreamConfigurationMap;->getOutputSizes(I)[Landroid/util/Size; │ │ move-result-object v4 │ │ invoke-static {v4}, Ljava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List; │ │ - move-result-object v20 │ + move-result-object v17 │ │ .line 119 │ - .local v20, "sizes":Ljava/util/List;, "Ljava/util/List;" │ - move-object/from16 v0, v20 │ + .local v17, "sizes":Ljava/util/List;, "Ljava/util/List;" │ + move-object/from16 v0, v17 │ │ - invoke-static {v0, v13}, Ljava/util/Collections;->max(Ljava/util/Collection;Ljava/util/Comparator;)Ljava/lang/Object; │ + invoke-static {v0, v12}, Ljava/util/Collections;->max(Ljava/util/Collection;Ljava/util/Comparator;)Ljava/lang/Object; │ │ - move-result-object v15 │ + move-result-object v13 │ │ - check-cast v15, Landroid/util/Size; │ + check-cast v13, Landroid/util/Size; │ │ .line 121 │ - .local v15, "largest":Landroid/util/Size; │ - invoke-virtual {v15}, Landroid/util/Size;->getWidth()I │ + .local v13, "largest":Landroid/util/Size; │ + invoke-virtual {v13}, Landroid/util/Size;->getWidth()I │ │ move-result v4 │ │ - invoke-virtual {v15}, Landroid/util/Size;->getHeight()I │ + invoke-virtual {v13}, Landroid/util/Size;->getHeight()I │ │ move-result v5 │ │ const/16 v8, 0x100 │ │ const/4 v10, 0x2 │ │ invoke-static {v4, v5, v8, v10}, Landroid/media/ImageReader;->newInstance(IIII)Landroid/media/ImageReader; │ │ - move-result-object v17 │ + move-result-object v14 │ │ .line 122 │ - .local v17, "mImageReader":Landroid/media/ImageReader; │ + .local v14, "mImageReader":Landroid/media/ImageReader; │ new-instance v4, Lcom/termux/api/PhotoAPI$4; │ │ move-object/from16 v0, p3 │ │ move-object/from16 v1, p5 │ │ move-object/from16 v2, p2 │ │ move-object/from16 v3, p4 │ │ invoke-direct {v4, v0, v1, v2, v3}, Lcom/termux/api/PhotoAPI$4;->(Ljava/io/File;Ljava/io/PrintWriter;Landroid/hardware/camera2/CameraDevice;Landroid/os/Looper;)V │ │ const/4 v5, 0x0 │ │ - move-object/from16 v0, v17 │ - │ - invoke-virtual {v0, v4, v5}, Landroid/media/ImageReader;->setOnImageAvailableListener(Landroid/media/ImageReader$OnImageAvailableListener;Landroid/os/Handler;)V │ + invoke-virtual {v14, v4, v5}, Landroid/media/ImageReader;->setOnImageAvailableListener(Landroid/media/ImageReader$OnImageAvailableListener;Landroid/os/Handler;)V │ │ .line 145 │ - invoke-virtual/range {v17 .. v17}, Landroid/media/ImageReader;->getSurface()Landroid/view/Surface; │ + invoke-virtual {v14}, Landroid/media/ImageReader;->getSurface()Landroid/view/Surface; │ │ move-result-object v6 │ │ .line 146 │ .local v6, "imageReaderSurface":Landroid/view/Surface; │ - move-object/from16 v0, v19 │ + move-object/from16 v0, v16 │ │ invoke-interface {v0, v6}, Ljava/util/List;->add(Ljava/lang/Object;)Z │ │ .line 148 │ new-instance v4, Lcom/termux/api/PhotoAPI$5; │ │ move-object/from16 v5, p2 │ @@ -590,15 +582,15 @@ │ │ invoke-direct/range {v4 .. v10}, Lcom/termux/api/PhotoAPI$5;->(Landroid/hardware/camera2/CameraDevice;Landroid/view/Surface;ILandroid/content/Context;Landroid/hardware/camera2/CameraCharacteristics;Landroid/os/Looper;)V │ │ const/4 v5, 0x0 │ │ move-object/from16 v0, p2 │ │ - move-object/from16 v1, v19 │ + move-object/from16 v1, v16 │ │ invoke-virtual {v0, v1, v4, v5}, Landroid/hardware/camera2/CameraDevice;->createCaptureSession(Ljava/util/List;Landroid/hardware/camera2/CameraCaptureSession$StateCallback;Landroid/os/Handler;)V │ │ .line 173 │ return-void │ .end method ├── smali/com/termux/api/R.smali │ @@ -22,10 +22,9 @@ │ .method public constructor ()V │ .locals 0 │ │ .prologue │ .line 10 │ invoke-direct {p0}, Ljava/lang/Object;->()V │ │ - .line 50 │ return-void │ .end method ├── smali/com/termux/api/ShareAPI.smali │ @@ -15,15 +15,14 @@ │ .method public constructor ()V │ .locals 0 │ │ .prologue │ .line 21 │ invoke-direct {p0}, Ljava/lang/Object;->()V │ │ - .line 120 │ return-void │ .end method │ │ .method static onReceive(Lcom/termux/api/TermuxApiReceiver;Landroid/content/Context;Landroid/content/Intent;)V │ .locals 10 │ .param p0, "apiReceiver" # Lcom/termux/api/TermuxApiReceiver; │ .param p1, "context" # Landroid/content/Context; ├── smali/com/termux/api/SmsInboxAPI.smali │ @@ -35,15 +35,15 @@ │ .line 33 │ invoke-direct {p0}, Ljava/lang/Object;->()V │ │ return-void │ .end method │ │ .method public static getAllSms(Landroid/content/Context;Landroid/util/JsonWriter;II)V │ - .locals 21 │ + .locals 20 │ .param p0, "context" # Landroid/content/Context; │ .param p1, "out" # Landroid/util/JsonWriter; │ .param p2, "offset" # I │ .param p3, "limit" # I │ .annotation build Landroid/annotation/SuppressLint; │ value = { │ "SimpleDateFormat" │ @@ -323,24 +323,20 @@ │ .line 92 │ :cond_3 │ :goto_2 │ return-void │ │ .line 91 │ :catch_0 │ - move-exception v19 │ - │ - .local v19, "x2":Ljava/lang/Throwable; │ - move-object/from16 v0, v19 │ + move-exception v3 │ │ - invoke-virtual {v4, v0}, Ljava/lang/Throwable;->addSuppressed(Ljava/lang/Throwable;)V │ + invoke-virtual {v4, v3}, Ljava/lang/Throwable;->addSuppressed(Ljava/lang/Throwable;)V │ │ goto :goto_2 │ │ - .end local v19 # "x2":Ljava/lang/Throwable; │ :cond_4 │ invoke-interface {v8}, Landroid/database/Cursor;->close()V │ │ goto :goto_2 │ │ .line 53 │ .end local v9 # "count":I │ @@ -355,19 +351,19 @@ │ :try_end_2 │ .catchall {:try_start_2 .. :try_end_2} :catchall_0 │ │ .line 91 │ :catchall_0 │ move-exception v4 │ │ - move-object/from16 v20, v4 │ + move-object/from16 v19, v4 │ │ move-object v4, v3 │ │ - move-object/from16 v3, v20 │ + move-object/from16 v3, v19 │ │ :goto_3 │ if-eqz v8, :cond_5 │ │ if-eqz v4, :cond_6 │ │ :try_start_3 │ @@ -376,37 +372,33 @@ │ .catch Ljava/lang/Throwable; {:try_start_3 .. :try_end_3} :catch_2 │ │ :cond_5 │ :goto_4 │ throw v3 │ │ :catch_2 │ - move-exception v19 │ - │ - .restart local v19 # "x2":Ljava/lang/Throwable; │ - move-object/from16 v0, v19 │ + move-exception v5 │ │ - invoke-virtual {v4, v0}, Ljava/lang/Throwable;->addSuppressed(Ljava/lang/Throwable;)V │ + invoke-virtual {v4, v5}, Ljava/lang/Throwable;->addSuppressed(Ljava/lang/Throwable;)V │ │ goto :goto_4 │ │ - .end local v19 # "x2":Ljava/lang/Throwable; │ :cond_6 │ invoke-interface {v8}, Landroid/database/Cursor;->close()V │ │ goto :goto_4 │ │ :catchall_1 │ move-exception v3 │ │ goto :goto_3 │ .end method │ │ .method private static getContactNameFromNumber(Ljava/util/Map;Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String; │ - .locals 9 │ + .locals 8 │ .param p1, "context" # Landroid/content/Context; │ .param p2, "number" # Ljava/lang/String; │ .annotation system Ldalvik/annotation/Signature; │ value = { │ "(", │ "Ljava/util/Map", │ "<", │ @@ -434,15 +426,15 @@ │ .line 96 │ invoke-interface {p0, p2}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object; │ │ move-result-object v0 │ │ check-cast v0, Ljava/lang/String; │ │ - .line 102 │ + .line 101 │ :goto_0 │ return-object v0 │ │ .line 97 │ :cond_0 │ sget-object v0, Landroid/provider/ContactsContract$PhoneLookup;->CONTENT_FILTER_URI:Landroid/net/Uri; │ │ @@ -507,34 +499,33 @@ │ :try_end_1 │ .catch Ljava/lang/Throwable; {:try_start_1 .. :try_end_1} :catch_0 │ │ :cond_1 │ :goto_2 │ move-object v0, v7 │ │ + .line 101 │ goto :goto_0 │ │ .end local v7 # "name":Ljava/lang/String; │ :cond_2 │ move-object v7, v3 │ │ .line 99 │ goto :goto_1 │ │ .line 102 │ .restart local v7 # "name":Ljava/lang/String; │ :catch_0 │ - move-exception v8 │ + move-exception v0 │ │ - .local v8, "x2":Ljava/lang/Throwable; │ - invoke-virtual {v3, v8}, Ljava/lang/Throwable;->addSuppressed(Ljava/lang/Throwable;)V │ + invoke-virtual {v3, v0}, Ljava/lang/Throwable;->addSuppressed(Ljava/lang/Throwable;)V │ │ goto :goto_2 │ │ - .end local v8 # "x2":Ljava/lang/Throwable; │ :cond_3 │ invoke-interface {v6}, Landroid/database/Cursor;->close()V │ │ goto :goto_2 │ │ .line 98 │ .end local v7 # "name":Ljava/lang/String; │ @@ -565,22 +556,20 @@ │ .catch Ljava/lang/Throwable; {:try_start_3 .. :try_end_3} :catch_2 │ │ :cond_4 │ :goto_4 │ throw v0 │ │ :catch_2 │ - move-exception v8 │ + move-exception v2 │ │ - .restart local v8 # "x2":Ljava/lang/Throwable; │ - invoke-virtual {v3, v8}, Ljava/lang/Throwable;->addSuppressed(Ljava/lang/Throwable;)V │ + invoke-virtual {v3, v2}, Ljava/lang/Throwable;->addSuppressed(Ljava/lang/Throwable;)V │ │ goto :goto_4 │ │ - .end local v8 # "x2":Ljava/lang/Throwable; │ :cond_5 │ invoke-interface {v6}, Landroid/database/Cursor;->close()V │ │ goto :goto_4 │ │ :catchall_1 │ move-exception v0 ├── smali/com/termux/api/SmsSendAPI$1.smali │ @@ -30,97 +30,92 @@ │ │ return-void │ .end method │ │ │ # virtual methods │ .method public writeResult(Ljava/io/PrintWriter;)V │ - .locals 10 │ + .locals 9 │ .param p1, "out" # Ljava/io/PrintWriter; │ .annotation system Ldalvik/annotation/Throws; │ value = { │ Ljava/lang/Exception; │ } │ .end annotation │ │ .prologue │ + const/4 v3, 0x0 │ + │ const/4 v2, 0x0 │ │ .line 17 │ invoke-static {}, Landroid/telephony/SmsManager;->getDefault()Landroid/telephony/SmsManager; │ │ move-result-object v0 │ │ .line 18 │ .local v0, "smsManager":Landroid/telephony/SmsManager; │ - iget-object v3, p0, Lcom/termux/api/SmsSendAPI$1;->val$intent:Landroid/content/Intent; │ + iget-object v4, p0, Lcom/termux/api/SmsSendAPI$1;->val$intent:Landroid/content/Intent; │ │ - const-string v4, "recipients" │ + const-string v5, "recipients" │ │ - invoke-virtual {v3, v4}, Landroid/content/Intent;->getStringArrayExtra(Ljava/lang/String;)[Ljava/lang/String; │ + invoke-virtual {v4, v5}, Landroid/content/Intent;->getStringArrayExtra(Ljava/lang/String;)[Ljava/lang/String; │ │ - move-result-object v9 │ + move-result-object v6 │ │ .line 20 │ - .local v9, "recipients":[Ljava/lang/String; │ - if-nez v9, :cond_0 │ + .local v6, "recipients":[Ljava/lang/String; │ + if-nez v6, :cond_0 │ │ .line 22 │ - iget-object v3, p0, Lcom/termux/api/SmsSendAPI$1;->val$intent:Landroid/content/Intent; │ + iget-object v4, p0, Lcom/termux/api/SmsSendAPI$1;->val$intent:Landroid/content/Intent; │ │ - const-string v4, "recipient" │ + const-string v5, "recipient" │ │ - invoke-virtual {v3, v4}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String; │ + invoke-virtual {v4, v5}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String; │ │ move-result-object v1 │ │ .line 23 │ .local v1, "recipient":Ljava/lang/String; │ if-eqz v1, :cond_0 │ │ - const/4 v3, 0x1 │ - │ - new-array v9, v3, [Ljava/lang/String; │ + const/4 v4, 0x1 │ │ - .end local v9 # "recipients":[Ljava/lang/String; │ - const/4 v3, 0x0 │ + new-array v6, v4, [Ljava/lang/String; │ │ - aput-object v1, v9, v3 │ + .end local v6 # "recipients":[Ljava/lang/String; │ + aput-object v1, v6, v3 │ │ .line 26 │ .end local v1 # "recipient":Ljava/lang/String; │ - .restart local v9 # "recipients":[Ljava/lang/String; │ + .restart local v6 # "recipients":[Ljava/lang/String; │ :cond_0 │ - if-eqz v9, :cond_1 │ + if-eqz v6, :cond_1 │ │ - array-length v3, v9 │ + array-length v4, v6 │ │ - if-nez v3, :cond_3 │ + if-nez v4, :cond_3 │ │ .line 27 │ :cond_1 │ const-string v2, "No recipient given" │ │ invoke-static {v2}, Lcom/termux/api/util/TermuxApiLogger;->error(Ljava/lang/String;)V │ │ .line 33 │ :cond_2 │ return-void │ │ .line 29 │ :cond_3 │ - move-object v6, v9 │ - │ - .local v6, "arr$":[Ljava/lang/String; │ array-length v8, v6 │ │ - .local v8, "len$":I │ - const/4 v7, 0x0 │ + move v7, v3 │ │ - .local v7, "i$":I │ :goto_0 │ if-ge v7, v8, :cond_2 │ │ aget-object v1, v6, v7 │ │ .line 30 │ .restart local v1 # "recipient":Ljava/lang/String; │ @@ -129,11 +124,13 @@ │ move-object v4, v2 │ │ move-object v5, v2 │ │ invoke-virtual/range {v0 .. v5}, Landroid/telephony/SmsManager;->sendTextMessage(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/app/PendingIntent;Landroid/app/PendingIntent;)V │ │ .line 29 │ - add-int/lit8 v7, v7, 0x1 │ + add-int/lit8 v3, v7, 0x1 │ + │ + move v7, v3 │ │ goto :goto_0 │ .end method ├── smali/com/termux/api/SpeechToTextAPI$SpeechToTextService$1.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Lcom/termux/api/SpeechToTextAPI$SpeechToTextService; │ │ │ # direct methods │ .method constructor (Lcom/termux/api/SpeechToTextAPI$SpeechToTextService;)V │ .locals 0 │ + .param p1, "this$0" # Lcom/termux/api/SpeechToTextAPI$SpeechToTextService; │ │ .prologue │ .line 48 │ iput-object p1, p0, Lcom/termux/api/SpeechToTextAPI$SpeechToTextService$1;->this$0:Lcom/termux/api/SpeechToTextAPI$SpeechToTextService; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/com/termux/api/SpeechToTextAPI$SpeechToTextService$2.smali │ @@ -22,14 +22,15 @@ │ │ .field final synthetic val$context:Landroid/content/Context; │ │ │ # direct methods │ .method constructor (Lcom/termux/api/SpeechToTextAPI$SpeechToTextService;Landroid/content/Context;)V │ .locals 0 │ + .param p1, "this$0" # Lcom/termux/api/SpeechToTextAPI$SpeechToTextService; │ │ .prologue │ .line 125 │ iput-object p1, p0, Lcom/termux/api/SpeechToTextAPI$SpeechToTextService$2;->this$0:Lcom/termux/api/SpeechToTextAPI$SpeechToTextService; │ │ iput-object p2, p0, Lcom/termux/api/SpeechToTextAPI$SpeechToTextService$2;->val$context:Landroid/content/Context; ├── smali/com/termux/api/SpeechToTextAPI$SpeechToTextService$3.smali │ @@ -17,14 +17,15 @@ │ # instance fields │ .field final synthetic this$0:Lcom/termux/api/SpeechToTextAPI$SpeechToTextService; │ │ │ # direct methods │ .method constructor (Lcom/termux/api/SpeechToTextAPI$SpeechToTextService;)V │ .locals 0 │ + .param p1, "this$0" # Lcom/termux/api/SpeechToTextAPI$SpeechToTextService; │ │ .prologue │ .line 159 │ iput-object p1, p0, Lcom/termux/api/SpeechToTextAPI$SpeechToTextService$3;->this$0:Lcom/termux/api/SpeechToTextAPI$SpeechToTextService; │ │ invoke-direct {p0}, Lcom/termux/api/util/ResultReturner$WithInput;->()V ├── smali/com/termux/api/SpeechToTextAPI.smali │ @@ -15,15 +15,14 @@ │ .method public constructor ()V │ .locals 0 │ │ .prologue │ .line 24 │ invoke-direct {p0}, Ljava/lang/Object;->()V │ │ - .line 26 │ return-void │ .end method │ │ .method public static onReceive(Landroid/content/Context;Landroid/content/Intent;)V │ .locals 2 │ .param p0, "context" # Landroid/content/Context; │ .param p1, "intent" # Landroid/content/Intent; │ @@ -133,14 +132,15 @@ │ │ invoke-virtual {v4, v5}, Landroid/app/AlertDialog$Builder;->setMessage(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder; │ │ move-result-object v4 │ │ const-string v5, "Install Voice Search from Google Play?" │ │ + .line 193 │ invoke-virtual {v4, v5}, Landroid/app/AlertDialog$Builder;->setTitle(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder; │ │ move-result-object v4 │ │ const-string v5, "Install" │ │ new-instance v6, Lcom/termux/api/SpeechToTextAPI$1; │ @@ -151,18 +151,20 @@ │ │ move-result-object v4 │ │ const-string v5, "Cancel" │ │ const/4 v6, 0x0 │ │ + .line 203 │ invoke-virtual {v4, v5, v6}, Landroid/app/AlertDialog$Builder;->setNegativeButton(Ljava/lang/CharSequence;Landroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; │ │ move-result-object v4 │ │ + .line 204 │ invoke-virtual {v4}, Landroid/app/AlertDialog$Builder;->create()Landroid/app/AlertDialog; │ │ move-result-object v4 │ │ invoke-virtual {v4}, Landroid/app/AlertDialog;->show()V │ │ goto :goto_0 ├── smali/com/termux/api/TelephonyAPI$1.smali │ @@ -40,46 +40,45 @@ │ value = { │ Ljava/lang/Exception; │ } │ .end annotation │ │ .prologue │ .line 31 │ - iget-object v7, p0, Lcom/termux/api/TelephonyAPI$1;->val$context:Landroid/content/Context; │ + iget-object v6, p0, Lcom/termux/api/TelephonyAPI$1;->val$context:Landroid/content/Context; │ │ - const-string v8, "phone" │ + const-string v7, "phone" │ │ - invoke-virtual {v7, v8}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; │ + invoke-virtual {v6, v7}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; │ │ - move-result-object v5 │ + move-result-object v4 │ │ - check-cast v5, Landroid/telephony/TelephonyManager; │ + check-cast v4, Landroid/telephony/TelephonyManager; │ │ .line 32 │ - .local v5, "manager":Landroid/telephony/TelephonyManager; │ + .local v4, "manager":Landroid/telephony/TelephonyManager; │ invoke-virtual {p1}, Landroid/util/JsonWriter;->beginArray()Landroid/util/JsonWriter; │ │ .line 34 │ - invoke-virtual {v5}, Landroid/telephony/TelephonyManager;->getAllCellInfo()Ljava/util/List; │ + invoke-virtual {v4}, Landroid/telephony/TelephonyManager;->getAllCellInfo()Ljava/util/List; │ │ - move-result-object v7 │ + move-result-object v6 │ │ - invoke-interface {v7}, Ljava/util/List;->iterator()Ljava/util/Iterator; │ + invoke-interface {v6}, Ljava/util/List;->iterator()Ljava/util/Iterator; │ │ - move-result-object v3 │ + move-result-object v6 │ │ - .local v3, "i$":Ljava/util/Iterator; │ :goto_0 │ - invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z │ + invoke-interface {v6}, Ljava/util/Iterator;->hasNext()Z │ │ move-result v7 │ │ if-eqz v7, :cond_4 │ │ - 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, Landroid/telephony/CellInfo; │ │ .line 35 │ .local v1, "cellInfo":Landroid/telephony/CellInfo; │ @@ -238,21 +237,21 @@ │ │ .line 49 │ :cond_1 │ instance-of v7, v1, Landroid/telephony/CellInfoLte; │ │ if-eqz v7, :cond_2 │ │ - move-object v4, v1 │ + move-object v3, v1 │ │ .line 50 │ - check-cast v4, Landroid/telephony/CellInfoLte; │ + check-cast v3, Landroid/telephony/CellInfoLte; │ │ .line 51 │ - .local v4, "lteInfo":Landroid/telephony/CellInfoLte; │ + .local v3, "lteInfo":Landroid/telephony/CellInfoLte; │ const-string v7, "type" │ │ invoke-virtual {p1, v7}, Landroid/util/JsonWriter;->name(Ljava/lang/String;)Landroid/util/JsonWriter; │ │ move-result-object v7 │ │ const-string v8, "lte" │ @@ -275,15 +274,15 @@ │ .line 54 │ const-string v7, "asu" │ │ invoke-virtual {p1, v7}, Landroid/util/JsonWriter;->name(Ljava/lang/String;)Landroid/util/JsonWriter; │ │ move-result-object v7 │ │ - invoke-virtual {v4}, Landroid/telephony/CellInfoLte;->getCellSignalStrength()Landroid/telephony/CellSignalStrengthLte; │ + invoke-virtual {v3}, Landroid/telephony/CellInfoLte;->getCellSignalStrength()Landroid/telephony/CellSignalStrengthLte; │ │ move-result-object v8 │ │ invoke-virtual {v8}, Landroid/telephony/CellSignalStrengthLte;->getAsuLevel()I │ │ move-result v8 │ │ @@ -294,128 +293,128 @@ │ .line 55 │ const-string v7, "dbm" │ │ invoke-virtual {p1, v7}, Landroid/util/JsonWriter;->name(Ljava/lang/String;)Landroid/util/JsonWriter; │ │ move-result-object v7 │ │ - invoke-virtual {v4}, Landroid/telephony/CellInfoLte;->getCellSignalStrength()Landroid/telephony/CellSignalStrengthLte; │ + invoke-virtual {v3}, Landroid/telephony/CellInfoLte;->getCellSignalStrength()Landroid/telephony/CellSignalStrengthLte; │ │ move-result-object v8 │ │ invoke-virtual {v8}, Landroid/telephony/CellSignalStrengthLte;->getDbm()I │ │ move-result v8 │ │ int-to-long v8, v8 │ │ invoke-virtual {v7, v8, v9}, Landroid/util/JsonWriter;->value(J)Landroid/util/JsonWriter; │ │ .line 56 │ const-string v7, "level" │ │ - invoke-virtual {v4}, Landroid/telephony/CellInfoLte;->getCellSignalStrength()Landroid/telephony/CellSignalStrengthLte; │ + invoke-virtual {v3}, Landroid/telephony/CellInfoLte;->getCellSignalStrength()Landroid/telephony/CellSignalStrengthLte; │ │ move-result-object v8 │ │ invoke-virtual {v8}, Landroid/telephony/CellSignalStrengthLte;->getLevel()I │ │ move-result v8 │ │ # invokes: Lcom/termux/api/TelephonyAPI;->writeIfKnown(Landroid/util/JsonWriter;Ljava/lang/String;I)V │ invoke-static {p1, v7, v8}, Lcom/termux/api/TelephonyAPI;->access$000(Landroid/util/JsonWriter;Ljava/lang/String;I)V │ │ .line 57 │ const-string v7, "timing_advance" │ │ - invoke-virtual {v4}, Landroid/telephony/CellInfoLte;->getCellSignalStrength()Landroid/telephony/CellSignalStrengthLte; │ + invoke-virtual {v3}, Landroid/telephony/CellInfoLte;->getCellSignalStrength()Landroid/telephony/CellSignalStrengthLte; │ │ move-result-object v8 │ │ invoke-virtual {v8}, Landroid/telephony/CellSignalStrengthLte;->getTimingAdvance()I │ │ move-result v8 │ │ # invokes: Lcom/termux/api/TelephonyAPI;->writeIfKnown(Landroid/util/JsonWriter;Ljava/lang/String;I)V │ invoke-static {p1, v7, v8}, Lcom/termux/api/TelephonyAPI;->access$000(Landroid/util/JsonWriter;Ljava/lang/String;I)V │ │ .line 59 │ const-string v7, "ci" │ │ - invoke-virtual {v4}, Landroid/telephony/CellInfoLte;->getCellIdentity()Landroid/telephony/CellIdentityLte; │ + invoke-virtual {v3}, Landroid/telephony/CellInfoLte;->getCellIdentity()Landroid/telephony/CellIdentityLte; │ │ move-result-object v8 │ │ invoke-virtual {v8}, Landroid/telephony/CellIdentityLte;->getCi()I │ │ move-result v8 │ │ # invokes: Lcom/termux/api/TelephonyAPI;->writeIfKnown(Landroid/util/JsonWriter;Ljava/lang/String;I)V │ invoke-static {p1, v7, v8}, Lcom/termux/api/TelephonyAPI;->access$000(Landroid/util/JsonWriter;Ljava/lang/String;I)V │ │ .line 60 │ const-string v7, "pci" │ │ - invoke-virtual {v4}, Landroid/telephony/CellInfoLte;->getCellIdentity()Landroid/telephony/CellIdentityLte; │ + invoke-virtual {v3}, Landroid/telephony/CellInfoLte;->getCellIdentity()Landroid/telephony/CellIdentityLte; │ │ move-result-object v8 │ │ invoke-virtual {v8}, Landroid/telephony/CellIdentityLte;->getPci()I │ │ move-result v8 │ │ # invokes: Lcom/termux/api/TelephonyAPI;->writeIfKnown(Landroid/util/JsonWriter;Ljava/lang/String;I)V │ invoke-static {p1, v7, v8}, Lcom/termux/api/TelephonyAPI;->access$000(Landroid/util/JsonWriter;Ljava/lang/String;I)V │ │ .line 61 │ const-string v7, "tac" │ │ - invoke-virtual {v4}, Landroid/telephony/CellInfoLte;->getCellIdentity()Landroid/telephony/CellIdentityLte; │ + invoke-virtual {v3}, Landroid/telephony/CellInfoLte;->getCellIdentity()Landroid/telephony/CellIdentityLte; │ │ move-result-object v8 │ │ invoke-virtual {v8}, Landroid/telephony/CellIdentityLte;->getTac()I │ │ move-result v8 │ │ # invokes: Lcom/termux/api/TelephonyAPI;->writeIfKnown(Landroid/util/JsonWriter;Ljava/lang/String;I)V │ invoke-static {p1, v7, v8}, Lcom/termux/api/TelephonyAPI;->access$000(Landroid/util/JsonWriter;Ljava/lang/String;I)V │ │ .line 62 │ const-string v7, "mcc" │ │ - invoke-virtual {v4}, Landroid/telephony/CellInfoLte;->getCellIdentity()Landroid/telephony/CellIdentityLte; │ + invoke-virtual {v3}, Landroid/telephony/CellInfoLte;->getCellIdentity()Landroid/telephony/CellIdentityLte; │ │ move-result-object v8 │ │ invoke-virtual {v8}, Landroid/telephony/CellIdentityLte;->getMcc()I │ │ move-result v8 │ │ # invokes: Lcom/termux/api/TelephonyAPI;->writeIfKnown(Landroid/util/JsonWriter;Ljava/lang/String;I)V │ invoke-static {p1, v7, v8}, Lcom/termux/api/TelephonyAPI;->access$000(Landroid/util/JsonWriter;Ljava/lang/String;I)V │ │ .line 63 │ const-string v7, "mnc" │ │ - invoke-virtual {v4}, Landroid/telephony/CellInfoLte;->getCellIdentity()Landroid/telephony/CellIdentityLte; │ + invoke-virtual {v3}, Landroid/telephony/CellInfoLte;->getCellIdentity()Landroid/telephony/CellIdentityLte; │ │ move-result-object v8 │ │ invoke-virtual {v8}, Landroid/telephony/CellIdentityLte;->getMnc()I │ │ move-result v8 │ │ # invokes: Lcom/termux/api/TelephonyAPI;->writeIfKnown(Landroid/util/JsonWriter;Ljava/lang/String;I)V │ invoke-static {p1, v7, v8}, Lcom/termux/api/TelephonyAPI;->access$000(Landroid/util/JsonWriter;Ljava/lang/String;I)V │ │ goto/16 :goto_1 │ │ .line 64 │ - .end local v4 # "lteInfo":Landroid/telephony/CellInfoLte; │ + .end local v3 # "lteInfo":Landroid/telephony/CellInfoLte; │ :cond_2 │ instance-of v7, v1, Landroid/telephony/CellInfoCdma; │ │ if-eqz v7, :cond_3 │ │ move-object v0, v1 │ │ @@ -737,21 +736,21 @@ │ .line 85 │ .end local v0 # "cdmaInfo":Landroid/telephony/CellInfoCdma; │ :cond_3 │ instance-of v7, v1, Landroid/telephony/CellInfoWcdma; │ │ if-eqz v7, :cond_0 │ │ - move-object v6, v1 │ + move-object v5, v1 │ │ .line 86 │ - check-cast v6, Landroid/telephony/CellInfoWcdma; │ + check-cast v5, Landroid/telephony/CellInfoWcdma; │ │ .line 87 │ - .local v6, "wcdmaInfo":Landroid/telephony/CellInfoWcdma; │ + .local v5, "wcdmaInfo":Landroid/telephony/CellInfoWcdma; │ const-string v7, "type" │ │ invoke-virtual {p1, v7}, Landroid/util/JsonWriter;->name(Ljava/lang/String;)Landroid/util/JsonWriter; │ │ move-result-object v7 │ │ const-string v8, "wcdma" │ @@ -774,30 +773,30 @@ │ .line 90 │ const-string v7, "asu" │ │ invoke-virtual {p1, v7}, Landroid/util/JsonWriter;->name(Ljava/lang/String;)Landroid/util/JsonWriter; │ │ move-result-object v7 │ │ - invoke-virtual {v6}, Landroid/telephony/CellInfoWcdma;->getCellSignalStrength()Landroid/telephony/CellSignalStrengthWcdma; │ + invoke-virtual {v5}, Landroid/telephony/CellInfoWcdma;->getCellSignalStrength()Landroid/telephony/CellSignalStrengthWcdma; │ │ move-result-object v8 │ │ invoke-virtual {v8}, Landroid/telephony/CellSignalStrengthWcdma;->getAsuLevel()I │ │ move-result v8 │ │ int-to-long v8, v8 │ │ invoke-virtual {v7, v8, v9}, Landroid/util/JsonWriter;->value(J)Landroid/util/JsonWriter; │ │ .line 91 │ const-string v7, "dbm" │ │ - invoke-virtual {v6}, Landroid/telephony/CellInfoWcdma;->getCellSignalStrength()Landroid/telephony/CellSignalStrengthWcdma; │ + invoke-virtual {v5}, Landroid/telephony/CellInfoWcdma;->getCellSignalStrength()Landroid/telephony/CellSignalStrengthWcdma; │ │ move-result-object v8 │ │ invoke-virtual {v8}, Landroid/telephony/CellSignalStrengthWcdma;->getDbm()I │ │ move-result v8 │ │ @@ -807,100 +806,100 @@ │ .line 92 │ const-string v7, "level" │ │ invoke-virtual {p1, v7}, Landroid/util/JsonWriter;->name(Ljava/lang/String;)Landroid/util/JsonWriter; │ │ move-result-object v7 │ │ - invoke-virtual {v6}, Landroid/telephony/CellInfoWcdma;->getCellSignalStrength()Landroid/telephony/CellSignalStrengthWcdma; │ + invoke-virtual {v5}, Landroid/telephony/CellInfoWcdma;->getCellSignalStrength()Landroid/telephony/CellSignalStrengthWcdma; │ │ move-result-object v8 │ │ invoke-virtual {v8}, Landroid/telephony/CellSignalStrengthWcdma;->getLevel()I │ │ move-result v8 │ │ int-to-long v8, v8 │ │ invoke-virtual {v7, v8, v9}, Landroid/util/JsonWriter;->value(J)Landroid/util/JsonWriter; │ │ .line 94 │ const-string v7, "cid" │ │ - invoke-virtual {v6}, Landroid/telephony/CellInfoWcdma;->getCellIdentity()Landroid/telephony/CellIdentityWcdma; │ + invoke-virtual {v5}, Landroid/telephony/CellInfoWcdma;->getCellIdentity()Landroid/telephony/CellIdentityWcdma; │ │ move-result-object v8 │ │ invoke-virtual {v8}, Landroid/telephony/CellIdentityWcdma;->getCid()I │ │ move-result v8 │ │ # invokes: Lcom/termux/api/TelephonyAPI;->writeIfKnown(Landroid/util/JsonWriter;Ljava/lang/String;I)V │ invoke-static {p1, v7, v8}, Lcom/termux/api/TelephonyAPI;->access$000(Landroid/util/JsonWriter;Ljava/lang/String;I)V │ │ .line 95 │ const-string v7, "lac" │ │ - invoke-virtual {v6}, Landroid/telephony/CellInfoWcdma;->getCellIdentity()Landroid/telephony/CellIdentityWcdma; │ + invoke-virtual {v5}, Landroid/telephony/CellInfoWcdma;->getCellIdentity()Landroid/telephony/CellIdentityWcdma; │ │ move-result-object v8 │ │ invoke-virtual {v8}, Landroid/telephony/CellIdentityWcdma;->getLac()I │ │ move-result v8 │ │ # invokes: Lcom/termux/api/TelephonyAPI;->writeIfKnown(Landroid/util/JsonWriter;Ljava/lang/String;I)V │ invoke-static {p1, v7, v8}, Lcom/termux/api/TelephonyAPI;->access$000(Landroid/util/JsonWriter;Ljava/lang/String;I)V │ │ .line 96 │ const-string v7, "mcc" │ │ - invoke-virtual {v6}, Landroid/telephony/CellInfoWcdma;->getCellIdentity()Landroid/telephony/CellIdentityWcdma; │ + invoke-virtual {v5}, Landroid/telephony/CellInfoWcdma;->getCellIdentity()Landroid/telephony/CellIdentityWcdma; │ │ move-result-object v8 │ │ invoke-virtual {v8}, Landroid/telephony/CellIdentityWcdma;->getMcc()I │ │ move-result v8 │ │ # invokes: Lcom/termux/api/TelephonyAPI;->writeIfKnown(Landroid/util/JsonWriter;Ljava/lang/String;I)V │ invoke-static {p1, v7, v8}, Lcom/termux/api/TelephonyAPI;->access$000(Landroid/util/JsonWriter;Ljava/lang/String;I)V │ │ .line 97 │ const-string v7, "mnc" │ │ - invoke-virtual {v6}, Landroid/telephony/CellInfoWcdma;->getCellIdentity()Landroid/telephony/CellIdentityWcdma; │ + invoke-virtual {v5}, Landroid/telephony/CellInfoWcdma;->getCellIdentity()Landroid/telephony/CellIdentityWcdma; │ │ move-result-object v8 │ │ invoke-virtual {v8}, Landroid/telephony/CellIdentityWcdma;->getMnc()I │ │ move-result v8 │ │ # invokes: Lcom/termux/api/TelephonyAPI;->writeIfKnown(Landroid/util/JsonWriter;Ljava/lang/String;I)V │ invoke-static {p1, v7, v8}, Lcom/termux/api/TelephonyAPI;->access$000(Landroid/util/JsonWriter;Ljava/lang/String;I)V │ │ .line 98 │ const-string v7, "psc" │ │ - invoke-virtual {v6}, Landroid/telephony/CellInfoWcdma;->getCellIdentity()Landroid/telephony/CellIdentityWcdma; │ + invoke-virtual {v5}, Landroid/telephony/CellInfoWcdma;->getCellIdentity()Landroid/telephony/CellIdentityWcdma; │ │ move-result-object v8 │ │ invoke-virtual {v8}, Landroid/telephony/CellIdentityWcdma;->getPsc()I │ │ move-result v8 │ │ # invokes: Lcom/termux/api/TelephonyAPI;->writeIfKnown(Landroid/util/JsonWriter;Ljava/lang/String;I)V │ invoke-static {p1, v7, v8}, Lcom/termux/api/TelephonyAPI;->access$000(Landroid/util/JsonWriter;Ljava/lang/String;I)V │ │ goto/16 :goto_1 │ │ .line 103 │ .end local v1 # "cellInfo":Landroid/telephony/CellInfo; │ - .end local v6 # "wcdmaInfo":Landroid/telephony/CellInfoWcdma; │ + .end local v5 # "wcdmaInfo":Landroid/telephony/CellInfoWcdma; │ :cond_4 │ invoke-virtual {p1}, Landroid/util/JsonWriter;->endArray()Landroid/util/JsonWriter; │ │ .line 104 │ return-void │ .end method ├── smali/com/termux/api/TextToSpeechAPI$TextToSpeechService$1.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Lcom/termux/api/TextToSpeechAPI$TextToSpeechService; │ │ │ # direct methods │ .method constructor (Lcom/termux/api/TextToSpeechAPI$TextToSpeechService;)V │ .locals 0 │ + .param p1, "this$0" # Lcom/termux/api/TextToSpeechAPI$TextToSpeechService; │ │ .prologue │ .line 67 │ iput-object p1, p0, Lcom/termux/api/TextToSpeechAPI$TextToSpeechService$1;->this$0:Lcom/termux/api/TextToSpeechAPI$TextToSpeechService; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/com/termux/api/TextToSpeechAPI$TextToSpeechService$2$1.smali │ @@ -19,14 +19,15 @@ │ │ .field final synthetic val$ttsDoneUtterancesCount:Ljava/util/concurrent/atomic/AtomicInteger; │ │ │ # direct methods │ .method constructor (Lcom/termux/api/TextToSpeechAPI$TextToSpeechService$2;Ljava/util/concurrent/atomic/AtomicInteger;)V │ .locals 0 │ + .param p1, "this$1" # Lcom/termux/api/TextToSpeechAPI$TextToSpeechService$2; │ │ .prologue │ .line 114 │ iput-object p1, p0, Lcom/termux/api/TextToSpeechAPI$TextToSpeechService$2$1;->this$1:Lcom/termux/api/TextToSpeechAPI$TextToSpeechService$2; │ │ iput-object p2, p0, Lcom/termux/api/TextToSpeechAPI$TextToSpeechService$2$1;->val$ttsDoneUtterancesCount:Ljava/util/concurrent/atomic/AtomicInteger; ├── smali/com/termux/api/TextToSpeechAPI$TextToSpeechService$2.smali │ @@ -27,14 +27,15 @@ │ │ .field final synthetic val$streamToUse:I │ │ │ # direct methods │ .method constructor (Lcom/termux/api/TextToSpeechAPI$TextToSpeechService;Ljava/lang/String;Ljava/lang/String;FLandroid/content/Intent;I)V │ .locals 0 │ + .param p1, "this$0" # Lcom/termux/api/TextToSpeechAPI$TextToSpeechService; │ │ .prologue │ .line 79 │ iput-object p1, p0, Lcom/termux/api/TextToSpeechAPI$TextToSpeechService$2;->this$0:Lcom/termux/api/TextToSpeechAPI$TextToSpeechService; │ │ iput-object p2, p0, Lcom/termux/api/TextToSpeechAPI$TextToSpeechService$2;->val$speechEngine:Ljava/lang/String; │ │ @@ -50,45 +51,45 @@ │ │ return-void │ .end method │ │ │ # virtual methods │ .method public writeResult(Ljava/io/PrintWriter;)V │ - .locals 20 │ + .locals 18 │ .param p1, "out" # Ljava/io/PrintWriter; │ .annotation system Ldalvik/annotation/Throws; │ value = { │ Ljava/lang/Exception; │ } │ .end annotation │ │ .prologue │ .line 85 │ :try_start_0 │ move-object/from16 v0, p0 │ │ - iget-object v15, v0, Lcom/termux/api/TextToSpeechAPI$TextToSpeechService$2;->this$0:Lcom/termux/api/TextToSpeechAPI$TextToSpeechService; │ + iget-object v13, v0, Lcom/termux/api/TextToSpeechAPI$TextToSpeechService$2;->this$0:Lcom/termux/api/TextToSpeechAPI$TextToSpeechService; │ │ - iget-object v15, v15, Lcom/termux/api/TextToSpeechAPI$TextToSpeechService;->mTtsLatch:Ljava/util/concurrent/CountDownLatch; │ + iget-object v13, v13, Lcom/termux/api/TextToSpeechAPI$TextToSpeechService;->mTtsLatch:Ljava/util/concurrent/CountDownLatch; │ │ - const-wide/16 v16, 0xa │ + const-wide/16 v14, 0xa │ │ - sget-object v18, Ljava/util/concurrent/TimeUnit;->SECONDS:Ljava/util/concurrent/TimeUnit; │ + sget-object v16, Ljava/util/concurrent/TimeUnit;->SECONDS:Ljava/util/concurrent/TimeUnit; │ │ - invoke-virtual/range {v15 .. v18}, Ljava/util/concurrent/CountDownLatch;->await(JLjava/util/concurrent/TimeUnit;)Z │ + invoke-virtual/range {v13 .. v16}, Ljava/util/concurrent/CountDownLatch;->await(JLjava/util/concurrent/TimeUnit;)Z │ │ - move-result v15 │ + move-result v13 │ │ - if-nez v15, :cond_0 │ + if-nez v13, :cond_0 │ │ .line 86 │ - const-string v15, "Timeout waiting for TTS initialization" │ + const-string v13, "Timeout waiting for TTS initialization" │ │ - invoke-static {v15}, Lcom/termux/api/util/TermuxApiLogger;->error(Ljava/lang/String;)V │ + invoke-static {v13}, Lcom/termux/api/util/TermuxApiLogger;->error(Ljava/lang/String;)V │ :try_end_0 │ .catch Ljava/lang/InterruptedException; {:try_start_0 .. :try_end_0} :catch_0 │ .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_1 │ │ .line 173 │ :goto_0 │ return-void │ @@ -96,648 +97,602 @@ │ .line 89 │ :catch_0 │ move-exception v3 │ │ .line 90 │ .local v3, "e":Ljava/lang/InterruptedException; │ :try_start_1 │ - const-string v15, "Interrupted awaiting TTS initialization" │ + const-string v13, "Interrupted awaiting TTS initialization" │ │ - invoke-static {v15}, Lcom/termux/api/util/TermuxApiLogger;->error(Ljava/lang/String;)V │ + invoke-static {v13}, Lcom/termux/api/util/TermuxApiLogger;->error(Ljava/lang/String;)V │ :try_end_1 │ .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_1} :catch_1 │ │ goto :goto_0 │ │ .line 170 │ .end local v3 # "e":Ljava/lang/InterruptedException; │ :catch_1 │ move-exception v3 │ │ .line 171 │ .local v3, "e":Ljava/lang/Exception; │ - const-string v15, "TTS error" │ + const-string v13, "TTS error" │ │ - invoke-static {v15, v3}, Lcom/termux/api/util/TermuxApiLogger;->error(Ljava/lang/String;Ljava/lang/Exception;)V │ + invoke-static {v13, v3}, Lcom/termux/api/util/TermuxApiLogger;->error(Ljava/lang/String;Ljava/lang/Exception;)V │ │ goto :goto_0 │ │ .line 94 │ .end local v3 # "e":Ljava/lang/Exception; │ :cond_0 │ :try_start_2 │ - const-string v15, "LIST_AVAILABLE" │ + const-string v13, "LIST_AVAILABLE" │ │ move-object/from16 v0, p0 │ │ - iget-object v0, v0, Lcom/termux/api/TextToSpeechAPI$TextToSpeechService$2;->val$speechEngine:Ljava/lang/String; │ - │ - move-object/from16 v16, v0 │ + iget-object v14, v0, Lcom/termux/api/TextToSpeechAPI$TextToSpeechService$2;->val$speechEngine:Ljava/lang/String; │ │ - invoke-virtual/range {v15 .. v16}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z │ + invoke-virtual {v13, v14}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z │ │ - move-result v15 │ + move-result v13 │ │ - if-eqz v15, :cond_6 │ + if-eqz v13, :cond_6 │ │ .line 95 │ - new-instance v13, Landroid/util/JsonWriter; │ + new-instance v12, Landroid/util/JsonWriter; │ │ move-object/from16 v0, p1 │ │ - invoke-direct {v13, v0}, Landroid/util/JsonWriter;->(Ljava/io/Writer;)V │ + invoke-direct {v12, v0}, Landroid/util/JsonWriter;->(Ljava/io/Writer;)V │ :try_end_2 │ .catch Ljava/lang/Exception; {:try_start_2 .. :try_end_2} :catch_1 │ │ - .local v13, "writer":Landroid/util/JsonWriter; │ - const/16 v16, 0x0 │ + .local v12, "writer":Landroid/util/JsonWriter; │ + const/4 v14, 0x0 │ │ .line 96 │ :try_start_3 │ - const-string v15, " " │ + const-string v13, " " │ │ - invoke-virtual {v13, v15}, Landroid/util/JsonWriter;->setIndent(Ljava/lang/String;)V │ + invoke-virtual {v12, v13}, Landroid/util/JsonWriter;->setIndent(Ljava/lang/String;)V │ │ .line 97 │ move-object/from16 v0, p0 │ │ - iget-object v15, v0, Lcom/termux/api/TextToSpeechAPI$TextToSpeechService$2;->this$0:Lcom/termux/api/TextToSpeechAPI$TextToSpeechService; │ + iget-object v13, v0, Lcom/termux/api/TextToSpeechAPI$TextToSpeechService$2;->this$0:Lcom/termux/api/TextToSpeechAPI$TextToSpeechService; │ │ - iget-object v15, v15, Lcom/termux/api/TextToSpeechAPI$TextToSpeechService;->mTts:Landroid/speech/tts/TextToSpeech; │ + iget-object v13, v13, Lcom/termux/api/TextToSpeechAPI$TextToSpeechService;->mTts:Landroid/speech/tts/TextToSpeech; │ │ - invoke-virtual {v15}, Landroid/speech/tts/TextToSpeech;->getDefaultEngine()Ljava/lang/String; │ + invoke-virtual {v13}, Landroid/speech/tts/TextToSpeech;->getDefaultEngine()Ljava/lang/String; │ │ move-result-object v2 │ │ .line 98 │ .local v2, "defaultEngineName":Ljava/lang/String; │ - invoke-virtual {v13}, Landroid/util/JsonWriter;->beginArray()Landroid/util/JsonWriter; │ + invoke-virtual {v12}, Landroid/util/JsonWriter;->beginArray()Landroid/util/JsonWriter; │ │ .line 99 │ move-object/from16 v0, p0 │ │ - iget-object v15, v0, Lcom/termux/api/TextToSpeechAPI$TextToSpeechService$2;->this$0:Lcom/termux/api/TextToSpeechAPI$TextToSpeechService; │ + iget-object v13, v0, Lcom/termux/api/TextToSpeechAPI$TextToSpeechService$2;->this$0:Lcom/termux/api/TextToSpeechAPI$TextToSpeechService; │ │ - iget-object v15, v15, Lcom/termux/api/TextToSpeechAPI$TextToSpeechService;->mTts:Landroid/speech/tts/TextToSpeech; │ + iget-object v13, v13, Lcom/termux/api/TextToSpeechAPI$TextToSpeechService;->mTts:Landroid/speech/tts/TextToSpeech; │ │ - invoke-virtual {v15}, Landroid/speech/tts/TextToSpeech;->getEngines()Ljava/util/List; │ + invoke-virtual {v13}, Landroid/speech/tts/TextToSpeech;->getEngines()Ljava/util/List; │ │ - move-result-object v15 │ + move-result-object v13 │ │ - invoke-interface {v15}, Ljava/util/List;->iterator()Ljava/util/Iterator; │ + invoke-interface {v13}, Ljava/util/List;->iterator()Ljava/util/Iterator; │ │ - move-result-object v4 │ + move-result-object v13 │ │ - .local v4, "i$":Ljava/util/Iterator; │ :goto_1 │ - invoke-interface {v4}, Ljava/util/Iterator;->hasNext()Z │ + invoke-interface {v13}, Ljava/util/Iterator;->hasNext()Z │ │ move-result v15 │ │ if-eqz v15, :cond_2 │ │ - invoke-interface {v4}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ + invoke-interface {v13}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ │ - move-result-object v5 │ + move-result-object v4 │ │ - check-cast v5, Landroid/speech/tts/TextToSpeech$EngineInfo; │ + check-cast v4, Landroid/speech/tts/TextToSpeech$EngineInfo; │ │ .line 100 │ - .local v5, "info":Landroid/speech/tts/TextToSpeech$EngineInfo; │ - invoke-virtual {v13}, Landroid/util/JsonWriter;->beginObject()Landroid/util/JsonWriter; │ + .local v4, "info":Landroid/speech/tts/TextToSpeech$EngineInfo; │ + invoke-virtual {v12}, Landroid/util/JsonWriter;->beginObject()Landroid/util/JsonWriter; │ │ .line 101 │ const-string v15, "name" │ │ - invoke-virtual {v13, v15}, Landroid/util/JsonWriter;->name(Ljava/lang/String;)Landroid/util/JsonWriter; │ + invoke-virtual {v12, v15}, Landroid/util/JsonWriter;->name(Ljava/lang/String;)Landroid/util/JsonWriter; │ │ move-result-object v15 │ │ - iget-object v0, v5, Landroid/speech/tts/TextToSpeech$EngineInfo;->name:Ljava/lang/String; │ + iget-object v0, v4, Landroid/speech/tts/TextToSpeech$EngineInfo;->name:Ljava/lang/String; │ │ - move-object/from16 v17, v0 │ - │ - move-object/from16 v0, v17 │ + move-object/from16 v16, v0 │ │ - invoke-virtual {v15, v0}, Landroid/util/JsonWriter;->value(Ljava/lang/String;)Landroid/util/JsonWriter; │ + invoke-virtual/range {v15 .. v16}, Landroid/util/JsonWriter;->value(Ljava/lang/String;)Landroid/util/JsonWriter; │ │ .line 102 │ const-string v15, "label" │ │ - invoke-virtual {v13, v15}, Landroid/util/JsonWriter;->name(Ljava/lang/String;)Landroid/util/JsonWriter; │ + invoke-virtual {v12, v15}, Landroid/util/JsonWriter;->name(Ljava/lang/String;)Landroid/util/JsonWriter; │ │ move-result-object v15 │ │ - iget-object v0, v5, Landroid/speech/tts/TextToSpeech$EngineInfo;->label:Ljava/lang/String; │ + iget-object v0, v4, Landroid/speech/tts/TextToSpeech$EngineInfo;->label:Ljava/lang/String; │ │ - move-object/from16 v17, v0 │ - │ - move-object/from16 v0, v17 │ + move-object/from16 v16, v0 │ │ - invoke-virtual {v15, v0}, Landroid/util/JsonWriter;->value(Ljava/lang/String;)Landroid/util/JsonWriter; │ + invoke-virtual/range {v15 .. v16}, Landroid/util/JsonWriter;->value(Ljava/lang/String;)Landroid/util/JsonWriter; │ │ .line 103 │ const-string v15, "default" │ │ - invoke-virtual {v13, v15}, Landroid/util/JsonWriter;->name(Ljava/lang/String;)Landroid/util/JsonWriter; │ + invoke-virtual {v12, v15}, Landroid/util/JsonWriter;->name(Ljava/lang/String;)Landroid/util/JsonWriter; │ │ move-result-object v15 │ │ - iget-object v0, v5, Landroid/speech/tts/TextToSpeech$EngineInfo;->name:Ljava/lang/String; │ + iget-object v0, v4, Landroid/speech/tts/TextToSpeech$EngineInfo;->name:Ljava/lang/String; │ │ - move-object/from16 v17, v0 │ + move-object/from16 v16, v0 │ │ - move-object/from16 v0, v17 │ + move-object/from16 v0, v16 │ │ invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z │ │ - move-result v17 │ - │ - move/from16 v0, v17 │ + move-result v16 │ │ - invoke-virtual {v15, v0}, Landroid/util/JsonWriter;->value(Z)Landroid/util/JsonWriter; │ + invoke-virtual/range {v15 .. v16}, Landroid/util/JsonWriter;->value(Z)Landroid/util/JsonWriter; │ │ .line 104 │ - invoke-virtual {v13}, Landroid/util/JsonWriter;->endObject()Landroid/util/JsonWriter; │ + invoke-virtual {v12}, Landroid/util/JsonWriter;->endObject()Landroid/util/JsonWriter; │ :try_end_3 │ .catch Ljava/lang/Throwable; {:try_start_3 .. :try_end_3} :catch_2 │ .catchall {:try_start_3 .. :try_end_3} :catchall_4 │ │ goto :goto_1 │ │ .line 95 │ .end local v2 # "defaultEngineName":Ljava/lang/String; │ - .end local v4 # "i$":Ljava/util/Iterator; │ - .end local v5 # "info":Landroid/speech/tts/TextToSpeech$EngineInfo; │ + .end local v4 # "info":Landroid/speech/tts/TextToSpeech$EngineInfo; │ :catch_2 │ - move-exception v15 │ + move-exception v13 │ │ :try_start_4 │ - throw v15 │ + throw v13 │ :try_end_4 │ .catchall {:try_start_4 .. :try_end_4} :catchall_0 │ │ .line 107 │ :catchall_0 │ - move-exception v16 │ + move-exception v14 │ │ - move-object/from16 v19, v16 │ + move-object/from16 v17, v14 │ │ - move-object/from16 v16, v15 │ + move-object v14, v13 │ │ - move-object/from16 v15, v19 │ + move-object/from16 v13, v17 │ │ :goto_2 │ - if-eqz v13, :cond_1 │ + if-eqz v12, :cond_1 │ │ - if-eqz v16, :cond_5 │ + if-eqz v14, :cond_5 │ │ :try_start_5 │ - invoke-virtual {v13}, Landroid/util/JsonWriter;->close()V │ + invoke-virtual {v12}, Landroid/util/JsonWriter;->close()V │ :try_end_5 │ .catch Ljava/lang/Throwable; {:try_start_5 .. :try_end_5} :catch_4 │ .catch Ljava/lang/Exception; {:try_start_5 .. :try_end_5} :catch_1 │ │ :cond_1 │ :goto_3 │ :try_start_6 │ - throw v15 │ + throw v13 │ :try_end_6 │ .catch Ljava/lang/Exception; {:try_start_6 .. :try_end_6} :catch_1 │ │ .line 106 │ .restart local v2 # "defaultEngineName":Ljava/lang/String; │ - .restart local v4 # "i$":Ljava/util/Iterator; │ :cond_2 │ :try_start_7 │ - invoke-virtual {v13}, Landroid/util/JsonWriter;->endArray()Landroid/util/JsonWriter; │ + invoke-virtual {v12}, Landroid/util/JsonWriter;->endArray()Landroid/util/JsonWriter; │ :try_end_7 │ .catch Ljava/lang/Throwable; {:try_start_7 .. :try_end_7} :catch_2 │ .catchall {:try_start_7 .. :try_end_7} :catchall_4 │ │ .line 107 │ - if-eqz v13, :cond_3 │ + if-eqz v12, :cond_3 │ │ - if-eqz v16, :cond_4 │ + if-eqz v14, :cond_4 │ │ :try_start_8 │ - invoke-virtual {v13}, Landroid/util/JsonWriter;->close()V │ + invoke-virtual {v12}, Landroid/util/JsonWriter;->close()V │ :try_end_8 │ .catch Ljava/lang/Throwable; {:try_start_8 .. :try_end_8} :catch_3 │ .catch Ljava/lang/Exception; {:try_start_8 .. :try_end_8} :catch_1 │ │ .line 108 │ :cond_3 │ :goto_4 │ :try_start_9 │ invoke-virtual/range {p1 .. p1}, Ljava/io/PrintWriter;->println()V │ │ goto/16 :goto_0 │ │ .line 107 │ :catch_3 │ - move-exception v14 │ - │ - .local v14, "x2":Ljava/lang/Throwable; │ - move-object/from16 v0, v16 │ + move-exception v13 │ │ - invoke-virtual {v0, v14}, Ljava/lang/Throwable;->addSuppressed(Ljava/lang/Throwable;)V │ + invoke-virtual {v14, v13}, Ljava/lang/Throwable;->addSuppressed(Ljava/lang/Throwable;)V │ │ goto :goto_4 │ │ - .end local v14 # "x2":Ljava/lang/Throwable; │ :cond_4 │ - invoke-virtual {v13}, Landroid/util/JsonWriter;->close()V │ + invoke-virtual {v12}, Landroid/util/JsonWriter;->close()V │ │ goto :goto_4 │ │ .end local v2 # "defaultEngineName":Ljava/lang/String; │ - .end local v4 # "i$":Ljava/util/Iterator; │ :catch_4 │ - move-exception v14 │ - │ - .restart local v14 # "x2":Ljava/lang/Throwable; │ - move-object/from16 v0, v16 │ + move-exception v15 │ │ - invoke-virtual {v0, v14}, Ljava/lang/Throwable;->addSuppressed(Ljava/lang/Throwable;)V │ + invoke-virtual {v14, v15}, Ljava/lang/Throwable;->addSuppressed(Ljava/lang/Throwable;)V │ │ goto :goto_3 │ │ - .end local v14 # "x2":Ljava/lang/Throwable; │ :cond_5 │ - invoke-virtual {v13}, Landroid/util/JsonWriter;->close()V │ + invoke-virtual {v12}, Landroid/util/JsonWriter;->close()V │ │ goto :goto_3 │ │ .line 112 │ - .end local v13 # "writer":Landroid/util/JsonWriter; │ + .end local v12 # "writer":Landroid/util/JsonWriter; │ :cond_6 │ - new-instance v11, Ljava/util/concurrent/atomic/AtomicInteger; │ + new-instance v10, Ljava/util/concurrent/atomic/AtomicInteger; │ │ - invoke-direct {v11}, Ljava/util/concurrent/atomic/AtomicInteger;->()V │ + invoke-direct {v10}, Ljava/util/concurrent/atomic/AtomicInteger;->()V │ │ .line 114 │ - .local v11, "ttsDoneUtterancesCount":Ljava/util/concurrent/atomic/AtomicInteger; │ + .local v10, "ttsDoneUtterancesCount":Ljava/util/concurrent/atomic/AtomicInteger; │ move-object/from16 v0, p0 │ │ - iget-object v15, v0, Lcom/termux/api/TextToSpeechAPI$TextToSpeechService$2;->this$0:Lcom/termux/api/TextToSpeechAPI$TextToSpeechService; │ - │ - iget-object v15, v15, Lcom/termux/api/TextToSpeechAPI$TextToSpeechService;->mTts:Landroid/speech/tts/TextToSpeech; │ + iget-object v13, v0, Lcom/termux/api/TextToSpeechAPI$TextToSpeechService$2;->this$0:Lcom/termux/api/TextToSpeechAPI$TextToSpeechService; │ │ - new-instance v16, Lcom/termux/api/TextToSpeechAPI$TextToSpeechService$2$1; │ + iget-object v13, v13, Lcom/termux/api/TextToSpeechAPI$TextToSpeechService;->mTts:Landroid/speech/tts/TextToSpeech; │ │ - move-object/from16 v0, v16 │ + new-instance v14, Lcom/termux/api/TextToSpeechAPI$TextToSpeechService$2$1; │ │ - move-object/from16 v1, p0 │ + move-object/from16 v0, p0 │ │ - invoke-direct {v0, v1, v11}, Lcom/termux/api/TextToSpeechAPI$TextToSpeechService$2$1;->(Lcom/termux/api/TextToSpeechAPI$TextToSpeechService$2;Ljava/util/concurrent/atomic/AtomicInteger;)V │ + invoke-direct {v14, v0, v10}, Lcom/termux/api/TextToSpeechAPI$TextToSpeechService$2$1;->(Lcom/termux/api/TextToSpeechAPI$TextToSpeechService$2;Ljava/util/concurrent/atomic/AtomicInteger;)V │ │ - invoke-virtual/range {v15 .. v16}, Landroid/speech/tts/TextToSpeech;->setOnUtteranceProgressListener(Landroid/speech/tts/UtteranceProgressListener;)I │ + invoke-virtual {v13, v14}, Landroid/speech/tts/TextToSpeech;->setOnUtteranceProgressListener(Landroid/speech/tts/UtteranceProgressListener;)I │ │ .line 138 │ move-object/from16 v0, p0 │ │ - iget-object v15, v0, Lcom/termux/api/TextToSpeechAPI$TextToSpeechService$2;->val$speechLanguage:Ljava/lang/String; │ + iget-object v13, v0, Lcom/termux/api/TextToSpeechAPI$TextToSpeechService$2;->val$speechLanguage:Ljava/lang/String; │ │ - if-eqz v15, :cond_7 │ + if-eqz v13, :cond_7 │ │ .line 139 │ move-object/from16 v0, p0 │ │ - iget-object v15, v0, Lcom/termux/api/TextToSpeechAPI$TextToSpeechService$2;->this$0:Lcom/termux/api/TextToSpeechAPI$TextToSpeechService; │ + iget-object v13, v0, Lcom/termux/api/TextToSpeechAPI$TextToSpeechService$2;->this$0:Lcom/termux/api/TextToSpeechAPI$TextToSpeechService; │ │ - iget-object v15, v15, Lcom/termux/api/TextToSpeechAPI$TextToSpeechService;->mTts:Landroid/speech/tts/TextToSpeech; │ + iget-object v13, v13, Lcom/termux/api/TextToSpeechAPI$TextToSpeechService;->mTts:Landroid/speech/tts/TextToSpeech; │ │ - new-instance v16, Ljava/util/Locale; │ + new-instance v14, Ljava/util/Locale; │ │ move-object/from16 v0, p0 │ │ - iget-object v0, v0, Lcom/termux/api/TextToSpeechAPI$TextToSpeechService$2;->val$speechLanguage:Ljava/lang/String; │ - │ - move-object/from16 v17, v0 │ + iget-object v15, v0, Lcom/termux/api/TextToSpeechAPI$TextToSpeechService$2;->val$speechLanguage:Ljava/lang/String; │ │ - invoke-direct/range {v16 .. v17}, Ljava/util/Locale;->(Ljava/lang/String;)V │ + invoke-direct {v14, v15}, Ljava/util/Locale;->(Ljava/lang/String;)V │ │ - invoke-virtual/range {v15 .. v16}, Landroid/speech/tts/TextToSpeech;->setLanguage(Ljava/util/Locale;)I │ + invoke-virtual {v13, v14}, Landroid/speech/tts/TextToSpeech;->setLanguage(Ljava/util/Locale;)I │ │ - move-result v9 │ + move-result v8 │ │ .line 140 │ - .local v9, "setLanguageResult":I │ - if-eqz v9, :cond_7 │ + .local v8, "setLanguageResult":I │ + if-eqz v8, :cond_7 │ │ .line 141 │ - new-instance v15, Ljava/lang/StringBuilder; │ + new-instance v13, Ljava/lang/StringBuilder; │ │ - invoke-direct {v15}, Ljava/lang/StringBuilder;->()V │ + invoke-direct {v13}, Ljava/lang/StringBuilder;->()V │ │ - const-string v16, "tts.setLanguage(\'" │ + const-string v14, "tts.setLanguage(\'" │ │ - invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v15 │ + move-result-object v13 │ │ move-object/from16 v0, p0 │ │ - iget-object v0, v0, Lcom/termux/api/TextToSpeechAPI$TextToSpeechService$2;->val$speechLanguage:Ljava/lang/String; │ - │ - move-object/from16 v16, v0 │ + iget-object v14, v0, Lcom/termux/api/TextToSpeechAPI$TextToSpeechService$2;->val$speechLanguage:Ljava/lang/String; │ │ - invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v15 │ + move-result-object v13 │ │ - const-string v16, "\') returned " │ + const-string v14, "\') returned " │ │ - invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v15 │ + move-result-object v13 │ │ - invoke-virtual {v15, v9}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; │ + invoke-virtual {v13, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; │ │ - move-result-object v15 │ + move-result-object v13 │ │ - invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ + invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ │ - move-result-object v15 │ + move-result-object v13 │ │ - invoke-static {v15}, Lcom/termux/api/util/TermuxApiLogger;->error(Ljava/lang/String;)V │ + invoke-static {v13}, Lcom/termux/api/util/TermuxApiLogger;->error(Ljava/lang/String;)V │ │ .line 145 │ - .end local v9 # "setLanguageResult":I │ + .end local v8 # "setLanguageResult":I │ :cond_7 │ move-object/from16 v0, p0 │ │ - iget-object v15, v0, Lcom/termux/api/TextToSpeechAPI$TextToSpeechService$2;->this$0:Lcom/termux/api/TextToSpeechAPI$TextToSpeechService; │ + iget-object v13, v0, Lcom/termux/api/TextToSpeechAPI$TextToSpeechService$2;->this$0:Lcom/termux/api/TextToSpeechAPI$TextToSpeechService; │ │ - iget-object v15, v15, Lcom/termux/api/TextToSpeechAPI$TextToSpeechService;->mTts:Landroid/speech/tts/TextToSpeech; │ + iget-object v13, v13, Lcom/termux/api/TextToSpeechAPI$TextToSpeechService;->mTts:Landroid/speech/tts/TextToSpeech; │ │ move-object/from16 v0, p0 │ │ - iget v0, v0, Lcom/termux/api/TextToSpeechAPI$TextToSpeechService$2;->val$speechPitch:F │ - │ - move/from16 v16, v0 │ + iget v14, v0, Lcom/termux/api/TextToSpeechAPI$TextToSpeechService$2;->val$speechPitch:F │ │ - invoke-virtual/range {v15 .. v16}, Landroid/speech/tts/TextToSpeech;->setPitch(F)I │ + invoke-virtual {v13, v14}, Landroid/speech/tts/TextToSpeech;->setPitch(F)I │ │ .line 146 │ move-object/from16 v0, p0 │ │ - iget-object v15, v0, Lcom/termux/api/TextToSpeechAPI$TextToSpeechService$2;->this$0:Lcom/termux/api/TextToSpeechAPI$TextToSpeechService; │ + iget-object v13, v0, Lcom/termux/api/TextToSpeechAPI$TextToSpeechService$2;->this$0:Lcom/termux/api/TextToSpeechAPI$TextToSpeechService; │ │ - iget-object v15, v15, Lcom/termux/api/TextToSpeechAPI$TextToSpeechService;->mTts:Landroid/speech/tts/TextToSpeech; │ + iget-object v13, v13, Lcom/termux/api/TextToSpeechAPI$TextToSpeechService;->mTts:Landroid/speech/tts/TextToSpeech; │ │ move-object/from16 v0, p0 │ │ - iget-object v0, v0, Lcom/termux/api/TextToSpeechAPI$TextToSpeechService$2;->val$intent:Landroid/content/Intent; │ + iget-object v14, v0, Lcom/termux/api/TextToSpeechAPI$TextToSpeechService$2;->val$intent:Landroid/content/Intent; │ │ - move-object/from16 v16, v0 │ - │ - const-string v17, "rate" │ + const-string v15, "rate" │ │ - const/high16 v18, 0x3f800000 # 1.0f │ + const/high16 v16, 0x3f800000 # 1.0f │ │ - invoke-virtual/range {v16 .. v18}, Landroid/content/Intent;->getFloatExtra(Ljava/lang/String;F)F │ + invoke-virtual/range {v14 .. v16}, Landroid/content/Intent;->getFloatExtra(Ljava/lang/String;F)F │ │ - move-result v16 │ + move-result v14 │ │ - invoke-virtual/range {v15 .. v16}, Landroid/speech/tts/TextToSpeech;->setSpeechRate(F)I │ + invoke-virtual {v13, v14}, Landroid/speech/tts/TextToSpeech;->setSpeechRate(F)I │ │ .line 148 │ - const-string v12, "utterance_id" │ + const-string v11, "utterance_id" │ │ .line 149 │ - .local v12, "utteranceId":Ljava/lang/String; │ - new-instance v7, Landroid/os/Bundle; │ + .local v11, "utteranceId":Ljava/lang/String; │ + new-instance v6, Landroid/os/Bundle; │ │ - invoke-direct {v7}, Landroid/os/Bundle;->()V │ + invoke-direct {v6}, Landroid/os/Bundle;->()V │ │ .line 150 │ - .local v7, "params":Landroid/os/Bundle; │ - const-string v15, "streamType" │ + .local v6, "params":Landroid/os/Bundle; │ + const-string v13, "streamType" │ │ move-object/from16 v0, p0 │ │ - iget v0, v0, Lcom/termux/api/TextToSpeechAPI$TextToSpeechService$2;->val$streamToUse:I │ - │ - move/from16 v16, v0 │ + iget v14, v0, Lcom/termux/api/TextToSpeechAPI$TextToSpeechService$2;->val$streamToUse:I │ │ - move/from16 v0, v16 │ - │ - invoke-virtual {v7, v15, v0}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V │ + invoke-virtual {v6, v13, v14}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V │ │ .line 151 │ - const-string v15, "utteranceId" │ + const-string v13, "utteranceId" │ │ - invoke-virtual {v7, v15, v12}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V │ + invoke-virtual {v6, v13, v11}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V │ │ .line 153 │ - const/4 v10, 0x0 │ + const/4 v9, 0x0 │ │ .line 155 │ - .local v10, "submittedUtterances":I │ - new-instance v8, Ljava/io/BufferedReader; │ + .local v9, "submittedUtterances":I │ + new-instance v7, Ljava/io/BufferedReader; │ │ - new-instance v15, Ljava/io/InputStreamReader; │ + new-instance v13, Ljava/io/InputStreamReader; │ │ move-object/from16 v0, p0 │ │ - iget-object v0, v0, Lcom/termux/api/TextToSpeechAPI$TextToSpeechService$2;->in:Ljava/io/InputStream; │ - │ - move-object/from16 v16, v0 │ + iget-object v14, v0, Lcom/termux/api/TextToSpeechAPI$TextToSpeechService$2;->in:Ljava/io/InputStream; │ │ - invoke-direct/range {v15 .. v16}, Ljava/io/InputStreamReader;->(Ljava/io/InputStream;)V │ + invoke-direct {v13, v14}, Ljava/io/InputStreamReader;->(Ljava/io/InputStream;)V │ │ - invoke-direct {v8, v15}, Ljava/io/BufferedReader;->(Ljava/io/Reader;)V │ + invoke-direct {v7, v13}, Ljava/io/BufferedReader;->(Ljava/io/Reader;)V │ :try_end_9 │ .catch Ljava/lang/Exception; {:try_start_9 .. :try_end_9} :catch_1 │ │ - .local v8, "reader":Ljava/io/BufferedReader; │ - const/16 v16, 0x0 │ + .local v7, "reader":Ljava/io/BufferedReader; │ + const/4 v14, 0x0 │ │ .line 157 │ :cond_8 │ :goto_5 │ :try_start_a │ - invoke-virtual {v8}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String; │ + invoke-virtual {v7}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String; │ │ - move-result-object v6 │ + move-result-object v5 │ │ - .local v6, "line":Ljava/lang/String; │ - if-eqz v6, :cond_a │ + .local v5, "line":Ljava/lang/String; │ + if-eqz v5, :cond_a │ │ .line 158 │ - invoke-virtual {v6}, Ljava/lang/String;->isEmpty()Z │ + invoke-virtual {v5}, Ljava/lang/String;->isEmpty()Z │ │ - move-result v15 │ + move-result v13 │ │ - if-nez v15, :cond_8 │ + if-nez v13, :cond_8 │ │ .line 159 │ - add-int/lit8 v10, v10, 0x1 │ + add-int/lit8 v9, v9, 0x1 │ │ .line 160 │ move-object/from16 v0, p0 │ │ - iget-object v15, v0, Lcom/termux/api/TextToSpeechAPI$TextToSpeechService$2;->this$0:Lcom/termux/api/TextToSpeechAPI$TextToSpeechService; │ - │ - iget-object v15, v15, Lcom/termux/api/TextToSpeechAPI$TextToSpeechService;->mTts:Landroid/speech/tts/TextToSpeech; │ + iget-object v13, v0, Lcom/termux/api/TextToSpeechAPI$TextToSpeechService$2;->this$0:Lcom/termux/api/TextToSpeechAPI$TextToSpeechService; │ │ - const/16 v17, 0x1 │ + iget-object v13, v13, Lcom/termux/api/TextToSpeechAPI$TextToSpeechService;->mTts:Landroid/speech/tts/TextToSpeech; │ │ - move/from16 v0, v17 │ + const/4 v15, 0x1 │ │ - invoke-virtual {v15, v6, v0, v7, v12}, Landroid/speech/tts/TextToSpeech;->speak(Ljava/lang/CharSequence;ILandroid/os/Bundle;Ljava/lang/String;)I │ + invoke-virtual {v13, v5, v15, v6, v11}, Landroid/speech/tts/TextToSpeech;->speak(Ljava/lang/CharSequence;ILandroid/os/Bundle;Ljava/lang/String;)I │ :try_end_a │ .catch Ljava/lang/Throwable; {:try_start_a .. :try_end_a} :catch_5 │ .catchall {:try_start_a .. :try_end_a} :catchall_3 │ │ goto :goto_5 │ │ .line 155 │ - .end local v6 # "line":Ljava/lang/String; │ + .end local v5 # "line":Ljava/lang/String; │ :catch_5 │ - move-exception v15 │ + move-exception v13 │ │ :try_start_b │ - throw v15 │ + throw v13 │ :try_end_b │ .catchall {:try_start_b .. :try_end_b} :catchall_1 │ │ .line 163 │ :catchall_1 │ - move-exception v16 │ + move-exception v14 │ │ - move-object/from16 v19, v16 │ + move-object/from16 v17, v14 │ │ - move-object/from16 v16, v15 │ + move-object v14, v13 │ │ - move-object/from16 v15, v19 │ + move-object/from16 v13, v17 │ │ :goto_6 │ - if-eqz v8, :cond_9 │ + if-eqz v7, :cond_9 │ │ - if-eqz v16, :cond_d │ + if-eqz v14, :cond_d │ │ :try_start_c │ - invoke-virtual {v8}, Ljava/io/BufferedReader;->close()V │ + invoke-virtual {v7}, Ljava/io/BufferedReader;->close()V │ :try_end_c │ .catch Ljava/lang/Throwable; {:try_start_c .. :try_end_c} :catch_7 │ .catch Ljava/lang/Exception; {:try_start_c .. :try_end_c} :catch_1 │ │ :cond_9 │ :goto_7 │ :try_start_d │ - throw v15 │ + throw v13 │ :try_end_d │ .catch Ljava/lang/Exception; {:try_start_d .. :try_end_d} :catch_1 │ │ - .restart local v6 # "line":Ljava/lang/String; │ + .restart local v5 # "line":Ljava/lang/String; │ :cond_a │ - if-eqz v8, :cond_b │ + if-eqz v7, :cond_b │ │ - if-eqz v16, :cond_c │ + if-eqz v14, :cond_c │ │ :try_start_e │ - invoke-virtual {v8}, Ljava/io/BufferedReader;->close()V │ + invoke-virtual {v7}, Ljava/io/BufferedReader;->close()V │ :try_end_e │ .catch Ljava/lang/Throwable; {:try_start_e .. :try_end_e} :catch_6 │ .catch Ljava/lang/Exception; {:try_start_e .. :try_end_e} :catch_1 │ │ .line 165 │ :cond_b │ :goto_8 │ :try_start_f │ - monitor-enter v11 │ + monitor-enter v10 │ :try_end_f │ .catch Ljava/lang/Exception; {:try_start_f .. :try_end_f} :catch_1 │ │ .line 166 │ :goto_9 │ :try_start_10 │ - invoke-virtual {v11}, Ljava/util/concurrent/atomic/AtomicInteger;->get()I │ + invoke-virtual {v10}, Ljava/util/concurrent/atomic/AtomicInteger;->get()I │ │ - move-result v15 │ + move-result v13 │ │ - if-eq v15, v10, :cond_e │ + if-eq v13, v9, :cond_e │ │ .line 167 │ - invoke-virtual {v11}, Ljava/lang/Object;->wait()V │ + invoke-virtual {v10}, Ljava/lang/Object;->wait()V │ │ goto :goto_9 │ │ .line 169 │ :catchall_2 │ - move-exception v15 │ + move-exception v13 │ │ - monitor-exit v11 │ + monitor-exit v10 │ :try_end_10 │ .catchall {:try_start_10 .. :try_end_10} :catchall_2 │ │ :try_start_11 │ - throw v15 │ + throw v13 │ │ .line 163 │ :catch_6 │ - move-exception v14 │ + move-exception v13 │ │ - .restart local v14 # "x2":Ljava/lang/Throwable; │ - move-object/from16 v0, v16 │ - │ - invoke-virtual {v0, v14}, Ljava/lang/Throwable;->addSuppressed(Ljava/lang/Throwable;)V │ + invoke-virtual {v14, v13}, Ljava/lang/Throwable;->addSuppressed(Ljava/lang/Throwable;)V │ │ goto :goto_8 │ │ - .end local v14 # "x2":Ljava/lang/Throwable; │ :cond_c │ - invoke-virtual {v8}, Ljava/io/BufferedReader;->close()V │ + invoke-virtual {v7}, Ljava/io/BufferedReader;->close()V │ │ goto :goto_8 │ │ - .end local v6 # "line":Ljava/lang/String; │ + .end local v5 # "line":Ljava/lang/String; │ :catch_7 │ - move-exception v14 │ - │ - .restart local v14 # "x2":Ljava/lang/Throwable; │ - move-object/from16 v0, v16 │ + move-exception v15 │ │ - invoke-virtual {v0, v14}, Ljava/lang/Throwable;->addSuppressed(Ljava/lang/Throwable;)V │ + invoke-virtual {v14, v15}, Ljava/lang/Throwable;->addSuppressed(Ljava/lang/Throwable;)V │ │ goto :goto_7 │ │ - .end local v14 # "x2":Ljava/lang/Throwable; │ :cond_d │ - invoke-virtual {v8}, Ljava/io/BufferedReader;->close()V │ + invoke-virtual {v7}, Ljava/io/BufferedReader;->close()V │ :try_end_11 │ .catch Ljava/lang/Exception; {:try_start_11 .. :try_end_11} :catch_1 │ │ goto :goto_7 │ │ .line 169 │ - .restart local v6 # "line":Ljava/lang/String; │ + .restart local v5 # "line":Ljava/lang/String; │ :cond_e │ :try_start_12 │ - monitor-exit v11 │ + monitor-exit v10 │ :try_end_12 │ .catchall {:try_start_12 .. :try_end_12} :catchall_2 │ │ goto/16 :goto_0 │ │ .line 163 │ - .end local v6 # "line":Ljava/lang/String; │ + .end local v5 # "line":Ljava/lang/String; │ :catchall_3 │ - move-exception v15 │ + move-exception v13 │ │ goto :goto_6 │ │ .line 107 │ - .end local v7 # "params":Landroid/os/Bundle; │ - .end local v8 # "reader":Ljava/io/BufferedReader; │ - .end local v10 # "submittedUtterances":I │ - .end local v11 # "ttsDoneUtterancesCount":Ljava/util/concurrent/atomic/AtomicInteger; │ - .end local v12 # "utteranceId":Ljava/lang/String; │ - .restart local v13 # "writer":Landroid/util/JsonWriter; │ + .end local v6 # "params":Landroid/os/Bundle; │ + .end local v7 # "reader":Ljava/io/BufferedReader; │ + .end local v9 # "submittedUtterances":I │ + .end local v10 # "ttsDoneUtterancesCount":Ljava/util/concurrent/atomic/AtomicInteger; │ + .end local v11 # "utteranceId":Ljava/lang/String; │ + .restart local v12 # "writer":Landroid/util/JsonWriter; │ :catchall_4 │ - move-exception v15 │ + move-exception v13 │ │ goto/16 :goto_2 │ .end method ├── smali/com/termux/api/SpeechToTextAPI$SpeechToTextService.smali │ @@ -144,14 +144,15 @@ │ │ invoke-virtual {v6, v7}, Landroid/app/AlertDialog$Builder;->setMessage(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder; │ │ move-result-object v6 │ │ const-string v7, "Install Voice Search from Google Play?" │ │ + .line 125 │ invoke-virtual {v6, v7}, Landroid/app/AlertDialog$Builder;->setTitle(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder; │ │ move-result-object v6 │ │ const-string v7, "Install" │ │ new-instance v8, Lcom/termux/api/SpeechToTextAPI$SpeechToTextService$2; │ @@ -162,18 +163,20 @@ │ │ move-result-object v6 │ │ const-string v7, "Cancel" │ │ const/4 v8, 0x0 │ │ + .line 136 │ invoke-virtual {v6, v7, v8}, Landroid/app/AlertDialog$Builder;->setNegativeButton(Ljava/lang/CharSequence;Landroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; │ │ move-result-object v6 │ │ + .line 137 │ invoke-virtual {v6}, Landroid/app/AlertDialog$Builder;->create()Landroid/app/AlertDialog; │ │ move-result-object v6 │ │ invoke-virtual {v6}, Landroid/app/AlertDialog;->show()V │ │ .line 140 ├── smali/com/termux/api/TextToSpeechAPI.smali │ @@ -15,15 +15,14 @@ │ .method public constructor ()V │ .locals 0 │ │ .prologue │ .line 26 │ invoke-direct {p0}, Ljava/lang/Object;->()V │ │ - .line 32 │ return-void │ .end method │ │ .method public static onReceive(Landroid/content/Context;Landroid/content/Intent;)V │ .locals 2 │ .param p0, "context" # Landroid/content/Context; │ .param p1, "intent" # Landroid/content/Intent; ├── smali/com/termux/api/ToastAPI$1$1.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Lcom/termux/api/ToastAPI$1; │ │ │ # direct methods │ .method constructor (Lcom/termux/api/ToastAPI$1;)V │ .locals 0 │ + .param p1, "this$0" # Lcom/termux/api/ToastAPI$1; │ │ .prologue │ .line 23 │ iput-object p1, p0, Lcom/termux/api/ToastAPI$1$1;->this$0:Lcom/termux/api/ToastAPI$1; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/com/termux/api/util/ResultReturner$1.smali │ @@ -45,194 +45,194 @@ │ │ return-void │ .end method │ │ │ # virtual methods │ .method public run()V │ - .locals 14 │ + .locals 13 │ │ .prologue │ - const/4 v9, 0x0 │ + const/4 v8, 0x0 │ │ .line 87 │ :try_start_0 │ new-instance v3, Landroid/net/LocalSocket; │ │ invoke-direct {v3}, Landroid/net/LocalSocket;->()V │ :try_end_0 │ .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_3 │ .catchall {:try_start_0 .. :try_end_0} :catchall_5 │ │ .local v3, "outputSocket":Landroid/net/LocalSocket; │ - const/4 v8, 0x0 │ + const/4 v7, 0x0 │ │ .line 88 │ :try_start_1 │ - iget-object v7, p0, Lcom/termux/api/util/ResultReturner$1;->val$intent:Landroid/content/Intent; │ + iget-object v6, p0, Lcom/termux/api/util/ResultReturner$1;->val$intent:Landroid/content/Intent; │ │ - const-string v10, "socket_output" │ + const-string v9, "socket_output" │ │ - invoke-virtual {v7, v10}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String; │ + invoke-virtual {v6, v9}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String; │ │ move-result-object v4 │ │ .line 89 │ .local v4, "outputSocketAdress":Ljava/lang/String; │ - new-instance v7, Landroid/net/LocalSocketAddress; │ + new-instance v6, Landroid/net/LocalSocketAddress; │ │ - invoke-direct {v7, v4}, Landroid/net/LocalSocketAddress;->(Ljava/lang/String;)V │ + invoke-direct {v6, v4}, Landroid/net/LocalSocketAddress;->(Ljava/lang/String;)V │ │ - invoke-virtual {v3, v7}, Landroid/net/LocalSocket;->connect(Landroid/net/LocalSocketAddress;)V │ + invoke-virtual {v3, v6}, Landroid/net/LocalSocket;->connect(Landroid/net/LocalSocketAddress;)V │ │ .line 90 │ new-instance v5, Ljava/io/PrintWriter; │ │ invoke-virtual {v3}, Landroid/net/LocalSocket;->getOutputStream()Ljava/io/OutputStream; │ │ - move-result-object v7 │ + move-result-object v6 │ │ - invoke-direct {v5, v7}, Ljava/io/PrintWriter;->(Ljava/io/OutputStream;)V │ + invoke-direct {v5, v6}, Ljava/io/PrintWriter;->(Ljava/io/OutputStream;)V │ :try_end_1 │ .catch Ljava/lang/Throwable; {:try_start_1 .. :try_end_1} :catch_2 │ .catchall {:try_start_1 .. :try_end_1} :catchall_4 │ │ .local v5, "writer":Ljava/io/PrintWriter; │ - const/4 v10, 0x0 │ + const/4 v9, 0x0 │ │ .line 91 │ :try_start_2 │ - iget-object v7, p0, Lcom/termux/api/util/ResultReturner$1;->val$resultWriter:Lcom/termux/api/util/ResultReturner$ResultWriter; │ + iget-object v6, p0, Lcom/termux/api/util/ResultReturner$1;->val$resultWriter:Lcom/termux/api/util/ResultReturner$ResultWriter; │ │ - if-eqz v7, :cond_0 │ + if-eqz v6, :cond_0 │ │ .line 92 │ - iget-object v7, p0, Lcom/termux/api/util/ResultReturner$1;->val$resultWriter:Lcom/termux/api/util/ResultReturner$ResultWriter; │ + iget-object v6, p0, Lcom/termux/api/util/ResultReturner$1;->val$resultWriter:Lcom/termux/api/util/ResultReturner$ResultWriter; │ │ - instance-of v7, v7, Lcom/termux/api/util/ResultReturner$WithInput; │ + instance-of v6, v6, Lcom/termux/api/util/ResultReturner$WithInput; │ │ - if-eqz v7, :cond_b │ + if-eqz v6, :cond_b │ │ .line 93 │ new-instance v1, Landroid/net/LocalSocket; │ │ invoke-direct {v1}, Landroid/net/LocalSocket;->()V │ :try_end_2 │ .catch Ljava/lang/Throwable; {:try_start_2 .. :try_end_2} :catch_1 │ .catchall {:try_start_2 .. :try_end_2} :catchall_2 │ │ .local v1, "inputSocket":Landroid/net/LocalSocket; │ - const/4 v11, 0x0 │ + const/4 v10, 0x0 │ │ .line 94 │ :try_start_3 │ - iget-object v7, p0, Lcom/termux/api/util/ResultReturner$1;->val$intent:Landroid/content/Intent; │ + iget-object v6, p0, Lcom/termux/api/util/ResultReturner$1;->val$intent:Landroid/content/Intent; │ │ - const-string v12, "socket_input" │ + const-string v11, "socket_input" │ │ - invoke-virtual {v7, v12}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String; │ + invoke-virtual {v6, v11}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String; │ │ move-result-object v2 │ │ .line 95 │ .local v2, "inputSocketAdress":Ljava/lang/String; │ - new-instance v7, Landroid/net/LocalSocketAddress; │ + new-instance v6, Landroid/net/LocalSocketAddress; │ │ - invoke-direct {v7, v2}, Landroid/net/LocalSocketAddress;->(Ljava/lang/String;)V │ + invoke-direct {v6, v2}, Landroid/net/LocalSocketAddress;->(Ljava/lang/String;)V │ │ - invoke-virtual {v1, v7}, Landroid/net/LocalSocket;->connect(Landroid/net/LocalSocketAddress;)V │ + invoke-virtual {v1, v6}, Landroid/net/LocalSocket;->connect(Landroid/net/LocalSocketAddress;)V │ │ .line 96 │ - iget-object v7, p0, Lcom/termux/api/util/ResultReturner$1;->val$resultWriter:Lcom/termux/api/util/ResultReturner$ResultWriter; │ + iget-object v6, p0, Lcom/termux/api/util/ResultReturner$1;->val$resultWriter:Lcom/termux/api/util/ResultReturner$ResultWriter; │ │ - check-cast v7, Lcom/termux/api/util/ResultReturner$WithInput; │ + check-cast v6, Lcom/termux/api/util/ResultReturner$WithInput; │ │ invoke-virtual {v1}, Landroid/net/LocalSocket;->getInputStream()Ljava/io/InputStream; │ │ - move-result-object v12 │ + move-result-object v11 │ │ - invoke-virtual {v7, v12}, Lcom/termux/api/util/ResultReturner$WithInput;->setInput(Ljava/io/InputStream;)V │ + invoke-virtual {v6, v11}, Lcom/termux/api/util/ResultReturner$WithInput;->setInput(Ljava/io/InputStream;)V │ │ .line 97 │ - iget-object v7, p0, Lcom/termux/api/util/ResultReturner$1;->val$resultWriter:Lcom/termux/api/util/ResultReturner$ResultWriter; │ + iget-object v6, p0, Lcom/termux/api/util/ResultReturner$1;->val$resultWriter:Lcom/termux/api/util/ResultReturner$ResultWriter; │ │ - invoke-interface {v7, v5}, Lcom/termux/api/util/ResultReturner$ResultWriter;->writeResult(Ljava/io/PrintWriter;)V │ + invoke-interface {v6, v5}, Lcom/termux/api/util/ResultReturner$ResultWriter;->writeResult(Ljava/io/PrintWriter;)V │ :try_end_3 │ .catch Ljava/lang/Throwable; {:try_start_3 .. :try_end_3} :catch_4 │ .catchall {:try_start_3 .. :try_end_3} :catchall_6 │ │ .line 98 │ if-eqz v1, :cond_0 │ │ - if-eqz v9, :cond_8 │ + if-eqz v8, :cond_8 │ │ :try_start_4 │ invoke-virtual {v1}, Landroid/net/LocalSocket;->close()V │ :try_end_4 │ .catch Ljava/lang/Throwable; {:try_start_4 .. :try_end_4} :catch_0 │ .catchall {:try_start_4 .. :try_end_4} :catchall_2 │ │ .line 103 │ .end local v1 # "inputSocket":Landroid/net/LocalSocket; │ .end local v2 # "inputSocketAdress":Ljava/lang/String; │ :cond_0 │ :goto_0 │ if-eqz v5, :cond_1 │ │ - if-eqz v9, :cond_c │ + if-eqz v8, :cond_c │ │ :try_start_5 │ invoke-virtual {v5}, Ljava/io/PrintWriter;->close()V │ :try_end_5 │ .catch Ljava/lang/Throwable; {:try_start_5 .. :try_end_5} :catch_6 │ .catchall {:try_start_5 .. :try_end_5} :catchall_4 │ │ .line 104 │ :cond_1 │ :goto_1 │ if-eqz v3, :cond_2 │ │ - if-eqz v9, :cond_f │ + if-eqz v8, :cond_f │ │ :try_start_6 │ invoke-virtual {v3}, Landroid/net/LocalSocket;->close()V │ :try_end_6 │ .catch Ljava/lang/Throwable; {:try_start_6 .. :try_end_6} :catch_8 │ .catch Ljava/lang/Exception; {:try_start_6 .. :try_end_6} :catch_3 │ .catchall {:try_start_6 .. :try_end_6} :catchall_5 │ │ .line 106 │ :cond_2 │ :goto_2 │ :try_start_7 │ - iget-object v7, p0, Lcom/termux/api/util/ResultReturner$1;->val$asyncResult:Landroid/content/BroadcastReceiver$PendingResult; │ + iget-object v6, p0, Lcom/termux/api/util/ResultReturner$1;->val$asyncResult:Landroid/content/BroadcastReceiver$PendingResult; │ │ - if-eqz v7, :cond_11 │ + if-eqz v6, :cond_11 │ │ .line 107 │ - iget-object v7, p0, Lcom/termux/api/util/ResultReturner$1;->val$asyncResult:Landroid/content/BroadcastReceiver$PendingResult; │ + iget-object v6, p0, Lcom/termux/api/util/ResultReturner$1;->val$asyncResult:Landroid/content/BroadcastReceiver$PendingResult; │ │ - const/4 v8, 0x0 │ + const/4 v7, 0x0 │ │ - invoke-virtual {v7, v8}, Landroid/content/BroadcastReceiver$PendingResult;->setResultCode(I)V │ + invoke-virtual {v6, v7}, Landroid/content/BroadcastReceiver$PendingResult;->setResultCode(I)V │ :try_end_7 │ .catch Ljava/lang/Exception; {:try_start_7 .. :try_end_7} :catch_3 │ .catchall {:try_start_7 .. :try_end_7} :catchall_5 │ │ .line 119 │ :cond_3 │ :goto_3 │ - iget-object v7, p0, Lcom/termux/api/util/ResultReturner$1;->val$asyncResult:Landroid/content/BroadcastReceiver$PendingResult; │ + iget-object v6, p0, Lcom/termux/api/util/ResultReturner$1;->val$asyncResult:Landroid/content/BroadcastReceiver$PendingResult; │ │ - if-eqz v7, :cond_12 │ + if-eqz v6, :cond_12 │ │ .line 120 │ - iget-object v7, p0, Lcom/termux/api/util/ResultReturner$1;->val$asyncResult:Landroid/content/BroadcastReceiver$PendingResult; │ + iget-object v6, p0, Lcom/termux/api/util/ResultReturner$1;->val$asyncResult:Landroid/content/BroadcastReceiver$PendingResult; │ │ - invoke-virtual {v7}, Landroid/content/BroadcastReceiver$PendingResult;->finish()V │ + invoke-virtual {v6}, Landroid/content/BroadcastReceiver$PendingResult;->finish()V │ │ .line 125 │ .end local v3 # "outputSocket":Landroid/net/LocalSocket; │ .end local v4 # "outputSocketAdress":Ljava/lang/String; │ .end local v5 # "writer":Ljava/io/PrintWriter; │ :cond_4 │ :goto_4 │ @@ -243,140 +243,138 @@ │ .restart local v2 # "inputSocketAdress":Ljava/lang/String; │ .restart local v3 # "outputSocket":Landroid/net/LocalSocket; │ .restart local v4 # "outputSocketAdress":Ljava/lang/String; │ .restart local v5 # "writer":Ljava/io/PrintWriter; │ :catch_0 │ move-exception v6 │ │ - .local v6, "x2":Ljava/lang/Throwable; │ :try_start_8 │ - invoke-virtual {v11, v6}, Ljava/lang/Throwable;->addSuppressed(Ljava/lang/Throwable;)V │ + invoke-virtual {v10, v6}, Ljava/lang/Throwable;->addSuppressed(Ljava/lang/Throwable;)V │ :try_end_8 │ .catch Ljava/lang/Throwable; {:try_start_8 .. :try_end_8} :catch_1 │ .catchall {:try_start_8 .. :try_end_8} :catchall_2 │ │ goto :goto_0 │ │ .line 90 │ .end local v1 # "inputSocket":Landroid/net/LocalSocket; │ .end local v2 # "inputSocketAdress":Ljava/lang/String; │ - .end local v6 # "x2":Ljava/lang/Throwable; │ :catch_1 │ - move-exception v7 │ + move-exception v6 │ │ :try_start_9 │ - throw v7 │ + throw v6 │ :try_end_9 │ .catchall {:try_start_9 .. :try_end_9} :catchall_0 │ │ .line 103 │ :catchall_0 │ - move-exception v8 │ + move-exception v7 │ │ - move-object v13, v8 │ + move-object v12, v7 │ │ - move-object v8, v7 │ + move-object v7, v6 │ │ - move-object v7, v13 │ + move-object v6, v12 │ │ :goto_5 │ if-eqz v5, :cond_5 │ │ - if-eqz v8, :cond_d │ + if-eqz v7, :cond_d │ │ :try_start_a │ invoke-virtual {v5}, Ljava/io/PrintWriter;->close()V │ :try_end_a │ .catch Ljava/lang/Throwable; {:try_start_a .. :try_end_a} :catch_7 │ .catchall {:try_start_a .. :try_end_a} :catchall_4 │ │ :cond_5 │ :goto_6 │ :try_start_b │ - throw v7 │ + throw v6 │ :try_end_b │ .catch Ljava/lang/Throwable; {:try_start_b .. :try_end_b} :catch_2 │ .catchall {:try_start_b .. :try_end_b} :catchall_4 │ │ .line 87 │ .end local v4 # "outputSocketAdress":Ljava/lang/String; │ .end local v5 # "writer":Ljava/io/PrintWriter; │ :catch_2 │ - move-exception v7 │ + move-exception v6 │ │ :try_start_c │ - throw v7 │ + throw v6 │ :try_end_c │ .catchall {:try_start_c .. :try_end_c} :catchall_1 │ │ .line 104 │ :catchall_1 │ - move-exception v8 │ + move-exception v7 │ │ - move-object v9, v7 │ + move-object v8, v6 │ │ - move-object v7, v8 │ + move-object v6, v7 │ │ :goto_7 │ if-eqz v3, :cond_6 │ │ - if-eqz v9, :cond_10 │ + if-eqz v8, :cond_10 │ │ :try_start_d │ invoke-virtual {v3}, Landroid/net/LocalSocket;->close()V │ :try_end_d │ .catch Ljava/lang/Throwable; {:try_start_d .. :try_end_d} :catch_9 │ .catch Ljava/lang/Exception; {:try_start_d .. :try_end_d} :catch_3 │ .catchall {:try_start_d .. :try_end_d} :catchall_5 │ │ :cond_6 │ :goto_8 │ :try_start_e │ - throw v7 │ + throw v6 │ :try_end_e │ .catch Ljava/lang/Exception; {:try_start_e .. :try_end_e} :catch_3 │ .catchall {:try_start_e .. :try_end_e} :catchall_5 │ │ .line 111 │ .end local v3 # "outputSocket":Landroid/net/LocalSocket; │ :catch_3 │ move-exception v0 │ │ .line 112 │ .local v0, "e":Ljava/lang/Exception; │ :try_start_f │ - const-string v7, "Error in ResultReturner" │ + const-string v6, "Error in ResultReturner" │ │ - invoke-static {v7, v0}, Lcom/termux/api/util/TermuxApiLogger;->error(Ljava/lang/String;Ljava/lang/Exception;)V │ + invoke-static {v6, v0}, Lcom/termux/api/util/TermuxApiLogger;->error(Ljava/lang/String;Ljava/lang/Exception;)V │ │ .line 113 │ - iget-object v7, p0, Lcom/termux/api/util/ResultReturner$1;->val$asyncResult:Landroid/content/BroadcastReceiver$PendingResult; │ + iget-object v6, p0, Lcom/termux/api/util/ResultReturner$1;->val$asyncResult:Landroid/content/BroadcastReceiver$PendingResult; │ │ - if-eqz v7, :cond_13 │ + if-eqz v6, :cond_13 │ │ .line 114 │ - iget-object v7, p0, Lcom/termux/api/util/ResultReturner$1;->val$asyncResult:Landroid/content/BroadcastReceiver$PendingResult; │ + iget-object v6, p0, Lcom/termux/api/util/ResultReturner$1;->val$asyncResult:Landroid/content/BroadcastReceiver$PendingResult; │ │ - const/4 v8, 0x1 │ + const/4 v7, 0x1 │ │ - invoke-virtual {v7, v8}, Landroid/content/BroadcastReceiver$PendingResult;->setResultCode(I)V │ + invoke-virtual {v6, v7}, Landroid/content/BroadcastReceiver$PendingResult;->setResultCode(I)V │ :try_end_f │ .catchall {:try_start_f .. :try_end_f} :catchall_5 │ │ .line 119 │ :cond_7 │ :goto_9 │ - iget-object v7, p0, Lcom/termux/api/util/ResultReturner$1;->val$asyncResult:Landroid/content/BroadcastReceiver$PendingResult; │ + iget-object v6, p0, Lcom/termux/api/util/ResultReturner$1;->val$asyncResult:Landroid/content/BroadcastReceiver$PendingResult; │ │ - if-eqz v7, :cond_14 │ + if-eqz v6, :cond_14 │ │ .line 120 │ - iget-object v7, p0, Lcom/termux/api/util/ResultReturner$1;->val$asyncResult:Landroid/content/BroadcastReceiver$PendingResult; │ + iget-object v6, p0, Lcom/termux/api/util/ResultReturner$1;->val$asyncResult:Landroid/content/BroadcastReceiver$PendingResult; │ │ - invoke-virtual {v7}, Landroid/content/BroadcastReceiver$PendingResult;->finish()V │ + invoke-virtual {v6}, Landroid/content/BroadcastReceiver$PendingResult;->finish()V │ │ goto :goto_4 │ │ .line 98 │ .end local v0 # "e":Ljava/lang/Exception; │ .restart local v1 # "inputSocket":Landroid/net/LocalSocket; │ .restart local v2 # "inputSocketAdress":Ljava/lang/String; │ @@ -392,274 +390,264 @@ │ │ goto :goto_0 │ │ .line 103 │ .end local v1 # "inputSocket":Landroid/net/LocalSocket; │ .end local v2 # "inputSocketAdress":Ljava/lang/String; │ :catchall_2 │ - move-exception v7 │ + move-exception v6 │ │ - move-object v8, v9 │ + move-object v7, v8 │ │ goto :goto_5 │ │ .line 93 │ .restart local v1 # "inputSocket":Landroid/net/LocalSocket; │ :catch_4 │ - move-exception v7 │ + move-exception v6 │ │ :try_start_11 │ - throw v7 │ + throw v6 │ :try_end_11 │ .catchall {:try_start_11 .. :try_end_11} :catchall_3 │ │ .line 98 │ :catchall_3 │ - move-exception v8 │ + move-exception v7 │ │ - move-object v13, v8 │ + move-object v12, v7 │ │ - move-object v8, v7 │ + move-object v7, v6 │ │ - move-object v7, v13 │ + move-object v6, v12 │ │ :goto_a │ if-eqz v1, :cond_9 │ │ - if-eqz v8, :cond_a │ + if-eqz v7, :cond_a │ │ :try_start_12 │ invoke-virtual {v1}, Landroid/net/LocalSocket;->close()V │ :try_end_12 │ .catch Ljava/lang/Throwable; {:try_start_12 .. :try_end_12} :catch_5 │ .catchall {:try_start_12 .. :try_end_12} :catchall_2 │ │ :cond_9 │ :goto_b │ :try_start_13 │ - throw v7 │ + throw v6 │ │ :catch_5 │ - move-exception v6 │ + move-exception v9 │ │ - .restart local v6 # "x2":Ljava/lang/Throwable; │ - invoke-virtual {v8, v6}, Ljava/lang/Throwable;->addSuppressed(Ljava/lang/Throwable;)V │ + invoke-virtual {v7, v9}, Ljava/lang/Throwable;->addSuppressed(Ljava/lang/Throwable;)V │ │ goto :goto_b │ │ - .end local v6 # "x2":Ljava/lang/Throwable; │ :cond_a │ invoke-virtual {v1}, Landroid/net/LocalSocket;->close()V │ │ goto :goto_b │ │ .line 100 │ .end local v1 # "inputSocket":Landroid/net/LocalSocket; │ :cond_b │ - iget-object v7, p0, Lcom/termux/api/util/ResultReturner$1;->val$resultWriter:Lcom/termux/api/util/ResultReturner$ResultWriter; │ + iget-object v6, p0, Lcom/termux/api/util/ResultReturner$1;->val$resultWriter:Lcom/termux/api/util/ResultReturner$ResultWriter; │ │ - invoke-interface {v7, v5}, Lcom/termux/api/util/ResultReturner$ResultWriter;->writeResult(Ljava/io/PrintWriter;)V │ + invoke-interface {v6, v5}, Lcom/termux/api/util/ResultReturner$ResultWriter;->writeResult(Ljava/io/PrintWriter;)V │ :try_end_13 │ .catch Ljava/lang/Throwable; {:try_start_13 .. :try_end_13} :catch_1 │ .catchall {:try_start_13 .. :try_end_13} :catchall_2 │ │ goto :goto_0 │ │ .line 103 │ :catch_6 │ move-exception v6 │ │ - .restart local v6 # "x2":Ljava/lang/Throwable; │ :try_start_14 │ - invoke-virtual {v10, v6}, Ljava/lang/Throwable;->addSuppressed(Ljava/lang/Throwable;)V │ + invoke-virtual {v9, v6}, Ljava/lang/Throwable;->addSuppressed(Ljava/lang/Throwable;)V │ │ goto :goto_1 │ │ .line 104 │ .end local v4 # "outputSocketAdress":Ljava/lang/String; │ .end local v5 # "writer":Ljava/io/PrintWriter; │ - .end local v6 # "x2":Ljava/lang/Throwable; │ :catchall_4 │ - move-exception v7 │ + move-exception v6 │ │ goto :goto_7 │ │ .line 103 │ .restart local v4 # "outputSocketAdress":Ljava/lang/String; │ .restart local v5 # "writer":Ljava/io/PrintWriter; │ :cond_c │ invoke-virtual {v5}, Ljava/io/PrintWriter;->close()V │ │ goto/16 :goto_1 │ │ :catch_7 │ - move-exception v6 │ + move-exception v9 │ │ - .restart local v6 # "x2":Ljava/lang/Throwable; │ - invoke-virtual {v8, v6}, Ljava/lang/Throwable;->addSuppressed(Ljava/lang/Throwable;)V │ + invoke-virtual {v7, v9}, Ljava/lang/Throwable;->addSuppressed(Ljava/lang/Throwable;)V │ │ goto :goto_6 │ │ - .end local v6 # "x2":Ljava/lang/Throwable; │ :cond_d │ invoke-virtual {v5}, Ljava/io/PrintWriter;->close()V │ :try_end_14 │ .catch Ljava/lang/Throwable; {:try_start_14 .. :try_end_14} :catch_2 │ .catchall {:try_start_14 .. :try_end_14} :catchall_4 │ │ goto :goto_6 │ │ .line 104 │ :catch_8 │ move-exception v6 │ │ - .restart local v6 # "x2":Ljava/lang/Throwable; │ :try_start_15 │ - invoke-virtual {v8, v6}, Ljava/lang/Throwable;->addSuppressed(Ljava/lang/Throwable;)V │ + invoke-virtual {v7, v6}, Ljava/lang/Throwable;->addSuppressed(Ljava/lang/Throwable;)V │ :try_end_15 │ .catch Ljava/lang/Exception; {:try_start_15 .. :try_end_15} :catch_3 │ .catchall {:try_start_15 .. :try_end_15} :catchall_5 │ │ goto/16 :goto_2 │ │ .line 119 │ .end local v3 # "outputSocket":Landroid/net/LocalSocket; │ .end local v4 # "outputSocketAdress":Ljava/lang/String; │ .end local v5 # "writer":Ljava/io/PrintWriter; │ - .end local v6 # "x2":Ljava/lang/Throwable; │ :catchall_5 │ - move-exception v7 │ + move-exception v6 │ │ - iget-object v8, p0, Lcom/termux/api/util/ResultReturner$1;->val$asyncResult:Landroid/content/BroadcastReceiver$PendingResult; │ + iget-object v7, p0, Lcom/termux/api/util/ResultReturner$1;->val$asyncResult:Landroid/content/BroadcastReceiver$PendingResult; │ │ - if-eqz v8, :cond_15 │ + if-eqz v7, :cond_15 │ │ .line 120 │ - iget-object v8, p0, Lcom/termux/api/util/ResultReturner$1;->val$asyncResult:Landroid/content/BroadcastReceiver$PendingResult; │ + iget-object v7, p0, Lcom/termux/api/util/ResultReturner$1;->val$asyncResult:Landroid/content/BroadcastReceiver$PendingResult; │ │ - invoke-virtual {v8}, Landroid/content/BroadcastReceiver$PendingResult;->finish()V │ + invoke-virtual {v7}, Landroid/content/BroadcastReceiver$PendingResult;->finish()V │ │ .line 122 │ :cond_e │ :goto_c │ - throw v7 │ + throw v6 │ │ .line 104 │ .restart local v3 # "outputSocket":Landroid/net/LocalSocket; │ .restart local v4 # "outputSocketAdress":Ljava/lang/String; │ .restart local v5 # "writer":Ljava/io/PrintWriter; │ :cond_f │ :try_start_16 │ invoke-virtual {v3}, Landroid/net/LocalSocket;->close()V │ │ goto/16 :goto_2 │ │ .end local v4 # "outputSocketAdress":Ljava/lang/String; │ .end local v5 # "writer":Ljava/io/PrintWriter; │ :catch_9 │ - move-exception v6 │ + move-exception v7 │ │ - .restart local v6 # "x2":Ljava/lang/Throwable; │ - invoke-virtual {v9, v6}, Ljava/lang/Throwable;->addSuppressed(Ljava/lang/Throwable;)V │ + invoke-virtual {v8, v7}, Ljava/lang/Throwable;->addSuppressed(Ljava/lang/Throwable;)V │ │ goto :goto_8 │ │ - .end local v6 # "x2":Ljava/lang/Throwable; │ :cond_10 │ invoke-virtual {v3}, Landroid/net/LocalSocket;->close()V │ │ goto :goto_8 │ │ .line 108 │ .restart local v4 # "outputSocketAdress":Ljava/lang/String; │ .restart local v5 # "writer":Ljava/io/PrintWriter; │ :cond_11 │ - iget-object v7, p0, Lcom/termux/api/util/ResultReturner$1;->val$activity:Landroid/app/Activity; │ + iget-object v6, p0, Lcom/termux/api/util/ResultReturner$1;->val$activity:Landroid/app/Activity; │ │ - if-eqz v7, :cond_3 │ + if-eqz v6, :cond_3 │ │ .line 109 │ - iget-object v7, p0, Lcom/termux/api/util/ResultReturner$1;->val$activity:Landroid/app/Activity; │ + iget-object v6, p0, Lcom/termux/api/util/ResultReturner$1;->val$activity:Landroid/app/Activity; │ │ - const/4 v8, 0x0 │ + const/4 v7, 0x0 │ │ - invoke-virtual {v7, v8}, Landroid/app/Activity;->setResult(I)V │ + invoke-virtual {v6, v7}, Landroid/app/Activity;->setResult(I)V │ :try_end_16 │ .catch Ljava/lang/Exception; {:try_start_16 .. :try_end_16} :catch_3 │ .catchall {:try_start_16 .. :try_end_16} :catchall_5 │ │ goto/16 :goto_3 │ │ .line 121 │ :cond_12 │ - iget-object v7, p0, Lcom/termux/api/util/ResultReturner$1;->val$activity:Landroid/app/Activity; │ + iget-object v6, p0, Lcom/termux/api/util/ResultReturner$1;->val$activity:Landroid/app/Activity; │ │ - if-eqz v7, :cond_4 │ + if-eqz v6, :cond_4 │ │ .line 122 │ - iget-object v7, p0, Lcom/termux/api/util/ResultReturner$1;->val$activity:Landroid/app/Activity; │ + iget-object v6, p0, Lcom/termux/api/util/ResultReturner$1;->val$activity:Landroid/app/Activity; │ │ - invoke-virtual {v7}, Landroid/app/Activity;->finish()V │ + invoke-virtual {v6}, Landroid/app/Activity;->finish()V │ │ goto/16 :goto_4 │ │ .line 115 │ .end local v3 # "outputSocket":Landroid/net/LocalSocket; │ .end local v4 # "outputSocketAdress":Ljava/lang/String; │ .end local v5 # "writer":Ljava/io/PrintWriter; │ .restart local v0 # "e":Ljava/lang/Exception; │ :cond_13 │ :try_start_17 │ - iget-object v7, p0, Lcom/termux/api/util/ResultReturner$1;->val$activity:Landroid/app/Activity; │ + iget-object v6, p0, Lcom/termux/api/util/ResultReturner$1;->val$activity:Landroid/app/Activity; │ │ - if-eqz v7, :cond_7 │ + if-eqz v6, :cond_7 │ │ .line 116 │ - iget-object v7, p0, Lcom/termux/api/util/ResultReturner$1;->val$activity:Landroid/app/Activity; │ + iget-object v6, p0, Lcom/termux/api/util/ResultReturner$1;->val$activity:Landroid/app/Activity; │ │ - const/4 v8, 0x1 │ + const/4 v7, 0x1 │ │ - invoke-virtual {v7, v8}, Landroid/app/Activity;->setResult(I)V │ + invoke-virtual {v6, v7}, Landroid/app/Activity;->setResult(I)V │ :try_end_17 │ .catchall {:try_start_17 .. :try_end_17} :catchall_5 │ │ goto/16 :goto_9 │ │ .line 121 │ :cond_14 │ - iget-object v7, p0, Lcom/termux/api/util/ResultReturner$1;->val$activity:Landroid/app/Activity; │ + iget-object v6, p0, Lcom/termux/api/util/ResultReturner$1;->val$activity:Landroid/app/Activity; │ │ - if-eqz v7, :cond_4 │ + if-eqz v6, :cond_4 │ │ .line 122 │ - iget-object v7, p0, Lcom/termux/api/util/ResultReturner$1;->val$activity:Landroid/app/Activity; │ + iget-object v6, p0, Lcom/termux/api/util/ResultReturner$1;->val$activity:Landroid/app/Activity; │ │ - invoke-virtual {v7}, Landroid/app/Activity;->finish()V │ + invoke-virtual {v6}, Landroid/app/Activity;->finish()V │ │ goto/16 :goto_4 │ │ .line 121 │ .end local v0 # "e":Ljava/lang/Exception; │ :cond_15 │ - iget-object v8, p0, Lcom/termux/api/util/ResultReturner$1;->val$activity:Landroid/app/Activity; │ + iget-object v7, p0, Lcom/termux/api/util/ResultReturner$1;->val$activity:Landroid/app/Activity; │ │ - if-eqz v8, :cond_e │ + if-eqz v7, :cond_e │ │ .line 122 │ - iget-object v8, p0, Lcom/termux/api/util/ResultReturner$1;->val$activity:Landroid/app/Activity; │ + iget-object v7, p0, Lcom/termux/api/util/ResultReturner$1;->val$activity:Landroid/app/Activity; │ │ - invoke-virtual {v8}, Landroid/app/Activity;->finish()V │ + invoke-virtual {v7}, Landroid/app/Activity;->finish()V │ │ goto :goto_c │ │ .line 98 │ .restart local v1 # "inputSocket":Landroid/net/LocalSocket; │ .restart local v3 # "outputSocket":Landroid/net/LocalSocket; │ .restart local v4 # "outputSocketAdress":Ljava/lang/String; │ .restart local v5 # "writer":Ljava/io/PrintWriter; │ :catchall_6 │ - move-exception v7 │ + move-exception v6 │ │ - move-object v8, v9 │ + move-object v7, v8 │ │ goto/16 :goto_a │ .end method ├── smali/com/termux/api/util/ResultReturner.smali │ @@ -24,15 +24,14 @@ │ .method public constructor ()V │ .locals 0 │ │ .prologue │ .line 17 │ invoke-direct {p0}, Ljava/lang/Object;->()V │ │ - .line 60 │ return-void │ .end method │ │ .method public static noteDone(Landroid/content/BroadcastReceiver;Landroid/content/Intent;)V │ .locals 1 │ .param p0, "receiver" # Landroid/content/BroadcastReceiver; │ .param p1, "intent" # Landroid/content/Intent; │ @@ -61,14 +60,15 @@ │ │ if-eqz v3, :cond_0 │ │ move-object v3, p0 │ │ check-cast v3, Landroid/content/BroadcastReceiver; │ │ + .line 80 │ invoke-virtual {v3}, Landroid/content/BroadcastReceiver;->goAsync()Landroid/content/BroadcastReceiver$PendingResult; │ │ move-result-object v1 │ │ .line 81 │ .local v1, "asyncResult":Landroid/content/BroadcastReceiver$PendingResult; │ :goto_0 │ @@ -106,15 +106,15 @@ │ │ .end local v0 # "activity":Landroid/app/Activity; │ .end local v1 # "asyncResult":Landroid/content/BroadcastReceiver$PendingResult; │ .end local v2 # "runnable":Ljava/lang/Runnable; │ :cond_0 │ move-object v1, v4 │ │ - .line 79 │ + .line 80 │ goto :goto_0 │ │ .restart local v1 # "asyncResult":Landroid/content/BroadcastReceiver$PendingResult; │ :cond_1 │ move-object v3, v4 │ │ .line 81 ├── smali/com/termux/api/util/TermuxApiPermissionActivity.smali │ @@ -34,117 +34,111 @@ │ .method public static varargs checkAndRequestPermissions(Landroid/content/Context;Landroid/content/Intent;[Ljava/lang/String;)Z │ .locals 8 │ .param p0, "context" # Landroid/content/Context; │ .param p1, "intent" # Landroid/content/Intent; │ .param p2, "permissions" # [Ljava/lang/String; │ │ .prologue │ - const/4 v5, 0x1 │ + const/4 v2, 0x1 │ + │ + const/4 v3, 0x0 │ │ .line 32 │ - sget v6, Landroid/os/Build$VERSION;->SDK_INT:I │ + sget v4, Landroid/os/Build$VERSION;->SDK_INT:I │ │ - const/16 v7, 0x17 │ + const/16 v5, 0x17 │ │ - if-lt v6, v7, :cond_2 │ + if-lt v4, v5, :cond_2 │ │ .line 33 │ - new-instance v4, Ljava/util/ArrayList; │ + new-instance v1, Ljava/util/ArrayList; │ │ - invoke-direct {v4}, Ljava/util/ArrayList;->()V │ + invoke-direct {v1}, Ljava/util/ArrayList;->()V │ │ .line 34 │ - .local v4, "permissionsToRequest":Ljava/util/ArrayList;, "Ljava/util/ArrayList;" │ - move-object v0, p2 │ - │ - .local v0, "arr$":[Ljava/lang/String; │ - array-length v2, v0 │ + .local v1, "permissionsToRequest":Ljava/util/ArrayList;, "Ljava/util/ArrayList;" │ + array-length v5, p2 │ │ - .local v2, "len$":I │ - const/4 v1, 0x0 │ + move v4, v3 │ │ - .local v1, "i$":I │ :goto_0 │ - if-ge v1, v2, :cond_1 │ + if-ge v4, v5, :cond_1 │ │ - aget-object v3, v0, v1 │ + aget-object v0, p2, v4 │ │ .line 35 │ - .local v3, "permission":Ljava/lang/String; │ - invoke-virtual {p0, v3}, Landroid/content/Context;->checkSelfPermission(Ljava/lang/String;)I │ + .local v0, "permission":Ljava/lang/String; │ + invoke-virtual {p0, v0}, Landroid/content/Context;->checkSelfPermission(Ljava/lang/String;)I │ │ move-result v6 │ │ const/4 v7, -0x1 │ │ if-ne v6, v7, :cond_0 │ │ .line 36 │ - invoke-virtual {v4, v3}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z │ + invoke-virtual {v1, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z │ │ .line 34 │ :cond_0 │ - add-int/lit8 v1, v1, 0x1 │ + add-int/lit8 v4, v4, 0x1 │ │ goto :goto_0 │ │ .line 40 │ - .end local v3 # "permission":Ljava/lang/String; │ + .end local v0 # "permission":Ljava/lang/String; │ :cond_1 │ - invoke-virtual {v4}, Ljava/util/ArrayList;->isEmpty()Z │ + invoke-virtual {v1}, Ljava/util/ArrayList;->isEmpty()Z │ │ - move-result v6 │ + move-result v4 │ │ - if-eqz v6, :cond_3 │ + if-eqz v4, :cond_3 │ │ .line 55 │ - .end local v0 # "arr$":[Ljava/lang/String; │ - .end local v1 # "i$":I │ - .end local v2 # "len$":I │ - .end local v4 # "permissionsToRequest":Ljava/util/ArrayList;, "Ljava/util/ArrayList;" │ + .end local v1 # "permissionsToRequest":Ljava/util/ArrayList;, "Ljava/util/ArrayList;" │ :cond_2 │ :goto_1 │ - return v5 │ + return v2 │ │ .line 43 │ - .restart local v0 # "arr$":[Ljava/lang/String; │ - .restart local v1 # "i$":I │ - .restart local v2 # "len$":I │ - .restart local v4 # "permissionsToRequest":Ljava/util/ArrayList;, "Ljava/util/ArrayList;" │ + .restart local v1 # "permissionsToRequest":Ljava/util/ArrayList;, "Ljava/util/ArrayList;" │ :cond_3 │ - new-instance v5, Landroid/content/Intent; │ + new-instance v2, Landroid/content/Intent; │ │ - const-class v6, Lcom/termux/api/util/TermuxApiPermissionActivity; │ + const-class v4, Lcom/termux/api/util/TermuxApiPermissionActivity; │ │ - invoke-direct {v5, p0, v6}, Landroid/content/Intent;->(Landroid/content/Context;Ljava/lang/Class;)V │ + invoke-direct {v2, p0, v4}, Landroid/content/Intent;->(Landroid/content/Context;Ljava/lang/Class;)V │ │ - const/high16 v6, 0x10000000 │ + const/high16 v4, 0x10000000 │ │ - invoke-virtual {v5, v6}, Landroid/content/Intent;->addFlags(I)Landroid/content/Intent; │ + .line 44 │ + invoke-virtual {v2, v4}, Landroid/content/Intent;->addFlags(I)Landroid/content/Intent; │ │ - move-result-object v5 │ + move-result-object v2 │ │ - const-string v6, "com.termux.api.permission_extra" │ + const-string v4, "com.termux.api.permission_extra" │ │ - invoke-virtual {v5, v6, v4}, Landroid/content/Intent;->putStringArrayListExtra(Ljava/lang/String;Ljava/util/ArrayList;)Landroid/content/Intent; │ + .line 45 │ + invoke-virtual {v2, v4, v1}, Landroid/content/Intent;->putStringArrayListExtra(Ljava/lang/String;Ljava/util/ArrayList;)Landroid/content/Intent; │ │ - move-result-object v5 │ + move-result-object v2 │ │ - invoke-virtual {p0, v5}, Landroid/content/Context;->startActivity(Landroid/content/Intent;)V │ + .line 43 │ + invoke-virtual {p0, v2}, Landroid/content/Context;->startActivity(Landroid/content/Intent;)V │ │ .line 46 │ - new-instance v5, Lcom/termux/api/util/TermuxApiPermissionActivity$1; │ + new-instance v2, Lcom/termux/api/util/TermuxApiPermissionActivity$1; │ │ - invoke-direct {v5}, Lcom/termux/api/util/TermuxApiPermissionActivity$1;->()V │ + invoke-direct {v2}, Lcom/termux/api/util/TermuxApiPermissionActivity$1;->()V │ │ - invoke-static {p0, p1, v5}, Lcom/termux/api/util/ResultReturner;->returnData(Ljava/lang/Object;Landroid/content/Intent;Lcom/termux/api/util/ResultReturner$ResultWriter;)V │ + invoke-static {p0, p1, v2}, Lcom/termux/api/util/ResultReturner;->returnData(Ljava/lang/Object;Landroid/content/Intent;Lcom/termux/api/util/ResultReturner$ResultWriter;)V │ │ - .line 52 │ - const/4 v5, 0x0 │ + move v2, v3 │ │ + .line 52 │ goto :goto_1 │ .end method │ │ │ # virtual methods │ .method protected onActivityResult(IILandroid/content/Intent;)V │ .locals 0 │ @@ -227,107 +221,106 @@ │ .prologue │ .line 73 │ invoke-super {p0}, Landroid/app/Activity;->onResume()V │ │ .line 74 │ invoke-virtual {p0}, Lcom/termux/api/util/TermuxApiPermissionActivity;->getIntent()Landroid/content/Intent; │ │ - move-result-object v4 │ + move-result-object v3 │ │ - const-string v5, "com.termux.api.permission_extra" │ + const-string v4, "com.termux.api.permission_extra" │ │ - invoke-virtual {v4, v5}, Landroid/content/Intent;->getStringArrayListExtra(Ljava/lang/String;)Ljava/util/ArrayList; │ + invoke-virtual {v3, v4}, Landroid/content/Intent;->getStringArrayListExtra(Ljava/lang/String;)Ljava/util/ArrayList; │ │ - move-result-object v4 │ + move-result-object v3 │ │ - iput-object v4, p0, Lcom/termux/api/util/TermuxApiPermissionActivity;->permissionValues:Ljava/util/ArrayList; │ + iput-object v3, p0, Lcom/termux/api/util/TermuxApiPermissionActivity;->permissionValues:Ljava/util/ArrayList; │ │ .line 76 │ invoke-virtual {p0}, Lcom/termux/api/util/TermuxApiPermissionActivity;->getResources()Landroid/content/res/Resources; │ │ - move-result-object v3 │ + move-result-object v2 │ │ .line 77 │ - .local v3, "res":Landroid/content/res/Resources; │ - const v4, 0x7f050002 │ + .local v2, "res":Landroid/content/res/Resources; │ + const v3, 0x7f050002 │ │ - invoke-virtual {v3, v4}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; │ + invoke-virtual {v2, v3}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; │ │ - move-result-object v2 │ + move-result-object v1 │ │ .line 79 │ - .local v2, "permissionDescription":Ljava/lang/String; │ - iget-object v4, p0, Lcom/termux/api/util/TermuxApiPermissionActivity;->permissionValues:Ljava/util/ArrayList; │ + .local v1, "permissionDescription":Ljava/lang/String; │ + iget-object v3, p0, Lcom/termux/api/util/TermuxApiPermissionActivity;->permissionValues:Ljava/util/ArrayList; │ │ - invoke-virtual {v4}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator; │ + invoke-virtual {v3}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator; │ │ - move-result-object v0 │ + move-result-object v3 │ │ - .local v0, "i$":Ljava/util/Iterator; │ :goto_0 │ - invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z │ + invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z │ │ move-result v4 │ │ if-eqz v4, :cond_0 │ │ - invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ + invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ │ - move-result-object v1 │ + move-result-object v0 │ │ - check-cast v1, Ljava/lang/String; │ + check-cast v0, Ljava/lang/String; │ │ .line 80 │ - .local v1, "permission":Ljava/lang/String; │ + .local v0, "permission":Ljava/lang/String; │ new-instance v4, Ljava/lang/StringBuilder; │ │ invoke-direct {v4}, Ljava/lang/StringBuilder;->()V │ │ - invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v4 │ │ const-string v5, "\n" │ │ invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v4 │ │ const/16 v5, 0x2e │ │ - invoke-virtual {v1, v5}, Ljava/lang/String;->lastIndexOf(I)I │ + invoke-virtual {v0, v5}, Ljava/lang/String;->lastIndexOf(I)I │ │ move-result v5 │ │ add-int/lit8 v5, v5, 0x1 │ │ - invoke-virtual {v1, v5}, Ljava/lang/String;->substring(I)Ljava/lang/String; │ + invoke-virtual {v0, v5}, Ljava/lang/String;->substring(I)Ljava/lang/String; │ │ move-result-object v5 │ │ invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v4 │ │ invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ │ - move-result-object v2 │ + move-result-object v1 │ │ .line 81 │ goto :goto_0 │ │ .line 83 │ - .end local v1 # "permission":Ljava/lang/String; │ + .end local v0 # "permission":Ljava/lang/String; │ :cond_0 │ - const/high16 v4, 0x7f070000 │ + const/high16 v3, 0x7f070000 │ │ - invoke-virtual {p0, v4}, Lcom/termux/api/util/TermuxApiPermissionActivity;->findViewById(I)Landroid/view/View; │ + invoke-virtual {p0, v3}, Lcom/termux/api/util/TermuxApiPermissionActivity;->findViewById(I)Landroid/view/View; │ │ - move-result-object v4 │ + move-result-object v3 │ │ - check-cast v4, Landroid/widget/TextView; │ + check-cast v3, Landroid/widget/TextView; │ │ - invoke-virtual {v4, v2}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V │ + invoke-virtual {v3, v1}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V │ │ .line 84 │ return-void │ .end method ├── original/AndroidManifest.xml │ @@ -64,16 +64,16 @@ │ 000003f0: 6f00 6e00 4e00 6100 6d00 6500 0000 0800 o.n.N.a.m.e..... │ 00000400: 6d00 6100 6e00 6900 6600 6500 7300 7400 m.a.n.i.f.e.s.t. │ 00000410: 0000 0e00 6300 6f00 6d00 2e00 7400 6500 ....c.o.m...t.e. │ 00000420: 7200 6d00 7500 7800 2e00 6100 7000 6900 r.m.u.x...a.p.i. │ 00000430: 0000 0a00 6300 6f00 6d00 2e00 7400 6500 ....c.o.m...t.e. │ 00000440: 7200 6d00 7500 7800 0000 0400 3000 2e00 r.m.u.x.....0... │ 00000450: 3100 3000 0000 0200 3200 3300 0000 0b00 1.0.....2.3..... │ -00000460: 3600 2e00 3000 2d00 3200 3100 3600 3600 6...0.-.2.1.6.6. │ -00000470: 3700 3600 3700 0000 0800 7500 7300 6500 7.6.7.....u.s.e. │ +00000460: 3600 2e00 3000 2d00 3200 3700 3000 3400 6...0.-.2.7.0.4. │ +00000470: 3000 3000 3200 0000 0800 7500 7300 6500 0.0.2.....u.s.e. │ 00000480: 7300 2d00 7300 6400 6b00 0000 0c00 7500 s.-.s.d.k.....u. │ 00000490: 7300 6500 7300 2d00 6600 6500 6100 7400 s.e.s.-.f.e.a.t. │ 000004a0: 7500 7200 6500 0000 1c00 6100 6e00 6400 u.r.e.....a.n.d. │ 000004b0: 7200 6f00 6900 6400 2e00 6800 6100 7200 r.o.i.d...h.a.r. │ 000004c0: 6400 7700 6100 7200 6500 2e00 7400 6f00 d.w.a.r.e...t.o. │ 000004d0: 7500 6300 6800 7300 6300 7200 6500 6500 u.c.h.s.c.r.e.e. │ 000004e0: 6e00 0000 0f00 7500 7300 6500 7300 2d00 n.....u.s.e.s.-.