diff options
| author | 2016-07-12 09:48:00 +0000 | |
|---|---|---|
| committer | 2016-07-12 09:48:02 +0000 | |
| commit | c1182a8128665884d9bca5bb2d73661e07d8fbdd (patch) | |
| tree | 766f81f219eddbcd692eef7e151dfc7322302c48 | |
| parent | c2ae287e73eef5971ed861d348fff9fee62ad9dd (diff) | |
| parent | 790d198860dc550f2dbaa5ac502cbcda1f8530c9 (diff) | |
Merge "Add an api to verify if ro.device_owner was set" into nyc-mr1-dev
3 files changed, 20 insertions, 0 deletions
diff --git a/core/java/android/app/admin/DevicePolicyManager.java b/core/java/android/app/admin/DevicePolicyManager.java index 325a15f1cb30..7b46ccd7dcd2 100644 --- a/core/java/android/app/admin/DevicePolicyManager.java +++ b/core/java/android/app/admin/DevicePolicyManager.java @@ -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"); diff --git a/core/java/android/app/admin/IDevicePolicyManager.aidl b/core/java/android/app/admin/IDevicePolicyManager.aidl index ddec412e53c1..4b793d15753a 100644 --- a/core/java/android/app/admin/IDevicePolicyManager.aidl +++ b/core/java/android/app/admin/IDevicePolicyManager.aidl @@ -301,4 +301,6 @@ interface IDevicePolicyManager { boolean isUninstallInQueue(String packageName); void uninstallPackageWithActiveAdmins(String packageName); + + boolean isDeviceProvisioned(); } diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java index c9123fd2227f..31b756e57037 100644 --- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java +++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java @@ -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. |