Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8e8ccad6 authored by Hai Zhang's avatar Hai Zhang
Browse files

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
parent 46a23cd0
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -1597,8 +1597,6 @@ public class PackageManagerService implements PackageSender, TestUtilityService
        ServiceManager.addService("package", iPackageManager);
        ServiceManager.addService("package", iPackageManager);
        final PackageManagerNative pmn = new PackageManagerNative(m);
        final PackageManagerNative pmn = new PackageManagerNative(m);
        ServiceManager.addService("package_native", pmn);
        ServiceManager.addService("package_native", pmn);
        LocalManagerRegistry.addManager(PackageManagerLocal.class,
                new PackageManagerLocalImpl(m));
        return m;
        return m;
    }
    }


@@ -1797,6 +1795,8 @@ public class PackageManagerService implements PackageSender, TestUtilityService


        // Expose private service for system components to use.
        // Expose private service for system components to use.
        LocalServices.addService(PackageManagerInternal.class, new PackageManagerInternalImpl());
        LocalServices.addService(PackageManagerInternal.class, new PackageManagerInternalImpl());
        LocalManagerRegistry.addManager(PackageManagerLocal.class,
                new PackageManagerLocalImpl(this));
        LocalServices.addService(TestUtilityService.class, this);
        LocalServices.addService(TestUtilityService.class, this);
        mTestUtilityService = LocalServices.getService(TestUtilityService.class);
        mTestUtilityService = LocalServices.getService(TestUtilityService.class);
        mUserManager = injector.getUserManagerService();
        mUserManager = injector.getUserManagerService();
+2 −0
Original line number Original line Diff line number Diff line
@@ -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.StaticMockitoSession
import com.android.dx.mockito.inline.extended.StaticMockitoSessionBuilder
import com.android.dx.mockito.inline.extended.StaticMockitoSessionBuilder
import com.android.internal.R
import com.android.internal.R
import com.android.server.LocalManagerRegistry
import com.android.server.LocalServices
import com.android.server.LocalServices
import com.android.server.LockGuard
import com.android.server.LockGuard
import com.android.server.SystemConfig
import com.android.server.SystemConfig
@@ -148,6 +149,7 @@ class MockSystem(withSession: (StaticMockitoSessionBuilder) -> Unit = {}) {
                .mockStatic(LockGuard::class.java)
                .mockStatic(LockGuard::class.java)
                .mockStatic(EventLog::class.java)
                .mockStatic(EventLog::class.java)
                .mockStatic(LocalServices::class.java)
                .mockStatic(LocalServices::class.java)
                .mockStatic(LocalManagerRegistry::class.java)
                .mockStatic(DeviceConfig::class.java)
                .mockStatic(DeviceConfig::class.java)
                .mockStatic(HexEncoding::class.java)
                .mockStatic(HexEncoding::class.java)
                .apply(withSession)
                .apply(withSession)