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
This commit is contained in:
@@ -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();
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user