Passes Injector into PackageManagerService ctor

After migrating away from locking on the package map, we can now pass in
most of what we need to PackageManagerService via the new Injector
class. This change begins the process of passing that injector in so
that we can easily mock most dependencies in unit tests.

Fixes: 137881067
Test: atest ScanTests
Change-Id: I0b0f8cf2bf59c009f2ec98147206645c84a0becc
diff --git a/services/core/java/com/android/server/pm/UserManagerService.java b/services/core/java/com/android/server/pm/UserManagerService.java
index f4ba449..2f30863 100644
--- a/services/core/java/com/android/server/pm/UserManagerService.java
+++ b/services/core/java/com/android/server/pm/UserManagerService.java
@@ -576,6 +576,14 @@
                 null, mHandler);
     }
 
+    /**
+     * This method retrieves the  {@link UserManagerInternal} only for the purpose of
+     * PackageManagerService construction.
+     */
+    UserManagerInternal getInternalForInjectorOnly() {
+        return mLocalService;
+    }
+
     void cleanupPartialUsers() {
         // Prune out any partially created, partially removed and ephemeral users.
         ArrayList<UserInfo> partials = new ArrayList<>();