dump_gti: fix I/O error when touch fails to resume am: 476373ef30
Original change: https://googleplex-android-review.googlesource.com/c/device/google/gs-common/+/24023803
Change-Id: I6a4bf15dd185a79780f9512438dec7a6ec0bbb37
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/aoc/sepolicy/file_contexts b/aoc/sepolicy/file_contexts
index fef8d73..c3a4754 100644
--- a/aoc/sepolicy/file_contexts
+++ b/aoc/sepolicy/file_contexts
@@ -18,6 +18,8 @@
/dev/acd-com.google.umfw_stat u:object_r:aoc_device:s0
/dev/acd-com.google.usf u:object_r:aoc_device:s0
/dev/acd-com.google.usf.non_wake_up u:object_r:aoc_device:s0
+/dev/acd-com.google.chre u:object_r:aoc_device:s0
+/dev/acd-com.google.chre.non_wake_up u:object_r:aoc_device:s0
/dev/acd-logging u:object_r:aoc_device:s0
/dev/aoc u:object_r:aoc_device:s0
/dev/acd-audio_ap_offload_rx u:object_r:aoc_device:s0
diff --git a/audio/aidl.mk b/audio/aidl.mk
index 172b63d..bd11249 100644
--- a/audio/aidl.mk
+++ b/audio/aidl.mk
@@ -2,7 +2,8 @@
# Audio HALs
PRODUCT_PACKAGES += \
- android.hardware.audio.service-aidl.aoc
+ android.hardware.audio.service-aidl.aoc \
+ vendor.google.whitechapel.audio.hal.parserservice \
# AIDL software effects. These are the effects supporting in all projects.
# For the project-specific effects, such as haptic generator, please add them
diff --git a/audio/aidl/device_framework_matrix_product.xml b/audio/aidl/device_framework_matrix_product.xml
index 48b8889..660864a 100644
--- a/audio/aidl/device_framework_matrix_product.xml
+++ b/audio/aidl/device_framework_matrix_product.xml
@@ -1,4 +1,4 @@
-<compatibility-matrix version="1.0" type="framework" level="7">
+<compatibility-matrix version="1.0" type="framework">
<hal format="hidl">
<name>vendor.google.audiometricext</name>
<version>1.0</version>
diff --git a/audio/aidl/manifest.xml b/audio/aidl/manifest.xml
index 8d957cc..237aa4a 100644
--- a/audio/aidl/manifest.xml
+++ b/audio/aidl/manifest.xml
@@ -1,4 +1,4 @@
-<manifest version="1.0" type="device" target-level="7">
+<manifest version="1.0" type="device">
<hal format="hidl">
<name>vendor.google.audiometricext</name>
<transport>hwbinder</transport>
diff --git a/audio/hidl_zuma.mk b/audio/hidl_zuma.mk
index 1438b27..3a5c211 100644
--- a/audio/hidl_zuma.mk
+++ b/audio/hidl_zuma.mk
@@ -30,9 +30,11 @@
audio.bluetooth.default \
audio.r_submix.default \
audio_spk_35l41 \
+ audio_hdmi_aoc \
sound_trigger.primary.$(TARGET_BOARD_PLATFORM)
BOARD_VENDOR_SEPOLICY_DIRS += device/google/gs-common/audio/sepolicy/hidl
+BOARD_VENDOR_SEPOLICY_DIRS += device/google/gs-common/audio/sepolicy/hdmi_audio
include device/google/gs-common/audio/common.mk
diff --git a/audio/sepolicy/aidl/file_contexts b/audio/sepolicy/aidl/file_contexts
index 9e07893..3f3390e 100644
--- a/audio/sepolicy/aidl/file_contexts
+++ b/audio/sepolicy/aidl/file_contexts
@@ -1,2 +1,3 @@
# Audio Hal AIDL Service for Aoc
/vendor/bin/hw/android\.hardware\.audio\.service-aidl\.aoc u:object_r:hal_audio_default_exec:s0
+/system_ext/bin/hw/vendor\.google\.whitechapel\.audio\.hal\.parserservice u:object_r:hal_audio_parameter_parser_exec:s0
diff --git a/audio/sepolicy/aidl/parser_service.te b/audio/sepolicy/aidl/parser_service.te
new file mode 100644
index 0000000..bce6d49
--- /dev/null
+++ b/audio/sepolicy/aidl/parser_service.te
@@ -0,0 +1,14 @@
+# Define a parameter parser service
+type hal_audio_parameter_parser, coredomain, domain;
+type hal_audio_parameter_parser_exec, system_file_type, file_type, exec_type;
+init_daemon_domain(hal_audio_parameter_parser)
+
+# The server will serve a binder service.
+binder_service(hal_audio_parameter_parser)
+
+add_service(hal_audio_parameter_parser, hal_audio_parameter_parser_service);
+
+binder_call(audioserver, hal_audio_parameter_parser)
+binder_call(hal_audio_parameter_parser, servicemanager)
+
+allow audioserver hal_audio_parameter_parser_service:service_manager find;
diff --git a/audio/sepolicy/aidl/service.te b/audio/sepolicy/aidl/service.te
index 052558c..bf73ead 100644
--- a/audio/sepolicy/aidl/service.te
+++ b/audio/sepolicy/aidl/service.te
@@ -1,2 +1,3 @@
# Audio
type hal_audio_ext_service, service_manager_type;
+type hal_audio_parameter_parser_service, service_manager_type;
diff --git a/audio/sepolicy/aidl/service_contexts b/audio/sepolicy/aidl/service_contexts
index 1b5f301..c2b7716 100644
--- a/audio/sepolicy/aidl/service_contexts
+++ b/audio/sepolicy/aidl/service_contexts
@@ -1,2 +1,4 @@
# Audio
vendor.google.whitechapel.audio.extension.IAudioExtension/default u:object_r:hal_audio_ext_service:s0
+android.media.audio.IHalAdapterVendorExtension/default u:object_r:hal_audio_parameter_parser_service:s0
+
diff --git a/audio/sepolicy/common/genfs_contexts b/audio/sepolicy/common/genfs_contexts
index 28cbc63..4b1c3a9 100644
--- a/audio/sepolicy/common/genfs_contexts
+++ b/audio/sepolicy/common/genfs_contexts
@@ -14,3 +14,5 @@
genfscon sysfs /devices/platform/audiometrics/waves u:object_r:sysfs_pixelstats:s0
genfscon sysfs /devices/platform/audiometrics/adapted_info_active_count u:object_r:sysfs_pixelstats:s0
genfscon sysfs /devices/platform/audiometrics/adapted_info_active_duration u:object_r:sysfs_pixelstats:s0
+genfscon sysfs /devices/platform/audiometrics/pcm_count u:object_r:sysfs_pixelstats:s0
+genfscon sysfs /devices/platform/audiometrics/pcm_latency u:object_r:sysfs_pixelstats:s0
diff --git a/audio/sepolicy/common/hal_audio_default.te b/audio/sepolicy/common/hal_audio_default.te
index 7465532..5cb03ac 100644
--- a/audio/sepolicy/common/hal_audio_default.te
+++ b/audio/sepolicy/common/hal_audio_default.te
@@ -13,6 +13,10 @@
allow hal_audio_default amcs_device:chr_file rw_file_perms;
allow hal_audio_default sysfs_pixelstats:file rw_file_perms;
+#allow access to aoc and kernel boottime
+allow hal_audio_default sysfs_aoc:dir { search };
+allow hal_audio_default sysfs_aoc_boottime:file r_file_perms;
+
#allow access to DMABUF Heaps for AAudio API
allow hal_audio_default dmabuf_heap_device:chr_file r_file_perms;
diff --git a/audio/sepolicy/hdmi_audio/genfs_contexts b/audio/sepolicy/hdmi_audio/genfs_contexts
new file mode 100644
index 0000000..eb7e1cf
--- /dev/null
+++ b/audio/sepolicy/hdmi_audio/genfs_contexts
@@ -0,0 +1 @@
+genfscon sysfs /devices/platform/drmdp-adma/extcon/hdmi_audio u:object_r:sysfs_extcon:s0
diff --git a/camera/compatibility_matrix.xml b/camera/compatibility_matrix.xml
new file mode 100644
index 0000000..cd4b76e
--- /dev/null
+++ b/camera/compatibility_matrix.xml
@@ -0,0 +1,13 @@
+<compatibility-matrix version="1.0" type="device">
+ <hal format="aidl" optional="true">
+ <name>com.google.pixel.camera.services.binder</name>
+ <version>1</version>
+ <interface>
+ <name>IServiceBinder</name>
+ <instance>default</instance>
+ </interface>
+ </hal>
+ <vndk>
+ <version>0.0.0</version>
+ </vndk>
+</compatibility-matrix>
diff --git a/camera/device_framework_matrix_product.xml b/camera/device_framework_matrix_product.xml
new file mode 100644
index 0000000..171dfa8
--- /dev/null
+++ b/camera/device_framework_matrix_product.xml
@@ -0,0 +1,10 @@
+<compatibility-matrix version="1.0" type="framework">
+ <hal format="aidl" optional="true">
+ <name>com.google.pixel.camera.connectivity.hal.provider</name>
+ <version>1</version>
+ <interface>
+ <name>ICameraProvider</name>
+ <instance>default</instance>
+ </interface>
+ </hal>
+</compatibility-matrix>
diff --git a/camera/lyric.mk b/camera/lyric.mk
index c630539..b9583ea 100644
--- a/camera/lyric.mk
+++ b/camera/lyric.mk
@@ -50,5 +50,11 @@
PRODUCT_PACKAGES += init.camera.set-interrupts-ownership
PRODUCT_PACKAGES += lyric_preview_dis_xml
+DEVICE_PRODUCT_COMPATIBILITY_MATRIX_FILE += \
+ device/google/gs-common/camera/device_framework_matrix_product.xml
+
+DEVICE_MATRIX_FILE += \
+ device/google/gs-common/camera/compatibility_matrix.xml
+
# sepolicy dir is added in dump.mk.
# Make doesn't deduplicate sepolicy dirs, so including it here causes build errors.
diff --git a/camera/sepolicy/hal_camera_default.te b/camera/sepolicy/hal_camera_default.te
new file mode 100644
index 0000000..9b92a2e
--- /dev/null
+++ b/camera/sepolicy/hal_camera_default.te
@@ -0,0 +1,3 @@
+allow hal_camera_default vendor_camera_binder_service:service_manager find;
+
+binder_call(hal_camera_default, vendor_pbcs_app);
diff --git a/camera/sepolicy/seapp_contexts b/camera/sepolicy/seapp_contexts
new file mode 100644
index 0000000..15eb56f
--- /dev/null
+++ b/camera/sepolicy/seapp_contexts
@@ -0,0 +1,2 @@
+# Pixel PeristentBackgroundCameraServices
+user=system seinfo=platform name=com.google.pixel.camera.services domain=vendor_pbcs_app type=system_app_data_file levelFrom=all
diff --git a/camera/sepolicy/service.te b/camera/sepolicy/service.te
new file mode 100644
index 0000000..b931b40
--- /dev/null
+++ b/camera/sepolicy/service.te
@@ -0,0 +1 @@
+type vendor_camera_binder_service, hal_service_type, protected_service, service_manager_type;
diff --git a/camera/sepolicy/service_contexts b/camera/sepolicy/service_contexts
new file mode 100644
index 0000000..dfebcbb
--- /dev/null
+++ b/camera/sepolicy/service_contexts
@@ -0,0 +1 @@
+com.google.pixel.camera.services.binder.IServiceBinder/default u:object_r:vendor_camera_binder_service:s0
diff --git a/camera/sepolicy/vendor_pbcs_app.te b/camera/sepolicy/vendor_pbcs_app.te
new file mode 100644
index 0000000..cc04c60
--- /dev/null
+++ b/camera/sepolicy/vendor_pbcs_app.te
@@ -0,0 +1,11 @@
+type vendor_pbcs_app, domain, coredomain;
+
+app_domain(vendor_pbcs_app);
+
+allow vendor_pbcs_app system_app_data_file:dir search;
+
+allow vendor_pbcs_app app_api_service:service_manager find;
+
+allow vendor_pbcs_app vendor_camera_binder_service:service_manager add;
+
+binder_call(vendor_pbcs_app, hal_camera_default);
diff --git a/gps/dump/dump_gps.cpp b/gps/dump/dump_gps.cpp
index a217d14..62f69f8 100644
--- a/gps/dump/dump_gps.cpp
+++ b/gps/dump/dump_gps.cpp
@@ -26,6 +26,8 @@
#define GPS_MALLOC_LOG_DIRECTORY "/data/vendor/gps"
#define GPS_MALLOC_LOG_PREFIX "malloc_"
#define GPS_VENDOR_CHIP_INFO "/data/vendor/gps/chip.info"
+#define GPS_RAWLOG_PREFIX "rawbin"
+#define GPS_MEMDUMP_LOG_PREFIX "memdump_"
int main() {
if(!::android::base::GetBoolProperty("vendor.gps.aol.enabled", false)) {
@@ -46,6 +48,8 @@
if (access(GPS_VENDOR_CHIP_INFO, F_OK) == 0) {
copyFile(GPS_VENDOR_CHIP_INFO, concatenatePath(outputDir.c_str(), "chip.info").c_str());
}
+ dumpLogs(GPS_LOG_DIRECTORY, outputDir.c_str(), maxFileNum, GPS_RAWLOG_PREFIX);
+ dumpLogs(GPS_LOG_DIRECTORY, outputDir.c_str(), 18, GPS_MEMDUMP_LOG_PREFIX);
return 0;
}