From 4ce43df88fb427aedf3e9b522eb037285590a482 Mon Sep 17 00:00:00 2001 From: tehcneko <7764726+tehcneko@users.noreply.github.com> Date: Sun, 7 Mar 2021 14:22:54 +0800 Subject: [PATCH] [core] Upgrade manager if older version installed --- .../java/io/github/lsposed/lspd/service/PackageService.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/io/github/lsposed/lspd/service/PackageService.java b/core/src/main/java/io/github/lsposed/lspd/service/PackageService.java index 33a00dc4..7e2d4a44 100644 --- a/core/src/main/java/io/github/lsposed/lspd/service/PackageService.java +++ b/core/src/main/java/io/github/lsposed/lspd/service/PackageService.java @@ -242,8 +242,8 @@ public class PackageService { if (pkgInfo != null && pkgInfo.versionName != null && pkgInfo.applicationInfo != null) { boolean versionMatch = pkgInfo.versionName.equals(BuildConfig.VERSION_NAME); boolean signatureMatch = InstallerVerifier.verifyInstallerSignature(pkgInfo.applicationInfo); - if (versionMatch && signatureMatch) return false; - if (!signatureMatch || pkgInfo.versionCode > BuildConfig.VERSION_CODE) + if (versionMatch && signatureMatch && pkgInfo.versionCode >= BuildConfig.VERSION_CODE) return false; + if (!signatureMatch || !versionMatch && pkgInfo.versionCode > BuildConfig.VERSION_CODE) uninstallPackage(new VersionedPackage(pkgInfo.packageName, pkgInfo.versionCode)); } IPackageInstaller installerService = pm.getPackageInstaller();