diff --git a/core/java/android/content/pm/PackageInstaller.java b/core/java/android/content/pm/PackageInstaller.java index cb988dfdb2039..30fd77ca467c8 100644 --- a/core/java/android/content/pm/PackageInstaller.java +++ b/core/java/android/content/pm/PackageInstaller.java @@ -2991,6 +2991,10 @@ public class PackageInstaller { * The update ownership enforcement can only be enabled on initial installation. Set * this to {@code true} on package update is a no-op. * + * Apps may opt themselves out of update ownership by setting the + * android:alllowUpdateOwnership + * attribute in their manifest to false. + * * Note: To enable the update ownership enforcement, the installer must have the * {@link android.Manifest.permission#ENFORCE_UPDATE_OWNERSHIP ENFORCE_UPDATE_OWNERSHIP} * permission. diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index 6b213b78f11c7..e4e3a9d0b7d3d 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -7273,7 +7273,7 @@ public class PackageManagerService implements PackageSender, TestUtilityService final long token = Binder.clearCallingIdentity(); try { return DeviceConfig.getBoolean(NAMESPACE_PACKAGE_MANAGER_SERVICE, - PROPERTY_IS_UPDATE_OWNERSHIP_ENFORCEMENT_AVAILABLE, false /* defaultValue */); + PROPERTY_IS_UPDATE_OWNERSHIP_ENFORCEMENT_AVAILABLE, true /* defaultValue */); } finally { Binder.restoreCallingIdentity(token); }