Add a switch for update ownership enforcement

In case we decide not to enforce the update ownership to installers
for some reason, add this feature flag accordingly.

Bug: 244413073
Test: build
Change-Id: I9928951c5753cb6810e65cf47fff452434ab472a
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
index 7ab19ff..b3c71f6 100644
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
@@ -499,7 +499,7 @@
     private static final String PROPERTY_KNOWN_DIGESTERS_LIST = "known_digesters_list";
 
     /**
-     * Whether of not requesting the approval before committing sessions is available.
+     * Whether or not requesting the approval before committing sessions is available.
      *
      * Flag type: {@code boolean}
      * Namespace: NAMESPACE_PACKAGE_MANAGER_SERVICE
@@ -508,6 +508,15 @@
             "is_preapproval_available";
 
     /**
+     * Whether or not the update ownership enforcement is available.
+     *
+     * Flag type: {@code boolean}
+     * Namespace: NAMESPACE_PACKAGE_MANAGER_SERVICE
+     */
+    private static final String PROPERTY_IS_UPDATE_OWNERSHIP_ENFORCEMENT_AVAILABLE =
+            "is_update_ownership_enforcement_available";
+
+    /**
      * The default response for package verification timeout.
      *
      * This can be either PackageManager.VERIFICATION_ALLOW or
@@ -7074,6 +7083,16 @@
         }
     }
 
+    static boolean isUpdateOwnershipEnforcementAvailable() {
+        final long token = Binder.clearCallingIdentity();
+        try {
+            return DeviceConfig.getBoolean(NAMESPACE_PACKAGE_MANAGER_SERVICE,
+                    PROPERTY_IS_UPDATE_OWNERSHIP_ENFORCEMENT_AVAILABLE, false /* defaultValue */);
+        } finally {
+            Binder.restoreCallingIdentity(token);
+        }
+    }
+
     /**
      * Returns the array containing per-uid timeout configuration.
      * This is derived from DeviceConfig flags.