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

Commit 790d1988 authored by Mahaver Chopra's avatar Mahaver Chopra
Browse files

Add an api to verify if ro.device_owner was set

Currently for OobConfig app we used DEVICE_PROVISIONED Global setting to
verify if device was provisioned. This setting can be modified using
adb. we just need to know if it was set atleast once. Added an api in
DPM to return whether system property "ro.device_owner" was set.

Bug: 29935702
Change-Id: I9a2b5217c0bc2cc11d68282e05a5450ea3f6cf21
parent 8158fbe8
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -6416,6 +6416,19 @@ public class DevicePolicyManager {
        }
    }

    /**
     * @hide
     * @return whether {@link android.provider.Settings.Global#DEVICE_PROVISIONED} has ever been set
     * to 1.
     */
    public boolean isDeviceProvisioned() {
        try {
            return mService.isDeviceProvisioned();
        } catch (RemoteException re) {
            throw re.rethrowFromSystemServer();
        }
    }

    private void throwIfParentInstance(String functionName) {
        if (mParentInstance) {
            throw new SecurityException(functionName + " cannot be called on the parent instance");
+2 −0
Original line number Diff line number Diff line
@@ -301,4 +301,6 @@ interface IDevicePolicyManager {

    boolean isUninstallInQueue(String packageName);
    void uninstallPackageWithActiveAdmins(String packageName);

    boolean isDeviceProvisioned();
}
+5 −0
Original line number Diff line number Diff line
@@ -8975,6 +8975,11 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
        }
    }

    @Override
    public boolean isDeviceProvisioned() {
        return !TextUtils.isEmpty(mInjector.systemPropertiesGet(PROPERTY_DEVICE_OWNER_PRESENT));
    }

    private void removePackageIfRequired(final String packageName, final int userId) {
        if (!packageHasActiveAdmins(packageName, userId)) {
            // Will not do anything if uninstall was not requested or was already started.