From d375e733feca5b179f6b02d0500b7825eee0df0b Mon Sep 17 00:00:00 2001 From: Eino-Ville Talvala <etalvala@google.com> Date: Wed, 20 Jun 2018 14:08:02 -0700 Subject: [PATCH] Make system property audio.camerasound.force a vendor-writable property, This property is read by the audio service in system server to toggle camera shutter sound enforcement on a device-specific basis. Test: Camera shutter sound enforcement works when audio.camerasound.force is set Bug: 110126976 Change-Id: I2720d3c699c4712d1a328f59dde0b16bbf1016f3 --- prebuilts/api/28.0/private/compat/26.0/26.0.ignore.cil | 1 + prebuilts/api/28.0/private/compat/27.0/27.0.ignore.cil | 1 + prebuilts/api/28.0/private/system_server.te | 4 ++++ prebuilts/api/28.0/public/property.te | 1 + prebuilts/api/28.0/public/property_contexts | 1 + prebuilts/api/28.0/public/vendor_init.te | 1 + private/compat/26.0/26.0.ignore.cil | 1 + private/compat/27.0/27.0.ignore.cil | 1 + private/system_server.te | 4 ++++ public/property.te | 1 + public/property_contexts | 1 + public/vendor_init.te | 1 + 12 files changed, 18 insertions(+) diff --git a/prebuilts/api/28.0/private/compat/26.0/26.0.ignore.cil b/prebuilts/api/28.0/private/compat/26.0/26.0.ignore.cil index c8edf9f7d..4e0aae22f 100644 --- a/prebuilts/api/28.0/private/compat/26.0/26.0.ignore.cil +++ b/prebuilts/api/28.0/private/compat/26.0/26.0.ignore.cil @@ -23,6 +23,7 @@ e2fs e2fs_exec exfat + exported_audio_prop exported_bluetooth_prop exported_config_prop exported_dalvik_prop diff --git a/prebuilts/api/28.0/private/compat/27.0/27.0.ignore.cil b/prebuilts/api/28.0/private/compat/27.0/27.0.ignore.cil index 610674830..747478ccc 100644 --- a/prebuilts/api/28.0/private/compat/27.0/27.0.ignore.cil +++ b/prebuilts/api/28.0/private/compat/27.0/27.0.ignore.cil @@ -27,6 +27,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/prebuilts/api/28.0/private/system_server.te b/prebuilts/api/28.0/private/system_server.te index b037fe4a6..fa84c3226 100644 --- a/prebuilts/api/28.0/private/system_server.te +++ b/prebuilts/api/28.0/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/prebuilts/api/28.0/public/property.te b/prebuilts/api/28.0/public/property.te index 09200b836..b0397e957 100644 --- a/prebuilts/api/28.0/public/property.te +++ b/prebuilts/api/28.0/public/property.te @@ -66,6 +66,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/prebuilts/api/28.0/public/property_contexts b/prebuilts/api/28.0/public/property_contexts index 842a885a1..4f81c1c32 100644 --- a/prebuilts/api/28.0/public/property_contexts +++ b/prebuilts/api/28.0/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/prebuilts/api/28.0/public/vendor_init.te b/prebuilts/api/28.0/public/vendor_init.te index d07987325..4e4b31365 100644 --- a/prebuilts/api/28.0/public/vendor_init.te +++ b/prebuilts/api/28.0/public/vendor_init.te @@ -170,6 +170,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) diff --git a/private/compat/26.0/26.0.ignore.cil b/private/compat/26.0/26.0.ignore.cil index c8edf9f7d..4e0aae22f 100644 --- a/private/compat/26.0/26.0.ignore.cil +++ b/private/compat/26.0/26.0.ignore.cil @@ -23,6 +23,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 610674830..747478ccc 100644 --- a/private/compat/27.0/27.0.ignore.cil +++ b/private/compat/27.0/27.0.ignore.cil @@ -27,6 +27,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 b037fe4a6..fa84c3226 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 09200b836..b0397e957 100644 --- a/public/property.te +++ b/public/property.te @@ -66,6 +66,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 842a885a1..4f81c1c32 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 d07987325..4e4b31365 100644 --- a/public/vendor_init.te +++ b/public/vendor_init.te @@ -170,6 +170,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) -- GitLab