diff options
| author | 2022-12-17 21:06:45 -0800 | |
|---|---|---|
| committer | 2022-12-19 04:34:50 -0800 | |
| commit | 8e8ccad69aaae60da642e71086649f99a1470407 (patch) | |
| tree | afaa4461eedaf4d1da8f45d2e289b42a558f660e | |
| parent | 46a23cd074739890e09fe6bd04c749d702b605b9 (diff) | |
Expose PackageManagerLocal earlier for system components to use.
The new permission service would like to consistently use
PackageManagerLocal to access package information, but that is needed
when the internal storage volume is scanned in the
PackageManagerService constructor. So move the exposure of
PackageManagerLocal from PackageManagerService main() to constructor
where PackageManagerInternal is also exposed.
Bug: 252884423
Test: presubmit
Change-Id: I2f2569fb6e83f7c3efdc6fcfd92374220d1dec18
| -rw-r--r-- | services/core/java/com/android/server/pm/PackageManagerService.java | 4 | ||||
| -rw-r--r-- | services/tests/mockingservicestests/src/com/android/server/pm/MockSystem.kt | 2 |
2 files changed, 4 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index edc6b4a085f6..7443b779477b 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -1597,8 +1597,6 @@ public class PackageManagerService implements PackageSender, TestUtilityService ServiceManager.addService("package", iPackageManager); final PackageManagerNative pmn = new PackageManagerNative(m); ServiceManager.addService("package_native", pmn); - LocalManagerRegistry.addManager(PackageManagerLocal.class, - new PackageManagerLocalImpl(m)); return m; } @@ -1797,6 +1795,8 @@ public class PackageManagerService implements PackageSender, TestUtilityService // Expose private service for system components to use. LocalServices.addService(PackageManagerInternal.class, new PackageManagerInternalImpl()); + LocalManagerRegistry.addManager(PackageManagerLocal.class, + new PackageManagerLocalImpl(this)); LocalServices.addService(TestUtilityService.class, this); mTestUtilityService = LocalServices.getService(TestUtilityService.class); mUserManager = injector.getUserManagerService(); diff --git a/services/tests/mockingservicestests/src/com/android/server/pm/MockSystem.kt b/services/tests/mockingservicestests/src/com/android/server/pm/MockSystem.kt index 4f562710c789..6dc45c30bd66 100644 --- a/services/tests/mockingservicestests/src/com/android/server/pm/MockSystem.kt +++ b/services/tests/mockingservicestests/src/com/android/server/pm/MockSystem.kt @@ -55,6 +55,7 @@ import com.android.dx.mockito.inline.extended.ExtendedMockito.spy import com.android.dx.mockito.inline.extended.StaticMockitoSession import com.android.dx.mockito.inline.extended.StaticMockitoSessionBuilder import com.android.internal.R +import com.android.server.LocalManagerRegistry import com.android.server.LocalServices import com.android.server.LockGuard import com.android.server.SystemConfig @@ -148,6 +149,7 @@ class MockSystem(withSession: (StaticMockitoSessionBuilder) -> Unit = {}) { .mockStatic(LockGuard::class.java) .mockStatic(EventLog::class.java) .mockStatic(LocalServices::class.java) + .mockStatic(LocalManagerRegistry::class.java) .mockStatic(DeviceConfig::class.java) .mockStatic(HexEncoding::class.java) .apply(withSession) |