Native shared libraries are recently introduced through
<uses-native-library> manifest declaration. This value is
intended to limit the native shared library loading path,
not to limit Dex shared library path.
This CL filters these native libraries from the class loader
context encoded into the oat files.
Without this change, the class loader specified in the odex and
runtime class loader has a discrepancy and the runtime failed to
verify the odex file, falling back to a slow execution path.
Test: Followed the steps below:
* Install the latest GoogleCamera APK.
* Run following commands:
$ adb shell am start com.google.android.GoogleCamera && \
sleep 5 && \
adb shell am force-stop com.google.android.GoogleCamera
$ adb shell cmd package compile -m speed-profile \
-f com.google.android.GoogleCamera
$ adb logcat -c && \
adb shell am start com.google.android.GoogleCamera && \
sleep 2
& adb shell 'logcat -d | grep "id.GoogleCamer:"'
* No "ClassLoaderContext shared library size mismatch."
warning is observed.
Bug: 191182412
Change-Id: I069aff0386ac51c842703f5fcd75075a30f09cf5
Load composition and pwle limits from the HAL and apply them on
VibrationThread to split long vibrations in multiple calls.
This ensures that long vibration will be performed by the HAL.
Bug: 188431691
Fix: 183517124
Test: VibrationThreadTest & VibrationInfoTest
Change-Id: I09a04c7b1de331320d453899f59b01e4bbb42ac3
Unlike staged installer check, we can't check if given APEX package is
allowed to be updated at session creation time, since we don't have
knowledge of the package being installed yet. Instead, the check is
implemented in PackageInstallerSession#handleInstall.
Like staged install check, allowed apex update check has similar
exemptions (adb is allowed to update any APEX,
`adb shell pm --bypass-allowed-apex-update-check` makes next install
session bypass the check).
In order to implement these exemptions, a new
INSTALL_DISABLE_ALLOWED_APEX_UPDATE_CHECK flag that can only be set by
system is added. PackageInstallerSession will skip the APEX update
checks if INSTALL_DISABLE_ALLOWED_APEX_UPDATE_CHECK is set.
Bug: 189274479
Test: atest CtsStagedInstallHostTestCases
Test: atest GtsStagedInstallHostTestCases
Test: atest FrameworksServicesTests:SystemConfigTest
Change-Id: I22921a3ac4d43011b565733d7a7183e5cdb4fe80
Merged-In: I22921a3ac4d43011b565733d7a7183e5cdb4fe80
(cherry picked from commit aafaaec0d5)
Leave the configuration empty by default, which should be ignored by the
audio framework and impose no limit to haptic signals.
Bug: 188025353
Test: N/A
Change-Id: I7553fc00d59d6b0dd52c679320880fc86c4c4aa7
lint database file (api-versions.xml) is used for NewApi checks. These checks
were written thinking about app developers.
When used inside the platform codebase, quite often it produces false positives
which make relying on it cumbersome.
This CL removes APIs introduced by mainline modules from the lint database to
remove many such false positives. While some of them might be real issues, the
alternative would be not turning these checks on at all.
Bug: 186478867
Bug: 177434707
Test: m lint-check
Test: m filter-api-versions
Test: atest api_versions_trimmer_unittests
Change-Id: Ic45db0b71a2f13dc456463ce04b2f7744a0e330c