--- /home/fdroid/fdroiddata/tmp/com.matoski.adbm_27.apk +++ /home/fdroid/fdroiddata/tmp/sigcp_com.matoski.adbm_27.apk ├── zipinfo /dev/stdin │ @@ -1,68 +1,63 @@ │ -Zip file size: 793506 bytes, number of entries: 66 │ +Zip file size: 791040 bytes, number of entries: 61 │ -rw---- 2.0 fat 5316 bl defN 15-Oct-26 21:11 META-INF/MANIFEST.MF │ -rw---- 2.0 fat 5437 bl defN 15-Oct-26 21:11 META-INF/34603C53.SF │ -rw---- 2.0 fat 1326 bl defN 15-Oct-26 21:11 META-INF/34603C53.RSA │ --rw---- 2.0 fat 41 bl defN 15-Oct-26 20:06 META-INF/buildserverid │ --rw---- 2.0 fat 41 bl defN 15-Oct-26 20:06 META-INF/fdroidserverid │ --rw---- 2.0 fat 6452 bX defN 15-Oct-26 20:06 AndroidManifest.xml │ --rw---- 1.0 fat 426 b- stor 15-Oct-26 20:05 res/drawable-hdpi-v4/ic_action_refresh.png │ --rw---- 1.0 fat 2558 b- stor 15-Oct-26 20:05 res/drawable-hdpi-v4/ic_clear.png │ --rw---- 1.0 fat 8361 b- stor 15-Oct-26 20:05 res/drawable-hdpi-v4/ic_launcher.png │ --rw---- 1.0 fat 8440 b- stor 15-Oct-26 20:05 res/drawable-hdpi-v4/ic_launcher_running.png │ --rw---- 1.0 fat 8896 b- stor 15-Oct-26 20:05 res/drawable-hdpi-v4/ic_launcher_wifi.png │ --rw---- 1.0 fat 481 b- stor 15-Oct-26 20:05 res/drawable-hdpi-v4/play.png │ --rw---- 1.0 fat 166 b- stor 15-Oct-26 20:05 res/drawable-hdpi-v4/stop.png │ --rw---- 1.0 fat 2953 b- stor 15-Oct-26 20:05 res/drawable-ldpi-v4/ic_launcher.png │ --rw---- 1.0 fat 3025 b- stor 15-Oct-26 20:05 res/drawable-ldpi-v4/ic_launcher_running.png │ --rw---- 1.0 fat 3142 b- stor 15-Oct-26 20:05 res/drawable-ldpi-v4/ic_launcher_wifi.png │ --rw---- 1.0 fat 381 b- stor 15-Oct-26 20:05 res/drawable-ldpi-v4/play.png │ --rw---- 1.0 fat 191 b- stor 15-Oct-26 20:05 res/drawable-ldpi-v4/stop.png │ --rw---- 1.0 fat 323 b- stor 15-Oct-26 20:05 res/drawable-mdpi-v4/ic_action_refresh.png │ --rw---- 1.0 fat 1397 b- stor 15-Oct-26 20:05 res/drawable-mdpi-v4/ic_clear.png │ --rw---- 1.0 fat 4689 b- stor 15-Oct-26 20:05 res/drawable-mdpi-v4/ic_launcher.png │ --rw---- 1.0 fat 4695 b- stor 15-Oct-26 20:05 res/drawable-mdpi-v4/ic_launcher_running.png │ --rw---- 1.0 fat 4908 b- stor 15-Oct-26 20:05 res/drawable-mdpi-v4/ic_launcher_wifi.png │ --rw---- 1.0 fat 381 b- stor 15-Oct-26 20:05 res/drawable-mdpi-v4/play.png │ --rw---- 1.0 fat 191 b- stor 15-Oct-26 20:05 res/drawable-mdpi-v4/stop.png │ --rw---- 1.0 fat 505 b- stor 15-Oct-26 20:05 res/drawable-xhdpi-v4/ic_action_refresh.png │ --rw---- 1.0 fat 3818 b- stor 15-Oct-26 20:05 res/drawable-xhdpi-v4/ic_clear.png │ --rw---- 1.0 fat 13763 b- stor 15-Oct-26 20:05 res/drawable-xhdpi-v4/ic_launcher.png │ --rw---- 1.0 fat 14053 b- stor 15-Oct-26 20:05 res/drawable-xhdpi-v4/ic_launcher_running.png │ --rw---- 1.0 fat 14861 b- stor 15-Oct-26 20:05 res/drawable-xhdpi-v4/ic_launcher_wifi.png │ --rw---- 1.0 fat 596 b- stor 15-Oct-26 20:05 res/drawable-xhdpi-v4/play.png │ --rw---- 1.0 fat 177 b- stor 15-Oct-26 20:05 res/drawable-xhdpi-v4/stop.png │ --rw---- 1.0 fat 7111 b- stor 15-Oct-26 20:05 res/drawable-xxhdpi-v4/ic_clear.png │ --rw---- 1.0 fat 23456 b- stor 15-Oct-26 20:05 res/drawable-xxhdpi-v4/ic_launcher.png │ --rw---- 1.0 fat 23617 b- stor 15-Oct-26 20:05 res/drawable-xxhdpi-v4/ic_launcher_running.png │ --rw---- 1.0 fat 25141 b- stor 15-Oct-26 20:05 res/drawable-xxhdpi-v4/ic_launcher_wifi.png │ --rw---- 1.0 fat 596 b- stor 15-Oct-26 20:05 res/drawable-xxhdpi-v4/play.png │ --rw---- 1.0 fat 177 b- stor 15-Oct-26 20:05 res/drawable-xxhdpi-v4/stop.png │ --rw---- 2.0 fat 832 bl defN 15-Oct-26 20:06 res/drawable/rounded_corners.xml │ --rw---- 1.0 fat 40470 b- stor 15-Oct-26 20:05 res/drawable/widget_preview.png │ --rw---- 2.0 fat 4208 bl defN 15-Oct-26 20:06 res/layout/activity_main.xml │ --rw---- 2.0 fat 1964 bl defN 15-Oct-26 20:06 res/layout/base_help.xml │ --rw---- 2.0 fat 1640 bl defN 15-Oct-26 20:06 res/layout/control_widget.xml │ --rw---- 2.0 fat 664 bl defN 15-Oct-26 20:06 res/layout/list_item.xml │ --rw---- 2.0 fat 1516 bl defN 15-Oct-26 20:06 res/layout/my_notification.xml │ --rw---- 2.0 fat 1392 bl defN 15-Oct-26 20:06 res/layout/wifi_list_activity.xml │ --rw---- 2.0 fat 1608 bl defN 15-Oct-26 20:06 res/menu-v11/main.xml │ --rw---- 2.0 fat 1444 bl defN 15-Oct-26 20:06 res/menu/main.xml │ --rw---- 2.0 fat 3802 bl defN 15-Oct-26 20:06 res/raw-en/about.html │ --rw---- 2.0 fat 5667 bl defN 15-Oct-26 20:06 res/raw-en/changelog.html │ --rw---- 2.0 fat 4067 bl defN 15-Oct-26 20:06 res/raw-es/about.html │ --rw---- 2.0 fat 6805 bl defN 15-Oct-26 20:06 res/raw-es/changelog.html │ --rw---- 2.0 fat 4541 bl defN 15-Oct-26 20:06 res/raw-ja/about.html │ --rw---- 2.0 fat 7047 bl defN 15-Oct-26 20:06 res/raw-ja/changelog.html │ --rw---- 2.0 fat 5346 bl defN 15-Oct-26 20:06 res/raw-mk/about.html │ --rw---- 2.0 fat 9178 bl defN 15-Oct-26 20:06 res/raw-mk/changelog.html │ --rw---- 2.0 fat 3462 bl defN 15-Oct-26 20:06 res/raw-zh/about.html │ --rw---- 2.0 fat 5181 bl defN 15-Oct-26 20:06 res/raw-zh/changelog.html │ --rw---- 2.0 fat 3907 bl defN 15-Oct-26 20:06 res/raw/about.html │ --rw---- 2.0 fat 5667 bl defN 15-Oct-26 20:06 res/raw/changelog.html │ --rw---- 2.0 fat 464 bl defN 15-Oct-26 20:06 res/xml-v11/control_widget.xml │ --rw---- 2.0 fat 508 bl defN 15-Oct-26 20:06 res/xml-v17/control_widget.xml │ --rw---- 2.0 fat 420 bl defN 15-Oct-26 20:06 res/xml/control_widget.xml │ --rw---- 2.0 fat 3980 bl defN 15-Oct-26 20:06 res/xml/preferences.xml │ --rw---- 1.0 fat 62576 b- stor 15-Oct-26 20:05 resources.arsc │ --rw---- 2.0 fat 1826620 bl defN 15-Oct-26 20:06 classes.dex │ -66 files, 2217064 bytes uncompressed, 783962 bytes compressed: 64.6% │ +-rw---- 2.0 fat 6452 bX defN 17-Oct-14 00:08 AndroidManifest.xml │ +-rw---- 1.0 fat 426 b- stor 17-Oct-14 00:07 res/drawable-hdpi-v4/ic_action_refresh.png │ +-rw---- 1.0 fat 2558 b- stor 17-Oct-14 00:07 res/drawable-hdpi-v4/ic_clear.png │ +-rw---- 1.0 fat 8361 b- stor 17-Oct-14 00:07 res/drawable-hdpi-v4/ic_launcher.png │ +-rw---- 1.0 fat 8440 b- stor 17-Oct-14 00:07 res/drawable-hdpi-v4/ic_launcher_running.png │ +-rw---- 1.0 fat 8896 b- stor 17-Oct-14 00:07 res/drawable-hdpi-v4/ic_launcher_wifi.png │ +-rw---- 1.0 fat 481 b- stor 17-Oct-14 00:07 res/drawable-hdpi-v4/play.png │ +-rw---- 1.0 fat 166 b- stor 17-Oct-14 00:07 res/drawable-hdpi-v4/stop.png │ +-rw---- 1.0 fat 2953 b- stor 17-Oct-14 00:07 res/drawable-ldpi-v4/ic_launcher.png │ +-rw---- 1.0 fat 3025 b- stor 17-Oct-14 00:07 res/drawable-ldpi-v4/ic_launcher_running.png │ +-rw---- 1.0 fat 3142 b- stor 17-Oct-14 00:07 res/drawable-ldpi-v4/ic_launcher_wifi.png │ +-rw---- 1.0 fat 381 b- stor 17-Oct-14 00:07 res/drawable-ldpi-v4/play.png │ +-rw---- 1.0 fat 191 b- stor 17-Oct-14 00:07 res/drawable-ldpi-v4/stop.png │ +-rw---- 1.0 fat 323 b- stor 17-Oct-14 00:07 res/drawable-mdpi-v4/ic_action_refresh.png │ +-rw---- 1.0 fat 1397 b- stor 17-Oct-14 00:07 res/drawable-mdpi-v4/ic_clear.png │ +-rw---- 1.0 fat 4689 b- stor 17-Oct-14 00:07 res/drawable-mdpi-v4/ic_launcher.png │ +-rw---- 1.0 fat 4695 b- stor 17-Oct-14 00:07 res/drawable-mdpi-v4/ic_launcher_running.png │ +-rw---- 1.0 fat 4908 b- stor 17-Oct-14 00:07 res/drawable-mdpi-v4/ic_launcher_wifi.png │ +-rw---- 1.0 fat 381 b- stor 17-Oct-14 00:07 res/drawable-mdpi-v4/play.png │ +-rw---- 1.0 fat 191 b- stor 17-Oct-14 00:07 res/drawable-mdpi-v4/stop.png │ +-rw---- 1.0 fat 505 b- stor 17-Oct-14 00:07 res/drawable-xhdpi-v4/ic_action_refresh.png │ +-rw---- 1.0 fat 3818 b- stor 17-Oct-14 00:07 res/drawable-xhdpi-v4/ic_clear.png │ +-rw---- 1.0 fat 13763 b- stor 17-Oct-14 00:07 res/drawable-xhdpi-v4/ic_launcher.png │ +-rw---- 1.0 fat 14053 b- stor 17-Oct-14 00:07 res/drawable-xhdpi-v4/ic_launcher_running.png │ +-rw---- 1.0 fat 14861 b- stor 17-Oct-14 00:07 res/drawable-xhdpi-v4/ic_launcher_wifi.png │ +-rw---- 1.0 fat 596 b- stor 17-Oct-14 00:07 res/drawable-xhdpi-v4/play.png │ +-rw---- 1.0 fat 177 b- stor 17-Oct-14 00:07 res/drawable-xhdpi-v4/stop.png │ +-rw---- 1.0 fat 7111 b- stor 17-Oct-14 00:07 res/drawable-xxhdpi-v4/ic_clear.png │ +-rw---- 1.0 fat 23456 b- stor 17-Oct-14 00:07 res/drawable-xxhdpi-v4/ic_launcher.png │ +-rw---- 1.0 fat 23617 b- stor 17-Oct-14 00:07 res/drawable-xxhdpi-v4/ic_launcher_running.png │ +-rw---- 1.0 fat 25141 b- stor 17-Oct-14 00:07 res/drawable-xxhdpi-v4/ic_launcher_wifi.png │ +-rw---- 1.0 fat 596 b- stor 17-Oct-14 00:07 res/drawable-xxhdpi-v4/play.png │ +-rw---- 1.0 fat 177 b- stor 17-Oct-14 00:07 res/drawable-xxhdpi-v4/stop.png │ +-rw---- 2.0 fat 832 bl defN 17-Oct-14 00:08 res/drawable/rounded_corners.xml │ +-rw---- 1.0 fat 40470 b- stor 17-Oct-14 00:07 res/drawable/widget_preview.png │ +-rw---- 2.0 fat 4208 bl defN 17-Oct-14 00:08 res/layout/activity_main.xml │ +-rw---- 2.0 fat 1964 bl defN 17-Oct-14 00:08 res/layout/base_help.xml │ +-rw---- 2.0 fat 1640 bl defN 17-Oct-14 00:08 res/layout/control_widget.xml │ +-rw---- 2.0 fat 664 bl defN 17-Oct-14 00:08 res/layout/list_item.xml │ +-rw---- 2.0 fat 1516 bl defN 17-Oct-14 00:08 res/layout/my_notification.xml │ +-rw---- 2.0 fat 1392 bl defN 17-Oct-14 00:08 res/layout/wifi_list_activity.xml │ +-rw---- 2.0 fat 1608 bl defN 17-Oct-14 00:08 res/menu/main.xml │ +-rw---- 2.0 fat 3802 bl defN 17-Oct-14 00:08 res/raw-en/about.html │ +-rw---- 2.0 fat 5667 bl defN 17-Oct-14 00:08 res/raw-en/changelog.html │ +-rw---- 2.0 fat 4067 bl defN 17-Oct-14 00:08 res/raw-es/about.html │ +-rw---- 2.0 fat 6805 bl defN 17-Oct-14 00:08 res/raw-es/changelog.html │ +-rw---- 2.0 fat 4541 bl defN 17-Oct-14 00:08 res/raw-ja/about.html │ +-rw---- 2.0 fat 7047 bl defN 17-Oct-14 00:08 res/raw-ja/changelog.html │ +-rw---- 2.0 fat 5346 bl defN 17-Oct-14 00:08 res/raw-mk/about.html │ +-rw---- 2.0 fat 9178 bl defN 17-Oct-14 00:08 res/raw-mk/changelog.html │ +-rw---- 2.0 fat 3462 bl defN 17-Oct-14 00:08 res/raw-zh/about.html │ +-rw---- 2.0 fat 5181 bl defN 17-Oct-14 00:08 res/raw-zh/changelog.html │ +-rw---- 2.0 fat 3907 bl defN 17-Oct-14 00:08 res/raw/about.html │ +-rw---- 2.0 fat 5667 bl defN 17-Oct-14 00:08 res/raw/changelog.html │ +-rw---- 2.0 fat 508 bl defN 17-Oct-14 00:08 res/xml/control_widget.xml │ +-rw---- 2.0 fat 3980 bl defN 17-Oct-14 00:08 res/xml/preferences.xml │ +-rw---- 1.0 fat 62036 b- stor 17-Oct-14 00:07 resources.arsc │ +-rw---- 2.0 fat 1822680 bl defN 17-Oct-14 00:08 classes.dex │ +61 files, 2210174 bytes uncompressed, 782362 bytes compressed: 64.6% ├── classes.dex │ ├── classes.jar │ │ ├── zipinfo /dev/stdin │ │ │ @@ -1,8 +1,8 @@ │ │ │ -Zip file size: 1736560 bytes, number of entries: 1075 │ │ │ +Zip file size: 1736549 bytes, number of entries: 1075 │ │ │ ?rwxrwxr-x 2.0 unx 125 b- stor 80-Jan-01 00:00 android/support/annotation/AnimRes.class │ │ │ ?rwxrwxr-x 2.0 unx 129 b- stor 80-Jan-01 00:00 android/support/annotation/AnimatorRes.class │ │ │ ?rwxrwxr-x 2.0 unx 124 b- stor 80-Jan-01 00:00 android/support/annotation/AnyRes.class │ │ │ ?rwxrwxr-x 2.0 unx 126 b- stor 80-Jan-01 00:00 android/support/annotation/ArrayRes.class │ │ │ ?rwxrwxr-x 2.0 unx 125 b- stor 80-Jan-01 00:00 android/support/annotation/AttrRes.class │ │ │ ?rwxrwxr-x 2.0 unx 125 b- stor 80-Jan-01 00:00 android/support/annotation/BoolRes.class │ │ │ ?rwxrwxr-x 2.0 unx 126 b- stor 80-Jan-01 00:00 android/support/annotation/ColorRes.class │ │ │ @@ -669,30 +669,30 @@ │ │ │ ?rwxrwxr-x 2.0 unx 1208 b- stor 80-Jan-01 00:00 com/matoski/adbm/activity/MyPreferencesActivity$8$1.class │ │ │ ?rwxrwxr-x 2.0 unx 504 b- stor 80-Jan-01 00:00 com/matoski/adbm/activity/MyPreferencesActivity$8$2.class │ │ │ ?rwxrwxr-x 2.0 unx 1499 b- stor 80-Jan-01 00:00 com/matoski/adbm/activity/MyPreferencesActivity$8.class │ │ │ ?rwxrwxr-x 2.0 unx 1042 b- stor 80-Jan-01 00:00 com/matoski/adbm/activity/MyPreferencesActivity$9.class │ │ │ ?rwxrwxr-x 2.0 unx 4989 b- stor 80-Jan-01 00:00 com/matoski/adbm/activity/MyPreferencesActivity.class │ │ │ ?rwxrwxr-x 2.0 unx 1668 b- stor 80-Jan-01 00:00 com/matoski/adbm/activity/WiFiListViewCheckboxesActivity$2.class │ │ │ ?rwxrwxr-x 2.0 unx 521 b- stor 80-Jan-01 00:00 com/matoski/adbm/activity/WiFiListViewCheckboxesActivity$3.class │ │ │ -?rwxrwxr-x 2.0 unx 3995 b- stor 80-Jan-01 00:00 com/matoski/adbm/activity/WiFiListViewCheckboxesActivity.class │ │ │ +?rwxrwxr-x 2.0 unx 4010 b- stor 80-Jan-01 00:00 com/matoski/adbm/activity/WiFiListViewCheckboxesActivity.class │ │ │ ?rwxrwxr-x 2.0 unx 954 b- stor 80-Jan-01 00:00 com/matoski/adbm/adapter/InteractiveArrayAdapter$1.class │ │ │ ?rwxrwxr-x 2.0 unx 221 b- stor 80-Jan-01 00:00 com/matoski/adbm/adapter/InteractiveArrayAdapter$ViewHolder.class │ │ │ ?rwxrwxr-x 2.0 unx 1846 b- stor 80-Jan-01 00:00 com/matoski/adbm/adapter/InteractiveArrayAdapter.class │ │ │ ?rwxrwxr-x 2.0 unx 762 b- stor 80-Jan-01 00:00 com/matoski/adbm/enums/AdbStateEnum.class │ │ │ ?rwxrwxr-x 2.0 unx 724 b- stor 80-Jan-01 00:00 com/matoski/adbm/enums/IPMode.class │ │ │ ?rwxrwxr-x 2.0 unx 197 b- stor 80-Jan-01 00:00 com/matoski/adbm/interfaces/IMessageHandler.class │ │ │ ?rwxrwxr-x 2.0 unx 718 b- stor 80-Jan-01 00:00 com/matoski/adbm/pojo/IP.class │ │ │ ?rwxrwxr-x 2.0 unx 814 b- stor 80-Jan-01 00:00 com/matoski/adbm/pojo/Model.class │ │ │ ?rwxrwxr-x 2.0 unx 996 b- stor 80-Jan-01 00:00 com/matoski/adbm/receiver/ActionPackageAdded.class │ │ │ ?rwxrwxr-x 2.0 unx 2409 b- stor 80-Jan-01 00:00 com/matoski/adbm/receiver/BootCompleteReceiver.class │ │ │ ?rwxrwxr-x 2.0 unx 1308 b- stor 80-Jan-01 00:00 com/matoski/adbm/receiver/ConnectionDetectionReceiver$1.class │ │ │ ?rwxrwxr-x 2.0 unx 2134 b- stor 80-Jan-01 00:00 com/matoski/adbm/receiver/ConnectionDetectionReceiver.class │ │ │ ?rwxrwxr-x 2.0 unx 596 b- stor 80-Jan-01 00:00 com/matoski/adbm/service/ManagerService$2.class │ │ │ ?rwxrwxr-x 2.0 unx 382 b- stor 80-Jan-01 00:00 com/matoski/adbm/service/ManagerService$ServiceBinder.class │ │ │ -?rwxrwxr-x 2.0 unx 17036 b- defN 80-Jan-01 00:00 com/matoski/adbm/service/ManagerService.class │ │ │ +?rwxrwxr-x 2.0 unx 17008 b- defN 80-Jan-01 00:00 com/matoski/adbm/service/ManagerService.class │ │ │ ?rwxrwxr-x 2.0 unx 700 b- stor 80-Jan-01 00:00 com/matoski/adbm/tasks/GenericAsyncTask.class │ │ │ ?rwxrwxr-x 2.0 unx 764 b- stor 80-Jan-01 00:00 com/matoski/adbm/util/ArrayUtils.class │ │ │ ?rwxrwxr-x 2.0 unx 1154 b- stor 80-Jan-01 00:00 com/matoski/adbm/util/FileUtil.class │ │ │ ?rwxrwxr-x 2.0 unx 1692 b- stor 80-Jan-01 00:00 com/matoski/adbm/util/GenericUtil.class │ │ │ ?rwxrwxr-x 2.0 unx 558 b- stor 80-Jan-01 00:00 com/matoski/adbm/util/NetworkUtil$1.class │ │ │ ?rwxrwxr-x 2.0 unx 2947 b- stor 80-Jan-01 00:00 com/matoski/adbm/util/NetworkUtil.class │ │ │ ?rwxrwxr-x 2.0 unx 1704 b- stor 80-Jan-01 00:00 com/matoski/adbm/util/PreferenceUtil.class │ │ │ @@ -705,19 +705,19 @@ │ │ │ ?rwxrwxr-x 2.0 unx 745 b- stor 80-Jan-01 00:00 eu/chainfire/libsuperuser/HideOverlaysReceiver.class │ │ │ ?rwxrwxr-x 2.0 unx 85 b- stor 80-Jan-01 00:00 eu/chainfire/libsuperuser/Shell$1.class │ │ │ ?rwxrwxr-x 2.0 unx 4555 b- stor 80-Jan-01 00:00 eu/chainfire/libsuperuser/Shell$Builder.class │ │ │ ?rwxrwxr-x 2.0 unx 1811 b- stor 80-Jan-01 00:00 eu/chainfire/libsuperuser/Shell$Command.class │ │ │ ?rwxrwxr-x 2.0 unx 430 b- stor 80-Jan-01 00:00 eu/chainfire/libsuperuser/Shell$Interactive$2.class │ │ │ ?rwxrwxr-x 2.0 unx 863 b- stor 80-Jan-01 00:00 eu/chainfire/libsuperuser/Shell$Interactive$3.class │ │ │ ?rwxrwxr-x 2.0 unx 1548 b- stor 80-Jan-01 00:00 eu/chainfire/libsuperuser/Shell$Interactive$4.class │ │ │ -?rwxrwxr-x 2.0 unx 16980 b- defN 80-Jan-01 00:00 eu/chainfire/libsuperuser/Shell$Interactive.class │ │ │ +?rwxrwxr-x 2.0 unx 16977 b- defN 80-Jan-01 00:00 eu/chainfire/libsuperuser/Shell$Interactive.class │ │ │ ?rwxrwxr-x 2.0 unx 300 b- stor 80-Jan-01 00:00 eu/chainfire/libsuperuser/Shell$OnResult.class │ │ │ ?rwxrwxr-x 2.0 unx 697 b- stor 80-Jan-01 00:00 eu/chainfire/libsuperuser/Shell$SH.class │ │ │ -?rwxrwxr-x 2.0 unx 3671 b- stor 80-Jan-01 00:00 eu/chainfire/libsuperuser/Shell$SU.class │ │ │ -?rwxrwxr-x 2.0 unx 5462 b- stor 80-Jan-01 00:00 eu/chainfire/libsuperuser/Shell.class │ │ │ +?rwxrwxr-x 2.0 unx 3677 b- stor 80-Jan-01 00:00 eu/chainfire/libsuperuser/Shell$SU.class │ │ │ +?rwxrwxr-x 2.0 unx 5469 b- stor 80-Jan-01 00:00 eu/chainfire/libsuperuser/Shell.class │ │ │ ?rwxrwxr-x 2.0 unx 327 b- stor 80-Jan-01 00:00 eu/chainfire/libsuperuser/ShellNotClosedException.class │ │ │ ?rwxrwxr-x 2.0 unx 580 b- stor 80-Jan-01 00:00 eu/chainfire/libsuperuser/ShellOnMainThreadException.class │ │ │ ?rwxrwxr-x 2.0 unx 147 b- stor 80-Jan-01 00:00 eu/chainfire/libsuperuser/StreamGobbler$OnLineListener.class │ │ │ ?rwxrwxr-x 2.0 unx 1566 b- stor 80-Jan-01 00:00 eu/chainfire/libsuperuser/StreamGobbler.class │ │ │ ?rwxrwxr-x 2.0 unx 908 b- stor 80-Jan-01 00:00 android/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoStubImpl.class │ │ │ ?rwxrwxr-x 2.0 unx 742 b- stor 80-Jan-01 00:00 android/support/v4/app/ActionBarDrawerToggle$ActionBarDrawerToggleImplBase.class │ │ │ ?rwxrwxr-x 2.0 unx 844 b- stor 80-Jan-01 00:00 android/support/v4/app/ActionBarDrawerToggle$ActionBarDrawerToggleImplHC.class │ │ │ @@ -1029,18 +1029,18 @@ │ │ │ ?rwxrwxr-x 2.0 unx 1717 b- stor 80-Jan-01 00:00 android/support/v4/widget/SlidingPaneLayout$SlidingPanelLayoutImplJB.class │ │ │ ?rwxrwxr-x 2.0 unx 695 b- stor 80-Jan-01 00:00 android/support/v4/widget/SlidingPaneLayout$SlidingPanelLayoutImplJBMR1.class │ │ │ ?rwxrwxr-x 2.0 unx 418 b- stor 80-Jan-01 00:00 com/google/gson/FieldNamingPolicy$1.class │ │ │ ?rwxrwxr-x 2.0 unx 485 b- stor 80-Jan-01 00:00 com/google/gson/FieldNamingPolicy$2.class │ │ │ ?rwxrwxr-x 2.0 unx 579 b- stor 80-Jan-01 00:00 com/google/gson/FieldNamingPolicy$3.class │ │ │ ?rwxrwxr-x 2.0 unx 561 b- stor 80-Jan-01 00:00 com/google/gson/FieldNamingPolicy$4.class │ │ │ ?rwxrwxr-x 2.0 unx 561 b- stor 80-Jan-01 00:00 com/google/gson/FieldNamingPolicy$5.class │ │ │ -?rwxrwxr-x 2.0 unx 1903 b- stor 80-Jan-01 00:00 com/matoski/adbm/activity/MainActivity$MyNetworkStatusChecker.class │ │ │ -?rwxrwxr-x 2.0 unx 1818 b- stor 80-Jan-01 00:00 com/matoski/adbm/service/ManagerService$MyNetworkStatusChecker.class │ │ │ -?rwxrwxr-x 2.0 unx 1972 b- stor 80-Jan-01 00:00 com/matoski/adbm/service/ManagerService$MyRootCommandExecuter.class │ │ │ -?rwxrwxr-x 2.0 unx 2355 b- stor 80-Jan-01 00:00 com/matoski/adbm/service/ManagerService$MyToggleNetworkAdb.class │ │ │ +?rwxrwxr-x 2.0 unx 1896 b- stor 80-Jan-01 00:00 com/matoski/adbm/activity/MainActivity$MyNetworkStatusChecker.class │ │ │ +?rwxrwxr-x 2.0 unx 1811 b- stor 80-Jan-01 00:00 com/matoski/adbm/service/ManagerService$MyNetworkStatusChecker.class │ │ │ +?rwxrwxr-x 2.0 unx 1965 b- stor 80-Jan-01 00:00 com/matoski/adbm/service/ManagerService$MyRootCommandExecuter.class │ │ │ +?rwxrwxr-x 2.0 unx 2348 b- stor 80-Jan-01 00:00 com/matoski/adbm/service/ManagerService$MyToggleNetworkAdb.class │ │ │ ?rwxrwxr-x 2.0 unx 1312 b- stor 80-Jan-01 00:00 eu/chainfire/libsuperuser/Shell$Interactive$1.class │ │ │ ?rwxrwxr-x 2.0 unx 516 b- stor 80-Jan-01 00:00 android/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoJellyBeanMr2.class │ │ │ ?rwxrwxr-x 2.0 unx 3458 b- stor 80-Jan-01 00:00 android/support/v4/app/NotificationCompat$NotificationCompatImplKitKat.class │ │ │ ?rwxrwxr-x 2.0 unx 293 b- stor 80-Jan-01 00:00 android/support/v4/app/NotificationManagerCompat$ImplIceCreamSandwich.class │ │ │ ?rwxrwxr-x 2.0 unx 429 b- stor 80-Jan-01 00:00 android/support/v4/app/ShareCompat$ShareCompatImplJB.class │ │ │ ?rwxrwxr-x 2.0 unx 404 b- stor 80-Jan-01 00:00 android/support/v4/content/IntentCompat$IntentCompatImplIcsMr1.class │ │ │ ?rwxrwxr-x 2.0 unx 454 b- stor 80-Jan-01 00:00 android/support/v4/graphics/BitmapCompat$JbMr2BitmapCompatImpl.class │ │ │ @@ -1070,8 +1070,8 @@ │ │ │ ?rwxrwxr-x 2.0 unx 614 b- stor 80-Jan-01 00:00 android/support/v4/view/ViewPropertyAnimatorCompat$KitKatViewPropertyAnimatorCompatImpl.class │ │ │ ?rwxrwxr-x 2.0 unx 2051 b- stor 80-Jan-01 00:00 android/support/v4/view/accessibility/AccessibilityNodeInfoCompat$AccessibilityNodeInfoKitKatImpl.class │ │ │ ?rwxrwxr-x 2.0 unx 1843 b- stor 80-Jan-01 00:00 android/support/v4/view/ViewCompat$JBViewCompatImpl.class │ │ │ ?rwxrwxr-x 2.0 unx 968 b- stor 80-Jan-01 00:00 android/support/v4/view/accessibility/AccessibilityNodeInfoCompat$AccessibilityNodeInfoApi21Impl.class │ │ │ ?rwxrwxr-x 2.0 unx 934 b- stor 80-Jan-01 00:00 android/support/v4/view/ViewCompat$JbMr1ViewCompatImpl.class │ │ │ ?rwxrwxr-x 2.0 unx 561 b- stor 80-Jan-01 00:00 android/support/v4/view/ViewCompat$KitKatViewCompatImpl.class │ │ │ ?rwxrwxr-x 2.0 unx 984 b- stor 80-Jan-01 00:00 android/support/v4/view/ViewCompat$Api21ViewCompatImpl.class │ │ │ -1075 files, 1688797 bytes uncompressed, 1527886 bytes compressed: 9.5% │ │ │ +1075 files, 1688766 bytes uncompressed, 1527875 bytes compressed: 9.5% │ │ ├── com/matoski/adbm/activity/WiFiListViewCheckboxesActivity.class │ │ │ ├── javap -verbose -constants -s -l -private {} │ │ │ │ @@ -428,137 +428,143 @@ │ │ │ │ Code: │ │ │ │ stack=300, locals=12, args_size=1 │ │ │ │ 0: aload_0 │ │ │ │ 1: getfield #43 // Field gson:Lcom/google/gson/Gson; │ │ │ │ 4: astore_1 │ │ │ │ 5: aload_0 │ │ │ │ 6: getfield #39 // Field preferences:Landroid/content/SharedPreferences; │ │ │ │ - 9: ldc #130 // String wifi_list │ │ │ │ - 11: aconst_null │ │ │ │ - 12: invokeinterface #136, 3 // InterfaceMethod android/content/SharedPreferences.getString:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; │ │ │ │ - 17: astore_2 │ │ │ │ - 18: aload_0 │ │ │ │ - 19: getfield #41 // Field gsonType:Ljava/lang/reflect/Type; │ │ │ │ - 22: astore_3 │ │ │ │ - 23: aload_1 │ │ │ │ - 24: aload_2 │ │ │ │ - 25: aload_3 │ │ │ │ - 26: invokevirtual #142 // Method com/google/gson/Gson.fromJson:(Ljava/lang/String;Ljava/lang/reflect/Type;)Ljava/lang/Object; │ │ │ │ - 29: checkcast #144 // class java/util/ArrayList │ │ │ │ - 32: astore 4 │ │ │ │ - 34: aload 4 │ │ │ │ - 36: ifnonnull 49 │ │ │ │ - 39: new #144 // class java/util/ArrayList │ │ │ │ - 42: astore 4 │ │ │ │ - 44: aload 4 │ │ │ │ - 46: invokespecial #145 // Method java/util/ArrayList."":()V │ │ │ │ - 49: aconst_null │ │ │ │ - 50: astore 5 │ │ │ │ - 52: aload_0 │ │ │ │ - 53: getfield #35 // Field wifiManager:Landroid/net/wifi/WifiManager; │ │ │ │ - 56: astore_1 │ │ │ │ - 57: aload_1 │ │ │ │ - 58: invokevirtual #149 // Method android/net/wifi/WifiManager.getConfiguredNetworks:()Ljava/util/List; │ │ │ │ - 61: astore 6 │ │ │ │ - 63: aload 6 │ │ │ │ - 65: ifnull 217 │ │ │ │ - 68: aload 6 │ │ │ │ - 70: invokeinterface #155, 1 // InterfaceMethod java/util/List.iterator:()Ljava/util/Iterator; │ │ │ │ - 75: astore 7 │ │ │ │ - 77: aload 7 │ │ │ │ - 79: invokeinterface #161, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z │ │ │ │ - 84: istore 8 │ │ │ │ - 86: iload 8 │ │ │ │ - 88: ifeq 217 │ │ │ │ - 91: aload 7 │ │ │ │ - 93: invokeinterface #165, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object; │ │ │ │ - 98: checkcast #167 // class android/net/wifi/WifiConfiguration │ │ │ │ - 101: astore 9 │ │ │ │ - 103: aload 9 │ │ │ │ - 105: ifnonnull 124 │ │ │ │ - 108: getstatic #29 // Field LOG_TAG:Ljava/lang/String; │ │ │ │ - 111: astore_1 │ │ │ │ - 112: ldc #169 // String Network entry is NULL │ │ │ │ - 114: astore_2 │ │ │ │ - 115: aload_1 │ │ │ │ - 116: aload_2 │ │ │ │ - 117: invokestatic #175 // Method android/util/Log.e:(Ljava/lang/String;Ljava/lang/String;)I │ │ │ │ - 120: pop │ │ │ │ - 121: goto 77 │ │ │ │ - 124: new #177 // class com/matoski/adbm/pojo/Model │ │ │ │ - 127: astore 5 │ │ │ │ - 129: aload 9 │ │ │ │ - 131: getfield #180 // Field android/net/wifi/WifiConfiguration.SSID:Ljava/lang/String; │ │ │ │ - 134: astore_1 │ │ │ │ - 135: ldc #182 // String (^\")|(\"$) │ │ │ │ - 137: astore_2 │ │ │ │ - 138: ldc #184 // String │ │ │ │ - 140: astore_3 │ │ │ │ - 141: aload_1 │ │ │ │ - 142: aload_2 │ │ │ │ - 143: aload_3 │ │ │ │ - 144: invokevirtual #189 // Method java/lang/String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; │ │ │ │ - 147: astore_1 │ │ │ │ - 148: aload 5 │ │ │ │ - 150: aload_1 │ │ │ │ - 151: invokespecial #192 // Method com/matoski/adbm/pojo/Model."":(Ljava/lang/String;)V │ │ │ │ + 9: astore_2 │ │ │ │ + 10: iconst_0 │ │ │ │ + 11: istore_3 │ │ │ │ + 12: aconst_null │ │ │ │ + 13: astore 4 │ │ │ │ + 15: aload_2 │ │ │ │ + 16: ldc #130 // String wifi_list │ │ │ │ + 18: aconst_null │ │ │ │ + 19: invokeinterface #136, 3 // InterfaceMethod android/content/SharedPreferences.getString:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; │ │ │ │ + 24: astore_2 │ │ │ │ + 25: aload_0 │ │ │ │ + 26: getfield #41 // Field gsonType:Ljava/lang/reflect/Type; │ │ │ │ + 29: astore 5 │ │ │ │ + 31: aload_1 │ │ │ │ + 32: aload_2 │ │ │ │ + 33: aload 5 │ │ │ │ + 35: invokevirtual #142 // Method com/google/gson/Gson.fromJson:(Ljava/lang/String;Ljava/lang/reflect/Type;)Ljava/lang/Object; │ │ │ │ + 38: checkcast #144 // class java/util/ArrayList │ │ │ │ + 41: astore 6 │ │ │ │ + 43: aload 6 │ │ │ │ + 45: ifnonnull 58 │ │ │ │ + 48: new #144 // class java/util/ArrayList │ │ │ │ + 51: astore 6 │ │ │ │ + 53: aload 6 │ │ │ │ + 55: invokespecial #145 // Method java/util/ArrayList."":()V │ │ │ │ + 58: aconst_null │ │ │ │ + 59: astore 7 │ │ │ │ + 61: aload_0 │ │ │ │ + 62: getfield #35 // Field wifiManager:Landroid/net/wifi/WifiManager; │ │ │ │ + 65: astore_1 │ │ │ │ + 66: aload_1 │ │ │ │ + 67: invokevirtual #149 // Method android/net/wifi/WifiManager.getConfiguredNetworks:()Ljava/util/List; │ │ │ │ + 70: astore 8 │ │ │ │ + 72: aload 8 │ │ │ │ + 74: ifnull 232 │ │ │ │ + 77: aload 8 │ │ │ │ + 79: invokeinterface #155, 1 // InterfaceMethod java/util/List.iterator:()Ljava/util/Iterator; │ │ │ │ + 84: astore_1 │ │ │ │ + 85: aload_1 │ │ │ │ + 86: invokeinterface #161, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z │ │ │ │ + 91: istore 9 │ │ │ │ + 93: iload 9 │ │ │ │ + 95: ifeq 232 │ │ │ │ + 98: aload_1 │ │ │ │ + 99: invokeinterface #165, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object; │ │ │ │ + 104: checkcast #167 // class android/net/wifi/WifiConfiguration │ │ │ │ + 107: astore 10 │ │ │ │ + 109: aload 10 │ │ │ │ + 111: ifnonnull 132 │ │ │ │ + 114: getstatic #29 // Field LOG_TAG:Ljava/lang/String; │ │ │ │ + 117: astore_2 │ │ │ │ + 118: ldc #169 // String Network entry is NULL │ │ │ │ + 120: astore 5 │ │ │ │ + 122: aload_2 │ │ │ │ + 123: aload 5 │ │ │ │ + 125: invokestatic #175 // Method android/util/Log.e:(Ljava/lang/String;Ljava/lang/String;)I │ │ │ │ + 128: pop │ │ │ │ + 129: goto 85 │ │ │ │ + 132: new #177 // class com/matoski/adbm/pojo/Model │ │ │ │ + 135: astore 7 │ │ │ │ + 137: aload 10 │ │ │ │ + 139: getfield #180 // Field android/net/wifi/WifiConfiguration.SSID:Ljava/lang/String; │ │ │ │ + 142: astore_2 │ │ │ │ + 143: ldc #182 // String (^\")|(\"$) │ │ │ │ + 145: astore 5 │ │ │ │ + 147: ldc #184 // String │ │ │ │ + 149: astore 4 │ │ │ │ + 151: aload_2 │ │ │ │ + 152: aload 5 │ │ │ │ 154: aload 4 │ │ │ │ - 156: aload 5 │ │ │ │ - 158: invokevirtual #196 // Method java/util/ArrayList.contains:(Ljava/lang/Object;)Z │ │ │ │ - 161: istore 8 │ │ │ │ - 163: iload 8 │ │ │ │ - 165: ifne 77 │ │ │ │ - 168: getstatic #29 // Field LOG_TAG:Ljava/lang/String; │ │ │ │ - 171: astore_1 │ │ │ │ - 172: iconst_1 │ │ │ │ - 173: istore 10 │ │ │ │ - 175: iload 10 │ │ │ │ - 177: anewarray #201 // class java/lang/Object │ │ │ │ - 180: astore_3 │ │ │ │ - 181: aload 5 │ │ │ │ - 183: invokevirtual #202 // Method com/matoski/adbm/pojo/Model.getName:()Ljava/lang/String; │ │ │ │ - 186: astore 11 │ │ │ │ - 188: aload_3 │ │ │ │ - 189: iconst_0 │ │ │ │ - 190: aload 11 │ │ │ │ - 192: aastore │ │ │ │ - 193: ldc #198 // String New saved network detected: %s │ │ │ │ - 195: aload_3 │ │ │ │ - 196: invokestatic #206 // Method java/lang/String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; │ │ │ │ - 199: astore_2 │ │ │ │ - 200: aload_1 │ │ │ │ - 201: aload_2 │ │ │ │ - 202: invokestatic #209 // Method android/util/Log.d:(Ljava/lang/String;Ljava/lang/String;)I │ │ │ │ - 205: pop │ │ │ │ - 206: aload 4 │ │ │ │ - 208: aload 5 │ │ │ │ - 210: invokevirtual #212 // Method java/util/ArrayList.add:(Ljava/lang/Object;)Z │ │ │ │ - 213: pop │ │ │ │ - 214: goto 77 │ │ │ │ - 217: new #214 // class com/matoski/adbm/adapter/InteractiveArrayAdapter │ │ │ │ - 220: astore_1 │ │ │ │ - 221: aload_1 │ │ │ │ - 222: aload_0 │ │ │ │ - 223: aload 4 │ │ │ │ - 225: invokespecial #217 // Method com/matoski/adbm/adapter/InteractiveArrayAdapter."":(Landroid/app/Activity;Ljava/util/ArrayList;)V │ │ │ │ - 228: aload_0 │ │ │ │ - 229: aload_1 │ │ │ │ - 230: putfield #37 // Field adapter:Lcom/matoski/adbm/adapter/InteractiveArrayAdapter; │ │ │ │ - 233: aload_0 │ │ │ │ - 234: ldc #218 // int 2131492893 │ │ │ │ - 236: invokevirtual #98 // Method findViewById:(I)Landroid/view/View; │ │ │ │ - 239: checkcast #221 // class android/widget/ListView │ │ │ │ - 242: astore_1 │ │ │ │ + 156: invokevirtual #189 // Method java/lang/String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; │ │ │ │ + 159: astore_2 │ │ │ │ + 160: aload 7 │ │ │ │ + 162: aload_2 │ │ │ │ + 163: invokespecial #192 // Method com/matoski/adbm/pojo/Model."":(Ljava/lang/String;)V │ │ │ │ + 166: aload 6 │ │ │ │ + 168: aload 7 │ │ │ │ + 170: invokevirtual #196 // Method java/util/ArrayList.contains:(Ljava/lang/Object;)Z │ │ │ │ + 173: istore 9 │ │ │ │ + 175: iload 9 │ │ │ │ + 177: ifne 85 │ │ │ │ + 180: getstatic #29 // Field LOG_TAG:Ljava/lang/String; │ │ │ │ + 183: astore_2 │ │ │ │ + 184: iconst_1 │ │ │ │ + 185: istore_3 │ │ │ │ + 186: iload_3 │ │ │ │ + 187: anewarray #201 // class java/lang/Object │ │ │ │ + 190: astore 4 │ │ │ │ + 192: aload 7 │ │ │ │ + 194: invokevirtual #202 // Method com/matoski/adbm/pojo/Model.getName:()Ljava/lang/String; │ │ │ │ + 197: astore 11 │ │ │ │ + 199: aload 4 │ │ │ │ + 201: iconst_0 │ │ │ │ + 202: aload 11 │ │ │ │ + 204: aastore │ │ │ │ + 205: ldc #198 // String New saved network detected: %s │ │ │ │ + 207: aload 4 │ │ │ │ + 209: invokestatic #206 // Method java/lang/String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; │ │ │ │ + 212: astore 5 │ │ │ │ + 214: aload_2 │ │ │ │ + 215: aload 5 │ │ │ │ + 217: invokestatic #209 // Method android/util/Log.d:(Ljava/lang/String;Ljava/lang/String;)I │ │ │ │ + 220: pop │ │ │ │ + 221: aload 6 │ │ │ │ + 223: aload 7 │ │ │ │ + 225: invokevirtual #212 // Method java/util/ArrayList.add:(Ljava/lang/Object;)Z │ │ │ │ + 228: pop │ │ │ │ + 229: goto 85 │ │ │ │ + 232: new #214 // class com/matoski/adbm/adapter/InteractiveArrayAdapter │ │ │ │ + 235: astore_1 │ │ │ │ + 236: aload_1 │ │ │ │ + 237: aload_0 │ │ │ │ + 238: aload 6 │ │ │ │ + 240: invokespecial #217 // Method com/matoski/adbm/adapter/InteractiveArrayAdapter."":(Landroid/app/Activity;Ljava/util/ArrayList;)V │ │ │ │ 243: aload_0 │ │ │ │ 244: aload_1 │ │ │ │ - 245: putfield #223 // Field listView:Landroid/widget/ListView; │ │ │ │ + 245: putfield #37 // Field adapter:Lcom/matoski/adbm/adapter/InteractiveArrayAdapter; │ │ │ │ 248: aload_0 │ │ │ │ - 249: getfield #223 // Field listView:Landroid/widget/ListView; │ │ │ │ - 252: astore_1 │ │ │ │ - 253: aload_0 │ │ │ │ - 254: getfield #37 // Field adapter:Lcom/matoski/adbm/adapter/InteractiveArrayAdapter; │ │ │ │ - 257: astore_2 │ │ │ │ - 258: aload_1 │ │ │ │ - 259: aload_2 │ │ │ │ - 260: invokevirtual #227 // Method android/widget/ListView.setAdapter:(Landroid/widget/ListAdapter;)V │ │ │ │ - 263: return │ │ │ │ + 249: ldc #218 // int 2131492893 │ │ │ │ + 251: invokevirtual #98 // Method findViewById:(I)Landroid/view/View; │ │ │ │ + 254: checkcast #221 // class android/widget/ListView │ │ │ │ + 257: astore_1 │ │ │ │ + 258: aload_0 │ │ │ │ + 259: aload_1 │ │ │ │ + 260: putfield #223 // Field listView:Landroid/widget/ListView; │ │ │ │ + 263: aload_0 │ │ │ │ + 264: getfield #223 // Field listView:Landroid/widget/ListView; │ │ │ │ + 267: astore_1 │ │ │ │ + 268: aload_0 │ │ │ │ + 269: getfield #37 // Field adapter:Lcom/matoski/adbm/adapter/InteractiveArrayAdapter; │ │ │ │ + 272: astore_2 │ │ │ │ + 273: aload_1 │ │ │ │ + 274: aload_2 │ │ │ │ + 275: invokevirtual #227 // Method android/widget/ListView.setAdapter:(Landroid/widget/ListAdapter;)V │ │ │ │ + 278: return │ │ │ │ } │ │ ├── com/matoski/adbm/service/ManagerService.class │ │ │ ├── procyon -ec {} │ │ │ │ @@ -510,17 +510,16 @@ │ │ │ │ this.handler = null; │ │ │ │ } │ │ │ │ │ │ │ │ public void setHandler(final IMessageHandler handler) { │ │ │ │ this.handler = handler; │ │ │ │ final String[] array = (String[])this._add_items.toArray(new String[this._add_items.size()]); │ │ │ │ this._add_items.clear(); │ │ │ │ - final String[] array2 = array; │ │ │ │ for (int length = array.length, i = 0; i < length; ++i) { │ │ │ │ - this.handler.message(array2[i]); │ │ │ │ + this.handler.message(array[i]); │ │ │ │ } │ │ │ │ } │ │ │ │ │ │ │ │ public void startNetworkADB() { │ │ │ │ final int n = 1; │ │ │ │ Log.i(ManagerService.LOG_TAG, "Starting network ADB."); │ │ │ │ if (this.mConnectivityManager.getNetworkInfo(n).isConnected()) { │ │ ├── com/matoski/adbm/util/ServiceUtil.class │ │ │ ├── javap -verbose -constants -s -l -private {} │ │ │ │ @@ -293,76 +293,74 @@ │ │ │ │ 11: ireturn │ │ │ │ │ │ │ │ public static boolean isServiceRunning(android.content.Context, java.lang.String); │ │ │ │ descriptor: (Landroid/content/Context;Ljava/lang/String;)Z │ │ │ │ flags: ACC_PUBLIC, ACC_STATIC │ │ │ │ Code: │ │ │ │ stack=300, locals=9, args_size=2 │ │ │ │ - 0: ldc #53 // String activity │ │ │ │ - 2: astore_2 │ │ │ │ - 3: aload_0 │ │ │ │ - 4: aload_2 │ │ │ │ - 5: invokevirtual #57 // Method android/content/Context.getSystemService:(Ljava/lang/String;)Ljava/lang/Object; │ │ │ │ - 8: checkcast #59 // class android/app/ActivityManager │ │ │ │ - 11: astore_3 │ │ │ │ - 12: iconst_m1 │ │ │ │ - 13: iconst_1 │ │ │ │ - 14: iushr │ │ │ │ - 15: istore 4 │ │ │ │ - 17: aload_3 │ │ │ │ - 18: iload 4 │ │ │ │ - 20: invokevirtual #63 // Method android/app/ActivityManager.getRunningServices:(I)Ljava/util/List; │ │ │ │ - 23: astore 5 │ │ │ │ - 25: aload 5 │ │ │ │ - 27: invokeinterface #69, 1 // InterfaceMethod java/util/List.iterator:()Ljava/util/Iterator; │ │ │ │ - 32: astore 6 │ │ │ │ - 34: aload 6 │ │ │ │ - 36: invokeinterface #75, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z │ │ │ │ - 41: istore 4 │ │ │ │ - 43: iload 4 │ │ │ │ - 45: ifeq 102 │ │ │ │ - 48: aload 6 │ │ │ │ - 50: invokeinterface #79, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object; │ │ │ │ - 55: checkcast #81 // class android/app/ActivityManager$RunningServiceInfo │ │ │ │ - 58: astore 7 │ │ │ │ - 60: aload 7 │ │ │ │ - 62: getfield #85 // Field android/app/ActivityManager$RunningServiceInfo.service:Landroid/content/ComponentName; │ │ │ │ - 65: invokevirtual #90 // Method android/content/ComponentName.getClassName:()Ljava/lang/String; │ │ │ │ - 68: astore_2 │ │ │ │ - 69: aload_2 │ │ │ │ - 70: aload_1 │ │ │ │ - 71: invokevirtual #96 // Method java/lang/String.equals:(Ljava/lang/Object;)Z │ │ │ │ - 74: istore 4 │ │ │ │ - 76: iload 4 │ │ │ │ - 78: ifeq 34 │ │ │ │ - 81: getstatic #14 // Field LOG_TAG:Ljava/lang/String; │ │ │ │ - 84: astore_2 │ │ │ │ - 85: ldc #98 // String Service is running │ │ │ │ - 87: astore 8 │ │ │ │ - 89: aload_2 │ │ │ │ + 0: aload_0 │ │ │ │ + 1: ldc #53 // String activity │ │ │ │ + 3: invokevirtual #57 // Method android/content/Context.getSystemService:(Ljava/lang/String;)Ljava/lang/Object; │ │ │ │ + 6: checkcast #59 // class android/app/ActivityManager │ │ │ │ + 9: astore_2 │ │ │ │ + 10: iconst_m1 │ │ │ │ + 11: iconst_1 │ │ │ │ + 12: iushr │ │ │ │ + 13: istore_3 │ │ │ │ + 14: aload_2 │ │ │ │ + 15: iload_3 │ │ │ │ + 16: invokevirtual #63 // Method android/app/ActivityManager.getRunningServices:(I)Ljava/util/List; │ │ │ │ + 19: astore 4 │ │ │ │ + 21: aload 4 │ │ │ │ + 23: invokeinterface #69, 1 // InterfaceMethod java/util/List.iterator:()Ljava/util/Iterator; │ │ │ │ + 28: astore 5 │ │ │ │ + 30: aload 5 │ │ │ │ + 32: invokeinterface #75, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z │ │ │ │ + 37: istore 6 │ │ │ │ + 39: iload 6 │ │ │ │ + 41: ifeq 100 │ │ │ │ + 44: aload 5 │ │ │ │ + 46: invokeinterface #79, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object; │ │ │ │ + 51: checkcast #81 // class android/app/ActivityManager$RunningServiceInfo │ │ │ │ + 54: astore 7 │ │ │ │ + 56: aload 7 │ │ │ │ + 58: getfield #85 // Field android/app/ActivityManager$RunningServiceInfo.service:Landroid/content/ComponentName; │ │ │ │ + 61: invokevirtual #90 // Method android/content/ComponentName.getClassName:()Ljava/lang/String; │ │ │ │ + 64: astore 8 │ │ │ │ + 66: aload 8 │ │ │ │ + 68: aload_1 │ │ │ │ + 69: invokevirtual #96 // Method java/lang/String.equals:(Ljava/lang/Object;)Z │ │ │ │ + 72: istore 6 │ │ │ │ + 74: iload 6 │ │ │ │ + 76: ifeq 30 │ │ │ │ + 79: getstatic #14 // Field LOG_TAG:Ljava/lang/String; │ │ │ │ + 82: astore 5 │ │ │ │ + 84: ldc #98 // String Service is running │ │ │ │ + 86: astore 8 │ │ │ │ + 88: aload 5 │ │ │ │ 90: aload 8 │ │ │ │ 92: invokestatic #104 // Method android/util/Log.i:(Ljava/lang/String;Ljava/lang/String;)I │ │ │ │ 95: pop │ │ │ │ 96: iconst_1 │ │ │ │ - 97: istore 4 │ │ │ │ - 99: iload 4 │ │ │ │ - 101: ireturn │ │ │ │ - 102: getstatic #14 // Field LOG_TAG:Ljava/lang/String; │ │ │ │ - 105: astore_2 │ │ │ │ - 106: ldc #106 // String Service is not running │ │ │ │ - 108: astore 8 │ │ │ │ - 110: aload_2 │ │ │ │ + 97: istore_3 │ │ │ │ + 98: iload_3 │ │ │ │ + 99: ireturn │ │ │ │ + 100: getstatic #14 // Field LOG_TAG:Ljava/lang/String; │ │ │ │ + 103: astore 5 │ │ │ │ + 105: ldc #106 // String Service is not running │ │ │ │ + 107: astore 8 │ │ │ │ + 109: aload 5 │ │ │ │ 111: aload 8 │ │ │ │ 113: invokestatic #104 // Method android/util/Log.i:(Ljava/lang/String;Ljava/lang/String;)I │ │ │ │ 116: pop │ │ │ │ 117: iconst_0 │ │ │ │ - 118: istore 4 │ │ │ │ - 120: aconst_null │ │ │ │ - 121: astore_2 │ │ │ │ - 122: goto 99 │ │ │ │ + 118: istore_3 │ │ │ │ + 119: aconst_null │ │ │ │ + 120: astore 5 │ │ │ │ + 122: goto 98 │ │ │ │ │ │ │ │ public static void runServiceAction(android.content.Context, java.lang.String); │ │ │ │ descriptor: (Landroid/content/Context;Ljava/lang/String;)V │ │ │ │ flags: ACC_PUBLIC, ACC_STATIC │ │ │ │ Code: │ │ │ │ stack=300, locals=2, args_size=2 │ │ │ │ 0: aload_0 │ │ ├── eu/chainfire/libsuperuser/Shell$Interactive.class │ │ │ ├── procyon -ec {} │ │ │ │ @@ -1,10 +1,11 @@ │ │ │ │ │ │ │ │ package eu.chainfire.libsuperuser; │ │ │ │ │ │ │ │ +import java.io.FilterOutputStream; │ │ │ │ import java.util.concurrent.TimeUnit; │ │ │ │ import java.util.Collections; │ │ │ │ import java.util.ArrayList; │ │ │ │ import java.util.Iterator; │ │ │ │ import java.util.Set; │ │ │ │ import java.io.InputStream; │ │ │ │ import java.io.IOException; │ │ │ │ @@ -385,123 +386,121 @@ │ │ │ │ │ │ │ │ private void runNextCommand() { │ │ │ │ this.runNextCommand(true); │ │ │ │ } │ │ │ │ │ │ │ │ private void runNextCommand(final boolean b) { │ │ │ │ final boolean idle = true; │ │ │ │ + Object o = null; │ │ │ │ final boolean running = this.isRunning(); │ │ │ │ if (!running) { │ │ │ │ this.idle = idle; │ │ │ │ } │ │ │ │ - Label_0578: { │ │ │ │ + Label_0575: { │ │ │ │ if (!running || !this.idle || this.commands.size() <= 0) { │ │ │ │ - break Label_0578; │ │ │ │ + break Label_0575; │ │ │ │ } │ │ │ │ final Shell$Command command = (Shell$Command)this.commands.get(0); │ │ │ │ this.commands.remove(0); │ │ │ │ this.buffer = null; │ │ │ │ this.lastExitCode = 0; │ │ │ │ this.lastMarkerSTDOUT = null; │ │ │ │ this.lastMarkerSTDERR = null; │ │ │ │ - Label_0570: { │ │ │ │ + Label_0567: { │ │ │ │ if (Shell$Command.access$1300(command).length <= 0) { │ │ │ │ - break Label_0570; │ │ │ │ + break Label_0567; │ │ │ │ } │ │ │ │ try { │ │ │ │ - Label_0154: { │ │ │ │ + Label_0151: { │ │ │ │ if (Shell$Command.access$1400(command) == null) { │ │ │ │ - break Label_0154; │ │ │ │ + break Label_0151; │ │ │ │ } │ │ │ │ try { │ │ │ │ this.buffer = Collections.synchronizedList(new ArrayList()); │ │ │ │ this.idle = false; │ │ │ │ try { │ │ │ │ this.command = command; │ │ │ │ this.startWatchdog(); │ │ │ │ final String[] access$1300 = Shell$Command.access$1300(command); │ │ │ │ try { │ │ │ │ final int length = access$1300.length; │ │ │ │ int n = 0; │ │ │ │ while (true) { │ │ │ │ - Label_0346: { │ │ │ │ + Label_0343: { │ │ │ │ if (n >= length) { │ │ │ │ - break Label_0346; │ │ │ │ + break Label_0343; │ │ │ │ } │ │ │ │ final String s = access$1300[n]; │ │ │ │ - final String s2 = "[%s+] %s"; │ │ │ │ - Object o = new Object[2]; │ │ │ │ + o = "[%s+] %s"; │ │ │ │ + final Object[] array = new Object[2]; │ │ │ │ final String shell = this.shell; │ │ │ │ try { │ │ │ │ - o[0] = shell.toUpperCase(Locale.ENGLISH); │ │ │ │ - o[1] = s; │ │ │ │ - final String s3 = s2; │ │ │ │ + array[0] = shell.toUpperCase(Locale.ENGLISH); │ │ │ │ + array[1] = s; │ │ │ │ + final Object o2 = o; │ │ │ │ try { │ │ │ │ - final String format = String.format(s3, (Object[])o); │ │ │ │ + o = String.format((String)o2, array); │ │ │ │ try { │ │ │ │ - Debug.logCommand(format); │ │ │ │ - final DataOutputStream stdin = this.STDIN; │ │ │ │ + Debug.logCommand((String)o); │ │ │ │ + o = this.STDIN; │ │ │ │ try { │ │ │ │ - o = new(java.lang.StringBuilder.class); │ │ │ │ try { │ │ │ │ - new StringBuilder(); │ │ │ │ - final Object[] array = (Object[])o; │ │ │ │ + final StringBuilder sb = new StringBuilder(); │ │ │ │ try { │ │ │ │ - o = ((StringBuilder)array).append(s); │ │ │ │ - o = ((StringBuilder)o).append("\n"); │ │ │ │ + final StringBuilder append = sb.append(s).append("\n"); │ │ │ │ try { │ │ │ │ - o = ((StringBuilder)o).toString(); │ │ │ │ - o = ((String)o).getBytes("UTF-8"); │ │ │ │ - stdin.write((byte[])o); │ │ │ │ + ((FilterOutputStream)o).write(append.toString().getBytes("UTF-8")); │ │ │ │ ++n; │ │ │ │ continue; │ │ │ │ - final DataOutputStream stdin2 = this.STDIN; │ │ │ │ + final DataOutputStream stdin = this.STDIN; │ │ │ │ try { │ │ │ │ o = new(java.lang.StringBuilder.class); │ │ │ │ try { │ │ │ │ new StringBuilder(); │ │ │ │ o = ((StringBuilder)o).append("echo "); │ │ │ │ try { │ │ │ │ o = ((StringBuilder)o).append(Shell$Command.access$1500(command)); │ │ │ │ o = ((StringBuilder)o).append(" $?\n"); │ │ │ │ try { │ │ │ │ o = ((StringBuilder)o).toString(); │ │ │ │ o = ((String)o).getBytes("UTF-8"); │ │ │ │ - stdin2.write((byte[])o); │ │ │ │ - final DataOutputStream stdin3 = this.STDIN; │ │ │ │ + stdin.write((byte[])o); │ │ │ │ + final DataOutputStream stdin2 = this.STDIN; │ │ │ │ try { │ │ │ │ o = new(java.lang.StringBuilder.class); │ │ │ │ try { │ │ │ │ new StringBuilder(); │ │ │ │ o = ((StringBuilder)o).append("echo "); │ │ │ │ try { │ │ │ │ o = ((StringBuilder)o).append(Shell$Command.access$1500(command)); │ │ │ │ o = ((StringBuilder)o).append(" >&2\n"); │ │ │ │ try { │ │ │ │ o = ((StringBuilder)o).toString(); │ │ │ │ o = ((String)o).getBytes("UTF-8"); │ │ │ │ - stdin3.write((byte[])o); │ │ │ │ - final DataOutputStream stdin4 = this.STDIN; │ │ │ │ + stdin2.write((byte[])o); │ │ │ │ + final DataOutputStream stdin3 = this.STDIN; │ │ │ │ try { │ │ │ │ - stdin4.flush(); │ │ │ │ - Label_0533: │ │ │ │ + stdin3.flush(); │ │ │ │ + Label_0580_Outer: │ │ │ │ while (true) { │ │ │ │ if (!this.idle || !b) { │ │ │ │ return; │ │ │ │ } │ │ │ │ synchronized (this.idleSync) { │ │ │ │ this.idleSync.notifyAll(); │ │ │ │ return; │ │ │ │ - // iftrue(Label_0533:, running) │ │ │ │ - Label_0583: { │ │ │ │ - break Label_0583; │ │ │ │ - this.runNextCommand(false); │ │ │ │ + this.runNextCommand(false); │ │ │ │ + continue Label_0580_Outer; │ │ │ │ + // iftrue(Label_0530:, this.commands.size() <= 0) │ │ │ │ + // iftrue(Label_0530:, running) │ │ │ │ + Block_51: │ │ │ │ + while (true) { │ │ │ │ + break Block_51; │ │ │ │ continue; │ │ │ │ } │ │ │ │ - // iftrue(Label_0533:, this.commands.size() <= 0) │ │ │ │ this.postCallback(this.commands.remove(0), -2, null); │ │ │ │ } │ │ │ │ } │ │ │ │ } │ │ │ │ catch (IOException ex) {} │ │ │ │ } │ │ │ │ catch (IOException ex2) {} │ │ ├── eu/chainfire/libsuperuser/Shell$SU.class │ │ │ ├── procyon -ec {} │ │ │ │ @@ -151,17 +151,17 @@ │ │ │ │ } │ │ │ │ │ │ │ │ public static String version(final boolean b) { │ │ │ │ final int n = 1; │ │ │ │ int n2 = 0; │ │ │ │ final Class clazz = Shell$SU.class; │ │ │ │ // monitorenter(clazz) │ │ │ │ - Label_0167: { │ │ │ │ + Label_0171: { │ │ │ │ if (!b) { │ │ │ │ - break Label_0167; │ │ │ │ + break Label_0171; │ │ │ │ } │ │ │ │ try { │ │ │ │ while (true) { │ │ │ │ if (Shell$SU.suVersion[n2] == null) { │ │ │ │ String s = null; │ │ │ │ String s2; │ │ │ │ if (b) { │ │ ├── eu/chainfire/libsuperuser/Shell.class │ │ │ ├── procyon -ec {} │ │ │ │ @@ -69,608 +69,612 @@ │ │ │ │ // 48: ldc "Application attempted to run a shell command from the main thread" │ │ │ │ // 50: invokespecial eu/chainfire/libsuperuser/ShellOnMainThreadException.:(Ljava/lang/String;)V │ │ │ │ // 53: aload 4 │ │ │ │ // 55: athrow │ │ │ │ // 56: iconst_1 │ │ │ │ // 57: istore 8 │ │ │ │ // 59: iload 8 │ │ │ │ - // 61: anewarray Ljava/lang/Object; │ │ │ │ - // 64: astore 5 │ │ │ │ - // 66: aload 5 │ │ │ │ - // 68: astore 9 │ │ │ │ - // 70: iconst_0 │ │ │ │ - // 71: istore 10 │ │ │ │ - // 73: aconst_null │ │ │ │ - // 74: astore 11 │ │ │ │ - // 76: aload 5 │ │ │ │ - // 78: iconst_0 │ │ │ │ - // 79: aload 6 │ │ │ │ - // 81: aastore │ │ │ │ - // 82: ldc "[%s%%] START" │ │ │ │ - // 84: aload 5 │ │ │ │ - // 86: invokestatic java/lang/String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; │ │ │ │ - // 89: invokestatic eu/chainfire/libsuperuser/Debug.logCommand:(Ljava/lang/String;)V │ │ │ │ - // 92: new Ljava/util/ArrayList; │ │ │ │ - // 95: astore 4 │ │ │ │ - // 97: aload 4 │ │ │ │ - // 99: invokespecial java/util/ArrayList.:()V │ │ │ │ - // 102: aload 4 │ │ │ │ - // 104: invokestatic java/util/Collections.synchronizedList:(Ljava/util/List;)Ljava/util/List; │ │ │ │ - // 107: astore 12 │ │ │ │ - // 109: aload_2 │ │ │ │ - // 110: ifnull 422 │ │ │ │ - // 113: new Ljava/util/HashMap; │ │ │ │ - // 116: astore 13 │ │ │ │ - // 118: aload 13 │ │ │ │ - // 120: invokespecial java/util/HashMap.:()V │ │ │ │ - // 123: invokestatic java/lang/System.getenv:()Ljava/util/Map; │ │ │ │ - // 126: astore 4 │ │ │ │ - // 128: aload 4 │ │ │ │ - // 130: astore 5 │ │ │ │ - // 132: aload 13 │ │ │ │ - // 134: aload 4 │ │ │ │ - // 136: invokeinterface java/util/Map.putAll:(Ljava/util/Map;)V │ │ │ │ + // 61: istore 9 │ │ │ │ + // 63: iload 8 │ │ │ │ + // 65: anewarray Ljava/lang/Object; │ │ │ │ + // 68: astore 5 │ │ │ │ + // 70: aload 5 │ │ │ │ + // 72: astore 10 │ │ │ │ + // 74: aconst_null │ │ │ │ + // 75: astore 11 │ │ │ │ + // 77: aload 5 │ │ │ │ + // 79: iconst_0 │ │ │ │ + // 80: aload 6 │ │ │ │ + // 82: aastore │ │ │ │ + // 83: ldc "[%s%%] START" │ │ │ │ + // 85: aload 5 │ │ │ │ + // 87: invokestatic java/lang/String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; │ │ │ │ + // 90: invokestatic eu/chainfire/libsuperuser/Debug.logCommand:(Ljava/lang/String;)V │ │ │ │ + // 93: new Ljava/util/ArrayList; │ │ │ │ + // 96: astore 4 │ │ │ │ + // 98: aload 4 │ │ │ │ + // 100: invokespecial java/util/ArrayList.:()V │ │ │ │ + // 103: aload 4 │ │ │ │ + // 105: invokestatic java/util/Collections.synchronizedList:(Ljava/util/List;)Ljava/util/List; │ │ │ │ + // 108: astore 12 │ │ │ │ + // 110: aload_2 │ │ │ │ + // 111: ifnull 434 │ │ │ │ + // 114: new Ljava/util/HashMap; │ │ │ │ + // 117: astore 13 │ │ │ │ + // 119: aload 13 │ │ │ │ + // 121: invokespecial java/util/HashMap.:()V │ │ │ │ + // 124: invokestatic java/lang/System.getenv:()Ljava/util/Map; │ │ │ │ + // 127: astore 4 │ │ │ │ + // 129: aload 13 │ │ │ │ + // 131: aload 4 │ │ │ │ + // 133: invokeinterface java/util/Map.putAll:(Ljava/util/Map;)V │ │ │ │ + // 138: aload_2 │ │ │ │ + // 139: astore 5 │ │ │ │ // 141: aload_2 │ │ │ │ - // 142: astore 14 │ │ │ │ - // 144: aload_2 │ │ │ │ - // 145: arraylength │ │ │ │ - // 146: istore 15 │ │ │ │ - // 148: iconst_0 │ │ │ │ - // 149: istore 16 │ │ │ │ - // 151: aconst_null │ │ │ │ - // 152: astore 17 │ │ │ │ - // 154: iload 16 │ │ │ │ - // 156: iload 15 │ │ │ │ - // 158: if_icmpge 249 │ │ │ │ - // 161: aload 14 │ │ │ │ - // 163: iload 16 │ │ │ │ - // 165: aaload │ │ │ │ - // 166: astore 18 │ │ │ │ - // 168: ldc "=" │ │ │ │ - // 170: astore 4 │ │ │ │ - // 172: aload 4 │ │ │ │ - // 174: astore 5 │ │ │ │ - // 176: aload 18 │ │ │ │ - // 178: aload 4 │ │ │ │ - // 180: invokevirtual java/lang/String.indexOf:(Ljava/lang/String;)I │ │ │ │ - // 183: istore 19 │ │ │ │ - // 185: iload 19 │ │ │ │ - // 187: iflt 240 │ │ │ │ - // 190: iconst_0 │ │ │ │ - // 191: istore 7 │ │ │ │ - // 193: aconst_null │ │ │ │ - // 194: astore 4 │ │ │ │ - // 196: aconst_null │ │ │ │ - // 197: astore 5 │ │ │ │ - // 199: aload 18 │ │ │ │ - // 201: iconst_0 │ │ │ │ - // 202: iload 19 │ │ │ │ - // 204: invokevirtual java/lang/String.substring:(II)Ljava/lang/String; │ │ │ │ - // 207: astore 4 │ │ │ │ - // 209: iload 19 │ │ │ │ - // 211: iconst_1 │ │ │ │ - // 212: iadd │ │ │ │ - // 213: istore 8 │ │ │ │ - // 215: aload 18 │ │ │ │ - // 217: iload 8 │ │ │ │ - // 219: invokevirtual java/lang/String.substring:(I)Ljava/lang/String; │ │ │ │ - // 222: astore 9 │ │ │ │ - // 224: aload 4 │ │ │ │ - // 226: astore 5 │ │ │ │ - // 228: aload 13 │ │ │ │ - // 230: aload 4 │ │ │ │ - // 232: aload 9 │ │ │ │ - // 234: invokeinterface java/util/Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; │ │ │ │ - // 239: pop │ │ │ │ - // 240: iload 16 │ │ │ │ - // 242: iconst_1 │ │ │ │ - // 243: iadd │ │ │ │ - // 244: istore 16 │ │ │ │ - // 246: goto 154 │ │ │ │ - // 249: iconst_0 │ │ │ │ - // 250: istore 20 │ │ │ │ - // 252: aload 13 │ │ │ │ - // 254: invokeinterface java/util/Map.size:()I │ │ │ │ - // 259: istore 7 │ │ │ │ - // 261: iload 7 │ │ │ │ - // 263: anewarray Ljava/lang/String; │ │ │ │ - // 266: astore 5 │ │ │ │ - // 268: aload 5 │ │ │ │ - // 270: astore_2 │ │ │ │ - // 271: aload 13 │ │ │ │ - // 273: invokeinterface java/util/Map.entrySet:()Ljava/util/Set; │ │ │ │ - // 278: astore 4 │ │ │ │ - // 280: aload 4 │ │ │ │ - // 282: invokeinterface java/util/Set.iterator:()Ljava/util/Iterator; │ │ │ │ - // 287: astore 17 │ │ │ │ - // 289: aload 17 │ │ │ │ - // 291: invokeinterface java/util/Iterator.hasNext:()Z │ │ │ │ - // 296: istore 7 │ │ │ │ - // 298: iload 7 │ │ │ │ - // 300: ifeq 422 │ │ │ │ - // 303: aload 17 │ │ │ │ - // 305: invokeinterface java/util/Iterator.next:()Ljava/lang/Object; │ │ │ │ - // 310: astore 21 │ │ │ │ - // 312: aload 21 │ │ │ │ - // 314: checkcast Ljava/util/Map$Entry; │ │ │ │ - // 317: astore 21 │ │ │ │ - // 319: new Ljava/lang/StringBuilder; │ │ │ │ - // 322: astore 9 │ │ │ │ - // 324: aload 9 │ │ │ │ - // 326: invokespecial java/lang/StringBuilder.:()V │ │ │ │ - // 329: aload 21 │ │ │ │ - // 331: invokeinterface java/util/Map$Entry.getKey:()Ljava/lang/Object; │ │ │ │ - // 336: astore 4 │ │ │ │ - // 338: aload 4 │ │ │ │ - // 340: checkcast Ljava/lang/String; │ │ │ │ - // 343: astore 4 │ │ │ │ - // 345: aload 9 │ │ │ │ - // 347: astore 5 │ │ │ │ - // 349: aload 9 │ │ │ │ - // 351: aload 4 │ │ │ │ - // 353: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ │ │ - // 356: astore 4 │ │ │ │ - // 358: ldc "=" │ │ │ │ - // 360: astore 9 │ │ │ │ - // 362: aload 4 │ │ │ │ - // 364: aload 9 │ │ │ │ - // 366: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ │ │ - // 369: astore 9 │ │ │ │ - // 371: aload 21 │ │ │ │ - // 373: invokeinterface java/util/Map$Entry.getValue:()Ljava/lang/Object; │ │ │ │ - // 378: astore 4 │ │ │ │ - // 380: aload 4 │ │ │ │ - // 382: checkcast Ljava/lang/String; │ │ │ │ - // 385: astore 4 │ │ │ │ - // 387: aload 9 │ │ │ │ - // 389: astore 5 │ │ │ │ - // 391: aload 9 │ │ │ │ - // 393: aload 4 │ │ │ │ - // 395: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ │ │ - // 398: astore 4 │ │ │ │ - // 400: aload 4 │ │ │ │ - // 402: invokevirtual java/lang/StringBuilder.toString:()Ljava/lang/String; │ │ │ │ - // 405: astore 4 │ │ │ │ - // 407: aload_2 │ │ │ │ - // 408: iload 20 │ │ │ │ - // 410: aload 4 │ │ │ │ - // 412: aastore │ │ │ │ - // 413: iload 20 │ │ │ │ - // 415: iconst_1 │ │ │ │ - // 416: iadd │ │ │ │ - // 417: istore 20 │ │ │ │ - // 419: goto 289 │ │ │ │ - // 422: invokestatic java/lang/Runtime.getRuntime:()Ljava/lang/Runtime; │ │ │ │ - // 425: astore 4 │ │ │ │ - // 427: aload 4 │ │ │ │ - // 429: astore 5 │ │ │ │ - // 431: aload 4 │ │ │ │ - // 433: aload_0 │ │ │ │ - // 434: aload_2 │ │ │ │ - // 435: invokevirtual java/lang/Runtime.exec:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/Process; │ │ │ │ - // 438: astore 22 │ │ │ │ - // 440: new Ljava/io/DataOutputStream; │ │ │ │ - // 443: astore 23 │ │ │ │ - // 445: aload 22 │ │ │ │ - // 447: invokevirtual java/lang/Process.getOutputStream:()Ljava/io/OutputStream; │ │ │ │ - // 450: astore 4 │ │ │ │ - // 452: aload 4 │ │ │ │ - // 454: astore 5 │ │ │ │ - // 456: aload 23 │ │ │ │ - // 458: aload 4 │ │ │ │ - // 460: invokespecial java/io/DataOutputStream.:(Ljava/io/OutputStream;)V │ │ │ │ - // 463: new Leu/chainfire/libsuperuser/StreamGobbler; │ │ │ │ - // 466: astore 24 │ │ │ │ - // 468: new Ljava/lang/StringBuilder; │ │ │ │ - // 471: astore 4 │ │ │ │ - // 473: aload 4 │ │ │ │ - // 475: invokespecial java/lang/StringBuilder.:()V │ │ │ │ - // 478: aload 4 │ │ │ │ - // 480: astore 5 │ │ │ │ - // 482: aload 4 │ │ │ │ - // 484: aload 6 │ │ │ │ - // 486: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ │ │ - // 489: astore 4 │ │ │ │ - // 491: ldc "-" │ │ │ │ - // 493: astore 9 │ │ │ │ - // 495: aload 4 │ │ │ │ - // 497: aload 9 │ │ │ │ - // 499: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ │ │ - // 502: astore 4 │ │ │ │ - // 504: aload 4 │ │ │ │ - // 506: invokevirtual java/lang/StringBuilder.toString:()Ljava/lang/String; │ │ │ │ - // 509: astore 4 │ │ │ │ - // 511: aload 22 │ │ │ │ - // 513: invokevirtual java/lang/Process.getInputStream:()Ljava/io/InputStream; │ │ │ │ - // 516: astore 9 │ │ │ │ - // 518: aload 4 │ │ │ │ - // 520: astore 5 │ │ │ │ - // 522: aload 24 │ │ │ │ - // 524: aload 4 │ │ │ │ - // 526: aload 9 │ │ │ │ - // 528: aload 12 │ │ │ │ - // 530: invokespecial eu/chainfire/libsuperuser/StreamGobbler.:(Ljava/lang/String;Ljava/io/InputStream;Ljava/util/List;)V │ │ │ │ - // 533: new Leu/chainfire/libsuperuser/StreamGobbler; │ │ │ │ - // 536: astore 25 │ │ │ │ - // 538: new Ljava/lang/StringBuilder; │ │ │ │ - // 541: astore 4 │ │ │ │ - // 543: aload 4 │ │ │ │ - // 545: invokespecial java/lang/StringBuilder.:()V │ │ │ │ - // 548: aload 4 │ │ │ │ - // 550: astore 5 │ │ │ │ - // 552: aload 4 │ │ │ │ - // 554: aload 6 │ │ │ │ - // 556: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ │ │ - // 559: astore 4 │ │ │ │ - // 561: ldc "*" │ │ │ │ - // 563: astore 9 │ │ │ │ - // 565: aload 4 │ │ │ │ - // 567: aload 9 │ │ │ │ - // 569: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ │ │ - // 572: astore 4 │ │ │ │ - // 574: aload 4 │ │ │ │ - // 576: invokevirtual java/lang/StringBuilder.toString:()Ljava/lang/String; │ │ │ │ - // 579: astore 9 │ │ │ │ - // 581: aload 22 │ │ │ │ - // 583: invokevirtual java/lang/Process.getErrorStream:()Ljava/io/InputStream; │ │ │ │ - // 586: astore 11 │ │ │ │ - // 588: iload_3 │ │ │ │ - // 589: ifeq 783 │ │ │ │ - // 592: aload 12 │ │ │ │ - // 594: astore 4 │ │ │ │ - // 596: aload 9 │ │ │ │ - // 598: astore 5 │ │ │ │ - // 600: aload 25 │ │ │ │ - // 602: aload 9 │ │ │ │ - // 604: aload 11 │ │ │ │ - // 606: aload 4 │ │ │ │ - // 608: invokespecial eu/chainfire/libsuperuser/StreamGobbler.:(Ljava/lang/String;Ljava/io/InputStream;Ljava/util/List;)V │ │ │ │ - // 611: aload 24 │ │ │ │ - // 613: invokevirtual eu/chainfire/libsuperuser/StreamGobbler.start:()V │ │ │ │ - // 616: aload 25 │ │ │ │ - // 618: invokevirtual eu/chainfire/libsuperuser/StreamGobbler.start:()V │ │ │ │ - // 621: aload_1 │ │ │ │ - // 622: astore 14 │ │ │ │ - // 624: aload_1 │ │ │ │ - // 625: arraylength │ │ │ │ - // 626: istore 15 │ │ │ │ - // 628: iconst_0 │ │ │ │ - // 629: istore 16 │ │ │ │ - // 631: aconst_null │ │ │ │ - // 632: astore 17 │ │ │ │ - // 634: iload 16 │ │ │ │ - // 636: iload 15 │ │ │ │ - // 638: if_icmpge 792 │ │ │ │ - // 641: aload 14 │ │ │ │ - // 643: iload 16 │ │ │ │ - // 645: aaload │ │ │ │ - // 646: astore 26 │ │ │ │ - // 648: ldc "[%s+] %s" │ │ │ │ - // 650: astore 4 │ │ │ │ - // 652: iconst_2 │ │ │ │ - // 653: istore 8 │ │ │ │ - // 655: iload 8 │ │ │ │ - // 657: anewarray Ljava/lang/Object; │ │ │ │ - // 660: astore 5 │ │ │ │ - // 662: aload 5 │ │ │ │ - // 664: astore 9 │ │ │ │ - // 666: iconst_0 │ │ │ │ - // 667: istore 10 │ │ │ │ - // 669: aconst_null │ │ │ │ - // 670: astore 11 │ │ │ │ + // 142: arraylength │ │ │ │ + // 143: istore 9 │ │ │ │ + // 145: iload 9 │ │ │ │ + // 147: istore 8 │ │ │ │ + // 149: iconst_0 │ │ │ │ + // 150: istore 7 │ │ │ │ + // 152: aconst_null │ │ │ │ + // 153: astore 4 │ │ │ │ + // 155: iload 8 │ │ │ │ + // 157: istore 9 │ │ │ │ + // 159: iload 7 │ │ │ │ + // 161: iload 8 │ │ │ │ + // 163: if_icmpge 257 │ │ │ │ + // 166: aload_2 │ │ │ │ + // 167: iload 7 │ │ │ │ + // 169: aaload │ │ │ │ + // 170: astore 14 │ │ │ │ + // 172: ldc "=" │ │ │ │ + // 174: astore 11 │ │ │ │ + // 176: aload 11 │ │ │ │ + // 178: astore 5 │ │ │ │ + // 180: aload 14 │ │ │ │ + // 182: aload 11 │ │ │ │ + // 184: invokevirtual java/lang/String.indexOf:(Ljava/lang/String;)I │ │ │ │ + // 187: istore 15 │ │ │ │ + // 189: iload 15 │ │ │ │ + // 191: iflt 248 │ │ │ │ + // 194: aconst_null │ │ │ │ + // 195: astore 11 │ │ │ │ + // 197: iconst_0 │ │ │ │ + // 198: istore 9 │ │ │ │ + // 200: aconst_null │ │ │ │ + // 201: astore 5 │ │ │ │ + // 203: aload 14 │ │ │ │ + // 205: iconst_0 │ │ │ │ + // 206: iload 15 │ │ │ │ + // 208: invokevirtual java/lang/String.substring:(II)Ljava/lang/String; │ │ │ │ + // 211: astore 11 │ │ │ │ + // 213: iload 15 │ │ │ │ + // 215: iconst_1 │ │ │ │ + // 216: iadd │ │ │ │ + // 217: istore 16 │ │ │ │ + // 219: iload 16 │ │ │ │ + // 221: istore 9 │ │ │ │ + // 223: aload 14 │ │ │ │ + // 225: iload 16 │ │ │ │ + // 227: invokevirtual java/lang/String.substring:(I)Ljava/lang/String; │ │ │ │ + // 230: astore 17 │ │ │ │ + // 232: aload 11 │ │ │ │ + // 234: astore 5 │ │ │ │ + // 236: aload 13 │ │ │ │ + // 238: aload 11 │ │ │ │ + // 240: aload 17 │ │ │ │ + // 242: invokeinterface java/util/Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; │ │ │ │ + // 247: pop │ │ │ │ + // 248: iload 7 │ │ │ │ + // 250: iconst_1 │ │ │ │ + // 251: iadd │ │ │ │ + // 252: istore 7 │ │ │ │ + // 254: goto 155 │ │ │ │ + // 257: iconst_0 │ │ │ │ + // 258: istore 18 │ │ │ │ + // 260: aload 13 │ │ │ │ + // 262: invokeinterface java/util/Map.size:()I │ │ │ │ + // 267: istore 7 │ │ │ │ + // 269: iload 7 │ │ │ │ + // 271: anewarray Ljava/lang/String; │ │ │ │ + // 274: astore 5 │ │ │ │ + // 276: aload 5 │ │ │ │ + // 278: astore_2 │ │ │ │ + // 279: aload 13 │ │ │ │ + // 281: invokeinterface java/util/Map.entrySet:()Ljava/util/Set; │ │ │ │ + // 286: astore 4 │ │ │ │ + // 288: aload 4 │ │ │ │ + // 290: invokeinterface java/util/Set.iterator:()Ljava/util/Iterator; │ │ │ │ + // 295: astore 10 │ │ │ │ + // 297: aload 10 │ │ │ │ + // 299: invokeinterface java/util/Iterator.hasNext:()Z │ │ │ │ + // 304: istore 7 │ │ │ │ + // 306: iload 7 │ │ │ │ + // 308: ifeq 434 │ │ │ │ + // 311: aload 10 │ │ │ │ + // 313: invokeinterface java/util/Iterator.next:()Ljava/lang/Object; │ │ │ │ + // 318: astore 19 │ │ │ │ + // 320: aload 19 │ │ │ │ + // 322: checkcast Ljava/util/Map$Entry; │ │ │ │ + // 325: astore 19 │ │ │ │ + // 327: new Ljava/lang/StringBuilder; │ │ │ │ + // 330: astore 11 │ │ │ │ + // 332: aload 11 │ │ │ │ + // 334: invokespecial java/lang/StringBuilder.:()V │ │ │ │ + // 337: aload 19 │ │ │ │ + // 339: invokeinterface java/util/Map$Entry.getKey:()Ljava/lang/Object; │ │ │ │ + // 344: astore 4 │ │ │ │ + // 346: aload 4 │ │ │ │ + // 348: checkcast Ljava/lang/String; │ │ │ │ + // 351: astore 4 │ │ │ │ + // 353: aload 11 │ │ │ │ + // 355: astore 5 │ │ │ │ + // 357: aload 11 │ │ │ │ + // 359: aload 4 │ │ │ │ + // 361: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ │ │ + // 364: astore 4 │ │ │ │ + // 366: ldc "=" │ │ │ │ + // 368: astore 11 │ │ │ │ + // 370: aload 11 │ │ │ │ + // 372: astore 5 │ │ │ │ + // 374: aload 4 │ │ │ │ + // 376: aload 11 │ │ │ │ + // 378: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ │ │ + // 381: astore 11 │ │ │ │ + // 383: aload 19 │ │ │ │ + // 385: invokeinterface java/util/Map$Entry.getValue:()Ljava/lang/Object; │ │ │ │ + // 390: astore 4 │ │ │ │ + // 392: aload 4 │ │ │ │ + // 394: checkcast Ljava/lang/String; │ │ │ │ + // 397: astore 4 │ │ │ │ + // 399: aload 11 │ │ │ │ + // 401: astore 5 │ │ │ │ + // 403: aload 11 │ │ │ │ + // 405: aload 4 │ │ │ │ + // 407: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ │ │ + // 410: astore 4 │ │ │ │ + // 412: aload 4 │ │ │ │ + // 414: invokevirtual java/lang/StringBuilder.toString:()Ljava/lang/String; │ │ │ │ + // 417: astore 4 │ │ │ │ + // 419: aload_2 │ │ │ │ + // 420: iload 18 │ │ │ │ + // 422: aload 4 │ │ │ │ + // 424: aastore │ │ │ │ + // 425: iload 18 │ │ │ │ + // 427: iconst_1 │ │ │ │ + // 428: iadd │ │ │ │ + // 429: istore 18 │ │ │ │ + // 431: goto 297 │ │ │ │ + // 434: invokestatic java/lang/Runtime.getRuntime:()Ljava/lang/Runtime; │ │ │ │ + // 437: astore 4 │ │ │ │ + // 439: aload_0 │ │ │ │ + // 440: astore 5 │ │ │ │ + // 442: aload 4 │ │ │ │ + // 444: aload_0 │ │ │ │ + // 445: aload_2 │ │ │ │ + // 446: invokevirtual java/lang/Runtime.exec:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/Process; │ │ │ │ + // 449: astore 20 │ │ │ │ + // 451: new Ljava/io/DataOutputStream; │ │ │ │ + // 454: astore 21 │ │ │ │ + // 456: aload 20 │ │ │ │ + // 458: invokevirtual java/lang/Process.getOutputStream:()Ljava/io/OutputStream; │ │ │ │ + // 461: astore 4 │ │ │ │ + // 463: aload 21 │ │ │ │ + // 465: aload 4 │ │ │ │ + // 467: invokespecial java/io/DataOutputStream.:(Ljava/io/OutputStream;)V │ │ │ │ + // 470: new Leu/chainfire/libsuperuser/StreamGobbler; │ │ │ │ + // 473: astore 22 │ │ │ │ + // 475: new Ljava/lang/StringBuilder; │ │ │ │ + // 478: astore 4 │ │ │ │ + // 480: aload 4 │ │ │ │ + // 482: invokespecial java/lang/StringBuilder.:()V │ │ │ │ + // 485: aload 4 │ │ │ │ + // 487: aload 6 │ │ │ │ + // 489: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ │ │ + // 492: astore 4 │ │ │ │ + // 494: ldc "-" │ │ │ │ + // 496: astore 10 │ │ │ │ + // 498: aload 4 │ │ │ │ + // 500: aload 10 │ │ │ │ + // 502: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ │ │ + // 505: astore 4 │ │ │ │ + // 507: aload 4 │ │ │ │ + // 509: invokevirtual java/lang/StringBuilder.toString:()Ljava/lang/String; │ │ │ │ + // 512: astore 4 │ │ │ │ + // 514: aload 20 │ │ │ │ + // 516: invokevirtual java/lang/Process.getInputStream:()Ljava/io/InputStream; │ │ │ │ + // 519: astore 10 │ │ │ │ + // 521: aload 10 │ │ │ │ + // 523: astore 5 │ │ │ │ + // 525: aload 22 │ │ │ │ + // 527: aload 4 │ │ │ │ + // 529: aload 10 │ │ │ │ + // 531: aload 12 │ │ │ │ + // 533: invokespecial eu/chainfire/libsuperuser/StreamGobbler.:(Ljava/lang/String;Ljava/io/InputStream;Ljava/util/List;)V │ │ │ │ + // 536: new Leu/chainfire/libsuperuser/StreamGobbler; │ │ │ │ + // 539: astore 23 │ │ │ │ + // 541: new Ljava/lang/StringBuilder; │ │ │ │ + // 544: astore 4 │ │ │ │ + // 546: aload 4 │ │ │ │ + // 548: invokespecial java/lang/StringBuilder.:()V │ │ │ │ + // 551: aload 4 │ │ │ │ + // 553: aload 6 │ │ │ │ + // 555: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ │ │ + // 558: astore 4 │ │ │ │ + // 560: ldc "*" │ │ │ │ + // 562: astore 10 │ │ │ │ + // 564: aload 4 │ │ │ │ + // 566: aload 10 │ │ │ │ + // 568: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ │ │ + // 571: astore 4 │ │ │ │ + // 573: aload 4 │ │ │ │ + // 575: invokevirtual java/lang/StringBuilder.toString:()Ljava/lang/String; │ │ │ │ + // 578: astore 10 │ │ │ │ + // 580: aload 20 │ │ │ │ + // 582: invokevirtual java/lang/Process.getErrorStream:()Ljava/io/InputStream; │ │ │ │ + // 585: astore 11 │ │ │ │ + // 587: iload_3 │ │ │ │ + // 588: ifeq 790 │ │ │ │ + // 591: aload 12 │ │ │ │ + // 593: astore 4 │ │ │ │ + // 595: aload 10 │ │ │ │ + // 597: astore 5 │ │ │ │ + // 599: aload 23 │ │ │ │ + // 601: aload 10 │ │ │ │ + // 603: aload 11 │ │ │ │ + // 605: aload 4 │ │ │ │ + // 607: invokespecial eu/chainfire/libsuperuser/StreamGobbler.:(Ljava/lang/String;Ljava/io/InputStream;Ljava/util/List;)V │ │ │ │ + // 610: aload 22 │ │ │ │ + // 612: invokevirtual eu/chainfire/libsuperuser/StreamGobbler.start:()V │ │ │ │ + // 615: aload 23 │ │ │ │ + // 617: invokevirtual eu/chainfire/libsuperuser/StreamGobbler.start:()V │ │ │ │ + // 620: aload_1 │ │ │ │ + // 621: astore 5 │ │ │ │ + // 623: aload_1 │ │ │ │ + // 624: arraylength │ │ │ │ + // 625: istore 9 │ │ │ │ + // 627: iload 9 │ │ │ │ + // 629: istore 8 │ │ │ │ + // 631: iconst_0 │ │ │ │ + // 632: istore 7 │ │ │ │ + // 634: aconst_null │ │ │ │ + // 635: astore 4 │ │ │ │ + // 637: iload 8 │ │ │ │ + // 639: istore 9 │ │ │ │ + // 641: iload 7 │ │ │ │ + // 643: iload 8 │ │ │ │ + // 645: if_icmpge 799 │ │ │ │ + // 648: aload_1 │ │ │ │ + // 649: iload 7 │ │ │ │ + // 651: aaload │ │ │ │ + // 652: astore 24 │ │ │ │ + // 654: ldc "[%s+] %s" │ │ │ │ + // 656: astore 11 │ │ │ │ + // 658: iconst_2 │ │ │ │ + // 659: istore 16 │ │ │ │ + // 661: iload 16 │ │ │ │ + // 663: istore 9 │ │ │ │ + // 665: iload 16 │ │ │ │ + // 667: anewarray Ljava/lang/Object; │ │ │ │ + // 670: astore 5 │ │ │ │ // 672: aload 5 │ │ │ │ - // 674: iconst_0 │ │ │ │ - // 675: aload 6 │ │ │ │ - // 677: aastore │ │ │ │ - // 678: iconst_1 │ │ │ │ - // 679: istore 10 │ │ │ │ - // 681: aload 5 │ │ │ │ - // 683: iload 10 │ │ │ │ - // 685: aload 26 │ │ │ │ - // 687: aastore │ │ │ │ - // 688: aload 4 │ │ │ │ - // 690: aload 5 │ │ │ │ - // 692: invokestatic java/lang/String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; │ │ │ │ - // 695: astore 4 │ │ │ │ - // 697: aload 4 │ │ │ │ - // 699: invokestatic eu/chainfire/libsuperuser/Debug.logCommand:(Ljava/lang/String;)V │ │ │ │ - // 702: new Ljava/lang/StringBuilder; │ │ │ │ - // 705: astore 4 │ │ │ │ - // 707: aload 4 │ │ │ │ - // 709: invokespecial java/lang/StringBuilder.:()V │ │ │ │ - // 712: aload 4 │ │ │ │ - // 714: astore 5 │ │ │ │ - // 716: aload 4 │ │ │ │ - // 718: aload 26 │ │ │ │ - // 720: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ │ │ - // 723: astore 4 │ │ │ │ - // 725: ldc "\n" │ │ │ │ - // 727: astore 9 │ │ │ │ - // 729: aload 4 │ │ │ │ - // 731: aload 9 │ │ │ │ - // 733: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ │ │ - // 736: astore 4 │ │ │ │ - // 738: aload 4 │ │ │ │ - // 740: invokevirtual java/lang/StringBuilder.toString:()Ljava/lang/String; │ │ │ │ - // 743: astore 4 │ │ │ │ - // 745: ldc "UTF-8" │ │ │ │ - // 747: astore 9 │ │ │ │ - // 749: aload 4 │ │ │ │ - // 751: aload 9 │ │ │ │ - // 753: invokevirtual java/lang/String.getBytes:(Ljava/lang/String;)[B │ │ │ │ - // 756: astore 4 │ │ │ │ - // 758: aload 4 │ │ │ │ - // 760: astore 5 │ │ │ │ - // 762: aload 23 │ │ │ │ - // 764: aload 4 │ │ │ │ - // 766: invokevirtual java/io/DataOutputStream.write:([B)V │ │ │ │ - // 769: aload 23 │ │ │ │ - // 771: invokevirtual java/io/DataOutputStream.flush:()V │ │ │ │ - // 774: iload 16 │ │ │ │ - // 776: iconst_1 │ │ │ │ - // 777: iadd │ │ │ │ - // 778: istore 16 │ │ │ │ - // 780: goto 634 │ │ │ │ - // 783: iconst_0 │ │ │ │ - // 784: istore 7 │ │ │ │ - // 786: aconst_null │ │ │ │ - // 787: astore 4 │ │ │ │ - // 789: goto 596 │ │ │ │ - // 792: ldc "exit\n" │ │ │ │ + // 674: astore 17 │ │ │ │ + // 676: iconst_0 │ │ │ │ + // 677: istore 25 │ │ │ │ + // 679: aload 5 │ │ │ │ + // 681: iconst_0 │ │ │ │ + // 682: aload 6 │ │ │ │ + // 684: aastore │ │ │ │ + // 685: iconst_1 │ │ │ │ + // 686: istore 25 │ │ │ │ + // 688: aload 5 │ │ │ │ + // 690: iload 25 │ │ │ │ + // 692: aload 24 │ │ │ │ + // 694: aastore │ │ │ │ + // 695: aload 11 │ │ │ │ + // 697: aload 5 │ │ │ │ + // 699: invokestatic java/lang/String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; │ │ │ │ + // 702: astore 11 │ │ │ │ + // 704: aload 11 │ │ │ │ + // 706: invokestatic eu/chainfire/libsuperuser/Debug.logCommand:(Ljava/lang/String;)V │ │ │ │ + // 709: new Ljava/lang/StringBuilder; │ │ │ │ + // 712: astore 11 │ │ │ │ + // 714: aload 11 │ │ │ │ + // 716: invokespecial java/lang/StringBuilder.:()V │ │ │ │ + // 719: aload 11 │ │ │ │ + // 721: astore 5 │ │ │ │ + // 723: aload 11 │ │ │ │ + // 725: aload 24 │ │ │ │ + // 727: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ │ │ + // 730: astore 11 │ │ │ │ + // 732: ldc "\n" │ │ │ │ + // 734: astore 17 │ │ │ │ + // 736: aload 11 │ │ │ │ + // 738: aload 17 │ │ │ │ + // 740: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ │ │ + // 743: astore 11 │ │ │ │ + // 745: aload 11 │ │ │ │ + // 747: invokevirtual java/lang/StringBuilder.toString:()Ljava/lang/String; │ │ │ │ + // 750: astore 11 │ │ │ │ + // 752: ldc "UTF-8" │ │ │ │ + // 754: astore 17 │ │ │ │ + // 756: aload 11 │ │ │ │ + // 758: aload 17 │ │ │ │ + // 760: invokevirtual java/lang/String.getBytes:(Ljava/lang/String;)[B │ │ │ │ + // 763: astore 11 │ │ │ │ + // 765: aload 11 │ │ │ │ + // 767: astore 5 │ │ │ │ + // 769: aload 21 │ │ │ │ + // 771: aload 11 │ │ │ │ + // 773: invokevirtual java/io/DataOutputStream.write:([B)V │ │ │ │ + // 776: aload 21 │ │ │ │ + // 778: invokevirtual java/io/DataOutputStream.flush:()V │ │ │ │ + // 781: iload 7 │ │ │ │ + // 783: iconst_1 │ │ │ │ + // 784: iadd │ │ │ │ + // 785: istore 7 │ │ │ │ + // 787: goto 637 │ │ │ │ + // 790: iconst_0 │ │ │ │ + // 791: istore 7 │ │ │ │ + // 793: aconst_null │ │ │ │ // 794: astore 4 │ │ │ │ - // 796: ldc "UTF-8" │ │ │ │ - // 798: astore 9 │ │ │ │ - // 800: aload 4 │ │ │ │ - // 802: aload 9 │ │ │ │ - // 804: invokevirtual java/lang/String.getBytes:(Ljava/lang/String;)[B │ │ │ │ - // 807: astore 4 │ │ │ │ - // 809: aload 4 │ │ │ │ - // 811: astore 5 │ │ │ │ - // 813: aload 23 │ │ │ │ - // 815: aload 4 │ │ │ │ - // 817: invokevirtual java/io/DataOutputStream.write:([B)V │ │ │ │ - // 820: aload 23 │ │ │ │ - // 822: invokevirtual java/io/DataOutputStream.flush:()V │ │ │ │ - // 825: aload 22 │ │ │ │ - // 827: invokevirtual java/lang/Process.waitFor:()I │ │ │ │ - // 830: pop │ │ │ │ - // 831: aload 23 │ │ │ │ - // 833: invokevirtual java/io/DataOutputStream.close:()V │ │ │ │ - // 836: aload 24 │ │ │ │ - // 838: invokevirtual eu/chainfire/libsuperuser/StreamGobbler.join:()V │ │ │ │ - // 841: aload 25 │ │ │ │ - // 843: invokevirtual eu/chainfire/libsuperuser/StreamGobbler.join:()V │ │ │ │ - // 846: aload 22 │ │ │ │ - // 848: invokevirtual java/lang/Process.destroy:()V │ │ │ │ - // 851: aload_0 │ │ │ │ - // 852: invokestatic eu/chainfire/libsuperuser/Shell$SU.isSU:(Ljava/lang/String;)Z │ │ │ │ - // 855: istore 7 │ │ │ │ - // 857: iload 7 │ │ │ │ - // 859: ifeq 884 │ │ │ │ - // 862: aload 22 │ │ │ │ - // 864: invokevirtual java/lang/Process.exitValue:()I │ │ │ │ - // 867: istore 7 │ │ │ │ - // 869: sipush 255 │ │ │ │ - // 872: istore 8 │ │ │ │ - // 874: iload 7 │ │ │ │ - // 876: iload 8 │ │ │ │ - // 878: if_icmpne 884 │ │ │ │ - // 881: aconst_null │ │ │ │ - // 882: astore 12 │ │ │ │ - // 884: iconst_1 │ │ │ │ - // 885: anewarray Ljava/lang/Object; │ │ │ │ - // 888: astore 9 │ │ │ │ - // 890: getstatic java/util/Locale.ENGLISH:Ljava/util/Locale; │ │ │ │ - // 893: astore 27 │ │ │ │ - // 895: aload_0 │ │ │ │ - // 896: astore 5 │ │ │ │ - // 898: aload_0 │ │ │ │ - // 899: aload 27 │ │ │ │ - // 901: invokevirtual java/lang/String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String; │ │ │ │ - // 904: astore 27 │ │ │ │ - // 906: aload 9 │ │ │ │ - // 908: iconst_0 │ │ │ │ - // 909: aload 27 │ │ │ │ - // 911: aastore │ │ │ │ - // 912: ldc "[%s%%] END" │ │ │ │ - // 914: aload 9 │ │ │ │ - // 916: invokestatic java/lang/String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; │ │ │ │ - // 919: invokestatic eu/chainfire/libsuperuser/Debug.logCommand:(Ljava/lang/String;)V │ │ │ │ - // 922: aload 12 │ │ │ │ - // 924: areturn │ │ │ │ - // 925: astore 28 │ │ │ │ - // 927: aload 28 │ │ │ │ - // 929: invokevirtual java/io/IOException.getMessage:()Ljava/lang/String; │ │ │ │ - // 932: astore 4 │ │ │ │ - // 934: ldc "EPIPE" │ │ │ │ - // 936: astore 9 │ │ │ │ - // 938: aload 4 │ │ │ │ - // 940: aload 9 │ │ │ │ - // 942: invokevirtual java/lang/String.contains:(Ljava/lang/CharSequence;)Z │ │ │ │ - // 945: istore 7 │ │ │ │ - // 947: iload 7 │ │ │ │ - // 949: ifne 825 │ │ │ │ - // 952: aload 28 │ │ │ │ - // 954: athrow │ │ │ │ - // 955: astore 28 │ │ │ │ - // 957: aconst_null │ │ │ │ - // 958: astore 12 │ │ │ │ - // 960: goto 884 │ │ │ │ - // 963: astore 28 │ │ │ │ - // 965: aconst_null │ │ │ │ - // 966: astore 12 │ │ │ │ - // 968: goto 884 │ │ │ │ - // 971: astore 4 │ │ │ │ - // 973: goto 836 │ │ │ │ + // 796: goto 595 │ │ │ │ + // 799: ldc "exit\n" │ │ │ │ + // 801: astore 4 │ │ │ │ + // 803: ldc "UTF-8" │ │ │ │ + // 805: astore 10 │ │ │ │ + // 807: aload 4 │ │ │ │ + // 809: aload 10 │ │ │ │ + // 811: invokevirtual java/lang/String.getBytes:(Ljava/lang/String;)[B │ │ │ │ + // 814: astore 4 │ │ │ │ + // 816: aload 21 │ │ │ │ + // 818: aload 4 │ │ │ │ + // 820: invokevirtual java/io/DataOutputStream.write:([B)V │ │ │ │ + // 823: aload 21 │ │ │ │ + // 825: invokevirtual java/io/DataOutputStream.flush:()V │ │ │ │ + // 828: aload 20 │ │ │ │ + // 830: invokevirtual java/lang/Process.waitFor:()I │ │ │ │ + // 833: pop │ │ │ │ + // 834: aload 21 │ │ │ │ + // 836: invokevirtual java/io/DataOutputStream.close:()V │ │ │ │ + // 839: aload 22 │ │ │ │ + // 841: invokevirtual eu/chainfire/libsuperuser/StreamGobbler.join:()V │ │ │ │ + // 844: aload 23 │ │ │ │ + // 846: invokevirtual eu/chainfire/libsuperuser/StreamGobbler.join:()V │ │ │ │ + // 849: aload 20 │ │ │ │ + // 851: invokevirtual java/lang/Process.destroy:()V │ │ │ │ + // 854: aload_0 │ │ │ │ + // 855: invokestatic eu/chainfire/libsuperuser/Shell$SU.isSU:(Ljava/lang/String;)Z │ │ │ │ + // 858: istore 7 │ │ │ │ + // 860: iload 7 │ │ │ │ + // 862: ifeq 891 │ │ │ │ + // 865: aload 20 │ │ │ │ + // 867: invokevirtual java/lang/Process.exitValue:()I │ │ │ │ + // 870: istore 7 │ │ │ │ + // 872: sipush 255 │ │ │ │ + // 875: istore 8 │ │ │ │ + // 877: iload 8 │ │ │ │ + // 879: istore 9 │ │ │ │ + // 881: iload 7 │ │ │ │ + // 883: iload 8 │ │ │ │ + // 885: if_icmpne 891 │ │ │ │ + // 888: aconst_null │ │ │ │ + // 889: astore 12 │ │ │ │ + // 891: iconst_1 │ │ │ │ + // 892: anewarray Ljava/lang/Object; │ │ │ │ + // 895: astore 10 │ │ │ │ + // 897: getstatic java/util/Locale.ENGLISH:Ljava/util/Locale; │ │ │ │ + // 900: astore 17 │ │ │ │ + // 902: aload_0 │ │ │ │ + // 903: astore 5 │ │ │ │ + // 905: aload_0 │ │ │ │ + // 906: aload 17 │ │ │ │ + // 908: invokevirtual java/lang/String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String; │ │ │ │ + // 911: astore 17 │ │ │ │ + // 913: aload 10 │ │ │ │ + // 915: iconst_0 │ │ │ │ + // 916: aload 17 │ │ │ │ + // 918: aastore │ │ │ │ + // 919: ldc "[%s%%] END" │ │ │ │ + // 921: aload 10 │ │ │ │ + // 923: invokestatic java/lang/String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; │ │ │ │ + // 926: invokestatic eu/chainfire/libsuperuser/Debug.logCommand:(Ljava/lang/String;)V │ │ │ │ + // 929: aload 12 │ │ │ │ + // 931: areturn │ │ │ │ + // 932: astore 26 │ │ │ │ + // 934: aload 26 │ │ │ │ + // 936: invokevirtual java/io/IOException.getMessage:()Ljava/lang/String; │ │ │ │ + // 939: astore 4 │ │ │ │ + // 941: ldc "EPIPE" │ │ │ │ + // 943: astore 10 │ │ │ │ + // 945: aload 4 │ │ │ │ + // 947: aload 10 │ │ │ │ + // 949: invokevirtual java/lang/String.contains:(Ljava/lang/CharSequence;)Z │ │ │ │ + // 952: istore 7 │ │ │ │ + // 954: iload 7 │ │ │ │ + // 956: ifne 828 │ │ │ │ + // 959: aload 26 │ │ │ │ + // 961: athrow │ │ │ │ + // 962: astore 26 │ │ │ │ + // 964: aconst_null │ │ │ │ + // 965: astore 12 │ │ │ │ + // 967: goto 891 │ │ │ │ + // 970: astore 26 │ │ │ │ + // 972: aconst_null │ │ │ │ + // 973: astore 12 │ │ │ │ + // 975: goto 891 │ │ │ │ + // 978: astore 4 │ │ │ │ + // 980: goto 839 │ │ │ │ // Exceptions: │ │ │ │ // Try Handler │ │ │ │ // Start End Start End Type │ │ │ │ // ----- ----- ----- ----- -------------------------------- │ │ │ │ - // 113 116 955 963 Ljava/io/IOException; │ │ │ │ - // 113 116 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 118 123 955 963 Ljava/io/IOException; │ │ │ │ - // 118 123 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 123 126 955 963 Ljava/io/IOException; │ │ │ │ - // 123 126 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 134 141 955 963 Ljava/io/IOException; │ │ │ │ - // 134 141 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 144 146 955 963 Ljava/io/IOException; │ │ │ │ - // 144 146 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 163 166 955 963 Ljava/io/IOException; │ │ │ │ - // 163 166 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 178 183 955 963 Ljava/io/IOException; │ │ │ │ - // 178 183 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 202 207 955 963 Ljava/io/IOException; │ │ │ │ - // 202 207 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 217 222 955 963 Ljava/io/IOException; │ │ │ │ - // 217 222 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 232 240 955 963 Ljava/io/IOException; │ │ │ │ - // 232 240 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 252 259 955 963 Ljava/io/IOException; │ │ │ │ - // 252 259 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 261 266 955 963 Ljava/io/IOException; │ │ │ │ - // 261 266 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 271 278 955 963 Ljava/io/IOException; │ │ │ │ - // 271 278 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 280 287 955 963 Ljava/io/IOException; │ │ │ │ - // 280 287 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 289 296 955 963 Ljava/io/IOException; │ │ │ │ - // 289 296 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 303 310 955 963 Ljava/io/IOException; │ │ │ │ - // 303 310 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 312 317 955 963 Ljava/io/IOException; │ │ │ │ - // 312 317 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 319 322 955 963 Ljava/io/IOException; │ │ │ │ - // 319 322 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 324 329 955 963 Ljava/io/IOException; │ │ │ │ - // 324 329 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 329 336 955 963 Ljava/io/IOException; │ │ │ │ - // 329 336 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 338 343 955 963 Ljava/io/IOException; │ │ │ │ - // 338 343 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 351 356 955 963 Ljava/io/IOException; │ │ │ │ - // 351 356 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 364 369 955 963 Ljava/io/IOException; │ │ │ │ - // 364 369 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 371 378 955 963 Ljava/io/IOException; │ │ │ │ - // 371 378 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 380 385 955 963 Ljava/io/IOException; │ │ │ │ - // 380 385 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 393 398 955 963 Ljava/io/IOException; │ │ │ │ - // 393 398 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 400 405 955 963 Ljava/io/IOException; │ │ │ │ - // 400 405 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 410 413 955 963 Ljava/io/IOException; │ │ │ │ - // 410 413 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 422 425 955 963 Ljava/io/IOException; │ │ │ │ - // 422 425 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 434 438 955 963 Ljava/io/IOException; │ │ │ │ - // 434 438 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 440 443 955 963 Ljava/io/IOException; │ │ │ │ - // 440 443 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 445 450 955 963 Ljava/io/IOException; │ │ │ │ - // 445 450 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 458 463 955 963 Ljava/io/IOException; │ │ │ │ - // 458 463 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 463 466 955 963 Ljava/io/IOException; │ │ │ │ - // 463 466 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 468 471 955 963 Ljava/io/IOException; │ │ │ │ - // 468 471 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 473 478 955 963 Ljava/io/IOException; │ │ │ │ - // 473 478 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 484 489 955 963 Ljava/io/IOException; │ │ │ │ - // 484 489 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 497 502 955 963 Ljava/io/IOException; │ │ │ │ - // 497 502 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 504 509 955 963 Ljava/io/IOException; │ │ │ │ - // 504 509 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 511 516 955 963 Ljava/io/IOException; │ │ │ │ - // 511 516 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 528 533 955 963 Ljava/io/IOException; │ │ │ │ - // 528 533 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 533 536 955 963 Ljava/io/IOException; │ │ │ │ - // 533 536 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 538 541 955 963 Ljava/io/IOException; │ │ │ │ - // 538 541 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 543 548 955 963 Ljava/io/IOException; │ │ │ │ - // 543 548 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 554 559 955 963 Ljava/io/IOException; │ │ │ │ - // 554 559 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 567 572 955 963 Ljava/io/IOException; │ │ │ │ - // 567 572 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 574 579 955 963 Ljava/io/IOException; │ │ │ │ - // 574 579 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 581 586 955 963 Ljava/io/IOException; │ │ │ │ - // 581 586 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 606 611 955 963 Ljava/io/IOException; │ │ │ │ - // 606 611 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 611 616 955 963 Ljava/io/IOException; │ │ │ │ - // 611 616 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 616 621 955 963 Ljava/io/IOException; │ │ │ │ - // 616 621 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 624 626 925 955 Ljava/io/IOException; │ │ │ │ - // 624 626 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 643 646 925 955 Ljava/io/IOException; │ │ │ │ - // 643 646 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 655 660 925 955 Ljava/io/IOException; │ │ │ │ - // 655 660 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 675 678 925 955 Ljava/io/IOException; │ │ │ │ - // 675 678 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 685 688 925 955 Ljava/io/IOException; │ │ │ │ - // 685 688 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 690 695 925 955 Ljava/io/IOException; │ │ │ │ - // 690 695 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 697 702 925 955 Ljava/io/IOException; │ │ │ │ - // 697 702 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 702 705 925 955 Ljava/io/IOException; │ │ │ │ - // 702 705 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 707 712 925 955 Ljava/io/IOException; │ │ │ │ - // 707 712 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 718 723 925 955 Ljava/io/IOException; │ │ │ │ - // 718 723 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 731 736 925 955 Ljava/io/IOException; │ │ │ │ - // 731 736 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 738 743 925 955 Ljava/io/IOException; │ │ │ │ - // 738 743 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 751 756 925 955 Ljava/io/IOException; │ │ │ │ - // 751 756 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 764 769 925 955 Ljava/io/IOException; │ │ │ │ - // 764 769 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 769 774 925 955 Ljava/io/IOException; │ │ │ │ - // 769 774 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 802 807 925 955 Ljava/io/IOException; │ │ │ │ - // 802 807 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 815 820 925 955 Ljava/io/IOException; │ │ │ │ - // 815 820 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 820 825 925 955 Ljava/io/IOException; │ │ │ │ - // 820 825 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 825 831 955 963 Ljava/io/IOException; │ │ │ │ - // 825 831 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 831 836 971 976 Ljava/io/IOException; │ │ │ │ - // 831 836 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 836 841 955 963 Ljava/io/IOException; │ │ │ │ - // 836 841 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 841 846 955 963 Ljava/io/IOException; │ │ │ │ - // 841 846 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 846 851 955 963 Ljava/io/IOException; │ │ │ │ - // 846 851 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 851 855 955 963 Ljava/io/IOException; │ │ │ │ - // 851 855 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 862 867 955 963 Ljava/io/IOException; │ │ │ │ - // 862 867 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 927 932 955 963 Ljava/io/IOException; │ │ │ │ - // 927 932 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 940 945 955 963 Ljava/io/IOException; │ │ │ │ - // 940 945 963 971 Ljava/lang/InterruptedException; │ │ │ │ - // 952 955 955 963 Ljava/io/IOException; │ │ │ │ - // 952 955 963 971 Ljava/lang/InterruptedException; │ │ │ │ + // 114 117 962 970 Ljava/io/IOException; │ │ │ │ + // 114 117 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 119 124 962 970 Ljava/io/IOException; │ │ │ │ + // 119 124 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 124 127 962 970 Ljava/io/IOException; │ │ │ │ + // 124 127 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 131 138 962 970 Ljava/io/IOException; │ │ │ │ + // 131 138 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 141 143 962 970 Ljava/io/IOException; │ │ │ │ + // 141 143 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 167 170 962 970 Ljava/io/IOException; │ │ │ │ + // 167 170 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 182 187 962 970 Ljava/io/IOException; │ │ │ │ + // 182 187 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 206 211 962 970 Ljava/io/IOException; │ │ │ │ + // 206 211 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 225 230 962 970 Ljava/io/IOException; │ │ │ │ + // 225 230 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 240 248 962 970 Ljava/io/IOException; │ │ │ │ + // 240 248 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 260 267 962 970 Ljava/io/IOException; │ │ │ │ + // 260 267 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 269 274 962 970 Ljava/io/IOException; │ │ │ │ + // 269 274 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 279 286 962 970 Ljava/io/IOException; │ │ │ │ + // 279 286 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 288 295 962 970 Ljava/io/IOException; │ │ │ │ + // 288 295 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 297 304 962 970 Ljava/io/IOException; │ │ │ │ + // 297 304 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 311 318 962 970 Ljava/io/IOException; │ │ │ │ + // 311 318 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 320 325 962 970 Ljava/io/IOException; │ │ │ │ + // 320 325 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 327 330 962 970 Ljava/io/IOException; │ │ │ │ + // 327 330 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 332 337 962 970 Ljava/io/IOException; │ │ │ │ + // 332 337 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 337 344 962 970 Ljava/io/IOException; │ │ │ │ + // 337 344 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 346 351 962 970 Ljava/io/IOException; │ │ │ │ + // 346 351 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 359 364 962 970 Ljava/io/IOException; │ │ │ │ + // 359 364 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 376 381 962 970 Ljava/io/IOException; │ │ │ │ + // 376 381 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 383 390 962 970 Ljava/io/IOException; │ │ │ │ + // 383 390 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 392 397 962 970 Ljava/io/IOException; │ │ │ │ + // 392 397 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 405 410 962 970 Ljava/io/IOException; │ │ │ │ + // 405 410 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 412 417 962 970 Ljava/io/IOException; │ │ │ │ + // 412 417 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 422 425 962 970 Ljava/io/IOException; │ │ │ │ + // 422 425 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 434 437 962 970 Ljava/io/IOException; │ │ │ │ + // 434 437 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 445 449 962 970 Ljava/io/IOException; │ │ │ │ + // 445 449 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 451 454 962 970 Ljava/io/IOException; │ │ │ │ + // 451 454 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 456 461 962 970 Ljava/io/IOException; │ │ │ │ + // 456 461 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 465 470 962 970 Ljava/io/IOException; │ │ │ │ + // 465 470 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 470 473 962 970 Ljava/io/IOException; │ │ │ │ + // 470 473 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 475 478 962 970 Ljava/io/IOException; │ │ │ │ + // 475 478 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 480 485 962 970 Ljava/io/IOException; │ │ │ │ + // 480 485 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 487 492 962 970 Ljava/io/IOException; │ │ │ │ + // 487 492 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 500 505 962 970 Ljava/io/IOException; │ │ │ │ + // 500 505 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 507 512 962 970 Ljava/io/IOException; │ │ │ │ + // 507 512 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 514 519 962 970 Ljava/io/IOException; │ │ │ │ + // 514 519 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 531 536 962 970 Ljava/io/IOException; │ │ │ │ + // 531 536 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 536 539 962 970 Ljava/io/IOException; │ │ │ │ + // 536 539 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 541 544 962 970 Ljava/io/IOException; │ │ │ │ + // 541 544 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 546 551 962 970 Ljava/io/IOException; │ │ │ │ + // 546 551 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 553 558 962 970 Ljava/io/IOException; │ │ │ │ + // 553 558 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 566 571 962 970 Ljava/io/IOException; │ │ │ │ + // 566 571 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 573 578 962 970 Ljava/io/IOException; │ │ │ │ + // 573 578 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 580 585 962 970 Ljava/io/IOException; │ │ │ │ + // 580 585 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 605 610 962 970 Ljava/io/IOException; │ │ │ │ + // 605 610 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 610 615 962 970 Ljava/io/IOException; │ │ │ │ + // 610 615 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 615 620 962 970 Ljava/io/IOException; │ │ │ │ + // 615 620 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 623 625 932 962 Ljava/io/IOException; │ │ │ │ + // 623 625 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 649 652 932 962 Ljava/io/IOException; │ │ │ │ + // 649 652 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 665 670 932 962 Ljava/io/IOException; │ │ │ │ + // 665 670 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 682 685 932 962 Ljava/io/IOException; │ │ │ │ + // 682 685 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 692 695 932 962 Ljava/io/IOException; │ │ │ │ + // 692 695 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 697 702 932 962 Ljava/io/IOException; │ │ │ │ + // 697 702 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 704 709 932 962 Ljava/io/IOException; │ │ │ │ + // 704 709 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 709 712 932 962 Ljava/io/IOException; │ │ │ │ + // 709 712 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 714 719 932 962 Ljava/io/IOException; │ │ │ │ + // 714 719 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 725 730 932 962 Ljava/io/IOException; │ │ │ │ + // 725 730 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 738 743 932 962 Ljava/io/IOException; │ │ │ │ + // 738 743 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 745 750 932 962 Ljava/io/IOException; │ │ │ │ + // 745 750 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 758 763 932 962 Ljava/io/IOException; │ │ │ │ + // 758 763 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 771 776 932 962 Ljava/io/IOException; │ │ │ │ + // 771 776 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 776 781 932 962 Ljava/io/IOException; │ │ │ │ + // 776 781 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 809 814 932 962 Ljava/io/IOException; │ │ │ │ + // 809 814 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 818 823 932 962 Ljava/io/IOException; │ │ │ │ + // 818 823 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 823 828 932 962 Ljava/io/IOException; │ │ │ │ + // 823 828 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 828 834 962 970 Ljava/io/IOException; │ │ │ │ + // 828 834 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 834 839 978 983 Ljava/io/IOException; │ │ │ │ + // 834 839 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 839 844 962 970 Ljava/io/IOException; │ │ │ │ + // 839 844 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 844 849 962 970 Ljava/io/IOException; │ │ │ │ + // 844 849 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 849 854 962 970 Ljava/io/IOException; │ │ │ │ + // 849 854 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 854 858 962 970 Ljava/io/IOException; │ │ │ │ + // 854 858 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 865 870 962 970 Ljava/io/IOException; │ │ │ │ + // 865 870 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 934 939 962 970 Ljava/io/IOException; │ │ │ │ + // 934 939 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 947 952 962 970 Ljava/io/IOException; │ │ │ │ + // 947 952 970 978 Ljava/lang/InterruptedException; │ │ │ │ + // 959 962 962 970 Ljava/io/IOException; │ │ │ │ + // 959 962 970 978 Ljava/lang/InterruptedException; │ │ │ │ // │ │ │ │ // The error that occurred was: │ │ │ │ // │ │ │ │ - // java.lang.IndexOutOfBoundsException: Index: 456, Size: 456 │ │ │ │ + // java.lang.IndexOutOfBoundsException: Index: 460, Size: 460 │ │ │ │ // at java.util.ArrayList.rangeCheck(ArrayList.java:659) │ │ │ │ // at java.util.ArrayList.get(ArrayList.java:435) │ │ │ │ // at com.strobel.decompiler.ast.AstBuilder.convertToAst(AstBuilder.java:3321) │ │ │ │ // at com.strobel.decompiler.ast.AstBuilder.build(AstBuilder.java:113) │ │ │ │ // at com.strobel.decompiler.languages.java.ast.AstMethodBodyBuilder.createMethodBody(AstMethodBodyBuilder.java:211) │ │ │ │ // at com.strobel.decompiler.languages.java.ast.AstMethodBodyBuilder.createMethodBody(AstMethodBodyBuilder.java:99) │ │ │ │ // at com.strobel.decompiler.languages.java.ast.AstBuilder.createMethodBody(AstBuilder.java:757) │ │ ├── com/matoski/adbm/activity/MainActivity$MyNetworkStatusChecker.class │ │ │ ├── javap -verbose -constants -s -l -private {} │ │ │ │ @@ -202,39 +202,37 @@ │ │ │ │ 7: invokevirtual #84 // Method onProgressUpdate:([Ljava/lang/String;)V │ │ │ │ 10: return │ │ │ │ │ │ │ │ protected void onProgressUpdate(java.lang.String...); │ │ │ │ descriptor: ([Ljava/lang/String;)V │ │ │ │ flags: ACC_PROTECTED, ACC_VARARGS │ │ │ │ Code: │ │ │ │ - stack=300, locals=7, args_size=2 │ │ │ │ + stack=300, locals=6, args_size=2 │ │ │ │ 0: aload_0 │ │ │ │ 1: aload_1 │ │ │ │ 2: invokespecial #87 // Method com/matoski/adbm/tasks/NetworkStatusChecker.onProgressUpdate:([Ljava/lang/Object;)V │ │ │ │ 5: aload_1 │ │ │ │ - 6: astore_2 │ │ │ │ - 7: aload_1 │ │ │ │ - 8: arraylength │ │ │ │ + 6: arraylength │ │ │ │ + 7: istore_2 │ │ │ │ + 8: iconst_0 │ │ │ │ 9: istore_3 │ │ │ │ - 10: iconst_0 │ │ │ │ - 11: istore 4 │ │ │ │ - 13: iload 4 │ │ │ │ - 15: iload_3 │ │ │ │ - 16: if_icmpge 48 │ │ │ │ - 19: aload_2 │ │ │ │ - 20: iload 4 │ │ │ │ - 22: aaload │ │ │ │ - 23: astore 5 │ │ │ │ - 25: aload_0 │ │ │ │ - 26: getfield #8 // Field this$0:Lcom/matoski/adbm/activity/MainActivity; │ │ │ │ - 29: astore 6 │ │ │ │ - 31: aload 6 │ │ │ │ - 33: aload 5 │ │ │ │ - 35: invokevirtual #91 // Method com/matoski/adbm/activity/MainActivity.addItem:(Ljava/lang/String;)Z │ │ │ │ - 38: pop │ │ │ │ - 39: iload 4 │ │ │ │ - 41: iconst_1 │ │ │ │ - 42: iadd │ │ │ │ - 43: istore 4 │ │ │ │ - 45: goto 13 │ │ │ │ - 48: return │ │ │ │ + 10: iload_3 │ │ │ │ + 11: iload_2 │ │ │ │ + 12: if_icmpge 41 │ │ │ │ + 15: aload_1 │ │ │ │ + 16: iload_3 │ │ │ │ + 17: aaload │ │ │ │ + 18: astore 4 │ │ │ │ + 20: aload_0 │ │ │ │ + 21: getfield #8 // Field this$0:Lcom/matoski/adbm/activity/MainActivity; │ │ │ │ + 24: astore 5 │ │ │ │ + 26: aload 5 │ │ │ │ + 28: aload 4 │ │ │ │ + 30: invokevirtual #91 // Method com/matoski/adbm/activity/MainActivity.addItem:(Ljava/lang/String;)Z │ │ │ │ + 33: pop │ │ │ │ + 34: iload_3 │ │ │ │ + 35: iconst_1 │ │ │ │ + 36: iadd │ │ │ │ + 37: istore_3 │ │ │ │ + 38: goto 10 │ │ │ │ + 41: return │ │ │ │ } │ │ ├── com/matoski/adbm/service/ManagerService$MyNetworkStatusChecker.class │ │ │ ├── javap -verbose -constants -s -l -private {} │ │ │ │ @@ -198,38 +198,36 @@ │ │ │ │ 7: invokevirtual #80 // Method onProgressUpdate:([Ljava/lang/String;)V │ │ │ │ 10: return │ │ │ │ │ │ │ │ protected void onProgressUpdate(java.lang.String...); │ │ │ │ descriptor: ([Ljava/lang/String;)V │ │ │ │ flags: ACC_PROTECTED, ACC_VARARGS │ │ │ │ Code: │ │ │ │ - stack=300, locals=7, args_size=2 │ │ │ │ + stack=300, locals=6, args_size=2 │ │ │ │ 0: aload_0 │ │ │ │ 1: aload_1 │ │ │ │ 2: invokespecial #83 // Method com/matoski/adbm/tasks/NetworkStatusChecker.onProgressUpdate:([Ljava/lang/Object;)V │ │ │ │ 5: aload_1 │ │ │ │ - 6: astore_2 │ │ │ │ - 7: aload_1 │ │ │ │ - 8: arraylength │ │ │ │ + 6: arraylength │ │ │ │ + 7: istore_2 │ │ │ │ + 8: iconst_0 │ │ │ │ 9: istore_3 │ │ │ │ - 10: iconst_0 │ │ │ │ - 11: istore 4 │ │ │ │ - 13: iload 4 │ │ │ │ - 15: iload_3 │ │ │ │ - 16: if_icmpge 47 │ │ │ │ - 19: aload_2 │ │ │ │ - 20: iload 4 │ │ │ │ - 22: aaload │ │ │ │ - 23: astore 5 │ │ │ │ - 25: aload_0 │ │ │ │ - 26: getfield #8 // Field this$0:Lcom/matoski/adbm/service/ManagerService; │ │ │ │ - 29: astore 6 │ │ │ │ - 31: aload 6 │ │ │ │ - 33: aload 5 │ │ │ │ - 35: invokestatic #87 // Method com/matoski/adbm/service/ManagerService.access$300:(Lcom/matoski/adbm/service/ManagerService;Ljava/lang/String;)V │ │ │ │ - 38: iload 4 │ │ │ │ - 40: iconst_1 │ │ │ │ - 41: iadd │ │ │ │ - 42: istore 4 │ │ │ │ - 44: goto 13 │ │ │ │ - 47: return │ │ │ │ + 10: iload_3 │ │ │ │ + 11: iload_2 │ │ │ │ + 12: if_icmpge 40 │ │ │ │ + 15: aload_1 │ │ │ │ + 16: iload_3 │ │ │ │ + 17: aaload │ │ │ │ + 18: astore 4 │ │ │ │ + 20: aload_0 │ │ │ │ + 21: getfield #8 // Field this$0:Lcom/matoski/adbm/service/ManagerService; │ │ │ │ + 24: astore 5 │ │ │ │ + 26: aload 5 │ │ │ │ + 28: aload 4 │ │ │ │ + 30: invokestatic #87 // Method com/matoski/adbm/service/ManagerService.access$300:(Lcom/matoski/adbm/service/ManagerService;Ljava/lang/String;)V │ │ │ │ + 33: iload_3 │ │ │ │ + 34: iconst_1 │ │ │ │ + 35: iadd │ │ │ │ + 36: istore_3 │ │ │ │ + 37: goto 10 │ │ │ │ + 40: return │ │ │ │ } │ │ ├── com/matoski/adbm/service/ManagerService$MyRootCommandExecuter.class │ │ │ ├── javap -verbose -constants -s -l -private {} │ │ │ │ @@ -220,38 +220,36 @@ │ │ │ │ 7: invokevirtual #85 // Method onProgressUpdate:([Ljava/lang/String;)V │ │ │ │ 10: return │ │ │ │ │ │ │ │ protected void onProgressUpdate(java.lang.String...); │ │ │ │ descriptor: ([Ljava/lang/String;)V │ │ │ │ flags: ACC_PROTECTED, ACC_VARARGS │ │ │ │ Code: │ │ │ │ - stack=300, locals=7, args_size=2 │ │ │ │ + stack=300, locals=6, args_size=2 │ │ │ │ 0: aload_0 │ │ │ │ 1: aload_1 │ │ │ │ 2: invokespecial #88 // Method com/matoski/adbm/tasks/RootCommandExecuter.onProgressUpdate:([Ljava/lang/Object;)V │ │ │ │ 5: aload_1 │ │ │ │ - 6: astore_2 │ │ │ │ - 7: aload_1 │ │ │ │ - 8: arraylength │ │ │ │ + 6: arraylength │ │ │ │ + 7: istore_2 │ │ │ │ + 8: iconst_0 │ │ │ │ 9: istore_3 │ │ │ │ - 10: iconst_0 │ │ │ │ - 11: istore 4 │ │ │ │ - 13: iload 4 │ │ │ │ - 15: iload_3 │ │ │ │ - 16: if_icmpge 47 │ │ │ │ - 19: aload_2 │ │ │ │ - 20: iload 4 │ │ │ │ - 22: aaload │ │ │ │ - 23: astore 5 │ │ │ │ - 25: aload_0 │ │ │ │ - 26: getfield #8 // Field this$0:Lcom/matoski/adbm/service/ManagerService; │ │ │ │ - 29: astore 6 │ │ │ │ - 31: aload 6 │ │ │ │ - 33: aload 5 │ │ │ │ - 35: invokestatic #92 // Method com/matoski/adbm/service/ManagerService.access$300:(Lcom/matoski/adbm/service/ManagerService;Ljava/lang/String;)V │ │ │ │ - 38: iload 4 │ │ │ │ - 40: iconst_1 │ │ │ │ - 41: iadd │ │ │ │ - 42: istore 4 │ │ │ │ - 44: goto 13 │ │ │ │ - 47: return │ │ │ │ + 10: iload_3 │ │ │ │ + 11: iload_2 │ │ │ │ + 12: if_icmpge 40 │ │ │ │ + 15: aload_1 │ │ │ │ + 16: iload_3 │ │ │ │ + 17: aaload │ │ │ │ + 18: astore 4 │ │ │ │ + 20: aload_0 │ │ │ │ + 21: getfield #8 // Field this$0:Lcom/matoski/adbm/service/ManagerService; │ │ │ │ + 24: astore 5 │ │ │ │ + 26: aload 5 │ │ │ │ + 28: aload 4 │ │ │ │ + 30: invokestatic #92 // Method com/matoski/adbm/service/ManagerService.access$300:(Lcom/matoski/adbm/service/ManagerService;Ljava/lang/String;)V │ │ │ │ + 33: iload_3 │ │ │ │ + 34: iconst_1 │ │ │ │ + 35: iadd │ │ │ │ + 36: istore_3 │ │ │ │ + 37: goto 10 │ │ │ │ + 40: return │ │ │ │ } │ │ ├── com/matoski/adbm/service/ManagerService$MyToggleNetworkAdb.class │ │ │ ├── javap -verbose -constants -s -l -private {} │ │ │ │ @@ -280,38 +280,36 @@ │ │ │ │ 7: invokevirtual #116 // Method onProgressUpdate:([Ljava/lang/String;)V │ │ │ │ 10: return │ │ │ │ │ │ │ │ protected void onProgressUpdate(java.lang.String...); │ │ │ │ descriptor: ([Ljava/lang/String;)V │ │ │ │ flags: ACC_PROTECTED, ACC_VARARGS │ │ │ │ Code: │ │ │ │ - stack=300, locals=7, args_size=2 │ │ │ │ + stack=300, locals=6, args_size=2 │ │ │ │ 0: aload_0 │ │ │ │ 1: aload_1 │ │ │ │ 2: invokespecial #119 // Method com/matoski/adbm/tasks/NetworkStatusChecker.onProgressUpdate:([Ljava/lang/Object;)V │ │ │ │ 5: aload_1 │ │ │ │ - 6: astore_2 │ │ │ │ - 7: aload_1 │ │ │ │ - 8: arraylength │ │ │ │ + 6: arraylength │ │ │ │ + 7: istore_2 │ │ │ │ + 8: iconst_0 │ │ │ │ 9: istore_3 │ │ │ │ - 10: iconst_0 │ │ │ │ - 11: istore 4 │ │ │ │ - 13: iload 4 │ │ │ │ - 15: iload_3 │ │ │ │ - 16: if_icmpge 47 │ │ │ │ - 19: aload_2 │ │ │ │ - 20: iload 4 │ │ │ │ - 22: aaload │ │ │ │ - 23: astore 5 │ │ │ │ - 25: aload_0 │ │ │ │ - 26: getfield #8 // Field this$0:Lcom/matoski/adbm/service/ManagerService; │ │ │ │ - 29: astore 6 │ │ │ │ - 31: aload 6 │ │ │ │ - 33: aload 5 │ │ │ │ - 35: invokestatic #123 // Method com/matoski/adbm/service/ManagerService.access$300:(Lcom/matoski/adbm/service/ManagerService;Ljava/lang/String;)V │ │ │ │ - 38: iload 4 │ │ │ │ - 40: iconst_1 │ │ │ │ - 41: iadd │ │ │ │ - 42: istore 4 │ │ │ │ - 44: goto 13 │ │ │ │ - 47: return │ │ │ │ + 10: iload_3 │ │ │ │ + 11: iload_2 │ │ │ │ + 12: if_icmpge 40 │ │ │ │ + 15: aload_1 │ │ │ │ + 16: iload_3 │ │ │ │ + 17: aaload │ │ │ │ + 18: astore 4 │ │ │ │ + 20: aload_0 │ │ │ │ + 21: getfield #8 // Field this$0:Lcom/matoski/adbm/service/ManagerService; │ │ │ │ + 24: astore 5 │ │ │ │ + 26: aload 5 │ │ │ │ + 28: aload 4 │ │ │ │ + 30: invokestatic #123 // Method com/matoski/adbm/service/ManagerService.access$300:(Lcom/matoski/adbm/service/ManagerService;Ljava/lang/String;)V │ │ │ │ + 33: iload_3 │ │ │ │ + 34: iconst_1 │ │ │ │ + 35: iadd │ │ │ │ + 36: istore_3 │ │ │ │ + 37: goto 10 │ │ │ │ + 40: return │ │ │ │ } ├── smali/eu/chainfire/libsuperuser/Shell$Interactive$1.smali │ @@ -24,14 +24,15 @@ │ │ .field final synthetic val$onCommandResultListener:Leu/chainfire/libsuperuser/Shell$OnCommandResultListener; │ │ │ # direct methods │ .method constructor (Leu/chainfire/libsuperuser/Shell$Interactive;Leu/chainfire/libsuperuser/Shell$Builder;Leu/chainfire/libsuperuser/Shell$OnCommandResultListener;)V │ .locals 0 │ + .param p1, "this$0" # Leu/chainfire/libsuperuser/Shell$Interactive; │ │ .prologue │ .line 1098 │ iput-object p1, p0, Leu/chainfire/libsuperuser/Shell$Interactive$1;->this$0:Leu/chainfire/libsuperuser/Shell$Interactive; │ │ iput-object p2, p0, Leu/chainfire/libsuperuser/Shell$Interactive$1;->val$builder:Leu/chainfire/libsuperuser/Shell$Builder; │ │ @@ -61,23 +62,25 @@ │ .prologue │ .line 1101 │ .local p3, "output":Ljava/util/List;, "Ljava/util/List;" │ if-nez p2, :cond_0 │ │ iget-object v0, p0, Leu/chainfire/libsuperuser/Shell$Interactive$1;->this$0:Leu/chainfire/libsuperuser/Shell$Interactive; │ │ + .line 1103 │ # getter for: Leu/chainfire/libsuperuser/Shell$Interactive;->shell:Ljava/lang/String; │ invoke-static {v0}, Leu/chainfire/libsuperuser/Shell$Interactive;->access$1000(Leu/chainfire/libsuperuser/Shell$Interactive;)Ljava/lang/String; │ │ move-result-object v0 │ │ invoke-static {v0}, Leu/chainfire/libsuperuser/Shell$SU;->isSU(Ljava/lang/String;)Z │ │ move-result v0 │ │ + .line 1102 │ invoke-static {p3, v0}, Leu/chainfire/libsuperuser/Shell;->parseAvailableResult(Ljava/util/List;Z)Z │ │ move-result v0 │ │ const/4 v1, 0x1 │ │ if-eq v0, v1, :cond_0 ├── smali/eu/chainfire/libsuperuser/Shell$SH.smali │ @@ -78,14 +78,15 @@ │ .end annotation │ │ .prologue │ .line 277 │ .local p0, "commands":Ljava/util/List;, "Ljava/util/List;" │ const-string v1, "sh" │ │ + .line 278 │ invoke-interface {p0}, Ljava/util/List;->size()I │ │ move-result v0 │ │ new-array v0, v0, [Ljava/lang/String; │ │ invoke-interface {p0, v0}, Ljava/util/List;->toArray([Ljava/lang/Object;)[Ljava/lang/Object; │ @@ -94,14 +95,15 @@ │ │ check-cast v0, [Ljava/lang/String; │ │ const/4 v2, 0x0 │ │ const/4 v3, 0x0 │ │ + .line 277 │ invoke-static {v1, v0, v2, v3}, Leu/chainfire/libsuperuser/Shell;->run(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;Z)Ljava/util/List; │ │ move-result-object v0 │ │ return-object v0 │ .end method ├── smali/eu/chainfire/libsuperuser/Shell.smali │ @@ -2,15 +2,14 @@ │ .super Ljava/lang/Object; │ .source "Shell.java" │ │ │ # annotations │ .annotation system Ldalvik/annotation/MemberClasses; │ value = { │ - Leu/chainfire/libsuperuser/Shell$1;, │ Leu/chainfire/libsuperuser/Shell$Interactive;, │ Leu/chainfire/libsuperuser/Shell$Builder;, │ Leu/chainfire/libsuperuser/Shell$Command;, │ Leu/chainfire/libsuperuser/Shell$OnCommandLineListener;, │ Leu/chainfire/libsuperuser/Shell$OnCommandResultListener;, │ Leu/chainfire/libsuperuser/Shell$OnResult;, │ Leu/chainfire/libsuperuser/Shell$SU;, │ @@ -53,15 +52,14 @@ │ .method public constructor ()V │ .locals 0 │ │ .prologue │ .line 43 │ invoke-direct {p0}, Ljava/lang/Object;->()V │ │ - .line 1024 │ return-void │ .end method │ │ .method protected static parseAvailableResult(Ljava/util/List;Z)Z │ .locals 5 │ .param p1, "checkForRoot" # Z │ .annotation system Ldalvik/annotation/Signature; │ @@ -72,93 +70,92 @@ │ "Ljava/lang/String;", │ ">;Z)Z" │ } │ .end annotation │ │ .prologue │ .local p0, "ret":Ljava/util/List;, "Ljava/util/List;" │ - const/4 v3, 0x0 │ + const/4 v2, 0x0 │ │ .line 231 │ if-nez p0, :cond_1 │ │ .line 251 │ :cond_0 │ :goto_0 │ - return v3 │ + return v2 │ │ .line 235 │ :cond_1 │ const/4 v0, 0x0 │ │ .line 237 │ .local v0, "echo_seen":Z │ invoke-interface {p0}, Ljava/util/List;->iterator()Ljava/util/Iterator; │ │ - move-result-object v1 │ + move-result-object v3 │ │ - .local v1, "i$":Ljava/util/Iterator; │ :cond_2 │ :goto_1 │ - invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z │ + invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z │ │ move-result v4 │ │ if-eqz v4, :cond_5 │ │ - invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ + invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ │ - move-result-object v2 │ + move-result-object v1 │ │ - check-cast v2, Ljava/lang/String; │ + check-cast v1, Ljava/lang/String; │ │ .line 238 │ - .local v2, "line":Ljava/lang/String; │ + .local v1, "line":Ljava/lang/String; │ const-string v4, "uid=" │ │ - invoke-virtual {v2, v4}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z │ + invoke-virtual {v1, v4}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z │ │ move-result v4 │ │ if-eqz v4, :cond_4 │ │ .line 240 │ if-eqz p1, :cond_3 │ │ - const-string v4, "uid=0" │ + const-string v3, "uid=0" │ │ - invoke-virtual {v2, v4}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z │ + invoke-virtual {v1, v3}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z │ │ - move-result v4 │ + move-result v3 │ │ - if-eqz v4, :cond_0 │ + if-eqz v3, :cond_0 │ │ :cond_3 │ - const/4 v3, 0x1 │ + const/4 v2, 0x1 │ │ goto :goto_0 │ │ .line 241 │ :cond_4 │ const-string v4, "-BOC-" │ │ - invoke-virtual {v2, v4}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z │ + invoke-virtual {v1, v4}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z │ │ move-result v4 │ │ if-eqz v4, :cond_2 │ │ .line 247 │ const/4 v0, 0x1 │ │ goto :goto_1 │ │ - .end local v2 # "line":Ljava/lang/String; │ + .end local v1 # "line":Ljava/lang/String; │ :cond_5 │ - move v3, v0 │ + move v2, v0 │ │ .line 251 │ goto :goto_0 │ .end method │ │ .method public static run(Ljava/lang/String;[Ljava/lang/String;Z)Ljava/util/List; │ .locals 1 │ @@ -190,15 +187,15 @@ │ │ move-result-object v0 │ │ return-object v0 │ .end method │ │ .method public static run(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;Z)Ljava/util/List; │ - .locals 23 │ + .locals 20 │ .param p0, "shell" # Ljava/lang/String; │ .param p1, "commands" # [Ljava/lang/String; │ .param p2, "environment" # [Ljava/lang/String; │ .param p3, "wantSTDERR" # Z │ .annotation system Ldalvik/annotation/Signature; │ value = { │ "(", │ @@ -213,653 +210,616 @@ │ "Ljava/lang/String;", │ ">;" │ } │ .end annotation │ │ .prologue │ .line 110 │ - sget-object v19, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale; │ + sget-object v15, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale; │ │ move-object/from16 v0, p0 │ │ - move-object/from16 v1, v19 │ - │ - invoke-virtual {v0, v1}, Ljava/lang/String;->toUpperCase(Ljava/util/Locale;)Ljava/lang/String; │ + invoke-virtual {v0, v15}, Ljava/lang/String;->toUpperCase(Ljava/util/Locale;)Ljava/lang/String; │ │ - move-result-object v16 │ + move-result-object v12 │ │ .line 112 │ - .local v16, "shellUpper":Ljava/lang/String; │ + .local v12, "shellUpper":Ljava/lang/String; │ invoke-static {}, Leu/chainfire/libsuperuser/Debug;->getSanityChecksEnabledEffective()Z │ │ - move-result v19 │ + move-result v15 │ │ - if-eqz v19, :cond_0 │ + if-eqz v15, :cond_0 │ │ invoke-static {}, Leu/chainfire/libsuperuser/Debug;->onMainThread()Z │ │ - move-result v19 │ + move-result v15 │ │ - if-eqz v19, :cond_0 │ + if-eqz v15, :cond_0 │ │ .line 117 │ - const-string v19, "Application attempted to run a shell command from the main thread" │ + const-string v15, "Application attempted to run a shell command from the main thread" │ │ - invoke-static/range {v19 .. v19}, Leu/chainfire/libsuperuser/Debug;->log(Ljava/lang/String;)V │ + invoke-static {v15}, Leu/chainfire/libsuperuser/Debug;->log(Ljava/lang/String;)V │ │ .line 118 │ - new-instance v19, Leu/chainfire/libsuperuser/ShellOnMainThreadException; │ + new-instance v15, Leu/chainfire/libsuperuser/ShellOnMainThreadException; │ │ - const-string v20, "Application attempted to run a shell command from the main thread" │ + const-string v16, "Application attempted to run a shell command from the main thread" │ │ - invoke-direct/range {v19 .. v20}, Leu/chainfire/libsuperuser/ShellOnMainThreadException;->(Ljava/lang/String;)V │ + invoke-direct/range {v15 .. v16}, Leu/chainfire/libsuperuser/ShellOnMainThreadException;->(Ljava/lang/String;)V │ │ - throw v19 │ + throw v15 │ │ .line 121 │ :cond_0 │ - const-string v19, "[%s%%] START" │ + const-string v15, "[%s%%] START" │ │ - const/16 v20, 0x1 │ + const/16 v16, 0x1 │ │ - move/from16 v0, v20 │ + move/from16 v0, v16 │ │ new-array v0, v0, [Ljava/lang/Object; │ │ - move-object/from16 v20, v0 │ + move-object/from16 v16, v0 │ │ - const/16 v21, 0x0 │ + const/16 v17, 0x0 │ │ - aput-object v16, v20, v21 │ + aput-object v12, v16, v17 │ │ - invoke-static/range {v19 .. v20}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; │ + invoke-static/range {v15 .. v16}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; │ │ - move-result-object v19 │ + move-result-object v15 │ │ - invoke-static/range {v19 .. v19}, Leu/chainfire/libsuperuser/Debug;->logCommand(Ljava/lang/String;)V │ + invoke-static {v15}, Leu/chainfire/libsuperuser/Debug;->logCommand(Ljava/lang/String;)V │ │ .line 123 │ - new-instance v19, Ljava/util/ArrayList; │ + new-instance v15, Ljava/util/ArrayList; │ │ - invoke-direct/range {v19 .. v19}, Ljava/util/ArrayList;->()V │ + invoke-direct {v15}, Ljava/util/ArrayList;->()V │ │ - invoke-static/range {v19 .. v19}, Ljava/util/Collections;->synchronizedList(Ljava/util/List;)Ljava/util/List; │ + .line 124 │ + invoke-static {v15}, Ljava/util/Collections;->synchronizedList(Ljava/util/List;)Ljava/util/List; │ │ - move-result-object v15 │ + move-result-object v11 │ │ .line 128 │ - .local v15, "res":Ljava/util/List;, "Ljava/util/List;" │ + .local v11, "res":Ljava/util/List;, "Ljava/util/List;" │ if-eqz p2, :cond_3 │ │ .line 129 │ :try_start_0 │ - new-instance v13, Ljava/util/HashMap; │ + new-instance v9, Ljava/util/HashMap; │ │ - invoke-direct {v13}, Ljava/util/HashMap;->()V │ + invoke-direct {v9}, Ljava/util/HashMap;->()V │ │ .line 130 │ - .local v13, "newEnvironment":Ljava/util/Map;, "Ljava/util/Map;" │ + .local v9, "newEnvironment":Ljava/util/Map;, "Ljava/util/Map;" │ invoke-static {}, Ljava/lang/System;->getenv()Ljava/util/Map; │ │ - move-result-object v19 │ - │ - move-object/from16 v0, v19 │ + move-result-object v15 │ │ - invoke-interface {v13, v0}, Ljava/util/Map;->putAll(Ljava/util/Map;)V │ + invoke-interface {v9, v15}, Ljava/util/Map;->putAll(Ljava/util/Map;)V │ │ .line 132 │ - move-object/from16 v6, p2 │ + move-object/from16 v0, p2 │ │ - .local v6, "arr$":[Ljava/lang/String; │ - array-length v12, v6 │ + array-length v0, v0 │ │ - .local v12, "len$":I │ - const/4 v11, 0x0 │ + move/from16 v16, v0 │ + │ + const/4 v15, 0x0 │ │ - .local v11, "i$":I │ :goto_0 │ - if-ge v11, v12, :cond_2 │ + move/from16 v0, v16 │ + │ + if-ge v15, v0, :cond_2 │ │ - aget-object v8, v6, v11 │ + aget-object v6, p2, v15 │ │ .line 133 │ - .local v8, "entry":Ljava/lang/String; │ - const-string v19, "=" │ + .local v6, "entry":Ljava/lang/String; │ + const-string v17, "=" │ │ - move-object/from16 v0, v19 │ + move-object/from16 v0, v17 │ │ - invoke-virtual {v8, v0}, Ljava/lang/String;->indexOf(Ljava/lang/String;)I │ + invoke-virtual {v6, v0}, Ljava/lang/String;->indexOf(Ljava/lang/String;)I │ │ - move-result v17 │ + move-result v13 │ │ - .local v17, "split":I │ - if-ltz v17, :cond_1 │ + .local v13, "split":I │ + if-ltz v13, :cond_1 │ │ .line 134 │ - const/16 v19, 0x0 │ - │ - move/from16 v0, v19 │ + const/16 v17, 0x0 │ │ - move/from16 v1, v17 │ + move/from16 v0, v17 │ │ - invoke-virtual {v8, v0, v1}, Ljava/lang/String;->substring(II)Ljava/lang/String; │ + invoke-virtual {v6, v0, v13}, Ljava/lang/String;->substring(II)Ljava/lang/String; │ │ - move-result-object v19 │ + move-result-object v17 │ │ - add-int/lit8 v20, v17, 0x1 │ + add-int/lit8 v18, v13, 0x1 │ │ - move/from16 v0, v20 │ + .line 135 │ + move/from16 v0, v18 │ │ - invoke-virtual {v8, v0}, Ljava/lang/String;->substring(I)Ljava/lang/String; │ + invoke-virtual {v6, v0}, Ljava/lang/String;->substring(I)Ljava/lang/String; │ │ - move-result-object v20 │ + move-result-object v18 │ │ - move-object/from16 v0, v19 │ + .line 134 │ + move-object/from16 v0, v17 │ │ - move-object/from16 v1, v20 │ + move-object/from16 v1, v18 │ │ - invoke-interface {v13, v0, v1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; │ + invoke-interface {v9, v0, v1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; │ │ .line 132 │ :cond_1 │ - add-int/lit8 v11, v11, 0x1 │ + add-int/lit8 v15, v15, 0x1 │ │ goto :goto_0 │ │ .line 138 │ - .end local v8 # "entry":Ljava/lang/String; │ - .end local v17 # "split":I │ + .end local v6 # "entry":Ljava/lang/String; │ + .end local v13 # "split":I │ :cond_2 │ - const/4 v10, 0x0 │ + const/4 v8, 0x0 │ │ .line 139 │ - .local v10, "i":I │ - invoke-interface {v13}, Ljava/util/Map;->size()I │ + .local v8, "i":I │ + invoke-interface {v9}, Ljava/util/Map;->size()I │ │ - move-result v19 │ + move-result v15 │ │ - move/from16 v0, v19 │ - │ - new-array v0, v0, [Ljava/lang/String; │ + new-array v0, v15, [Ljava/lang/String; │ │ move-object/from16 p2, v0 │ │ - .line 140 │ - invoke-interface {v13}, Ljava/util/Map;->entrySet()Ljava/util/Set; │ + .line 141 │ + invoke-interface {v9}, Ljava/util/Map;->entrySet()Ljava/util/Set; │ │ - move-result-object v19 │ + move-result-object v15 │ │ - invoke-interface/range {v19 .. v19}, Ljava/util/Set;->iterator()Ljava/util/Iterator; │ + .line 140 │ + invoke-interface {v15}, Ljava/util/Set;->iterator()Ljava/util/Iterator; │ │ - move-result-object v11 │ + move-result-object v16 │ │ - .local v11, "i$":Ljava/util/Iterator; │ :goto_1 │ - invoke-interface {v11}, Ljava/util/Iterator;->hasNext()Z │ + invoke-interface/range {v16 .. v16}, Ljava/util/Iterator;->hasNext()Z │ │ - move-result v19 │ + move-result v15 │ │ - if-eqz v19, :cond_3 │ + if-eqz v15, :cond_3 │ │ - invoke-interface {v11}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ + invoke-interface/range {v16 .. v16}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ │ - move-result-object v9 │ + move-result-object v7 │ │ - check-cast v9, Ljava/util/Map$Entry; │ + check-cast v7, Ljava/util/Map$Entry; │ │ .line 142 │ - .local v9, "entry":Ljava/util/Map$Entry;, "Ljava/util/Map$Entry;" │ - new-instance v20, Ljava/lang/StringBuilder; │ - │ - invoke-direct/range {v20 .. v20}, Ljava/lang/StringBuilder;->()V │ + .local v7, "entry":Ljava/util/Map$Entry;, "Ljava/util/Map$Entry;" │ + new-instance v17, Ljava/lang/StringBuilder; │ │ - invoke-interface {v9}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object; │ + invoke-direct/range {v17 .. v17}, Ljava/lang/StringBuilder;->()V │ │ - move-result-object v19 │ + invoke-interface {v7}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object; │ │ - check-cast v19, Ljava/lang/String; │ + move-result-object v15 │ │ - move-object/from16 v0, v20 │ + check-cast v15, Ljava/lang/String; │ │ - move-object/from16 v1, v19 │ + move-object/from16 v0, v17 │ │ - invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v0, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v19 │ + move-result-object v15 │ │ - const-string v20, "=" │ + const-string v17, "=" │ │ - invoke-virtual/range {v19 .. v20}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + move-object/from16 v0, v17 │ │ - move-result-object v20 │ + invoke-virtual {v15, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - invoke-interface {v9}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object; │ + move-result-object v17 │ │ - move-result-object v19 │ + invoke-interface {v7}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object; │ │ - check-cast v19, Ljava/lang/String; │ + move-result-object v15 │ │ - move-object/from16 v0, v20 │ + check-cast v15, Ljava/lang/String; │ │ - move-object/from16 v1, v19 │ + move-object/from16 v0, v17 │ │ - invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v0, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v19 │ + move-result-object v15 │ │ - invoke-virtual/range {v19 .. v19}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ + invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ │ - move-result-object v19 │ + move-result-object v15 │ │ - aput-object v19, p2, v10 │ + aput-object v15, p2, v8 │ │ .line 143 │ - add-int/lit8 v10, v10, 0x1 │ + add-int/lit8 v8, v8, 0x1 │ │ .line 144 │ goto :goto_1 │ │ .line 149 │ - .end local v6 # "arr$":[Ljava/lang/String; │ - .end local v9 # "entry":Ljava/util/Map$Entry;, "Ljava/util/Map$Entry;" │ - .end local v10 # "i":I │ - .end local v11 # "i$":Ljava/util/Iterator; │ - .end local v12 # "len$":I │ - .end local v13 # "newEnvironment":Ljava/util/Map;, "Ljava/util/Map;" │ + .end local v7 # "entry":Ljava/util/Map$Entry;, "Ljava/util/Map$Entry;" │ + .end local v8 # "i":I │ + .end local v9 # "newEnvironment":Ljava/util/Map;, "Ljava/util/Map;" │ :cond_3 │ invoke-static {}, Ljava/lang/Runtime;->getRuntime()Ljava/lang/Runtime; │ │ - move-result-object v19 │ - │ - move-object/from16 v0, v19 │ + move-result-object v15 │ │ - move-object/from16 v1, p0 │ + move-object/from16 v0, p0 │ │ - move-object/from16 v2, p2 │ + move-object/from16 v1, p2 │ │ - invoke-virtual {v0, v1, v2}, Ljava/lang/Runtime;->exec(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/Process; │ + invoke-virtual {v15, v0, v1}, Ljava/lang/Runtime;->exec(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/Process; │ │ - move-result-object v14 │ + move-result-object v10 │ │ .line 150 │ - .local v14, "process":Ljava/lang/Process; │ - new-instance v4, Ljava/io/DataOutputStream; │ - │ - invoke-virtual {v14}, Ljava/lang/Process;->getOutputStream()Ljava/io/OutputStream; │ + .local v10, "process":Ljava/lang/Process; │ + new-instance v3, Ljava/io/DataOutputStream; │ │ - move-result-object v19 │ + .line 151 │ + invoke-virtual {v10}, Ljava/lang/Process;->getOutputStream()Ljava/io/OutputStream; │ │ - move-object/from16 v0, v19 │ + move-result-object v15 │ │ - invoke-direct {v4, v0}, Ljava/io/DataOutputStream;->(Ljava/io/OutputStream;)V │ + invoke-direct {v3, v15}, Ljava/io/DataOutputStream;->(Ljava/io/OutputStream;)V │ │ .line 152 │ - .local v4, "STDIN":Ljava/io/DataOutputStream; │ - new-instance v5, Leu/chainfire/libsuperuser/StreamGobbler; │ - │ - new-instance v19, Ljava/lang/StringBuilder; │ + .local v3, "STDIN":Ljava/io/DataOutputStream; │ + new-instance v4, Leu/chainfire/libsuperuser/StreamGobbler; │ │ - invoke-direct/range {v19 .. v19}, Ljava/lang/StringBuilder;->()V │ + new-instance v15, Ljava/lang/StringBuilder; │ │ - move-object/from16 v0, v19 │ + invoke-direct {v15}, Ljava/lang/StringBuilder;->()V │ │ - move-object/from16 v1, v16 │ + invoke-virtual {v15, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ - │ - move-result-object v19 │ - │ - const-string v20, "-" │ + move-result-object v15 │ │ - invoke-virtual/range {v19 .. v20}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + const-string v16, "-" │ │ - move-result-object v19 │ + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - invoke-virtual/range {v19 .. v19}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ + move-result-object v15 │ │ - move-result-object v19 │ + invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ │ - invoke-virtual {v14}, Ljava/lang/Process;->getInputStream()Ljava/io/InputStream; │ + move-result-object v15 │ │ - move-result-object v20 │ + .line 153 │ + invoke-virtual {v10}, Ljava/lang/Process;->getInputStream()Ljava/io/InputStream; │ │ - move-object/from16 v0, v19 │ + move-result-object v16 │ │ - move-object/from16 v1, v20 │ + move-object/from16 v0, v16 │ │ - invoke-direct {v5, v0, v1, v15}, Leu/chainfire/libsuperuser/StreamGobbler;->(Ljava/lang/String;Ljava/io/InputStream;Ljava/util/List;)V │ + invoke-direct {v4, v15, v0, v11}, Leu/chainfire/libsuperuser/StreamGobbler;->(Ljava/lang/String;Ljava/io/InputStream;Ljava/util/List;)V │ │ .line 154 │ - .local v5, "STDOUT":Leu/chainfire/libsuperuser/StreamGobbler; │ - new-instance v3, Leu/chainfire/libsuperuser/StreamGobbler; │ - │ - new-instance v19, Ljava/lang/StringBuilder; │ - │ - invoke-direct/range {v19 .. v19}, Ljava/lang/StringBuilder;->()V │ + .local v4, "STDOUT":Leu/chainfire/libsuperuser/StreamGobbler; │ + new-instance v2, Leu/chainfire/libsuperuser/StreamGobbler; │ │ - move-object/from16 v0, v19 │ + new-instance v15, Ljava/lang/StringBuilder; │ │ - move-object/from16 v1, v16 │ + invoke-direct {v15}, Ljava/lang/StringBuilder;->()V │ │ - invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v15, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v19 │ + move-result-object v15 │ │ - const-string v20, "*" │ + const-string v16, "*" │ │ - invoke-virtual/range {v19 .. v20}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v19 │ + move-result-object v15 │ │ - invoke-virtual/range {v19 .. v19}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ + invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ │ - move-result-object v20 │ + move-result-object v16 │ │ - invoke-virtual {v14}, Ljava/lang/Process;->getErrorStream()Ljava/io/InputStream; │ + .line 155 │ + invoke-virtual {v10}, Ljava/lang/Process;->getErrorStream()Ljava/io/InputStream; │ │ - move-result-object v21 │ + move-result-object v17 │ │ if-eqz p3, :cond_4 │ │ - move-object/from16 v19, v15 │ + move-object v15, v11 │ │ :goto_2 │ - move-object/from16 v0, v20 │ - │ - move-object/from16 v1, v21 │ + move-object/from16 v0, v16 │ │ - move-object/from16 v2, v19 │ + move-object/from16 v1, v17 │ │ - invoke-direct {v3, v0, v1, v2}, Leu/chainfire/libsuperuser/StreamGobbler;->(Ljava/lang/String;Ljava/io/InputStream;Ljava/util/List;)V │ + invoke-direct {v2, v0, v1, v15}, Leu/chainfire/libsuperuser/StreamGobbler;->(Ljava/lang/String;Ljava/io/InputStream;Ljava/util/List;)V │ │ .line 158 │ - .local v3, "STDERR":Leu/chainfire/libsuperuser/StreamGobbler; │ - invoke-virtual {v5}, Leu/chainfire/libsuperuser/StreamGobbler;->start()V │ + .local v2, "STDERR":Leu/chainfire/libsuperuser/StreamGobbler; │ + invoke-virtual {v4}, Leu/chainfire/libsuperuser/StreamGobbler;->start()V │ │ .line 159 │ - invoke-virtual {v3}, Leu/chainfire/libsuperuser/StreamGobbler;->start()V │ + invoke-virtual {v2}, Leu/chainfire/libsuperuser/StreamGobbler;->start()V │ :try_end_0 │ .catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_1 │ .catch Ljava/lang/InterruptedException; {:try_start_0 .. :try_end_0} :catch_2 │ │ .line 161 │ - move-object/from16 v6, p1 │ - │ - .restart local v6 # "arr$":[Ljava/lang/String; │ :try_start_1 │ - array-length v12, v6 │ + move-object/from16 v0, p1 │ │ - .restart local v12 # "len$":I │ - const/4 v11, 0x0 │ + array-length v0, v0 │ + │ + move/from16 v16, v0 │ + │ + const/4 v15, 0x0 │ │ - .local v11, "i$":I │ :goto_3 │ - if-ge v11, v12, :cond_5 │ + move/from16 v0, v16 │ │ - aget-object v18, v6, v11 │ + if-ge v15, v0, :cond_5 │ + │ + aget-object v14, p1, v15 │ │ .line 162 │ - .local v18, "write":Ljava/lang/String; │ - const-string v19, "[%s+] %s" │ + .local v14, "write":Ljava/lang/String; │ + const-string v17, "[%s+] %s" │ │ - const/16 v20, 0x2 │ + const/16 v18, 0x2 │ │ - move/from16 v0, v20 │ + move/from16 v0, v18 │ │ new-array v0, v0, [Ljava/lang/Object; │ │ - move-object/from16 v20, v0 │ + move-object/from16 v18, v0 │ │ - const/16 v21, 0x0 │ + const/16 v19, 0x0 │ │ - aput-object v16, v20, v21 │ + aput-object v12, v18, v19 │ │ - const/16 v21, 0x1 │ + const/16 v19, 0x1 │ │ - aput-object v18, v20, v21 │ + aput-object v14, v18, v19 │ │ - invoke-static/range {v19 .. v20}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; │ + invoke-static/range {v17 .. v18}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; │ │ - move-result-object v19 │ + move-result-object v17 │ │ - invoke-static/range {v19 .. v19}, Leu/chainfire/libsuperuser/Debug;->logCommand(Ljava/lang/String;)V │ + invoke-static/range {v17 .. v17}, Leu/chainfire/libsuperuser/Debug;->logCommand(Ljava/lang/String;)V │ │ .line 164 │ - new-instance v19, Ljava/lang/StringBuilder; │ + new-instance v17, Ljava/lang/StringBuilder; │ │ - invoke-direct/range {v19 .. v19}, Ljava/lang/StringBuilder;->()V │ + invoke-direct/range {v17 .. v17}, Ljava/lang/StringBuilder;->()V │ │ - move-object/from16 v0, v19 │ + move-object/from16 v0, v17 │ │ - move-object/from16 v1, v18 │ - │ - invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v0, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v19 │ + move-result-object v17 │ │ - const-string v20, "\n" │ + const-string v18, "\n" │ │ - invoke-virtual/range {v19 .. v20}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v19 │ + move-result-object v17 │ │ - invoke-virtual/range {v19 .. v19}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ + invoke-virtual/range {v17 .. v17}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ │ - move-result-object v19 │ + move-result-object v17 │ │ - const-string v20, "UTF-8" │ + const-string v18, "UTF-8" │ │ - invoke-virtual/range {v19 .. v20}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B │ + invoke-virtual/range {v17 .. v18}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B │ │ - move-result-object v19 │ + move-result-object v17 │ │ - move-object/from16 v0, v19 │ + move-object/from16 v0, v17 │ │ - invoke-virtual {v4, v0}, Ljava/io/DataOutputStream;->write([B)V │ + invoke-virtual {v3, v0}, Ljava/io/DataOutputStream;->write([B)V │ │ .line 165 │ - invoke-virtual {v4}, Ljava/io/DataOutputStream;->flush()V │ + invoke-virtual {v3}, Ljava/io/DataOutputStream;->flush()V │ │ .line 161 │ - add-int/lit8 v11, v11, 0x1 │ + add-int/lit8 v15, v15, 0x1 │ │ goto :goto_3 │ │ - .line 154 │ - .end local v3 # "STDERR":Leu/chainfire/libsuperuser/StreamGobbler; │ - .end local v6 # "arr$":[Ljava/lang/String; │ - .end local v11 # "i$":I │ - .end local v12 # "len$":I │ - .end local v18 # "write":Ljava/lang/String; │ + .line 155 │ + .end local v2 # "STDERR":Leu/chainfire/libsuperuser/StreamGobbler; │ + .end local v14 # "write":Ljava/lang/String; │ :cond_4 │ - const/16 v19, 0x0 │ + const/4 v15, 0x0 │ │ goto :goto_2 │ │ .line 167 │ - .restart local v3 # "STDERR":Leu/chainfire/libsuperuser/StreamGobbler; │ - .restart local v6 # "arr$":[Ljava/lang/String; │ - .restart local v11 # "i$":I │ - .restart local v12 # "len$":I │ + .restart local v2 # "STDERR":Leu/chainfire/libsuperuser/StreamGobbler; │ :cond_5 │ - const-string v19, "exit\n" │ + const-string v15, "exit\n" │ │ - const-string v20, "UTF-8" │ + const-string v16, "UTF-8" │ │ - invoke-virtual/range {v19 .. v20}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B │ + invoke-virtual/range {v15 .. v16}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B │ │ - move-result-object v19 │ - │ - move-object/from16 v0, v19 │ + move-result-object v15 │ │ - invoke-virtual {v4, v0}, Ljava/io/DataOutputStream;->write([B)V │ + invoke-virtual {v3, v15}, Ljava/io/DataOutputStream;->write([B)V │ │ .line 168 │ - invoke-virtual {v4}, Ljava/io/DataOutputStream;->flush()V │ + invoke-virtual {v3}, Ljava/io/DataOutputStream;->flush()V │ :try_end_1 │ .catch Ljava/io/IOException; {:try_start_1 .. :try_end_1} :catch_0 │ .catch Ljava/lang/InterruptedException; {:try_start_1 .. :try_end_1} :catch_2 │ │ .line 185 │ - .end local v11 # "i$":I │ - .end local v12 # "len$":I │ :cond_6 │ :try_start_2 │ - invoke-virtual {v14}, Ljava/lang/Process;->waitFor()I │ + invoke-virtual {v10}, Ljava/lang/Process;->waitFor()I │ :try_end_2 │ .catch Ljava/io/IOException; {:try_start_2 .. :try_end_2} :catch_1 │ .catch Ljava/lang/InterruptedException; {:try_start_2 .. :try_end_2} :catch_2 │ │ .line 193 │ :try_start_3 │ - invoke-virtual {v4}, Ljava/io/DataOutputStream;->close()V │ + invoke-virtual {v3}, Ljava/io/DataOutputStream;->close()V │ :try_end_3 │ .catch Ljava/io/IOException; {:try_start_3 .. :try_end_3} :catch_3 │ .catch Ljava/lang/InterruptedException; {:try_start_3 .. :try_end_3} :catch_2 │ │ .line 196 │ :goto_4 │ :try_start_4 │ - invoke-virtual {v5}, Leu/chainfire/libsuperuser/StreamGobbler;->join()V │ + invoke-virtual {v4}, Leu/chainfire/libsuperuser/StreamGobbler;->join()V │ │ .line 197 │ - invoke-virtual {v3}, Leu/chainfire/libsuperuser/StreamGobbler;->join()V │ + invoke-virtual {v2}, Leu/chainfire/libsuperuser/StreamGobbler;->join()V │ │ .line 198 │ - invoke-virtual {v14}, Ljava/lang/Process;->destroy()V │ + invoke-virtual {v10}, Ljava/lang/Process;->destroy()V │ │ .line 201 │ invoke-static/range {p0 .. p0}, Leu/chainfire/libsuperuser/Shell$SU;->isSU(Ljava/lang/String;)Z │ │ - move-result v19 │ + move-result v15 │ │ - if-eqz v19, :cond_7 │ + if-eqz v15, :cond_7 │ │ - invoke-virtual {v14}, Ljava/lang/Process;->exitValue()I │ + invoke-virtual {v10}, Ljava/lang/Process;->exitValue()I │ :try_end_4 │ .catch Ljava/io/IOException; {:try_start_4 .. :try_end_4} :catch_1 │ .catch Ljava/lang/InterruptedException; {:try_start_4 .. :try_end_4} :catch_2 │ │ - move-result v19 │ + move-result v15 │ │ - const/16 v20, 0xff │ + const/16 v16, 0xff │ │ - move/from16 v0, v19 │ + move/from16 v0, v16 │ │ - move/from16 v1, v20 │ - │ - if-ne v0, v1, :cond_7 │ + if-ne v15, v0, :cond_7 │ │ .line 202 │ - const/4 v15, 0x0 │ + const/4 v11, 0x0 │ │ .line 212 │ - .end local v3 # "STDERR":Leu/chainfire/libsuperuser/StreamGobbler; │ - .end local v4 # "STDIN":Ljava/io/DataOutputStream; │ - .end local v5 # "STDOUT":Leu/chainfire/libsuperuser/StreamGobbler; │ - .end local v6 # "arr$":[Ljava/lang/String; │ - .end local v14 # "process":Ljava/lang/Process; │ + .end local v2 # "STDERR":Leu/chainfire/libsuperuser/StreamGobbler; │ + .end local v3 # "STDIN":Ljava/io/DataOutputStream; │ + .end local v4 # "STDOUT":Leu/chainfire/libsuperuser/StreamGobbler; │ + .end local v10 # "process":Ljava/lang/Process; │ :cond_7 │ :goto_5 │ - const-string v19, "[%s%%] END" │ + const-string v15, "[%s%%] END" │ │ - const/16 v20, 0x1 │ + const/16 v16, 0x1 │ │ - move/from16 v0, v20 │ + move/from16 v0, v16 │ │ new-array v0, v0, [Ljava/lang/Object; │ │ - move-object/from16 v20, v0 │ + move-object/from16 v16, v0 │ │ - const/16 v21, 0x0 │ + const/16 v17, 0x0 │ │ - sget-object v22, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale; │ + sget-object v18, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale; │ │ + .line 213 │ move-object/from16 v0, p0 │ │ - move-object/from16 v1, v22 │ + move-object/from16 v1, v18 │ │ invoke-virtual {v0, v1}, Ljava/lang/String;->toUpperCase(Ljava/util/Locale;)Ljava/lang/String; │ │ - move-result-object v22 │ + move-result-object v18 │ │ - aput-object v22, v20, v21 │ + aput-object v18, v16, v17 │ │ - invoke-static/range {v19 .. v20}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; │ + .line 212 │ + invoke-static/range {v15 .. v16}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; │ │ - move-result-object v19 │ + move-result-object v15 │ │ - invoke-static/range {v19 .. v19}, Leu/chainfire/libsuperuser/Debug;->logCommand(Ljava/lang/String;)V │ + invoke-static {v15}, Leu/chainfire/libsuperuser/Debug;->logCommand(Ljava/lang/String;)V │ │ .line 214 │ - return-object v15 │ + return-object v11 │ │ .line 169 │ - .restart local v3 # "STDERR":Leu/chainfire/libsuperuser/StreamGobbler; │ - .restart local v4 # "STDIN":Ljava/io/DataOutputStream; │ - .restart local v5 # "STDOUT":Leu/chainfire/libsuperuser/StreamGobbler; │ - .restart local v6 # "arr$":[Ljava/lang/String; │ - .restart local v14 # "process":Ljava/lang/Process; │ + .restart local v2 # "STDERR":Leu/chainfire/libsuperuser/StreamGobbler; │ + .restart local v3 # "STDIN":Ljava/io/DataOutputStream; │ + .restart local v4 # "STDOUT":Leu/chainfire/libsuperuser/StreamGobbler; │ + .restart local v10 # "process":Ljava/lang/Process; │ :catch_0 │ - move-exception v7 │ + move-exception v5 │ │ .line 170 │ - .local v7, "e":Ljava/io/IOException; │ + .local v5, "e":Ljava/io/IOException; │ :try_start_5 │ - invoke-virtual {v7}, Ljava/io/IOException;->getMessage()Ljava/lang/String; │ + invoke-virtual {v5}, Ljava/io/IOException;->getMessage()Ljava/lang/String; │ │ - move-result-object v19 │ + move-result-object v15 │ │ - const-string v20, "EPIPE" │ + const-string v16, "EPIPE" │ │ - invoke-virtual/range {v19 .. v20}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z │ + invoke-virtual/range {v15 .. v16}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z │ │ - move-result v19 │ + move-result v15 │ │ - if-nez v19, :cond_6 │ + if-nez v15, :cond_6 │ │ .line 179 │ - throw v7 │ + throw v5 │ :try_end_5 │ .catch Ljava/io/IOException; {:try_start_5 .. :try_end_5} :catch_1 │ .catch Ljava/lang/InterruptedException; {:try_start_5 .. :try_end_5} :catch_2 │ │ .line 204 │ - .end local v3 # "STDERR":Leu/chainfire/libsuperuser/StreamGobbler; │ - .end local v4 # "STDIN":Ljava/io/DataOutputStream; │ - .end local v5 # "STDOUT":Leu/chainfire/libsuperuser/StreamGobbler; │ - .end local v6 # "arr$":[Ljava/lang/String; │ - .end local v7 # "e":Ljava/io/IOException; │ - .end local v14 # "process":Ljava/lang/Process; │ + .end local v2 # "STDERR":Leu/chainfire/libsuperuser/StreamGobbler; │ + .end local v3 # "STDIN":Ljava/io/DataOutputStream; │ + .end local v4 # "STDOUT":Leu/chainfire/libsuperuser/StreamGobbler; │ + .end local v5 # "e":Ljava/io/IOException; │ + .end local v10 # "process":Ljava/lang/Process; │ :catch_1 │ - move-exception v7 │ + move-exception v5 │ │ .line 206 │ - .restart local v7 # "e":Ljava/io/IOException; │ - const/4 v15, 0x0 │ + .restart local v5 # "e":Ljava/io/IOException; │ + const/4 v11, 0x0 │ │ .line 210 │ goto :goto_5 │ │ .line 207 │ - .end local v7 # "e":Ljava/io/IOException; │ + .end local v5 # "e":Ljava/io/IOException; │ :catch_2 │ - move-exception v7 │ + move-exception v5 │ │ .line 209 │ - .local v7, "e":Ljava/lang/InterruptedException; │ - const/4 v15, 0x0 │ + .local v5, "e":Ljava/lang/InterruptedException; │ + const/4 v11, 0x0 │ │ goto :goto_5 │ │ .line 194 │ - .end local v7 # "e":Ljava/lang/InterruptedException; │ - .restart local v3 # "STDERR":Leu/chainfire/libsuperuser/StreamGobbler; │ - .restart local v4 # "STDIN":Ljava/io/DataOutputStream; │ - .restart local v5 # "STDOUT":Leu/chainfire/libsuperuser/StreamGobbler; │ - .restart local v6 # "arr$":[Ljava/lang/String; │ - .restart local v14 # "process":Ljava/lang/Process; │ + .end local v5 # "e":Ljava/lang/InterruptedException; │ + .restart local v2 # "STDERR":Leu/chainfire/libsuperuser/StreamGobbler; │ + .restart local v3 # "STDIN":Ljava/io/DataOutputStream; │ + .restart local v4 # "STDOUT":Leu/chainfire/libsuperuser/StreamGobbler; │ + .restart local v10 # "process":Ljava/lang/Process; │ :catch_3 │ - move-exception v19 │ + move-exception v15 │ │ goto :goto_4 │ .end method ├── smali/eu/chainfire/libsuperuser/Shell$Interactive$2.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Leu/chainfire/libsuperuser/Shell$Interactive; │ │ │ # direct methods │ .method constructor (Leu/chainfire/libsuperuser/Shell$Interactive;)V │ .locals 0 │ + .param p1, "this$0" # Leu/chainfire/libsuperuser/Shell$Interactive; │ │ .prologue │ .line 1349 │ iput-object p1, p0, Leu/chainfire/libsuperuser/Shell$Interactive$2;->this$0:Leu/chainfire/libsuperuser/Shell$Interactive; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/eu/chainfire/libsuperuser/Shell$SU.smali │ @@ -414,14 +414,15 @@ │ .end annotation │ │ .prologue │ .line 323 │ .local p0, "commands":Ljava/util/List;, "Ljava/util/List;" │ const-string v1, "su" │ │ + .line 324 │ invoke-interface {p0}, Ljava/util/List;->size()I │ │ move-result v0 │ │ new-array v0, v0, [Ljava/lang/String; │ │ invoke-interface {p0, v0}, Ljava/util/List;->toArray([Ljava/lang/Object;)[Ljava/lang/Object; │ @@ -430,14 +431,15 @@ │ │ check-cast v0, [Ljava/lang/String; │ │ const/4 v2, 0x0 │ │ const/4 v3, 0x0 │ │ + .line 323 │ invoke-static {v1, v0, v2, v3}, Leu/chainfire/libsuperuser/Shell;->run(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;Z)Ljava/util/List; │ │ move-result-object v0 │ │ return-object v0 │ .end method │ │ @@ -511,20 +513,22 @@ │ .local v1, "internal":Ljava/lang/String; │ if-eqz v0, :cond_0 │ │ if-eqz v1, :cond_0 │ │ const-string v3, "SUPERSU" │ │ + .line 451 │ invoke-virtual {v0, v3}, Ljava/lang/String;->endsWith(Ljava/lang/String;)Z │ │ move-result v3 │ │ if-eqz v3, :cond_0 │ │ + .line 452 │ invoke-static {v1}, Ljava/lang/Integer;->valueOf(Ljava/lang/String;)Ljava/lang/Integer; │ │ move-result-object v3 │ │ invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I │ │ move-result v3 │ @@ -599,179 +603,175 @@ │ :cond_0 │ const-string v0, "su" │ │ goto :goto_0 │ .end method │ │ .method public static declared-synchronized version(Z)Ljava/lang/String; │ - .locals 10 │ + .locals 9 │ .param p0, "internal" # Z │ │ .prologue │ - const/4 v5, 0x1 │ + const/4 v4, 0x1 │ │ - const/4 v1, 0x0 │ + const/4 v0, 0x0 │ │ .line 376 │ - const-class v6, Leu/chainfire/libsuperuser/Shell$SU; │ + const-class v5, Leu/chainfire/libsuperuser/Shell$SU; │ │ - monitor-enter v6 │ + monitor-enter v5 │ │ if-eqz p0, :cond_3 │ │ .line 377 │ - .local v1, "idx":I │ + .local v0, "idx":I │ :goto_0 │ :try_start_0 │ - sget-object v5, Leu/chainfire/libsuperuser/Shell$SU;->suVersion:[Ljava/lang/String; │ + sget-object v4, Leu/chainfire/libsuperuser/Shell$SU;->suVersion:[Ljava/lang/String; │ │ - aget-object v5, v5, v1 │ + aget-object v4, v4, v0 │ │ - if-nez v5, :cond_2 │ + if-nez v4, :cond_2 │ │ .line 378 │ - const/4 v4, 0x0 │ + const/4 v3, 0x0 │ │ .line 380 │ - .local v4, "version":Ljava/lang/String; │ + .local v3, "version":Ljava/lang/String; │ if-eqz p0, :cond_4 │ │ - const-string v5, "su -V" │ + const-string v4, "su -V" │ │ :goto_1 │ - const/4 v7, 0x1 │ + const/4 v6, 0x1 │ │ - new-array v7, v7, [Ljava/lang/String; │ + new-array v6, v6, [Ljava/lang/String; │ │ - const/4 v8, 0x0 │ + const/4 v7, 0x0 │ │ - const-string v9, "exit" │ + const-string v8, "exit" │ │ - aput-object v9, v7, v8 │ + aput-object v8, v6, v7 │ │ - const/4 v8, 0x0 │ + const/4 v7, 0x0 │ │ - const/4 v9, 0x0 │ + const/4 v8, 0x0 │ │ - invoke-static {v5, v7, v8, v9}, Leu/chainfire/libsuperuser/Shell;->run(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;Z)Ljava/util/List; │ + invoke-static {v4, v6, v7, v8}, Leu/chainfire/libsuperuser/Shell;->run(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;Z)Ljava/util/List; │ │ - move-result-object v3 │ + move-result-object v2 │ │ .line 383 │ - .local v3, "ret":Ljava/util/List;, "Ljava/util/List;" │ - if-eqz v3, :cond_1 │ + .local v2, "ret":Ljava/util/List;, "Ljava/util/List;" │ + if-eqz v2, :cond_1 │ │ .line 384 │ - invoke-interface {v3}, Ljava/util/List;->iterator()Ljava/util/Iterator; │ + invoke-interface {v2}, Ljava/util/List;->iterator()Ljava/util/Iterator; │ │ - move-result-object v0 │ + move-result-object v4 │ │ - .local v0, "i$":Ljava/util/Iterator; │ :cond_0 │ :goto_2 │ - invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z │ + invoke-interface {v4}, Ljava/util/Iterator;->hasNext()Z │ │ - move-result v5 │ + move-result v6 │ │ - if-eqz v5, :cond_1 │ + if-eqz v6, :cond_1 │ │ - invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ + invoke-interface {v4}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ │ - move-result-object v2 │ + move-result-object v1 │ │ - check-cast v2, Ljava/lang/String; │ + check-cast v1, Ljava/lang/String; │ │ .line 385 │ - .local v2, "line":Ljava/lang/String; │ + .local v1, "line":Ljava/lang/String; │ if-nez p0, :cond_5 │ │ .line 386 │ - const-string v5, "." │ + const-string v6, "." │ │ - invoke-virtual {v2, v5}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z │ + invoke-virtual {v1, v6}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z │ │ - move-result v5 │ + move-result v6 │ │ - if-eqz v5, :cond_0 │ + if-eqz v6, :cond_0 │ │ .line 387 │ - move-object v4, v2 │ + move-object v3, v1 │ │ .line 402 │ - .end local v0 # "i$":Ljava/util/Iterator; │ - .end local v2 # "line":Ljava/lang/String; │ + .end local v1 # "line":Ljava/lang/String; │ :cond_1 │ :goto_3 │ - sget-object v5, Leu/chainfire/libsuperuser/Shell$SU;->suVersion:[Ljava/lang/String; │ + sget-object v4, Leu/chainfire/libsuperuser/Shell$SU;->suVersion:[Ljava/lang/String; │ │ - aput-object v4, v5, v1 │ + aput-object v3, v4, v0 │ │ .line 404 │ - .end local v3 # "ret":Ljava/util/List;, "Ljava/util/List;" │ - .end local v4 # "version":Ljava/lang/String; │ + .end local v2 # "ret":Ljava/util/List;, "Ljava/util/List;" │ + .end local v3 # "version":Ljava/lang/String; │ :cond_2 │ - sget-object v5, Leu/chainfire/libsuperuser/Shell$SU;->suVersion:[Ljava/lang/String; │ + sget-object v4, Leu/chainfire/libsuperuser/Shell$SU;->suVersion:[Ljava/lang/String; │ │ - aget-object v5, v5, v1 │ + aget-object v4, v4, v0 │ :try_end_0 │ .catchall {:try_start_0 .. :try_end_0} :catchall_0 │ │ - monitor-exit v6 │ + monitor-exit v5 │ │ - return-object v5 │ + return-object v4 │ │ - .end local v1 # "idx":I │ + .end local v0 # "idx":I │ :cond_3 │ - move v1, v5 │ + move v0, v4 │ │ .line 376 │ goto :goto_0 │ │ .line 380 │ - .restart local v1 # "idx":I │ - .restart local v4 # "version":Ljava/lang/String; │ + .restart local v0 # "idx":I │ + .restart local v3 # "version":Ljava/lang/String; │ :cond_4 │ :try_start_1 │ - const-string v5, "su -v" │ + const-string v4, "su -v" │ :try_end_1 │ .catchall {:try_start_1 .. :try_end_1} :catchall_0 │ │ goto :goto_1 │ │ .line 392 │ - .restart local v0 # "i$":Ljava/util/Iterator; │ - .restart local v2 # "line":Ljava/lang/String; │ - .restart local v3 # "ret":Ljava/util/List;, "Ljava/util/List;" │ + .restart local v1 # "line":Ljava/lang/String; │ + .restart local v2 # "ret":Ljava/util/List;, "Ljava/util/List;" │ :cond_5 │ :try_start_2 │ - invoke-static {v2}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I │ + invoke-static {v1}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I │ :try_end_2 │ .catch Ljava/lang/NumberFormatException; {:try_start_2 .. :try_end_2} :catch_0 │ .catchall {:try_start_2 .. :try_end_2} :catchall_0 │ │ - move-result v5 │ + move-result v6 │ │ - if-lez v5, :cond_0 │ + if-lez v6, :cond_0 │ │ .line 393 │ - move-object v4, v2 │ + move-object v3, v1 │ │ goto :goto_3 │ │ .line 396 │ :catch_0 │ - move-exception v5 │ + move-exception v6 │ │ goto :goto_2 │ │ .line 376 │ - .end local v0 # "i$":Ljava/util/Iterator; │ - .end local v2 # "line":Ljava/lang/String; │ - .end local v3 # "ret":Ljava/util/List;, "Ljava/util/List;" │ - .end local v4 # "version":Ljava/lang/String; │ + .end local v1 # "line":Ljava/lang/String; │ + .end local v2 # "ret":Ljava/util/List;, "Ljava/util/List;" │ + .end local v3 # "version":Ljava/lang/String; │ :catchall_0 │ - move-exception v5 │ + move-exception v4 │ │ - monitor-exit v6 │ + monitor-exit v5 │ │ - throw v5 │ + throw v4 │ .end method ├── smali/eu/chainfire/libsuperuser/Shell$Interactive$6.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Leu/chainfire/libsuperuser/Shell$Interactive; │ │ │ # direct methods │ .method constructor (Leu/chainfire/libsuperuser/Shell$Interactive;)V │ .locals 0 │ + .param p1, "this$0" # Leu/chainfire/libsuperuser/Shell$Interactive; │ │ .prologue │ .line 1608 │ iput-object p1, p0, Leu/chainfire/libsuperuser/Shell$Interactive$6;->this$0:Leu/chainfire/libsuperuser/Shell$Interactive; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/eu/chainfire/libsuperuser/Shell$Interactive$3.smali │ @@ -24,14 +24,15 @@ │ │ .field final synthetic val$fListener:Leu/chainfire/libsuperuser/StreamGobbler$OnLineListener; │ │ │ # direct methods │ .method constructor (Leu/chainfire/libsuperuser/Shell$Interactive;Leu/chainfire/libsuperuser/StreamGobbler$OnLineListener;Ljava/lang/String;)V │ .locals 0 │ + .param p1, "this$0" # Leu/chainfire/libsuperuser/Shell$Interactive; │ │ .prologue │ .line 1464 │ iput-object p1, p0, Leu/chainfire/libsuperuser/Shell$Interactive$3;->this$0:Leu/chainfire/libsuperuser/Shell$Interactive; │ │ iput-object p2, p0, Leu/chainfire/libsuperuser/Shell$Interactive$3;->val$fListener:Leu/chainfire/libsuperuser/StreamGobbler$OnLineListener; ├── smali/eu/chainfire/libsuperuser/Debug.smali │ @@ -64,15 +64,14 @@ │ .method public constructor ()V │ .locals 0 │ │ .prologue │ .line 28 │ invoke-direct {p0}, Ljava/lang/Object;->()V │ │ - .line 64 │ return-void │ .end method │ │ .method public static getDebug()Z │ .locals 1 │ │ .prologue │ @@ -269,22 +268,24 @@ │ │ invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v2 │ │ const-string v0, "[" │ │ + .line 109 │ invoke-virtual {p2, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z │ │ move-result v0 │ │ if-nez v0, :cond_2 │ │ const-string v0, " " │ │ + .line 110 │ invoke-virtual {p2, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z │ │ move-result v0 │ │ if-nez v0, :cond_2 │ │ const-string v0, " " │ @@ -298,18 +299,20 @@ │ │ move-result-object v0 │ │ invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ │ move-result-object v0 │ │ + .line 103 │ invoke-static {v1, v0}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I │ │ goto :goto_0 │ │ + .line 110 │ :cond_2 │ const-string v0, "" │ │ goto :goto_1 │ .end method │ │ .method public static logOutput(Ljava/lang/String;)V │ @@ -339,25 +342,28 @@ │ │ if-eqz v0, :cond_0 │ │ invoke-static {}, Landroid/os/Looper;->myLooper()Landroid/os/Looper; │ │ move-result-object v0 │ │ + .line 315 │ invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper; │ │ move-result-object v1 │ │ if-ne v0, v1, :cond_0 │ │ const/4 v0, 0x1 │ │ + .line 314 │ :goto_0 │ return v0 │ │ + .line 315 │ :cond_0 │ const/4 v0, 0x0 │ │ goto :goto_0 │ .end method │ │ .method public static setDebug(Z)V ├── smali/eu/chainfire/libsuperuser/Shell$Command.smali │ @@ -93,14 +93,15 @@ │ │ sget v4, Leu/chainfire/libsuperuser/Shell$Command;->commandCounter:I │ │ add-int/lit8 v4, v4, 0x1 │ │ sput v4, Leu/chainfire/libsuperuser/Shell$Command;->commandCounter:I │ │ + .line 635 │ invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; │ │ move-result-object v4 │ │ aput-object v4, v2, v3 │ │ invoke-static {v1, v2}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; ├── smali/eu/chainfire/libsuperuser/Shell$Interactive$5.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Leu/chainfire/libsuperuser/Shell$Interactive; │ │ │ # direct methods │ .method constructor (Leu/chainfire/libsuperuser/Shell$Interactive;)V │ .locals 0 │ + .param p1, "this$0" # Leu/chainfire/libsuperuser/Shell$Interactive; │ │ .prologue │ .line 1583 │ iput-object p1, p0, Leu/chainfire/libsuperuser/Shell$Interactive$5;->this$0:Leu/chainfire/libsuperuser/Shell$Interactive; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V │ │ @@ -88,36 +89,40 @@ │ │ .line 1592 │ :try_start_1 │ iget-object v0, p0, Leu/chainfire/libsuperuser/Shell$Interactive$5;->this$0:Leu/chainfire/libsuperuser/Shell$Interactive; │ │ iget-object v2, p0, Leu/chainfire/libsuperuser/Shell$Interactive$5;->this$0:Leu/chainfire/libsuperuser/Shell$Interactive; │ │ + .line 1593 │ # getter for: Leu/chainfire/libsuperuser/Shell$Interactive;->command:Leu/chainfire/libsuperuser/Shell$Command; │ invoke-static {v2}, Leu/chainfire/libsuperuser/Shell$Interactive;->access$1900(Leu/chainfire/libsuperuser/Shell$Interactive;)Leu/chainfire/libsuperuser/Shell$Command; │ │ move-result-object v2 │ │ # getter for: Leu/chainfire/libsuperuser/Shell$Command;->marker:Ljava/lang/String; │ invoke-static {v2}, Leu/chainfire/libsuperuser/Shell$Command;->access$1500(Leu/chainfire/libsuperuser/Shell$Command;)Ljava/lang/String; │ │ move-result-object v2 │ │ + .line 1594 │ invoke-virtual {v2}, Ljava/lang/String;->length()I │ │ move-result v2 │ │ add-int/lit8 v2, v2, 0x1 │ │ + .line 1593 │ invoke-virtual {p1, v2}, Ljava/lang/String;->substring(I)Ljava/lang/String; │ │ move-result-object v2 │ │ const/16 v3, 0xa │ │ + .line 1592 │ invoke-static {v2, v3}, Ljava/lang/Integer;->valueOf(Ljava/lang/String;I)Ljava/lang/Integer; │ │ move-result-object v2 │ │ invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I │ │ move-result v2 ├── smali/eu/chainfire/libsuperuser/Shell$Interactive$4.smali │ @@ -26,14 +26,15 @@ │ │ .field final synthetic val$fOutput:Ljava/util/List; │ │ │ # direct methods │ .method constructor (Leu/chainfire/libsuperuser/Shell$Interactive;Leu/chainfire/libsuperuser/Shell$Command;Ljava/util/List;I)V │ .locals 0 │ + .param p1, "this$0" # Leu/chainfire/libsuperuser/Shell$Interactive; │ │ .prologue │ .line 1521 │ iput-object p1, p0, Leu/chainfire/libsuperuser/Shell$Interactive$4;->this$0:Leu/chainfire/libsuperuser/Shell$Interactive; │ │ iput-object p2, p0, Leu/chainfire/libsuperuser/Shell$Interactive$4;->val$fCommand:Leu/chainfire/libsuperuser/Shell$Command; │ │ @@ -73,23 +74,25 @@ │ # getter for: Leu/chainfire/libsuperuser/Shell$Command;->onCommandResultListener:Leu/chainfire/libsuperuser/Shell$OnCommandResultListener; │ invoke-static {v0}, Leu/chainfire/libsuperuser/Shell$Command;->access$1400(Leu/chainfire/libsuperuser/Shell$Command;)Leu/chainfire/libsuperuser/Shell$OnCommandResultListener; │ │ move-result-object v0 │ │ iget-object v1, p0, Leu/chainfire/libsuperuser/Shell$Interactive$4;->val$fCommand:Leu/chainfire/libsuperuser/Shell$Command; │ │ + .line 1528 │ # getter for: Leu/chainfire/libsuperuser/Shell$Command;->code:I │ invoke-static {v1}, Leu/chainfire/libsuperuser/Shell$Command;->access$1800(Leu/chainfire/libsuperuser/Shell$Command;)I │ │ move-result v1 │ │ iget v2, p0, Leu/chainfire/libsuperuser/Shell$Interactive$4;->val$fExitCode:I │ │ iget-object v3, p0, Leu/chainfire/libsuperuser/Shell$Interactive$4;->val$fOutput:Ljava/util/List; │ │ + .line 1527 │ invoke-interface {v0, v1, v2, v3}, Leu/chainfire/libsuperuser/Shell$OnCommandResultListener;->onCommandResult(IILjava/util/List;)V │ │ .line 1529 │ :cond_0 │ iget-object v0, p0, Leu/chainfire/libsuperuser/Shell$Interactive$4;->val$fCommand:Leu/chainfire/libsuperuser/Shell$Command; │ │ # getter for: Leu/chainfire/libsuperuser/Shell$Command;->onCommandLineListener:Leu/chainfire/libsuperuser/Shell$OnCommandLineListener; │ @@ -105,21 +108,23 @@ │ # getter for: Leu/chainfire/libsuperuser/Shell$Command;->onCommandLineListener:Leu/chainfire/libsuperuser/Shell$OnCommandLineListener; │ invoke-static {v0}, Leu/chainfire/libsuperuser/Shell$Command;->access$1700(Leu/chainfire/libsuperuser/Shell$Command;)Leu/chainfire/libsuperuser/Shell$OnCommandLineListener; │ │ move-result-object v0 │ │ iget-object v1, p0, Leu/chainfire/libsuperuser/Shell$Interactive$4;->val$fCommand:Leu/chainfire/libsuperuser/Shell$Command; │ │ + .line 1531 │ # getter for: Leu/chainfire/libsuperuser/Shell$Command;->code:I │ invoke-static {v1}, Leu/chainfire/libsuperuser/Shell$Command;->access$1800(Leu/chainfire/libsuperuser/Shell$Command;)I │ │ move-result v1 │ │ iget v2, p0, Leu/chainfire/libsuperuser/Shell$Interactive$4;->val$fExitCode:I │ │ + .line 1530 │ invoke-interface {v0, v1, v2}, Leu/chainfire/libsuperuser/Shell$OnCommandLineListener;->onCommandResult(II)V │ :try_end_0 │ .catchall {:try_start_0 .. :try_end_0} :catchall_0 │ │ .line 1533 │ :cond_1 │ iget-object v0, p0, Leu/chainfire/libsuperuser/Shell$Interactive$4;->this$0:Leu/chainfire/libsuperuser/Shell$Interactive; ├── smali/eu/chainfire/libsuperuser/Shell$Interactive.smali │ @@ -615,20 +615,22 @@ │ │ const/4 v3, 0x0 │ │ iget-object v4, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->shell:Ljava/lang/String; │ │ sget-object v5, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale; │ │ + .line 1317 │ invoke-virtual {v4, v5}, Ljava/lang/String;->toUpperCase(Ljava/util/Locale;)Ljava/lang/String; │ │ move-result-object v4 │ │ aput-object v4, v2, v3 │ │ + .line 1316 │ invoke-static {v1, v2}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; │ │ move-result-object v1 │ │ invoke-static {v1}, Leu/chainfire/libsuperuser/Debug;->log(Ljava/lang/String;)V │ │ .line 1326 │ @@ -712,367 +714,372 @@ │ │ const/4 v3, 0x0 │ │ iget-object v4, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->shell:Ljava/lang/String; │ │ sget-object v5, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale; │ │ + .line 1323 │ invoke-virtual {v4, v5}, Ljava/lang/String;->toUpperCase(Ljava/util/Locale;)Ljava/lang/String; │ │ move-result-object v4 │ │ aput-object v4, v2, v3 │ │ + .line 1322 │ invoke-static {v1, v2}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; │ │ move-result-object v1 │ │ invoke-static {v1}, Leu/chainfire/libsuperuser/Debug;->log(Ljava/lang/String;)V │ :try_end_2 │ .catchall {:try_start_2 .. :try_end_2} :catchall_0 │ │ goto :goto_1 │ .end method │ │ .method private declared-synchronized open()Z │ - .locals 13 │ + .locals 12 │ │ .prologue │ - const/4 v7, 0x1 │ + const/4 v6, 0x1 │ │ - const/4 v8, 0x0 │ + const/4 v7, 0x0 │ │ .line 1559 │ monitor-enter p0 │ │ :try_start_0 │ - const-string v6, "[%s%%] START" │ + const-string v5, "[%s%%] START" │ │ - const/4 v9, 0x1 │ + const/4 v8, 0x1 │ │ - new-array v9, v9, [Ljava/lang/Object; │ + new-array v8, v8, [Ljava/lang/Object; │ │ - const/4 v10, 0x0 │ + const/4 v9, 0x0 │ │ - iget-object v11, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->shell:Ljava/lang/String; │ + iget-object v10, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->shell:Ljava/lang/String; │ │ - sget-object v12, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale; │ + sget-object v11, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale; │ │ - invoke-virtual {v11, v12}, Ljava/lang/String;->toUpperCase(Ljava/util/Locale;)Ljava/lang/String; │ + .line 1560 │ + invoke-virtual {v10, v11}, Ljava/lang/String;->toUpperCase(Ljava/util/Locale;)Ljava/lang/String; │ │ - move-result-object v11 │ + move-result-object v10 │ │ - aput-object v11, v9, v10 │ + aput-object v10, v8, v9 │ │ - invoke-static {v6, v9}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; │ + .line 1559 │ + invoke-static {v5, v8}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; │ │ - move-result-object v6 │ + move-result-object v5 │ │ - invoke-static {v6}, Leu/chainfire/libsuperuser/Debug;->log(Ljava/lang/String;)V │ + invoke-static {v5}, Leu/chainfire/libsuperuser/Debug;->log(Ljava/lang/String;)V │ :try_end_0 │ .catchall {:try_start_0 .. :try_end_0} :catchall_0 │ │ .line 1565 │ :try_start_1 │ - iget-object v6, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->environment:Ljava/util/Map; │ + iget-object v5, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->environment:Ljava/util/Map; │ │ - invoke-interface {v6}, Ljava/util/Map;->size()I │ + invoke-interface {v5}, Ljava/util/Map;->size()I │ │ - move-result v6 │ + move-result v5 │ │ - if-nez v6, :cond_0 │ + if-nez v5, :cond_0 │ │ .line 1566 │ invoke-static {}, Ljava/lang/Runtime;->getRuntime()Ljava/lang/Runtime; │ │ - move-result-object v6 │ + move-result-object v5 │ │ - iget-object v9, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->shell:Ljava/lang/String; │ + iget-object v8, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->shell:Ljava/lang/String; │ │ - invoke-virtual {v6, v9}, Ljava/lang/Runtime;->exec(Ljava/lang/String;)Ljava/lang/Process; │ + invoke-virtual {v5, v8}, Ljava/lang/Runtime;->exec(Ljava/lang/String;)Ljava/lang/Process; │ │ - move-result-object v6 │ + move-result-object v5 │ │ - iput-object v6, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->process:Ljava/lang/Process; │ + iput-object v5, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->process:Ljava/lang/Process; │ │ .line 1581 │ :goto_0 │ - new-instance v6, Ljava/io/DataOutputStream; │ + new-instance v5, Ljava/io/DataOutputStream; │ │ - iget-object v9, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->process:Ljava/lang/Process; │ + iget-object v8, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->process:Ljava/lang/Process; │ │ - invoke-virtual {v9}, Ljava/lang/Process;->getOutputStream()Ljava/io/OutputStream; │ + invoke-virtual {v8}, Ljava/lang/Process;->getOutputStream()Ljava/io/OutputStream; │ │ - move-result-object v9 │ + move-result-object v8 │ │ - invoke-direct {v6, v9}, Ljava/io/DataOutputStream;->(Ljava/io/OutputStream;)V │ + invoke-direct {v5, v8}, Ljava/io/DataOutputStream;->(Ljava/io/OutputStream;)V │ │ - iput-object v6, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->STDIN:Ljava/io/DataOutputStream; │ + iput-object v5, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->STDIN:Ljava/io/DataOutputStream; │ │ .line 1582 │ - new-instance v6, Leu/chainfire/libsuperuser/StreamGobbler; │ + new-instance v5, Leu/chainfire/libsuperuser/StreamGobbler; │ │ - new-instance v9, Ljava/lang/StringBuilder; │ + new-instance v8, Ljava/lang/StringBuilder; │ │ - invoke-direct {v9}, Ljava/lang/StringBuilder;->()V │ + invoke-direct {v8}, Ljava/lang/StringBuilder;->()V │ │ - iget-object v10, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->shell:Ljava/lang/String; │ + iget-object v9, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->shell:Ljava/lang/String; │ │ - sget-object v11, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale; │ + sget-object v10, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale; │ │ - invoke-virtual {v10, v11}, Ljava/lang/String;->toUpperCase(Ljava/util/Locale;)Ljava/lang/String; │ + invoke-virtual {v9, v10}, Ljava/lang/String;->toUpperCase(Ljava/util/Locale;)Ljava/lang/String; │ │ - move-result-object v10 │ + move-result-object v9 │ │ - invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v9 │ + move-result-object v8 │ │ - const-string v10, "-" │ + const-string v9, "-" │ │ - invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v9 │ + move-result-object v8 │ │ - invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ + invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ │ - move-result-object v9 │ + move-result-object v8 │ │ - iget-object v10, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->process:Ljava/lang/Process; │ + iget-object v9, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->process:Ljava/lang/Process; │ │ - invoke-virtual {v10}, Ljava/lang/Process;->getInputStream()Ljava/io/InputStream; │ + .line 1583 │ + invoke-virtual {v9}, Ljava/lang/Process;->getInputStream()Ljava/io/InputStream; │ │ - move-result-object v10 │ + move-result-object v9 │ │ - new-instance v11, Leu/chainfire/libsuperuser/Shell$Interactive$5; │ + new-instance v10, Leu/chainfire/libsuperuser/Shell$Interactive$5; │ │ - invoke-direct {v11, p0}, Leu/chainfire/libsuperuser/Shell$Interactive$5;->(Leu/chainfire/libsuperuser/Shell$Interactive;)V │ + invoke-direct {v10, p0}, Leu/chainfire/libsuperuser/Shell$Interactive$5;->(Leu/chainfire/libsuperuser/Shell$Interactive;)V │ │ - invoke-direct {v6, v9, v10, v11}, Leu/chainfire/libsuperuser/StreamGobbler;->(Ljava/lang/String;Ljava/io/InputStream;Leu/chainfire/libsuperuser/StreamGobbler$OnLineListener;)V │ + invoke-direct {v5, v8, v9, v10}, Leu/chainfire/libsuperuser/StreamGobbler;->(Ljava/lang/String;Ljava/io/InputStream;Leu/chainfire/libsuperuser/StreamGobbler$OnLineListener;)V │ │ - iput-object v6, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->STDOUT:Leu/chainfire/libsuperuser/StreamGobbler; │ + iput-object v5, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->STDOUT:Leu/chainfire/libsuperuser/StreamGobbler; │ │ .line 1607 │ - new-instance v6, Leu/chainfire/libsuperuser/StreamGobbler; │ + new-instance v5, Leu/chainfire/libsuperuser/StreamGobbler; │ │ - new-instance v9, Ljava/lang/StringBuilder; │ + new-instance v8, Ljava/lang/StringBuilder; │ │ - invoke-direct {v9}, Ljava/lang/StringBuilder;->()V │ + invoke-direct {v8}, Ljava/lang/StringBuilder;->()V │ │ - iget-object v10, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->shell:Ljava/lang/String; │ + iget-object v9, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->shell:Ljava/lang/String; │ │ - sget-object v11, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale; │ + sget-object v10, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale; │ │ - invoke-virtual {v10, v11}, Ljava/lang/String;->toUpperCase(Ljava/util/Locale;)Ljava/lang/String; │ + invoke-virtual {v9, v10}, Ljava/lang/String;->toUpperCase(Ljava/util/Locale;)Ljava/lang/String; │ │ - move-result-object v10 │ + move-result-object v9 │ │ - invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v9 │ + move-result-object v8 │ │ - const-string v10, "*" │ + const-string v9, "*" │ │ - invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v9 │ + move-result-object v8 │ │ - invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ + invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ │ - move-result-object v9 │ + move-result-object v8 │ │ - iget-object v10, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->process:Ljava/lang/Process; │ + iget-object v9, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->process:Ljava/lang/Process; │ │ - invoke-virtual {v10}, Ljava/lang/Process;->getErrorStream()Ljava/io/InputStream; │ + .line 1608 │ + invoke-virtual {v9}, Ljava/lang/Process;->getErrorStream()Ljava/io/InputStream; │ │ - move-result-object v10 │ + move-result-object v9 │ │ - new-instance v11, Leu/chainfire/libsuperuser/Shell$Interactive$6; │ + new-instance v10, Leu/chainfire/libsuperuser/Shell$Interactive$6; │ │ - invoke-direct {v11, p0}, Leu/chainfire/libsuperuser/Shell$Interactive$6;->(Leu/chainfire/libsuperuser/Shell$Interactive;)V │ + invoke-direct {v10, p0}, Leu/chainfire/libsuperuser/Shell$Interactive$6;->(Leu/chainfire/libsuperuser/Shell$Interactive;)V │ │ - invoke-direct {v6, v9, v10, v11}, Leu/chainfire/libsuperuser/StreamGobbler;->(Ljava/lang/String;Ljava/io/InputStream;Leu/chainfire/libsuperuser/StreamGobbler$OnLineListener;)V │ + invoke-direct {v5, v8, v9, v10}, Leu/chainfire/libsuperuser/StreamGobbler;->(Ljava/lang/String;Ljava/io/InputStream;Leu/chainfire/libsuperuser/StreamGobbler$OnLineListener;)V │ │ - iput-object v6, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->STDERR:Leu/chainfire/libsuperuser/StreamGobbler; │ + iput-object v5, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->STDERR:Leu/chainfire/libsuperuser/StreamGobbler; │ │ .line 1628 │ - iget-object v6, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->STDOUT:Leu/chainfire/libsuperuser/StreamGobbler; │ + iget-object v5, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->STDOUT:Leu/chainfire/libsuperuser/StreamGobbler; │ │ - invoke-virtual {v6}, Leu/chainfire/libsuperuser/StreamGobbler;->start()V │ + invoke-virtual {v5}, Leu/chainfire/libsuperuser/StreamGobbler;->start()V │ │ .line 1629 │ - iget-object v6, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->STDERR:Leu/chainfire/libsuperuser/StreamGobbler; │ + iget-object v5, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->STDERR:Leu/chainfire/libsuperuser/StreamGobbler; │ │ - invoke-virtual {v6}, Leu/chainfire/libsuperuser/StreamGobbler;->start()V │ + invoke-virtual {v5}, Leu/chainfire/libsuperuser/StreamGobbler;->start()V │ │ .line 1631 │ - const/4 v6, 0x1 │ + const/4 v5, 0x1 │ │ - iput-boolean v6, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->running:Z │ + iput-boolean v5, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->running:Z │ │ .line 1632 │ - const/4 v6, 0x0 │ + const/4 v5, 0x0 │ │ - iput-boolean v6, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->closed:Z │ + iput-boolean v5, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->closed:Z │ │ .line 1634 │ invoke-direct {p0}, Leu/chainfire/libsuperuser/Shell$Interactive;->runNextCommand()V │ :try_end_1 │ .catch Ljava/io/IOException; {:try_start_1 .. :try_end_1} :catch_0 │ .catchall {:try_start_1 .. :try_end_1} :catchall_0 │ │ - move v6, v7 │ + move v5, v6 │ │ .line 1639 │ :goto_1 │ monitor-exit p0 │ │ - return v6 │ + return v5 │ │ .line 1568 │ :cond_0 │ :try_start_2 │ - new-instance v5, Ljava/util/HashMap; │ + new-instance v4, Ljava/util/HashMap; │ │ - invoke-direct {v5}, Ljava/util/HashMap;->()V │ + invoke-direct {v4}, Ljava/util/HashMap;->()V │ │ .line 1569 │ - .local v5, "newEnvironment":Ljava/util/Map;, "Ljava/util/Map;" │ + .local v4, "newEnvironment":Ljava/util/Map;, "Ljava/util/Map;" │ invoke-static {}, Ljava/lang/System;->getenv()Ljava/util/Map; │ │ - move-result-object v6 │ + move-result-object v5 │ │ - invoke-interface {v5, v6}, Ljava/util/Map;->putAll(Ljava/util/Map;)V │ + invoke-interface {v4, v5}, Ljava/util/Map;->putAll(Ljava/util/Map;)V │ │ .line 1570 │ - iget-object v6, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->environment:Ljava/util/Map; │ + iget-object v5, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->environment:Ljava/util/Map; │ │ - invoke-interface {v5, v6}, Ljava/util/Map;->putAll(Ljava/util/Map;)V │ + invoke-interface {v4, v5}, Ljava/util/Map;->putAll(Ljava/util/Map;)V │ │ .line 1571 │ const/4 v3, 0x0 │ │ .line 1572 │ .local v3, "i":I │ - invoke-interface {v5}, Ljava/util/Map;->size()I │ + invoke-interface {v4}, Ljava/util/Map;->size()I │ │ - move-result v6 │ + move-result v5 │ │ - new-array v2, v6, [Ljava/lang/String; │ + new-array v2, v5, [Ljava/lang/String; │ │ - .line 1573 │ + .line 1574 │ .local v2, "env":[Ljava/lang/String; │ - invoke-interface {v5}, Ljava/util/Map;->entrySet()Ljava/util/Set; │ + invoke-interface {v4}, Ljava/util/Map;->entrySet()Ljava/util/Set; │ │ - move-result-object v6 │ + move-result-object v5 │ │ - invoke-interface {v6}, Ljava/util/Set;->iterator()Ljava/util/Iterator; │ + .line 1573 │ + invoke-interface {v5}, Ljava/util/Set;->iterator()Ljava/util/Iterator; │ │ - move-result-object v4 │ + move-result-object v8 │ │ - .local v4, "i$":Ljava/util/Iterator; │ :goto_2 │ - invoke-interface {v4}, Ljava/util/Iterator;->hasNext()Z │ + invoke-interface {v8}, Ljava/util/Iterator;->hasNext()Z │ │ - move-result v6 │ + move-result v5 │ │ - if-eqz v6, :cond_1 │ + if-eqz v5, :cond_1 │ │ - invoke-interface {v4}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ + invoke-interface {v8}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ │ move-result-object v1 │ │ check-cast v1, Ljava/util/Map$Entry; │ │ .line 1575 │ .local v1, "entry":Ljava/util/Map$Entry;, "Ljava/util/Map$Entry;" │ new-instance v9, Ljava/lang/StringBuilder; │ │ invoke-direct {v9}, Ljava/lang/StringBuilder;->()V │ │ invoke-interface {v1}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object; │ │ - move-result-object v6 │ + move-result-object v5 │ │ - check-cast v6, Ljava/lang/String; │ + check-cast v5, Ljava/lang/String; │ │ - invoke-virtual {v9, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v9, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v6 │ + move-result-object v5 │ │ const-string v9, "=" │ │ - invoke-virtual {v6, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v5, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v9 │ │ invoke-interface {v1}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object; │ │ - move-result-object v6 │ + move-result-object v5 │ │ - check-cast v6, Ljava/lang/String; │ + check-cast v5, Ljava/lang/String; │ │ - invoke-virtual {v9, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v9, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v6 │ + move-result-object v5 │ │ - invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ │ - move-result-object v6 │ + move-result-object v5 │ │ - aput-object v6, v2, v3 │ + aput-object v5, v2, v3 │ │ .line 1576 │ add-int/lit8 v3, v3, 0x1 │ │ .line 1577 │ goto :goto_2 │ │ .line 1578 │ .end local v1 # "entry":Ljava/util/Map$Entry;, "Ljava/util/Map$Entry;" │ :cond_1 │ invoke-static {}, Ljava/lang/Runtime;->getRuntime()Ljava/lang/Runtime; │ │ - move-result-object v6 │ + move-result-object v5 │ │ - iget-object v9, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->shell:Ljava/lang/String; │ + iget-object v8, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->shell:Ljava/lang/String; │ │ - invoke-virtual {v6, v9, v2}, Ljava/lang/Runtime;->exec(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/Process; │ + invoke-virtual {v5, v8, v2}, Ljava/lang/Runtime;->exec(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/Process; │ │ - move-result-object v6 │ + move-result-object v5 │ │ - iput-object v6, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->process:Ljava/lang/Process; │ + iput-object v5, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->process:Ljava/lang/Process; │ :try_end_2 │ .catch Ljava/io/IOException; {:try_start_2 .. :try_end_2} :catch_0 │ .catchall {:try_start_2 .. :try_end_2} :catchall_0 │ │ goto/16 :goto_0 │ │ .line 1637 │ .end local v2 # "env":[Ljava/lang/String; │ .end local v3 # "i":I │ - .end local v4 # "i$":Ljava/util/Iterator; │ - .end local v5 # "newEnvironment":Ljava/util/Map;, "Ljava/util/Map;" │ + .end local v4 # "newEnvironment":Ljava/util/Map;, "Ljava/util/Map;" │ :catch_0 │ move-exception v0 │ │ .local v0, "e":Ljava/io/IOException; │ - move v6, v8 │ + move v5, v7 │ │ .line 1639 │ goto :goto_1 │ │ .line 1559 │ .end local v0 # "e":Ljava/io/IOException; │ :catchall_0 │ - move-exception v6 │ + move-exception v5 │ │ monitor-exit p0 │ │ - throw v6 │ + throw v5 │ .end method │ │ .method private postCallback(Leu/chainfire/libsuperuser/Shell$Command;ILjava/util/List;)V │ .locals 2 │ .param p1, "fCommand" # Leu/chainfire/libsuperuser/Shell$Command; │ .param p2, "fExitCode" # I │ .annotation system Ldalvik/annotation/Signature; │ @@ -1093,14 +1100,15 @@ │ # getter for: Leu/chainfire/libsuperuser/Shell$Command;->onCommandResultListener:Leu/chainfire/libsuperuser/Shell$OnCommandResultListener; │ invoke-static {p1}, Leu/chainfire/libsuperuser/Shell$Command;->access$1400(Leu/chainfire/libsuperuser/Shell$Command;)Leu/chainfire/libsuperuser/Shell$OnCommandResultListener; │ │ move-result-object v0 │ │ if-nez v0, :cond_1 │ │ + .line 1507 │ # getter for: Leu/chainfire/libsuperuser/Shell$Command;->onCommandLineListener:Leu/chainfire/libsuperuser/Shell$OnCommandLineListener; │ invoke-static {p1}, Leu/chainfire/libsuperuser/Shell$Command;->access$1700(Leu/chainfire/libsuperuser/Shell$Command;)Leu/chainfire/libsuperuser/Shell$OnCommandLineListener; │ │ move-result-object v0 │ │ if-nez v0, :cond_1 │ │ @@ -1127,19 +1135,21 @@ │ │ .line 1513 │ # getter for: Leu/chainfire/libsuperuser/Shell$Command;->onCommandResultListener:Leu/chainfire/libsuperuser/Shell$OnCommandResultListener; │ invoke-static {p1}, Leu/chainfire/libsuperuser/Shell$Command;->access$1400(Leu/chainfire/libsuperuser/Shell$Command;)Leu/chainfire/libsuperuser/Shell$OnCommandResultListener; │ │ move-result-object v0 │ │ + .line 1514 │ # getter for: Leu/chainfire/libsuperuser/Shell$Command;->code:I │ invoke-static {p1}, Leu/chainfire/libsuperuser/Shell$Command;->access$1800(Leu/chainfire/libsuperuser/Shell$Command;)I │ │ move-result v1 │ │ + .line 1513 │ invoke-interface {v0, v1, p2, p3}, Leu/chainfire/libsuperuser/Shell$OnCommandResultListener;->onCommandResult(IILjava/util/List;)V │ │ .line 1515 │ :cond_2 │ # getter for: Leu/chainfire/libsuperuser/Shell$Command;->onCommandLineListener:Leu/chainfire/libsuperuser/Shell$OnCommandLineListener; │ invoke-static {p1}, Leu/chainfire/libsuperuser/Shell$Command;->access$1700(Leu/chainfire/libsuperuser/Shell$Command;)Leu/chainfire/libsuperuser/Shell$OnCommandLineListener; │ │ @@ -1149,19 +1159,21 @@ │ │ .line 1516 │ # getter for: Leu/chainfire/libsuperuser/Shell$Command;->onCommandLineListener:Leu/chainfire/libsuperuser/Shell$OnCommandLineListener; │ invoke-static {p1}, Leu/chainfire/libsuperuser/Shell$Command;->access$1700(Leu/chainfire/libsuperuser/Shell$Command;)Leu/chainfire/libsuperuser/Shell$OnCommandLineListener; │ │ move-result-object v0 │ │ + .line 1517 │ # getter for: Leu/chainfire/libsuperuser/Shell$Command;->code:I │ invoke-static {p1}, Leu/chainfire/libsuperuser/Shell$Command;->access$1800(Leu/chainfire/libsuperuser/Shell$Command;)I │ │ move-result v1 │ │ + .line 1516 │ invoke-interface {v0, v1, p2}, Leu/chainfire/libsuperuser/Shell$OnCommandLineListener;->onCommandResult(II)V │ │ goto :goto_0 │ │ .line 1520 │ :cond_3 │ invoke-direct {p0}, Leu/chainfire/libsuperuser/Shell$Interactive;->startCallback()V │ @@ -1265,14 +1277,15 @@ │ │ move-result v0 │ │ if-eqz v0, :cond_0 │ │ iget-object v0, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->command:Leu/chainfire/libsuperuser/Shell$Command; │ │ + .line 1438 │ # getter for: Leu/chainfire/libsuperuser/Shell$Command;->marker:Ljava/lang/String; │ invoke-static {v0}, Leu/chainfire/libsuperuser/Shell$Command;->access$1500(Leu/chainfire/libsuperuser/Shell$Command;)Ljava/lang/String; │ │ move-result-object v0 │ │ iget-object v1, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->lastMarkerSTDERR:Ljava/lang/String; │ │ @@ -1343,173 +1356,173 @@ │ .end method │ │ .method private runNextCommand(Z)V │ .locals 11 │ .param p1, "notifyIdle" # Z │ │ .prologue │ - const/4 v6, 0x1 │ + const/4 v3, 0x1 │ │ - const/4 v9, 0x0 │ + const/4 v6, 0x0 │ │ - const/4 v8, 0x0 │ + const/4 v4, 0x0 │ │ .line 1376 │ invoke-virtual {p0}, Leu/chainfire/libsuperuser/Shell$Interactive;->isRunning()Z │ │ - move-result v4 │ + move-result v1 │ │ .line 1377 │ - .local v4, "running":Z │ - if-nez v4, :cond_0 │ + .local v1, "running":Z │ + if-nez v1, :cond_0 │ │ .line 1378 │ - iput-boolean v6, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->idle:Z │ + iput-boolean v3, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->idle:Z │ │ .line 1380 │ :cond_0 │ - if-eqz v4, :cond_6 │ + if-eqz v1, :cond_6 │ │ - iget-boolean v6, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->idle:Z │ + iget-boolean v3, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->idle:Z │ │ - if-eqz v6, :cond_6 │ + if-eqz v3, :cond_6 │ │ - iget-object v6, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->commands:Ljava/util/List; │ + iget-object v3, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->commands:Ljava/util/List; │ │ - invoke-interface {v6}, Ljava/util/List;->size()I │ + invoke-interface {v3}, Ljava/util/List;->size()I │ │ - move-result v6 │ + move-result v3 │ │ - if-lez v6, :cond_6 │ + if-lez v3, :cond_6 │ │ .line 1381 │ - iget-object v6, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->commands:Ljava/util/List; │ + iget-object v3, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->commands:Ljava/util/List; │ │ - invoke-interface {v6, v8}, Ljava/util/List;->get(I)Ljava/lang/Object; │ + invoke-interface {v3, v4}, Ljava/util/List;->get(I)Ljava/lang/Object; │ │ - move-result-object v1 │ + move-result-object v0 │ │ - check-cast v1, Leu/chainfire/libsuperuser/Shell$Command; │ + check-cast v0, Leu/chainfire/libsuperuser/Shell$Command; │ │ .line 1382 │ - .local v1, "command":Leu/chainfire/libsuperuser/Shell$Command; │ - iget-object v6, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->commands:Ljava/util/List; │ + .local v0, "command":Leu/chainfire/libsuperuser/Shell$Command; │ + iget-object v3, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->commands:Ljava/util/List; │ │ - invoke-interface {v6, v8}, Ljava/util/List;->remove(I)Ljava/lang/Object; │ + invoke-interface {v3, v4}, Ljava/util/List;->remove(I)Ljava/lang/Object; │ │ .line 1384 │ - iput-object v9, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->buffer:Ljava/util/List; │ + iput-object v6, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->buffer:Ljava/util/List; │ │ .line 1385 │ - iput v8, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->lastExitCode:I │ + iput v4, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->lastExitCode:I │ │ .line 1386 │ - iput-object v9, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->lastMarkerSTDOUT:Ljava/lang/String; │ + iput-object v6, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->lastMarkerSTDOUT:Ljava/lang/String; │ │ .line 1387 │ - iput-object v9, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->lastMarkerSTDERR:Ljava/lang/String; │ + iput-object v6, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->lastMarkerSTDERR:Ljava/lang/String; │ │ .line 1389 │ # getter for: Leu/chainfire/libsuperuser/Shell$Command;->commands:[Ljava/lang/String; │ - invoke-static {v1}, Leu/chainfire/libsuperuser/Shell$Command;->access$1300(Leu/chainfire/libsuperuser/Shell$Command;)[Ljava/lang/String; │ + invoke-static {v0}, Leu/chainfire/libsuperuser/Shell$Command;->access$1300(Leu/chainfire/libsuperuser/Shell$Command;)[Ljava/lang/String; │ │ - move-result-object v6 │ + move-result-object v3 │ │ - array-length v6, v6 │ + array-length v3, v3 │ │ - if-lez v6, :cond_5 │ + if-lez v3, :cond_5 │ │ .line 1391 │ :try_start_0 │ # getter for: Leu/chainfire/libsuperuser/Shell$Command;->onCommandResultListener:Leu/chainfire/libsuperuser/Shell$OnCommandResultListener; │ - invoke-static {v1}, Leu/chainfire/libsuperuser/Shell$Command;->access$1400(Leu/chainfire/libsuperuser/Shell$Command;)Leu/chainfire/libsuperuser/Shell$OnCommandResultListener; │ + invoke-static {v0}, Leu/chainfire/libsuperuser/Shell$Command;->access$1400(Leu/chainfire/libsuperuser/Shell$Command;)Leu/chainfire/libsuperuser/Shell$OnCommandResultListener; │ │ - move-result-object v6 │ + move-result-object v3 │ │ - if-eqz v6, :cond_1 │ + if-eqz v3, :cond_1 │ │ .line 1396 │ - new-instance v6, Ljava/util/ArrayList; │ + new-instance v3, Ljava/util/ArrayList; │ │ - invoke-direct {v6}, Ljava/util/ArrayList;->()V │ + invoke-direct {v3}, Ljava/util/ArrayList;->()V │ │ - invoke-static {v6}, Ljava/util/Collections;->synchronizedList(Ljava/util/List;)Ljava/util/List; │ + .line 1397 │ + invoke-static {v3}, Ljava/util/Collections;->synchronizedList(Ljava/util/List;)Ljava/util/List; │ │ - move-result-object v6 │ + move-result-object v3 │ │ - iput-object v6, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->buffer:Ljava/util/List; │ + iput-object v3, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->buffer:Ljava/util/List; │ │ .line 1400 │ :cond_1 │ - const/4 v6, 0x0 │ + const/4 v3, 0x0 │ │ - iput-boolean v6, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->idle:Z │ + iput-boolean v3, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->idle:Z │ │ .line 1401 │ - iput-object v1, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->command:Leu/chainfire/libsuperuser/Shell$Command; │ + iput-object v0, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->command:Leu/chainfire/libsuperuser/Shell$Command; │ │ .line 1402 │ invoke-direct {p0}, Leu/chainfire/libsuperuser/Shell$Interactive;->startWatchdog()V │ │ .line 1403 │ # getter for: Leu/chainfire/libsuperuser/Shell$Command;->commands:[Ljava/lang/String; │ - invoke-static {v1}, Leu/chainfire/libsuperuser/Shell$Command;->access$1300(Leu/chainfire/libsuperuser/Shell$Command;)[Ljava/lang/String; │ + invoke-static {v0}, Leu/chainfire/libsuperuser/Shell$Command;->access$1300(Leu/chainfire/libsuperuser/Shell$Command;)[Ljava/lang/String; │ │ - move-result-object v0 │ + move-result-object v5 │ │ - .local v0, "arr$":[Ljava/lang/String; │ - array-length v3, v0 │ + array-length v6, v5 │ │ - .local v3, "len$":I │ - const/4 v2, 0x0 │ + move v3, v4 │ │ - .local v2, "i$":I │ :goto_0 │ - if-ge v2, v3, :cond_2 │ + if-ge v3, v6, :cond_2 │ │ - aget-object v5, v0, v2 │ + aget-object v2, v5, v3 │ │ .line 1404 │ - .local v5, "write":Ljava/lang/String; │ - const-string v6, "[%s+] %s" │ + .local v2, "write":Ljava/lang/String; │ + const-string v4, "[%s+] %s" │ │ const/4 v7, 0x2 │ │ new-array v7, v7, [Ljava/lang/Object; │ │ const/4 v8, 0x0 │ │ iget-object v9, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->shell:Ljava/lang/String; │ │ sget-object v10, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale; │ │ + .line 1405 │ invoke-virtual {v9, v10}, Ljava/lang/String;->toUpperCase(Ljava/util/Locale;)Ljava/lang/String; │ │ move-result-object v9 │ │ aput-object v9, v7, v8 │ │ const/4 v8, 0x1 │ │ - aput-object v5, v7, v8 │ + aput-object v2, v7, v8 │ │ - invoke-static {v6, v7}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; │ + .line 1404 │ + invoke-static {v4, v7}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; │ │ - move-result-object v6 │ + move-result-object v4 │ │ - invoke-static {v6}, Leu/chainfire/libsuperuser/Debug;->logCommand(Ljava/lang/String;)V │ + invoke-static {v4}, Leu/chainfire/libsuperuser/Debug;->logCommand(Ljava/lang/String;)V │ │ .line 1406 │ - iget-object v6, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->STDIN:Ljava/io/DataOutputStream; │ + iget-object v4, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->STDIN:Ljava/io/DataOutputStream; │ │ new-instance v7, Ljava/lang/StringBuilder; │ │ invoke-direct {v7}, Ljava/lang/StringBuilder;->()V │ │ - invoke-virtual {v7, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v7, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v7 │ │ const-string v8, "\n" │ │ invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ @@ -1521,195 +1534,196 @@ │ │ const-string v8, "UTF-8" │ │ invoke-virtual {v7, v8}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B │ │ move-result-object v7 │ │ - invoke-virtual {v6, v7}, Ljava/io/DataOutputStream;->write([B)V │ + invoke-virtual {v4, v7}, Ljava/io/DataOutputStream;->write([B)V │ │ .line 1403 │ - add-int/lit8 v2, v2, 0x1 │ + add-int/lit8 v3, v3, 0x1 │ │ goto :goto_0 │ │ .line 1408 │ - .end local v5 # "write":Ljava/lang/String; │ + .end local v2 # "write":Ljava/lang/String; │ :cond_2 │ - iget-object v6, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->STDIN:Ljava/io/DataOutputStream; │ + iget-object v3, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->STDIN:Ljava/io/DataOutputStream; │ │ - new-instance v7, Ljava/lang/StringBuilder; │ + new-instance v4, Ljava/lang/StringBuilder; │ │ - invoke-direct {v7}, Ljava/lang/StringBuilder;->()V │ + invoke-direct {v4}, Ljava/lang/StringBuilder;->()V │ │ - const-string v8, "echo " │ + const-string v5, "echo " │ │ - invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v7 │ + move-result-object v4 │ │ # getter for: Leu/chainfire/libsuperuser/Shell$Command;->marker:Ljava/lang/String; │ - invoke-static {v1}, Leu/chainfire/libsuperuser/Shell$Command;->access$1500(Leu/chainfire/libsuperuser/Shell$Command;)Ljava/lang/String; │ + invoke-static {v0}, Leu/chainfire/libsuperuser/Shell$Command;->access$1500(Leu/chainfire/libsuperuser/Shell$Command;)Ljava/lang/String; │ │ - move-result-object v8 │ + move-result-object v5 │ │ - invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v7 │ + move-result-object v4 │ │ - const-string v8, " $?\n" │ + const-string v5, " $?\n" │ │ - invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v7 │ + move-result-object v4 │ │ - invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ │ - move-result-object v7 │ + move-result-object v4 │ │ - const-string v8, "UTF-8" │ + const-string v5, "UTF-8" │ │ - invoke-virtual {v7, v8}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B │ + .line 1409 │ + invoke-virtual {v4, v5}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B │ │ - move-result-object v7 │ + move-result-object v4 │ │ - invoke-virtual {v6, v7}, Ljava/io/DataOutputStream;->write([B)V │ + .line 1408 │ + invoke-virtual {v3, v4}, Ljava/io/DataOutputStream;->write([B)V │ │ .line 1410 │ - iget-object v6, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->STDIN:Ljava/io/DataOutputStream; │ + iget-object v3, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->STDIN:Ljava/io/DataOutputStream; │ │ - new-instance v7, Ljava/lang/StringBuilder; │ + new-instance v4, Ljava/lang/StringBuilder; │ │ - invoke-direct {v7}, Ljava/lang/StringBuilder;->()V │ + invoke-direct {v4}, Ljava/lang/StringBuilder;->()V │ │ - const-string v8, "echo " │ + const-string v5, "echo " │ │ - invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v7 │ + move-result-object v4 │ │ # getter for: Leu/chainfire/libsuperuser/Shell$Command;->marker:Ljava/lang/String; │ - invoke-static {v1}, Leu/chainfire/libsuperuser/Shell$Command;->access$1500(Leu/chainfire/libsuperuser/Shell$Command;)Ljava/lang/String; │ + invoke-static {v0}, Leu/chainfire/libsuperuser/Shell$Command;->access$1500(Leu/chainfire/libsuperuser/Shell$Command;)Ljava/lang/String; │ │ - move-result-object v8 │ + move-result-object v5 │ │ - invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v7 │ + move-result-object v4 │ │ - const-string v8, " >&2\n" │ + const-string v5, " >&2\n" │ │ - invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v7 │ + move-result-object v4 │ │ - invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ │ - move-result-object v7 │ + move-result-object v4 │ │ - const-string v8, "UTF-8" │ + const-string v5, "UTF-8" │ │ - invoke-virtual {v7, v8}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B │ + .line 1411 │ + invoke-virtual {v4, v5}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B │ │ - move-result-object v7 │ + move-result-object v4 │ │ - invoke-virtual {v6, v7}, Ljava/io/DataOutputStream;->write([B)V │ + .line 1410 │ + invoke-virtual {v3, v4}, Ljava/io/DataOutputStream;->write([B)V │ │ .line 1412 │ - iget-object v6, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->STDIN:Ljava/io/DataOutputStream; │ + iget-object v3, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->STDIN:Ljava/io/DataOutputStream; │ │ - invoke-virtual {v6}, Ljava/io/DataOutputStream;->flush()V │ + invoke-virtual {v3}, Ljava/io/DataOutputStream;->flush()V │ :try_end_0 │ .catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0 │ │ .line 1426 │ - .end local v0 # "arr$":[Ljava/lang/String; │ - .end local v1 # "command":Leu/chainfire/libsuperuser/Shell$Command; │ - .end local v2 # "i$":I │ - .end local v3 # "len$":I │ + .end local v0 # "command":Leu/chainfire/libsuperuser/Shell$Command; │ :cond_3 │ :goto_1 │ - iget-boolean v6, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->idle:Z │ + iget-boolean v3, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->idle:Z │ │ - if-eqz v6, :cond_4 │ + if-eqz v3, :cond_4 │ │ if-eqz p1, :cond_4 │ │ .line 1427 │ - iget-object v7, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->idleSync:Ljava/lang/Object; │ + iget-object v4, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->idleSync:Ljava/lang/Object; │ │ - monitor-enter v7 │ + monitor-enter v4 │ │ .line 1428 │ :try_start_1 │ - iget-object v6, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->idleSync:Ljava/lang/Object; │ + iget-object v3, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->idleSync:Ljava/lang/Object; │ │ - invoke-virtual {v6}, Ljava/lang/Object;->notifyAll()V │ + invoke-virtual {v3}, Ljava/lang/Object;->notifyAll()V │ │ .line 1429 │ - monitor-exit v7 │ + monitor-exit v4 │ :try_end_1 │ .catchall {:try_start_1 .. :try_end_1} :catchall_0 │ │ .line 1431 │ :cond_4 │ return-void │ │ .line 1416 │ - .restart local v1 # "command":Leu/chainfire/libsuperuser/Shell$Command; │ + .restart local v0 # "command":Leu/chainfire/libsuperuser/Shell$Command; │ :cond_5 │ - invoke-direct {p0, v8}, Leu/chainfire/libsuperuser/Shell$Interactive;->runNextCommand(Z)V │ + invoke-direct {p0, v4}, Leu/chainfire/libsuperuser/Shell$Interactive;->runNextCommand(Z)V │ │ goto :goto_1 │ │ .line 1418 │ - .end local v1 # "command":Leu/chainfire/libsuperuser/Shell$Command; │ + .end local v0 # "command":Leu/chainfire/libsuperuser/Shell$Command; │ :cond_6 │ - if-nez v4, :cond_3 │ + if-nez v1, :cond_3 │ │ .line 1420 │ :goto_2 │ - iget-object v6, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->commands:Ljava/util/List; │ + iget-object v3, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->commands:Ljava/util/List; │ │ - invoke-interface {v6}, Ljava/util/List;->size()I │ + invoke-interface {v3}, Ljava/util/List;->size()I │ │ - move-result v6 │ + move-result v3 │ │ - if-lez v6, :cond_3 │ + if-lez v3, :cond_3 │ │ .line 1421 │ - iget-object v6, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->commands:Ljava/util/List; │ + iget-object v3, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->commands:Ljava/util/List; │ │ - invoke-interface {v6, v8}, Ljava/util/List;->remove(I)Ljava/lang/Object; │ + invoke-interface {v3, v4}, Ljava/util/List;->remove(I)Ljava/lang/Object; │ │ - move-result-object v6 │ + move-result-object v3 │ │ - check-cast v6, Leu/chainfire/libsuperuser/Shell$Command; │ + check-cast v3, Leu/chainfire/libsuperuser/Shell$Command; │ │ - const/4 v7, -0x2 │ + const/4 v5, -0x2 │ │ - invoke-direct {p0, v6, v7, v9}, Leu/chainfire/libsuperuser/Shell$Interactive;->postCallback(Leu/chainfire/libsuperuser/Shell$Command;ILjava/util/List;)V │ + invoke-direct {p0, v3, v5, v6}, Leu/chainfire/libsuperuser/Shell$Interactive;->postCallback(Leu/chainfire/libsuperuser/Shell$Command;ILjava/util/List;)V │ │ goto :goto_2 │ │ .line 1429 │ :catchall_0 │ - move-exception v6 │ + move-exception v3 │ │ :try_start_2 │ - monitor-exit v7 │ + monitor-exit v4 │ :try_end_2 │ .catchall {:try_start_2 .. :try_end_2} :catchall_0 │ │ - throw v6 │ + throw v3 │ │ .line 1413 │ - .restart local v1 # "command":Leu/chainfire/libsuperuser/Shell$Command; │ + .restart local v0 # "command":Leu/chainfire/libsuperuser/Shell$Command; │ :catch_0 │ - move-exception v6 │ + move-exception v3 │ │ goto :goto_1 │ .end method │ │ .method private startCallback()V │ .locals 2 │ │ @@ -2128,14 +2142,15 @@ │ │ invoke-static {}, Leu/chainfire/libsuperuser/Debug;->getSanityChecksEnabledEffective()Z │ │ move-result v2 │ │ if-eqz v2, :cond_1 │ │ + .line 1664 │ invoke-static {}, Leu/chainfire/libsuperuser/Debug;->onMainThread()Z │ │ move-result v2 │ │ if-eqz v2, :cond_1 │ │ .line 1665 │ @@ -2241,20 +2256,22 @@ │ │ new-array v3, v5, [Ljava/lang/Object; │ │ iget-object v4, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->shell:Ljava/lang/String; │ │ sget-object v5, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale; │ │ + .line 1711 │ invoke-virtual {v4, v5}, Ljava/lang/String;->toUpperCase(Ljava/util/Locale;)Ljava/lang/String; │ │ move-result-object v4 │ │ aput-object v4, v3, v6 │ │ + .line 1710 │ invoke-static {v2, v3}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; │ │ move-result-object v2 │ │ invoke-static {v2}, Leu/chainfire/libsuperuser/Debug;->log(Ljava/lang/String;)V │ │ goto :goto_0 │ @@ -2633,14 +2650,15 @@ │ │ move-result-object v2 │ │ if-eqz v2, :cond_3 │ │ iget-object v2, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->handler:Landroid/os/Handler; │ │ + .line 1817 │ invoke-virtual {v2}, Landroid/os/Handler;->getLooper()Landroid/os/Looper; │ │ move-result-object v2 │ │ invoke-static {}, Landroid/os/Looper;->myLooper()Landroid/os/Looper; │ │ move-result-object v3 ├── smali/com/matoski/adbm/R.smali │ @@ -26,10 +26,9 @@ │ .method public constructor ()V │ .locals 0 │ │ .prologue │ .line 10 │ invoke-direct {p0}, Ljava/lang/Object;->()V │ │ - .line 372 │ return-void │ .end method ├── smali/com/matoski/adbm/tasks/RootCommandExecuter.smali │ @@ -212,24 +212,26 @@ │ │ .line 69 │ :goto_1 │ new-array v4, v9, [Ljava/lang/String; │ │ const v5, 0x7f090019 │ │ + .line 70 │ invoke-virtual {p0, v5}, Lcom/matoski/adbm/tasks/RootCommandExecuter;->getString(I)Ljava/lang/String; │ │ move-result-object v5 │ │ new-array v6, v9, [Ljava/lang/Object; │ │ const-string v7, "getprop service.adb.tcp.port" │ │ aput-object v7, v6, v8 │ │ + .line 69 │ invoke-static {v5, v6}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; │ │ move-result-object v5 │ │ aput-object v5, v4, v8 │ │ invoke-virtual {p0, v4}, Lcom/matoski/adbm/tasks/RootCommandExecuter;->publishProgress([Ljava/lang/Object;)V │ @@ -363,14 +365,15 @@ │ │ invoke-virtual {v0, v4}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z │ │ move-result v4 │ │ if-nez v4, :cond_7 │ │ + .line 95 │ invoke-virtual {v0}, Ljava/lang/String;->length()I │ │ move-result v4 │ │ if-gtz v4, :cond_8 │ │ :cond_7 │ @@ -404,69 +407,71 @@ │ .line 100 │ sget-object v4, Lcom/matoski/adbm/tasks/RootCommandExecuter;->LOG_TAG:Ljava/lang/String; │ │ const-string v5, "Network status: %s" │ │ new-array v6, v9, [Ljava/lang/Object; │ │ + .line 101 │ invoke-virtual {v3}, Lcom/matoski/adbm/enums/AdbStateEnum;->toString()Ljava/lang/String; │ │ move-result-object v7 │ │ aput-object v7, v6, v8 │ │ invoke-static {v5, v6}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; │ │ move-result-object v5 │ │ + .line 100 │ invoke-static {v4, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I │ │ .line 103 │ new-array v4, v9, [Ljava/lang/String; │ │ const v5, 0x7f09001e │ │ invoke-virtual {p0, v5}, Lcom/matoski/adbm/tasks/RootCommandExecuter;->getString(I)Ljava/lang/String; │ │ move-result-object v5 │ │ new-array v6, v9, [Ljava/lang/Object; │ │ + .line 104 │ invoke-virtual {v3}, Lcom/matoski/adbm/enums/AdbStateEnum;->toString()Ljava/lang/String; │ │ move-result-object v7 │ │ aput-object v7, v6, v8 │ │ + .line 103 │ invoke-static {v5, v6}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; │ │ move-result-object v5 │ │ aput-object v5, v4, v8 │ │ invoke-virtual {p0, v4}, Lcom/matoski/adbm/tasks/RootCommandExecuter;->publishProgress([Ljava/lang/Object;)V │ │ goto/16 :goto_0 │ │ - .line 94 │ + .line 95 │ .end local v3 # "stateEnum":Lcom/matoski/adbm/enums/AdbStateEnum; │ :cond_8 │ sget-object v3, Lcom/matoski/adbm/enums/AdbStateEnum;->ACTIVE:Lcom/matoski/adbm/enums/AdbStateEnum; │ │ goto :goto_3 │ .end method │ │ .method protected bridge synthetic doInBackground([Ljava/lang/Object;)Ljava/lang/Object; │ .locals 1 │ - .param p1, "x0" # [Ljava/lang/Object; │ │ .prologue │ .line 18 │ check-cast p1, [Ljava/lang/String; │ │ - .end local p1 # "x0":[Ljava/lang/Object; │ invoke-virtual {p0, p1}, Lcom/matoski/adbm/tasks/RootCommandExecuter;->doInBackground([Ljava/lang/String;)Lcom/matoski/adbm/enums/AdbStateEnum; │ │ move-result-object v0 │ │ return-object v0 │ .end method ├── smali/com/matoski/adbm/tasks/NetworkStatusChecker.smali │ @@ -174,24 +174,26 @@ │ .line 60 │ .local v2, "output":Ljava/util/List;, "Ljava/util/List;" │ :goto_1 │ new-array v4, v9, [Ljava/lang/String; │ │ const v5, 0x7f090019 │ │ + .line 61 │ invoke-virtual {p0, v5}, Lcom/matoski/adbm/tasks/NetworkStatusChecker;->getString(I)Ljava/lang/String; │ │ move-result-object v5 │ │ new-array v6, v9, [Ljava/lang/Object; │ │ const-string v7, "getprop service.adb.tcp.port" │ │ aput-object v7, v6, v8 │ │ + .line 60 │ invoke-static {v5, v6}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; │ │ move-result-object v5 │ │ aput-object v5, v4, v8 │ │ invoke-virtual {p0, v4}, Lcom/matoski/adbm/tasks/NetworkStatusChecker;->publishProgress([Ljava/lang/Object;)V │ @@ -296,14 +298,15 @@ │ │ invoke-virtual {v0, v4}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z │ │ move-result v4 │ │ if-nez v4, :cond_5 │ │ + .line 79 │ invoke-virtual {v0}, Ljava/lang/String;->length()I │ │ move-result v4 │ │ if-gtz v4, :cond_6 │ │ :cond_5 │ @@ -337,69 +340,71 @@ │ .line 84 │ sget-object v4, Lcom/matoski/adbm/tasks/NetworkStatusChecker;->LOG_TAG:Ljava/lang/String; │ │ const-string v5, "Network status: %s" │ │ new-array v6, v9, [Ljava/lang/Object; │ │ + .line 85 │ invoke-virtual {v3}, Lcom/matoski/adbm/enums/AdbStateEnum;->toString()Ljava/lang/String; │ │ move-result-object v7 │ │ aput-object v7, v6, v8 │ │ invoke-static {v5, v6}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; │ │ move-result-object v5 │ │ + .line 84 │ invoke-static {v4, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I │ │ .line 87 │ new-array v4, v9, [Ljava/lang/String; │ │ const v5, 0x7f09001e │ │ invoke-virtual {p0, v5}, Lcom/matoski/adbm/tasks/NetworkStatusChecker;->getString(I)Ljava/lang/String; │ │ move-result-object v5 │ │ new-array v6, v9, [Ljava/lang/Object; │ │ + .line 88 │ invoke-virtual {v3}, Lcom/matoski/adbm/enums/AdbStateEnum;->toString()Ljava/lang/String; │ │ move-result-object v7 │ │ aput-object v7, v6, v8 │ │ + .line 87 │ invoke-static {v5, v6}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; │ │ move-result-object v5 │ │ aput-object v5, v4, v8 │ │ invoke-virtual {p0, v4}, Lcom/matoski/adbm/tasks/NetworkStatusChecker;->publishProgress([Ljava/lang/Object;)V │ │ goto/16 :goto_0 │ │ - .line 78 │ + .line 79 │ .end local v3 # "stateEnum":Lcom/matoski/adbm/enums/AdbStateEnum; │ :cond_6 │ sget-object v3, Lcom/matoski/adbm/enums/AdbStateEnum;->ACTIVE:Lcom/matoski/adbm/enums/AdbStateEnum; │ │ goto :goto_2 │ .end method │ │ .method protected bridge synthetic doInBackground([Ljava/lang/Object;)Ljava/lang/Object; │ .locals 1 │ - .param p1, "x0" # [Ljava/lang/Object; │ │ .prologue │ .line 18 │ check-cast p1, [Ljava/lang/Void; │ │ - .end local p1 # "x0":[Ljava/lang/Object; │ invoke-virtual {p0, p1}, Lcom/matoski/adbm/tasks/NetworkStatusChecker;->doInBackground([Ljava/lang/Void;)Lcom/matoski/adbm/enums/AdbStateEnum; │ │ move-result-object v0 │ │ return-object v0 │ .end method ├── smali/com/matoski/adbm/activity/MyPreferencesActivity$8$2.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$1:Lcom/matoski/adbm/activity/MyPreferencesActivity$8; │ │ │ # direct methods │ .method constructor (Lcom/matoski/adbm/activity/MyPreferencesActivity$8;)V │ .locals 0 │ + .param p1, "this$1" # Lcom/matoski/adbm/activity/MyPreferencesActivity$8; │ │ .prologue │ .line 271 │ iput-object p1, p0, Lcom/matoski/adbm/activity/MyPreferencesActivity$8$2;->this$1:Lcom/matoski/adbm/activity/MyPreferencesActivity$8; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/com/matoski/adbm/activity/MyPreferencesActivity$6$2.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$1:Lcom/matoski/adbm/activity/MyPreferencesActivity$6; │ │ │ # direct methods │ .method constructor (Lcom/matoski/adbm/activity/MyPreferencesActivity$6;)V │ .locals 0 │ + .param p1, "this$1" # Lcom/matoski/adbm/activity/MyPreferencesActivity$6; │ │ .prologue │ .line 219 │ iput-object p1, p0, Lcom/matoski/adbm/activity/MyPreferencesActivity$6$2;->this$1:Lcom/matoski/adbm/activity/MyPreferencesActivity$6; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/com/matoski/adbm/activity/MyPreferencesActivity$8$1.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$1:Lcom/matoski/adbm/activity/MyPreferencesActivity$8; │ │ │ # direct methods │ .method constructor (Lcom/matoski/adbm/activity/MyPreferencesActivity$8;)V │ .locals 0 │ + .param p1, "this$1" # Lcom/matoski/adbm/activity/MyPreferencesActivity$8; │ │ .prologue │ .line 257 │ iput-object p1, p0, Lcom/matoski/adbm/activity/MyPreferencesActivity$8$1;->this$1:Lcom/matoski/adbm/activity/MyPreferencesActivity$8; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/com/matoski/adbm/activity/MyPreferencesActivity$2.smali │ @@ -22,14 +22,15 @@ │ │ .field final synthetic val$mWakeOnNewPackage:Landroid/preference/CheckBoxPreference; │ │ │ # direct methods │ .method constructor (Lcom/matoski/adbm/activity/MyPreferencesActivity;Landroid/preference/CheckBoxPreference;)V │ .locals 0 │ + .param p1, "this$0" # Lcom/matoski/adbm/activity/MyPreferencesActivity; │ │ .prologue │ .line 143 │ iput-object p1, p0, Lcom/matoski/adbm/activity/MyPreferencesActivity$2;->this$0:Lcom/matoski/adbm/activity/MyPreferencesActivity; │ │ iput-object p2, p0, Lcom/matoski/adbm/activity/MyPreferencesActivity$2;->val$mWakeOnNewPackage:Landroid/preference/CheckBoxPreference; ├── smali/com/matoski/adbm/activity/MyPreferencesActivity$4.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Lcom/matoski/adbm/activity/MyPreferencesActivity; │ │ │ # direct methods │ .method constructor (Lcom/matoski/adbm/activity/MyPreferencesActivity;)V │ .locals 0 │ + .param p1, "this$0" # Lcom/matoski/adbm/activity/MyPreferencesActivity; │ │ .prologue │ .line 173 │ iput-object p1, p0, Lcom/matoski/adbm/activity/MyPreferencesActivity$4;->this$0:Lcom/matoski/adbm/activity/MyPreferencesActivity; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/com/matoski/adbm/activity/MainActivity.smali │ @@ -2,15 +2,14 @@ │ .super Landroid/app/Activity; │ .source "MainActivity.java" │ │ │ # annotations │ .annotation system Ldalvik/annotation/MemberClasses; │ value = { │ - Lcom/matoski/adbm/activity/MainActivity$4;, │ Lcom/matoski/adbm/activity/MainActivity$MyNetworkStatusChecker; │ } │ .end annotation │ │ │ # static fields │ .field private static final LOG_TAG:Ljava/lang/String; │ @@ -338,26 +337,28 @@ │ │ const-string v6, "Updating screen details based on state result: " │ │ invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v5 │ │ + .line 540 │ invoke-virtual {p1}, Lcom/matoski/adbm/enums/AdbStateEnum;->toString()Ljava/lang/String; │ │ move-result-object v6 │ │ invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v5 │ │ invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ │ move-result-object v5 │ │ + .line 539 │ invoke-static {v4, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I │ │ .line 542 │ iget-object v4, p0, Lcom/matoski/adbm/activity/MainActivity;->service:Lcom/matoski/adbm/service/ManagerService; │ │ if-nez v4, :cond_1 │ │ @@ -491,22 +492,24 @@ │ │ move-result-object v2 │ │ const v5, 0x7f09002d │ │ new-array v6, v8, [Ljava/lang/Object; │ │ + .line 601 │ invoke-static {p1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean; │ │ move-result-object v7 │ │ aput-object v7, v6, v4 │ │ aput-object p2, v6, v3 │ │ + .line 600 │ invoke-virtual {v2, v5, v6}, Landroid/content/res/Resources;->getString(I[Ljava/lang/Object;)Ljava/lang/String; │ │ move-result-object v2 │ │ invoke-virtual {p0, v2}, Lcom/matoski/adbm/activity/MainActivity;->addItem(Ljava/lang/String;)Z │ │ .line 604 │ @@ -551,18 +554,20 @@ │ .local v0, "ip":Ljava/lang/String; │ iget-object v2, p0, Lcom/matoski/adbm/activity/MainActivity;->prefs:Landroid/content/SharedPreferences; │ │ const-string v5, "adb_port" │ │ const-wide/16 v6, 0x15b3 │ │ + .line 615 │ invoke-static {v6, v7}, Ljava/lang/Long;->toString(J)Ljava/lang/String; │ │ move-result-object v6 │ │ + .line 614 │ invoke-interface {v2, v5, v6}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; │ │ move-result-object v1 │ │ .line 617 │ .local v1, "port":Ljava/lang/String; │ if-nez v0, :cond_4 │ @@ -627,14 +632,15 @@ │ │ goto :goto_0 │ │ .line 609 │ :cond_2 │ iget-object v2, p0, Lcom/matoski/adbm/activity/MainActivity;->service:Lcom/matoski/adbm/service/ManagerService; │ │ + .line 610 │ invoke-virtual {v2}, Lcom/matoski/adbm/service/ManagerService;->isWakeLockAcquired()Z │ │ move-result v2 │ │ if-eqz v2, :cond_3 │ │ const v2, 0x7f090001 │ @@ -648,14 +654,15 @@ │ │ .line 620 │ .restart local v0 # "ip":Ljava/lang/String; │ .restart local v1 # "port":Ljava/lang/String; │ :cond_4 │ iget-object v2, p0, Lcom/matoski/adbm/activity/MainActivity;->viewIP:Landroid/widget/TextView; │ │ + .line 621 │ invoke-virtual {p0}, Lcom/matoski/adbm/activity/MainActivity;->getResources()Landroid/content/res/Resources; │ │ move-result-object v5 │ │ const v6, 0x7f090014 │ │ invoke-virtual {v5, v6}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; │ @@ -664,14 +671,15 @@ │ │ new-array v6, v8, [Ljava/lang/Object; │ │ aput-object v0, v6, v4 │ │ aput-object v1, v6, v3 │ │ + .line 620 │ invoke-static {v5, v6}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; │ │ move-result-object v5 │ │ invoke-virtual {v2, v5}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V │ │ goto :goto_2 │ @@ -945,14 +953,15 @@ │ .line 328 │ iget-object v0, p0, Lcom/matoski/adbm/activity/MainActivity;->mSsButton:Landroid/widget/ToggleButton; │ │ new-instance v1, Lcom/matoski/adbm/activity/MainActivity$3; │ │ invoke-direct {v1, p0}, Lcom/matoski/adbm/activity/MainActivity$3;->(Lcom/matoski/adbm/activity/MainActivity;)V │ │ + .line 329 │ invoke-virtual {v0, v1}, Landroid/widget/ToggleButton;->setOnCheckedChangeListener(Landroid/widget/CompoundButton$OnCheckedChangeListener;)V │ │ .line 350 │ invoke-virtual {p0}, Lcom/matoski/adbm/activity/MainActivity;->getResources()Landroid/content/res/Resources; │ │ move-result-object v0 │ │ @@ -960,15 +969,15 @@ │ │ invoke-virtual {v0, v1}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; │ │ move-result-object v0 │ │ invoke-virtual {p0, v0}, Lcom/matoski/adbm/activity/MainActivity;->addItem(Ljava/lang/String;)Z │ │ - .line 353 │ + .line 354 │ invoke-virtual {p0}, Lcom/matoski/adbm/activity/MainActivity;->getApplicationContext()Landroid/content/Context; │ │ move-result-object v0 │ │ invoke-static {v0}, Landroid/preference/PreferenceManager;->getDefaultSharedPreferences(Landroid/content/Context;)Landroid/content/SharedPreferences; │ │ move-result-object v0 │ @@ -1095,20 +1104,22 @@ │ :pswitch_0 │ invoke-virtual {p0}, Lcom/matoski/adbm/activity/MainActivity;->getResources()Landroid/content/res/Resources; │ │ move-result-object v2 │ │ new-array v3, v0, [Ljava/lang/Object; │ │ + .line 410 │ invoke-interface {p1}, Landroid/view/MenuItem;->getTitle()Ljava/lang/CharSequence; │ │ move-result-object v4 │ │ aput-object v4, v3, v1 │ │ + .line 409 │ invoke-virtual {v2, v5, v3}, Landroid/content/res/Resources;->getString(I[Ljava/lang/Object;)Ljava/lang/String; │ │ move-result-object v1 │ │ invoke-virtual {p0, v1}, Lcom/matoski/adbm/activity/MainActivity;->addItem(Ljava/lang/String;)Z │ │ .line 411 │ @@ -1147,20 +1158,22 @@ │ :pswitch_3 │ invoke-virtual {p0}, Lcom/matoski/adbm/activity/MainActivity;->getResources()Landroid/content/res/Resources; │ │ move-result-object v2 │ │ new-array v3, v0, [Ljava/lang/Object; │ │ + .line 423 │ invoke-interface {p1}, Landroid/view/MenuItem;->getTitle()Ljava/lang/CharSequence; │ │ move-result-object v4 │ │ aput-object v4, v3, v1 │ │ + .line 422 │ invoke-virtual {v2, v5, v3}, Landroid/content/res/Resources;->getString(I[Ljava/lang/Object;)Ljava/lang/String; │ │ move-result-object v1 │ │ invoke-virtual {p0, v1}, Lcom/matoski/adbm/activity/MainActivity;->addItem(Ljava/lang/String;)Z │ │ .line 424 │ @@ -1178,20 +1191,22 @@ │ :pswitch_4 │ invoke-virtual {p0}, Lcom/matoski/adbm/activity/MainActivity;->getResources()Landroid/content/res/Resources; │ │ move-result-object v2 │ │ new-array v3, v0, [Ljava/lang/Object; │ │ + .line 428 │ invoke-interface {p1}, Landroid/view/MenuItem;->getTitle()Ljava/lang/CharSequence; │ │ move-result-object v4 │ │ aput-object v4, v3, v1 │ │ + .line 427 │ invoke-virtual {v2, v5, v3}, Landroid/content/res/Resources;->getString(I[Ljava/lang/Object;)Ljava/lang/String; │ │ move-result-object v1 │ │ invoke-virtual {p0, v1}, Lcom/matoski/adbm/activity/MainActivity;->addItem(Ljava/lang/String;)Z │ │ .line 429 │ @@ -1308,15 +1323,15 @@ │ .line 491 │ iget-object v3, p0, Lcom/matoski/adbm/activity/MainActivity;->service:Lcom/matoski/adbm/service/ManagerService; │ │ iget-object v4, p0, Lcom/matoski/adbm/activity/MainActivity;->handler:Lcom/matoski/adbm/interfaces/IMessageHandler; │ │ invoke-virtual {v3, v4}, Lcom/matoski/adbm/service/ManagerService;->setHandler(Lcom/matoski/adbm/interfaces/IMessageHandler;)V │ │ - .line 493 │ + .line 494 │ :cond_0 │ invoke-static {p0}, Landroid/preference/PreferenceManager;->getDefaultSharedPreferences(Landroid/content/Context;)Landroid/content/SharedPreferences; │ │ move-result-object v1 │ │ .line 496 │ .local v1, "prefs":Landroid/content/SharedPreferences; │ @@ -1361,18 +1376,20 @@ │ :cond_1 │ invoke-virtual {p0}, Lcom/matoski/adbm/activity/MainActivity;->getResources()Landroid/content/res/Resources; │ │ move-result-object v3 │ │ const v4, 0x7f090017 │ │ + .line 506 │ invoke-virtual {v3, v4}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; │ │ move-result-object v3 │ │ + .line 505 │ invoke-virtual {p0, v3}, Lcom/matoski/adbm/activity/MainActivity;->addItem(Ljava/lang/String;)Z │ │ .line 507 │ invoke-direct {p0}, Lcom/matoski/adbm/activity/MainActivity;->updateScreenDetails()V │ │ .line 508 │ return-void ├── smali/com/matoski/adbm/activity/MainActivity$3.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Lcom/matoski/adbm/activity/MainActivity; │ │ │ # direct methods │ .method constructor (Lcom/matoski/adbm/activity/MainActivity;)V │ .locals 0 │ + .param p1, "this$0" # Lcom/matoski/adbm/activity/MainActivity; │ │ .prologue │ .line 329 │ iput-object p1, p0, Lcom/matoski/adbm/activity/MainActivity$3;->this$0:Lcom/matoski/adbm/activity/MainActivity; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V │ │ @@ -56,26 +57,28 @@ │ │ const-string v3, "Toggle button checked: " │ │ invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v2 │ │ + .line 336 │ invoke-static {p2}, Ljava/lang/Boolean;->toString(Z)Ljava/lang/String; │ │ move-result-object v3 │ │ invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v2 │ │ invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ │ move-result-object v2 │ │ + .line 334 │ invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I │ │ .line 338 │ invoke-virtual {p1}, Landroid/widget/CompoundButton;->isPressed()Z │ │ move-result v1 ├── smali/com/matoski/adbm/activity/MainActivity$MyNetworkStatusChecker.smali │ @@ -125,72 +125,63 @@ │ .line 94 │ :cond_1 │ return-void │ .end method │ │ .method protected bridge synthetic onPostExecute(Ljava/lang/Object;)V │ .locals 0 │ - .param p1, "x0" # Ljava/lang/Object; │ │ .prologue │ .line 61 │ check-cast p1, Lcom/matoski/adbm/enums/AdbStateEnum; │ │ - .end local p1 # "x0":Ljava/lang/Object; │ invoke-virtual {p0, p1}, Lcom/matoski/adbm/activity/MainActivity$MyNetworkStatusChecker;->onPostExecute(Lcom/matoski/adbm/enums/AdbStateEnum;)V │ │ return-void │ .end method │ │ .method protected bridge synthetic onProgressUpdate([Ljava/lang/Object;)V │ .locals 0 │ - .param p1, "x0" # [Ljava/lang/Object; │ │ .prologue │ .line 61 │ check-cast p1, [Ljava/lang/String; │ │ - .end local p1 # "x0":[Ljava/lang/Object; │ invoke-virtual {p0, p1}, Lcom/matoski/adbm/activity/MainActivity$MyNetworkStatusChecker;->onProgressUpdate([Ljava/lang/String;)V │ │ return-void │ .end method │ │ .method protected varargs onProgressUpdate([Ljava/lang/String;)V │ - .locals 5 │ + .locals 4 │ .param p1, "messages" # [Ljava/lang/String; │ │ .prologue │ .line 103 │ invoke-super {p0, p1}, Lcom/matoski/adbm/tasks/NetworkStatusChecker;->onProgressUpdate([Ljava/lang/Object;)V │ │ .line 104 │ - move-object v0, p1 │ + array-length v2, p1 │ │ - .local v0, "arr$":[Ljava/lang/String; │ - array-length v2, v0 │ - │ - .local v2, "len$":I │ const/4 v1, 0x0 │ │ - .local v1, "i$":I │ :goto_0 │ if-ge v1, v2, :cond_0 │ │ - aget-object v3, v0, v1 │ + aget-object v0, p1, v1 │ │ .line 105 │ - .local v3, "message":Ljava/lang/String; │ - iget-object v4, p0, Lcom/matoski/adbm/activity/MainActivity$MyNetworkStatusChecker;->this$0:Lcom/matoski/adbm/activity/MainActivity; │ + .local v0, "message":Ljava/lang/String; │ + iget-object v3, p0, Lcom/matoski/adbm/activity/MainActivity$MyNetworkStatusChecker;->this$0:Lcom/matoski/adbm/activity/MainActivity; │ │ - invoke-virtual {v4, v3}, Lcom/matoski/adbm/activity/MainActivity;->addItem(Ljava/lang/String;)Z │ + invoke-virtual {v3, v0}, Lcom/matoski/adbm/activity/MainActivity;->addItem(Ljava/lang/String;)Z │ │ .line 104 │ add-int/lit8 v1, v1, 0x1 │ │ goto :goto_0 │ │ .line 107 │ - .end local v3 # "message":Ljava/lang/String; │ + .end local v0 # "message":Ljava/lang/String; │ :cond_0 │ return-void │ .end method ├── smali/com/matoski/adbm/activity/MyPreferencesActivity$6.smali │ @@ -24,14 +24,15 @@ │ │ .field final synthetic val$prefs:Landroid/content/SharedPreferences; │ │ │ # direct methods │ .method constructor (Lcom/matoski/adbm/activity/MyPreferencesActivity;Landroid/content/Context;Landroid/content/SharedPreferences;)V │ .locals 0 │ + .param p1, "this$0" # Lcom/matoski/adbm/activity/MyPreferencesActivity; │ │ .prologue │ .line 197 │ iput-object p1, p0, Lcom/matoski/adbm/activity/MyPreferencesActivity$6;->this$0:Lcom/matoski/adbm/activity/MyPreferencesActivity; │ │ iput-object p2, p0, Lcom/matoski/adbm/activity/MyPreferencesActivity$6;->val$context:Landroid/content/Context; ├── smali/com/matoski/adbm/activity/MainActivity$1.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Lcom/matoski/adbm/activity/MainActivity; │ │ │ # direct methods │ .method constructor (Lcom/matoski/adbm/activity/MainActivity;)V │ .locals 0 │ + .param p1, "this$0" # Lcom/matoski/adbm/activity/MainActivity; │ │ .prologue │ .line 173 │ iput-object p1, p0, Lcom/matoski/adbm/activity/MainActivity$1;->this$0:Lcom/matoski/adbm/activity/MainActivity; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/com/matoski/adbm/activity/MainActivity$2.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Lcom/matoski/adbm/activity/MainActivity; │ │ │ # direct methods │ .method constructor (Lcom/matoski/adbm/activity/MainActivity;)V │ .locals 0 │ + .param p1, "this$0" # Lcom/matoski/adbm/activity/MainActivity; │ │ .prologue │ .line 203 │ iput-object p1, p0, Lcom/matoski/adbm/activity/MainActivity$2;->this$0:Lcom/matoski/adbm/activity/MainActivity; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/com/matoski/adbm/activity/MyPreferencesActivity$1.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Lcom/matoski/adbm/activity/MyPreferencesActivity; │ │ │ # direct methods │ .method constructor (Lcom/matoski/adbm/activity/MyPreferencesActivity;)V │ .locals 0 │ + .param p1, "this$0" # Lcom/matoski/adbm/activity/MyPreferencesActivity; │ │ .prologue │ .line 66 │ iput-object p1, p0, Lcom/matoski/adbm/activity/MyPreferencesActivity$1;->this$0:Lcom/matoski/adbm/activity/MyPreferencesActivity; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/com/matoski/adbm/activity/MyPreferencesActivity$5.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Lcom/matoski/adbm/activity/MyPreferencesActivity; │ │ │ # direct methods │ .method constructor (Lcom/matoski/adbm/activity/MyPreferencesActivity;)V │ .locals 0 │ + .param p1, "this$0" # Lcom/matoski/adbm/activity/MyPreferencesActivity; │ │ .prologue │ .line 187 │ iput-object p1, p0, Lcom/matoski/adbm/activity/MyPreferencesActivity$5;->this$0:Lcom/matoski/adbm/activity/MyPreferencesActivity; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/com/matoski/adbm/activity/BaseHelpActivity.smali │ @@ -82,20 +82,22 @@ │ │ aput-object v7, v5, v6 │ │ const/4 v6, 0x1 │ │ iget v7, v1, Landroid/content/pm/PackageInfo;->versionCode:I │ │ + .line 96 │ invoke-static {v7}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; │ │ move-result-object v7 │ │ aput-object v7, v5, v6 │ │ + .line 95 │ invoke-static {v4, v5}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; │ :try_end_0 │ .catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_0 .. :try_end_0} :catch_0 │ │ move-result-object v3 │ │ .line 103 │ @@ -118,26 +120,28 @@ │ │ const-string v6, "Unable to get application version: " │ │ invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v5 │ │ + .line 99 │ invoke-virtual {v0}, Landroid/content/pm/PackageManager$NameNotFoundException;->getMessage()Ljava/lang/String; │ │ move-result-object v6 │ │ invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v5 │ │ invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ │ move-result-object v5 │ │ + .line 98 │ invoke-static {v4, v5}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I │ │ .line 100 │ const-string v3, "Unable to get application version." │ │ goto :goto_0 │ .end method │ @@ -182,18 +186,20 @@ │ invoke-virtual {v3, v4}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V │ │ .line 67 │ invoke-virtual {p0}, Lcom/matoski/adbm/activity/BaseHelpActivity;->getApplicationContext()Landroid/content/Context; │ │ move-result-object v4 │ │ + .line 68 │ invoke-virtual {p0}, Lcom/matoski/adbm/activity/BaseHelpActivity;->getResourceId()I │ │ move-result v5 │ │ + .line 67 │ invoke-static {v4, v5}, Lcom/matoski/adbm/util/FileUtil;->readRawFile(Landroid/content/Context;I)Ljava/lang/String; │ │ move-result-object v1 │ │ .line 70 │ .local v1, "html":Ljava/lang/String; │ if-nez v1, :cond_0 ├── smali/com/matoski/adbm/activity/WiFiListViewCheckboxesActivity$1.smali │ @@ -28,14 +28,15 @@ │ # instance fields │ .field final synthetic this$0:Lcom/matoski/adbm/activity/WiFiListViewCheckboxesActivity; │ │ │ # direct methods │ .method constructor (Lcom/matoski/adbm/activity/WiFiListViewCheckboxesActivity;)V │ .locals 0 │ + .param p1, "this$0" # Lcom/matoski/adbm/activity/WiFiListViewCheckboxesActivity; │ │ .prologue │ .line 104 │ iput-object p1, p0, Lcom/matoski/adbm/activity/WiFiListViewCheckboxesActivity$1;->this$0:Lcom/matoski/adbm/activity/WiFiListViewCheckboxesActivity; │ │ invoke-direct {p0}, Lcom/google/gson/reflect/TypeToken;->()V ├── smali/com/matoski/adbm/activity/WiFiListViewCheckboxesActivity$3.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Lcom/matoski/adbm/activity/WiFiListViewCheckboxesActivity; │ │ │ # direct methods │ .method constructor (Lcom/matoski/adbm/activity/WiFiListViewCheckboxesActivity;)V │ .locals 0 │ + .param p1, "this$0" # Lcom/matoski/adbm/activity/WiFiListViewCheckboxesActivity; │ │ .prologue │ .line 124 │ iput-object p1, p0, Lcom/matoski/adbm/activity/WiFiListViewCheckboxesActivity$3;->this$0:Lcom/matoski/adbm/activity/WiFiListViewCheckboxesActivity; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/com/matoski/adbm/activity/MyPreferencesActivity$12.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Lcom/matoski/adbm/activity/MyPreferencesActivity; │ │ │ # direct methods │ .method constructor (Lcom/matoski/adbm/activity/MyPreferencesActivity;)V │ .locals 0 │ + .param p1, "this$0" # Lcom/matoski/adbm/activity/MyPreferencesActivity; │ │ .prologue │ .line 392 │ iput-object p1, p0, Lcom/matoski/adbm/activity/MyPreferencesActivity$12;->this$0:Lcom/matoski/adbm/activity/MyPreferencesActivity; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V │ │ @@ -73,14 +74,15 @@ │ │ const-wide/16 v6, 0x400 │ │ cmp-long v3, v4, v6 │ │ if-lez v3, :cond_0 │ │ + .line 404 │ invoke-virtual {v1}, Ljava/lang/Long;->longValue()J │ │ move-result-wide v4 │ │ const-wide/32 v6, 0xbfff │ │ cmp-long v3, v4, v6 │ @@ -100,44 +102,49 @@ │ .line 406 │ const/4 v2, 0x0 │ │ .line 415 │ :goto_0 │ iget-object v3, p0, Lcom/matoski/adbm/activity/MyPreferencesActivity$12;->this$0:Lcom/matoski/adbm/activity/MyPreferencesActivity; │ │ + .line 416 │ invoke-virtual {v3}, Lcom/matoski/adbm/activity/MyPreferencesActivity;->getResources()Landroid/content/res/Resources; │ │ move-result-object v3 │ │ const v4, 0x7f090051 │ │ + .line 417 │ invoke-virtual {v3, v4}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; │ │ move-result-object v3 │ │ const/4 v4, 0x1 │ │ new-array v4, v4, [Ljava/lang/Object; │ │ const/4 v5, 0x0 │ │ + .line 419 │ invoke-virtual {v1}, Ljava/lang/Long;->longValue()J │ │ move-result-wide v6 │ │ invoke-static {v6, v7}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long; │ │ move-result-object v6 │ │ aput-object v6, v4, v5 │ │ + .line 416 │ invoke-static {v3, v4}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; │ │ move-result-object v3 │ │ + .line 415 │ invoke-virtual {p1, v3}, Landroid/preference/Preference;->setSummary(Ljava/lang/CharSequence;)V │ │ .line 421 │ move-object p2, v1 │ │ .line 423 │ .local p2, "newValue":Ljava/lang/Long; ├── smali/com/matoski/adbm/activity/MyPreferencesActivity$6$1.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$1:Lcom/matoski/adbm/activity/MyPreferencesActivity$6; │ │ │ # direct methods │ .method constructor (Lcom/matoski/adbm/activity/MyPreferencesActivity$6;)V │ .locals 0 │ + .param p1, "this$1" # Lcom/matoski/adbm/activity/MyPreferencesActivity$6; │ │ .prologue │ .line 208 │ iput-object p1, p0, Lcom/matoski/adbm/activity/MyPreferencesActivity$6$1;->this$1:Lcom/matoski/adbm/activity/MyPreferencesActivity$6; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V │ │ @@ -55,14 +56,15 @@ │ │ const-string v2, "[]" │ │ invoke-interface {v0, v1, v2}, Landroid/content/SharedPreferences$Editor;->putString(Ljava/lang/String;Ljava/lang/String;)Landroid/content/SharedPreferences$Editor; │ │ move-result-object v0 │ │ + .line 213 │ invoke-interface {v0}, Landroid/content/SharedPreferences$Editor;->apply()V │ │ .line 214 │ iget-object v0, p0, Lcom/matoski/adbm/activity/MyPreferencesActivity$6$1;->this$1:Lcom/matoski/adbm/activity/MyPreferencesActivity$6; │ │ iget-object v0, v0, Lcom/matoski/adbm/activity/MyPreferencesActivity$6;->this$0:Lcom/matoski/adbm/activity/MyPreferencesActivity; ├── smali/com/matoski/adbm/activity/MyPreferencesActivity$11.smali │ @@ -22,14 +22,15 @@ │ │ .field final synthetic val$prefs:Landroid/content/SharedPreferences; │ │ │ # direct methods │ .method constructor (Lcom/matoski/adbm/activity/MyPreferencesActivity;Landroid/content/SharedPreferences;)V │ .locals 0 │ + .param p1, "this$0" # Lcom/matoski/adbm/activity/MyPreferencesActivity; │ │ .prologue │ .line 354 │ iput-object p1, p0, Lcom/matoski/adbm/activity/MyPreferencesActivity$11;->this$0:Lcom/matoski/adbm/activity/MyPreferencesActivity; │ │ iput-object p2, p0, Lcom/matoski/adbm/activity/MyPreferencesActivity$11;->val$prefs:Landroid/content/SharedPreferences; │ │ @@ -102,14 +103,15 @@ │ │ invoke-virtual {v3, v4}, Lcom/matoski/adbm/activity/MyPreferencesActivity;->findPreference(Ljava/lang/CharSequence;)Landroid/preference/Preference; │ │ move-result-object v3 │ │ iget-object v4, p0, Lcom/matoski/adbm/activity/MyPreferencesActivity$11;->this$0:Lcom/matoski/adbm/activity/MyPreferencesActivity; │ │ + .line 381 │ invoke-virtual {v4}, Lcom/matoski/adbm/activity/MyPreferencesActivity;->getResources()Landroid/content/res/Resources; │ │ move-result-object v4 │ │ const v5, 0x7f090037 │ │ invoke-virtual {v4, v5}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; │ @@ -118,30 +120,34 @@ │ │ new-array v5, v6, [Ljava/lang/Object; │ │ const/4 v6, 0x0 │ │ new-instance v7, Ljava/util/Locale; │ │ + .line 383 │ invoke-virtual {p2}, Ljava/lang/Object;->toString()Ljava/lang/String; │ │ move-result-object v8 │ │ invoke-direct {v7, v8}, Ljava/util/Locale;->(Ljava/lang/String;)V │ │ + .line 384 │ invoke-virtual {v7}, Ljava/util/Locale;->getDisplayLanguage()Ljava/lang/String; │ │ move-result-object v7 │ │ aput-object v7, v5, v6 │ │ + .line 381 │ invoke-static {v4, v5}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; │ │ move-result-object v4 │ │ + .line 380 │ invoke-virtual {v3, v4}, Landroid/preference/Preference;->setSummary(Ljava/lang/CharSequence;)V │ │ .line 387 │ :cond_0 │ return v2 │ │ .line 375 ├── smali/com/matoski/adbm/activity/MyPreferencesActivity.smali │ @@ -97,15 +97,15 @@ │ const v10, 0x7f090008 │ │ invoke-virtual {p0, v10}, Lcom/matoski/adbm/activity/MyPreferencesActivity;->setTitle(I)V │ │ .line 130 │ iput-object p0, p0, Lcom/matoski/adbm/activity/MyPreferencesActivity;->_this:Landroid/app/Activity; │ │ - .line 131 │ + .line 132 │ invoke-static {p0}, Landroid/preference/PreferenceManager;->getDefaultSharedPreferences(Landroid/content/Context;)Landroid/content/SharedPreferences; │ │ move-result-object v7 │ │ .line 133 │ .local v7, "prefs":Landroid/content/SharedPreferences; │ move-object v0, p0 │ @@ -126,14 +126,15 @@ │ │ const/16 v11, 0x64 │ │ if-le v10, v11, :cond_2 │ │ const/4 v10, 0x1 │ │ + .line 137 │ :goto_0 │ invoke-virtual {v5, v10}, Landroid/preference/CheckBoxPreference;->setEnabled(Z)V │ │ .line 139 │ const-string v10, "keep_screen_on" │ │ invoke-virtual {p0, v10}, Lcom/matoski/adbm/activity/MyPreferencesActivity;->findPreference(Ljava/lang/CharSequence;)Landroid/preference/Preference; │ @@ -154,40 +155,43 @@ │ │ .line 142 │ .local v6, "mWakeOnNewPackage":Landroid/preference/CheckBoxPreference; │ new-instance v10, Lcom/matoski/adbm/activity/MyPreferencesActivity$2; │ │ invoke-direct {v10, p0, v6}, Lcom/matoski/adbm/activity/MyPreferencesActivity$2;->(Lcom/matoski/adbm/activity/MyPreferencesActivity;Landroid/preference/CheckBoxPreference;)V │ │ + .line 143 │ invoke-virtual {v4, v10}, Landroid/preference/CheckBoxPreference;->setOnPreferenceChangeListener(Landroid/preference/Preference$OnPreferenceChangeListener;)V │ │ .line 156 │ const-string v10, "show_notifications" │ │ invoke-virtual {p0, v10}, Lcom/matoski/adbm/activity/MyPreferencesActivity;->findPreference(Ljava/lang/CharSequence;)Landroid/preference/Preference; │ │ move-result-object v10 │ │ new-instance v11, Lcom/matoski/adbm/activity/MyPreferencesActivity$3; │ │ invoke-direct {v11, p0}, Lcom/matoski/adbm/activity/MyPreferencesActivity$3;->(Lcom/matoski/adbm/activity/MyPreferencesActivity;)V │ │ + .line 157 │ invoke-virtual {v10, v11}, Landroid/preference/Preference;->setOnPreferenceChangeListener(Landroid/preference/Preference$OnPreferenceChangeListener;)V │ │ .line 171 │ const-string v10, "hideable_notification_bar" │ │ invoke-virtual {p0, v10}, Lcom/matoski/adbm/activity/MyPreferencesActivity;->findPreference(Ljava/lang/CharSequence;)Landroid/preference/Preference; │ │ move-result-object v10 │ │ new-instance v11, Lcom/matoski/adbm/activity/MyPreferencesActivity$4; │ │ invoke-direct {v11, p0}, Lcom/matoski/adbm/activity/MyPreferencesActivity$4;->(Lcom/matoski/adbm/activity/MyPreferencesActivity;)V │ │ + .line 172 │ invoke-virtual {v10, v11}, Landroid/preference/Preference;->setOnPreferenceChangeListener(Landroid/preference/Preference$OnPreferenceChangeListener;)V │ │ .line 186 │ const-string v10, "wifi_button" │ │ invoke-virtual {p0, v10}, Lcom/matoski/adbm/activity/MyPreferencesActivity;->findPreference(Ljava/lang/CharSequence;)Landroid/preference/Preference; │ │ @@ -245,38 +249,42 @@ │ │ move-result-object v10 │ │ new-instance v11, Lcom/matoski/adbm/activity/MyPreferencesActivity$9; │ │ invoke-direct {v11, p0}, Lcom/matoski/adbm/activity/MyPreferencesActivity$9;->(Lcom/matoski/adbm/activity/MyPreferencesActivity;)V │ │ + .line 289 │ invoke-virtual {v10, v11}, Landroid/preference/Preference;->setOnPreferenceChangeListener(Landroid/preference/Preference$OnPreferenceChangeListener;)V │ │ .line 306 │ const-string v10, "alarm_timeout_interval" │ │ invoke-virtual {p0, v10}, Lcom/matoski/adbm/activity/MyPreferencesActivity;->findPreference(Ljava/lang/CharSequence;)Landroid/preference/Preference; │ │ move-result-object v10 │ │ new-instance v11, Lcom/matoski/adbm/activity/MyPreferencesActivity$10; │ │ invoke-direct {v11, p0}, Lcom/matoski/adbm/activity/MyPreferencesActivity$10;->(Lcom/matoski/adbm/activity/MyPreferencesActivity;)V │ │ + .line 307 │ invoke-virtual {v10, v11}, Landroid/preference/Preference;->setOnPreferenceChangeListener(Landroid/preference/Preference$OnPreferenceChangeListener;)V │ │ .line 324 │ const-string v10, "adb_port" │ │ const-wide/16 v12, 0x15b3 │ │ + .line 325 │ invoke-static {v12, v13}, Ljava/lang/Long;->toString(J)Ljava/lang/String; │ │ move-result-object v11 │ │ + .line 324 │ invoke-interface {v7, v10, v11}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; │ │ move-result-object v1 │ │ .line 327 │ .local v1, "currentPort":Ljava/lang/String; │ const-wide/16 v8, 0x15b3 │ @@ -316,14 +324,15 @@ │ :goto_1 │ const-string v10, "adb_port" │ │ invoke-virtual {p0, v10}, Lcom/matoski/adbm/activity/MyPreferencesActivity;->findPreference(Ljava/lang/CharSequence;)Landroid/preference/Preference; │ │ move-result-object v10 │ │ + .line 341 │ invoke-virtual {p0}, Lcom/matoski/adbm/activity/MyPreferencesActivity;->getResources()Landroid/content/res/Resources; │ │ move-result-object v11 │ │ const v12, 0x7f090051 │ │ invoke-virtual {v11, v12}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; │ @@ -332,24 +341,27 @@ │ │ const/4 v12, 0x1 │ │ new-array v12, v12, [Ljava/lang/Object; │ │ const/4 v13, 0x0 │ │ + .line 343 │ invoke-static {v8, v9}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long; │ │ move-result-object v14 │ │ aput-object v14, v12, v13 │ │ + .line 340 │ invoke-static {v11, v12}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; │ │ move-result-object v11 │ │ + .line 339 │ invoke-virtual {v10, v11}, Landroid/preference/Preference;->setSummary(Ljava/lang/CharSequence;)V │ │ .line 345 │ new-instance v10, Ljava/util/Locale; │ │ const-string v11, "language" │ │ @@ -357,26 +369,28 @@ │ │ invoke-interface {v7, v11, v12}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; │ │ move-result-object v11 │ │ invoke-direct {v10, v11}, Ljava/util/Locale;->(Ljava/lang/String;)V │ │ + .line 347 │ invoke-virtual {v10}, Ljava/util/Locale;->getDisplayLanguage()Ljava/lang/String; │ │ move-result-object v3 │ │ .line 349 │ .local v3, "languageValue":Ljava/lang/String; │ const-string v10, "language" │ │ invoke-virtual {p0, v10}, Lcom/matoski/adbm/activity/MyPreferencesActivity;->findPreference(Ljava/lang/CharSequence;)Landroid/preference/Preference; │ │ move-result-object v10 │ │ + .line 350 │ invoke-virtual {p0}, Lcom/matoski/adbm/activity/MyPreferencesActivity;->getResources()Landroid/content/res/Resources; │ │ move-result-object v11 │ │ const v12, 0x7f090037 │ │ invoke-virtual {v11, v12}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; │ @@ -391,14 +405,15 @@ │ │ aput-object v3, v12, v13 │ │ invoke-static {v11, v12}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; │ │ move-result-object v11 │ │ + .line 349 │ invoke-virtual {v10, v11}, Landroid/preference/Preference;->setSummary(Ljava/lang/CharSequence;)V │ │ .line 353 │ const-string v10, "language" │ │ invoke-virtual {p0, v10}, Lcom/matoski/adbm/activity/MyPreferencesActivity;->findPreference(Ljava/lang/CharSequence;)Landroid/preference/Preference; ├── smali/com/matoski/adbm/activity/WiFiListViewCheckboxesActivity$2.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Lcom/matoski/adbm/activity/WiFiListViewCheckboxesActivity; │ │ │ # direct methods │ .method constructor (Lcom/matoski/adbm/activity/WiFiListViewCheckboxesActivity;)V │ .locals 0 │ + .param p1, "this$0" # Lcom/matoski/adbm/activity/WiFiListViewCheckboxesActivity; │ │ .prologue │ .line 109 │ iput-object p1, p0, Lcom/matoski/adbm/activity/WiFiListViewCheckboxesActivity$2;->this$0:Lcom/matoski/adbm/activity/WiFiListViewCheckboxesActivity; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V │ │ @@ -96,14 +97,15 @@ │ │ const-string v3, "wifi_list" │ │ invoke-interface {v2, v3, v0}, Landroid/content/SharedPreferences$Editor;->putString(Ljava/lang/String;Ljava/lang/String;)Landroid/content/SharedPreferences$Editor; │ │ move-result-object v2 │ │ + .line 117 │ invoke-interface {v2}, Landroid/content/SharedPreferences$Editor;->apply()V │ │ .line 118 │ # getter for: Lcom/matoski/adbm/activity/WiFiListViewCheckboxesActivity;->LOG_TAG:Ljava/lang/String; │ invoke-static {}, Lcom/matoski/adbm/activity/WiFiListViewCheckboxesActivity;->access$200()Ljava/lang/String; │ │ move-result-object v2 ├── smali/com/matoski/adbm/activity/MyPreferencesActivity$8.smali │ @@ -24,14 +24,15 @@ │ │ .field final synthetic val$prefs:Landroid/content/SharedPreferences; │ │ │ # direct methods │ .method constructor (Lcom/matoski/adbm/activity/MyPreferencesActivity;Landroid/content/Context;Landroid/content/SharedPreferences;)V │ .locals 0 │ + .param p1, "this$0" # Lcom/matoski/adbm/activity/MyPreferencesActivity; │ │ .prologue │ .line 246 │ iput-object p1, p0, Lcom/matoski/adbm/activity/MyPreferencesActivity$8;->this$0:Lcom/matoski/adbm/activity/MyPreferencesActivity; │ │ iput-object p2, p0, Lcom/matoski/adbm/activity/MyPreferencesActivity$8;->val$context:Landroid/content/Context; ├── smali/com/matoski/adbm/activity/WiFiListViewCheckboxesActivity.smali │ @@ -29,20 +29,22 @@ │ .method static constructor ()V │ .locals 1 │ │ .prologue │ .line 44 │ const-class v0, Lcom/matoski/adbm/activity/WiFiListViewCheckboxesActivity; │ │ + .line 45 │ invoke-virtual {v0}, Ljava/lang/Class;->getName()Ljava/lang/String; │ │ move-result-object v0 │ │ sput-object v0, Lcom/matoski/adbm/activity/WiFiListViewCheckboxesActivity;->LOG_TAG:Ljava/lang/String; │ │ + .line 44 │ return-void │ .end method │ │ .method public constructor ()V │ .locals 1 │ │ .prologue │ @@ -135,14 +137,15 @@ │ │ invoke-direct {v0}, Lcom/google/gson/GsonBuilder;->()V │ │ invoke-virtual {v0}, Lcom/google/gson/GsonBuilder;->excludeFieldsWithoutExposeAnnotation()Lcom/google/gson/GsonBuilder; │ │ move-result-object v0 │ │ + .line 100 │ invoke-virtual {v0}, Lcom/google/gson/GsonBuilder;->serializeNulls()Lcom/google/gson/GsonBuilder; │ │ move-result-object v0 │ │ invoke-virtual {v0}, Lcom/google/gson/GsonBuilder;->create()Lcom/google/gson/Gson; │ │ move-result-object v0 │ @@ -179,14 +182,15 @@ │ iput-object v0, p0, Lcom/matoski/adbm/activity/WiFiListViewCheckboxesActivity;->buttonCancel:Landroid/widget/Button; │ │ .line 104 │ new-instance v0, Lcom/matoski/adbm/activity/WiFiListViewCheckboxesActivity$1; │ │ invoke-direct {v0, p0}, Lcom/matoski/adbm/activity/WiFiListViewCheckboxesActivity$1;->(Lcom/matoski/adbm/activity/WiFiListViewCheckboxesActivity;)V │ │ + .line 105 │ invoke-virtual {v0}, Lcom/matoski/adbm/activity/WiFiListViewCheckboxesActivity$1;->getType()Ljava/lang/reflect/Type; │ │ move-result-object v0 │ │ iput-object v0, p0, Lcom/matoski/adbm/activity/WiFiListViewCheckboxesActivity;->gsonType:Ljava/lang/reflect/Type; │ │ .line 107 │ @@ -215,76 +219,78 @@ │ .end method │ │ .method protected prepareAdapter()V │ .locals 10 │ │ .prologue │ .line 140 │ - iget-object v5, p0, Lcom/matoski/adbm/activity/WiFiListViewCheckboxesActivity;->gson:Lcom/google/gson/Gson; │ + iget-object v4, p0, Lcom/matoski/adbm/activity/WiFiListViewCheckboxesActivity;->gson:Lcom/google/gson/Gson; │ │ - iget-object v6, p0, Lcom/matoski/adbm/activity/WiFiListViewCheckboxesActivity;->preferences:Landroid/content/SharedPreferences; │ + iget-object v5, p0, Lcom/matoski/adbm/activity/WiFiListViewCheckboxesActivity;->preferences:Landroid/content/SharedPreferences; │ │ - const-string v7, "wifi_list" │ + const-string v6, "wifi_list" │ │ - const/4 v8, 0x0 │ + const/4 v7, 0x0 │ │ - invoke-interface {v6, v7, v8}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; │ + .line 141 │ + invoke-interface {v5, v6, v7}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; │ │ - move-result-object v6 │ + move-result-object v5 │ │ - iget-object v7, p0, Lcom/matoski/adbm/activity/WiFiListViewCheckboxesActivity;->gsonType:Ljava/lang/reflect/Type; │ + iget-object v6, p0, Lcom/matoski/adbm/activity/WiFiListViewCheckboxesActivity;->gsonType:Ljava/lang/reflect/Type; │ │ - invoke-virtual {v5, v6, v7}, Lcom/google/gson/Gson;->fromJson(Ljava/lang/String;Ljava/lang/reflect/Type;)Ljava/lang/Object; │ + .line 140 │ + invoke-virtual {v4, v5, v6}, Lcom/google/gson/Gson;->fromJson(Ljava/lang/String;Ljava/lang/reflect/Type;)Ljava/lang/Object; │ │ - move-result-object v4 │ + move-result-object v3 │ │ - check-cast v4, Ljava/util/ArrayList; │ + check-cast v3, Ljava/util/ArrayList; │ │ .line 144 │ - .local v4, "objects":Ljava/util/ArrayList;, "Ljava/util/ArrayList;" │ - if-nez v4, :cond_0 │ + .local v3, "objects":Ljava/util/ArrayList;, "Ljava/util/ArrayList;" │ + if-nez v3, :cond_0 │ │ .line 145 │ - new-instance v4, Ljava/util/ArrayList; │ + new-instance v3, Ljava/util/ArrayList; │ │ - .end local v4 # "objects":Ljava/util/ArrayList;, "Ljava/util/ArrayList;" │ - invoke-direct {v4}, Ljava/util/ArrayList;->()V │ + .end local v3 # "objects":Ljava/util/ArrayList;, "Ljava/util/ArrayList;" │ + invoke-direct {v3}, Ljava/util/ArrayList;->()V │ │ .line 148 │ - .restart local v4 # "objects":Ljava/util/ArrayList;, "Ljava/util/ArrayList;" │ + .restart local v3 # "objects":Ljava/util/ArrayList;, "Ljava/util/ArrayList;" │ :cond_0 │ - const/4 v2, 0x0 │ + const/4 v1, 0x0 │ │ .line 149 │ - .local v2, "model":Lcom/matoski/adbm/pojo/Model; │ - iget-object v5, p0, Lcom/matoski/adbm/activity/WiFiListViewCheckboxesActivity;->wifiManager:Landroid/net/wifi/WifiManager; │ + .local v1, "model":Lcom/matoski/adbm/pojo/Model; │ + iget-object v4, p0, Lcom/matoski/adbm/activity/WiFiListViewCheckboxesActivity;->wifiManager:Landroid/net/wifi/WifiManager; │ │ - invoke-virtual {v5}, Landroid/net/wifi/WifiManager;->getConfiguredNetworks()Ljava/util/List; │ + .line 150 │ + invoke-virtual {v4}, Landroid/net/wifi/WifiManager;->getConfiguredNetworks()Ljava/util/List; │ │ - move-result-object v3 │ + move-result-object v2 │ │ .line 152 │ - .local v3, "networks":Ljava/util/List;, "Ljava/util/List;" │ - if-eqz v3, :cond_3 │ + .local v2, "networks":Ljava/util/List;, "Ljava/util/List;" │ + if-eqz v2, :cond_3 │ │ .line 153 │ - invoke-interface {v3}, Ljava/util/List;->iterator()Ljava/util/Iterator; │ + invoke-interface {v2}, Ljava/util/List;->iterator()Ljava/util/Iterator; │ │ - move-result-object v1 │ + move-result-object v4 │ │ - .local v1, "i$":Ljava/util/Iterator; │ :cond_1 │ :goto_0 │ - invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z │ + invoke-interface {v4}, Ljava/util/Iterator;->hasNext()Z │ │ move-result v5 │ │ if-eqz v5, :cond_3 │ │ - invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ + invoke-interface {v4}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ │ move-result-object v0 │ │ check-cast v0, Landroid/net/wifi/WifiConfiguration; │ │ .line 155 │ .local v0, "configuration":Landroid/net/wifi/WifiConfiguration; │ @@ -297,32 +303,32 @@ │ │ invoke-static {v5, v6}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I │ │ goto :goto_0 │ │ .line 159 │ :cond_2 │ - new-instance v2, Lcom/matoski/adbm/pojo/Model; │ + new-instance v1, Lcom/matoski/adbm/pojo/Model; │ │ - .end local v2 # "model":Lcom/matoski/adbm/pojo/Model; │ + .end local v1 # "model":Lcom/matoski/adbm/pojo/Model; │ iget-object v5, v0, Landroid/net/wifi/WifiConfiguration;->SSID:Ljava/lang/String; │ │ const-string v6, "(^\")|(\"$)" │ │ const-string v7, "" │ │ invoke-virtual {v5, v6, v7}, Ljava/lang/String;->replaceAll(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; │ │ move-result-object v5 │ │ - invoke-direct {v2, v5}, Lcom/matoski/adbm/pojo/Model;->(Ljava/lang/String;)V │ + invoke-direct {v1, v5}, Lcom/matoski/adbm/pojo/Model;->(Ljava/lang/String;)V │ │ .line 161 │ - .restart local v2 # "model":Lcom/matoski/adbm/pojo/Model; │ - invoke-virtual {v4, v2}, Ljava/util/ArrayList;->contains(Ljava/lang/Object;)Z │ + .restart local v1 # "model":Lcom/matoski/adbm/pojo/Model; │ + invoke-virtual {v3, v1}, Ljava/util/ArrayList;->contains(Ljava/lang/Object;)Z │ │ move-result v5 │ │ if-nez v5, :cond_1 │ │ .line 162 │ sget-object v5, Lcom/matoski/adbm/activity/WiFiListViewCheckboxesActivity;->LOG_TAG:Ljava/lang/String; │ @@ -331,55 +337,56 @@ │ │ const/4 v7, 0x1 │ │ new-array v7, v7, [Ljava/lang/Object; │ │ const/4 v8, 0x0 │ │ - invoke-virtual {v2}, Lcom/matoski/adbm/pojo/Model;->getName()Ljava/lang/String; │ + .line 164 │ + invoke-virtual {v1}, Lcom/matoski/adbm/pojo/Model;->getName()Ljava/lang/String; │ │ move-result-object v9 │ │ aput-object v9, v7, v8 │ │ + .line 162 │ invoke-static {v6, v7}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; │ │ move-result-object v6 │ │ invoke-static {v5, v6}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I │ │ .line 165 │ - invoke-virtual {v4, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z │ + invoke-virtual {v3, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z │ │ goto :goto_0 │ │ .line 171 │ .end local v0 # "configuration":Landroid/net/wifi/WifiConfiguration; │ - .end local v1 # "i$":Ljava/util/Iterator; │ :cond_3 │ - new-instance v5, Lcom/matoski/adbm/adapter/InteractiveArrayAdapter; │ + new-instance v4, Lcom/matoski/adbm/adapter/InteractiveArrayAdapter; │ │ - invoke-direct {v5, p0, v4}, Lcom/matoski/adbm/adapter/InteractiveArrayAdapter;->(Landroid/app/Activity;Ljava/util/ArrayList;)V │ + invoke-direct {v4, p0, v3}, Lcom/matoski/adbm/adapter/InteractiveArrayAdapter;->(Landroid/app/Activity;Ljava/util/ArrayList;)V │ │ - iput-object v5, p0, Lcom/matoski/adbm/activity/WiFiListViewCheckboxesActivity;->adapter:Lcom/matoski/adbm/adapter/InteractiveArrayAdapter; │ + iput-object v4, p0, Lcom/matoski/adbm/activity/WiFiListViewCheckboxesActivity;->adapter:Lcom/matoski/adbm/adapter/InteractiveArrayAdapter; │ │ .line 173 │ - const v5, 0x7f0c001d │ + const v4, 0x7f0c001d │ │ - invoke-virtual {p0, v5}, Lcom/matoski/adbm/activity/WiFiListViewCheckboxesActivity;->findViewById(I)Landroid/view/View; │ + invoke-virtual {p0, v4}, Lcom/matoski/adbm/activity/WiFiListViewCheckboxesActivity;->findViewById(I)Landroid/view/View; │ │ - move-result-object v5 │ + move-result-object v4 │ │ - check-cast v5, Landroid/widget/ListView; │ + check-cast v4, Landroid/widget/ListView; │ │ - iput-object v5, p0, Lcom/matoski/adbm/activity/WiFiListViewCheckboxesActivity;->listView:Landroid/widget/ListView; │ + iput-object v4, p0, Lcom/matoski/adbm/activity/WiFiListViewCheckboxesActivity;->listView:Landroid/widget/ListView; │ │ .line 174 │ - iget-object v5, p0, Lcom/matoski/adbm/activity/WiFiListViewCheckboxesActivity;->listView:Landroid/widget/ListView; │ + iget-object v4, p0, Lcom/matoski/adbm/activity/WiFiListViewCheckboxesActivity;->listView:Landroid/widget/ListView; │ │ - iget-object v6, p0, Lcom/matoski/adbm/activity/WiFiListViewCheckboxesActivity;->adapter:Lcom/matoski/adbm/adapter/InteractiveArrayAdapter; │ + iget-object v5, p0, Lcom/matoski/adbm/activity/WiFiListViewCheckboxesActivity;->adapter:Lcom/matoski/adbm/adapter/InteractiveArrayAdapter; │ │ - invoke-virtual {v5, v6}, Landroid/widget/ListView;->setAdapter(Landroid/widget/ListAdapter;)V │ + invoke-virtual {v4, v5}, Landroid/widget/ListView;->setAdapter(Landroid/widget/ListAdapter;)V │ │ .line 176 │ return-void │ .end method ├── smali/com/matoski/adbm/activity/MyPreferencesActivity$7.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Lcom/matoski/adbm/activity/MyPreferencesActivity; │ │ │ # direct methods │ .method constructor (Lcom/matoski/adbm/activity/MyPreferencesActivity;)V │ .locals 0 │ + .param p1, "this$0" # Lcom/matoski/adbm/activity/MyPreferencesActivity; │ │ .prologue │ .line 236 │ iput-object p1, p0, Lcom/matoski/adbm/activity/MyPreferencesActivity$7;->this$0:Lcom/matoski/adbm/activity/MyPreferencesActivity; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/com/matoski/adbm/activity/MyPreferencesActivity$10.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Lcom/matoski/adbm/activity/MyPreferencesActivity; │ │ │ # direct methods │ .method constructor (Lcom/matoski/adbm/activity/MyPreferencesActivity;)V │ .locals 0 │ + .param p1, "this$0" # Lcom/matoski/adbm/activity/MyPreferencesActivity; │ │ .prologue │ .line 308 │ iput-object p1, p0, Lcom/matoski/adbm/activity/MyPreferencesActivity$10;->this$0:Lcom/matoski/adbm/activity/MyPreferencesActivity; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V │ │ @@ -43,42 +44,47 @@ │ │ .prologue │ const/4 v5, 0x1 │ │ .line 313 │ iget-object v0, p0, Lcom/matoski/adbm/activity/MyPreferencesActivity$10;->this$0:Lcom/matoski/adbm/activity/MyPreferencesActivity; │ │ + .line 314 │ invoke-virtual {v0}, Lcom/matoski/adbm/activity/MyPreferencesActivity;->getResources()Landroid/content/res/Resources; │ │ move-result-object v0 │ │ const v1, 0x7f090045 │ │ + .line 315 │ invoke-virtual {v0, v1}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; │ │ move-result-object v0 │ │ new-array v1, v5, [Ljava/lang/Object; │ │ const/4 v2, 0x0 │ │ + .line 317 │ invoke-virtual {p2}, Ljava/lang/Object;->toString()Ljava/lang/String; │ │ move-result-object v3 │ │ const-string v4, " seconds" │ │ invoke-virtual {v3, v4}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String; │ │ move-result-object v3 │ │ aput-object v3, v1, v2 │ │ + .line 314 │ invoke-static {v0, v1}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; │ │ move-result-object v0 │ │ + .line 313 │ invoke-virtual {p1, v0}, Landroid/preference/Preference;->setSummary(Ljava/lang/CharSequence;)V │ │ .line 319 │ return v5 │ .end method ├── smali/com/matoski/adbm/activity/MyPreferencesActivity$3.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Lcom/matoski/adbm/activity/MyPreferencesActivity; │ │ │ # direct methods │ .method constructor (Lcom/matoski/adbm/activity/MyPreferencesActivity;)V │ .locals 0 │ + .param p1, "this$0" # Lcom/matoski/adbm/activity/MyPreferencesActivity; │ │ .prologue │ .line 158 │ iput-object p1, p0, Lcom/matoski/adbm/activity/MyPreferencesActivity$3;->this$0:Lcom/matoski/adbm/activity/MyPreferencesActivity; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/com/matoski/adbm/activity/MyPreferencesActivity$9.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Lcom/matoski/adbm/activity/MyPreferencesActivity; │ │ │ # direct methods │ .method constructor (Lcom/matoski/adbm/activity/MyPreferencesActivity;)V │ .locals 0 │ + .param p1, "this$0" # Lcom/matoski/adbm/activity/MyPreferencesActivity; │ │ .prologue │ .line 290 │ iput-object p1, p0, Lcom/matoski/adbm/activity/MyPreferencesActivity$9;->this$0:Lcom/matoski/adbm/activity/MyPreferencesActivity; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V │ │ @@ -43,42 +44,47 @@ │ │ .prologue │ const/4 v5, 0x1 │ │ .line 295 │ iget-object v0, p0, Lcom/matoski/adbm/activity/MyPreferencesActivity$9;->this$0:Lcom/matoski/adbm/activity/MyPreferencesActivity; │ │ + .line 296 │ invoke-virtual {v0}, Lcom/matoski/adbm/activity/MyPreferencesActivity;->getResources()Landroid/content/res/Resources; │ │ move-result-object v0 │ │ const v1, 0x7f090048 │ │ + .line 297 │ invoke-virtual {v0, v1}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; │ │ move-result-object v0 │ │ new-array v1, v5, [Ljava/lang/Object; │ │ const/4 v2, 0x0 │ │ + .line 299 │ invoke-virtual {p2}, Ljava/lang/Object;->toString()Ljava/lang/String; │ │ move-result-object v3 │ │ const-string v4, " seconds" │ │ invoke-virtual {v3, v4}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String; │ │ move-result-object v3 │ │ aput-object v3, v1, v2 │ │ + .line 296 │ invoke-static {v0, v1}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; │ │ move-result-object v0 │ │ + .line 295 │ invoke-virtual {p1, v0}, Landroid/preference/Preference;->setSummary(Ljava/lang/CharSequence;)V │ │ .line 301 │ return v5 │ .end method ├── smali/com/matoski/adbm/receiver/ConnectionDetectionReceiver.smali │ @@ -1,20 +1,12 @@ │ .class public Lcom/matoski/adbm/receiver/ConnectionDetectionReceiver; │ .super Landroid/content/BroadcastReceiver; │ .source "ConnectionDetectionReceiver.java" │ │ │ -# annotations │ -.annotation system Ldalvik/annotation/MemberClasses; │ - value = { │ - Lcom/matoski/adbm/receiver/ConnectionDetectionReceiver$1; │ - } │ -.end annotation │ - │ - │ # static fields │ .field private static LOG_TAG:Ljava/lang/String; │ │ │ # direct methods │ .method static constructor ()V │ .locals 1 │ @@ -35,15 +27,14 @@ │ .method public constructor ()V │ .locals 0 │ │ .prologue │ .line 22 │ invoke-direct {p0}, Landroid/content/BroadcastReceiver;->()V │ │ - .line 90 │ return-void │ .end method │ │ │ # virtual methods │ .method public onReceive(Landroid/content/Context;Landroid/content/Intent;)V │ .locals 9 │ @@ -73,26 +64,29 @@ │ .line 41 │ invoke-static {p1}, Landroid/preference/PreferenceManager;->getDefaultSharedPreferences(Landroid/content/Context;)Landroid/content/SharedPreferences; │ │ move-result-object v3 │ │ const-string v4, "auto_start_on_known_wifi" │ │ + .line 42 │ invoke-interface {v3, v4, v7}, Landroid/content/SharedPreferences;->getBoolean(Ljava/lang/String;Z)Z │ │ move-result v3 │ │ + .line 41 │ invoke-static {v3}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean; │ │ move-result-object v1 │ │ .line 45 │ .local v1, "bAutoWiFiConnect":Ljava/lang/Boolean; │ const-string v3, "networkInfo" │ │ + .line 46 │ invoke-virtual {p2, v3}, Landroid/content/Intent;->getParcelableExtra(Ljava/lang/String;)Landroid/os/Parcelable; │ │ move-result-object v2 │ │ check-cast v2, Landroid/net/NetworkInfo; │ │ .line 48 │ @@ -106,24 +100,26 @@ │ .line 50 │ sget-object v3, Lcom/matoski/adbm/receiver/ConnectionDetectionReceiver;->LOG_TAG:Ljava/lang/String; │ │ const-string v4, "Going through network state: %s" │ │ new-array v5, v8, [Ljava/lang/Object; │ │ + .line 51 │ invoke-virtual {v2}, Landroid/net/NetworkInfo;->getDetailedState()Landroid/net/NetworkInfo$DetailedState; │ │ move-result-object v6 │ │ invoke-virtual {v6}, Landroid/net/NetworkInfo$DetailedState;->toString()Ljava/lang/String; │ │ move-result-object v6 │ │ aput-object v6, v5, v7 │ │ + .line 50 │ invoke-static {v4, v5}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; │ │ move-result-object v4 │ │ invoke-static {v3, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I │ │ .line 53 │ @@ -154,24 +150,26 @@ │ :pswitch_0 │ sget-object v3, Lcom/matoski/adbm/receiver/ConnectionDetectionReceiver;->LOG_TAG:Ljava/lang/String; │ │ const-string v4, "Auto connecting to WiFi: %s" │ │ new-array v5, v8, [Ljava/lang/Object; │ │ + .line 58 │ invoke-virtual {v1}, Ljava/lang/Boolean;->booleanValue()Z │ │ move-result v6 │ │ invoke-static {v6}, Ljava/lang/Boolean;->toString(Z)Ljava/lang/String; │ │ move-result-object v6 │ │ aput-object v6, v5, v7 │ │ + .line 56 │ invoke-static {v4, v5}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; │ │ move-result-object v4 │ │ invoke-static {v3, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I │ │ .line 60 │ @@ -188,14 +186,15 @@ │ │ goto :goto_0 │ │ .line 64 │ :cond_1 │ const-string v3, "UPDATE_NOTIFICATION_NETWORK_ADB" │ │ + .line 65 │ invoke-static {p1, v3}, Lcom/matoski/adbm/util/ServiceUtil;->runServiceAction(Landroid/content/Context;Ljava/lang/String;)V │ │ goto :goto_0 │ │ .line 73 │ :pswitch_1 │ const-string v3, "ADB_STOP" ├── smali/com/matoski/adbm/receiver/BootCompleteReceiver.smali │ @@ -70,14 +70,15 @@ │ const/16 v7, 0xa │ │ const/4 v6, 0x0 │ │ const/4 v5, 0x1 │ │ .line 54 │ + .line 55 │ invoke-static {p1}, Landroid/preference/PreferenceManager;->getDefaultSharedPreferences(Landroid/content/Context;)Landroid/content/SharedPreferences; │ │ move-result-object v1 │ │ iput-object v1, p0, Lcom/matoski/adbm/receiver/BootCompleteReceiver;->preferences:Landroid/content/SharedPreferences; │ │ .line 58 │ @@ -120,18 +121,20 @@ │ │ .line 67 │ :try_start_1 │ const-string v1, "start_delay" │ │ const/16 v2, 0xa │ │ + .line 69 │ invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; │ │ move-result-object v2 │ │ + .line 67 │ invoke-static {p1, v1, v2}, Lcom/matoski/adbm/util/PreferenceUtil;->getString(Landroid/content/Context;Ljava/lang/String;Ljava/lang/Integer;)Ljava/lang/String; │ │ move-result-object v1 │ │ invoke-static {v1}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I │ │ move-result v1 │ @@ -146,36 +149,40 @@ │ │ const-string v2, "We are gonna delay the startup by %d seconds" │ │ new-array v3, v5, [Ljava/lang/Object; │ │ iget v4, p0, Lcom/matoski/adbm/receiver/BootCompleteReceiver;->iDelayStart:I │ │ + .line 75 │ invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; │ │ move-result-object v4 │ │ aput-object v4, v3, v6 │ │ + .line 74 │ invoke-static {v2, v3}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; │ │ move-result-object v2 │ │ invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I │ │ .line 78 │ :try_start_2 │ const-string v1, "alarm_timeout_interval" │ │ const v2, 0x6ddd00 │ │ + .line 80 │ invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; │ │ move-result-object v2 │ │ + .line 78 │ invoke-static {p1, v1, v2}, Lcom/matoski/adbm/util/PreferenceUtil;->getString(Landroid/content/Context;Ljava/lang/String;Ljava/lang/Integer;)Ljava/lang/String; │ │ move-result-object v1 │ │ invoke-static {v1}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J │ │ move-result-wide v2 │ @@ -190,24 +197,27 @@ │ │ const-string v2, "We are gonna check every %d seconds to check if the service is running" │ │ new-array v3, v5, [Ljava/lang/Object; │ │ iget-wide v4, p0, Lcom/matoski/adbm/receiver/BootCompleteReceiver;->iRepeatTimeout:J │ │ + .line 88 │ invoke-static {v4, v5}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long; │ │ move-result-object v4 │ │ aput-object v4, v3, v6 │ │ + .line 86 │ invoke-static {v2, v3}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; │ │ move-result-object v2 │ │ + .line 85 │ invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I │ │ .line 90 │ iget-boolean v1, p0, Lcom/matoski/adbm/receiver/BootCompleteReceiver;->bRunOnBoot:Z │ │ if-eqz v1, :cond_0 ├── smali/com/matoski/adbm/util/PreferenceUtil.smali │ @@ -84,14 +84,15 @@ │ .locals 7 │ .param p0, "context" # Landroid/content/Context; │ .param p1, "key" # Ljava/lang/String; │ .param p2, "dflt" # Ljava/lang/String; │ │ .prologue │ .line 34 │ + .line 35 │ invoke-static {p0}, Landroid/preference/PreferenceManager;->getDefaultSharedPreferences(Landroid/content/Context;)Landroid/content/SharedPreferences; │ │ move-result-object v1 │ │ .line 37 │ .local v1, "prefs":Landroid/content/SharedPreferences; │ move-object v2, p2 ├── smali/com/matoski/adbm/util/NetworkUtil.smali │ @@ -1,20 +1,12 @@ │ .class public Lcom/matoski/adbm/util/NetworkUtil; │ .super Ljava/lang/Object; │ .source "NetworkUtil.java" │ │ │ -# annotations │ -.annotation system Ldalvik/annotation/MemberClasses; │ - value = { │ - Lcom/matoski/adbm/util/NetworkUtil$1; │ - } │ -.end annotation │ - │ - │ # static fields │ .field private static LOG_TAG:Ljava/lang/String; │ │ │ # direct methods │ .method static constructor ()V │ .locals 1 │ @@ -35,15 +27,14 @@ │ .method public constructor ()V │ .locals 0 │ │ .prologue │ .line 21 │ invoke-direct {p0}, Ljava/lang/Object;->()V │ │ - .line 104 │ return-void │ .end method │ │ .method public static getLocalAddress()Lcom/matoski/adbm/pojo/IP; │ .locals 3 │ │ .prologue │ @@ -54,20 +45,22 @@ │ │ invoke-static {v1}, Lcom/matoski/adbm/util/NetworkUtil;->getLocalIPAddress(Lcom/matoski/adbm/enums/IPMode;)Ljava/lang/String; │ │ move-result-object v1 │ │ sget-object v2, Lcom/matoski/adbm/enums/IPMode;->ipv6:Lcom/matoski/adbm/enums/IPMode; │ │ + .line 49 │ invoke-static {v2}, Lcom/matoski/adbm/util/NetworkUtil;->getLocalIPAddress(Lcom/matoski/adbm/enums/IPMode;)Ljava/lang/String; │ │ move-result-object v2 │ │ invoke-direct {v0, v1, v2}, Lcom/matoski/adbm/pojo/IP;->(Ljava/lang/String;Ljava/lang/String;)V │ │ + .line 48 │ return-object v0 │ .end method │ │ .method public static getLocalIPAddress(Lcom/matoski/adbm/enums/IPMode;)Ljava/lang/String; │ .locals 1 │ .param p0, "mode" # Lcom/matoski/adbm/enums/IPMode; │ │ @@ -88,21 +81,20 @@ │ │ .method public static getLocalIPAddress(Lcom/matoski/adbm/enums/IPMode;Ljava/lang/Integer;)Ljava/lang/String; │ .locals 9 │ .param p0, "mode" # Lcom/matoski/adbm/enums/IPMode; │ .param p1, "retry" # Ljava/lang/Integer; │ │ .prologue │ - .line 80 │ + .line 81 │ :try_start_0 │ invoke-static {}, Ljava/net/NetworkInterface;->getNetworkInterfaces()Ljava/util/Enumeration; │ │ move-result-object v2 │ │ - .line 81 │ .local v2, "en":Ljava/util/Enumeration;, "Ljava/util/Enumeration;" │ :cond_0 │ invoke-interface {v2}, Ljava/util/Enumeration;->hasMoreElements()Z │ │ move-result v7 │ │ if-eqz v7, :cond_3 │ @@ -110,21 +102,20 @@ │ .line 82 │ invoke-interface {v2}, Ljava/util/Enumeration;->nextElement()Ljava/lang/Object; │ │ move-result-object v6 │ │ check-cast v6, Ljava/net/NetworkInterface; │ │ - .line 83 │ + .line 84 │ .local v6, "intf":Ljava/net/NetworkInterface; │ invoke-virtual {v6}, Ljava/net/NetworkInterface;->getInetAddresses()Ljava/util/Enumeration; │ │ move-result-object v3 │ │ - .line 84 │ .local v3, "enumIpAddr":Ljava/util/Enumeration;, "Ljava/util/Enumeration;" │ :cond_1 │ :goto_0 │ invoke-interface {v3}, Ljava/util/Enumeration;->hasMoreElements()Z │ │ move-result v7 │ │ @@ -155,18 +146,20 @@ │ :pswitch_0 │ invoke-virtual {v5}, Ljava/net/InetAddress;->isLoopbackAddress()Z │ │ move-result v7 │ │ if-nez v7, :cond_1 │ │ + .line 91 │ invoke-virtual {v5}, Ljava/net/InetAddress;->getHostAddress()Ljava/lang/String; │ │ move-result-object v7 │ │ + .line 90 │ invoke-static {v7}, Lorg/apache/http/conn/util/InetAddressUtils;->isIPv4Address(Ljava/lang/String;)Z │ │ move-result v7 │ │ if-eqz v7, :cond_1 │ │ .line 92 │ @@ -200,26 +193,29 @@ │ .local v0, "address":Ljava/lang/String; │ invoke-virtual {v5}, Ljava/net/InetAddress;->isLoopbackAddress()Z │ │ move-result v7 │ │ if-nez v7, :cond_1 │ │ + .line 98 │ invoke-static {v0}, Lorg/apache/http/conn/util/InetAddressUtils;->isIPv6Address(Ljava/lang/String;)Z │ │ move-result v7 │ │ if-nez v7, :cond_2 │ │ + .line 100 │ invoke-static {v0}, Lorg/apache/http/conn/util/InetAddressUtils;->isIPv6HexCompressedAddress(Ljava/lang/String;)Z │ │ move-result v7 │ │ if-nez v7, :cond_2 │ │ + .line 101 │ invoke-static {v0}, Lorg/apache/http/conn/util/InetAddressUtils;->isIPv6StdAddress(Ljava/lang/String;)Z │ │ move-result v7 │ │ if-eqz v7, :cond_1 │ │ .line 102 │ @@ -246,18 +242,20 @@ │ :catch_0 │ move-exception v4 │ │ .line 110 │ .local v4, "ex":Ljava/net/SocketException; │ const-string v7, "Socket exception in GetIP Address of Utilities" │ │ + .line 111 │ invoke-virtual {v4}, Ljava/net/SocketException;->toString()Ljava/lang/String; │ │ move-result-object v8 │ │ + .line 110 │ invoke-static {v7, v8}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I │ │ .line 119 │ .end local v4 # "ex":Ljava/net/SocketException; │ :cond_3 │ const/4 v7, 0x0 ├── smali/com/matoski/adbm/util/ServiceUtil.smali │ @@ -110,122 +110,127 @@ │ const/4 v1, 0x0 │ │ .line 121 │ new-instance v0, Landroid/content/Intent; │ │ invoke-direct {v0, p0, p1}, Landroid/content/Intent;->(Landroid/content/Context;Ljava/lang/Class;)V │ │ + .line 122 │ invoke-static {p0, v1, v0, v1}, Landroid/app/PendingIntent;->getService(Landroid/content/Context;ILandroid/content/Intent;I)Landroid/app/PendingIntent; │ │ move-result-object v0 │ │ + .line 121 │ return-object v0 │ .end method │ │ .method public static isServiceRunning(Landroid/content/Context;)Z │ .locals 1 │ .param p0, "context" # Landroid/content/Context; │ │ .prologue │ .line 146 │ const-class v0, Lcom/matoski/adbm/service/ManagerService; │ │ + .line 147 │ invoke-virtual {v0}, Ljava/lang/Class;->getName()Ljava/lang/String; │ │ move-result-object v0 │ │ + .line 146 │ invoke-static {p0, v0}, Lcom/matoski/adbm/util/ServiceUtil;->isServiceRunning(Landroid/content/Context;Ljava/lang/String;)Z │ │ move-result v0 │ │ return v0 │ .end method │ │ .method public static isServiceRunning(Landroid/content/Context;Ljava/lang/String;)Z │ - .locals 6 │ + .locals 5 │ .param p0, "context" # Landroid/content/Context; │ .param p1, "serviceClassName" # Ljava/lang/String; │ │ .prologue │ .line 164 │ - const-string v4, "activity" │ + const-string v3, "activity" │ │ - invoke-virtual {p0, v4}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; │ + .line 165 │ + invoke-virtual {p0, v3}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; │ │ move-result-object v0 │ │ check-cast v0, Landroid/app/ActivityManager; │ │ .line 166 │ .local v0, "activityManager":Landroid/app/ActivityManager; │ - const v4, 0x7fffffff │ + const v3, 0x7fffffff │ │ - invoke-virtual {v0, v4}, Landroid/app/ActivityManager;->getRunningServices(I)Ljava/util/List; │ + .line 167 │ + invoke-virtual {v0, v3}, Landroid/app/ActivityManager;->getRunningServices(I)Ljava/util/List; │ │ - move-result-object v3 │ + move-result-object v2 │ │ .line 169 │ - .local v3, "services":Ljava/util/List;, "Ljava/util/List;" │ - invoke-interface {v3}, Ljava/util/List;->iterator()Ljava/util/Iterator; │ + .local v2, "services":Ljava/util/List;, "Ljava/util/List;" │ + invoke-interface {v2}, Ljava/util/List;->iterator()Ljava/util/Iterator; │ │ - move-result-object v1 │ + move-result-object v3 │ │ - .local v1, "i$":Ljava/util/Iterator; │ :cond_0 │ - invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z │ + invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z │ │ move-result v4 │ │ if-eqz v4, :cond_1 │ │ - invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ + invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ │ - move-result-object v2 │ + move-result-object v1 │ │ - check-cast v2, Landroid/app/ActivityManager$RunningServiceInfo; │ + check-cast v1, Landroid/app/ActivityManager$RunningServiceInfo; │ │ .line 170 │ - .local v2, "runningServiceInfo":Landroid/app/ActivityManager$RunningServiceInfo; │ - iget-object v4, v2, Landroid/app/ActivityManager$RunningServiceInfo;->service:Landroid/content/ComponentName; │ + .local v1, "runningServiceInfo":Landroid/app/ActivityManager$RunningServiceInfo; │ + iget-object v4, v1, Landroid/app/ActivityManager$RunningServiceInfo;->service:Landroid/content/ComponentName; │ │ invoke-virtual {v4}, Landroid/content/ComponentName;->getClassName()Ljava/lang/String; │ │ move-result-object v4 │ │ invoke-virtual {v4, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z │ │ move-result v4 │ │ if-eqz v4, :cond_0 │ │ .line 172 │ - sget-object v4, Lcom/matoski/adbm/util/ServiceUtil;->LOG_TAG:Ljava/lang/String; │ + sget-object v3, Lcom/matoski/adbm/util/ServiceUtil;->LOG_TAG:Ljava/lang/String; │ │ - const-string v5, "Service is running" │ + const-string v4, "Service is running" │ │ - invoke-static {v4, v5}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I │ + invoke-static {v3, v4}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I │ │ .line 173 │ - const/4 v4, 0x1 │ + const/4 v3, 0x1 │ │ .line 178 │ - .end local v2 # "runningServiceInfo":Landroid/app/ActivityManager$RunningServiceInfo; │ + .end local v1 # "runningServiceInfo":Landroid/app/ActivityManager$RunningServiceInfo; │ :goto_0 │ - return v4 │ + return v3 │ │ .line 177 │ :cond_1 │ - sget-object v4, Lcom/matoski/adbm/util/ServiceUtil;->LOG_TAG:Ljava/lang/String; │ + sget-object v3, Lcom/matoski/adbm/util/ServiceUtil;->LOG_TAG:Ljava/lang/String; │ │ - const-string v5, "Service is not running" │ + const-string v4, "Service is not running" │ │ - invoke-static {v4, v5}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I │ + invoke-static {v3, v4}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I │ │ .line 178 │ - const/4 v4, 0x0 │ + const/4 v3, 0x0 │ │ goto :goto_0 │ .end method │ │ .method public static runServiceAction(Landroid/content/Context;Ljava/lang/String;)V │ .locals 1 │ .param p0, "context" # Landroid/content/Context; │ @@ -310,14 +315,15 @@ │ const-string v2, "Starting the service" │ │ invoke-static {v1, v2}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I │ │ .line 93 │ const-string v1, "alarm" │ │ + .line 94 │ invoke-virtual {p0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; │ │ move-result-object v0 │ │ check-cast v0, Landroid/app/AlarmManager; │ │ .line 98 │ @@ -344,26 +350,29 @@ │ const/16 v1, 0xd │ │ invoke-virtual {v7, v1, p1}, Ljava/util/Calendar;->add(II)V │ │ .line 107 │ const/4 v1, 0x0 │ │ + .line 108 │ invoke-virtual {v7}, Ljava/util/Calendar;->getTimeInMillis()J │ │ move-result-wide v2 │ │ const-class v4, Lcom/matoski/adbm/service/ManagerService; │ │ + .line 109 │ invoke-static {p0, v4}, Lcom/matoski/adbm/util/ServiceUtil;->getServicePendingIntent(Landroid/content/Context;Ljava/lang/Class;)Landroid/app/PendingIntent; │ │ move-result-object v6 │ │ move-wide v4, p2 │ │ + .line 107 │ invoke-virtual/range {v0 .. v6}, Landroid/app/AlarmManager;->setInexactRepeating(IJJLandroid/app/PendingIntent;)V │ │ .line 111 │ return-void │ │ .line 100 │ .end local v7 # "calendar":Ljava/util/Calendar; ├── smali/com/matoski/adbm/util/GenericUtil.smali │ @@ -45,14 +45,15 @@ │ │ .method public static updateApplicationLocale(Landroid/app/Activity;)V │ .locals 4 │ .param p0, "activity" # Landroid/app/Activity; │ │ .prologue │ .line 40 │ + .line 41 │ invoke-static {p0}, Landroid/preference/PreferenceManager;->getDefaultSharedPreferences(Landroid/content/Context;)Landroid/content/SharedPreferences; │ │ move-result-object v1 │ │ .line 43 │ .local v1, "prefs":Landroid/content/SharedPreferences; │ const-string v2, "language" │ @@ -100,28 +101,32 @@ │ iput-object v1, v0, Landroid/content/res/Configuration;->locale:Ljava/util/Locale; │ │ .line 62 │ invoke-virtual {p0}, Landroid/app/Activity;->getBaseContext()Landroid/content/Context; │ │ move-result-object v2 │ │ + .line 63 │ invoke-virtual {v2}, Landroid/content/Context;->getResources()Landroid/content/res/Resources; │ │ move-result-object v2 │ │ + .line 66 │ invoke-virtual {p0}, Landroid/app/Activity;->getBaseContext()Landroid/content/Context; │ │ move-result-object v3 │ │ invoke-virtual {v3}, Landroid/content/Context;->getResources()Landroid/content/res/Resources; │ │ move-result-object v3 │ │ + .line 67 │ invoke-virtual {v3}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics; │ │ move-result-object v3 │ │ + .line 64 │ invoke-virtual {v2, v0, v3}, Landroid/content/res/Resources;->updateConfiguration(Landroid/content/res/Configuration;Landroid/util/DisplayMetrics;)V │ │ .line 69 │ return-void │ .end method ├── smali/com/matoski/adbm/service/ManagerService.smali │ @@ -2,15 +2,14 @@ │ .super Landroid/app/Service; │ .source "ManagerService.java" │ │ │ # annotations │ .annotation system Ldalvik/annotation/MemberClasses; │ value = { │ - Lcom/matoski/adbm/service/ManagerService$2;, │ Lcom/matoski/adbm/service/ManagerService$ServiceBinder;, │ Lcom/matoski/adbm/service/ManagerService$MyToggleNetworkAdb;, │ Lcom/matoski/adbm/service/ManagerService$MyRootCommandExecuter;, │ Lcom/matoski/adbm/service/ManagerService$MyNetworkStatusChecker; │ } │ .end annotation │ │ @@ -256,14 +255,15 @@ │ sget-object v1, Lcom/matoski/adbm/service/ManagerService;->wakeLock:Landroid/os/PowerManager$WakeLock; │ │ if-nez v1, :cond_0 │ │ .line 378 │ const-string v1, "power" │ │ + .line 379 │ invoke-virtual {p0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; │ │ move-result-object v0 │ │ check-cast v0, Landroid/os/PowerManager; │ │ .line 381 │ @@ -376,26 +376,28 @@ │ const-string v10, "Prepearing notification bar" │ │ invoke-static {v9, v10}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I │ │ .line 899 │ new-instance v0, Landroid/support/v4/app/NotificationCompat$Builder; │ │ + .line 900 │ invoke-virtual {p0}, Lcom/matoski/adbm/service/ManagerService;->getApplicationContext()Landroid/content/Context; │ │ move-result-object v9 │ │ invoke-direct {v0, v9}, Landroid/support/v4/app/NotificationCompat$Builder;->(Landroid/content/Context;)V │ │ .line 902 │ .local v0, "builder":Landroid/support/v4/app/NotificationCompat$Builder; │ iget-object v9, p0, Lcom/matoski/adbm/service/ManagerService;->mConnectivityManager:Landroid/net/ConnectivityManager; │ │ const/4 v10, 0x1 │ │ + .line 903 │ invoke-virtual {v9, v10}, Landroid/net/ConnectivityManager;->getNetworkInfo(I)Landroid/net/NetworkInfo; │ │ move-result-object v4 │ │ .line 905 │ .local v4, "networkInfo":Landroid/net/NetworkInfo; │ invoke-static {}, Lcom/matoski/adbm/util/NetworkUtil;->getLocalAddress()Lcom/matoski/adbm/pojo/IP; │ @@ -418,14 +420,15 @@ │ │ const v10, 0x7f09006c │ │ invoke-virtual {v9, v10}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; │ │ move-result-object v9 │ │ + .line 909 │ invoke-virtual {p0}, Lcom/matoski/adbm/service/ManagerService;->getResources()Landroid/content/res/Resources; │ │ move-result-object v10 │ │ const v11, 0x7f09006c │ │ invoke-virtual {v10, v11}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; │ @@ -481,15 +484,15 @@ │ │ const v10, 0x7f090065 │ │ invoke-virtual {v9, v10}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; │ │ move-result-object v7 │ │ - .line 924 │ + .line 925 │ invoke-virtual {p0}, Lcom/matoski/adbm/service/ManagerService;->getResources()Landroid/content/res/Resources; │ │ move-result-object v9 │ │ const v10, 0x7f090014 │ │ invoke-virtual {v9, v10}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; │ @@ -506,20 +509,22 @@ │ │ aput-object v12, v10, v11 │ │ const/4 v11, 0x1 │ │ iget-wide v12, p0, Lcom/matoski/adbm/service/ManagerService;->mADBPort:J │ │ + .line 926 │ invoke-static {v12, v13}, Ljava/lang/Long;->toString(J)Ljava/lang/String; │ │ move-result-object v12 │ │ aput-object v12, v10, v11 │ │ + .line 924 │ invoke-static {v9, v10}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; │ │ move-result-object v8 │ │ .line 927 │ const v1, 0x7f020003 │ │ @@ -530,29 +535,30 @@ │ │ .line 937 │ invoke-virtual {v0, v7}, Landroid/support/v4/app/NotificationCompat$Builder;->setContentTitle(Ljava/lang/CharSequence;)Landroid/support/v4/app/NotificationCompat$Builder; │ │ .line 938 │ invoke-virtual {v0, v8}, Landroid/support/v4/app/NotificationCompat$Builder;->setContentText(Ljava/lang/CharSequence;)Landroid/support/v4/app/NotificationCompat$Builder; │ │ - .line 939 │ + .line 940 │ invoke-virtual {p0}, Lcom/matoski/adbm/service/ManagerService;->getApplicationContext()Landroid/content/Context; │ │ move-result-object v9 │ │ const/4 v10, 0x0 │ │ new-instance v11, Landroid/content/Intent; │ │ const-class v12, Lcom/matoski/adbm/activity/MainActivity; │ │ invoke-direct {v11, p0, v12}, Landroid/content/Intent;->(Landroid/content/Context;Ljava/lang/Class;)V │ │ const/4 v12, 0x0 │ │ + .line 939 │ invoke-static {v9, v10, v11, v12}, Landroid/app/PendingIntent;->getActivity(Landroid/content/Context;ILandroid/content/Intent;I)Landroid/app/PendingIntent; │ │ move-result-object v9 │ │ invoke-virtual {v0, v9}, Landroid/support/v4/app/NotificationCompat$Builder;->setContentIntent(Landroid/app/PendingIntent;)Landroid/support/v4/app/NotificationCompat$Builder; │ │ .line 943 │ @@ -601,26 +607,28 @@ │ const-string v10, "ADB_TOGGLE" │ │ invoke-virtual {v3, v9, v10}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent; │ │ .line 955 │ const v9, 0x7f0c0015 │ │ + .line 956 │ invoke-virtual {p0}, Lcom/matoski/adbm/service/ManagerService;->getApplicationContext()Landroid/content/Context; │ │ move-result-object v10 │ │ const/4 v11, 0x0 │ │ const/high16 v12, 0x8000000 │ │ invoke-static {v10, v11, v3, v12}, Landroid/app/PendingIntent;->getService(Landroid/content/Context;ILandroid/content/Intent;I)Landroid/app/PendingIntent; │ │ move-result-object v10 │ │ + .line 955 │ invoke-virtual {v6, v9, v10}, Landroid/widget/RemoteViews;->setOnClickPendingIntent(ILandroid/app/PendingIntent;)V │ │ .line 959 │ invoke-virtual {v0, v6}, Landroid/support/v4/app/NotificationCompat$Builder;->setContent(Landroid/widget/RemoteViews;)Landroid/support/v4/app/NotificationCompat$Builder; │ │ .line 961 │ invoke-virtual {v0}, Landroid/support/v4/app/NotificationCompat$Builder;->build()Landroid/app/Notification; │ @@ -786,14 +794,15 @@ │ │ const v3, 0x2000001a │ │ invoke-static {v2, v3, v1}, Lcom/matoski/adbm/service/ManagerService;->getInitialLock(Landroid/content/Context;IZ)Landroid/os/PowerManager$WakeLock; │ │ move-result-object v2 │ │ + .line 410 │ invoke-virtual {v2}, Landroid/os/PowerManager$WakeLock;->acquire()V │ │ .line 412 │ invoke-static {}, Lcom/matoski/adbm/service/ManagerService;->getLock()Landroid/os/PowerManager$WakeLock; │ │ move-result-object v2 │ │ @@ -823,28 +832,30 @@ │ │ const v3, 0x7f090015 │ │ const/4 v4, 0x1 │ │ new-array v4, v4, [Ljava/lang/Object; │ │ + .line 419 │ invoke-static {}, Lcom/matoski/adbm/service/ManagerService;->getLock()Landroid/os/PowerManager$WakeLock; │ │ move-result-object v5 │ │ invoke-virtual {v5}, Landroid/os/PowerManager$WakeLock;->isHeld()Z │ │ move-result v5 │ │ invoke-static {v5}, Ljava/lang/Boolean;->toString(Z)Ljava/lang/String; │ │ move-result-object v5 │ │ aput-object v5, v4, v1 │ │ + .line 418 │ invoke-virtual {v2, v3, v4}, Landroid/content/res/Resources;->getString(I[Ljava/lang/Object;)Ljava/lang/String; │ │ move-result-object v1 │ │ invoke-direct {p0, v1}, Lcom/matoski/adbm/service/ManagerService;->addItem(Ljava/lang/String;)V │ │ .line 421 │ @@ -975,20 +986,22 @@ │ │ iget-object v9, p0, Lcom/matoski/adbm/service/ManagerService;->preferences:Landroid/content/SharedPreferences; │ │ const-string v10, "wifi_list" │ │ const/4 v11, 0x0 │ │ + .line 507 │ invoke-interface {v9, v10, v11}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; │ │ move-result-object v9 │ │ iget-object v10, p0, Lcom/matoski/adbm/service/ManagerService;->gsonType:Ljava/lang/reflect/Type; │ │ + .line 506 │ invoke-virtual {v8, v9, v10}, Lcom/google/gson/Gson;->fromJson(Ljava/lang/String;Ljava/lang/reflect/Type;)Ljava/lang/Object; │ │ move-result-object v5 │ │ check-cast v5, Ljava/util/ArrayList; │ │ .line 510 │ @@ -1023,14 +1036,15 @@ │ :cond_0 │ const/4 v0, 0x0 │ │ .line 519 │ .local v0, "SSID":Ljava/lang/String; │ iget-object v8, p0, Lcom/matoski/adbm/service/ManagerService;->mConnectivityManager:Landroid/net/ConnectivityManager; │ │ + .line 520 │ invoke-virtual {v8, v7}, Landroid/net/ConnectivityManager;->getNetworkInfo(I)Landroid/net/NetworkInfo; │ │ move-result-object v4 │ │ .line 522 │ .local v4, "networkInfo":Landroid/net/NetworkInfo; │ invoke-virtual {v4}, Landroid/net/NetworkInfo;->isConnected()Z │ @@ -1349,26 +1363,28 @@ │ │ const-string v2, "Triggered notification update: " │ │ invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v1 │ │ + .line 597 │ invoke-static {p1}, Ljava/lang/Boolean;->toString(Z)Ljava/lang/String; │ │ move-result-object v2 │ │ invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v1 │ │ invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ │ move-result-object v1 │ │ + .line 596 │ invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I │ │ .line 599 │ invoke-virtual {p0}, Lcom/matoski/adbm/service/ManagerService;->getResources()Landroid/content/res/Resources; │ │ move-result-object v0 │ │ @@ -1376,20 +1392,22 @@ │ │ const/4 v2, 0x1 │ │ new-array v2, v2, [Ljava/lang/Object; │ │ const/4 v3, 0x0 │ │ + .line 601 │ invoke-static {p1}, Ljava/lang/Boolean;->toString(Z)Ljava/lang/String; │ │ move-result-object v4 │ │ aput-object v4, v2, v3 │ │ + .line 599 │ invoke-virtual {v0, v1, v2}, Landroid/content/res/Resources;->getString(I[Ljava/lang/Object;)Ljava/lang/String; │ │ move-result-object v0 │ │ invoke-direct {p0, v0}, Lcom/matoski/adbm/service/ManagerService;->addItem(Ljava/lang/String;)V │ │ .line 603 │ @@ -1441,20 +1459,22 @@ │ │ const v2, 0x7f09002a │ │ new-array v3, v6, [Ljava/lang/Object; │ │ const/4 v4, 0x0 │ │ + .line 628 │ invoke-static {v0}, Ljava/lang/Boolean;->toString(Z)Ljava/lang/String; │ │ move-result-object v5 │ │ aput-object v5, v3, v4 │ │ + .line 626 │ invoke-virtual {v1, v2, v3}, Landroid/content/res/Resources;->getString(I[Ljava/lang/Object;)Ljava/lang/String; │ │ move-result-object v1 │ │ invoke-direct {p0, v1}, Lcom/matoski/adbm/service/ManagerService;->addItem(Ljava/lang/String;)V │ │ .line 630 │ @@ -1491,14 +1511,15 @@ │ │ const-string v2, "Service bound to " │ │ invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v1 │ │ + .line 648 │ invoke-virtual {p1}, Landroid/content/Intent;->getComponent()Landroid/content/ComponentName; │ │ move-result-object v2 │ │ invoke-virtual {v2}, Landroid/content/ComponentName;->getClassName()Ljava/lang/String; │ │ move-result-object v2 │ @@ -1507,14 +1528,15 @@ │ │ move-result-object v1 │ │ invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ │ move-result-object v1 │ │ + .line 647 │ invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I │ │ .line 649 │ iget-object v0, p0, Lcom/matoski/adbm/service/ManagerService;->mBinder:Landroid/os/IBinder; │ │ return-object v0 │ .end method │ @@ -1549,27 +1571,28 @@ │ .line 664 │ invoke-static {p0}, Landroid/preference/PreferenceManager;->getDefaultSharedPreferences(Landroid/content/Context;)Landroid/content/SharedPreferences; │ │ move-result-object v0 │ │ iput-object v0, p0, Lcom/matoski/adbm/service/ManagerService;->preferences:Landroid/content/SharedPreferences; │ │ - .line 666 │ + .line 667 │ invoke-virtual {p0}, Lcom/matoski/adbm/service/ManagerService;->getBaseContext()Landroid/content/Context; │ │ move-result-object v0 │ │ const-string v1, "adb_port" │ │ const-wide/16 v2, 0x15b3 │ │ invoke-static {v2, v3}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long; │ │ move-result-object v2 │ │ + .line 666 │ invoke-static {v0, v1, v2}, Lcom/matoski/adbm/util/PreferenceUtil;->getString(Landroid/content/Context;Ljava/lang/String;Ljava/lang/Long;)Ljava/lang/String; │ │ move-result-object v0 │ │ invoke-static {v0}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J │ │ move-result-wide v0 │ @@ -1579,14 +1602,15 @@ │ .line 669 │ invoke-virtual {p0}, Lcom/matoski/adbm/service/ManagerService;->getApplicationContext()Landroid/content/Context; │ │ move-result-object v0 │ │ const-string v1, "connectivity" │ │ + .line 670 │ invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; │ │ move-result-object v0 │ │ check-cast v0, Landroid/net/ConnectivityManager; │ │ iput-object v0, p0, Lcom/matoski/adbm/service/ManagerService;->mConnectivityManager:Landroid/net/ConnectivityManager; │ @@ -1594,14 +1618,15 @@ │ .line 672 │ invoke-virtual {p0}, Lcom/matoski/adbm/service/ManagerService;->getApplicationContext()Landroid/content/Context; │ │ move-result-object v0 │ │ const-string v1, "wifi" │ │ + .line 673 │ invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; │ │ move-result-object v0 │ │ check-cast v0, Landroid/net/wifi/WifiManager; │ │ iput-object v0, p0, Lcom/matoski/adbm/service/ManagerService;->mWifiManager:Landroid/net/wifi/WifiManager; │ @@ -1635,14 +1660,15 @@ │ │ invoke-direct {v0}, Lcom/google/gson/GsonBuilder;->()V │ │ invoke-virtual {v0}, Lcom/google/gson/GsonBuilder;->excludeFieldsWithoutExposeAnnotation()Lcom/google/gson/GsonBuilder; │ │ move-result-object v0 │ │ + .line 683 │ invoke-virtual {v0}, Lcom/google/gson/GsonBuilder;->serializeNulls()Lcom/google/gson/GsonBuilder; │ │ move-result-object v0 │ │ invoke-virtual {v0}, Lcom/google/gson/GsonBuilder;->create()Lcom/google/gson/Gson; │ │ move-result-object v0 │ @@ -1650,14 +1676,15 @@ │ iput-object v0, p0, Lcom/matoski/adbm/service/ManagerService;->gson:Lcom/google/gson/Gson; │ │ .line 685 │ new-instance v0, Lcom/matoski/adbm/service/ManagerService$1; │ │ invoke-direct {v0, p0}, Lcom/matoski/adbm/service/ManagerService$1;->(Lcom/matoski/adbm/service/ManagerService;)V │ │ + .line 686 │ invoke-virtual {v0}, Lcom/matoski/adbm/service/ManagerService$1;->getType()Ljava/lang/reflect/Type; │ │ move-result-object v0 │ │ iput-object v0, p0, Lcom/matoski/adbm/service/ManagerService;->gsonType:Ljava/lang/reflect/Type; │ │ .line 688 │ @@ -1728,14 +1755,15 @@ │ │ const-string v2, "Service rebound to " │ │ invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v1 │ │ + .line 718 │ invoke-virtual {p1}, Landroid/content/Intent;->getComponent()Landroid/content/ComponentName; │ │ move-result-object v2 │ │ invoke-virtual {v2}, Landroid/content/ComponentName;->getClassName()Ljava/lang/String; │ │ move-result-object v2 │ @@ -1744,14 +1772,15 @@ │ │ move-result-object v1 │ │ invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ │ move-result-object v1 │ │ + .line 717 │ invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I │ │ .line 719 │ invoke-super {p0, p1}, Landroid/app/Service;->onRebind(Landroid/content/Intent;)V │ │ .line 720 │ return-void │ @@ -1992,14 +2021,15 @@ │ │ goto :goto_1 │ │ .line 765 │ :cond_7 │ const-string v3, "UPDATE_NOTIFICATION" │ │ + .line 766 │ invoke-virtual {v0, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z │ │ move-result v3 │ │ if-eqz v3, :cond_8 │ │ .line 767 │ @@ -2022,14 +2052,15 @@ │ │ goto/16 :goto_1 │ │ .line 770 │ :cond_9 │ const-string v3, "UPDATE_NOTIFICATION_NETWORK_ADB" │ │ + .line 771 │ invoke-virtual {v0, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z │ │ move-result v3 │ │ if-eqz v3, :cond_a │ │ .line 772 │ @@ -2046,20 +2077,22 @@ │ move-result v3 │ │ if-eqz v3, :cond_b │ │ .line 774 │ const-string v3, "appWidgetIds" │ │ + .line 775 │ invoke-virtual {v2, v3}, Landroid/os/Bundle;->getIntArray(Ljava/lang/String;)[I │ │ move-result-object v3 │ │ iget-boolean v4, p0, Lcom/matoski/adbm/service/ManagerService;->bNetworkADBStatus:Z │ │ + .line 774 │ invoke-virtual {p0, v3, v4}, Lcom/matoski/adbm/service/ManagerService;->updateWidgets([IZ)V │ │ goto/16 :goto_1 │ │ .line 777 │ :cond_b │ const-string v3, "WAKELOCK_ACQUIRE" │ @@ -2144,14 +2177,15 @@ │ │ const-string v2, "Service unbound from " │ │ invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v1 │ │ + .line 803 │ invoke-virtual {p1}, Landroid/content/Intent;->getComponent()Landroid/content/ComponentName; │ │ move-result-object v2 │ │ invoke-virtual {v2}, Landroid/content/ComponentName;->getClassName()Ljava/lang/String; │ │ move-result-object v2 │ @@ -2160,14 +2194,15 @@ │ │ move-result-object v1 │ │ invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ │ move-result-object v1 │ │ + .line 802 │ invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I │ │ .line 804 │ invoke-super {p0, p1}, Landroid/app/Service;->onUnbind(Landroid/content/Intent;)Z │ │ move-result v0 │ │ @@ -2217,14 +2252,15 @@ │ │ const-string v4, "Releasing Wake Lock: " │ │ invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v4 │ │ + .line 824 │ invoke-static {}, Lcom/matoski/adbm/service/ManagerService;->getLock()Landroid/os/PowerManager$WakeLock; │ │ move-result-object v0 │ │ invoke-virtual {v0}, Landroid/os/PowerManager$WakeLock;->isHeld()Z │ │ move-result v0 │ @@ -2242,25 +2278,27 @@ │ │ move-result-object v0 │ │ invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ │ move-result-object v0 │ │ + .line 823 │ invoke-static {v3, v0}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I │ │ .line 826 │ invoke-virtual {p0}, Lcom/matoski/adbm/service/ManagerService;->getResources()Landroid/content/res/Resources; │ │ move-result-object v3 │ │ const v4, 0x7f090023 │ │ new-array v5, v1, [Ljava/lang/Object; │ │ + .line 827 │ invoke-static {}, Lcom/matoski/adbm/service/ManagerService;->getLock()Landroid/os/PowerManager$WakeLock; │ │ move-result-object v0 │ │ invoke-virtual {v0}, Landroid/os/PowerManager$WakeLock;->isHeld()Z │ │ move-result v0 │ @@ -2272,35 +2310,36 @@ │ :goto_2 │ invoke-static {v0}, Ljava/lang/Boolean;->toString(Z)Ljava/lang/String; │ │ move-result-object v0 │ │ aput-object v0, v5, v2 │ │ + .line 826 │ invoke-virtual {v3, v4, v5}, Landroid/content/res/Resources;->getString(I[Ljava/lang/Object;)Ljava/lang/String; │ │ move-result-object v0 │ │ invoke-direct {p0, v0}, Lcom/matoski/adbm/service/ManagerService;->addItem(Ljava/lang/String;)V │ │ move v2, v1 │ │ .line 829 │ goto :goto_0 │ │ :cond_1 │ move v0, v2 │ │ - .line 823 │ + .line 824 │ goto :goto_1 │ │ :cond_2 │ move v0, v2 │ │ - .line 826 │ + .line 827 │ goto :goto_2 │ .end method │ │ .method public removeHandler()V │ .locals 1 │ │ .prologue │ @@ -2310,76 +2349,72 @@ │ iput-object v0, p0, Lcom/matoski/adbm/service/ManagerService;->handler:Lcom/matoski/adbm/interfaces/IMessageHandler; │ │ .line 873 │ return-void │ .end method │ │ .method public setHandler(Lcom/matoski/adbm/interfaces/IMessageHandler;)V │ - .locals 7 │ + .locals 5 │ .param p1, "handler" # Lcom/matoski/adbm/interfaces/IMessageHandler; │ │ .prologue │ .line 859 │ iput-object p1, p0, Lcom/matoski/adbm/service/ManagerService;->handler:Lcom/matoski/adbm/interfaces/IMessageHandler; │ │ .line 860 │ - iget-object v5, p0, Lcom/matoski/adbm/service/ManagerService;->_add_items:Ljava/util/List; │ + iget-object v2, p0, Lcom/matoski/adbm/service/ManagerService;->_add_items:Ljava/util/List; │ │ - iget-object v6, p0, Lcom/matoski/adbm/service/ManagerService;->_add_items:Ljava/util/List; │ + iget-object v3, p0, Lcom/matoski/adbm/service/ManagerService;->_add_items:Ljava/util/List; │ │ - invoke-interface {v6}, Ljava/util/List;->size()I │ + .line 861 │ + invoke-interface {v3}, Ljava/util/List;->size()I │ │ - move-result v6 │ + move-result v3 │ │ - new-array v6, v6, [Ljava/lang/String; │ + new-array v3, v3, [Ljava/lang/String; │ │ - invoke-interface {v5, v6}, Ljava/util/List;->toArray([Ljava/lang/Object;)[Ljava/lang/Object; │ + invoke-interface {v2, v3}, Ljava/util/List;->toArray([Ljava/lang/Object;)[Ljava/lang/Object; │ │ - move-result-object v5 │ + move-result-object v2 │ │ - check-cast v5, [Ljava/lang/String; │ + check-cast v2, [Ljava/lang/String; │ │ - move-object v4, v5 │ + move-object v1, v2 │ │ - check-cast v4, [Ljava/lang/String; │ + check-cast v1, [Ljava/lang/String; │ │ .line 862 │ - .local v4, "messages":[Ljava/lang/String; │ - iget-object v5, p0, Lcom/matoski/adbm/service/ManagerService;->_add_items:Ljava/util/List; │ + .local v1, "messages":[Ljava/lang/String; │ + iget-object v2, p0, Lcom/matoski/adbm/service/ManagerService;->_add_items:Ljava/util/List; │ │ - invoke-interface {v5}, Ljava/util/List;->clear()V │ + invoke-interface {v2}, Ljava/util/List;->clear()V │ │ .line 863 │ - move-object v0, v4 │ + array-length v3, v1 │ │ - .local v0, "arr$":[Ljava/lang/String; │ - array-length v2, v0 │ - │ - .local v2, "len$":I │ - const/4 v1, 0x0 │ + const/4 v2, 0x0 │ │ - .local v1, "i$":I │ :goto_0 │ - if-ge v1, v2, :cond_0 │ + if-ge v2, v3, :cond_0 │ │ - aget-object v3, v0, v1 │ + aget-object v0, v1, v2 │ │ .line 864 │ - .local v3, "message":Ljava/lang/String; │ - iget-object v5, p0, Lcom/matoski/adbm/service/ManagerService;->handler:Lcom/matoski/adbm/interfaces/IMessageHandler; │ + .local v0, "message":Ljava/lang/String; │ + iget-object v4, p0, Lcom/matoski/adbm/service/ManagerService;->handler:Lcom/matoski/adbm/interfaces/IMessageHandler; │ │ - invoke-interface {v5, v3}, Lcom/matoski/adbm/interfaces/IMessageHandler;->message(Ljava/lang/String;)V │ + invoke-interface {v4, v0}, Lcom/matoski/adbm/interfaces/IMessageHandler;->message(Ljava/lang/String;)V │ │ .line 863 │ - add-int/lit8 v1, v1, 0x1 │ + add-int/lit8 v2, v2, 0x1 │ │ goto :goto_0 │ │ .line 866 │ - .end local v3 # "message":Ljava/lang/String; │ + .end local v0 # "message":Ljava/lang/String; │ :cond_0 │ return-void │ .end method │ │ .method public startNetworkADB()V │ .locals 9 │ │ @@ -2392,39 +2427,42 @@ │ const-string v2, "Starting network ADB." │ │ invoke-static {v1, v2}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I │ │ .line 985 │ iget-object v1, p0, Lcom/matoski/adbm/service/ManagerService;->mConnectivityManager:Landroid/net/ConnectivityManager; │ │ + .line 986 │ invoke-virtual {v1, v8}, Landroid/net/ConnectivityManager;->getNetworkInfo(I)Landroid/net/NetworkInfo; │ │ move-result-object v0 │ │ .line 988 │ .local v0, "networkInfo":Landroid/net/NetworkInfo; │ invoke-virtual {v0}, Landroid/net/NetworkInfo;->isConnected()Z │ │ move-result v1 │ │ if-eqz v1, :cond_0 │ │ - .line 990 │ + .line 991 │ invoke-virtual {p0}, Lcom/matoski/adbm/service/ManagerService;->getBaseContext()Landroid/content/Context; │ │ move-result-object v1 │ │ const-string v2, "adb_port" │ │ const-wide/16 v4, 0x15b3 │ │ + .line 992 │ invoke-static {v4, v5}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long; │ │ move-result-object v3 │ │ + .line 990 │ invoke-static {v1, v2, v3}, Lcom/matoski/adbm/util/PreferenceUtil;->getString(Landroid/content/Context;Ljava/lang/String;Ljava/lang/Long;)Ljava/lang/String; │ │ move-result-object v1 │ │ invoke-static {v1}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J │ │ move-result-wide v2 │ @@ -2450,14 +2488,15 @@ │ │ invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v4 │ │ iget-wide v6, p0, Lcom/matoski/adbm/service/ManagerService;->mADBPort:J │ │ + .line 995 │ invoke-static {v6, v7}, Ljava/lang/Long;->toString(J)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 │ @@ -2474,14 +2513,15 @@ │ │ const/4 v3, 0x2 │ │ const-string v4, "start adbd" │ │ aput-object v4, v2, v3 │ │ + .line 993 │ invoke-virtual {v1, v2}, Lcom/matoski/adbm/service/ManagerService$MyRootCommandExecuter;->execute([Ljava/lang/Object;)Landroid/os/AsyncTask; │ │ .line 1002 │ :goto_0 │ return-void │ │ .line 998 │ @@ -2582,18 +2622,20 @@ │ │ .method public updateWidgets(Z)V │ .locals 5 │ .param p1, "isNetworkADBRunning" # Z │ │ .prologue │ .line 1064 │ + .line 1065 │ invoke-virtual {p0}, Lcom/matoski/adbm/service/ManagerService;->getApplicationContext()Landroid/content/Context; │ │ move-result-object v3 │ │ + .line 1064 │ invoke-static {v3}, Landroid/appwidget/AppWidgetManager;->getInstance(Landroid/content/Context;)Landroid/appwidget/AppWidgetManager; │ │ move-result-object v1 │ │ .line 1067 │ .local v1, "appWidgetManager":Landroid/appwidget/AppWidgetManager; │ new-instance v2, Landroid/content/ComponentName; │ @@ -2619,350 +2661,334 @@ │ invoke-virtual {p0, v0, v3}, Lcom/matoski/adbm/service/ManagerService;->updateWidgets([IZ)V │ │ .line 1073 │ return-void │ .end method │ │ .method public updateWidgets([IZ)V │ - .locals 20 │ + .locals 19 │ .param p1, "allWidgetsIds" # [I │ .param p2, "isNetworkADBRunning" # Z │ │ .prologue │ .line 1086 │ + .line 1087 │ invoke-virtual/range {p0 .. p0}, Lcom/matoski/adbm/service/ManagerService;->getApplicationContext()Landroid/content/Context; │ │ - move-result-object v15 │ + move-result-object v12 │ │ - invoke-static {v15}, Landroid/appwidget/AppWidgetManager;->getInstance(Landroid/content/Context;)Landroid/appwidget/AppWidgetManager; │ + .line 1086 │ + invoke-static {v12}, Landroid/appwidget/AppWidgetManager;->getInstance(Landroid/content/Context;)Landroid/appwidget/AppWidgetManager; │ │ - move-result-object v14 │ + move-result-object v11 │ │ .line 1089 │ - .local v14, "widgetManager":Landroid/appwidget/AppWidgetManager; │ + .local v11, "widgetManager":Landroid/appwidget/AppWidgetManager; │ move-object/from16 v0, p0 │ │ - iget-object v15, v0, Lcom/matoski/adbm/service/ManagerService;->mConnectivityManager:Landroid/net/ConnectivityManager; │ + iget-object v12, v0, Lcom/matoski/adbm/service/ManagerService;->mConnectivityManager:Landroid/net/ConnectivityManager; │ │ - const/16 v16, 0x1 │ + const/4 v13, 0x1 │ │ - invoke-virtual/range {v15 .. v16}, Landroid/net/ConnectivityManager;->getNetworkInfo(I)Landroid/net/NetworkInfo; │ + .line 1090 │ + invoke-virtual {v12, v13}, Landroid/net/ConnectivityManager;->getNetworkInfo(I)Landroid/net/NetworkInfo; │ │ - move-result-object v8 │ + move-result-object v5 │ │ .line 1092 │ - .local v8, "networkInfo":Landroid/net/NetworkInfo; │ - sget-object v15, Lcom/matoski/adbm/service/ManagerService;->LOG_TAG:Ljava/lang/String; │ + .local v5, "networkInfo":Landroid/net/NetworkInfo; │ + sget-object v12, Lcom/matoski/adbm/service/ManagerService;->LOG_TAG:Ljava/lang/String; │ │ - const-string v16, "Updating widgets through the service" │ + const-string v13, "Updating widgets through the service" │ │ - invoke-static/range {v15 .. v16}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I │ + invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I │ │ .line 1093 │ - sget-object v15, Lcom/matoski/adbm/service/ManagerService;->LOG_TAG:Ljava/lang/String; │ + sget-object v12, Lcom/matoski/adbm/service/ManagerService;->LOG_TAG:Ljava/lang/String; │ │ - const-string v16, "Widget has queued for been updated: %s" │ + const-string v13, "Widget has queued for been updated: %s" │ │ - const/16 v17, 0x1 │ + const/4 v14, 0x1 │ │ - move/from16 v0, v17 │ - │ - new-array v0, v0, [Ljava/lang/Object; │ + new-array v14, v14, [Ljava/lang/Object; │ │ - move-object/from16 v17, v0 │ + const/4 v15, 0x0 │ │ - const/16 v18, 0x0 │ - │ - const-string v19, "," │ + const-string v16, "," │ │ + .line 1094 │ move-object/from16 v0, p1 │ │ - move-object/from16 v1, v19 │ + move-object/from16 v1, v16 │ │ invoke-static {v0, v1}, Lcom/matoski/adbm/util/ArrayUtils;->join([ILjava/lang/String;)Ljava/lang/String; │ │ - move-result-object v19 │ + move-result-object v16 │ │ - aput-object v19, v17, v18 │ + aput-object v16, v14, v15 │ │ - invoke-static/range {v16 .. v17}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; │ + .line 1093 │ + invoke-static {v13, v14}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; │ │ - move-result-object v16 │ + move-result-object v13 │ │ - invoke-static/range {v15 .. v16}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I │ + invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I │ │ .line 1096 │ invoke-static {}, Lcom/matoski/adbm/util/NetworkUtil;->getLocalAddress()Lcom/matoski/adbm/pojo/IP; │ │ - move-result-object v5 │ + move-result-object v3 │ │ .line 1098 │ - .local v5, "ip":Lcom/matoski/adbm/pojo/IP; │ + .local v3, "ip":Lcom/matoski/adbm/pojo/IP; │ invoke-virtual/range {p0 .. p0}, Lcom/matoski/adbm/service/ManagerService;->getResources()Landroid/content/res/Resources; │ │ - move-result-object v15 │ + move-result-object v12 │ │ - const v16, 0x7f090064 │ + const v13, 0x7f090064 │ │ - invoke-virtual/range {v15 .. v16}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; │ + invoke-virtual {v12, v13}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; │ │ - move-result-object v11 │ + move-result-object v8 │ │ .line 1100 │ - .local v11, "stringADB":Ljava/lang/String; │ + .local v8, "stringADB":Ljava/lang/String; │ invoke-virtual/range {p0 .. p0}, Lcom/matoski/adbm/service/ManagerService;->getResources()Landroid/content/res/Resources; │ │ - move-result-object v15 │ + move-result-object v12 │ │ - const v16, 0x7f090066 │ + const v13, 0x7f090066 │ │ - invoke-virtual/range {v15 .. v16}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; │ + invoke-virtual {v12, v13}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; │ │ - move-result-object v12 │ + move-result-object v9 │ │ .line 1103 │ - .local v12, "stringIP":Ljava/lang/String; │ - const v4, 0x7f020005 │ + .local v9, "stringIP":Ljava/lang/String; │ + const v2, 0x7f020005 │ │ .line 1105 │ - .local v4, "imageViewId":I │ - invoke-virtual {v8}, Landroid/net/NetworkInfo;->isConnected()Z │ + .local v2, "imageViewId":I │ + invoke-virtual {v5}, Landroid/net/NetworkInfo;->isConnected()Z │ │ - move-result v15 │ + move-result v12 │ │ - if-eqz v15, :cond_0 │ + if-eqz v12, :cond_0 │ │ .line 1107 │ if-eqz p2, :cond_1 │ │ .line 1108 │ invoke-virtual/range {p0 .. p0}, Lcom/matoski/adbm/service/ManagerService;->getResources()Landroid/content/res/Resources; │ │ - move-result-object v15 │ + move-result-object v12 │ │ - const v16, 0x7f090065 │ + const v13, 0x7f090065 │ │ - invoke-virtual/range {v15 .. v16}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; │ + invoke-virtual {v12, v13}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; │ │ - move-result-object v11 │ + move-result-object v8 │ │ - .line 1110 │ + .line 1111 │ invoke-virtual/range {p0 .. p0}, Lcom/matoski/adbm/service/ManagerService;->getResources()Landroid/content/res/Resources; │ │ - move-result-object v15 │ - │ - const v16, 0x7f090014 │ - │ - invoke-virtual/range {v15 .. v16}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; │ + move-result-object v12 │ │ - move-result-object v15 │ + const v13, 0x7f090014 │ │ - const/16 v16, 0x2 │ + invoke-virtual {v12, v13}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; │ │ - move/from16 v0, v16 │ + move-result-object v12 │ │ - new-array v0, v0, [Ljava/lang/Object; │ + const/4 v13, 0x2 │ │ - move-object/from16 v16, v0 │ + new-array v13, v13, [Ljava/lang/Object; │ │ - const/16 v17, 0x0 │ + const/4 v14, 0x0 │ │ - iget-object v0, v5, Lcom/matoski/adbm/pojo/IP;->ipv4:Ljava/lang/String; │ + iget-object v15, v3, Lcom/matoski/adbm/pojo/IP;->ipv4:Ljava/lang/String; │ │ - move-object/from16 v18, v0 │ + aput-object v15, v13, v14 │ │ - aput-object v18, v16, v17 │ - │ - const/16 v17, 0x1 │ + const/4 v14, 0x1 │ │ move-object/from16 v0, p0 │ │ iget-wide v0, v0, Lcom/matoski/adbm/service/ManagerService;->mADBPort:J │ │ - move-wide/from16 v18, v0 │ + move-wide/from16 v16, v0 │ │ - invoke-static/range {v18 .. v19}, Ljava/lang/Long;->toString(J)Ljava/lang/String; │ + .line 1112 │ + invoke-static/range {v16 .. v17}, Ljava/lang/Long;->toString(J)Ljava/lang/String; │ │ - move-result-object v18 │ + move-result-object v15 │ │ - aput-object v18, v16, v17 │ + aput-object v15, v13, v14 │ │ - invoke-static/range {v15 .. v16}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; │ + .line 1110 │ + invoke-static {v12, v13}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; │ │ - move-result-object v12 │ + move-result-object v9 │ │ .line 1113 │ - const v4, 0x7f020007 │ + const v2, 0x7f020007 │ │ .line 1121 │ :cond_0 │ :goto_0 │ - move-object/from16 v2, p1 │ + move-object/from16 v0, p1 │ │ - .local v2, "arr$":[I │ - array-length v6, v2 │ + array-length v13, v0 │ │ - .local v6, "len$":I │ - const/4 v3, 0x0 │ + const/4 v12, 0x0 │ │ - .local v3, "i$":I │ :goto_1 │ - if-ge v3, v6, :cond_2 │ + if-ge v12, v13, :cond_2 │ │ - aget v13, v2, v3 │ + aget v10, p1, v12 │ │ .line 1123 │ - .local v13, "widgetId":I │ - new-instance v10, Landroid/widget/RemoteViews; │ + .local v10, "widgetId":I │ + new-instance v7, Landroid/widget/RemoteViews; │ │ invoke-virtual/range {p0 .. p0}, Lcom/matoski/adbm/service/ManagerService;->getApplicationContext()Landroid/content/Context; │ │ - move-result-object v15 │ - │ - invoke-virtual {v15}, Landroid/content/Context;->getPackageName()Ljava/lang/String; │ + move-result-object v14 │ │ - move-result-object v15 │ + .line 1124 │ + invoke-virtual {v14}, Landroid/content/Context;->getPackageName()Ljava/lang/String; │ │ - const v16, 0x7f030002 │ + move-result-object v14 │ │ - move/from16 v0, v16 │ + const v15, 0x7f030002 │ │ - invoke-direct {v10, v15, v0}, Landroid/widget/RemoteViews;->(Ljava/lang/String;I)V │ + invoke-direct {v7, v14, v15}, Landroid/widget/RemoteViews;->(Ljava/lang/String;I)V │ │ .line 1126 │ - .local v10, "remoteView":Landroid/widget/RemoteViews; │ - const v15, 0x7f0c0016 │ + .local v7, "remoteView":Landroid/widget/RemoteViews; │ + const v14, 0x7f0c0016 │ │ - invoke-virtual {v10, v15, v11}, Landroid/widget/RemoteViews;->setTextViewText(ILjava/lang/CharSequence;)V │ + invoke-virtual {v7, v14, v8}, Landroid/widget/RemoteViews;->setTextViewText(ILjava/lang/CharSequence;)V │ │ .line 1127 │ - const v15, 0x7f0c0017 │ + const v14, 0x7f0c0017 │ │ - invoke-virtual {v10, v15, v12}, Landroid/widget/RemoteViews;->setTextViewText(ILjava/lang/CharSequence;)V │ + invoke-virtual {v7, v14, v9}, Landroid/widget/RemoteViews;->setTextViewText(ILjava/lang/CharSequence;)V │ │ .line 1128 │ - const v15, 0x7f0c0015 │ + const v14, 0x7f0c0015 │ │ - invoke-virtual {v10, v15, v4}, Landroid/widget/RemoteViews;->setImageViewResource(II)V │ + invoke-virtual {v7, v14, v2}, Landroid/widget/RemoteViews;->setImageViewResource(II)V │ │ .line 1131 │ - new-instance v7, Landroid/content/Intent; │ + new-instance v4, Landroid/content/Intent; │ │ invoke-virtual/range {p0 .. p0}, Lcom/matoski/adbm/service/ManagerService;->getApplicationContext()Landroid/content/Context; │ │ - move-result-object v15 │ - │ - const-class v16, Lcom/matoski/adbm/service/ManagerService; │ + move-result-object v14 │ │ - move-object/from16 v0, v16 │ + const-class v15, Lcom/matoski/adbm/service/ManagerService; │ │ - invoke-direct {v7, v15, v0}, Landroid/content/Intent;->(Landroid/content/Context;Ljava/lang/Class;)V │ + invoke-direct {v4, v14, v15}, Landroid/content/Intent;->(Landroid/content/Context;Ljava/lang/Class;)V │ │ .line 1133 │ - .local v7, "mServiceIntent":Landroid/content/Intent; │ - const-string v15, "ADB_TOGGLE" │ + .local v4, "mServiceIntent":Landroid/content/Intent; │ + const-string v14, "ADB_TOGGLE" │ │ - invoke-virtual {v7, v15}, Landroid/content/Intent;->setAction(Ljava/lang/String;)Landroid/content/Intent; │ + invoke-virtual {v4, v14}, Landroid/content/Intent;->setAction(Ljava/lang/String;)Landroid/content/Intent; │ │ .line 1134 │ - const-string v15, "action" │ - │ - const-string v16, "ADB_TOGGLE" │ + const-string v14, "action" │ │ - move-object/from16 v0, v16 │ + const-string v15, "ADB_TOGGLE" │ │ - invoke-virtual {v7, v15, v0}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent; │ + invoke-virtual {v4, v14, v15}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent; │ │ - .line 1137 │ + .line 1138 │ invoke-virtual/range {p0 .. p0}, Lcom/matoski/adbm/service/ManagerService;->getApplicationContext()Landroid/content/Context; │ │ - move-result-object v15 │ + move-result-object v14 │ │ - const/16 v16, 0x0 │ + const/4 v15, 0x0 │ │ - const/high16 v17, 0x8000000 │ + const/high16 v16, 0x8000000 │ │ + .line 1137 │ move/from16 v0, v16 │ │ - move/from16 v1, v17 │ - │ - invoke-static {v15, v0, v7, v1}, Landroid/app/PendingIntent;->getService(Landroid/content/Context;ILandroid/content/Intent;I)Landroid/app/PendingIntent; │ + invoke-static {v14, v15, v4, v0}, Landroid/app/PendingIntent;->getService(Landroid/content/Context;ILandroid/content/Intent;I)Landroid/app/PendingIntent; │ │ - move-result-object v9 │ + move-result-object v6 │ │ .line 1141 │ - .local v9, "pendingIntent":Landroid/app/PendingIntent; │ - const v15, 0x7f0c0015 │ + .local v6, "pendingIntent":Landroid/app/PendingIntent; │ + const v14, 0x7f0c0015 │ │ - invoke-virtual {v10, v15, v9}, Landroid/widget/RemoteViews;->setOnClickPendingIntent(ILandroid/app/PendingIntent;)V │ + invoke-virtual {v7, v14, v6}, Landroid/widget/RemoteViews;->setOnClickPendingIntent(ILandroid/app/PendingIntent;)V │ │ .line 1144 │ invoke-virtual/range {p0 .. p0}, Lcom/matoski/adbm/service/ManagerService;->getResources()Landroid/content/res/Resources; │ │ - move-result-object v15 │ + move-result-object v14 │ │ - const v16, 0x7f09002f │ + const v15, 0x7f09002f │ │ - const/16 v17, 0x1 │ + const/16 v16, 0x1 │ │ - move/from16 v0, v17 │ + move/from16 v0, v16 │ │ new-array v0, v0, [Ljava/lang/Object; │ │ - move-object/from16 v17, v0 │ + move-object/from16 v16, v0 │ │ - const/16 v18, 0x0 │ + const/16 v17, 0x0 │ │ - invoke-static {v13}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; │ + .line 1145 │ + invoke-static {v10}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; │ │ - move-result-object v19 │ + move-result-object v18 │ │ - aput-object v19, v17, v18 │ + aput-object v18, v16, v17 │ │ - invoke-virtual/range {v15 .. v17}, Landroid/content/res/Resources;->getString(I[Ljava/lang/Object;)Ljava/lang/String; │ + .line 1144 │ + invoke-virtual/range {v14 .. v16}, Landroid/content/res/Resources;->getString(I[Ljava/lang/Object;)Ljava/lang/String; │ │ - move-result-object v15 │ + move-result-object v14 │ │ move-object/from16 v0, p0 │ │ - invoke-direct {v0, v15}, Lcom/matoski/adbm/service/ManagerService;->addItem(Ljava/lang/String;)V │ + invoke-direct {v0, v14}, Lcom/matoski/adbm/service/ManagerService;->addItem(Ljava/lang/String;)V │ │ .line 1146 │ - invoke-virtual {v14, v13, v10}, Landroid/appwidget/AppWidgetManager;->updateAppWidget(ILandroid/widget/RemoteViews;)V │ + invoke-virtual {v11, v10, v7}, Landroid/appwidget/AppWidgetManager;->updateAppWidget(ILandroid/widget/RemoteViews;)V │ │ .line 1121 │ - add-int/lit8 v3, v3, 0x1 │ + add-int/lit8 v12, v12, 0x1 │ │ goto :goto_1 │ │ .line 1115 │ - .end local v2 # "arr$":[I │ - .end local v3 # "i$":I │ - .end local v6 # "len$":I │ - .end local v7 # "mServiceIntent":Landroid/content/Intent; │ - .end local v9 # "pendingIntent":Landroid/app/PendingIntent; │ - .end local v10 # "remoteView":Landroid/widget/RemoteViews; │ - .end local v13 # "widgetId":I │ + .end local v4 # "mServiceIntent":Landroid/content/Intent; │ + .end local v6 # "pendingIntent":Landroid/app/PendingIntent; │ + .end local v7 # "remoteView":Landroid/widget/RemoteViews; │ + .end local v10 # "widgetId":I │ :cond_1 │ invoke-virtual/range {p0 .. p0}, Lcom/matoski/adbm/service/ManagerService;->getResources()Landroid/content/res/Resources; │ │ - move-result-object v15 │ + move-result-object v12 │ │ - const v16, 0x7f090067 │ + const v13, 0x7f090067 │ │ - invoke-virtual/range {v15 .. v16}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; │ + invoke-virtual {v12, v13}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; │ │ - move-result-object v12 │ + move-result-object v9 │ │ goto/16 :goto_0 │ │ .line 1149 │ - .restart local v2 # "arr$":[I │ - .restart local v3 # "i$":I │ - .restart local v6 # "len$":I │ :cond_2 │ return-void │ .end method │ │ .method public wakeUpPhone()V │ .locals 7 │ │ @@ -2996,14 +3022,15 @@ │ │ move-result-object v6 │ │ iget-boolean v3, p0, Lcom/matoski/adbm/service/ManagerService;->bNetworkADBStatus:Z │ │ if-eqz v3, :cond_1 │ │ + .line 1168 │ invoke-virtual {v0}, Ljava/lang/Boolean;->booleanValue()Z │ │ move-result v3 │ │ if-eqz v3, :cond_1 │ │ const/4 v3, 0x1 │ @@ -3017,14 +3044,15 @@ │ │ move-result-object v3 │ │ invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ │ move-result-object v3 │ │ + .line 1165 │ invoke-static {v5, v3}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I │ │ .line 1170 │ iget-boolean v3, p0, Lcom/matoski/adbm/service/ManagerService;->bNetworkADBStatus:Z │ │ if-eqz v3, :cond_0 │ │ @@ -3038,15 +3066,15 @@ │ :cond_0 │ :goto_1 │ return-void │ │ :cond_1 │ move v3, v4 │ │ - .line 1165 │ + .line 1168 │ goto :goto_0 │ │ .line 1174 │ :cond_2 │ const-string v3, "power" │ │ invoke-virtual {p0, v3}, Lcom/matoski/adbm/service/ManagerService;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; ├── smali/com/matoski/adbm/service/ManagerService$MyToggleNetworkAdb.smali │ @@ -180,73 +180,64 @@ │ :pswitch_0 │ :pswitch_1 │ .end packed-switch │ .end method │ │ .method protected bridge synthetic onPostExecute(Ljava/lang/Object;)V │ .locals 0 │ - .param p1, "x0" # Ljava/lang/Object; │ │ .prologue │ .line 184 │ check-cast p1, Lcom/matoski/adbm/enums/AdbStateEnum; │ │ - .end local p1 # "x0":Ljava/lang/Object; │ invoke-virtual {p0, p1}, Lcom/matoski/adbm/service/ManagerService$MyToggleNetworkAdb;->onPostExecute(Lcom/matoski/adbm/enums/AdbStateEnum;)V │ │ return-void │ .end method │ │ .method protected bridge synthetic onProgressUpdate([Ljava/lang/Object;)V │ .locals 0 │ - .param p1, "x0" # [Ljava/lang/Object; │ │ .prologue │ .line 184 │ check-cast p1, [Ljava/lang/String; │ │ - .end local p1 # "x0":[Ljava/lang/Object; │ invoke-virtual {p0, p1}, Lcom/matoski/adbm/service/ManagerService$MyToggleNetworkAdb;->onProgressUpdate([Ljava/lang/String;)V │ │ return-void │ .end method │ │ .method protected varargs onProgressUpdate([Ljava/lang/String;)V │ - .locals 5 │ + .locals 4 │ .param p1, "messages" # [Ljava/lang/String; │ │ .prologue │ .line 234 │ invoke-super {p0, p1}, Lcom/matoski/adbm/tasks/NetworkStatusChecker;->onProgressUpdate([Ljava/lang/Object;)V │ │ .line 235 │ - move-object v0, p1 │ + array-length v2, p1 │ │ - .local v0, "arr$":[Ljava/lang/String; │ - array-length v2, v0 │ - │ - .local v2, "len$":I │ const/4 v1, 0x0 │ │ - .local v1, "i$":I │ :goto_0 │ if-ge v1, v2, :cond_0 │ │ - aget-object v3, v0, v1 │ + aget-object v0, p1, v1 │ │ .line 236 │ - .local v3, "message":Ljava/lang/String; │ - iget-object v4, p0, Lcom/matoski/adbm/service/ManagerService$MyToggleNetworkAdb;->this$0:Lcom/matoski/adbm/service/ManagerService; │ + .local v0, "message":Ljava/lang/String; │ + iget-object v3, p0, Lcom/matoski/adbm/service/ManagerService$MyToggleNetworkAdb;->this$0:Lcom/matoski/adbm/service/ManagerService; │ │ # invokes: Lcom/matoski/adbm/service/ManagerService;->addItem(Ljava/lang/String;)V │ - invoke-static {v4, v3}, Lcom/matoski/adbm/service/ManagerService;->access$300(Lcom/matoski/adbm/service/ManagerService;Ljava/lang/String;)V │ + invoke-static {v3, v0}, Lcom/matoski/adbm/service/ManagerService;->access$300(Lcom/matoski/adbm/service/ManagerService;Ljava/lang/String;)V │ │ .line 235 │ add-int/lit8 v1, v1, 0x1 │ │ goto :goto_0 │ │ .line 238 │ - .end local v3 # "message":Ljava/lang/String; │ + .end local v0 # "message":Ljava/lang/String; │ :cond_0 │ return-void │ .end method ├── smali/com/matoski/adbm/service/ManagerService$1.smali │ @@ -28,14 +28,15 @@ │ # instance fields │ .field final synthetic this$0:Lcom/matoski/adbm/service/ManagerService; │ │ │ # direct methods │ .method constructor (Lcom/matoski/adbm/service/ManagerService;)V │ .locals 0 │ + .param p1, "this$0" # Lcom/matoski/adbm/service/ManagerService; │ │ .prologue │ .line 685 │ iput-object p1, p0, Lcom/matoski/adbm/service/ManagerService$1;->this$0:Lcom/matoski/adbm/service/ManagerService; │ │ invoke-direct {p0}, Lcom/google/gson/reflect/TypeToken;->()V ├── smali/com/matoski/adbm/service/ManagerService$MyNetworkStatusChecker.smali │ @@ -118,73 +118,64 @@ │ const/4 v0, 0x0 │ │ goto :goto_0 │ .end method │ │ .method protected bridge synthetic onPostExecute(Ljava/lang/Object;)V │ .locals 0 │ - .param p1, "x0" # Ljava/lang/Object; │ │ .prologue │ .line 69 │ check-cast p1, Lcom/matoski/adbm/enums/AdbStateEnum; │ │ - .end local p1 # "x0":Ljava/lang/Object; │ invoke-virtual {p0, p1}, Lcom/matoski/adbm/service/ManagerService$MyNetworkStatusChecker;->onPostExecute(Lcom/matoski/adbm/enums/AdbStateEnum;)V │ │ return-void │ .end method │ │ .method protected bridge synthetic onProgressUpdate([Ljava/lang/Object;)V │ .locals 0 │ - .param p1, "x0" # [Ljava/lang/Object; │ │ .prologue │ .line 69 │ check-cast p1, [Ljava/lang/String; │ │ - .end local p1 # "x0":[Ljava/lang/Object; │ invoke-virtual {p0, p1}, Lcom/matoski/adbm/service/ManagerService$MyNetworkStatusChecker;->onProgressUpdate([Ljava/lang/String;)V │ │ return-void │ .end method │ │ .method protected varargs onProgressUpdate([Ljava/lang/String;)V │ - .locals 5 │ + .locals 4 │ .param p1, "messages" # [Ljava/lang/String; │ │ .prologue │ .line 110 │ invoke-super {p0, p1}, Lcom/matoski/adbm/tasks/NetworkStatusChecker;->onProgressUpdate([Ljava/lang/Object;)V │ │ .line 111 │ - move-object v0, p1 │ + array-length v2, p1 │ │ - .local v0, "arr$":[Ljava/lang/String; │ - array-length v2, v0 │ - │ - .local v2, "len$":I │ const/4 v1, 0x0 │ │ - .local v1, "i$":I │ :goto_0 │ if-ge v1, v2, :cond_0 │ │ - aget-object v3, v0, v1 │ + aget-object v0, p1, v1 │ │ .line 112 │ - .local v3, "message":Ljava/lang/String; │ - iget-object v4, p0, Lcom/matoski/adbm/service/ManagerService$MyNetworkStatusChecker;->this$0:Lcom/matoski/adbm/service/ManagerService; │ + .local v0, "message":Ljava/lang/String; │ + iget-object v3, p0, Lcom/matoski/adbm/service/ManagerService$MyNetworkStatusChecker;->this$0:Lcom/matoski/adbm/service/ManagerService; │ │ # invokes: Lcom/matoski/adbm/service/ManagerService;->addItem(Ljava/lang/String;)V │ - invoke-static {v4, v3}, Lcom/matoski/adbm/service/ManagerService;->access$300(Lcom/matoski/adbm/service/ManagerService;Ljava/lang/String;)V │ + invoke-static {v3, v0}, Lcom/matoski/adbm/service/ManagerService;->access$300(Lcom/matoski/adbm/service/ManagerService;Ljava/lang/String;)V │ │ .line 111 │ add-int/lit8 v1, v1, 0x1 │ │ goto :goto_0 │ │ .line 114 │ - .end local v3 # "message":Ljava/lang/String; │ + .end local v0 # "message":Ljava/lang/String; │ :cond_0 │ return-void │ .end method ├── smali/com/matoski/adbm/service/ManagerService$MyRootCommandExecuter.smali │ @@ -139,73 +139,64 @@ │ │ .line 155 │ goto :goto_1 │ .end method │ │ .method protected bridge synthetic onPostExecute(Ljava/lang/Object;)V │ .locals 0 │ - .param p1, "x0" # Ljava/lang/Object; │ │ .prologue │ .line 125 │ check-cast p1, Lcom/matoski/adbm/enums/AdbStateEnum; │ │ - .end local p1 # "x0":Ljava/lang/Object; │ invoke-virtual {p0, p1}, Lcom/matoski/adbm/service/ManagerService$MyRootCommandExecuter;->onPostExecute(Lcom/matoski/adbm/enums/AdbStateEnum;)V │ │ return-void │ .end method │ │ .method protected bridge synthetic onProgressUpdate([Ljava/lang/Object;)V │ .locals 0 │ - .param p1, "x0" # [Ljava/lang/Object; │ │ .prologue │ .line 125 │ check-cast p1, [Ljava/lang/String; │ │ - .end local p1 # "x0":[Ljava/lang/Object; │ invoke-virtual {p0, p1}, Lcom/matoski/adbm/service/ManagerService$MyRootCommandExecuter;->onProgressUpdate([Ljava/lang/String;)V │ │ return-void │ .end method │ │ .method protected varargs onProgressUpdate([Ljava/lang/String;)V │ - .locals 5 │ + .locals 4 │ .param p1, "messages" # [Ljava/lang/String; │ │ .prologue │ .line 167 │ invoke-super {p0, p1}, Lcom/matoski/adbm/tasks/RootCommandExecuter;->onProgressUpdate([Ljava/lang/Object;)V │ │ .line 168 │ - move-object v0, p1 │ + array-length v2, p1 │ │ - .local v0, "arr$":[Ljava/lang/String; │ - array-length v2, v0 │ - │ - .local v2, "len$":I │ const/4 v1, 0x0 │ │ - .local v1, "i$":I │ :goto_0 │ if-ge v1, v2, :cond_0 │ │ - aget-object v3, v0, v1 │ + aget-object v0, p1, v1 │ │ .line 169 │ - .local v3, "message":Ljava/lang/String; │ - iget-object v4, p0, Lcom/matoski/adbm/service/ManagerService$MyRootCommandExecuter;->this$0:Lcom/matoski/adbm/service/ManagerService; │ + .local v0, "message":Ljava/lang/String; │ + iget-object v3, p0, Lcom/matoski/adbm/service/ManagerService$MyRootCommandExecuter;->this$0:Lcom/matoski/adbm/service/ManagerService; │ │ # invokes: Lcom/matoski/adbm/service/ManagerService;->addItem(Ljava/lang/String;)V │ - invoke-static {v4, v3}, Lcom/matoski/adbm/service/ManagerService;->access$300(Lcom/matoski/adbm/service/ManagerService;Ljava/lang/String;)V │ + invoke-static {v3, v0}, Lcom/matoski/adbm/service/ManagerService;->access$300(Lcom/matoski/adbm/service/ManagerService;Ljava/lang/String;)V │ │ .line 168 │ add-int/lit8 v1, v1, 0x1 │ │ goto :goto_0 │ │ .line 171 │ - .end local v3 # "message":Ljava/lang/String; │ + .end local v0 # "message":Ljava/lang/String; │ :cond_0 │ return-void │ .end method ├── smali/com/matoski/adbm/service/ManagerService$ServiceBinder.smali │ @@ -17,14 +17,15 @@ │ # instance fields │ .field final synthetic this$0:Lcom/matoski/adbm/service/ManagerService; │ │ │ # direct methods │ .method public constructor (Lcom/matoski/adbm/service/ManagerService;)V │ .locals 0 │ + .param p1, "this$0" # Lcom/matoski/adbm/service/ManagerService; │ │ .prologue │ .line 248 │ iput-object p1, p0, Lcom/matoski/adbm/service/ManagerService$ServiceBinder;->this$0:Lcom/matoski/adbm/service/ManagerService; │ │ invoke-direct {p0}, Landroid/os/Binder;->()V ├── smali/com/matoski/adbm/widgets/ControlWidgetProvider.smali │ @@ -127,24 +127,27 @@ │ │ new-array v5, v5, [Ljava/lang/Object; │ │ const/4 v6, 0x0 │ │ const-string v7, "," │ │ + .line 75 │ invoke-static {v0, v7}, Lcom/matoski/adbm/util/ArrayUtils;->join([ILjava/lang/String;)Ljava/lang/String; │ │ move-result-object v7 │ │ aput-object v7, v5, v6 │ │ + .line 74 │ invoke-static {v4, v5}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; │ │ move-result-object v4 │ │ + .line 73 │ invoke-static {v3, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I │ │ .line 77 │ new-instance v1, Landroid/os/Bundle; │ │ invoke-direct {v1}, Landroid/os/Bundle;->()V ├── smali/com/matoski/adbm/adapter/InteractiveArrayAdapter$1.smali │ @@ -22,14 +22,15 @@ │ │ .field final synthetic val$viewHolder:Lcom/matoski/adbm/adapter/InteractiveArrayAdapter$ViewHolder; │ │ │ # direct methods │ .method constructor (Lcom/matoski/adbm/adapter/InteractiveArrayAdapter;Lcom/matoski/adbm/adapter/InteractiveArrayAdapter$ViewHolder;)V │ .locals 0 │ + .param p1, "this$0" # Lcom/matoski/adbm/adapter/InteractiveArrayAdapter; │ │ .prologue │ .line 75 │ iput-object p1, p0, Lcom/matoski/adbm/adapter/InteractiveArrayAdapter$1;->this$0:Lcom/matoski/adbm/adapter/InteractiveArrayAdapter; │ │ iput-object p2, p0, Lcom/matoski/adbm/adapter/InteractiveArrayAdapter$1;->val$viewHolder:Lcom/matoski/adbm/adapter/InteractiveArrayAdapter$ViewHolder; │ │ @@ -47,14 +48,15 @@ │ │ .prologue │ .line 80 │ iget-object v1, p0, Lcom/matoski/adbm/adapter/InteractiveArrayAdapter$1;->val$viewHolder:Lcom/matoski/adbm/adapter/InteractiveArrayAdapter$ViewHolder; │ │ iget-object v1, v1, Lcom/matoski/adbm/adapter/InteractiveArrayAdapter$ViewHolder;->checkbox:Landroid/widget/CheckBox; │ │ + .line 81 │ invoke-virtual {v1}, Landroid/widget/CheckBox;->getTag()Ljava/lang/Object; │ │ move-result-object v0 │ │ check-cast v0, Lcom/matoski/adbm/pojo/Model; │ │ .line 82 ├── smali/com/matoski/adbm/adapter/InteractiveArrayAdapter.smali │ @@ -139,14 +139,15 @@ │ .line 74 │ iget-object v4, v3, Lcom/matoski/adbm/adapter/InteractiveArrayAdapter$ViewHolder;->checkbox:Landroid/widget/CheckBox; │ │ new-instance v5, Lcom/matoski/adbm/adapter/InteractiveArrayAdapter$1; │ │ invoke-direct {v5, p0, v3}, Lcom/matoski/adbm/adapter/InteractiveArrayAdapter$1;->(Lcom/matoski/adbm/adapter/InteractiveArrayAdapter;Lcom/matoski/adbm/adapter/InteractiveArrayAdapter$ViewHolder;)V │ │ + .line 75 │ invoke-virtual {v4, v5}, Landroid/widget/CheckBox;->setOnCheckedChangeListener(Landroid/widget/CompoundButton$OnCheckedChangeListener;)V │ │ .line 86 │ invoke-virtual {v2, v3}, Landroid/view/View;->setTag(Ljava/lang/Object;)V │ │ .line 87 │ iget-object v4, v3, Lcom/matoski/adbm/adapter/InteractiveArrayAdapter$ViewHolder;->checkbox:Landroid/widget/CheckBox; ├── res/xml/control_widget.xml │ ├── res/xml/control_widget.xml │ │ @@ -1,2 +1,2 @@ │ │ │ │ - │ │ + ├── res/menu/main.xml │ ├── res/menu/main.xml │ │ @@ -1,10 +1,10 @@ │ │ │ │ │ │ - │ │ - │ │ - │ │ - │ │ - │ │ - │ │ - │ │ + │ │ + │ │ + │ │ + │ │ + │ │ + │ │ + │ │