This was added to the PI (3) compatibility matrix but not to the
current matrix.
Bug: 126892442
Test: diff between 3 and current FCM only reflects intentional changes
Change-Id: Ib6d243d2015cb847afad63075387945a74c30f13
graphics.composer 2.3 was added in Android Q, so it is in the
compatibility matrix for target-level 4. Devices updating from P
to Q will automatically have this option applies. However, for
sanity, we try to keep the P compatibility matrix between releases.
This change should have no functional difference except minimizing
the delta in this file between P/Q branches.
Bug: 126892442
Test: diff compatibility matrix files
Test: these matrices are verified at build time
Change-Id: I8514c7b6ce4c2670ce7926fb31b09ed783d17dca
- configstore@1.2 no longer exists
- configstore@1.1 is being deprecated in favor of properties
Bug: 122461092
Bug: 124531214
Test: manual
Change-Id: Ia1411ca5db897b3d9f67a4450cf10f878ddc64b9
Sometimes, the camera service needs to notify a camera HAL that the
overall device physical state has changed, so that the HAL can
properly remap how it handles logical multicamera devices or similar.
Test: Builds, new VTS tests pass
Bug: 121379978
Change-Id: I0982fdecaf53a0529289d63c08c5a31264ee7ec7
Before:
1.0-1.1 is optional, but an implementation of 1.2 is required.
After:
1.0-1.2 can be used.
Bug: N/A
Test: N/A
Change-Id: I631c253ee44f858e3c1912106cb42682eb044c05
This reverts commit 1b066c8d1d.
Reason for revert: <This CL isn't related to public API which triggered previous revert>
Change-Id: If1fa2a244e5f4ee7f978cda79421172da02220f1
Add sendSessionEvent to notify hal what happened on a session.
Add onSessionEvent to listen notification from hal for a session
Test: manual
Bug: 122472761
Change-Id: I98434325915e7bee57e63bdeeedba9ed5578e493
Fix the compatibility matrix with range of versions
Bug: 122994344
Test: verified manually
Change-Id: Ic5ebb7261d2fe8f379d46ebcc0c47efe8dbd3c59
Merged-In: Ic5ebb7261d2fe8f379d46ebcc0c47efe8dbd3c59
DEVICE_PRODUCT_COMPATIBILITY_MATRIX_FILE is installed on
/product/etc/vintf. It is considered as a replacement of
DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE, so only one
of them may be defined. At build time, things like
SEPolicy versions etc. will be written to
/product/etc/vintf/compatibility_matrix.device.xml, just
like the /system one.
Also, split framework_compatibitity_matrix.xml to
system_compatibility_matrix.xml and product_compatibility_matrix.xml.
The latter two corresponds to matrices installed to respective
partitions only.
Test: build with DEVICE_PRODUCT_COMPATIBILITY_MATRIX_FILE defined
Test: boot (sanity)
Bug: 120600021
Change-Id: I81f9a8f5028cbb88c45f44df04bccb8ccb483972
Supports reporting and userspace control of USB contamination presence.
Bug: 117330206
Bug: 77606903
Bug: 119642987
Test: USB HAL V1.2 HIDL tests.
Change-Id: I70219641cdd48d59d217334dbd6d4ed8a8ce4927
V2_2 has the same functionality as V2_1 except it adds one new
api, getModelState.
Note: V2_1 will be removed in a subsequent cl.
Test: built android and tested using SoundTriggerTestApp
Bug: 70206501
Change-Id: Ia1567bfc988482195b89b8d6a0901d51e870bfbf
Generalized Bluetooth Audio HAL interface.
It is similar to the original android.hardware.bluetooth.a2dp@1.0
interface with the following modifications:
* The session type can be one of the following:
- A2DP Software Encoding Datapath
- A2DP Hardware Encoding Datapath
- Hearing Aid Software Encoding Datapath
* For Hardware Offload Datapath (A2DP), the HAL interface is used only
for the control path
* For Software Encoding Datapath (A2DP or Hearing Aid), the HAL
interface is used for both the control and data paths
* Added Delay Report support: IBluetoothAudioHost.getPresentationPosition()
that was missing in the original android.hardware.bluetooth.a2dp@1.0
HAL interface.
* Removed "oneway" calls to avoid potential reordering of HAL calls:
b/111244402
* Updated SBC-specific codec configuration
* Added AAC-specific and LDAC-specific codec configuration
* Reorganized the original CodecConfiguration into two sections:
- PcmDataConfiguration: Audio PCM data configuration
- EncodedDataConfiguration: Encoded audio data codec configuration.
It is used only if the HAL is responsible for encoding the PCM audio
data.
* Added new HAL IBluetoothAudioProvidersFactory.
It is used to open an audio provider for an audio session as specified by
the session type and the codec configuration as negotiated with the
remote device.
Bug: 111519504
Test: manual
Change-Id: I2ee4cf50b177baee077cf0b5143dbeadda57c8fb
Merged-In: I2ee4cf50b177baee077cf0b5143dbeadda57c8fb
(cherry picked from commit fcc0732db4)
Increase IAllocator and IMapper to 3.0. This patch does not add
any new features.
Bug: 120493579
Test: vts
Change-Id: I84d9887f94d91eca1cc5d845bb11ac1d8affbf62
Generalized Bluetooth Audio HAL interface.
It is similar to the original android.hardware.bluetooth.a2dp@1.0
interface with the following modifications:
* The session type can be one of the following:
- A2DP Software Encoding Datapath
- A2DP Hardware Encoding Datapath
- Hearing Aid Software Encoding Datapath
* For Hardware Offload Datapath (A2DP), the HAL interface is used only
for the control path
* For Software Encoding Datapath (A2DP or Hearing Aid), the HAL
interface is used for both the control and data paths
* Added Delay Report support: IBluetoothAudioHost.getPresentationPosition()
that was missing in the original android.hardware.bluetooth.a2dp@1.0
HAL interface.
* Removed "oneway" calls to avoid potential reordering of HAL calls:
b/111244402
* Updated SBC-specific codec configuration
* Added AAC-specific and LDAC-specific codec configuration
* Reorganized the original CodecConfiguration into two sections:
- PcmDataConfiguration: Audio PCM data configuration
- EncodedDataConfiguration: Encoded audio data codec configuration.
It is used only if the HAL is responsible for encoding the PCM audio
data.
* Added new HAL IBluetoothAudioProvidersFactory.
It is used to open an audio provider for an audio session as specified by
the session type and the codec configuration as negotiated with the
remote device.
Bug: 111519504
Test: manual
Change-Id: I2ee4cf50b177baee077cf0b5143dbeadda57c8fb
In order to continue providing the best Telephony
experience possible, Android devices that ship
with Q should implement the IRadio 1.4 HAL.
Likewise, new devices should ship with IRadioConfig
version 1.2.
Bug: 112764647
Test: compilation; boots with Pixel 2
Change-Id: I7ce1a7e81dc54d6e4e13b4bdaad8228465bf1570
The new HAL will be responsible for processing touch video frames that
are received from InputClassifier stage.
After processing, the HAL will generate a classification of the current
gesture. This classification will later be provided to the app via
the MotionEvent.getClassification() public API.
The eventual goal is to classify each event stream as a force touch
or not a force touch.
An example implementation of the HAL is presented here. This code was
used for local testing on blueline, and should not be actually installed
or used in any way other than for reference.
Bug: 62940136
Test: observed "detected deep press" logs when pressing with large
finger area on the touchscreen
Change-Id: Id6ac4337435e4ac07877da11ca184b6dd4d64780
* changes:
power/stats: Add VTS test cases for power.stats HAL
power/stats: Add VTS testcases
power/stats: Add default implementation
power/stats: Update HIDL to include power stats API
power/stats: Update HIDL to use synchronous FMQ
power.stats: Add power.stats HIDL interface
Bug: 122271863
Test: Verified Sensors 1.0 is used if DCM requests Sensors 1.0
Test: Verified Sensors 2.0 is used if DCM requests Sensors 2.0
Change-Id: I3d5d21f0c1a75440e777ddb9a9afe4b0efbdda12
Add API for enabling/disabling external control of vibrator.
Bug: 117835666
Test: Sanity Check Via 'cmd vibrator'
Change-Id: I5342ca9feba1811efcb5483668858db3f70ad686
Signed-off-by: Harpreet "Eli" Sangha <eliptus@google.com>
* Kernel config requirements are built as
separate rules in kernel/configs. All kernel requirements
(including minlts and configs) are represented there.
* device framework compatibility matrix and final
framework compatibility matrix need special environment
variables, so they are not generic enough to be written
in the soong rule.
See compatibility_matrices/Android.bp for sample usages.
Test: builds and compare output before change
Change-Id: I53bf88362314f96487ca243c9292570b7931f24b
This was added late in P. Go ahead and require
configstore@1.1 since it is built from a universal source
for all devices as well.
Bug: 69691076
Test: N/A
Change-Id: I0203ecc2e70127c11f596896f71c869d12cd3973
(cherry picked from commit 74274cfbc6)
Merged-In: I0203ecc2e70127c11f596896f71c869d12cd3973
HAL development is starting for Andorid Q, so we need this.
Test: m compatibility_matrix.current.xml
Test: assemble_vintf (but b/78895849)
Test: boot a Pixel device after setting its target-level to 4
and verify that the compatibility check passes, and the
file is in the correct location (system/etc/vintf) and that
the dependencies are setup properly.
Change-Id: I42426d0145a97c719092306abc4f7ce8fa2b51bd
(cherry picked from commit 2d2e2d5c05)
Merged-In: I42426d0145a97c719092306abc4f7ce8fa2b51bd
Adding a callback object to indicate asynchronous events back to
framework. Only a failure indication method is added currently.
Also, Uprev the hostapd interface to 1.1.
Bug: 112705137
Test: Compiles
Change-Id: Ib885001e68734caa5ff192721f618010c125e4b7
Previously we couple wide color gamut display and color management together,
which is because we only do color management when we have wide color gamut
display. However, we would also want display that doesn't support wide color
gamut but is calibrated and is capable of managing sRGB gamut to have color
management. This means we will decouple wide color gamut display from color
management, a device can indicate that it's color managed without having wide
color gamut display and only manage color within sRGB gamut.
BUG: 111505327
Test: BUild, flash and check Natural/Boosted mode.
Change-Id: If1241ce040a6f691609d8f8d72a2d6f3141557cf
Use global instead of rule variables.
Test: make a change in kernel configs, existing out files
are changed.
Change-Id: Ic731356b4533bc10743d3711309ab16de1d3bd78
The system_matrix.xml in compatibility.zip can contain a fake
AVB version as specified by BOARD_OTA_FRAMEWORK_VBMETA_VERSION_OVERRIDE.
This allows OTA to pass compatibility check when the AVB version is
updated *during* the OTA.
Bug: 112291283
Test: specify BOARD_OTA_FRAMEWORK_VBMETA_VERSION_OVERRIDE and
manual test
Change-Id: I53c2de49ee68d6a3afc97201e759be344de6bdff
Adds new EXPENSIVE_RENDERING power hint.
This adds a new library which does not affect any pre-existing
targets unless they create and add a new binary which uses this.
BUG: 110112323
Test: adb shell /data/nativetest/VtsHalPowerV1_3TargetTest/VtsHalPowerV1_3TargetTest
Change-Id: I5fb33abbbe4c4958882a106dfa400ad74013e40d
This is missing from a very old CL. IR is an optional
HAL so specifying interface / instance here doesn't break
requirements.
Test: builds
Change-Id: I3aeab2798ce48cd1851b155fd41194fe70357aa2
This is missing from a very old CL. IR is an optional
HAL so specifying interface / instance here doesn't break
requirements.
Test: builds
Change-Id: I6d30d33041a01d8a8a724a89e00ba4c57d820d46
Enforce only when PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS
is set. If a device does want to require kernel configs, it has to
provide info for new kernel in OTA package.
Bug: 111840577
Test: build and manual inspection
Change-Id: I36b3fcd9d14a9795aaf8d020bba6180c5e8681d1
The kernel config naming convention is being modified
to use .config instead of .cfg.
Bug: 111762107
Test: builds
Change-Id: I33fb46226313abc2c8e854301cef1ac1b34342d2
Adds new EXPENSIVE_RENDERING power hint.
This adds a new library which does not affect any pre-existing
targets unless they create and add a new binary which uses this.
BUG: 110112323
Test: adb shell /data/nativetest/VtsHalPowerV1_3TargetTest/VtsHalPowerV1_3TargetTest
Change-Id: I5fb33abbbe4c4958882a106dfa400ad74013e40d
This change provides a reference implementation of the configstore HAL
v1.1.
Bug: 69691076
Test: tested on walleye-userdebug
Change-Id: I68ee224bcbda64f6fef91e8a0f95adb32d504aad
This was added late in P. Go ahead and require
configstore@1.1 since it is built from a universal source
for all devices as well.
Bug: 69691076
Test: N/A
Change-Id: I0203ecc2e70127c11f596896f71c869d12cd3973
These are the P requirements of kernel versions:
4.4.107, 4.9.84, 4.14.40.
Test: build and manual inspection of matrices
Test: boots
Test: vts_treble_vintf_test
Change-Id: Ic3cec1395e960000b70c6e001aa4981a9ffcd8c6
Fixes: 72409164
These are to be checked in verify_vintf_matrices at
the end of the build when all of the manifest fragments
are available.
Bug: 66917623
Test: check that verify_vintf_matrices hits these checks
Change-Id: I3f184a05a6a95751384da077257dddcf73d3a6f2
Requirements for legacy/1/2.xml has changed because
android-base.cfg files are changed. These files should
build from an older snapshot of the requirements.
Fixes: 78576469
Test: builds
Test: vts_treble_vintf_test
Change-Id: I908ebbe495ae06f983ef983a1be7937cf6be1c12
Merged-In: I908ebbe495ae06f983ef983a1be7937cf6be1c12
P framework can work with 4.14 kernel. 0 should
be updated to the correct value in a follow-up
patch.
This creates the following tags in all matrices:
Kernel 4.14 common requirements
Kernel 4.14 requirements on CONFIG_ARM is set
Kernel 4.14 requirements on CONFIG_ARM64 is set
Bug: 72409164
Bug: 77886167
Test: manually inspect built matrix
Change-Id: I82168df314ad61b21440ec5c703db8358468e083
Merged-In: I82168df314ad61b21440ec5c703db8358468e083
HAL development is starting for Andorid Q, so we need this.
Test: m compatibility_matrix.current.xml
Test: assemble_vintf (but b/78895849)
Test: boot a Pixel device after setting its target-level to 4
and verify that the compatibility check passes, and the
file is in the correct location (system/etc/vintf) and that
the dependencies are setup properly.
Change-Id: I42426d0145a97c719092306abc4f7ce8fa2b51bd
Requirements for legacy/1/2.xml has changed because
android-base.cfg files are changed. These files should
build from an older snapshot of the requirements.
Fixes: 78576469
Test: builds
Test: vts_treble_vintf_test
Change-Id: I908ebbe495ae06f983ef983a1be7937cf6be1c12
nfc@1.0 requires a conf file (libnfc-nci.conf) in order to work.
Since this file has no schema, it is a system<->vendor violation
and must be placed on the system image, however this makes the
system image non-generic.
nfc@1.1 contains this configuration in the interface, and so it
can be used entirely without creating a Treble violation.
Test: P-launching devices have nfc@1.1
Bug: 72080121
Change-Id: I7a99eb7cd5e577be0c70b4c5124f28fa471717e6
P framework can work with 4.14 kernel. 0 should
be updated to the correct value in a follow-up
patch.
This creates the following tags in all matrices:
Kernel 4.14 common requirements
Kernel 4.14 requirements on CONFIG_ARM is set
Kernel 4.14 requirements on CONFIG_ARM64 is set
Bug: 72409164
Bug: 77886167
Test: manually inspect built matrix
Change-Id: I82168df314ad61b21440ec5c703db8358468e083
This freezes the current compatibility_matrix for
Android P.
Fixes: 68112778
Test: m (assemble_vintf checks devices)
Change-Id: Ida30b7ba7f5df7c2755bd7c737190574b9195a92
Framework only uses these instances. If a vendor extension
of the framework use more instances, they should be added
via DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE.
Bug: 68112778
Test: builds + treehugger (telephony test)
Change-Id: Ie08db3c61f940d78e33f46ecc36e931dc688a7aa
Add bluetooth.a2dp to matrix as optional HAL.
Bug: 68112778
Test: m framework_compatibility_matrix.xml
Change-Id: I818a1d278eeae625f563ce74f056140407c50a64
Add radio.config to matrix as optional HAL.
Bug: 68112778
Test: m framework_compatibility_matrix.xml
Change-Id: If4466e3f189897219b33cf7da09883cf63c66de3
Enforce that all hals in the device manifest are
in framework compatibility matrix -- at build time.
Bug: 65028233
Test: build a phone without DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX.
Change-Id: Ibf220f80ca3621ddbf8288d372d5f40336e45248
Merged-In: Ibf220f80ca3621ddbf8288d372d5f40336e45248
Add LOCAL_ASSEMBLE_VINTF_ENV_VARS_OVERRIDE and
LOCAL_ASSEMBLE_VINTF_ERROR_MESSAGE for a more generic case.
Test: m framework_compatibility_matrix.xml -j
Bug: 65028233
Change-Id: Iec142d161daa18122e7a6daebb82c7230cb98ba6
Merged-In: Iec142d161daa18122e7a6daebb82c7230cb98ba6
All "private" environment variables to assemble_vintf
(inserted by the build rules, not build system variables)
should have this prefix (to distinguish against,
e.g. PRODUCT_ENFORCE_VINTF_MANIFEST)
Test: m framework_compatibility_matrix -j
Bug: 65028233
Change-Id: Iaefa88cefc0918fb86235ea6fcd8e367cbd82788
Merged-In: Iaefa88cefc0918fb86235ea6fcd8e367cbd82788
Enforce that all hals in the device manifest are
in framework compatibility matrix -- at build time.
Bug: 65028233
Test: build a phone without DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX.
Change-Id: Ibf220f80ca3621ddbf8288d372d5f40336e45248
Add LOCAL_ASSEMBLE_VINTF_ENV_VARS_OVERRIDE and
LOCAL_ASSEMBLE_VINTF_ERROR_MESSAGE for a more generic case.
Test: m framework_compatibility_matrix.xml -j
Bug: 65028233
Change-Id: Iec142d161daa18122e7a6daebb82c7230cb98ba6
All "private" environment variables to assemble_vintf
(inserted by the build rules, not build system variables)
should have this prefix (to distinguish against,
e.g. PRODUCT_ENFORCE_VINTF_MANIFEST)
Test: m framework_compatibility_matrix -j
Bug: 65028233
Change-Id: Iaefa88cefc0918fb86235ea6fcd8e367cbd82788
This correctly specifies the requirement of framework
on device. Specifically:
A device at target FCM version 2 is still required to
provide 1.0/default as specified in 2.xml.
Combined matrix at FCM version 2 has the following:
optional: 1.1/.*
optional: 1.0/.*
required: 1.0/default
A device at target FCM version 3 is required to provide
1.0-1/(any instance) as specified in 3.xml.
Matrix at FCM version 3 has the following:
required: 1.1/.*
optional: 1.0/.*
OTA: old libvintf does not recognize the <regex-instance>
tag, and parse this as "no instance requirements"
(satisfyAllInstances returns true). Hence this should
state no restrictions for old libvintf.
Caveat:
if a device does not provide any DRM instance, OTA
(specifically, full OTA that upgrades vendor image to
target level 3) will pass, but when the device is booted
there will be run-time checks about inconsistent builds
and VTS failures. But this case should be caught at build
time.
Test: vts_treble_vintf_test
Test: vts_testability_checker64 --compliance \
android.hardware.drm@1.0::IDrmFactory
Test: vts_testability_checker64 --compliance \
android.hardware.drm@1.1::IDrmFactory
Fixes: 73556059
Bug: 68112778
Change-Id: I45c76356d304a94d716eddebc621d367c0ce165a
... along with compatibility_matrix.device.xml.
The new module cm.device.xml contains the original content
of empty.xml (kernel configs, sepolicy, etc.) as well
as HALs from DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE.
This variable points to a framework compatibility matrix
that contains framework HALs as a vendor extension; all
HALs in this file must be optional.
Bug: 65028233
Test: m framework_compatibility_matrix.xml -j and manual inspection
Test: vts_treble_vintf_test
Change-Id: I94949f62f7f5b332d845f2e7fa4714df7c49ed3e
Merged-In: I94949f62f7f5b332d845f2e7fa4714df7c49ed3e
Use regular expression. NN HAL is a new
HAL so this does not break OTA.
Bug: 73738616
Test: builds
Test: vts_treble_vintf_test (compatible and No deprecate HALs)
Change-Id: I1bfb916854c62fa75d341d4572a15a944178eb47
Use regular expression. Camera HAL is an optional
HAL so this does not break OTA.
Bug: 73738616
Test: builds
Test: vts_treble_vintf_test (compatible and No deprecate HALs)
Change-Id: Idf2b8cbe49f5a913df744833147bb1c48588c956
... along with compatibility_matrix.device.xml.
The new module cm.device.xml contains the original content
of empty.xml (kernel configs, sepolicy, etc.) as well
as HALs from DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE.
This variable points to a framework compatibility matrix
that contains framework HALs as a vendor extension; all
HALs in this file must be optional.
Bug: 65028233
Test: m framework_compatibility_matrix.xml -j and manual inspection
Test: vts_treble_vintf_test
Change-Id: I94949f62f7f5b332d845f2e7fa4714df7c49ed3e
Use regular expression. Radio HAL is an optional
HAL so this does not break OTA.
Bug: 73738616
Test: builds
Test: vts_treble_vintf_test (compatible and No deprecate HALs)
Change-Id: I00a0d97a9528e0c4a72bde6244e47dc2842686ed
The strongbox instance of the Keymaster 4.0 HAL
is optional, as not all P devices are expected
to provide an implementation.
Test: builds
Bug: 68112778
Change-Id: I96a18cb31058d82b04ba3486a88ceac26058a7d2
Strongbox is not supported on all devices
and breaks device builds (cf_x86_phone-userdebug).
This change to be relanded once dependencies are resolved.
Test: builds
Bug: 68112778
Change-Id: I846cdbcfdf7d0a76e0c86518da8a1bb4eeed3caa
Device targeting the last level must use the last version of the
audio HAL.
Bug: 38184704
Test: cuttlefish has no build target, so there is no way to test,
nevertheless the exact same trivial change was made to Pixel 2
Change-Id: If767803e08caf5b03edcea26fd8dba1cca12cc38
Signed-off-by: Kevin Rocard <krocard@google.com>
Upgrading devices are allowed to stay on audio V2,
but can also update to V4.
Bug: 38184704
Test: compile and check V4 can be loaded and functional with lshal
Change-Id: Ib1c8381925837a8402ae535755a0558afcf26f4d
Signed-off-by: Kevin Rocard <krocard@google.com>
It used BOARD_SEPOLICY_VERS as a workaround, which is incorrect.
Test: m framework_compatibility_matrix.xml -j
Bug: 67920434
Change-Id: I029edd2f573740af272f8b767bb1ec5cc1dc0415
* devices with Shipping FCM version
legacy / O / O-MR1 use 3.18, 4.4, 4.9
* devices with Shipping FCM version P use 4.4 4.9
Bug: 72389707
Test: manual inspection on
$OUT/system/etc/vintf/compatibility_matrix.*.xml
Change-Id: I4f37325c0210f88e9e6d3e7136a82d50da3e93fe
Moved framework_compatibility_matrix.xml module definition
from target/board/Android.mk here because it depends on
compatibility_matrix.*.xml.
Test: m dist
Bug: 69636193
Change-Id: I7480b27756992b47555f6b397925170ae9d1ac22