Label xtra-daemon control property

Change-Id: I4999055ac55786862aeab6153462d500997079c0
diff --git a/common/private/compat/32.0/32.0.ignore.cil b/common/private/compat/32.0/32.0.ignore.cil
new file mode 100644
index 0000000..b876684
--- /dev/null
+++ b/common/private/compat/32.0/32.0.ignore.cil
@@ -0,0 +1,8 @@
+;; new_objects - a collection of types that have been introduced that have no
+;;   analogue in older policy.  Thus, we do not need to map these types to
+;;   previous ones.  Add here to pass checkapi tests.
+(type new_objects)
+(typeattribute new_objects)
+(typeattributeset new_objects
+  ( new_objects
+    xtra_control_prop))
diff --git a/common/private/property_contexts b/common/private/property_contexts
index 4851742..36b5ca9 100644
--- a/common/private/property_contexts
+++ b/common/private/property_contexts
@@ -7,3 +7,6 @@
 
 # Recovery update
 persist.vendor.recovery_update         u:object_r:recovery_update_prop:s0
+
+# xtra-daemon control
+persist.sys.xtra-daemon.enabled        u:object_r:xtra_control_prop:s0 exact bool
diff --git a/common/private/system_server.te b/common/private/system_server.te
index 7c917fe..84c9185 100644
--- a/common/private/system_server.te
+++ b/common/private/system_server.te
@@ -11,3 +11,6 @@
 
 # Let system server find auxiliary camera properties
 get_prop(system_server, vendor_persist_camera_prop)
+
+# Let system server toggle xtra-daemon
+set_prop(system_server, xtra_control_prop)
diff --git a/common/private/vendor_init.te b/common/private/vendor_init.te
new file mode 100644
index 0000000..3cc5867
--- /dev/null
+++ b/common/private/vendor_init.te
@@ -0,0 +1,2 @@
+# xtra-daemon control
+get_prop(vendor_init, xtra_control_prop)
diff --git a/common/public/property.te b/common/public/property.te
index 72d8694..8bb07da 100644
--- a/common/public/property.te
+++ b/common/public/property.te
@@ -1,2 +1,5 @@
 # Aux camera allow/excludelist prop
 system_vendor_config_prop(vendor_persist_camera_prop)
+
+# xtra-daemon control
+system_restricted_prop(xtra_control_prop)