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

Commit e0fed2a1 authored by Automerger Merge Worker's avatar Automerger Merge Worker
Browse files

Merge "Merge "Load owner info during DevicePolicyManagerSerivce construction"...

Merge "Merge "Load owner info during DevicePolicyManagerSerivce construction" into rvc-dev am: 8d357b55 am: 528c804d am: e2a456d5" into rvc-qpr-dev-plus-aosp am: 4e0b3745

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11680847

Change-Id: If0b5745a860156abe929b8caaa82970c65d5cab6
parents 853fb6b6 4e0b3745
Loading
Loading
Loading
Loading
+17 −2
Original line number Diff line number Diff line
@@ -2616,6 +2616,8 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager {
        mSetupContentObserver = new SetupContentObserver(mHandler);
        mUserManagerInternal.addUserRestrictionsListener(new RestrictionsListener(mContext));
        loadOwners();
    }
    /**
@@ -2676,12 +2678,23 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager {
        }
    }
    /**
     * Load information about device and profile owners of the device, populating mOwners and
     * pushing owner info to other system services. This is called at a fairly early stage of
     * system server initialiation (via DevicePolicyManagerService's ctor), so care should to
     * be taken to not interact with system services that are initialiated after DPMS.
     * onLockSettingsReady() is a safer place to do initialization work not critical during
     * the first boot stage.
     * Note this only loads the list of owners, and not their actual policy (DevicePolicyData).
     * The policy is normally loaded lazily when it's first accessed. In several occasions
     * the list of owners is necessary for providing callers with aggregated policies across
     * multiple owners, hence the owner list is loaded as part of DPMS's construction here.
     */
    void loadOwners() {
        synchronized (getLockObject()) {
            mOwners.load();
            setDeviceOwnershipSystemPropertyLocked();
            findOwnerComponentIfNecessaryLocked();
            migrateUserRestrictionsIfNecessaryLocked();
            // TODO PO may not have a class name either due to b/17652534.  Address that too.
            updateDeviceOwnerLocked();
@@ -4104,8 +4117,10 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager {
    }
    private void onLockSettingsReady() {
        synchronized (getLockObject()) {
            migrateUserRestrictionsIfNecessaryLocked();
        }
        getUserData(UserHandle.USER_SYSTEM);
        loadOwners();
        cleanUpOldUsers();
        maybeSetDefaultProfileOwnerUserRestrictions();
        handleStartUser(UserHandle.USER_SYSTEM);