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

Commit dd7f8daf authored by Bartosz Fabianowski's avatar Bartosz Fabianowski
Browse files

Allow DO to access DevicePolicyManager.isDeviceManaged()

This CL makes DPM.isDeviceManaged() accessible to the DO so that it
can be CTS-tested.

Bug: 32692748
Test: Device policy manager unit test + CTS & GTS in separate CLs

Change-Id: I5326e86b0ffee81d04bd48f0267044463a899b78
parent 9f9e453b
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -6250,6 +6250,7 @@ package android.app.admin {
    method public boolean isAdminActive(android.content.ComponentName);
    method public boolean isApplicationHidden(android.content.ComponentName, java.lang.String);
    method public boolean isCallerApplicationRestrictionsManagingPackage();
    method public boolean isDeviceManaged();
    method public boolean isDeviceOwnerApp(java.lang.String);
    method public boolean isLockTaskPermitted(java.lang.String);
    method public boolean isManagedProfile(android.content.ComponentName);
+1 −0
Original line number Diff line number Diff line
@@ -6089,6 +6089,7 @@ package android.app.admin {
    method public boolean isAdminActive(android.content.ComponentName);
    method public boolean isApplicationHidden(android.content.ComponentName, java.lang.String);
    method public boolean isCallerApplicationRestrictionsManagingPackage();
    method public boolean isDeviceManaged();
    method public boolean isDeviceOwnerApp(java.lang.String);
    method public boolean isLockTaskPermitted(java.lang.String);
    method public boolean isManagedProfile(android.content.ComponentName);
+11 −3
Original line number Diff line number Diff line
@@ -3844,14 +3844,22 @@ public class DevicePolicyManager {
    }

    /**
     * @return true if the device is managed by any device owner.
     * Called by the system to find out whether the device is managed by a Device Owner.
     *
     * <p>Requires the MANAGE_USERS permission.
     * @return whether the device is managed by a Device Owner.
     * @throws SecurityException if the caller is not the device owner, does not hold the
     *         MANAGE_USERS permission and is not the system.
     *
     * @hide
     */
    @SystemApi
    @TestApi
    public boolean isDeviceManaged() {
        return getDeviceOwnerComponentOnAnyUser() != null;
        try {
            return mService.hasDeviceOwner();
        } catch (RemoteException re) {
            throw re.rethrowFromSystemServer();
        }
    }

    /**
+1 −0
Original line number Diff line number Diff line
@@ -132,6 +132,7 @@ interface IDevicePolicyManager {

    boolean setDeviceOwner(in ComponentName who, String ownerName, int userId);
    ComponentName getDeviceOwnerComponent(boolean callingUserOnly);
    boolean hasDeviceOwner();
    String getDeviceOwnerName();
    void clearDeviceOwner(String packageName);
    int getDeviceOwnerUserId();
+6 −0
Original line number Diff line number Diff line
@@ -5979,6 +5979,12 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
        }
    }

    @Override
    public boolean hasDeviceOwner() {
        enforceDeviceOwnerOrManageUsers();
        return mOwners.hasDeviceOwner();
    }

    boolean isDeviceOwner(ActiveAdmin admin) {
        return isDeviceOwner(admin.info.getComponent(), admin.getUserHandle().getIdentifier());
    }
Loading