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

Commit 7c813036 authored by Andrei Onea's avatar Andrei Onea
Browse files

Clear caller identity before calls to PlatformCompat

This is a pre-emptive fix for http://b/142942524 before the compat
change permissions are re-added.

Bug: 142942524
Test: atest DevicePolicyManagerTest
Test:
      1. Install TestDPC via adb
      2. Invoke "Set up Te..." from the launcher to create a work profile and follow "next" button and select "skip adding an account"
      3. Select TestDPC from the "work" tab of the list of all apps in launcher.
      4. Using built-in search look for "Password constraints" and tap it.
      5. tap "Minimum password length" and try to set it to 5.
      Before change: Neither user 1010193 nor current process has android.permission.INTERACT_ACROSS_USERS.
      After Change: password quality should be at least 131072 for setPasswordMinimumLength

Change-Id: I026b15f0c2562293402bb8de55b0c63a4bb22a85
parent ea2a3361
Loading
Loading
Loading
Loading
+9 −6
Original line number Diff line number Diff line
@@ -4680,12 +4680,15 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager {
    private void ensureMinimumQuality(
            int userId, ActiveAdmin admin, int minimumQuality, String operation) {
        mInjector.binderWithCleanCallingIdentity(() -> {
            if (admin.mPasswordPolicy.quality < minimumQuality
                    && passwordQualityInvocationOrderCheckEnabled(admin.info.getPackageName(),
                    userId)) {
                throw new IllegalStateException(String.format(
                    "password quality should be at least %d for %s", minimumQuality, operation));
                        "password quality should be at least %d for %s",
                        minimumQuality, operation));
            }
        });
    }
    @Override