tree e074670ef8f075cbcf68cffec702aeeb05612772
parent 4b45eab15b298fb35c72296108355984e58d44dd
author Jiyong Park <jiyong@google.com> 1569920303 +0900
committer Jiyong Park <jiyong@google.com> 1570071509 +0900

public libs from APEXes are pre-loadable

This change fixes a bug that public libs from APEXes are never
pre-loaded. This was happening because those libs are removed by
InitDefaultPublicLibraries which was originaly designed for listing up
the libs that needs to be provided to the app namespace from the default
namespace. Since the libs from APEXes are not available from the default
namespace, but from their own namespaces (e.g."runtime", etc.), the
removal was fine. But the problem happend when the same function is
parameterized (with bool for_preload) and used to get the libs for
preloading.

This change fixes the problem by not removing the libs from APEXes when
the function is called with for_preload == true.

Bug: 141847343
Test: m
Change-Id: I9edf2f94bac473ac7d0651514a2dabe976f81058
