Enable VTS unit test for dynamic output shape deduction.
Only test dynamic output shape for V1_2::IDevice with V1_2::Model.
Bug: 73506513
Test: VtsHalNeuralnetworksV1_xTargetTest with 1.2 sample driver
Change-Id: I4134e1ec54a15554eb8533134897279651b57da3
Merged-In: I4134e1ec54a15554eb8533134897279651b57da3
(cherry picked from commit a316581b21)
Remove ROTATED_BBOX_TRANSFORM since it is no longer needed.
Add DETECTION_POSTPROCESS for SSD NMS postprocessing op.
Bug: 120983926
Test: NeuralNetworksTest_static
Change-Id: Id6b1021c8707734499feddddf0aac24a3fff90f8
Merged-In: Id6b1021c8707734499feddddf0aac24a3fff90f8
(cherry picked from commit 1f59bc3b24)
FastMessageQueue is a Treble-compliant data structure that enables fast
communication between two processes. The FMQ object itself is an atomic
circular buffer that is optionally synchronized with a futex. However,
FMQ has no notion of ownership or lifetime across processes, so it must
be paired with higher-level constructs to manage the lifetime and
ownership.
The NNAPI is introducing the notion of an "Execution Burst" object (or
more simply a "Burst" object), which is similar to an
ANeuralNetworksExecution, but is intended to be reused across multiple
executions and has lower IPC overheads. It achieves this low IPC
overhead by replacing HIDL HwBinder calls with FMQ messages.
Specifically, it replaces IPreparedModel::executeSynchronously's call
from the client into the service with fmq_sync<FmqRequestDatum> (an FMQ
channel used to pass a serialized Request object) and it replaces
the return from the service into the client with
fmq_sync<FmqResultDatum> (an FMQ channel used to return serialized
result status and OutputShapes information).
Each channel is a unidirectional flow of information with exactly one
producer and exactly one consumer. The channels are created by the NN
runtime and passed to the service via
IPreparedModel::configureExecutionBurst.
This CL defines the FmqRequestDatum and FmqResultDatum types in
types.hal. IBurstContext.hal defines IBurstContext, a HIDL object used
by the service to manage the resources of a Burst. IBurstCallback.hal
defines IBurstCallback, a HIDL callback object that can be used to
retrieve the handle to a resource the service has either not yet seen or
has evicted from its cache. Finally, IPreparedModel.hal is extended with
IPreparedModel::configureExecutionBurst to create the burst object.
Bug: 119570067
Test: mma
Change-Id: I333da70201531b1396efc714d096c277e8e1d47b
Merged-In: I333da70201531b1396efc714d096c277e8e1d47b
(cherry picked from commit 7e91e24fe1)
am: 6f6fe9a5e2 -s ours
am skip reason: change_id Ia4845d43871730e14b5ba1411ce72f8c4bb69042 with SHA1 f234e45b20 is in history
Change-Id: I0f59c7c14f2470b923ff4c6740ff93da23338841
Add the ability to get a list of supported codecs and their capabilites
through the HIDL interface.
Bug: 111519504
Test: Compile
Change-Id: I61dff240a98d59cb99b526d8988d0d0245140ee4
This change allows a device to include the lazy service implementation,
which will allow the HAL to exit when it is not in use.
Test: Manually observe brightness slider behavior
Change-Id: I7f8f747ebe6e183e1aaf1406852e6e26a97aee35
Clean up some unneeded/confusing error codes in the 1.4 Radio HAL.
Quoting description from aosp/616923:
-Remove SYSTEM_ERROR. This is an ultra-generic error
that also provides no meaningful distinction from
INTERNAL_ERROR but is even less specified in scope.
-Remove NO_MEMORY. This is very implementation
specific, and should be essentially impossible to
hit in the generic sense. Today we don't have a
generic EBUSY error code, which this would map to.
Since it should be essentially impossible to hit,
the preference is to assert that it shouldn't be.
If an implementation really has memory pressure
then it can return INTERNAL_ERROR, of which this
is a class. INTERNAL_ERROR will be treated as a
temporary failure anyway, making NO_MEMORY a
distinction without a difference.
-Remove CANCELLED. We have no way to cancel an API
call. If a persistent/ongoing request is cancelled
by the caller using a separate API request, then
that's a success case rather than an error case.
Bug: 73174777
Change-Id: I5bf268f86ed52e7294f7127f24beba04c9159fea
Test: Compilation
VTS gets the name of all the cameras in the machine and check each camera, When traversal to the configuration reference of 1600*1200 camera, the outputPreviewStreams variable does not clear, save the value of the Previous camera
The outputPreviewStreams variable needs to be cleared when check next camera
Bug: 122806546
Test: ConfigureStreamsWithSessionParameters can pass when one of the three cameras was configured with a maximum android.scaler.availableStreamConfiguration size of 1600*1200
Change-Id: Ia4845d43871730e14b5ba1411ce72f8c4bb69042
Merged-In: Ia4845d43871730e14b5ba1411ce72f8c4bb69042
The new format is described in tools/metalava/FORMAT.md.
Fixes: 116589402 Switch signature files over to the v2 format
Fixes: 112626813 Drop "synchronized" modifier from the signature format
Fixes: 122358225 Omit overriding methods that only differ in final [...]
Fixes: 73088715 API Review: Need doclava to output nullability
Fixes: 79739773 API Review: Metalava enforcing constants are constant
Exempt-From-Owner-Approval: Large-scale tooling change
Test: make sdk, make update-api, make checkapi
Change-Id: I767f9fb2941789615c9513072a381e79a5654373
Merged-In: I2943d9a65c24e7ca8fb9ae9b69f7edf06173f467
Many of error causes reason are using very esoteric
abbreviations and acronyms. Refine description for making more
clear to the developer.
Bug: 113505704
Test: Build pass and data call can setup normally.
Change-Id: Ifb9c256eef8354add46c76c322cd6a3bd126bd44
Add support for dual SIM to carrier restrictions.
Add support to exclude specific carriers in the list of carrier
restrictions.
Bug: 120313541
Test: Created test application to verify correct functionality.
Change-Id: Ib05267fda5f2fd0b8821a5812fcf47d460e60a2b
Merged-In: Ib05267fda5f2fd0b8821a5812fcf47d460e60a2b
setModemsConfig and getModemsConfig APIs will allow the framework
to set the number of live modems to switch to single/multi sim state
Bug: 122073700
Test: vts
Change-Id: Ib200ffa5f2aebe21caf2b761407c79828730e6f1
Merged-In: Ib200ffa5f2aebe21caf2b761407c79828730e6f1
VTS gets the name of all the cameras in the machine and check each camera, When traversal to the configuration reference of 1600*1200 camera, the outputPreviewStreams variable does not clear, save the value of the Previous camera
The outputPreviewStreams variable needs to be cleared when check next camera
Bug: 122806546
Test: ConfigureStreamsWithSessionParameters can pass when one of the three cameras was configured with a maximum android.scaler.availableStreamConfiguration size of 1600*1200
Change-Id: Ia4845d43871730e14b5ba1411ce72f8c4bb69042
It did not recognize ISupplicantP2pIface.hal and media.c2 package.
Test: run it, check ISupplicantP2pIface and media.c2
Bug: 121546794
Change-Id: Ib386608f407a961c7a041c20cbf92c305f27cc5c
Some countries or carriers require some emergency numbers that must
be handled with normal call routing or emergency routing.
In multi-sim senario, this radio request will be sent through the IRadio
service that serves the subscription the emergency number belongs to,
no matter of the PUK/PIN state of the subscription and the service state.
Test: Treehugger
Bug: 112657134
Change-Id: Iaa9768226dc2d7d2d66a9678823ba7d0047a1988
Merged-In: Iaa9768226dc2d7d2d66a9678823ba7d0047a1988
(cherry picked from commit dd49ad675e)
The original default implementation for power.stats HAL did not have a
good example implementation of the power statistics related APIs. Adding
a new default implementation that gives a more informative example
Bug: 122267057
Test: run vts -m VtsHalPowerStatsV1_0Target
Test: adb shell "lshal debug android.hardware.power.stats@1.0::IPowerStats/default"
Observed the following output
========== PowerStats HAL 1.0 state residencies ==========
Entity State Total time Total entries Last entry timestamp
DefaultEntity Active 1 ms 2 3 ms
DefaultEntity Sleep 4 ms 5 6 ms
========== End of PowerStats HAL 1.0 state residencies ==========
Change-Id: Ida0951c267f609b16bb6406da150ed2e504ced9a
If there are more than one metadata entities being passed
via FMQ, specify the framework read order.
Test: Build
Bug: 119575429
Change-Id: Ia34ac69ce670b1ebeda12d92af490c347f33c15b
Merged-In: Ia34ac69ce670b1ebeda12d92af490c347f33c15b
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)
Comparators should be const. The libc++ update checks for this and
rejects non-const comparators.
Test: m
Bug: None
Change-Id: If2f76c020943b5bcb55803f0742990c9965afd6e
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