As requested by Android Council review of API.
Test: vts
Change-Id: I1f633856c31623ef95f459b2195743f53b5d85fc
Merged-In: I1f633856c31623ef95f459b2195743f53b5d85fc
Fix the way the test handles multi-displays by caching
all the hotplug events received when registering the callback
Test: VTS on Pixel 4
Bug: 174174253
Change-Id: I9a69b18bcef0722e603f2ca58cfbd176ea60f5f2
Merged-In: I9a69b18bcef0722e603f2ca58cfbd176ea60f5f2
Define data structures for VoNR network feature support information,
and update RegStateResult to allow the information to be reported
through the response of getVoiceRegistrationStateResponse and
getDataRegistrationStateResponse.
Bug: 167991878
Test: make, VTS
Change-Id: I098bd1b6c86cd38be6fbc086b8ebd7b1bb2408fa
On a low-end device which does not support STA-SAP concurrency, if STA
is currently enabled and user/app tries to enable SAP, then Wi-Fi needs
to reconfigure and stop Wi-Fi HAL first. Among other stopping actions,
HAL needs to set global_handle_ to nullptr and send "Exit" to
wifi_event_loop then waits no more than kMaxStopCompleteWaitMs. If the
wait times out, then reconfiguration fails and causes Wi-Fi controller
returns to STA mode and creates new STA iface indirectly. In this
process, HAL needs to access global_handle_, but since it was cleared,
we can only get a Native Exception.
Because there is no proper error recovery for UNKNOWN errors, I suggest
to simply set kMaxStopCompleteWaitMs to a higher value to circumvent
this timing issue.
Bug: 173760638
Change-Id: I1b5a0a7a554409704c017ffaf52a767b9424c61e
Since someone asked, and I was still confused, after discussion, this
is the way things work.
Bug: 173817747
Test: N/A
Change-Id: I2c4e062672a2f2d998479d4f9ae11b7749c2aca6
Enum values defined in the XSD now correspond to the
"no system definitions" lists of enums in
system/media/audio/audio-hal-enums.h.
Added channel masks that used to be in s/m/a/audio-base-utils.h.
Removed use of "vectors of vectors" for channel masks
since individual channels are not allowed to be used
in the APM config and at the HAL transport level.
Fixed definition of the gain mode of audio ports:
1. Since it's a bit mask in the framework, it must be a list in
the audio policy configuration XML file. Note that the old
definition is compatible with the new one as one element is a
valid list.
2. As gain mode is defined in the XSD file, it shouldn't be
defined again in types.hal.
Bug: 122858783
Bug: 142480271
Test: audio smoke tests
Change-Id: I2df5eb4bc4a393611d3adb0ee30583767197591b
Merged-In: I2df5eb4bc4a393611d3adb0ee30583767197591b
Currently, if an IDevice object is a DEAD_OBJECT, the runtime attempts
to re-retrieve the handle to the rebooted IDevice service. If an update
occurs after the IDevice was originally created, the rebooted IDevice
object may have different metadata and behavior. This is problematic
because the original metadata is cached in the runtime. Further, an
application might have made decisions based on that metadata and
behavior. (Note that a driver service that is functionally the same but
has a different underlying implementation such as having more optimized
code will have different `getVersionString` metadata.) Instead, this CL
invalidates the IDevice object on cache mismatch, and always returns an
error if it is used.
Bug: 173081926
Test: mma
Change-Id: I805987361c627c32d45e1b7c7aed230376fc66ad
Merged-In: I805987361c627c32d45e1b7c7aed230376fc66ad
(cherry picked from commit 5a74c0fb0f)
This applies to the following types:
- audio_gain_mode_t;
- audio_flags_mask_t;
- audio_channel_representation_t;
- audio_channel_mask_t;
- audio_devices_t.
Enum types are distinct thus proper overloading on the type
is possible in C++. Also, assignments to enum types are
less prone to errors.
Bug: 169889714
Test: basic audio functionality
Change-Id: I07e96ae99724f38fe0b40194f4feab7ff68418e7
Merged-In: I07e96ae99724f38fe0b40194f4feab7ff68418e7