diff --git a/location/gnssd/Android.bp b/location/gnssd/Android.bp index 4133a8a..59b726d 100644 --- a/location/gnssd/Android.bp +++ b/location/gnssd/Android.bp @@ -13,8 +13,29 @@ license { ], } +soong_config_module_type { + name: "lassen_gnss_aidl_service_cc_defaults", + module_type: "cc_defaults", + config_namespace: "pixel_gnss", + bool_variables: ["enable_pixel_gnss_aidl_service"], + properties: ["vintf_fragments"], +} + +lassen_gnss_aidl_service_cc_defaults { + name: "lassen_gnss_aidl_service_cc_defaults", + soong_config_variables: { + enable_pixel_gnss_aidl_service: { + vintf_fragments: ["android.hardware.gnss@vendor.xml"], + conditions_default: { + vintf_fragments: ["android.hardware.gnss@default.xml"] + }, + }, + }, +} + cc_prebuilt_binary { name: "android.hardware.gnss-service", + defaults: ["lassen_gnss_aidl_service_cc_defaults"], arch: { arm64: { srcs: ["release/android.hardware.gnss-service"], @@ -41,7 +62,6 @@ cc_prebuilt_binary { // Bypass because libhidltransport is deprecated // Bypass because libhwbinder is deprecated check_elf_files: false, - vintf_fragments: ["android.hardware.gnss@lassen.xml"], init_rc: ["init.gnss.rc"], } diff --git a/location/gnssd/android.hardware.gnss@lassen.xml b/location/gnssd/android.hardware.gnss@default.xml similarity index 100% rename from location/gnssd/android.hardware.gnss@lassen.xml rename to location/gnssd/android.hardware.gnss@default.xml diff --git a/location/gnssd/android.hardware.gnss@vendor.xml b/location/gnssd/android.hardware.gnss@vendor.xml new file mode 100644 index 0000000..3b1525b --- /dev/null +++ b/location/gnssd/android.hardware.gnss@vendor.xml @@ -0,0 +1,7 @@ + + + android.hardware.gnss + 3 + IGnss/vendor + + diff --git a/location/gnssd/device_framework_matrix_product.xml b/location/gnssd/device_framework_matrix_product.xml new file mode 100644 index 0000000..2c93444 --- /dev/null +++ b/location/gnssd/device_framework_matrix_product.xml @@ -0,0 +1,10 @@ + + + android.hardware.gnss + 3 + + IGnss + vendor + + + diff --git a/location/gnssd/gnss_release.mk b/location/gnssd/gnss_release.mk index 20afb47..78a61c8 100644 --- a/location/gnssd/gnss_release.mk +++ b/location/gnssd/gnss_release.mk @@ -1,5 +1,5 @@ -# only GPS libraries and binaries to the target directory -GPS_ROOT := device/google/akita/location/gnssd +# Enable pixel gnss hal service +include device/google/akita/location/gnssd/pixel_gnss_hal.mk PRODUCT_PACKAGES += \ gnssd \ @@ -7,17 +7,17 @@ PRODUCT_PACKAGES += \ android.hardware.location.gps.prebuilt.xml PRODUCT_COPY_FILES += \ - $(GPS_ROOT)/release/ca.pem:vendor/etc/gnss/ca.pem \ + device/google/akita/location/gnssd/release/ca.pem:vendor/etc/gnss/ca.pem PRODUCT_SOONG_NAMESPACES += \ - $(GPS_ROOT) + device/google/akita/location/gnssd ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) PRODUCT_COPY_FILES += \ - $(GPS_ROOT)/release/gps.cfg:vendor/etc/gnss/gps.cfg + device/google/akita/location/gnssd/release/gps.cfg:vendor/etc/gnss/gps.cfg PRODUCT_VENDOR_PROPERTIES += \ vendor.gps.aol.enabled=true else PRODUCT_COPY_FILES += \ - $(GPS_ROOT)/release/gps_user.cfg:vendor/etc/gnss/gps.cfg + device/google/akita/location/gnssd/release/gps_user.cfg:vendor/etc/gnss/gps.cfg endif diff --git a/location/gnssd/pixel_gnss_hal.mk b/location/gnssd/pixel_gnss_hal.mk new file mode 100644 index 0000000..6a36473 --- /dev/null +++ b/location/gnssd/pixel_gnss_hal.mk @@ -0,0 +1,12 @@ +# Enable aidl service +$(call soong_config_set, pixel_gnss, enable_pixel_gnss_aidl_service, true) + +PRODUCT_PACKAGES += \ + android.hardware.gnss-service.pixel + +PRODUCT_VENDOR_PROPERTIES += \ + persist.vendor.gps.hal.service.name=vendor + +# Compatibility matrix +DEVICE_PRODUCT_COMPATIBILITY_MATRIX_FILE += \ + device/google/akita/location/gnssd/device_framework_matrix_product.xml