ApexManager: Post populateAllPackagesCacheIfNeeded to a background thread

populateAllPackagesCacheIfNeeded is rather expensive method and
shouldn't be run in broadcast handler thread (it was my mistake to
suggest this in ag/9204784).

It's fine to use background thread to execute
populateAllPackagesCacheIfNeeded because components that need
to match APEX are not doing it on user critical path.

Bug: 138460874
Test: adb shell pm list packages --apex-only --show-versioncode
Change-Id: Ib17fadb978f112c26c113e3bc42b9edaeeefca8a
1 file changed