refactor: Simplify checking for installed app

This commit is contained in:
oSumAtrIX
2023-11-25 03:30:08 +01:00
parent 4fe0fb0a61
commit 969ca16b77
2 changed files with 6 additions and 6 deletions

View File

@@ -3,6 +3,7 @@ package app.revanced.library.adb
import app.revanced.library.adb.AdbManager.Apk import app.revanced.library.adb.AdbManager.Apk
import app.revanced.library.adb.Constants.CREATE_DIR import app.revanced.library.adb.Constants.CREATE_DIR
import app.revanced.library.adb.Constants.DELETE 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.INSTALLATION_PATH
import app.revanced.library.adb.Constants.INSTALL_MOUNT import app.revanced.library.adb.Constants.INSTALL_MOUNT
import app.revanced.library.adb.Constants.INSTALL_PATCHED_APK 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.MOUNT_SCRIPT
import app.revanced.library.adb.Constants.PATCHED_APK_PATH import app.revanced.library.adb.Constants.PATCHED_APK_PATH
import app.revanced.library.adb.Constants.PLACEHOLDER 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.RESTART
import app.revanced.library.adb.Constants.TMP_PATH import app.revanced.library.adb.Constants.TMP_PATH
import app.revanced.library.adb.Constants.UMOUNT 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() val packageName = apk.packageName ?: throw PackageNameRequiredException()
device.run(RESOLVE_ACTIVITY, packageName).inputStream.bufferedReader().readLine().let { line -> device.run(GET_INSTALLED_PATH, packageName).inputStream.bufferedReader().readLine().let { line ->
if (line != "No activity found") return@let if (line != null) return@let
throw throw FailedToFindInstalledPackageException(packageName) 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.applyReplacement(PATCHED_APK_PATH), packageName)
device.run(DELETE, MOUNT_PATH.applyReplacement(packageName)) device.run(DELETE, MOUNT_PATH.applyReplacement(packageName))
device.run(DELETE, TMP_PATH) device.run(DELETE, TMP_PATH)
device.run(RESTART, packageName)
super.uninstall(packageName) super.uninstall(packageName)
} }

View File

@@ -10,9 +10,8 @@ internal object Constants {
internal const val DELETE = "rm -rf $PLACEHOLDER" internal const val DELETE = "rm -rf $PLACEHOLDER"
internal const val CREATE_DIR = "mkdir -p" internal const val CREATE_DIR = "mkdir -p"
internal const val RESOLVE_ACTIVITY = "pm resolve-activity --brief $PLACEHOLDER" internal const val RESTART = "am start -S $PLACEHOLDER"
internal const val RESTART = "$RESOLVE_ACTIVITY | tail -n 1 | " + internal const val GET_INSTALLED_PATH = "pm path $PLACEHOLDER"
"xargs am start -n && kill ${'$'}(pidof -s $PLACEHOLDER)"
internal const val INSTALL_PATCHED_APK = "base_path=\"$PATCHED_APK_PATH\" && " + internal const val INSTALL_PATCHED_APK = "base_path=\"$PATCHED_APK_PATH\" && " +
"mv $TMP_PATH ${'$'}base_path && " + "mv $TMP_PATH ${'$'}base_path && " +