Whitelisting window_manager_native_boot system property
Bug: 147096935
Test: build, boot
Change-Id: Iadeefa3cfc9bb17eb19b60dbd18de047fa01b673
diff --git a/private/compat/29.0/29.0.ignore.cil b/private/compat/29.0/29.0.ignore.cil
index 2811683..582c8de 100644
--- a/private/compat/29.0/29.0.ignore.cil
+++ b/private/compat/29.0/29.0.ignore.cil
@@ -27,6 +27,7 @@
dataloader_manager_service
device_config_storage_native_boot_prop
device_config_sys_traced_prop
+ device_config_window_manager_native_boot_prop
exported_camera_prop
file_integrity_service
gmscore_app
diff --git a/private/property_contexts b/private/property_contexts
index 625bf37..21a32b5 100644
--- a/private/property_contexts
+++ b/private/property_contexts
@@ -197,6 +197,7 @@
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
persist.device_config.storage_native_boot. u:object_r:device_config_storage_native_boot_prop:s0
+persist.device_config.window_manager_native_boot. u:object_r:device_config_window_manager_native_boot_prop:s0
# Properties that relate to legacy server configurable flags
persist.device_config.global_settings.sys_traced u:object_r:device_config_sys_traced_prop:s0
diff --git a/private/system_server.te b/private/system_server.te
index 8d4e4f8..cde4385 100644
--- a/private/system_server.te
+++ b/private/system_server.te
@@ -619,6 +619,7 @@
set_prop(system_server, device_config_media_native_prop)
set_prop(system_server, device_config_storage_native_boot_prop)
set_prop(system_server, device_config_sys_traced_prop)
+set_prop(system_server, device_config_window_manager_native_boot_prop)
# BootReceiver to read ro.boot.bootreason
get_prop(system_server, bootloader_boot_reason_prop)
@@ -990,6 +991,7 @@
device_config_media_native_prop
device_config_storage_native_boot_prop
device_config_sys_traced_prop
+ device_config_window_manager_native_boot_prop
}:property_service set;
# system_server should never be executing dex2oat. This is either
diff --git a/private/zygote.te b/private/zygote.te
index 6ad6db4..5024dce 100644
--- a/private/zygote.te
+++ b/private/zygote.te
@@ -170,6 +170,10 @@
get_prop(zygote, device_config_runtime_native_prop)
get_prop(zygote, device_config_runtime_native_boot_prop)
+# Allow the zygote to access window manager native boot feature flags
+# to initialize WindowManager static properties.
+get_prop(zygote, device_config_window_manager_native_boot_prop)
+
# ingore spurious denials
dontaudit zygote self:global_capability_class_set sys_resource;