From fda3eca74f30b968d8ee816d63a3dcf493e026de Mon Sep 17 00:00:00 2001 From: Riccardo Nava <116394015+ricnava00@users.noreply.github.com> Date: Tue, 10 Oct 2023 01:22:45 +0200 Subject: [PATCH] fix: Execute ADB commands sequentially to fix mounting issues (#12) --- src/main/kotlin/app/revanced/library/adb/AdbManager.kt | 10 +++++----- src/main/kotlin/app/revanced/library/adb/Commands.kt | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/kotlin/app/revanced/library/adb/AdbManager.kt b/src/main/kotlin/app/revanced/library/adb/AdbManager.kt index 0be060d..123e4f2 100644 --- a/src/main/kotlin/app/revanced/library/adb/AdbManager.kt +++ b/src/main/kotlin/app/revanced/library/adb/AdbManager.kt @@ -84,14 +84,14 @@ sealed class AdbManager private constructor(deviceSerial: String? = null) { device.push(apk.file, TMP_PATH) - device.run("$CREATE_DIR $INSTALLATION_PATH") - device.run(INSTALL_PATCHED_APK, packageName) + device.run("$CREATE_DIR $INSTALLATION_PATH").waitFor() + device.run(INSTALL_PATCHED_APK, packageName).waitFor() device.createFile(TMP_PATH, MOUNT_SCRIPT.applyReplacement(packageName)) - device.run(INSTALL_MOUNT, packageName) - device.run(UMOUNT, packageName) // Sanity check. - device.run(MOUNT_PATH, packageName) + device.run(INSTALL_MOUNT, packageName).waitFor() + device.run(UMOUNT, packageName).waitFor() // Sanity check. + device.run(MOUNT_PATH, packageName).waitFor() device.run(RESTART, packageName) device.run(DELETE, TMP_PATH) diff --git a/src/main/kotlin/app/revanced/library/adb/Commands.kt b/src/main/kotlin/app/revanced/library/adb/Commands.kt index 205f777..2b4d5ee 100644 --- a/src/main/kotlin/app/revanced/library/adb/Commands.kt +++ b/src/main/kotlin/app/revanced/library/adb/Commands.kt @@ -21,7 +21,7 @@ internal fun JadbDevice.run(command: String, su: Boolean = true): ShellProcess { } internal fun JadbDevice.hasSu() = - this.startCommand("su -h", false).waitFor() == 0 + this.startCommand("which su", false).waitFor() == 0 internal fun JadbDevice.push(file: File, targetFilePath: String) = push(file, RemoteFile(targetFilePath))