Broadcast lifecycle events for instant apps

Originally, lifecycle events weren't being broadcast for instant
applications. This was done to prevent leaking the fact that
certain instant applications were installed [and thus exposing
web browsing history]. However, this breaks parts of the system
that rely on the broadcasts in order to change internal structure.

We now broadcast all of the lifecycle events for instant applications,
but, require the receiver to hold the permission ACCESS_INSTANT_APPS.
This permission is only given to the installer, verifier or the
system itself.

Change-Id: Ic008964db2ce1aa9e9c69351fd919a2244a94592
Fixes: 69558578
Test: bit FrameworksServicesTests:com.android.server.pm.
2 files changed