This is a manual merge of ag/14930112 to address an auto merge conflict.
Changes in the obfuscated L3 library:
L3 loads clock info from an encrypted file during initialization. There
is a bug which calls the clock loading function before the decryption
key gets intialized in InitializeEngine(). Clock will be loaded with bad
decrypted data, which caused playback failure after system reboot.
The fix is to move clock loading after InitializeEngine() to ensure
decryption key is ready.
Bug: 191988567
Test: L3 unit tests;
Test: Manual playback tests on Netflix
Download, play, reboot device, play again
Test: GTS tests https://android-build.googleplex.com/builds/tests/view?invocationId=I02800009363823424&testResultId=TR23225132004211909&redirect=http://sponge2/73efa8e8-951a-48bb-b2a9-0b09d5038ed3
Change-Id: I947775dc05eb000f1860a889510927861e1d169c
The libwvlevel3.a static libraries under the different platforms were made with OEMCertificates with the following SYSTEM_IDs:
arm: 8158 arm64: 8159 mips: 8160 mips64: 8161 x86: 8162 x86_64: 8163