Expose virtual_camera types to vendor

Virtual Camera requires access to the GPU and many vendors faced issues
because they could not extends the sepolicy of virtual_camera to match
the architecture of their graphic stack.

This will allow them to define their own rules for virtual_camera

Test: builds, Virtual Camera CTS
Bug: 382029007
Change-Id: I29009f8d0423667030228dc5978b49501715a9f0
Merged-In: I29009f8d0423667030228dc5978b49501715a9f0
diff --git a/private/compat/202404/202404.ignore.cil b/private/compat/202404/202404.ignore.cil
index 91ca88f..c10b0d5 100644
--- a/private/compat/202404/202404.ignore.cil
+++ b/private/compat/202404/202404.ignore.cil
@@ -27,6 +27,8 @@
     sysfs_firmware_acpi_tables
     tee_service_contexts_file
     trusty_security_vm_sys_vendor_prop
+    virtual_camera
+    virtual_camera_exec
     virtual_face
     virtual_face_exec
     virtual_fingerprint
diff --git a/private/virtual_camera.te b/private/virtual_camera.te
index 31eadb2..9b64c63 100644
--- a/private/virtual_camera.te
+++ b/private/virtual_camera.te
@@ -1,7 +1,10 @@
 # virtual_camera - virtual camera daemon
 
-type virtual_camera, domain, coredomain;
-type virtual_camera_exec, system_file_type, exec_type, file_type;
+# The types are moved to public starting at 202502
+until_board_api(202504, `
+    type virtual_camera, domain, coredomain;
+    type virtual_camera_exec, system_file_type, exec_type, file_type;
+')
 
 init_daemon_domain(virtual_camera)