diff --git a/FSTAB_OWNERS b/FSTAB_OWNERS new file mode 100644 index 0000000..18093a0 --- /dev/null +++ b/FSTAB_OWNERS @@ -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 diff --git a/OWNERS b/OWNERS index b715f13..57ca40f 100644 --- a/OWNERS +++ b/OWNERS @@ -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 diff --git a/audio/sepolicy/common/property_contexts b/audio/sepolicy/common/property_contexts index 96e678c..9f88e55 100644 --- a/audio/sepolicy/common/property_contexts +++ b/audio/sepolicy/common/property_contexts @@ -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 diff --git a/bcmbt/dump/dump_bcmbt.cpp b/bcmbt/dump/dump_bcmbt.cpp index fde0ad0..22e2fcf 100644 --- a/bcmbt/dump/dump_bcmbt.cpp +++ b/bcmbt/dump/dump_bcmbt.cpp @@ -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); diff --git a/betterbug/betterbug.mk b/betterbug/betterbug.mk index 906933d..2930362 100644 --- a/betterbug/betterbug.mk +++ b/betterbug/betterbug.mk @@ -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 diff --git a/bootctrl/1.2/BootControl.cpp b/bootctrl/1.2/BootControl.cpp index ff02013..54764a0 100644 --- a/bootctrl/1.2/BootControl.cpp +++ b/bootctrl/1.2/BootControl.cpp @@ -19,6 +19,7 @@ #include "BootControl.h" #include +#include #include #include #include @@ -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 diff --git a/bootctrl/aidl/BootControl.cpp b/bootctrl/aidl/BootControl.cpp index e771845..83deb72 100644 --- a/bootctrl/aidl/BootControl.cpp +++ b/bootctrl/aidl/BootControl.cpp @@ -20,6 +20,7 @@ #include #include +#include #include #include #include @@ -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) { diff --git a/camera/lyric.mk b/camera/lyric.mk index 7762f4d..c886138 100644 --- a/camera/lyric.mk +++ b/camera/lyric.mk @@ -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 diff --git a/camera/sepolicy/vendor/hal_camera_default.te b/camera/sepolicy/vendor/hal_camera_default.te index f661eff..ebb58b8 100644 --- a/camera/sepolicy/vendor/hal_camera_default.te +++ b/camera/sepolicy/vendor/hal_camera_default.te @@ -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) diff --git a/camera/sepolicy/vendor/service.te b/camera/sepolicy/vendor/service.te index 513ce05..757bf6d 100644 --- a/camera/sepolicy/vendor/service.te +++ b/camera/sepolicy/vendor/service.te @@ -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; diff --git a/camera/sepolicy/vendor/service_contexts b/camera/sepolicy/vendor/service_contexts index 47e13a7..7a2d6ff 100644 --- a/camera/sepolicy/vendor/service_contexts +++ b/camera/sepolicy/vendor/service_contexts @@ -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 diff --git a/edgetpu/sepolicy/edgetpu_tachyon_service.te b/edgetpu/sepolicy/edgetpu_tachyon_service.te index da34353..80db366 100644 --- a/edgetpu/sepolicy/edgetpu_tachyon_service.te +++ b/edgetpu/sepolicy/edgetpu_tachyon_service.te @@ -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); +') diff --git a/edgetpu/sepolicy/hal_camera_default.te b/edgetpu/sepolicy/hal_camera_default.te index 624533a..e84f5dc 100644 --- a/edgetpu/sepolicy/hal_camera_default.te +++ b/edgetpu/sepolicy/hal_camera_default.te @@ -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); + diff --git a/gps/brcm/sepolicy/genfs_contexts b/gps/brcm/sepolicy/genfs_contexts index 446fc45..a551e96 100644 --- a/gps/brcm/sepolicy/genfs_contexts +++ b/gps/brcm/sepolicy/genfs_contexts @@ -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 diff --git a/gps/lsi/sepolicy/gnssd.te b/gps/lsi/sepolicy/gnssd.te index a293b95..29dfa2e 100644 --- a/gps/lsi/sepolicy/gnssd.te +++ b/gps/lsi/sepolicy/gnssd.te @@ -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 diff --git a/gpu/gpu.mk b/gpu/gpu.mk index b87e7ad..0dd50e5 100644 --- a/gpu/gpu.mk +++ b/gpu/gpu.mk @@ -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 diff --git a/insmod/16k/Android.bp b/insmod/16k/Android.bp deleted file mode 100644 index 975c5dc..0000000 --- a/insmod/16k/Android.bp +++ /dev/null @@ -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, -} diff --git a/insmod/16k/insmod.sh b/insmod/16k/insmod.sh deleted file mode 100644 index 8ec8199..0000000 --- a/insmod/16k/insmod.sh +++ /dev/null @@ -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 diff --git a/insmod/4k/Android.bp b/insmod/4k/Android.bp deleted file mode 100644 index ddfec40..0000000 --- a/insmod/4k/Android.bp +++ /dev/null @@ -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, -} diff --git a/insmod/4k/init.module.rc b/insmod/4k/init.module.rc deleted file mode 100644 index de23b5b..0000000 --- a/insmod/4k/init.module.rc +++ /dev/null @@ -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 diff --git a/insmod/Android.bp b/insmod/Android.bp index 143e777..eed35ec 100644 --- a/insmod/Android.bp +++ b/insmod/Android.bp @@ -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", diff --git a/insmod/16k/init.module.rc b/insmod/init.module.rc similarity index 100% rename from insmod/16k/init.module.rc rename to insmod/init.module.rc diff --git a/insmod/insmod.mk b/insmod/insmod.mk index 0d8da9e..aa2261a 100644 --- a/insmod/insmod.mk +++ b/insmod/insmod.mk @@ -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 \ diff --git a/insmod/4k/insmod.sh b/insmod/insmod.sh similarity index 100% rename from insmod/4k/insmod.sh rename to insmod/insmod.sh diff --git a/mediacodec/vpu/mediacodec_google.mk b/mediacodec/vpu/mediacodec_google.mk new file mode 100644 index 0000000..8c1e974 --- /dev/null +++ b/mediacodec/vpu/mediacodec_google.mk @@ -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 diff --git a/mediacodec/vpu/sepolicy/file_contexts b/mediacodec/vpu/sepolicy/file_contexts new file mode 100644 index 0000000..138e20e --- /dev/null +++ b/mediacodec/vpu/sepolicy/file_contexts @@ -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 diff --git a/mediacodec/vpu/sepolicy/mediacodec_google.te b/mediacodec/vpu/sepolicy/mediacodec_google.te new file mode 100644 index 0000000..2c5d1cb --- /dev/null +++ b/mediacodec/vpu/sepolicy/mediacodec_google.te @@ -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 *; diff --git a/performance/OWNERS b/performance/OWNERS new file mode 100644 index 0000000..7ee3645 --- /dev/null +++ b/performance/OWNERS @@ -0,0 +1,4 @@ +wvw@google.com +paillon@google.com +jenhaochen@google.com +liumartin@google.com diff --git a/performance/perf.mk b/performance/perf.mk index dfbdb5b..ad4011a 100644 --- a/performance/perf.mk +++ b/performance/perf.mk @@ -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 diff --git a/performance/sepolicy/hal_power_default.te b/performance/sepolicy/hal_power_default.te index 763862d..309e8f7 100644 --- a/performance/sepolicy/hal_power_default.te +++ b/performance/sepolicy/hal_power_default.te @@ -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); diff --git a/sensors/dump_sensors.cpp b/sensors/dump_sensors.cpp index 58d63e9..4c406ce 100644 --- a/sensors/dump_sensors.cpp +++ b/sensors/dump_sensors.cpp @@ -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) { diff --git a/touch/gti/dump_gti0.sh b/touch/gti/dump_gti0.sh index a3af3d7..facb531 100644 --- a/touch/gti/dump_gti0.sh +++ b/touch/gti/dump_gti0.sh @@ -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 diff --git a/touch/gti/dump_gti1.sh b/touch/gti/dump_gti1.sh index 297ad44..eabd6d6 100644 --- a/touch/gti/dump_gti1.sh +++ b/touch/gti/dump_gti1.sh @@ -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 diff --git a/touch/gti/predump_sepolicy/genfs_contexts b/touch/gti/predump_sepolicy/genfs_contexts index 45d3b53..1dd4bad 100644 --- a/touch/gti/predump_sepolicy/genfs_contexts +++ b/touch/gti/predump_sepolicy/genfs_contexts @@ -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 diff --git a/touch/gti/sepolicy/genfs_contexts b/touch/gti/sepolicy/genfs_contexts index 45d3b53..1dd4bad 100644 --- a/touch/gti/sepolicy/genfs_contexts +++ b/touch/gti/sepolicy/genfs_contexts @@ -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 diff --git a/touch/nvt/nvt-spi20.mk b/touch/nvt/nvt-spi20.mk new file mode 100644 index 0000000..ad46fcc --- /dev/null +++ b/touch/nvt/nvt-spi20.mk @@ -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 diff --git a/touch/nvt/sepolicy-spi20/genfs_contexts b/touch/nvt/sepolicy-spi20/genfs_contexts new file mode 100644 index 0000000..05467a3 --- /dev/null +++ b/touch/nvt/sepolicy-spi20/genfs_contexts @@ -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 diff --git a/touch/nvt/sepolicy/file.te b/touch/nvt/sepolicy/file.te index e310df7..05a770b 100644 --- a/touch/nvt/sepolicy/file.te +++ b/touch/nvt/sepolicy/file.te @@ -1 +1,2 @@ type sysfs_touch, sysfs_type, fs_type; +type proc_touch, proc_type, fs_type; diff --git a/touch/nvt/sepolicy/genfs_contexts b/touch/nvt/sepolicy/genfs_contexts new file mode 100644 index 0000000..b120511 --- /dev/null +++ b/touch/nvt/sepolicy/genfs_contexts @@ -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 diff --git a/touch/nvt/sepolicy/vendor_init.te b/touch/nvt/sepolicy/vendor_init.te new file mode 100644 index 0000000..8b844dd --- /dev/null +++ b/touch/nvt/sepolicy/vendor_init.te @@ -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) diff --git a/tts/de-de/de-de-x-multi-r51.zvoice b/tts/de-de/de-de-x-multi-r53.zvoice similarity index 63% rename from tts/de-de/de-de-x-multi-r51.zvoice rename to tts/de-de/de-de-x-multi-r53.zvoice index 8ca49a3..87a9b04 100644 Binary files a/tts/de-de/de-de-x-multi-r51.zvoice and b/tts/de-de/de-de-x-multi-r53.zvoice differ diff --git a/tts/es-es/es-es-x-multi-r50.zvoice b/tts/es-es/es-es-x-multi-r52.zvoice similarity index 54% rename from tts/es-es/es-es-x-multi-r50.zvoice rename to tts/es-es/es-es-x-multi-r52.zvoice index b42cae9..5f8c243 100644 Binary files a/tts/es-es/es-es-x-multi-r50.zvoice and b/tts/es-es/es-es-x-multi-r52.zvoice differ diff --git a/tts/fr-fr/fr-fr-x-multi-r51.zvoice b/tts/fr-fr/fr-fr-x-multi-r53.zvoice similarity index 66% rename from tts/fr-fr/fr-fr-x-multi-r51.zvoice rename to tts/fr-fr/fr-fr-x-multi-r53.zvoice index 2e3c160..71ad1ca 100644 Binary files a/tts/fr-fr/fr-fr-x-multi-r51.zvoice and b/tts/fr-fr/fr-fr-x-multi-r53.zvoice differ diff --git a/tts/it-it/it-it-x-multi-r47.zvoice b/tts/it-it/it-it-x-multi-r49.zvoice similarity index 55% rename from tts/it-it/it-it-x-multi-r47.zvoice rename to tts/it-it/it-it-x-multi-r49.zvoice index 78dce63..c1ecf15 100644 Binary files a/tts/it-it/it-it-x-multi-r47.zvoice and b/tts/it-it/it-it-x-multi-r49.zvoice differ diff --git a/tts/ja-jp/ja-jp-x-multi-r49.zvoice b/tts/ja-jp/ja-jp-x-multi-r51.zvoice similarity index 68% rename from tts/ja-jp/ja-jp-x-multi-r49.zvoice rename to tts/ja-jp/ja-jp-x-multi-r51.zvoice index c2f8c80..d507720 100644 Binary files a/tts/ja-jp/ja-jp-x-multi-r49.zvoice and b/tts/ja-jp/ja-jp-x-multi-r51.zvoice differ diff --git a/tts/voice_packs.mk b/tts/voice_packs.mk index 7b95af9..86e2590 100644 --- a/tts/voice_packs.mk +++ b/tts/voice_packs.mk @@ -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 diff --git a/wireless_charger/compatibility_matrix.xml b/wireless_charger/compatibility_matrix.xml index b760b1d..5185344 100644 --- a/wireless_charger/compatibility_matrix.xml +++ b/wireless_charger/compatibility_matrix.xml @@ -9,7 +9,7 @@ vendor.google.wireless_charger.service - 1 + 1-2 IWlcService default diff --git a/wireless_charger/sepolicy/hal_wlcservice.te b/wireless_charger/sepolicy/hal_wlcservice.te index eadb593..6eba2ef 100644 --- a/wireless_charger/sepolicy/hal_wlcservice.te +++ b/wireless_charger/sepolicy/hal_wlcservice.te @@ -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) diff --git a/wireless_charger/sepolicy/property.te b/wireless_charger/sepolicy/property.te new file mode 100644 index 0000000..b8ddbdf --- /dev/null +++ b/wireless_charger/sepolicy/property.te @@ -0,0 +1 @@ +vendor_internal_prop(vendor_wlcservice_test_prop) diff --git a/wireless_charger/sepolicy/property_contexts b/wireless_charger/sepolicy/property_contexts new file mode 100644 index 0000000..8cf8f70 --- /dev/null +++ b/wireless_charger/sepolicy/property_contexts @@ -0,0 +1 @@ +vendor.wlcservice.test.authentication u:object_r:vendor_wlcservice_test_prop:s0 exact bool