From 8e0e1063638a385164a1d426b2d4be20007b81cb Mon Sep 17 00:00:00 2001 From: Jasmine Cha Date: Fri, 3 Mar 2023 14:51:32 +0800 Subject: [PATCH] audio: add audio hal aidl service - separate audio hal HIDL and AIDL services. - separate sepolicy of aoc and audio Bug: 259161622 Test: build pass and check hidl/aidl on gs201 build pass for other chipset Change-Id: Id3c0446be6cdcd5a6e75c832e7d7f4a64716f79c Signed-off-by: Jasmine Cha --- aoc/sepolicy/device.te | 2 - aoc/sepolicy/file.te | 4 -- aoc/sepolicy/file_contexts | 5 -- aoc/sepolicy/property.te | 2 - aoc/sepolicy/property_contexts | 11 ----- audio/aidl.mk | 11 +++++ .../aidl/device_framework_matrix_product.xml | 10 ++++ audio/aidl/manifest.xml | 11 +++++ audio/common.mk | 25 ++++++++++ .../hidl/device_framework_matrix_product.xml | 18 +++++++ .../device_framework_matrix_product_gs101.xml | 18 +++++++ audio/hidl/manifest.xml | 47 +++++++++++++++++++ audio/hidl/manifest_gs101.xml | 47 +++++++++++++++++++ audio/hidl/manifest_gs101_64.xml | 47 +++++++++++++++++++ audio/hidl_gs101.mk | 39 +++++++++++++++ audio/hidl_gs201.mk | 39 +++++++++++++++ audio/hidl_zuma.mk | 38 +++++++++++++++ audio/sepolicy/aidl/file_contexts | 2 + audio/sepolicy/aidl/hal_audio_default.te | 1 + audio/sepolicy/aidl/rild.te | 1 + .../sepolicy/aidl}/service.te | 0 .../sepolicy/aidl}/service_contexts | 0 audio/sepolicy/common/device.te | 2 + audio/sepolicy/common/file.te | 5 ++ audio/sepolicy/common/file_contexts | 11 +++++ .../sepolicy/common}/genfs_contexts | 0 .../sepolicy/common}/hal_audio_default.te | 7 --- .../common}/hal_audiometricext_default.te | 0 .../sepolicy/common}/hwservice.te | 4 -- .../sepolicy/common}/hwservice_contexts | 1 - audio/sepolicy/common/property.te | 2 + audio/sepolicy/common/property_contexts | 10 ++++ audio/sepolicy/hidl/hal_audio_default.te | 3 ++ audio/sepolicy/hidl/hwservice.te | 2 + audio/sepolicy/hidl/hwservice_contexts | 2 + audio/sepolicy/hidl/rild.te | 1 + 36 files changed, 392 insertions(+), 36 deletions(-) create mode 100644 audio/aidl.mk create mode 100644 audio/aidl/device_framework_matrix_product.xml create mode 100644 audio/aidl/manifest.xml create mode 100644 audio/common.mk create mode 100644 audio/hidl/device_framework_matrix_product.xml create mode 100644 audio/hidl/device_framework_matrix_product_gs101.xml create mode 100644 audio/hidl/manifest.xml create mode 100644 audio/hidl/manifest_gs101.xml create mode 100644 audio/hidl/manifest_gs101_64.xml create mode 100644 audio/hidl_gs101.mk create mode 100644 audio/hidl_gs201.mk create mode 100644 audio/hidl_zuma.mk create mode 100644 audio/sepolicy/aidl/file_contexts create mode 100644 audio/sepolicy/aidl/hal_audio_default.te create mode 100644 audio/sepolicy/aidl/rild.te rename {aoc/sepolicy => audio/sepolicy/aidl}/service.te (100%) rename {aoc/sepolicy => audio/sepolicy/aidl}/service_contexts (100%) create mode 100644 audio/sepolicy/common/device.te create mode 100644 audio/sepolicy/common/file.te create mode 100644 audio/sepolicy/common/file_contexts rename {aoc/sepolicy => audio/sepolicy/common}/genfs_contexts (100%) rename {aoc/sepolicy => audio/sepolicy/common}/hal_audio_default.te (85%) rename {aoc/sepolicy => audio/sepolicy/common}/hal_audiometricext_default.te (100%) rename {aoc/sepolicy => audio/sepolicy/common}/hwservice.te (53%) rename {aoc/sepolicy => audio/sepolicy/common}/hwservice_contexts (53%) create mode 100644 audio/sepolicy/common/property.te create mode 100644 audio/sepolicy/common/property_contexts create mode 100644 audio/sepolicy/hidl/hal_audio_default.te create mode 100644 audio/sepolicy/hidl/hwservice.te create mode 100644 audio/sepolicy/hidl/hwservice_contexts create mode 100644 audio/sepolicy/hidl/rild.te diff --git a/aoc/sepolicy/device.te b/aoc/sepolicy/device.te index fbd2b32..fbee004 100644 --- a/aoc/sepolicy/device.te +++ b/aoc/sepolicy/device.te @@ -1,5 +1,3 @@ # AOC device type aoc_device, dev_type; -# AMCS device -type amcs_device, dev_type; diff --git a/aoc/sepolicy/file.te b/aoc/sepolicy/file.te index 649e161..602c5fe 100644 --- a/aoc/sepolicy/file.te +++ b/aoc/sepolicy/file.te @@ -7,10 +7,6 @@ type sysfs_aoc_reset, sysfs_type, fs_type; # persist type persist_aoc_file, file_type, vendor_persist_type; -type persist_audio_file, file_type, vendor_persist_type; # vendor type aoc_audio_file, file_type, vendor_file_type; - -# data -type audio_vendor_data_file, file_type, data_file_type; diff --git a/aoc/sepolicy/file_contexts b/aoc/sepolicy/file_contexts index 70af43f..65f4aa5 100644 --- a/aoc/sepolicy/file_contexts +++ b/aoc/sepolicy/file_contexts @@ -22,20 +22,15 @@ /dev/aoc u:object_r:aoc_device:s0 /dev/acd-audio_ap_offload_rx u:object_r:aoc_device:s0 /dev/acd-audio_ap_offload_tx u:object_r:aoc_device:s0 -/dev/amcs u:object_r:amcs_device:s0 # AoC vendor binaries /vendor/bin/aocd u:object_r:aocd_exec:s0 /vendor/bin/aocdump u:object_r:aocdump_exec:s0 /vendor/bin/dump/dump_aoc u:object_r:dump_aoc_exec:s0 -/vendor/bin/hw/vendor\.google\.audiometricext@1\.0-service-vendor u:object_r:hal_audiometricext_default_exec:s0 # AoC audio files /vendor/etc/aoc(/.*)? u:object_r:aoc_audio_file:s0 # Aoc persist files /mnt/vendor/persist/aoc(/.*)? u:object_r:persist_aoc_file:s0 -/mnt/vendor/persist/audio(/.*)? u:object_r:persist_audio_file:s0 -# Audio data files -/data/vendor/audio(/.*)? u:object_r:audio_vendor_data_file:s0 diff --git a/aoc/sepolicy/property.te b/aoc/sepolicy/property.te index d38e3ec..e6f9ddb 100644 --- a/aoc/sepolicy/property.te +++ b/aoc/sepolicy/property.te @@ -1,4 +1,2 @@ # AoC vendor_internal_prop(vendor_aoc_prop) -# Audio -vendor_internal_prop(vendor_audio_prop) diff --git a/aoc/sepolicy/property_contexts b/aoc/sepolicy/property_contexts index e957de6..0838873 100644 --- a/aoc/sepolicy/property_contexts +++ b/aoc/sepolicy/property_contexts @@ -1,13 +1,2 @@ # AoC vendor.aoc.firmware.version u:object_r:vendor_aoc_prop:s0 - -# for audio -vendor.audio_hal.period_multiplier u:object_r:vendor_audio_prop:s0 -vendor.audiodump.enable u:object_r:vendor_audio_prop:s0 -persist.vendor.audio. u:object_r:vendor_audio_prop:s0 -vendor.audiodump.log.ondemand u:object_r:vendor_audio_prop:s0 -vendor.audiodump.log.config u:object_r:vendor_audio_prop:s0 -vendor.audiodump.output.dir u:object_r:vendor_audio_prop:s0 -vendor.audiodump.encode.disable u:object_r:vendor_audio_prop:s0 -vendor.audiodump.log.cca.updated u:object_r:vendor_audio_prop:s0 -vendor.audiodump.cca.config u:object_r:vendor_audio_prop:s0 diff --git a/audio/aidl.mk b/audio/aidl.mk new file mode 100644 index 0000000..1044148 --- /dev/null +++ b/audio/aidl.mk @@ -0,0 +1,11 @@ +DEVICE_MANIFEST_FILE += device/google/gs-common/audio/aidl/manifest.xml + +# Audio HALs +PRODUCT_PACKAGES += \ + android.hardware.audio.service-aidl.aoc + +BOARD_VENDOR_SEPOLICY_DIRS += device/google/gs-common/audio/sepolicy/aidl + +include device/google/gs-common/audio/common.mk + +DEVICE_PRODUCT_COMPATIBILITY_MATRIX_FILE += device/google/gs-common/audio/aidl/device_framework_matrix_product.xml diff --git a/audio/aidl/device_framework_matrix_product.xml b/audio/aidl/device_framework_matrix_product.xml new file mode 100644 index 0000000..48b8889 --- /dev/null +++ b/audio/aidl/device_framework_matrix_product.xml @@ -0,0 +1,10 @@ + + + vendor.google.audiometricext + 1.0 + + IAudioMetricExt + default + + + diff --git a/audio/aidl/manifest.xml b/audio/aidl/manifest.xml new file mode 100644 index 0000000..8d957cc --- /dev/null +++ b/audio/aidl/manifest.xml @@ -0,0 +1,11 @@ + + + vendor.google.audiometricext + hwbinder + 1.0 + + IAudioMetricExt + default + + + diff --git a/audio/common.mk b/audio/common.mk new file mode 100644 index 0000000..7f3375b --- /dev/null +++ b/audio/common.mk @@ -0,0 +1,25 @@ +BOARD_VENDOR_SEPOLICY_DIRS += device/google/gs-common/audio/sepolicy/common + +#Audio Vendor libraries +PRODUCT_PACKAGES += \ + libfvsam_prm_parser \ + libmahalcontroller \ + libAlgFx_HiFi3z + +## AudioHAL Configurations +PRODUCT_COPY_FILES += \ + frameworks/av/services/audiopolicy/config/a2dp_audio_policy_configuration_7_0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_audio_policy_configuration_7_0.xml \ + frameworks/av/services/audiopolicy/config/a2dp_in_audio_policy_configuration_7_0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_in_audio_policy_configuration_7_0.xml \ + frameworks/av/services/audiopolicy/config/hearing_aid_audio_policy_configuration_7_0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/hearing_aid_audio_policy_configuration_7_0.xml \ + frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml \ + frameworks/av/services/audiopolicy/config/usb_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/usb_audio_policy_configuration.xml \ + frameworks/av/services/audiopolicy/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml \ + frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \ + frameworks/av/services/audiopolicy/config/bluetooth_audio_policy_configuration_7_0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_audio_policy_configuration_7_0.xml + +## TODO(b/271958194): separate for hidl and aidl. +PRODUCT_SOONG_NAMESPACES += \ + vendor/google/whitechapel/audio/hal \ + vendor/google/whitechapel/audio/interfaces + +$(call soong_config_set,aoc_audio_board,platform,$(TARGET_BOARD_PLATFORM)) diff --git a/audio/hidl/device_framework_matrix_product.xml b/audio/hidl/device_framework_matrix_product.xml new file mode 100644 index 0000000..4c0a3c1 --- /dev/null +++ b/audio/hidl/device_framework_matrix_product.xml @@ -0,0 +1,18 @@ + + + vendor.google.whitechapel.audio.audioext + 4.0 + + IAudioExt + default + + + + vendor.google.audiometricext + 1.0 + + IAudioMetricExt + default + + + diff --git a/audio/hidl/device_framework_matrix_product_gs101.xml b/audio/hidl/device_framework_matrix_product_gs101.xml new file mode 100644 index 0000000..e1bd62a --- /dev/null +++ b/audio/hidl/device_framework_matrix_product_gs101.xml @@ -0,0 +1,18 @@ + + + vendor.google.whitechapel.audio.audioext + 4.0 + + IAudioExt + default + + + + vendor.google.audiometricext + 1.0 + + IAudioMetricExt + default + + + diff --git a/audio/hidl/manifest.xml b/audio/hidl/manifest.xml new file mode 100644 index 0000000..80eec22 --- /dev/null +++ b/audio/hidl/manifest.xml @@ -0,0 +1,47 @@ + + + android.hardware.audio + hwbinder + 7.1 + + IDevicesFactory + default + + + + android.hardware.audio.effect + hwbinder + 7.0 + + IEffectsFactory + default + + + + android.hardware.soundtrigger + hwbinder + 2.3 + + ISoundTriggerHw + default + + + + vendor.google.whitechapel.audio.audioext + hwbinder + 4.0 + + IAudioExt + default + + + + vendor.google.audiometricext + hwbinder + 1.0 + + IAudioMetricExt + default + + + diff --git a/audio/hidl/manifest_gs101.xml b/audio/hidl/manifest_gs101.xml new file mode 100644 index 0000000..c2fba61 --- /dev/null +++ b/audio/hidl/manifest_gs101.xml @@ -0,0 +1,47 @@ + + + android.hardware.audio + hwbinder + 7.1 + + IDevicesFactory + default + + + + android.hardware.audio.effect + hwbinder + 7.0 + + IEffectsFactory + default + + + + android.hardware.soundtrigger + hwbinder + 2.3 + + ISoundTriggerHw + default + + + + vendor.google.whitechapel.audio.audioext + hwbinder + 4.0 + + IAudioExt + default + + + + vendor.google.audiometricext + hwbinder + 1.0 + + IAudioMetricExt + default + + + diff --git a/audio/hidl/manifest_gs101_64.xml b/audio/hidl/manifest_gs101_64.xml new file mode 100644 index 0000000..0022cea --- /dev/null +++ b/audio/hidl/manifest_gs101_64.xml @@ -0,0 +1,47 @@ + + + android.hardware.audio + hwbinder + 7.1 + + IDevicesFactory + default + + + + android.hardware.audio.effect + hwbinder + 7.0 + + IEffectsFactory + default + + + + android.hardware.soundtrigger + hwbinder + 2.3 + + ISoundTriggerHw + default + + + + vendor.google.whitechapel.audio.audioext + hwbinder + 4.0 + + IAudioExt + default + + + + vendor.google.audiometricext + hwbinder + 1.0 + + IAudioMetricExt + default + + + diff --git a/audio/hidl_gs101.mk b/audio/hidl_gs101.mk new file mode 100644 index 0000000..f764e7a --- /dev/null +++ b/audio/hidl_gs101.mk @@ -0,0 +1,39 @@ +DEVICE_MANIFEST_FILE += device/google/gs-common/audio/hidl/manifest_gs101$(LOCAL_64ONLY).xml + +# Audio HAL Server & Default Implementations +PRODUCT_PACKAGES += \ + android.hardware.audio.service \ + android.hardware.audio@7.1-impl \ + android.hardware.audio.effect@7.0-impl \ + android.hardware.bluetooth.audio-impl \ + android.hardware.soundtrigger@2.3-impl \ + vendor.google.whitechapel.audio.audioext@4.0-impl + +#Audio HAL libraries +PRODUCT_PACKAGES += \ + audio.primary.$(TARGET_BOARD_PLATFORM) \ + audio.platform.aoc \ + sound_trigger.primary.$(TARGET_BOARD_PLATFORM) \ + audio_bt_aoc \ + audio_tunnel_aoc \ + aoc_aud_ext \ + libaoctuningdecoder \ + libaoc_waves \ + liboffloadeffect \ + audio_waves_aoc \ + audio_fortemedia_aoc \ + audio_bluenote_aoc \ + audio_usb_aoc \ + audio_spk_35l41 \ + audio.usb.default \ + audio.usbv2.default \ + audio.bluetooth.default \ + audio.r_submix.default \ + libamcsextfile \ + audio_amcs_ext \ + +BOARD_VENDOR_SEPOLICY_DIRS += device/google/gs-common/audio/sepolicy/hidl + +include device/google/gs-common/audio/common.mk + +DEVICE_PRODUCT_COMPATIBILITY_MATRIX_FILE += device/google/gs-common/audio/hidl/device_framework_matrix_product_gs101.xml diff --git a/audio/hidl_gs201.mk b/audio/hidl_gs201.mk new file mode 100644 index 0000000..1438b27 --- /dev/null +++ b/audio/hidl_gs201.mk @@ -0,0 +1,39 @@ +DEVICE_MANIFEST_FILE += device/google/gs-common/audio/hidl/manifest.xml + +# Audio HAL Server & Default Implementations +PRODUCT_PACKAGES += \ + android.hardware.audio.service \ + android.hardware.audio@7.1-impl \ + android.hardware.audio.effect@7.0-impl \ + android.hardware.soundtrigger@2.3-impl \ + vendor.google.whitechapel.audio.audioext@4.0-impl \ + android.hardware.bluetooth.audio-impl \ + +#Audio HAL libraries +PRODUCT_PACKAGES += \ + audio.primary.$(TARGET_BOARD_PLATFORM) \ + audio.platform.aoc \ + audio_tunnel_aoc \ + aoc_aud_ext \ + libaoctuningdecoder \ + liboffloadeffect \ + audio_bt_aoc \ + audio_waves_aoc \ + audio_fortemedia_aoc \ + audio_bluenote_aoc \ + audio_usb_aoc \ + audio_cca_aoc \ + libamcsextfile \ + audio_amcs_ext \ + audio.usb.default \ + audio.usbv2.default \ + audio.bluetooth.default \ + audio.r_submix.default \ + audio_spk_35l41 \ + sound_trigger.primary.$(TARGET_BOARD_PLATFORM) + +BOARD_VENDOR_SEPOLICY_DIRS += device/google/gs-common/audio/sepolicy/hidl + +include device/google/gs-common/audio/common.mk + +DEVICE_PRODUCT_COMPATIBILITY_MATRIX_FILE += device/google/gs-common/audio/hidl/device_framework_matrix_product.xml diff --git a/audio/hidl_zuma.mk b/audio/hidl_zuma.mk new file mode 100644 index 0000000..980d5fb --- /dev/null +++ b/audio/hidl_zuma.mk @@ -0,0 +1,38 @@ +DEVICE_MANIFEST_FILE += device/google/gs-common/audio/hidl/manifest.xml + +# Audio HAL Server & Default Implementations +PRODUCT_PACKAGES += \ + android.hardware.audio.service \ + android.hardware.audio@7.1-impl \ + android.hardware.audio.effect@7.0-impl \ + android.hardware.soundtrigger@2.3-impl \ + vendor.google.whitechapel.audio.audioext@4.0-impl \ + android.hardware.bluetooth.audio-impl \ + +#Audio HAL libraries +PRODUCT_PACKAGES += \ + audio.primary.$(TARGET_BOARD_PLATFORM) \ + audio.platform.aoc \ + audio_tunnel_aoc \ + aoc_aud_ext \ + libaoctuningdecoder \ + liboffloadeffect \ + audio_bt_aoc \ + audio_waves_aoc \ + audio_fortemedia_aoc \ + audio_bluenote_aoc \ + audio_usb_aoc \ + libamcsextfile \ + audio_amcs_ext \ + audio.usb.default \ + audio.usbv2.default \ + audio.bluetooth.default \ + audio.r_submix.default \ + audio_spk_35l41 \ + sound_trigger.primary.$(TARGET_BOARD_PLATFORM) + +BOARD_VENDOR_SEPOLICY_DIRS += device/google/gs-common/audio/sepolicy/hidl + +include device/google/gs-common/audio/common.mk + +DEVICE_PRODUCT_COMPATIBILITY_MATRIX_FILE += device/google/gs-common/audio/hidl/device_framework_matrix_product.xml diff --git a/audio/sepolicy/aidl/file_contexts b/audio/sepolicy/aidl/file_contexts new file mode 100644 index 0000000..9e07893 --- /dev/null +++ b/audio/sepolicy/aidl/file_contexts @@ -0,0 +1,2 @@ +# Audio Hal AIDL Service for Aoc +/vendor/bin/hw/android\.hardware\.audio\.service-aidl\.aoc u:object_r:hal_audio_default_exec:s0 diff --git a/audio/sepolicy/aidl/hal_audio_default.te b/audio/sepolicy/aidl/hal_audio_default.te new file mode 100644 index 0000000..2512a17 --- /dev/null +++ b/audio/sepolicy/aidl/hal_audio_default.te @@ -0,0 +1 @@ +add_service(hal_audio_default, hal_audio_ext_service) diff --git a/audio/sepolicy/aidl/rild.te b/audio/sepolicy/aidl/rild.te new file mode 100644 index 0000000..218a69d --- /dev/null +++ b/audio/sepolicy/aidl/rild.te @@ -0,0 +1 @@ +allow rild hal_audio_ext_service:service_manager find; diff --git a/aoc/sepolicy/service.te b/audio/sepolicy/aidl/service.te similarity index 100% rename from aoc/sepolicy/service.te rename to audio/sepolicy/aidl/service.te diff --git a/aoc/sepolicy/service_contexts b/audio/sepolicy/aidl/service_contexts similarity index 100% rename from aoc/sepolicy/service_contexts rename to audio/sepolicy/aidl/service_contexts diff --git a/audio/sepolicy/common/device.te b/audio/sepolicy/common/device.te new file mode 100644 index 0000000..b4e77e5 --- /dev/null +++ b/audio/sepolicy/common/device.te @@ -0,0 +1,2 @@ +# AMCS device +type amcs_device, dev_type; diff --git a/audio/sepolicy/common/file.te b/audio/sepolicy/common/file.te new file mode 100644 index 0000000..353ab9f --- /dev/null +++ b/audio/sepolicy/common/file.te @@ -0,0 +1,5 @@ +# persist +type persist_audio_file, file_type, vendor_persist_type; + +# data +type audio_vendor_data_file, file_type, data_file_type; diff --git a/audio/sepolicy/common/file_contexts b/audio/sepolicy/common/file_contexts new file mode 100644 index 0000000..1480861 --- /dev/null +++ b/audio/sepolicy/common/file_contexts @@ -0,0 +1,11 @@ +# AMCS devices +/dev/amcs u:object_r:amcs_device:s0 + +# AMCS vendor service +/vendor/bin/hw/vendor\.google\.audiometricext@1\.0-service-vendor u:object_r:hal_audiometricext_default_exec:s0 + +# Audio data files +/data/vendor/audio(/.*)? u:object_r:audio_vendor_data_file:s0 + +# Audio presist file +/mnt/vendor/persist/audio(/.*)? u:object_r:persist_audio_file:s0 diff --git a/aoc/sepolicy/genfs_contexts b/audio/sepolicy/common/genfs_contexts similarity index 100% rename from aoc/sepolicy/genfs_contexts rename to audio/sepolicy/common/genfs_contexts diff --git a/aoc/sepolicy/hal_audio_default.te b/audio/sepolicy/common/hal_audio_default.te similarity index 85% rename from aoc/sepolicy/hal_audio_default.te rename to audio/sepolicy/common/hal_audio_default.te index 461875c..7465532 100644 --- a/aoc/sepolicy/hal_audio_default.te +++ b/audio/sepolicy/common/hal_audio_default.te @@ -1,6 +1,3 @@ -vndbinder_use(hal_audio_default) -hwbinder_use(hal_audio_default) - allow hal_audio_default audio_vendor_data_file:dir rw_dir_perms; allow hal_audio_default audio_vendor_data_file:file create_file_perms; @@ -12,10 +9,6 @@ allow hal_audio_default persist_file:dir search; allow hal_audio_default aoc_device:file rw_file_perms; allow hal_audio_default aoc_device:chr_file rw_file_perms; -allow hal_audio_default hal_audio_ext_hwservice:hwservice_manager { find add }; - -add_service(hal_audio_default, hal_audio_ext_service) - allow hal_audio_default amcs_device:file rw_file_perms; allow hal_audio_default amcs_device:chr_file rw_file_perms; allow hal_audio_default sysfs_pixelstats:file rw_file_perms; diff --git a/aoc/sepolicy/hal_audiometricext_default.te b/audio/sepolicy/common/hal_audiometricext_default.te similarity index 100% rename from aoc/sepolicy/hal_audiometricext_default.te rename to audio/sepolicy/common/hal_audiometricext_default.te diff --git a/aoc/sepolicy/hwservice.te b/audio/sepolicy/common/hwservice.te similarity index 53% rename from aoc/sepolicy/hwservice.te rename to audio/sepolicy/common/hwservice.te index b7bf5d9..0809453 100644 --- a/aoc/sepolicy/hwservice.te +++ b/audio/sepolicy/common/hwservice.te @@ -1,6 +1,2 @@ -# Audio -type hal_audio_ext_hwservice, hwservice_manager_type; - # AudioMetric type hal_audiometricext_hwservice, hwservice_manager_type; - diff --git a/aoc/sepolicy/hwservice_contexts b/audio/sepolicy/common/hwservice_contexts similarity index 53% rename from aoc/sepolicy/hwservice_contexts rename to audio/sepolicy/common/hwservice_contexts index f06c846..85c05e5 100644 --- a/aoc/sepolicy/hwservice_contexts +++ b/audio/sepolicy/common/hwservice_contexts @@ -1,4 +1,3 @@ # Audio -vendor.google.whitechapel.audio.audioext::IAudioExt u:object_r:hal_audio_ext_hwservice:s0 vendor.google.audiometricext::IAudioMetricExt u:object_r:hal_audiometricext_hwservice:s0 diff --git a/audio/sepolicy/common/property.te b/audio/sepolicy/common/property.te new file mode 100644 index 0000000..e2ffcd1 --- /dev/null +++ b/audio/sepolicy/common/property.te @@ -0,0 +1,2 @@ +# Audio +vendor_internal_prop(vendor_audio_prop) diff --git a/audio/sepolicy/common/property_contexts b/audio/sepolicy/common/property_contexts new file mode 100644 index 0000000..aa981f1 --- /dev/null +++ b/audio/sepolicy/common/property_contexts @@ -0,0 +1,10 @@ +# for audio +vendor.audio_hal.period_multiplier u:object_r:vendor_audio_prop:s0 +vendor.audiodump.enable u:object_r:vendor_audio_prop:s0 +persist.vendor.audio. u:object_r:vendor_audio_prop:s0 +vendor.audiodump.log.ondemand u:object_r:vendor_audio_prop:s0 +vendor.audiodump.log.config u:object_r:vendor_audio_prop:s0 +vendor.audiodump.output.dir u:object_r:vendor_audio_prop:s0 +vendor.audiodump.encode.disable u:object_r:vendor_audio_prop:s0 +vendor.audiodump.log.cca.updated u:object_r:vendor_audio_prop:s0 +vendor.audiodump.cca.config u:object_r:vendor_audio_prop:s0 diff --git a/audio/sepolicy/hidl/hal_audio_default.te b/audio/sepolicy/hidl/hal_audio_default.te new file mode 100644 index 0000000..bdc3bf9 --- /dev/null +++ b/audio/sepolicy/hidl/hal_audio_default.te @@ -0,0 +1,3 @@ +hwbinder_use(hal_audio_default) + +add_hwservice(hal_audio_default, hal_audio_ext_hwservice) diff --git a/audio/sepolicy/hidl/hwservice.te b/audio/sepolicy/hidl/hwservice.te new file mode 100644 index 0000000..15aaaf7 --- /dev/null +++ b/audio/sepolicy/hidl/hwservice.te @@ -0,0 +1,2 @@ +# Audio +type hal_audio_ext_hwservice, hwservice_manager_type; diff --git a/audio/sepolicy/hidl/hwservice_contexts b/audio/sepolicy/hidl/hwservice_contexts new file mode 100644 index 0000000..8eadd21 --- /dev/null +++ b/audio/sepolicy/hidl/hwservice_contexts @@ -0,0 +1,2 @@ +# Audio +vendor.google.whitechapel.audio.audioext::IAudioExt u:object_r:hal_audio_ext_hwservice:s0 diff --git a/audio/sepolicy/hidl/rild.te b/audio/sepolicy/hidl/rild.te new file mode 100644 index 0000000..378d26c --- /dev/null +++ b/audio/sepolicy/hidl/rild.te @@ -0,0 +1 @@ +allow rild hal_audio_ext_hwservice:hwservice_manager find;