--- /home/fdroid/fdroiddata/tmp/be.brunoparmentier.dnssetter_3.apk +++ /home/fdroid/fdroiddata/tmp/sigcp_be.brunoparmentier.dnssetter_3.apk ├── /usr/lib/android-sdk/build-tools/debian/apksigner verify --verbose --print-certs {} │┄ error from `/usr/lib/android-sdk/build-tools/debian/apksigner verify --verbose --print-certs {}` (b): │┄ DOES NOT VERIFY │┄ ERROR: META-INF/fdroidserverid entry referenced by META-INF/MANIFEST.MF not found in the APK │┄ ERROR: META-INF/buildserverid entry referenced by META-INF/MANIFEST.MF not found in the APK │ @@ -1,18 +0,0 @@ │ -Verifies │ -Verified using v1 scheme (JAR signing): true │ -Verified using v2 scheme (APK Signature Scheme v2): false │ -Verified using v3 scheme (APK Signature Scheme v3): false │ -Verified using v4 scheme (APK Signature Scheme v4): false │ -Verified for SourceStamp: false │ -Number of signers: 1 │ -Signer #1 certificate DN: CN=FDroid, OU=FDroid, O=fdroid.org, L=ORG, ST=ORG, C=UK │ -Signer #1 certificate SHA-256 digest: 811b3b31906e9545957323f44f3ad48529a79f056c4d1a61a047163d875ccf57 │ -Signer #1 certificate SHA-1 digest: 6e822d92607d20fd51ad378da310912aa8c1578c │ -Signer #1 certificate MD5 digest: e4d78ae9d0524b0ec5f98787869abb03 │ -Signer #1 key algorithm: RSA │ -Signer #1 key size (bits): 2048 │ -Signer #1 public key SHA-256 digest: 8891cd8360b3e5cadae35eacf5b95df2caf0aae4a2424a825cccbf27e463a572 │ -Signer #1 public key SHA-1 digest: edb8de0260b824e7ea0eab5327f6d7fdfd1d8e8f │ -Signer #1 public key MD5 digest: 19f659b9a23bef9fa8d9f1b79e1efaca │ -WARNING: META-INF/buildserverid not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/fdroidserverid not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. ├── zipinfo {} │ @@ -1,17 +1,15 @@ │ -Zip file size: 60128 bytes, number of entries: 15 │ --rw---- 2.0 fat 1052 bl defN 15-Apr-28 08:10 META-INF/MANIFEST.MF │ --rw---- 2.0 fat 1173 bl defN 15-Apr-28 08:10 META-INF/75A04BA8.SF │ --rw---- 2.0 fat 1332 bl defN 15-Apr-28 08:10 META-INF/75A04BA8.RSA │ --rw---- 2.0 fat 41 bl defN 15-Apr-28 07:22 META-INF/buildserverid │ --rw---- 2.0 fat 41 bl defN 15-Apr-28 07:22 META-INF/fdroidserverid │ --rw---- 2.0 fat 2576 bX defN 15-Apr-28 07:22 AndroidManifest.xml │ --rw---- 1.0 fat 4847 b- stor 15-Apr-28 07:21 res/drawable-hdpi-v4/ic_launcher_dnssetter.png │ --rw---- 1.0 fat 2872 b- stor 15-Apr-28 07:21 res/drawable-mdpi-v4/ic_launcher_dnssetter.png │ --rw---- 1.0 fat 7262 b- stor 15-Apr-28 07:21 res/drawable-xhdpi-v4/ic_launcher_dnssetter.png │ --rw---- 1.0 fat 12409 b- stor 15-Apr-28 07:21 res/drawable-xxhdpi-v4/ic_launcher_dnssetter.png │ --rw---- 2.0 fat 3228 bl defN 15-Apr-28 07:22 res/layout/activity_main.xml │ --rw---- 2.0 fat 464 bl defN 15-Apr-28 07:22 res/menu/menu_main.xml │ --rw---- 2.0 fat 1432 bl defN 15-Apr-28 07:22 res/xml/pref_about.xml │ --rw---- 1.0 fat 5364 b- stor 15-Apr-28 07:21 resources.arsc │ --rw---- 2.0 fat 43276 bl defN 15-Apr-28 07:22 classes.dex │ -15 files, 87369 bytes uncompressed, 57970 bytes compressed: 33.6% │ +Zip file size: 59648 bytes, number of entries: 13 │ +-rw---- 2.0 fat 2576 bX defN 17-Oct-24 00:21 AndroidManifest.xml │ +-rw---- 1.0 fat 4847 b- stor 17-Oct-24 00:21 res/drawable-hdpi-v4/ic_launcher_dnssetter.png │ +-rw---- 1.0 fat 2872 b- stor 17-Oct-24 00:21 res/drawable-mdpi-v4/ic_launcher_dnssetter.png │ +-rw---- 1.0 fat 7262 b- stor 17-Oct-24 00:21 res/drawable-xhdpi-v4/ic_launcher_dnssetter.png │ +-rw---- 1.0 fat 12409 b- stor 17-Oct-24 00:21 res/drawable-xxhdpi-v4/ic_launcher_dnssetter.png │ +-rw---- 2.0 fat 3228 bl defN 17-Oct-24 00:21 res/layout/activity_main.xml │ +-rw---- 2.0 fat 464 bl defN 17-Oct-24 00:21 res/menu/menu_main.xml │ +-rw---- 2.0 fat 1432 bl defN 17-Oct-24 00:21 res/xml/pref_about.xml │ +-rw---- 1.0 fat 5364 b- stor 17-Oct-24 00:21 resources.arsc │ +-rw---- 2.0 fat 43040 bl defN 17-Oct-24 00:21 classes.dex │ +-rw---- 2.0 fat 1052 b- defN 17-Oct-24 00:21 META-INF/MANIFEST.MF │ +-rw---- 2.0 fat 1173 b- defN 17-Oct-24 00:21 META-INF/75A04BA8.SF │ +-rw---- 2.0 fat 1332 b- defN 17-Oct-24 00:21 META-INF/75A04BA8.RSA │ +13 files, 87051 bytes uncompressed, 57822 bytes compressed: 33.6% ├── filetype from file(1) │ @@ -1 +1 @@ │ -Zip archive data, at least v2.0 to extract │ +Java archive data (JAR) ├── classes.dex │ ├── classes.jar │ │ ├── zipinfo {} │ │ │ @@ -1,8 +1,8 @@ │ │ │ -Zip file size: 62251 bytes, number of entries: 44 │ │ │ +Zip file size: 62262 bytes, number of entries: 44 │ │ │ ?rwxrwxr-x 2.0 unx 654 b- stor 80-Jan-01 00:00 be/brunoparmentier/dnssetter/AboutActivity.class │ │ │ ?rwxrwxr-x 2.0 unx 2049 b- stor 80-Jan-01 00:00 be/brunoparmentier/dnssetter/AboutFragment.class │ │ │ ?rwxrwxr-x 2.0 unx 447 b- stor 80-Jan-01 00:00 be/brunoparmentier/dnssetter/BuildConfig.class │ │ │ ?rwxrwxr-x 2.0 unx 528 b- stor 80-Jan-01 00:00 be/brunoparmentier/dnssetter/InfoDialogPreference.class │ │ │ ?rwxrwxr-x 2.0 unx 1006 b- stor 80-Jan-01 00:00 be/brunoparmentier/dnssetter/MainActivity$1.class │ │ │ ?rwxrwxr-x 2.0 unx 417 b- stor 80-Jan-01 00:00 be/brunoparmentier/dnssetter/MainActivity$2.class │ │ │ ?rwxrwxr-x 2.0 unx 1445 b- stor 80-Jan-01 00:00 be/brunoparmentier/dnssetter/MainActivity$SetCurrentDNSTask.class │ │ │ @@ -31,16 +31,16 @@ │ │ │ ?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 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 147 b- stor 80-Jan-01 00:00 eu/chainfire/libsuperuser/StreamGobbler$OnLineListener.class │ │ │ ?rwxrwxr-x 2.0 unx 2298 b- stor 80-Jan-01 00:00 eu/chainfire/libsuperuser/Shell$Interactive$5.class │ │ │ ?rwxrwxr-x 2.0 unx 1707 b- stor 80-Jan-01 00:00 eu/chainfire/libsuperuser/Shell$Interactive$6.class │ │ │ -?rwxrwxr-x 2.0 unx 16818 b- defN 80-Jan-01 00:00 eu/chainfire/libsuperuser/Shell$Interactive.class │ │ │ +?rwxrwxr-x 2.0 unx 16815 b- defN 80-Jan-01 00:00 eu/chainfire/libsuperuser/Shell$Interactive.class │ │ │ ?rwxrwxr-x 2.0 unx 249 b- stor 80-Jan-01 00:00 eu/chainfire/libsuperuser/Shell$OnCommandLineListener.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 3625 b- stor 80-Jan-01 00:00 eu/chainfire/libsuperuser/Shell$SU.class │ │ │ -?rwxrwxr-x 2.0 unx 5353 b- stor 80-Jan-01 00:00 eu/chainfire/libsuperuser/Shell.class │ │ │ +?rwxrwxr-x 2.0 unx 3628 b- stor 80-Jan-01 00:00 eu/chainfire/libsuperuser/Shell$SU.class │ │ │ +?rwxrwxr-x 2.0 unx 5360 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 1566 b- stor 80-Jan-01 00:00 eu/chainfire/libsuperuser/StreamGobbler.class │ │ │ -44 files, 64627 bytes uncompressed, 54705 bytes compressed: 15.4% │ │ │ +44 files, 64634 bytes uncompressed, 54716 bytes compressed: 15.3% │ │ ├── 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,126 +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 str = access$1300[n]; │ │ │ │ - final String s = "[%s+] %s"; │ │ │ │ - Object o = new Object[2]; │ │ │ │ + o = "[%s+] %s"; │ │ │ │ + final Object[] args = new Object[2]; │ │ │ │ final String shell = this.shell; │ │ │ │ try { │ │ │ │ - o[0] = shell.toUpperCase(Locale.ENGLISH); │ │ │ │ - o[1] = str; │ │ │ │ - final String format = s; │ │ │ │ + args[0] = shell.toUpperCase(Locale.ENGLISH); │ │ │ │ + args[1] = str; │ │ │ │ + final Object format = o; │ │ │ │ try { │ │ │ │ - final String format2 = String.format(format, (Object[])o); │ │ │ │ + o = String.format((String)format, args); │ │ │ │ try { │ │ │ │ - Debug.logCommand(format2); │ │ │ │ - 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(str); │ │ │ │ - o = ((StringBuilder)o).append("\n"); │ │ │ │ + final StringBuilder append = sb.append(str).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_0530: │ │ │ │ while (true) { │ │ │ │ if (!this.idle || !b) { │ │ │ │ return; │ │ │ │ } │ │ │ │ synchronized (this.idleSync) { │ │ │ │ this.idleSync.notifyAll(); │ │ │ │ return; │ │ │ │ - // iftrue(Label_0533:, running) │ │ │ │ - Label_0583: { │ │ │ │ - break Label_0583; │ │ │ │ - this.postCallback(this.commands.remove(0), -2, null); │ │ │ │ - break Label_0583; │ │ │ │ + // iftrue(Label_0530:, running) │ │ │ │ + Label_0580: { │ │ │ │ + break Label_0580; │ │ │ │ this.runNextCommand(false); │ │ │ │ continue; │ │ │ │ } │ │ │ │ + // iftrue(Label_0530:, this.commands.size() <= 0) │ │ │ │ + this.postCallback(this.commands.remove(0), -2, null); │ │ │ │ } │ │ │ │ - // iftrue(Label_0533:, this.commands.size() <= 0) │ │ │ │ } │ │ │ │ } │ │ │ │ catch (IOException ex) {} │ │ │ │ } │ │ │ │ catch (IOException ex2) {} │ │ │ │ } │ │ │ │ catch (IOException ex3) {} │ │ ├── eu/chainfire/libsuperuser/Shell$SU.class │ │ │ ├── procyon -ec {} │ │ │ │ @@ -150,17 +150,17 @@ │ │ │ │ return s; │ │ │ │ } │ │ │ │ │ │ │ │ public static String version(final boolean b) { │ │ │ │ int n = 0; │ │ │ │ final Class clazz = Shell$SU.class; │ │ │ │ // monitorenter(clazz) │ │ │ │ - Label_0141: { │ │ │ │ + Label_0143: { │ │ │ │ if (!b) { │ │ │ │ - break Label_0141; │ │ │ │ + break Label_0143; │ │ │ │ } │ │ │ │ try { │ │ │ │ while (true) { │ │ │ │ if (Shell$SU.suVersion[n] == null) { │ │ │ │ String s = null; │ │ │ │ String s2; │ │ │ │ if (b) { │ │ ├── eu/chainfire/libsuperuser/Shell.class │ │ │ ├── procyon -ec {} │ │ │ │ @@ -69,590 +69,594 @@ │ │ │ │ // 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: pop │ │ │ │ - // 926: aconst_null │ │ │ │ - // 927: astore 12 │ │ │ │ - // 929: goto 884 │ │ │ │ + // 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: pop │ │ │ │ // 933: aconst_null │ │ │ │ // 934: astore 12 │ │ │ │ - // 936: goto 884 │ │ │ │ - // 939: astore 4 │ │ │ │ - // 941: goto 836 │ │ │ │ - // 944: astore 4 │ │ │ │ - // 946: goto 825 │ │ │ │ + // 936: goto 891 │ │ │ │ + // 939: pop │ │ │ │ + // 940: aconst_null │ │ │ │ + // 941: astore 12 │ │ │ │ + // 943: goto 891 │ │ │ │ + // 946: astore 4 │ │ │ │ + // 948: goto 839 │ │ │ │ + // 951: astore 4 │ │ │ │ + // 953: goto 828 │ │ │ │ // Exceptions: │ │ │ │ // Try Handler │ │ │ │ // Start End Start End Type │ │ │ │ // ----- ----- ----- ----- -------------------------------- │ │ │ │ - // 113 116 925 932 Ljava/io/IOException; │ │ │ │ - // 113 116 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 118 123 925 932 Ljava/io/IOException; │ │ │ │ - // 118 123 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 123 126 925 932 Ljava/io/IOException; │ │ │ │ - // 123 126 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 134 141 925 932 Ljava/io/IOException; │ │ │ │ - // 134 141 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 144 146 925 932 Ljava/io/IOException; │ │ │ │ - // 144 146 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 163 166 925 932 Ljava/io/IOException; │ │ │ │ - // 163 166 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 178 183 925 932 Ljava/io/IOException; │ │ │ │ - // 178 183 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 202 207 925 932 Ljava/io/IOException; │ │ │ │ - // 202 207 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 217 222 925 932 Ljava/io/IOException; │ │ │ │ - // 217 222 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 232 240 925 932 Ljava/io/IOException; │ │ │ │ - // 232 240 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 252 259 925 932 Ljava/io/IOException; │ │ │ │ - // 252 259 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 261 266 925 932 Ljava/io/IOException; │ │ │ │ - // 261 266 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 271 278 925 932 Ljava/io/IOException; │ │ │ │ - // 271 278 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 280 287 925 932 Ljava/io/IOException; │ │ │ │ - // 280 287 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 289 296 925 932 Ljava/io/IOException; │ │ │ │ - // 289 296 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 303 310 925 932 Ljava/io/IOException; │ │ │ │ - // 303 310 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 312 317 925 932 Ljava/io/IOException; │ │ │ │ - // 312 317 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 319 322 925 932 Ljava/io/IOException; │ │ │ │ - // 319 322 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 324 329 925 932 Ljava/io/IOException; │ │ │ │ - // 324 329 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 329 336 925 932 Ljava/io/IOException; │ │ │ │ - // 329 336 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 338 343 925 932 Ljava/io/IOException; │ │ │ │ - // 338 343 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 351 356 925 932 Ljava/io/IOException; │ │ │ │ - // 351 356 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 364 369 925 932 Ljava/io/IOException; │ │ │ │ - // 364 369 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 371 378 925 932 Ljava/io/IOException; │ │ │ │ - // 371 378 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 380 385 925 932 Ljava/io/IOException; │ │ │ │ - // 380 385 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 393 398 925 932 Ljava/io/IOException; │ │ │ │ - // 393 398 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 400 405 925 932 Ljava/io/IOException; │ │ │ │ - // 400 405 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 410 413 925 932 Ljava/io/IOException; │ │ │ │ - // 410 413 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 422 425 925 932 Ljava/io/IOException; │ │ │ │ - // 422 425 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 434 438 925 932 Ljava/io/IOException; │ │ │ │ - // 434 438 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 440 443 925 932 Ljava/io/IOException; │ │ │ │ - // 440 443 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 445 450 925 932 Ljava/io/IOException; │ │ │ │ - // 445 450 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 458 463 925 932 Ljava/io/IOException; │ │ │ │ - // 458 463 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 463 466 925 932 Ljava/io/IOException; │ │ │ │ - // 463 466 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 468 471 925 932 Ljava/io/IOException; │ │ │ │ - // 468 471 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 473 478 925 932 Ljava/io/IOException; │ │ │ │ - // 473 478 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 484 489 925 932 Ljava/io/IOException; │ │ │ │ - // 484 489 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 497 502 925 932 Ljava/io/IOException; │ │ │ │ - // 497 502 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 504 509 925 932 Ljava/io/IOException; │ │ │ │ - // 504 509 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 511 516 925 932 Ljava/io/IOException; │ │ │ │ - // 511 516 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 528 533 925 932 Ljava/io/IOException; │ │ │ │ - // 528 533 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 533 536 925 932 Ljava/io/IOException; │ │ │ │ - // 533 536 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 538 541 925 932 Ljava/io/IOException; │ │ │ │ - // 538 541 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 543 548 925 932 Ljava/io/IOException; │ │ │ │ - // 543 548 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 554 559 925 932 Ljava/io/IOException; │ │ │ │ - // 554 559 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 567 572 925 932 Ljava/io/IOException; │ │ │ │ - // 567 572 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 574 579 925 932 Ljava/io/IOException; │ │ │ │ - // 574 579 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 581 586 925 932 Ljava/io/IOException; │ │ │ │ - // 581 586 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 606 611 925 932 Ljava/io/IOException; │ │ │ │ - // 606 611 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 611 616 925 932 Ljava/io/IOException; │ │ │ │ - // 611 616 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 616 621 925 932 Ljava/io/IOException; │ │ │ │ - // 616 621 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 624 626 925 932 Ljava/io/IOException; │ │ │ │ - // 624 626 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 643 646 925 932 Ljava/io/IOException; │ │ │ │ - // 643 646 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 655 660 925 932 Ljava/io/IOException; │ │ │ │ - // 655 660 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 675 678 925 932 Ljava/io/IOException; │ │ │ │ - // 675 678 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 685 688 925 932 Ljava/io/IOException; │ │ │ │ - // 685 688 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 690 695 925 932 Ljava/io/IOException; │ │ │ │ - // 690 695 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 697 702 925 932 Ljava/io/IOException; │ │ │ │ - // 697 702 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 702 705 925 932 Ljava/io/IOException; │ │ │ │ - // 702 705 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 707 712 925 932 Ljava/io/IOException; │ │ │ │ - // 707 712 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 718 723 925 932 Ljava/io/IOException; │ │ │ │ - // 718 723 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 731 736 925 932 Ljava/io/IOException; │ │ │ │ - // 731 736 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 738 743 925 932 Ljava/io/IOException; │ │ │ │ - // 738 743 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 751 756 925 932 Ljava/io/IOException; │ │ │ │ - // 751 756 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 764 769 925 932 Ljava/io/IOException; │ │ │ │ - // 764 769 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 769 774 925 932 Ljava/io/IOException; │ │ │ │ - // 769 774 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 802 807 944 949 Ljava/io/IOException; │ │ │ │ - // 802 807 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 815 820 944 949 Ljava/io/IOException; │ │ │ │ - // 815 820 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 820 825 944 949 Ljava/io/IOException; │ │ │ │ - // 820 825 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 825 831 925 932 Ljava/io/IOException; │ │ │ │ - // 825 831 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 831 836 939 944 Ljava/io/IOException; │ │ │ │ - // 831 836 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 836 841 925 932 Ljava/io/IOException; │ │ │ │ - // 836 841 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 841 846 925 932 Ljava/io/IOException; │ │ │ │ - // 841 846 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 846 851 925 932 Ljava/io/IOException; │ │ │ │ - // 846 851 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 851 855 925 932 Ljava/io/IOException; │ │ │ │ - // 851 855 932 939 Ljava/lang/InterruptedException; │ │ │ │ - // 862 867 925 932 Ljava/io/IOException; │ │ │ │ - // 862 867 932 939 Ljava/lang/InterruptedException; │ │ │ │ + // 114 117 932 939 Ljava/io/IOException; │ │ │ │ + // 114 117 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 119 124 932 939 Ljava/io/IOException; │ │ │ │ + // 119 124 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 124 127 932 939 Ljava/io/IOException; │ │ │ │ + // 124 127 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 131 138 932 939 Ljava/io/IOException; │ │ │ │ + // 131 138 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 141 143 932 939 Ljava/io/IOException; │ │ │ │ + // 141 143 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 167 170 932 939 Ljava/io/IOException; │ │ │ │ + // 167 170 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 182 187 932 939 Ljava/io/IOException; │ │ │ │ + // 182 187 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 206 211 932 939 Ljava/io/IOException; │ │ │ │ + // 206 211 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 225 230 932 939 Ljava/io/IOException; │ │ │ │ + // 225 230 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 240 248 932 939 Ljava/io/IOException; │ │ │ │ + // 240 248 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 260 267 932 939 Ljava/io/IOException; │ │ │ │ + // 260 267 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 269 274 932 939 Ljava/io/IOException; │ │ │ │ + // 269 274 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 279 286 932 939 Ljava/io/IOException; │ │ │ │ + // 279 286 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 288 295 932 939 Ljava/io/IOException; │ │ │ │ + // 288 295 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 297 304 932 939 Ljava/io/IOException; │ │ │ │ + // 297 304 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 311 318 932 939 Ljava/io/IOException; │ │ │ │ + // 311 318 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 320 325 932 939 Ljava/io/IOException; │ │ │ │ + // 320 325 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 327 330 932 939 Ljava/io/IOException; │ │ │ │ + // 327 330 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 332 337 932 939 Ljava/io/IOException; │ │ │ │ + // 332 337 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 337 344 932 939 Ljava/io/IOException; │ │ │ │ + // 337 344 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 346 351 932 939 Ljava/io/IOException; │ │ │ │ + // 346 351 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 359 364 932 939 Ljava/io/IOException; │ │ │ │ + // 359 364 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 376 381 932 939 Ljava/io/IOException; │ │ │ │ + // 376 381 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 383 390 932 939 Ljava/io/IOException; │ │ │ │ + // 383 390 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 392 397 932 939 Ljava/io/IOException; │ │ │ │ + // 392 397 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 405 410 932 939 Ljava/io/IOException; │ │ │ │ + // 405 410 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 412 417 932 939 Ljava/io/IOException; │ │ │ │ + // 412 417 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 422 425 932 939 Ljava/io/IOException; │ │ │ │ + // 422 425 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 434 437 932 939 Ljava/io/IOException; │ │ │ │ + // 434 437 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 445 449 932 939 Ljava/io/IOException; │ │ │ │ + // 445 449 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 451 454 932 939 Ljava/io/IOException; │ │ │ │ + // 451 454 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 456 461 932 939 Ljava/io/IOException; │ │ │ │ + // 456 461 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 465 470 932 939 Ljava/io/IOException; │ │ │ │ + // 465 470 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 470 473 932 939 Ljava/io/IOException; │ │ │ │ + // 470 473 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 475 478 932 939 Ljava/io/IOException; │ │ │ │ + // 475 478 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 480 485 932 939 Ljava/io/IOException; │ │ │ │ + // 480 485 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 487 492 932 939 Ljava/io/IOException; │ │ │ │ + // 487 492 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 500 505 932 939 Ljava/io/IOException; │ │ │ │ + // 500 505 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 507 512 932 939 Ljava/io/IOException; │ │ │ │ + // 507 512 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 514 519 932 939 Ljava/io/IOException; │ │ │ │ + // 514 519 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 531 536 932 939 Ljava/io/IOException; │ │ │ │ + // 531 536 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 536 539 932 939 Ljava/io/IOException; │ │ │ │ + // 536 539 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 541 544 932 939 Ljava/io/IOException; │ │ │ │ + // 541 544 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 546 551 932 939 Ljava/io/IOException; │ │ │ │ + // 546 551 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 553 558 932 939 Ljava/io/IOException; │ │ │ │ + // 553 558 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 566 571 932 939 Ljava/io/IOException; │ │ │ │ + // 566 571 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 573 578 932 939 Ljava/io/IOException; │ │ │ │ + // 573 578 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 580 585 932 939 Ljava/io/IOException; │ │ │ │ + // 580 585 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 605 610 932 939 Ljava/io/IOException; │ │ │ │ + // 605 610 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 610 615 932 939 Ljava/io/IOException; │ │ │ │ + // 610 615 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 615 620 932 939 Ljava/io/IOException; │ │ │ │ + // 615 620 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 623 625 932 939 Ljava/io/IOException; │ │ │ │ + // 623 625 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 649 652 932 939 Ljava/io/IOException; │ │ │ │ + // 649 652 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 665 670 932 939 Ljava/io/IOException; │ │ │ │ + // 665 670 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 682 685 932 939 Ljava/io/IOException; │ │ │ │ + // 682 685 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 692 695 932 939 Ljava/io/IOException; │ │ │ │ + // 692 695 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 697 702 932 939 Ljava/io/IOException; │ │ │ │ + // 697 702 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 704 709 932 939 Ljava/io/IOException; │ │ │ │ + // 704 709 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 709 712 932 939 Ljava/io/IOException; │ │ │ │ + // 709 712 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 714 719 932 939 Ljava/io/IOException; │ │ │ │ + // 714 719 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 725 730 932 939 Ljava/io/IOException; │ │ │ │ + // 725 730 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 738 743 932 939 Ljava/io/IOException; │ │ │ │ + // 738 743 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 745 750 932 939 Ljava/io/IOException; │ │ │ │ + // 745 750 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 758 763 932 939 Ljava/io/IOException; │ │ │ │ + // 758 763 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 771 776 932 939 Ljava/io/IOException; │ │ │ │ + // 771 776 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 776 781 932 939 Ljava/io/IOException; │ │ │ │ + // 776 781 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 809 814 951 956 Ljava/io/IOException; │ │ │ │ + // 809 814 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 818 823 951 956 Ljava/io/IOException; │ │ │ │ + // 818 823 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 823 828 951 956 Ljava/io/IOException; │ │ │ │ + // 823 828 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 828 834 932 939 Ljava/io/IOException; │ │ │ │ + // 828 834 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 834 839 946 951 Ljava/io/IOException; │ │ │ │ + // 834 839 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 839 844 932 939 Ljava/io/IOException; │ │ │ │ + // 839 844 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 844 849 932 939 Ljava/io/IOException; │ │ │ │ + // 844 849 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 849 854 932 939 Ljava/io/IOException; │ │ │ │ + // 849 854 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 854 858 932 939 Ljava/io/IOException; │ │ │ │ + // 854 858 939 946 Ljava/lang/InterruptedException; │ │ │ │ + // 865 870 932 939 Ljava/io/IOException; │ │ │ │ + // 865 870 939 946 Ljava/lang/InterruptedException; │ │ │ │ // │ │ │ │ // The error that occurred was: │ │ │ │ // │ │ │ │ - // java.lang.IllegalStateException: Expression is linked from several locations: Label_0825: │ │ │ │ + // java.lang.IllegalStateException: Expression is linked from several locations: Label_0828: │ │ │ │ // at com.strobel.decompiler.ast.Error.expressionLinkedFromMultipleLocations(Error.java:27) │ │ │ │ // at com.strobel.decompiler.ast.AstOptimizer.mergeDisparateObjectInitializations(AstOptimizer.java:2596) │ │ │ │ // at com.strobel.decompiler.ast.AstOptimizer.optimize(AstOptimizer.java:235) │ │ │ │ // at com.strobel.decompiler.ast.AstOptimizer.optimize(AstOptimizer.java:42) │ │ │ │ // at com.strobel.decompiler.languages.java.ast.AstMethodBodyBuilder.createMethodBody(AstMethodBodyBuilder.java:214) │ │ │ │ // at com.strobel.decompiler.languages.java.ast.AstMethodBodyBuilder.createMethodBody(AstMethodBodyBuilder.java:99) │ │ │ │ // at com.strobel.decompiler.languages.java.ast.AstBuilder.createMethodBody(AstBuilder.java:782) ├── smali/be/brunoparmentier/dnssetter/AboutActivity.smali │ @@ -39,12 +39,13 @@ │ │ invoke-direct {v2}, Lbe/brunoparmentier/dnssetter/AboutFragment;->()V │ │ invoke-virtual {v0, v1, v2}, Landroid/app/FragmentTransaction;->replace(ILandroid/app/Fragment;)Landroid/app/FragmentTransaction; │ │ move-result-object v0 │ │ + .line 32 │ invoke-virtual {v0}, Landroid/app/FragmentTransaction;->commit()I │ │ .line 33 │ return-void │ .end method ├── smali/be/brunoparmentier/dnssetter/AboutFragment.smali │ @@ -61,15 +61,15 @@ │ │ move-result-object v9 │ │ invoke-virtual {v9}, Landroid/app/Activity;->getPackageManager()Landroid/content/pm/PackageManager; │ │ move-result-object v7 │ │ - .line 54 │ + .line 55 │ .local v7, "packageManager":Landroid/content/pm/PackageManager; │ invoke-virtual {v7, v1, v8}, Landroid/content/pm/PackageManager;->queryIntentActivities(Landroid/content/Intent;I)Ljava/util/List; │ │ move-result-object v0 │ │ .line 56 │ .local v0, "bitcoinActivities":Ljava/util/List;, "Ljava/util/List;" │ @@ -116,15 +116,15 @@ │ │ invoke-static {v9}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri; │ │ move-result-object v9 │ │ invoke-virtual {v6, v9}, Landroid/content/Intent;->setData(Landroid/net/Uri;)Landroid/content/Intent; │ │ - .line 64 │ + .line 65 │ invoke-virtual {v7, v6, v8}, Landroid/content/pm/PackageManager;->queryIntentActivities(Landroid/content/Intent;I)Ljava/util/List; │ │ move-result-object v5 │ │ .line 66 │ .local v5, "marketActivities":Ljava/util/List;, "Ljava/util/List;" │ invoke-interface {v5}, Ljava/util/List;->size()I │ @@ -169,14 +169,15 @@ │ │ move-result-object v3 │ │ invoke-virtual {v3}, Landroid/app/Activity;->getPackageManager()Landroid/content/pm/PackageManager; │ │ move-result-object v3 │ │ + .line 79 │ invoke-virtual {p0}, Lbe/brunoparmentier/dnssetter/AboutFragment;->getActivity()Landroid/app/Activity; │ │ move-result-object v4 │ │ invoke-virtual {v4}, Landroid/app/Activity;->getPackageName()Ljava/lang/String; │ │ move-result-object v4 ├── smali/be/brunoparmentier/dnssetter/MainActivity$SetDNSTask.smali │ @@ -54,21 +54,19 @@ │ return-void │ .end method │ │ │ # virtual methods │ .method protected bridge synthetic doInBackground([Ljava/lang/Object;)Ljava/lang/Object; │ .locals 1 │ - .param p1, "x0" # [Ljava/lang/Object; │ │ .prologue │ .line 132 │ check-cast p1, [Ljava/lang/String; │ │ - .end local p1 # "x0":[Ljava/lang/Object; │ invoke-virtual {p0, p1}, Lbe/brunoparmentier/dnssetter/MainActivity$SetDNSTask;->doInBackground([Ljava/lang/String;)Ljava/lang/Void; │ │ move-result-object v0 │ │ return-object v0 │ .end method │ │ @@ -210,21 +208,19 @@ │ const/4 v6, 0x0 │ │ return-object v6 │ .end method │ │ .method protected bridge synthetic onPostExecute(Ljava/lang/Object;)V │ .locals 0 │ - .param p1, "x0" # Ljava/lang/Object; │ │ .prologue │ .line 132 │ check-cast p1, Ljava/lang/Void; │ │ - .end local p1 # "x0":Ljava/lang/Object; │ invoke-virtual {p0, p1}, Lbe/brunoparmentier/dnssetter/MainActivity$SetDNSTask;->onPostExecute(Ljava/lang/Void;)V │ │ return-void │ .end method │ │ .method protected onPostExecute(Ljava/lang/Void;)V │ .locals 3 ├── smali/be/brunoparmentier/dnssetter/R.smali │ @@ -23,10 +23,9 @@ │ .method public constructor ()V │ .locals 0 │ │ .prologue │ .line 10 │ invoke-direct {p0}, Ljava/lang/Object;->()V │ │ - .line 59 │ return-void │ .end method ├── smali/be/brunoparmentier/dnssetter/MainActivity.smali │ @@ -40,15 +40,14 @@ │ .method public constructor ()V │ .locals 0 │ │ .prologue │ .line 41 │ invoke-direct {p0}, Landroid/app/Activity;->()V │ │ - .line 132 │ return-void │ .end method │ │ .method static synthetic access$000(Lbe/brunoparmentier/dnssetter/MainActivity;)Landroid/widget/EditText; │ .locals 1 │ .param p0, "x0" # Lbe/brunoparmentier/dnssetter/MainActivity; │ │ @@ -260,24 +259,26 @@ │ .local v0, "builder":Landroid/app/AlertDialog$Builder; │ const v5, 0x7f060002 │ │ invoke-virtual {v0, v5}, Landroid/app/AlertDialog$Builder;->setMessage(I)Landroid/app/AlertDialog$Builder; │ │ move-result-object v5 │ │ + .line 84 │ invoke-virtual {v5, v8}, Landroid/app/AlertDialog$Builder;->setCancelable(Z)Landroid/app/AlertDialog$Builder; │ │ move-result-object v5 │ │ const v6, 0x7f060003 │ │ new-instance v7, Lbe/brunoparmentier/dnssetter/MainActivity$2; │ │ invoke-direct {v7, p0}, Lbe/brunoparmentier/dnssetter/MainActivity$2;->(Lbe/brunoparmentier/dnssetter/MainActivity;)V │ │ + .line 85 │ invoke-virtual {v5, v6, v7}, Landroid/app/AlertDialog$Builder;->setPositiveButton(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; │ │ .line 89 │ invoke-virtual {v0}, Landroid/app/AlertDialog$Builder;->create()Landroid/app/AlertDialog; │ │ move-result-object v1 ├── smali/be/brunoparmentier/dnssetter/MainActivity$1.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Lbe/brunoparmentier/dnssetter/MainActivity; │ │ │ # direct methods │ .method constructor (Lbe/brunoparmentier/dnssetter/MainActivity;)V │ .locals 0 │ + .param p1, "this$0" # Lbe/brunoparmentier/dnssetter/MainActivity; │ │ .prologue │ .line 64 │ iput-object p1, p0, Lbe/brunoparmentier/dnssetter/MainActivity$1;->this$0:Lbe/brunoparmentier/dnssetter/MainActivity; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/be/brunoparmentier/dnssetter/MainActivity$2.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Lbe/brunoparmentier/dnssetter/MainActivity; │ │ │ # direct methods │ .method constructor (Lbe/brunoparmentier/dnssetter/MainActivity;)V │ .locals 0 │ + .param p1, "this$0" # Lbe/brunoparmentier/dnssetter/MainActivity; │ │ .prologue │ .line 85 │ iput-object p1, p0, Lbe/brunoparmentier/dnssetter/MainActivity$2;->this$0:Lbe/brunoparmentier/dnssetter/MainActivity; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/be/brunoparmentier/dnssetter/MainActivity$SetCurrentDNSTask.smali │ @@ -92,21 +92,19 @@ │ return-void │ .end method │ │ │ # virtual methods │ .method protected bridge synthetic doInBackground([Ljava/lang/Object;)Ljava/lang/Object; │ .locals 1 │ - .param p1, "x0" # [Ljava/lang/Object; │ │ .prologue │ .line 114 │ check-cast p1, [Ljava/lang/Void; │ │ - .end local p1 # "x0":[Ljava/lang/Object; │ invoke-virtual {p0, p1}, Lbe/brunoparmentier/dnssetter/MainActivity$SetCurrentDNSTask;->doInBackground([Ljava/lang/Void;)Ljava/util/List; │ │ move-result-object v0 │ │ return-object v0 │ .end method │ │ @@ -148,21 +146,19 @@ │ const/4 v0, 0x0 │ │ return-object v0 │ .end method │ │ .method protected bridge synthetic onPostExecute(Ljava/lang/Object;)V │ .locals 0 │ - .param p1, "x0" # Ljava/lang/Object; │ │ .prologue │ .line 114 │ check-cast p1, Ljava/util/List; │ │ - .end local p1 # "x0":Ljava/lang/Object; │ invoke-virtual {p0, p1}, Lbe/brunoparmentier/dnssetter/MainActivity$SetCurrentDNSTask;->onPostExecute(Ljava/util/List;)V │ │ return-void │ .end method │ │ .method protected onPostExecute(Ljava/util/List;)V │ .locals 3 ├── 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 1039 │ 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,14 +62,15 @@ │ .prologue │ .line 1041 │ .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 1042 │ 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 ├── 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 968 │ 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 208 │ if-nez p0, :cond_1 │ │ .line 228 │ :cond_0 │ :goto_0 │ - return v3 │ + return v2 │ │ .line 212 │ :cond_1 │ const/4 v0, 0x0 │ │ .line 214 │ .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 215 │ - .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 217 │ 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 218 │ :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 224 │ 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 228 │ 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,625 +210,579 @@ │ "Ljava/lang/String;", │ ">;" │ } │ .end annotation │ │ .prologue │ .line 102 │ - 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, v15}, Ljava/lang/String;->toUpperCase(Ljava/util/Locale;)Ljava/lang/String; │ │ - invoke-virtual {v0, v1}, Ljava/lang/String;->toUpperCase(Ljava/util/Locale;)Ljava/lang/String; │ - │ - move-result-object v16 │ + move-result-object v12 │ │ .line 104 │ - .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 109 │ - 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 110 │ - 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 112 │ :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 114 │ - 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; │ + invoke-static {v15}, Ljava/util/Collections;->synchronizedList(Ljava/util/List;)Ljava/util/List; │ │ - move-result-object v15 │ + move-result-object v11 │ │ .line 118 │ - .local v15, "res":Ljava/util/List;, "Ljava/util/List;" │ + .local v11, "res":Ljava/util/List;, "Ljava/util/List;" │ if-eqz p2, :cond_3 │ │ .line 119 │ :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 120 │ - .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 122 │ - 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 123 │ - .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 124 │ - 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 │ + 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 │ + 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 122 │ :cond_1 │ - add-int/lit8 v11, v11, 0x1 │ + add-int/lit8 v15, v15, 0x1 │ │ goto :goto_0 │ │ .line 127 │ - .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 128 │ - .local v10, "i":I │ - invoke-interface {v13}, Ljava/util/Map;->size()I │ - │ - move-result v19 │ + .local v8, "i":I │ + invoke-interface {v9}, Ljava/util/Map;->size()I │ │ - move/from16 v0, v19 │ + move-result v15 │ │ - new-array v0, v0, [Ljava/lang/String; │ + new-array v0, v15, [Ljava/lang/String; │ │ move-object/from16 p2, v0 │ │ .line 129 │ - invoke-interface {v13}, Ljava/util/Map;->entrySet()Ljava/util/Set; │ + 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; │ + 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 130 │ - .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 131 │ - add-int/lit8 v10, v10, 0x1 │ + add-int/lit8 v8, v8, 0x1 │ │ .line 132 │ goto :goto_1 │ │ .line 137 │ - .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 138 │ - .local v14, "process":Ljava/lang/Process; │ - new-instance v4, Ljava/io/DataOutputStream; │ + .local v10, "process":Ljava/lang/Process; │ + new-instance v3, Ljava/io/DataOutputStream; │ │ - invoke-virtual {v14}, Ljava/lang/Process;->getOutputStream()Ljava/io/OutputStream; │ + invoke-virtual {v10}, Ljava/lang/Process;->getOutputStream()Ljava/io/OutputStream; │ │ - move-result-object v19 │ - │ - 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 139 │ - .local v4, "STDIN":Ljava/io/DataOutputStream; │ - new-instance v5, Leu/chainfire/libsuperuser/StreamGobbler; │ + .local v3, "STDIN":Ljava/io/DataOutputStream; │ + new-instance v4, Leu/chainfire/libsuperuser/StreamGobbler; │ │ - new-instance v19, Ljava/lang/StringBuilder; │ + new-instance v15, Ljava/lang/StringBuilder; │ │ - invoke-direct/range {v19 .. v19}, Ljava/lang/StringBuilder;->()V │ + invoke-direct {v15}, Ljava/lang/StringBuilder;->()V │ │ - move-object/from16 v0, v19 │ + invoke-virtual {v15, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-object/from16 v1, v16 │ - │ - 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 │ + 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 141 │ - .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; │ + 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 145 │ - .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 146 │ - invoke-virtual {v3}, Leu/chainfire/libsuperuser/StreamGobbler;->start()V │ + invoke-virtual {v2}, Leu/chainfire/libsuperuser/StreamGobbler;->start()V │ │ .line 147 │ - move-object/from16 v6, p1 │ + move-object/from16 v0, p1 │ │ - .restart local v6 # "arr$":[Ljava/lang/String; │ - array-length v12, v6 │ + array-length v0, v0 │ │ - .restart local v12 # "len$":I │ - const/4 v11, 0x0 │ + move/from16 v16, v0 │ + │ + const/4 v15, 0x0 │ │ - .local v11, "i$":I │ :goto_3 │ - if-ge v11, v12, :cond_5 │ + move/from16 v0, v16 │ + │ + if-ge v15, v0, :cond_5 │ │ - aget-object v18, v6, v11 │ + aget-object v14, p1, v15 │ │ .line 148 │ - .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 149 │ - new-instance v19, Ljava/lang/StringBuilder; │ - │ - invoke-direct/range {v19 .. v19}, Ljava/lang/StringBuilder;->()V │ + new-instance v17, Ljava/lang/StringBuilder; │ │ - move-object/from16 v0, v19 │ + invoke-direct/range {v17 .. v17}, Ljava/lang/StringBuilder;->()V │ │ - move-object/from16 v1, v18 │ + move-object/from16 v0, v17 │ │ - 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 150 │ - invoke-virtual {v4}, 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 │ .catch Ljava/lang/InterruptedException; {:try_start_0 .. :try_end_0} :catch_1 │ │ .line 147 │ - add-int/lit8 v11, v11, 0x1 │ + add-int/lit8 v15, v15, 0x1 │ │ goto :goto_3 │ │ .line 141 │ - .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; │ + .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 153 │ - .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 │ :try_start_1 │ - const-string v19, "exit\n" │ - │ - const-string v20, "UTF-8" │ + const-string v15, "exit\n" │ │ - invoke-virtual/range {v19 .. v20}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B │ + const-string v16, "UTF-8" │ │ - move-result-object v19 │ + invoke-virtual/range {v15 .. v16}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B │ │ - 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 154 │ - 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_3 │ .catch Ljava/lang/InterruptedException; {:try_start_1 .. :try_end_1} :catch_1 │ │ .line 163 │ :goto_4 │ :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_0 │ .catch Ljava/lang/InterruptedException; {:try_start_2 .. :try_end_2} :catch_1 │ │ .line 171 │ :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_2 │ .catch Ljava/lang/InterruptedException; {:try_start_3 .. :try_end_3} :catch_1 │ │ .line 174 │ :goto_5 │ :try_start_4 │ - invoke-virtual {v5}, Leu/chainfire/libsuperuser/StreamGobbler;->join()V │ + invoke-virtual {v4}, Leu/chainfire/libsuperuser/StreamGobbler;->join()V │ │ .line 175 │ - invoke-virtual {v3}, Leu/chainfire/libsuperuser/StreamGobbler;->join()V │ + invoke-virtual {v2}, Leu/chainfire/libsuperuser/StreamGobbler;->join()V │ │ .line 176 │ - invoke-virtual {v14}, Ljava/lang/Process;->destroy()V │ + invoke-virtual {v10}, Ljava/lang/Process;->destroy()V │ │ .line 179 │ 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_6 │ + if-eqz v15, :cond_6 │ │ - 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_0 │ .catch Ljava/lang/InterruptedException; {:try_start_4 .. :try_end_4} :catch_1 │ │ - move-result v19 │ - │ - const/16 v20, 0xff │ + move-result v15 │ │ - move/from16 v0, v19 │ + const/16 v16, 0xff │ │ - move/from16 v1, v20 │ + move/from16 v0, v16 │ │ - if-ne v0, v1, :cond_6 │ + if-ne v15, v0, :cond_6 │ │ .line 180 │ - const/4 v15, 0x0 │ + const/4 v11, 0x0 │ │ .line 190 │ - .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 v11 # "i$":I │ - .end local v12 # "len$":I │ - .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_6 │ :goto_6 │ - 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; │ │ 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; │ + 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 191 │ - return-object v15 │ + return-object v11 │ │ .line 182 │ :catch_0 │ - move-exception v7 │ + move-exception v5 │ │ .line 184 │ - .local v7, "e":Ljava/io/IOException; │ - const/4 v15, 0x0 │ + .local v5, "e":Ljava/io/IOException; │ + const/4 v11, 0x0 │ │ .line 188 │ goto :goto_6 │ │ .line 185 │ - .end local v7 # "e":Ljava/io/IOException; │ + .end local v5 # "e":Ljava/io/IOException; │ :catch_1 │ - move-exception v7 │ + move-exception v5 │ │ .line 187 │ - .local v7, "e":Ljava/lang/InterruptedException; │ - const/4 v15, 0x0 │ + .local v5, "e":Ljava/lang/InterruptedException; │ + const/4 v11, 0x0 │ │ goto :goto_6 │ │ .line 172 │ - .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 v11 # "i$":I │ - .restart local v12 # "len$":I │ - .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_2 │ - move-exception v19 │ + move-exception v15 │ │ goto :goto_5 │ │ .line 155 │ :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 1265 │ 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 │ @@ -511,20 +511,22 @@ │ .local v1, "internal":Ljava/lang/String; │ if-eqz v0, :cond_0 │ │ if-eqz v1, :cond_0 │ │ const-string v3, "SUPERSU" │ │ + .line 427 │ invoke-virtual {v0, v3}, Ljava/lang/String;->endsWith(Ljava/lang/String;)Z │ │ move-result v3 │ │ if-eqz v3, :cond_0 │ │ + .line 428 │ 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,171 +601,167 @@ │ :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 v1, 0x0 │ + const/4 v0, 0x0 │ │ .line 350 │ - 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 351 │ - .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 352 │ - const/4 v4, 0x0 │ + const/4 v3, 0x0 │ │ .line 354 │ - .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, 0x0 │ + const/4 v6, 0x0 │ │ - new-array v7, v7, [Ljava/lang/String; │ + new-array v6, v6, [Ljava/lang/String; │ │ - 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 361 │ - .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 362 │ - 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 363 │ - .local v2, "line":Ljava/lang/String; │ + .local v1, "line":Ljava/lang/String; │ if-nez p0, :cond_5 │ │ .line 364 │ - 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 365 │ - move-object v4, v2 │ + move-object v3, v1 │ │ .line 380 │ - .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 382 │ - .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 │ │ .line 350 │ - .end local v1 # "idx":I │ + .end local v0 # "idx":I │ :cond_3 │ - const/4 v1, 0x1 │ + const/4 v0, 0x1 │ │ goto :goto_0 │ │ .line 354 │ - .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 370 │ - .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 371 │ - move-object v4, v2 │ + move-object v3, v1 │ │ goto :goto_3 │ │ .line 374 │ :catch_0 │ - move-exception v5 │ + move-exception v6 │ │ goto :goto_2 │ │ .line 350 │ - .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 1508 │ 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 1372 │ 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 27 │ invoke-direct {p0}, Ljava/lang/Object;->()V │ │ - .line 57 │ return-void │ .end method │ │ .method public static getDebug()Z │ .locals 1 │ │ .prologue ├── 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 1484 │ iput-object p1, p0, Leu/chainfire/libsuperuser/Shell$Interactive$5;->this$0:Leu/chainfire/libsuperuser/Shell$Interactive; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V │ │ @@ -85,14 +86,15 @@ │ │ .line 1493 │ :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 1494 │ invoke-static {v2}, Leu/chainfire/libsuperuser/Shell$Interactive;->access$1900(Leu/chainfire/libsuperuser/Shell$Interactive;)Leu/chainfire/libsuperuser/Shell$Command; │ │ move-result-object v2 │ │ invoke-static {v2}, Leu/chainfire/libsuperuser/Shell$Command;->access$1500(Leu/chainfire/libsuperuser/Shell$Command;)Ljava/lang/String; │ │ move-result-object v2 │ @@ -105,14 +107,15 @@ │ │ invoke-virtual {p1, v2}, Ljava/lang/String;->substring(I)Ljava/lang/String; │ │ move-result-object v2 │ │ const/16 v3, 0xa │ │ + .line 1493 │ 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 1425 │ 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; │ │ @@ -100,14 +101,15 @@ │ │ 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 1434 │ 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 │ │ invoke-interface {v0, v1, v2}, Leu/chainfire/libsuperuser/Shell$OnCommandLineListener;->onCommandResult(II)V ├── smali/eu/chainfire/libsuperuser/Shell$Interactive.smali │ @@ -720,349 +720,349 @@ │ :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 1462 │ 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; │ + 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; │ + 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 1467 │ :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 1468 │ 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 1482 │ :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 1483 │ - 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 1484 │ + 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 1507 │ - 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 1508 │ + 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 1528 │ - 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 1529 │ - 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 1531 │ - 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 1532 │ - 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 1534 │ 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 1539 │ :goto_1 │ monitor-exit p0 │ │ - return v6 │ + return v5 │ │ .line 1470 │ :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 1471 │ - .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 1472 │ - 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 1473 │ const/4 v3, 0x0 │ │ .line 1474 │ .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 1475 │ .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; │ + 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 1476 │ .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 1477 │ add-int/lit8 v3, v3, 0x1 │ │ .line 1478 │ goto :goto_2 │ │ .line 1479 │ .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 1537 │ .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 1539 │ goto :goto_1 │ │ .line 1462 │ .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; │ @@ -1246,14 +1246,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 1349 │ 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; │ │ invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z │ @@ -1323,170 +1324,169 @@ │ .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 1291 │ invoke-virtual {p0}, Leu/chainfire/libsuperuser/Shell$Interactive;->isRunning()Z │ │ - move-result v4 │ + move-result v1 │ │ .line 1292 │ - .local v4, "running":Z │ - if-nez v4, :cond_0 │ + .local v1, "running":Z │ + if-nez v1, :cond_0 │ │ .line 1293 │ - iput-boolean v6, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->idle:Z │ + iput-boolean v3, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->idle:Z │ │ .line 1295 │ :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 1296 │ - 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 1297 │ - .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 1299 │ - 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 1300 │ - iput v8, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->lastExitCode:I │ + iput v4, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->lastExitCode:I │ │ .line 1301 │ - 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 1302 │ - 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 1304 │ - 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 1306 │ :try_start_0 │ - 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 1311 │ - 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; │ + 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 1314 │ :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 1315 │ - 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 1316 │ invoke-direct {p0}, Leu/chainfire/libsuperuser/Shell$Interactive;->startWatchdog()V │ │ .line 1317 │ - 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 1318 │ - .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 1319 │ 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 1318 │ + 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 1320 │ - 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; │ │ @@ -1498,193 +1498,190 @@ │ │ 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 1317 │ - add-int/lit8 v2, v2, 0x1 │ + add-int/lit8 v3, v3, 0x1 │ │ goto :goto_0 │ │ .line 1322 │ - .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 │ │ - 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 │ + 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 │ + invoke-virtual {v3, v4}, Ljava/io/DataOutputStream;->write([B)V │ │ .line 1323 │ - 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 │ │ - 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 │ + 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 │ + invoke-virtual {v3, v4}, Ljava/io/DataOutputStream;->write([B)V │ │ .line 1324 │ - 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 1337 │ - .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 1338 │ - 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 1339 │ :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 1340 │ - monitor-exit v7 │ + monitor-exit v4 │ :try_end_1 │ .catchall {:try_start_1 .. :try_end_1} :catchall_0 │ │ .line 1342 │ :cond_4 │ return-void │ │ .line 1328 │ - .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 1330 │ - .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 1332 │ :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 1333 │ - 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 1340 │ :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 1325 │ - .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 │ │ @@ -2569,22 +2566,24 @@ │ .line 1702 │ iget-object v2, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->handler:Landroid/os/Handler; │ │ if-eqz v2, :cond_3 │ │ iget-object v2, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->handler:Landroid/os/Handler; │ │ + .line 1703 │ invoke-virtual {v2}, Landroid/os/Handler;->getLooper()Landroid/os/Looper; │ │ move-result-object v2 │ │ if-eqz v2, :cond_3 │ │ iget-object v2, p0, Leu/chainfire/libsuperuser/Shell$Interactive;->handler:Landroid/os/Handler; │ │ + .line 1704 │ 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