Add device_config_runtime_native_boot_prop

Some runtime properties require reboots and should be in the
native_boot namespace instead of native.

Bug: 120794191
Bug: 123524494
Test: set a property and ensure it can be read in AndroidRuntime.cpp
Change-Id: I1d1e984dcba26dd04d34a7d30fc63e1b75a8a311
diff --git a/private/compat/28.0/28.0.ignore.cil b/private/compat/28.0/28.0.ignore.cil
index 6481dc1..ef796fa 100644
--- a/private/compat/28.0/28.0.ignore.cil
+++ b/private/compat/28.0/28.0.ignore.cil
@@ -32,6 +32,7 @@
     device_config_input_native_boot_prop
     device_config_netd_native_prop
     device_config_reset_performed_prop
+    device_config_runtime_native_boot_prop
     device_config_runtime_native_prop
     device_config_media_native_prop
     device_config_service
diff --git a/private/property_contexts b/private/property_contexts
index 6d78a07..4eb10dd 100644
--- a/private/property_contexts
+++ b/private/property_contexts
@@ -173,6 +173,7 @@
 persist.device_config.input_native_boot. u:object_r:device_config_input_native_boot_prop:s0
 persist.device_config.netd_native.           u:object_r:device_config_netd_native_prop:s0
 persist.device_config.runtime_native.        u:object_r:device_config_runtime_native_prop:s0
+persist.device_config.runtime_native_boot.   u:object_r:device_config_runtime_native_boot_prop:s0
 persist.device_config.media_native.          u:object_r:device_config_media_native_prop:s0
 
 apexd.                  u:object_r:apexd_prop:s0
diff --git a/private/system_server.te b/private/system_server.te
index 940dae2..49b5498 100644
--- a/private/system_server.te
+++ b/private/system_server.te
@@ -586,6 +586,7 @@
 set_prop(system_server, device_config_input_native_boot_prop)
 set_prop(system_server, device_config_netd_native_prop)
 set_prop(system_server, device_config_activity_manager_native_boot_prop)
+set_prop(system_server, device_config_runtime_native_boot_prop)
 set_prop(system_server, device_config_runtime_native_prop)
 set_prop(system_server, device_config_media_native_prop)
 
@@ -951,6 +952,7 @@
   device_config_activity_manager_native_boot_prop
   device_config_input_native_boot_prop
   device_config_netd_native_prop
+  device_config_runtime_native_boot_prop
   device_config_runtime_native_prop
   device_config_media_native_prop
 }:property_service set;
diff --git a/private/zygote.te b/private/zygote.te
index ab86f89..9bf6ef9 100644
--- a/private/zygote.te
+++ b/private/zygote.te
@@ -131,6 +131,7 @@
 
 # Allow the zygote to access the runtime feature flag properties.
 get_prop(zygote, device_config_runtime_native_prop)
+get_prop(zygote, device_config_runtime_native_boot_prop)
 
 # ingore spurious denials
 dontaudit zygote self:global_capability_class_set sys_resource;
diff --git a/public/flags_heatlh_check.te b/public/flags_heatlh_check.te
index 885c8c9..151c7c0 100644
--- a/public/flags_heatlh_check.te
+++ b/public/flags_heatlh_check.te
@@ -4,6 +4,7 @@
 
 set_prop(flags_health_check, device_config_boot_count_prop)
 set_prop(flags_health_check, device_config_reset_performed_prop)
+set_prop(flags_health_check, device_config_runtime_native_boot_prop)
 set_prop(flags_health_check, device_config_runtime_native_prop)
 set_prop(flags_health_check, device_config_input_native_boot_prop)
 set_prop(flags_health_check, device_config_netd_native_prop)
diff --git a/public/property.te b/public/property.te
index bef39b4..6cc67ed 100644
--- a/public/property.te
+++ b/public/property.te
@@ -33,6 +33,7 @@
 type device_config_reset_performed_prop, property_type;
 type device_config_input_native_boot_prop, property_type;
 type device_config_netd_native_prop, property_type;
+type device_config_runtime_native_boot_prop, property_type;
 type device_config_runtime_native_prop, property_type;
 type device_config_media_native_prop, property_type;
 type device_logging_prop, property_type;
@@ -407,6 +408,7 @@
     -device_config_boot_count_prop
     -device_config_input_native_boot_prop
     -device_config_netd_native_prop
+    -device_config_runtime_native_boot_prop
     -device_config_runtime_native_prop
     -device_config_media_native_prop
     -heapprofd_enabled_prop
diff --git a/public/vendor_init.te b/public/vendor_init.te
index b871f25..b7c60c6 100644
--- a/public/vendor_init.te
+++ b/public/vendor_init.te
@@ -179,6 +179,7 @@
       -device_config_reset_performed_prop
       -device_config_input_native_boot_prop
       -device_config_netd_native_prop
+      -device_config_runtime_native_boot_prop
       -device_config_runtime_native_prop
       -device_config_media_native_prop
       -restorecon_prop