This makes sure that when developers add a new version of an interface,
or when interfaces are being frozen, the runtime/buildtime situation of
clients depending on those interfaces remains the same. This is required
for AIDL to continue working at scale.
Bug: 188871598
Test: build
Change-Id: I2a30859548cd676f9329007590a53c4916a1c0ef
Add @hide to adil to avoid API export in framework.
Bug: 194739778
Test: make and use fmq java-source in framework
Change-Id: Ie1f7e8f9a36a1f09258581d484843f372f56e03e
Merged-In: Ie1f7e8f9a36a1f09258581d484843f372f56e03e
Add @hide to adil to avoid API export in framework.
Bug: 194739778
Test: make and use fmq java-source in framework
Change-Id: Ie1f7e8f9a36a1f09258581d484843f372f56e03e
Merged-In: Ie1f7e8f9a36a1f09258581d484843f372f56e03e
The ndk_platform backend will soon be deprecated because the ndk backend
can serve the same purpose. This is to eliminate the confusion about
having two variants (ndk and ndk_platform) for the same 'ndk' backend.
Bug: 161456198
Test: m
Change-Id: Ibe8beeaf0d1b33968fb782f1f70c17ae9e9bf871
This CL fixes the compiler errors that arose of changing the Memory
representation of the NN AIDL HAL, and updates the conversion and
utility code to work with the new Memory type.
This change also makes libaidlcommonsupport available to apex modules at
min sdk level 29.
Bug: 183118727
Test: mma
Test: VtsHalNeuralnetworksTargetTest
Change-Id: Ief565473b4d82e0bb43785fc3b8275b16bd26cf6
Merged-In: Ief565473b4d82e0bb43785fc3b8275b16bd26cf6
(cherry picked from commit b0fcb3927d)
Prior to this change, the NN AIDL HAL created a Memory struct analogous
to hidl_memory, consisting of a name, size, and native handle. However,
this Memory struct is not very structured, and requires both the client
and server to agree on how the data should be interpreted.
This CL tightens the structure of the Memory representation by
introducing Ashmem and MappableFile structs to android.hardware.common
in order to hold specific file descriptors representing memory regions.
Further, this CL redefines android.hardwre.neuralnetworks's Memory
object as a union of the Ashmem, MappableFile, and (existing)
HardwareBuffer memory types.
This change also adds "com.android.neuralnetworks" to the graphics
AIDL HAL's apex_available build rule.
Bug: 183118727
Test: mma
Change-Id: I32322df676b83597c9e95f13662c322a6a80accc
Merged-In: I32322df676b83597c9e95f13662c322a6a80accc
(cherry picked from commit 1158c80ff6)
This CL fixes the compiler errors that arose of changing the Memory
representation of the NN AIDL HAL, and updates the conversion and
utility code to work with the new Memory type.
This change also makes libaidlcommonsupport available to apex modules at
min sdk level 29.
Bug: 183118727
Test: mma
Test: VtsHalNeuralnetworksTargetTest
Change-Id: Ief565473b4d82e0bb43785fc3b8275b16bd26cf6
Merged-In: Ief565473b4d82e0bb43785fc3b8275b16bd26cf6
(cherry picked from commit b0fcb3927d)
Prior to this change, the NN AIDL HAL created a Memory struct analogous
to hidl_memory, consisting of a name, size, and native handle. However,
this Memory struct is not very structured, and requires both the client
and server to agree on how the data should be interpreted.
This CL tightens the structure of the Memory representation by
introducing Ashmem and MappableFile structs to android.hardware.common
in order to hold specific file descriptors representing memory regions.
Further, this CL redefines android.hardwre.neuralnetworks's Memory
object as a union of the Ashmem, MappableFile, and (existing)
HardwareBuffer memory types.
This change also adds "com.android.neuralnetworks" to the graphics
AIDL HAL's apex_available build rule.
Bug: 183118727
Test: mma
Change-Id: I32322df676b83597c9e95f13662c322a6a80accc
Merged-In: I32322df676b83597c9e95f13662c322a6a80accc
(cherry picked from commit 1158c80ff6)
In case devices don't have them.
I've also changed the version of these libraries which are used to be
explicit.
Fixes: 178483563
Test: libaidlcommonsupport_test
Change-Id: I4ebbbc84f8cb383b99d1e9a1ecc5ad6b28b8549e
android.hardware.common.fmq.MQDescriptor needs to handle multiple file
descriptors, so changing from ParcelFileDescriptor to
android.hardware.common.NativeHandle.
android.hardware.common.fmq.GrantorDescriptor needs to keep track of the
fdIndex as well.
Bug: 176912570
Test: atest fmq_unit_tests fmq_test
Change-Id: I15f2393e6c420ae5394322b28c4523fa80f7dcc7
The native_handle API is notoriously tricky to work with, and this is
expected to be very common. So, adding a small helper library.
Fixes: 175432703
Test: atest libaidlcommonsupport_test
Change-Id: I4a00d2b14fefe6c979ee656e353e117661a1a483
The handle type here is needed in some HALs now (specifically in order
to encode a Surface, which is backed by a handle). This previously
wasn't in Java simply because handles are more common in native code,
and so it wasn't expected to be used.
Fixes: 171087128
Test: build
Change-Id: Ie1eaf50cc8e62932cc553b80c02be434bfbaf3b3
We are adding things to them, and in order for core libraries like libui
to use them, the newer versions need to be in the VNDK.
Bug: 170435409
Test: build
Change-Id: I4094240656f357b5ae52194befd0e10627b9fe23
Merged-In: I4094240656f357b5ae52194befd0e10627b9fe23
Moved the types to andrdoid.hardware.common.fmq.
This allows modules to depend on the unstable version of the library
without conflicting with modules that depend on the stable version of
android.hardware.common.
Test: atest fmq_unit_tests fmq_test
Bug: 142326204
Change-Id: I3091f52c4e763a15fd9a1b7451a1455a06fb4c30
Revert "Change payload type to int32_t for fmq device tests"
Revert submission 1431616-thirtytwo
Reason for revert: This topic broke the aosp_x86-userdebug target. Details at http://b/169077648
Reverted Changes:
If736389eb:Add template parameters to MQDescriptor
Ice9c28c3d:Change HIDL fmq tests to use int32_t for payload
Ia18d8459b:Add template arguments to MQDescriptor for AIDL
I95586cc83:Change payload type to int32_t for fmq device test...
Change-Id: Ib7c409b164c76517d642a415cdfc2406e4f2f351
First parameter is used to determine the type of the payload, and the
second parameter is used to determine the type of queue.
Added two types to be use in that second parameter.
SynchronizedReadWrite and UnsynchronizedWrite.
Test: atest fmq_unit_tests fmq_test
Bug: 142326204
Change-Id: If736389ebecd02b87879850714606523e5145579
Adding these two types to android.hardware.common for future use with
Fast Message Queue in libfmq.
Also adding to the mq_test_service to test them.
Test: system/tools/hidl/tests/run_all_device_tests.sh
Bug: 142326204
Change-Id: I424c4849c822436f58e40f206b09ffdf9baf260b
Generated files with:
m android.hardware.common-update-api
m android.hardware.graphics.common-update-api
Test: Builds
We don't want this commit merged into branches that have added
these types already, as they may have changed.
Merged-In: Ie1d92a50dddf7e3e1bd473e2a957279c6dadb865
Change-Id: I2d83dfdb1d0ba75c76774ded26c4ce93b1807097
In order to provide a more descriptive name, and to be consistent
with HIDL, the stable AIDL package names are switching from
vintf-*common format to the package format
(android.hardware.*common).
Bug: N/A
Test: all build time
Merged-In: Ie1d92a50dddf7e3e1bd473e2a957279c6dadb865
(cherry picked from commit 926aa80f04)
Change-Id: I82b2255986a7089e625e02a1b48906611178895d
This includes other types needed by HardwareBuffer.
Test: Builds
Bug: 145839204
Change-Id: I86c9d2f0cb04b597da9a93b7b6210b041312e1ac
Merged-In: I86c9d2f0cb04b597da9a93b7b6210b041312e1ac
(cherry picked from commit d535133127)
Modules contributing mainline modules (APK/APEX) should set
min_sdk_version as well as apex_available.
For now setting min_sdk_version doesn't change build outputs.
But build-time checks will be added soon.
Bug: 152655956
Test: m
Change-Id: Ie6912167932812afb6e5f1ef5325ce7997cd04ae
AIDL interfaces which are vintf-stable have to be frozen in release.
But these interfaces have been never frozen, so freeze them.
- android.hardware.common
- android.hardware.automotive.occupant_awareness
- android.hardware.rebootescrow
- android.hardware.graphics.common
Bug: 153510296
Bug: 153510400
Bug: 153510960
Bug: 153511702
Test: m
Change-Id: I56e53209eaf00518ec83f2a322e89d6d944eb0ac
All aidl_interface modules should by default considered as stable, in
case it is used across system and vendor partitions, or across modules.
Like other API surfaces, we need to have a dump for the current
(yet-to-be-released) version and update it when there is an API change.
This is done via .
Then the owner of the interface can freeze the current version as a
numbered version via .
This change shal be rejected only when the owner is certain that the
interface is not used across the updatable boundaries.
Bug: 152655547
Test: m
Change-Id: Icc9c32aaf7f8555e6a3792bb5e5a2b48a446c545
In order to provide a more descriptive name, and to be consistent
with HIDL, the stable AIDL package names are switching from
vintf-*common format to the package format
(android.hardware.*common).
Bug: N/A
Test: all build time
Change-Id: Ie1d92a50dddf7e3e1bd473e2a957279c6dadb865