mirror of
https://github.com/revanced/revanced-cli.git
synced 2025-05-21 00:37:14 +02:00
refactor: Simplify replacement logic
This commit is contained in:
parent
3e13fb5d56
commit
e3851d58c8
@ -15,6 +15,7 @@ import app.revanced.lib.adb.Constants.RESTART
|
|||||||
import app.revanced.lib.adb.Constants.TMP_PATH
|
import app.revanced.lib.adb.Constants.TMP_PATH
|
||||||
import app.revanced.lib.adb.Constants.UMOUNT
|
import app.revanced.lib.adb.Constants.UMOUNT
|
||||||
import se.vidstige.jadb.JadbConnection
|
import se.vidstige.jadb.JadbConnection
|
||||||
|
import se.vidstige.jadb.JadbDevice
|
||||||
import se.vidstige.jadb.managers.Package
|
import se.vidstige.jadb.managers.Package
|
||||||
import se.vidstige.jadb.managers.PackageManager
|
import se.vidstige.jadb.managers.PackageManager
|
||||||
import java.io.File
|
import java.io.File
|
||||||
@ -74,27 +75,25 @@ sealed class AdbManager private constructor(deviceSerial: String? = null) {
|
|||||||
override fun install(apk: Apk) {
|
override fun install(apk: Apk) {
|
||||||
logger.info("Installing by mounting")
|
logger.info("Installing by mounting")
|
||||||
|
|
||||||
val applyReplacement = getPlaceholderReplacement(
|
val packageName = apk.packageName ?: throw PackageNameRequiredException()
|
||||||
apk.packageName ?: throw PackageNameRequiredException()
|
|
||||||
)
|
|
||||||
|
|
||||||
device.run(RESOLVE_ACTIVITY.applyReplacement()).inputStream.bufferedReader().readLine().let { line ->
|
device.run(RESOLVE_ACTIVITY, packageName).inputStream.bufferedReader().readLine().let { line ->
|
||||||
if (line != "No activity found") return@let
|
if (line != "No activity found") return@let
|
||||||
throw throw FailedToFindInstalledPackageException(apk.packageName)
|
throw throw FailedToFindInstalledPackageException(packageName)
|
||||||
}
|
}
|
||||||
|
|
||||||
device.push(apk.file, TMP_PATH)
|
device.push(apk.file, TMP_PATH)
|
||||||
|
|
||||||
device.run("$CREATE_DIR $INSTALLATION_PATH")
|
device.run("$CREATE_DIR $INSTALLATION_PATH")
|
||||||
device.run(INSTALL_PATCHED_APK.applyReplacement())
|
device.run(INSTALL_PATCHED_APK, packageName)
|
||||||
|
|
||||||
device.createFile(TMP_PATH, MOUNT_SCRIPT.applyReplacement())
|
device.createFile(TMP_PATH, MOUNT_SCRIPT.applyReplacement(packageName))
|
||||||
|
|
||||||
device.run(INSTALL_MOUNT.applyReplacement())
|
device.run(INSTALL_MOUNT, packageName)
|
||||||
device.run(UMOUNT.applyReplacement()) // Sanity check.
|
device.run(UMOUNT, packageName) // Sanity check.
|
||||||
device.run(MOUNT_PATH.applyReplacement())
|
device.run(MOUNT_PATH, packageName)
|
||||||
device.run(RESTART.applyReplacement())
|
device.run(RESTART, packageName)
|
||||||
device.run(DELETE.applyReplacement(TMP_PATH).applyReplacement())
|
device.run(DELETE, TMP_PATH)
|
||||||
|
|
||||||
super.install(apk)
|
super.install(apk)
|
||||||
}
|
}
|
||||||
@ -102,18 +101,16 @@ sealed class AdbManager private constructor(deviceSerial: String? = null) {
|
|||||||
override fun uninstall(packageName: String) {
|
override fun uninstall(packageName: String) {
|
||||||
logger.info("Uninstalling $packageName by unmounting")
|
logger.info("Uninstalling $packageName by unmounting")
|
||||||
|
|
||||||
val applyReplacement = getPlaceholderReplacement(packageName)
|
device.run(UMOUNT, packageName)
|
||||||
|
device.run(DELETE.applyReplacement(PATCHED_APK_PATH), packageName)
|
||||||
device.run(UMOUNT.applyReplacement(packageName))
|
device.run(DELETE, MOUNT_PATH)
|
||||||
device.run(DELETE.applyReplacement(PATCHED_APK_PATH).applyReplacement())
|
device.run(DELETE, TMP_PATH)
|
||||||
device.run(DELETE.applyReplacement(MOUNT_PATH).applyReplacement())
|
|
||||||
device.run(DELETE.applyReplacement(TMP_PATH).applyReplacement())
|
|
||||||
|
|
||||||
super.uninstall(packageName)
|
super.uninstall(packageName)
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object Utils {
|
companion object Utils {
|
||||||
private fun getPlaceholderReplacement(with: String): String.() -> String = { replace(PLACEHOLDER, with) }
|
private fun JadbDevice.run(command: String, with: String) = run(command.applyReplacement(with))
|
||||||
private fun String.applyReplacement(with: String) = replace(PLACEHOLDER, with)
|
private fun String.applyReplacement(with: String) = replace(PLACEHOLDER, with)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user