diff --git a/private/compat/26.0/26.0.ignore.cil b/private/compat/26.0/26.0.ignore.cil index 79cadf8f4e8c33766a0c9f46338bff44bfd956d6..d99c58f5553922ae7c7e8f28b9c4d18059ccf614 100644 --- a/private/compat/26.0/26.0.ignore.cil +++ b/private/compat/26.0/26.0.ignore.cil @@ -25,6 +25,7 @@ e2fs e2fs_exec exfat + exported_audio_prop exported_bluetooth_prop exported_config_prop exported_dalvik_prop diff --git a/private/compat/27.0/27.0.ignore.cil b/private/compat/27.0/27.0.ignore.cil index 3b3f6f81451db86888bcf31a3eb62323275eb7bf..9b82f35f3927527b12f4939ec37451f212ca36f5 100644 --- a/private/compat/27.0/27.0.ignore.cil +++ b/private/compat/27.0/27.0.ignore.cil @@ -29,6 +29,7 @@ exported3_default_prop exported3_radio_prop exported3_system_prop + exported_audio_prop exported_bluetooth_prop exported_config_prop exported_dalvik_prop diff --git a/private/system_server.te b/private/system_server.te index d7bf54aa7377e6febf055fe1857c5e2be376e41e..182b004b035719a45df23c21958f451a4a8e1b46 100644 --- a/private/system_server.te +++ b/private/system_server.te @@ -536,6 +536,10 @@ get_prop(system_server, serialno_prop) # Read/write the property which keeps track of whether this is the first start of system_server set_prop(system_server, firstboot_prop) +# Audio service in system server can read exported audio properties, +# such as camera shutter enforcement +get_prop(system_server, exported_audio_prop) + # Create a socket for connections from debuggerd. allow system_server system_ndebug_socket:sock_file create_file_perms; diff --git a/public/property.te b/public/property.te index e399a5f4c0ed21d28dc9f1b7f3538f0413b1d95b..508eed5947bb7ff0c3ded41ea06a33a5f64fed0d 100644 --- a/public/property.te +++ b/public/property.te @@ -67,6 +67,7 @@ type wifi_prop, property_type; type vendor_security_patch_level_prop, property_type; # Properties for whitelisting +type exported_audio_prop, property_type; type exported_bluetooth_prop, property_type; type exported_config_prop, property_type; type exported_dalvik_prop, property_type; diff --git a/public/property_contexts b/public/property_contexts index fdc2da9efb65c08c04e438406a9a134a1cd8f651..1ffcc1bb2a2d204cc762e07f95e6d76fff70023e 100644 --- a/public/property_contexts +++ b/public/property_contexts @@ -3,6 +3,7 @@ persist.radio.airplane_mode_on u:object_r:exported2_radio_prop:s0 exact int # vendor-init-settable af.fast_track_multiplier u:object_r:exported3_default_prop:s0 exact int +audio.camerasound.force u:object_r:exported_audio_prop:s0 exact bool camera.disable_zsl_mode u:object_r:exported3_default_prop:s0 exact bool camera.fifo.disable u:object_r:exported3_default_prop:s0 exact int dalvik.vm.appimageformat u:object_r:exported_dalvik_prop:s0 exact string diff --git a/public/vendor_init.te b/public/vendor_init.te index 6307f2cf6ef332d3bd6eb4f68f7091fee22f38ec..fda80f4162e2abfa98798499fb735a5c41adef49 100644 --- a/public/vendor_init.te +++ b/public/vendor_init.te @@ -176,6 +176,7 @@ not_compatible_property(` set_prop(vendor_init, bluetooth_a2dp_offload_prop) set_prop(vendor_init, debug_prop) +set_prop(vendor_init, exported_audio_prop) set_prop(vendor_init, exported_bluetooth_prop) set_prop(vendor_init, exported_config_prop) set_prop(vendor_init, exported_dalvik_prop)