mirror of
https://github.com/ReVanced/revanced-library.git
synced 2026-01-11 13:56:17 +00:00
refactor: Simplify checking for installed app
This commit is contained in:
@@ -3,6 +3,7 @@ package app.revanced.library.adb
|
||||
import app.revanced.library.adb.AdbManager.Apk
|
||||
import app.revanced.library.adb.Constants.CREATE_DIR
|
||||
import app.revanced.library.adb.Constants.DELETE
|
||||
import app.revanced.library.adb.Constants.GET_INSTALLED_PATH
|
||||
import app.revanced.library.adb.Constants.INSTALLATION_PATH
|
||||
import app.revanced.library.adb.Constants.INSTALL_MOUNT
|
||||
import app.revanced.library.adb.Constants.INSTALL_PATCHED_APK
|
||||
@@ -10,7 +11,6 @@ import app.revanced.library.adb.Constants.MOUNT_PATH
|
||||
import app.revanced.library.adb.Constants.MOUNT_SCRIPT
|
||||
import app.revanced.library.adb.Constants.PATCHED_APK_PATH
|
||||
import app.revanced.library.adb.Constants.PLACEHOLDER
|
||||
import app.revanced.library.adb.Constants.RESOLVE_ACTIVITY
|
||||
import app.revanced.library.adb.Constants.RESTART
|
||||
import app.revanced.library.adb.Constants.TMP_PATH
|
||||
import app.revanced.library.adb.Constants.UMOUNT
|
||||
@@ -77,8 +77,8 @@ sealed class AdbManager private constructor(deviceSerial: String? = null) {
|
||||
|
||||
val packageName = apk.packageName ?: throw PackageNameRequiredException()
|
||||
|
||||
device.run(RESOLVE_ACTIVITY, packageName).inputStream.bufferedReader().readLine().let { line ->
|
||||
if (line != "No activity found") return@let
|
||||
device.run(GET_INSTALLED_PATH, packageName).inputStream.bufferedReader().readLine().let { line ->
|
||||
if (line != null) return@let
|
||||
throw throw FailedToFindInstalledPackageException(packageName)
|
||||
}
|
||||
|
||||
@@ -105,6 +105,7 @@ sealed class AdbManager private constructor(deviceSerial: String? = null) {
|
||||
device.run(DELETE.applyReplacement(PATCHED_APK_PATH), packageName)
|
||||
device.run(DELETE, MOUNT_PATH.applyReplacement(packageName))
|
||||
device.run(DELETE, TMP_PATH)
|
||||
device.run(RESTART, packageName)
|
||||
|
||||
super.uninstall(packageName)
|
||||
}
|
||||
|
||||
@@ -10,9 +10,8 @@ internal object Constants {
|
||||
|
||||
internal const val DELETE = "rm -rf $PLACEHOLDER"
|
||||
internal const val CREATE_DIR = "mkdir -p"
|
||||
internal const val RESOLVE_ACTIVITY = "pm resolve-activity --brief $PLACEHOLDER"
|
||||
internal const val RESTART = "$RESOLVE_ACTIVITY | tail -n 1 | " +
|
||||
"xargs am start -n && kill ${'$'}(pidof -s $PLACEHOLDER)"
|
||||
internal const val RESTART = "am start -S $PLACEHOLDER"
|
||||
internal const val GET_INSTALLED_PATH = "pm path $PLACEHOLDER"
|
||||
|
||||
internal const val INSTALL_PATCHED_APK = "base_path=\"$PATCHED_APK_PATH\" && " +
|
||||
"mv $TMP_PATH ${'$'}base_path && " +
|
||||
|
||||
Reference in New Issue
Block a user