Snap for 12238800 from 722dbe869c to mainline-tzdata6-release

Change-Id: I7ac66c38bd66baa994d2bb7a82c1d6ec45a9ca0c
This commit is contained in:
Android Build Coastguard Worker 2024-08-16 12:56:31 +00:00
commit ea2ca6992f
50 changed files with 175 additions and 206 deletions

11
FSTAB_OWNERS Normal file
View file

@ -0,0 +1,11 @@
# NOTE: CHANGE THIS FILE WITH CAUTIOUS
# - this file is referenced by other OWNERS file, e.g. device/google/*/OWNERS
# - changing this file might break the function, check go/gerrit-code-owners-syntax first
jaegeuk@google.com
huangrandall@google.com
bvanassche@google.com
daehojeong@google.com
chullee@google.com
vkon@google.com
thomasyen@google.com

4
OWNERS
View file

@ -1,5 +1,5 @@
per-file *.te,*_contexts,te_macros,global_macros=set noparent
per-file *.te,*_contexts,te_macros,global_macros=file:/sepolicy/OWNERS
per-file *.mk=set noparent
per-file *.mk=file:MK_OWNERS
per-file *.mk,{**/,}Android.bp=set noparent
per-file *.mk,{**/,}Android.bp=file:MK_OWNERS

View file

@ -1,3 +1,6 @@
# for serial no
vendor.audio_hal.device.serialno u:object_r:vendor_audio_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

View file

@ -34,7 +34,8 @@ int main() {
return 0;
}
dumpLogs(BCMBT_SNOOP_LOG_DIRECTORY, outputDir.c_str(), 2, BCMBT_SNOOP_LOG_PREFIX);
dumpLogs(BCMBT_SNOOP_LOG_DIRECTORY, outputDir.c_str(), 4,
BCMBT_SNOOP_LOG_PREFIX);
dumpLogs(BCMBT_SNOOP_LOG_DIRECTORY, outputDir.c_str(), 2, BCMBT_BACKUP_SNOOP_LOG_PREFIX);
dumpLogs(BCMBT_FW_LOG_DIRECTORY, outputDir.c_str(), 10, BCMBT_FW_DUMP_LOG_PREFIX);
dumpLogs(BCMBT_FW_LOG_DIRECTORY, outputDir.c_str(), 10, BCMBT_CHRE_DUMP_LOG_PREFIX);

View file

@ -1,7 +1,7 @@
# When neither AOSP nor factory targets
ifeq (,$(filter aosp_% factory_%, $(TARGET_PRODUCT)))
PRODUCT_PACKAGES += BetterBugStub
PRODUCT_PACKAGES_DEBUG += BetterBug
PRODUCT_PACKAGES_DEBUG += $(RELEASE_PACKAGE_BETTER_BUG)
endif
PRODUCT_PUBLIC_SEPOLICY_DIRS += device/google/gs-common/betterbug/sepolicy/product/public

View file

@ -19,6 +19,7 @@
#include "BootControl.h"
#include <android-base/file.h>
#include <android-base/properties.h>
#include <android-base/unique_fd.h>
#include <bootloader_message/bootloader_message.h>
#include <cutils/properties.h>
@ -254,16 +255,15 @@ static bool blowAR_gs101() {
}
static bool blowAR() {
char platform[PROPERTY_VALUE_MAX];
property_get("ro.boot.hardware.platform", platform, "");
const auto& platform = ::android::base::GetProperty("ro.boot.hardware.platform", "");
if (std::string(platform) == "gs101") {
if (platform == "gs101") {
return blowAR_gs101();
} else if (std::string(platform) == "gs201" || std::string(platform) == "zuma") {
} else if (platform == "gs201" || platform == "zuma" || platform == "zumapro") {
return blowAR_zuma();
}
return true;
return false;
}
} // namespace

View file

@ -20,6 +20,7 @@
#include <android-base/file.h>
#include <android-base/logging.h>
#include <android-base/properties.h>
#include <android-base/unique_fd.h>
#include <bootloader_message/bootloader_message.h>
#include <cutils/properties.h>
@ -251,16 +252,15 @@ static bool blowAR_gs101() {
}
static bool blowAR() {
char platform[PROPERTY_VALUE_MAX];
property_get("ro.boot.hardware.platform", platform, "");
const auto& platform = ::android::base::GetProperty("ro.boot.hardware.platform", "");
if (std::string(platform) == "gs101") {
if (platform == "gs101") {
return blowAR_gs101();
} else if (std::string(platform) == "gs201" || std::string(platform) == "zuma") {
} else if (platform == "gs201" || platform == "zuma" || platform == "zumapro") {
return blowAR_zuma();
}
return true;
return false;
}
static constexpr MergeStatus ToAIDLMergeStatus(HIDLMergeStatus status) {

View file

@ -5,14 +5,22 @@ $(call soong_config_set,lyric,use_lyric_camera_hal,true)
$(call soong_config_set,google3a_config,gcam_awb,true)
$(call soong_config_set,google3a_config,ghawb_truetone,true)
# Flag controls whether Lyric apex can be located in the dist-directory.
$(call soong_config_set, lyric, dist_lyric_apex, $(RELEASE_PIXEL_DIST_LYRIC_APEX))
# Select GCH backend.
# TODO(b/192681010): This dependency inversion should be removed.
ifneq ($(wildcard vendor/google/services/LyricCameraHAL/src),)
$(call soong_config_set,gch,hwl_library,lyric)
endif
# Check if we're in the internal build
ifneq ($(wildcard vendor/google/camera),)
# Use build-time flag to select whether to build from source
# or ingest prebuilt-apex. We would want the development teams
# using release configuration: (trunk-staging) to build from source.
# All shipping releases will switch to prebuilts (trunk+)
# if this condition is not true, then build from source.
ifneq ($(RELEASE_PIXEL_CAMERA_ENABLE_PREBUILT),true)
PRODUCT_SOONG_NAMESPACES += \
vendor/google/camera \
@ -33,8 +41,7 @@ PRODUCT_SOONG_NAMESPACES += \
# Calibration tool for debug builds
PRODUCT_PACKAGES_DEBUG += tarasque_test
PRODUCT_PACKAGES_DEBUG += ProtoCalibGenerator
endif # vendor/google/camera check
endif # RELEASE_PIXEL_CAMERA_ENABLE_PREBUILT check
# Init-time log settings for Google 3A
PRODUCT_PACKAGES += libg3a_standalone_gabc_rc

View file

@ -8,6 +8,5 @@ binder_call(hal_camera_default, vendor_pbcs_app);
binder_call(hal_camera_default, vendor_pcs_app);
# Allow Lyric HAL to start ISP Service and Image Processing HAL
add_service(hal_camera_default, vendor_camera_isp_service)
# Allow Lyric HAL to start Image Processing HAL
add_service(hal_camera_default, vendor_image_processing_hal_service)

View file

@ -1,5 +1,3 @@
type hal_pixel_remote_camera_service, hal_service_type, protected_service, service_manager_type;
type vendor_camera_isp_service, hal_service_type, protected_service, service_manager_type;
type vendor_image_processing_hal_service, hal_service_type, protected_service, service_manager_type;

View file

@ -1,5 +1,3 @@
com.google.pixel.camera.connectivity.hal.provider.ICameraProvider/default u:object_r:hal_pixel_remote_camera_service:s0
com.google.pixel.camera.isp.IIspService/default u:object_r:vendor_camera_isp_service:s0
com.google.android.imageprocessing.IImageProcessingHal u:object_r:vendor_image_processing_hal_service:s0
com.google.android.imageprocessing.hal.IImageProcessingHal/default u:object_r:vendor_image_processing_hal_service:s0

View file

@ -27,6 +27,9 @@ allow edgetpu_tachyon_server gpu_device:chr_file rw_file_perms;
allow edgetpu_tachyon_server gpu_device:dir r_dir_perms;
allow edgetpu_tachyon_server ion_device:chr_file r_file_perms;
# Allow Tachyon service to access camera hal via binder.
binder_call(edgetpu_tachyon_server, hal_camera_default);
# Allow Tachyon service to access dmabuf sysytem.
allow edgetpu_tachyon_server dmabuf_system_heap_device:chr_file r_file_perms;
@ -60,3 +63,8 @@ allow edgetpu_tachyon_server privapp_data_file:file { map read};
userdebug_or_eng(`
allow edgetpu_tachyon_server shell_data_file:file { map read};
')
# For shell level testing
userdebug_or_eng(`
binder_call(edgetpu_tachyon_server, shell);
')

View file

@ -6,3 +6,10 @@ get_prop(hal_camera_default, vendor_edgetpu_runtime_prop)
# Allow camera HAL to read hetero runtime properties
get_prop(hal_camera_default, vendor_hetero_runtime_prop)
# Allow camera HAL to access tachyon HAL
allow hal_camera_default edgetpu_tachyon_service:service_manager find;
# Allow camera HAL to communicate with tachyon hal using binder calls
binder_call(hal_camera_default, edgetpu_tachyon_server);

View file

@ -1,3 +1,4 @@
# GPS
genfscon sysfs /devices/virtual/pps/pps0/assert_elapsed u:object_r:sysfs_gps_assert:s0
genfscon sysfs /devices/platform/bbd_pps/pps_assert u:object_r:sysfs_gps_assert:s0

View file

@ -5,7 +5,9 @@ init_daemon_domain(gnssd);
# Allow gnssd to access rild
binder_call(gnssd, rild);
binder_call(gnssd, hwservicemanager)
binder_call(gnssd, servicemanager)
allow gnssd hal_exynos_rild_hwservice:hwservice_manager find;
allow gnssd hal_vendor_radio_external_service:service_manager find;
allow gnssd radio_device:chr_file rw_file_perms;
# Allow gnssd to acess gnss device

View file

@ -8,9 +8,9 @@ PRODUCT_PACKAGES += pixel_gralloc_allocator
PRODUCT_PACKAGES += pixel_gralloc_mapper
ifeq ($(USE_MAPPER5), true)
$(call soong_config_set,arm_gralloc,mapper_version,mapper5)
$(call soong_config_set,pixel_gralloc,mapper_version,mapper5)
$(call soong_config_set,aion_buffer,mapper_version,mapper5)
else
$(call soong_config_set,arm_gralloc,mapper_version,mapper4)
$(call soong_config_set,pixel_gralloc,mapper_version,mapper4)
$(call soong_config_set,aion_buffer,mapper_version,mapper4)
endif

View file

@ -1,14 +0,0 @@
soong_namespace {
}
package {
default_applicable_licenses: ["Android-Apache-2.0"],
}
sh_binary {
name: "insmod.sh",
src: "insmod.sh",
init_rc: ["init.module.rc"],
vendor: true,
}

View file

@ -1,119 +0,0 @@
#!/vendor/bin/sh
#############################################################
### init.insmod.cfg format: ###
### ----------------------------------------------------- ###
### [insmod|setprop|enable/moprobe|wait] [path|prop name] ###
### ... ###
#############################################################
modules_dir=
system_modules_dir=
vendor_modules_dir=
pagesize=$(getconf PAGESIZE)
# bootoption=$(getprop ro.product.build.16k_page.enabled)
# We do not need to check ro.product.build.16k_page.enabled , because this
# version of insmod.sh will only be used if PRODUCT_16K_DEVELOPER_OPTION
# is set to true
if [ "$pagesize" != "4096" ] ; then
echo "Device has page size $pagesize , skip loading modules from vendor_dlkm/system_dlkm because all modules are stored on vendor_boot"
setprop vendor.common.modules.ready 1
setprop vendor.device.modules.ready 1
setprop vendor.all.modules.ready 1
setprop vendor.all.devices.ready 1
return 0
fi
for dir in system vendor; do
for f in /${dir}/lib/modules/*/modules.dep /${dir}/lib/modules/modules.dep; do
if [[ -f "$f" ]]; then
if [[ "${dir}" == "system" ]]; then
system_modules_dir="$(dirname "$f")"
else
vendor_modules_dir="$(dirname "$f")"
modules_dir=${vendor_modules_dir}
fi
break
fi
done
done
if [[ -z "${system_modules_dir}" ]]; then
echo "Unable to locate system kernel modules directory" 2>&1
fi
if [[ -z "${vendor_modules_dir}" ]]; then
echo "Unable to locate vendor kernel modules directory" 2>&1
exit 1
fi
# imitates wait_for_file() in init
wait_for_file()
{
filename="${1}"
timeout="${2:-5}"
expiry=$(($(date "+%s")+timeout))
while [[ ! -e "${filename}" ]] && [[ "$(date "+%s")" -le "${expiry}" ]]
do
sleep 0.01
done
}
if [ $# -eq 1 ]; then
cfg_file=$1
else
# Set property even if there is no insmod config
# to unblock early-boot trigger
setprop vendor.common.modules.ready 1
setprop vendor.device.modules.ready 1
setprop vendor.all.modules.ready 1
setprop vendor.all.devices.ready 1
exit 1
fi
if [ -f $cfg_file ]; then
while IFS="|" read -r action arg
do
case $action in
"insmod") insmod $arg ;;
"setprop") setprop $arg 1 ;;
"enable") echo 1 > $arg ;;
"condinsmod")
prop=$(echo $arg | cut -d '|' -f 1)
module1=$(echo $arg | cut -d '|' -f 2)
module2=$(echo $arg | cut -d '|' -f 3)
value=$(getprop $prop)
if [[ ${value} == "true" ]]; then
insmod ${vendor_modules_dir}/${module1}
else
insmod ${vendor_modules_dir}/${module2}
fi
;;
"modprobe")
case ${arg} in
"system -b *" | "system -b")
modules_dir=${system_modules_dir}
arg="-b --all=${system_modules_dir}/modules.load" ;;
"system *" | "system")
modules_dir=${system_modules_dir}
arg="--all=${system_modules_dir}/modules.load" ;;
"-b *" | "-b" | "vendor -b *" | "vendor -b")
modules_dir=${vendor_modules_dir}
arg="-b --all=${vendor_modules_dir}/modules.load" ;;
"*" | "" | "vendor *" | "vendor")
modules_dir=${vendor_modules_dir}
arg="--all=${vendor_modules_dir}/modules.load" ;;
esac
if [[ -d "${modules_dir}" ]]; then
modprobe -a -d "${modules_dir}" $arg
fi
;;
"wait") wait_for_file $arg ;;
esac
done < $cfg_file
fi

View file

@ -1,13 +0,0 @@
soong_namespace {
}
package {
default_applicable_licenses: ["Android-Apache-2.0"],
}
sh_binary {
name: "insmod.sh",
src: "insmod.sh",
init_rc: ["init.module.rc"],
vendor: true,
}

View file

@ -1,10 +0,0 @@
on init
# Loading common kernel modules in background
start insmod_sh
service insmod_sh /vendor/bin/insmod.sh /vendor/etc/init.common.cfg
class main
user root
group root system
disabled
oneshot

View file

@ -2,6 +2,13 @@ package {
default_applicable_licenses: ["Android-Apache-2.0"],
}
sh_binary {
name: "insmod.sh",
src: "insmod.sh",
init_rc: ["init.module.rc"],
vendor: true,
}
prebuilt_etc {
name: "init.common.cfg",
src: "init.common.cfg",

View file

@ -1,9 +1,3 @@
ifeq (true,$(PRODUCT_16K_DEVELOPER_OPTION))
PRODUCT_SOONG_NAMESPACES += device/google/gs-common/insmod/16k
else
PRODUCT_SOONG_NAMESPACES += device/google/gs-common/insmod/4k
endif
BOARD_VENDOR_SEPOLICY_DIRS += device/google/gs-common/insmod/sepolicy
PRODUCT_PACKAGES += \
insmod.sh \

View file

@ -0,0 +1,21 @@
PRODUCT_SOONG_NAMESPACES += hardware/google/video/cnm
PRODUCT_PACKAGES += \
google.hardware.media.c2@3.0-service \
libgc2_store \
libgc2_base \
libgc2_vdi_vpu \
libgc2_log \
libgc2_utils \
libgc2_av1_dec \
libgc2_vp9_dec \
libgc2_hevc_dec \
libgc2_avc_dec \
libgc2_av1_enc \
libgc2_hevc_enc \
libgc2_avc_enc \
vpu_firmware
$(call soong_config_set,cnm,soc,$(TARGET_BOARD_PLATFORM))
BOARD_VENDOR_SEPOLICY_DIRS += device/google/gs-common/mediacodec/vpu/sepolicy

View file

@ -0,0 +1,2 @@
/vendor/bin/hw/google\.hardware\.media\.c2@3\.0-service u:object_r:mediacodec_google_exec:s0
/dev/vpu u:object_r:video_device:s0

View file

@ -0,0 +1,20 @@
type mediacodec_google, domain;
type mediacodec_google_exec, exec_type, vendor_file_type, file_type;
init_daemon_domain(mediacodec_google)
hal_server_domain(mediacodec_google, hal_codec2)
hal_client_domain(mediacodec_google, hal_graphics_allocator)
allow mediacodec_google dmabuf_system_heap_device:chr_file r_file_perms;
# mediacodec_google should never execute any executable without a domain transition
neverallow mediacodec_google { file_type fs_type }:file execute_no_trans;
# Media processing code is inherently risky and thus should have limited
# permissions and be isolated from the rest of the system and network.
# Lengthier explanation here:
# https://android-developers.googleblog.com/2016/05/hardening-media-stack.html
neverallow mediacodec_google domain:{ udp_socket rawip_socket } *;
neverallow mediacodec_google { domain userdebug_or_eng(`-su') }:tcp_socket *;

4
performance/OWNERS Normal file
View file

@ -0,0 +1,4 @@
wvw@google.com
paillon@google.com
jenhaochen@google.com
liumartin@google.com

View file

@ -1,3 +1,7 @@
BOARD_VENDOR_SEPOLICY_DIRS += device/google/gs-common/performance/sepolicy
PRODUCT_PACKAGES += dump_perf
# Ensure enough free space to create zram backing device
PRODUCT_PRODUCT_PROPERTIES += \
ro.zram_backing_device_min_free_mb=1536

View file

@ -1,2 +1,3 @@
allow hal_power_default sysfs_pakills:file rw_file_perms;
allow hal_power_default sysfs_pakills:dir r_dir_perms;
r_dir_file(hal_power_default, sysfs_vendor_mm);

View file

@ -26,7 +26,8 @@ int main() {
if (!::android::os::dumpstate::PropertiesHelper::IsUserBuild()) {
// Not a user build, if this is also not a production device dump the USF registry.
std::string hwRev = ::android::base::GetProperty("ro.boot.hardware.revision", "");
if (hwRev.find("PROTO") != std::string::npos ||
if (hwRev.find("DEV") != std::string::npos ||
hwRev.find("PROTO") != std::string::npos ||
hwRev.find("EVT") != std::string::npos ||
hwRev.find("DVT") != std::string::npos ||
hwRev.find("PVT") != std::string::npos) {

View file

@ -8,6 +8,11 @@ else
heatmap_path=$path
fi
if [[ -f "${procfs_path}/dump" ]]; then
echo "------ Dump ------"
cat ${procfs_path}/dump
fi
echo "------ Force Touch Active ------"
result=$( cat "$path/force_active" 2>&1 )
if [ $? -eq 0 ]; then
@ -60,10 +65,5 @@ cat $heatmap_path/ss_raw
echo "------ Self Test ------"
cat $path/self_test
if [[ -f "${procfs_path}/dump" ]]; then
echo "------ Dump ------"
cat ${procfs_path}/dump
fi
echo "------ Disable Force Touch Active ------"
echo 0 > $path/force_active

View file

@ -8,6 +8,11 @@ else
heatmap_path=$path
fi
if [[ -f "${procfs_path}/dump" ]]; then
echo "------ Dump ------"
cat ${procfs_path}/dump
fi
echo "------ Force Touch Active ------"
result=$( cat "$path/force_active" 2>&1 )
if [ $? -eq 0 ]; then
@ -60,10 +65,5 @@ cat $heatmap_path/ss_raw
echo "------ Self Test ------"
cat $path/self_test
if [[ -f "${procfs_path}/dump" ]]; then
echo "------ Dump ------"
cat ${procfs_path}/dump
fi
echo "------ Disable Force Touch Active ------"
echo 0 > $path/force_active

View file

@ -1,4 +1,6 @@
# Touch
genfscon sysfs /devices/virtual/goog_touch_interface u:object_r:sysfs_touch_gti:s0
genfscon sysfs /devices/virtual/goog_touch_interface/gti.0/wakeup u:object_r:sysfs_wakeup:s0
genfscon sysfs /devices/virtual/goog_touch_interface/gti.1/wakeup u:object_r:sysfs_wakeup:s0
genfscon proc /goog_touch_interface u:object_r:proc_touch_gti:s0

View file

@ -1,4 +1,6 @@
# Touch
genfscon sysfs /devices/virtual/goog_touch_interface u:object_r:sysfs_touch_gti:s0
genfscon sysfs /devices/virtual/goog_touch_interface/gti.0/wakeup u:object_r:sysfs_wakeup:s0
genfscon sysfs /devices/virtual/goog_touch_interface/gti.1/wakeup u:object_r:sysfs_wakeup:s0
genfscon proc /goog_touch_interface u:object_r:proc_touch_gti:s0

2
touch/nvt/nvt-spi20.mk Normal file
View file

@ -0,0 +1,2 @@
BOARD_VENDOR_SEPOLICY_DIRS += device/google/gs-common/touch/nvt/sepolicy
BOARD_VENDOR_SEPOLICY_DIRS += device/google/gs-common/touch/nvt/sepolicy-spi20

View file

@ -0,0 +1,8 @@
# Touch
genfscon sysfs /devices/platform/111d0000.spi/spi_master/spi20/spi20.0 u:object_r:sysfs_touch:s0
# System suspend wakeup files
genfscon sysfs /devices/platform/111d0000.spi/spi_master/spi20/spi20.0/power_supply/nvt-pen-battery/wakeup u:object_r:sysfs_wakeup:s0
genfscon sysfs /devices/platform/111d0000.spi/spi_master/spi20/spi20.0/power_supply/USI_Stylus_Battery/wakeup u:object_r:sysfs_wakeup:s0
genfscon sysfs /devices/platform/111d0000.spi/spi_master/spi20/spi20.0/input/input2/wakeup u:object_r:sysfs_wakeup:s0
genfscon sysfs /devices/platform/111d0000.spi/spi_master/spi20/spi20.0/wakeup u:object_r:sysfs_wakeup:s0

View file

@ -1 +1,2 @@
type sysfs_touch, sysfs_type, fs_type;
type proc_touch, proc_type, fs_type;

View file

@ -0,0 +1,12 @@
genfscon proc /nvt_baseline u:object_r:proc_touch:s0
genfscon proc /nvt_cc_uniformity u:object_r:proc_touch:s0
genfscon proc /nvt_diff u:object_r:proc_touch:s0
genfscon proc /nvt_fw_update u:object_r:proc_touch:s0
genfscon proc /nvt_fw_version u:object_r:proc_touch:s0
genfscon proc /nvt_heatmap u:object_r:proc_touch:s0
genfscon proc /nvt_pen_1d_diff u:object_r:proc_touch:s0
genfscon proc /nvt_pen_2d_baseline u:object_r:proc_touch:s0
genfscon proc /nvt_pen_2d_diff u:object_r:proc_touch:s0
genfscon proc /nvt_pen_2d_raw u:object_r:proc_touch:s0
genfscon proc /nvt_raw u:object_r:proc_touch:s0
genfscon proc /nvt_selftest u:object_r:proc_touch:s0

View file

@ -0,0 +1,5 @@
allow vendor_init sysfs_touch:dir r_dir_perms;
allow vendor_init sysfs_touch:file rw_file_perms;
allow vendor_init proc_touch:dir r_dir_perms;
allow vendor_init proc_touch:file rw_file_perms;
set_prop(vendor_init, gesture_prop)

View file

@ -15,8 +15,8 @@
# Voice packs for Text-To-Speech
PRODUCT_COPY_FILES += \
device/google/gs-common/tts/ja-jp/ja-jp-x-multi-r49.zvoice:product/tts/google/ja-jp/ja-jp-x-multi-r49.zvoice\
device/google/gs-common/tts/fr-fr/fr-fr-x-multi-r51.zvoice:product/tts/google/fr-fr/fr-fr-x-multi-r51.zvoice\
device/google/gs-common/tts/de-de/de-de-x-multi-r51.zvoice:product/tts/google/de-de/de-de-x-multi-r51.zvoice\
device/google/gs-common/tts/it-it/it-it-x-multi-r47.zvoice:product/tts/google/it-it/it-it-x-multi-r47.zvoice\
device/google/gs-common/tts/es-es/es-es-x-multi-r50.zvoice:product/tts/google/es-es/es-es-x-multi-r50.zvoice
device/google/gs-common/tts/ja-jp/ja-jp-x-multi-r51.zvoice:product/tts/google/ja-jp/ja-jp-x-multi-r51.zvoice\
device/google/gs-common/tts/fr-fr/fr-fr-x-multi-r53.zvoice:product/tts/google/fr-fr/fr-fr-x-multi-r53.zvoice\
device/google/gs-common/tts/de-de/de-de-x-multi-r53.zvoice:product/tts/google/de-de/de-de-x-multi-r53.zvoice\
device/google/gs-common/tts/it-it/it-it-x-multi-r49.zvoice:product/tts/google/it-it/it-it-x-multi-r49.zvoice\
device/google/gs-common/tts/es-es/es-es-x-multi-r52.zvoice:product/tts/google/es-es/es-es-x-multi-r52.zvoice

View file

@ -9,7 +9,7 @@
</hal>
<hal format="aidl" optional="true">
<name>vendor.google.wireless_charger.service</name>
<version>1</version>
<version>1-2</version>
<interface>
<name>IWlcService</name>
<instance>default</instance>

View file

@ -8,6 +8,8 @@ allow hal_wlcservice vendor_wlc_file:file create_file_perms;
allow hal_wlcservice hal_wireless_charger_service:service_manager find;
allow hal_wlcservice kmsg_device:chr_file { getattr w_file_perms };
get_prop(hal_wlcservice, vendor_wlcservice_test_prop)
binder_call(hal_wlcservice, servicemanager)
add_service(hal_wlcservice, hal_wlcservice_service)

View file

@ -0,0 +1 @@
vendor_internal_prop(vendor_wlcservice_test_prop)

View file

@ -0,0 +1 @@
vendor.wlcservice.test.authentication u:object_r:vendor_wlcservice_test_prop:s0 exact bool