The hardware composer service has a rule that only one client can be
connected at a time. The surface flinger process, when transitioning
composer ownership from surface flinger to vr flinger, will destroy the
current client on one thread and create a new client on another
thread. Although surface flinger ensures that these events happen in the
expected sequence (delete then create), the requests sometimes land in
the hardware composer service in inverted order, causing the creation
request to fail with an error.
Instead of failing with an error, block for a brief period (1 second)
until the existing client is removed, then proceed to initialize the new
client. This gives us enough time to ensure an inverted
creation/destruction order doesn't cause client creation to fail, while
avoiding a deadlock if the existing client is never destroyed.
Bug: 62925812
Test: - Transitioned to/from vr flinger hundreds of times, and confirmed
I no longer see sporadic composer client creation failure due to an
already existing client.
- Ran the vts graphics composer tests and confirmed they all pass.
Change-Id: I40be1fb0cb3d42ddb5a9fc159188886e9f5b6267
AesCtrDecryptor::decrypt() doesn't check whether the size of "key" is
equal to 16 bytes, which may lead to an OOB read problem in the context
of mediadrmserver. The fix is in clearkey plugin. Add tests to validate
the fix.
Test: VTS test
adb shell /data/nativetest/VtsHalDrmV1_0TargetTest/VtsHalDrmV1_0TargetTest
bug: 63982768
Merged-In: Ife2da17e7f39d8031bc36b83c3b27ba5e9d83eb7
Change-Id: Ife2da17e7f39d8031bc36b83c3b27ba5e9d83eb7
This version of configstore was removed internally.
Test: I solemnly swear I tested this conflict resolution.
Change-Id: I589addff6aec7bb7a8a7938d75c51dcc56116a42
This change was made because the new scan API needs to include the human
readable operator name other than PLMN in the scan results.
In order to let teh operator name used by other structures and APIS, we added
the operator name alphaLong and alphaShort, which were actually included
in the OperatorInfo, into the CellIdentity.
Bug: 63984327
Test: Basic telephony sanity
Change-Id: I498b7f190b739c92975fe797e1c74e96d90ee823
Bug: 64747884
Test: VtsHalRenderscriptV1_0TargetTest successful on the device built
with BOARD_VNDK_VERSION=current and [system] namespace config is applied
to /data/nativetest[64]/* processes.
Merged-In: I9e967c80ac2dba718cd47e1f378bcbf18abe9ad2
Change-Id: I9e967c80ac2dba718cd47e1f378bcbf18abe9ad2
(cherry picked from commit a7ef697a0a)
The AdditionalStopsWithInitReturnFalse test inits offload and
then checks that stopOffload returns true. However, the HAL is
allowed to return false to stopOffload if no upstream was ever
successfully programmed.
To ensure this test doesn't fail in the common case that the
interface is not up, don't expect stopOffload to return true in
this case.
Bug: 67439856
Test: VtsHalTetheroffloadControlV1_0TargetTest passes with and without mobile data connection
Change-Id: I245f9e3e4376a7799572a3b3967e2bf6c52b5e4d
This hash was added in O, but was given automerger flags
which made it disappear in subsequent releases. Adding it back
so that O vendor images can pass VTS with VTS in subsequent
releases.
Fixes: 68061860
Test: hash added to list of allowed hashes
Change-Id: Idfc9a4832a163e5786443fe743f67dae263b3dbd