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.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)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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 && " +
|
||||||
|
|||||||
Reference in New Issue
Block a user