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

Commit e093e1e3 authored by Jordan Jozwiak's avatar Jordan Jozwiak Committed by Automerger Merge Worker
Browse files

DO NOT MERGE - Allow locking with feature or permission am: 9ead5a3c

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

Change-Id: I508dd4394a8c7c5309b60d17f3963d37c0653f47
parents 55317131 9ead5a3c
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -4247,6 +4247,12 @@ public class DevicePolicyManager {
     * device. After this method is called, the device must be unlocked using strong authentication
     * (PIN, pattern, or password). This API is intended for use only by device admins.
     * <p>
     * From version {@link android.os.Build.VERSION_CODES#R} onwards, the caller must either have
     * the LOCK_DEVICE permission or the device must have the device admin feature; if neither is
     * true, then the method will return without completing any action. Before version
     * {@link android.os.Build.VERSION_CODES#R}, the device needed the device admin feature,
     * regardless of the caller's permissions.
     * <p>
     * The calling device admin must have requested {@link DeviceAdminInfo#USES_POLICY_FORCE_LOCK}
     * to be able to call this method; if it has not, a security exception will be thrown.
     * <p>
@@ -4274,6 +4280,12 @@ public class DevicePolicyManager {
     * device. After this method is called, the device must be unlocked using strong authentication
     * (PIN, pattern, or password). This API is intended for use only by device admins.
     * <p>
     * From version {@link android.os.Build.VERSION_CODES#R} onwards, the caller must either have
     * the LOCK_DEVICE permission or the device must have the device admin feature; if neither is
     * true, then the method will return without completing any action. Before version
     * {@link android.os.Build.VERSION_CODES#R}, the device needed the device admin feature,
     * regardless of the caller's permissions.
     * <p>
     * The calling device admin must have requested {@link DeviceAdminInfo#USES_POLICY_FORCE_LOCK}
     * to be able to call this method; if it has not, a security exception will be thrown.
     * <p>
+3 −2
Original line number Diff line number Diff line
@@ -631,7 +631,7 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager {
    /**
     * Whether or not device admin feature is supported. If it isn't return defaults for all
     * public methods.
     * public methods, unless the caller has the appropriate permission for a particular method.
     */
    final boolean mHasFeature;
@@ -6032,7 +6032,8 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager {
    @Override
    public void lockNow(int flags, boolean parent) {
        if (!mHasFeature) {
        if (!mHasFeature && mContext.checkCallingPermission(android.Manifest.permission.LOCK_DEVICE)
                != PackageManager.PERMISSION_GRANTED) {
            return;
        }