Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ceeca68b authored by Songchun Fan's avatar Songchun Fan Committed by Song Chun Fan
Browse files

[pm] still allow debuggable for system app downgrades

Turns out we do have internal tests that downgrades system apps, so adding this exception to allow for that.

BUG: 267232653
BUG: 256202273

Test: manual
Change-Id: Ie281bbdc8788ee64ff99a7c5150da7ce7926235e
parent 1ba51e8e
Loading
Loading
Loading
Loading
+13 −9
Original line number Diff line number Diff line
@@ -2570,12 +2570,15 @@ final class InstallPackageHelper {
                    if (disabledPs != null) {
                        dataOwnerPkg = disabledPs.getPkg();
                    }
                    if (!Build.IS_DEBUGGABLE && !dataOwnerPkg.isDebuggable()) {
                        // Only restrict non-debuggable builds and non-debuggable version of the app
                        try {
                            PackageManagerServiceUtils.checkDowngrade(dataOwnerPkg, pkgLite);
                        } catch (PackageManagerException e) {
                        String errorMsg = "System app: " + packageName + " cannot be downgraded to"
                                + " older than its preloaded version on the system image. "
                                + e.getMessage();
                            String errorMsg =
                                    "System app: " + packageName + " cannot be downgraded to"
                                            + " older than its preloaded version on the system"
                                            + " image. " + e.getMessage();
                            Slog.w(TAG, errorMsg);
                            return Pair.create(
                                    PackageManager.INSTALL_FAILED_VERSION_DOWNGRADE, errorMsg);
@@ -2583,6 +2586,7 @@ final class InstallPackageHelper {
                    }
                }
            }
        }
        return Pair.create(PackageManager.INSTALL_SUCCEEDED, null);
    }