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

Commit c0e5f17f authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Fix NPE during migration."

parents 19d17f35 52285381
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -2556,7 +2556,7 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager {
        }
        for (final String restriction : doAdmin.userRestrictions.keySet()) {
            if (UserRestrictionsUtils.canProfileOwnerOfOrganizationOwnedDeviceChange(restriction)) {
                parentAdmin.userRestrictions.putBoolean(
                parentAdmin.ensureUserRestrictions().putBoolean(
                        restriction, doAdmin.userRestrictions.getBoolean(restriction));
            }
        }
+1 −0
Original line number Diff line number Diff line
@@ -3,5 +3,6 @@
    <admin name="com.android.frameworks.servicestests/com.android.server.devicepolicy.DummyDeviceAdmins$Admin1">
        <policies flags="991"/>
        <password-history-length value="33" />
        <user-restrictions no_bluetooth="true" />
    </admin>
</policies>
+10 −4
Original line number Diff line number Diff line
@@ -371,10 +371,16 @@ public class DevicePolicyManagerServiceMigrationTest extends DpmTestBase {
        poContext.binder.callingUid = UserHandle.getUid(COPE_PROFILE_USER_ID, COPE_ADMIN1_APP_ID);

        runAsCaller(poContext, dpms, dpm -> {
            // Check that DO policy is now set on parent instance.
            assertEquals(33, dpm.getParentProfileInstance(admin1).getPasswordHistoryLength(admin1));
            // And NOT set on profile instance.
            assertEquals(0, dpm.getPasswordHistoryLength(admin1));
            assertEquals("Password history policy wasn't migrated to PO parent instance",
                    33, dpm.getParentProfileInstance(admin1).getPasswordHistoryLength(admin1));
            assertEquals("Password history policy was put into non-parent PO instance",
                    0, dpm.getPasswordHistoryLength(admin1));

            assertTrue("User restriction wasn't migrated to PO parent instance",
                    dpm.getParentProfileInstance(admin1).getUserRestrictions(admin1)
                            .containsKey(UserManager.DISALLOW_BLUETOOTH));
            assertFalse("User restriction was put into non-parent PO instance",
                    dpm.getUserRestrictions(admin1).containsKey(UserManager.DISALLOW_BLUETOOTH));

            // TODO(b/143516163): verify more policies.
        });