Re-compile on userfaultfd phenotype flag change.

After this change, odrefresh re-compiles everything when the phenotype
flag `runtime_native_boot.enable_uffd_gc` changes. It writes the value
of the flag to cache-info.xml for change detection.

According to go/platform-experiment-namespaces#namespace-types, the
phenotype flag is back by a persistent system property. Therefore, we
can directly read the flag from the system property instead of depending
on the `server_configurable_flags` library. This behavior is consistent
with the existing ART code (particularly, `art::Flag`), which reads
other phenotype flags.

Bug: 231298279
Test: atest odsign_e2e_tests_full
Change-Id: I02b70569ecd96d4ded6d2d3be22c34b2c6a4c5b4
Merged-In: I02b70569ecd96d4ded6d2d3be22c34b2c6a4c5b4
(cherry picked from commit 45d0881f7444307955b51db5be88c5f890647c5e)
diff --git a/odrefresh/odrefresh.h b/odrefresh/odrefresh.h
index 58da57a..9dd4009 100644
--- a/odrefresh/odrefresh.h
+++ b/odrefresh/odrefresh.h
@@ -140,6 +140,25 @@
       /*out*/ std::set<std::string>* jars_missing_artifacts,
       /*out*/ std::vector<std::string>* checked_artifacts = nullptr) const;
 
+  // Returns true if all of the system properties listed in `kSystemProperties` are set to the
+  // default values.
+  WARN_UNUSED bool CheckSystemPropertiesAreDefault() const;
+
+  // Returns true if none of the system properties listed in `kSystemProperties` has changed since
+  // the last compilation.
+  WARN_UNUSED bool CheckSystemPropertiesHaveNotChanged(
+      const com::android::art::CacheInfo& cache_info) const;
+
+  // Returns true if boot classpath artifacts on /system are usable if they exist. Note that this
+  // function does not check file existence.
+  WARN_UNUSED bool BootClasspathArtifactsOnSystemUsable(
+      const com::android::apex::ApexInfo& art_apex_info) const;
+
+  // Returns true if system_server artifacts on /system are usable if they exist. Note that this
+  // function does not check file existence.
+  WARN_UNUSED bool SystemServerArtifactsOnSystemUsable(
+      const std::vector<com::android::apex::ApexInfo>& apex_info_list) const;
+
   // Checks whether all boot classpath artifacts are up to date. Returns true if all are present,
   // false otherwise.
   // If `checked_artifacts` is present, adds checked artifacts to `checked_artifacts`.