* It's always been intended that changing audio output devices requires
a reboot. Get the PCM card and device once when the HAL is initialized.
Might save a few ms on start_output_stream.
* It's always been intended that changing audio output devices requires
a reboot. Get the ALSA device once when the HAL is initialized.
Might save a few ms on start_output_stream.
* HIDL services are not included on API level 35. Add the services since
we're still using few HIDL HALs.
4ce8327a8f
* FCM level can't be bumped to 202404 until all HALs have been updated to
AIDL i.e. at least following HALs reported by 'make check-vintf-all'.
All HALs in device manifest are declared in FCM <= level 202404
ERROR: files are incompatible:
...
android.hardware.camera.provider@2.5::ICameraProvider/legacy/0 is deprecated in compatibility matrix at FCM Version 202404; it should not be served.
because it matches android.hardware.camera.provider@2.4::ICameraProvider/[^/]+/[0-9]+ from /system/etc/vintf/compatibility_matrix.7.xml
android.hardware.audio@7.1::IDevicesFactory/default is deprecated in compatibility matrix at FCM Version 202404; it should not be served.
because it matches android.hardware.audio@7.0::IDevicesFactory/default from /system/etc/vintf/compatibility_matrix.8.xml
android.hardware.audio.effect@7.0::IEffectsFactory/default is deprecated in compatibility matrix at FCM Version 202404; it should not be served.
because it matches android.hardware.audio.effect@7.0::IEffectsFactory/default from /system/etc/vintf/compatibility_matrix.8.xml: Success
INCOMPATIBLE
* Picked up by 'make check-vintf-all'.
The following instances are in the device manifest but not specified in framework compatibility matrix:
android.hardware.camera.provider@2.5::ICameraProvider/legacy/0
* Needed for AIDL HDMI-CEC HAL to work. Some functions that were in the
HIDL HDMI-CEC HAL have been moved to separate HDMI connection HAL in the
AIDL versions. Only returns connection status of HDMI ports on Pi.
onHotplugEvent is not implemented.
* Use hardware/interfaces/tv/hdmi/connection/aidl/ as reference.
* Use vendor property to allow labeling it for SELinux.
* Remove unneeded properties to set version and vendor id. Using the
default values in any case.
* Start the service later at 'class hal' to avoid making this into bootstrap
APEX. 'class early_hal' is started on trigger 'on late-fs' which is too
early for vendor APEX.
* Use device as an identifier in package names so APEXs on rpi4/rpi5 trees
can co-exist. Somehow apex definitions escape the soong namespace. It
doesn't complain about duplicate package names but dependecies later in
the build after analyzing Android.bp files and generating ninja file.
FAILED: ninja: ... multiple rules generate com.android.hardware.bluetooth.rpi-deps-info [-w dupbuild=err]
https://android.googlesource.com/platform/build/soong/+/refs/heads/main/README.md#namespaces
* Not sure if this is an AOSP bug or intended behaviour for apex targets.
Don't like using the rpi4/rpi5 tags but couldn't come up with better
solution to limit the visibility that worked.
* General cleanups. As APEX package contains all dependencies that are
needed for the service, remove unused shared libraries.
Run 'bpfmt -s -w Android.bp'.
* Doesn't do anything if BOARD_HAVE_BLUETOOTH_BCM is not set.
* Bluetooth device name is parsed from 'ro.product.model' if no default
is provided using 'bluetooth.device.default_name' property.
* Drop Raspberry from model as some hardware information applications
display it after the manufacturer/brand and we'll end up with duplicate
Raspberry in the device name.
* PRODUCT_RELEASE_NAME is long gone.
* Some hardware information applications use this so set actual hardware
platform name.
* Historic reason why this was set to rpi is that this allowed to use same
HALs on rpi3/rpi4 when they were commonized. 'ro.board.platform' this sets
is used in the legacy module load order.
https://android.googlesource.com/platform/hardware/libhardware/+/refs/tags/android-15.0.0_r20/modules/README.android
This has no use with modern HIDL/AIDL/APEX HALs. For legacy HALs name can
be implicitly set using system properties (e.g. 'ro.hardware.audio.primary'
that's still relevant).
* PRODUCT_FULL_TREBLE gets set on PRODUCT_SHIPPING_API_LEVEL >= 26.
There's no need to override it.
2b32469c47
* BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED gets set with PRODUCT_FULL_TREBLE.
c227ce7c25