Add multi-user support for Dependency Installer Service

We now maintain a map between user-id and DIS. For each user, we bind to
DIS installed for the user.

Few more issues fixed in the same CL:
  - We now clear calling identity when DIS calls back into system.
  - To be safe, we now allow any exception to enable the callback again.
    Otherwise, if we throw anything other than IAE, it's possible to
    hang indefinitely. For example, in the validation logic, if any of
    the calls throw a SecurityException, we would get stuck in old
    logic.

Bug: 372862145
Test: atest PackageManagerShellCommandInstallTest
FLAG: android.content.pm.sdk_dependency_installer
Change-Id: Ib5f2c9e9609ac2f83a4cc863d8765e98d72d9101
1 file changed