From f3f7c1dfb7abb35d7eea9afb39e5076b2e421006 Mon Sep 17 00:00:00 2001 From: Amith Yamasani Date: Mon, 25 Mar 2013 15:38:48 -0700 Subject: [PATCH] Device Admin Settings changes for Device Owner Disable the list entry for an active device owner, as it can't be deactivated. Change-Id: I833561f91ae60dff8226f9118c9e3b012e5e194f --- .../android/settings/DeviceAdminSettings.java | 21 +++++++++++++++++-- .../users/UserRestrictionsActivity.java | 2 +- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/src/com/android/settings/DeviceAdminSettings.java b/src/com/android/settings/DeviceAdminSettings.java index 310aae7cd15..9cfb44d9d4c 100644 --- a/src/com/android/settings/DeviceAdminSettings.java +++ b/src/com/android/settings/DeviceAdminSettings.java @@ -54,6 +54,7 @@ public class DeviceAdminSettings extends ListFragment { DevicePolicyManager mDPM; final HashSet mActiveAdmins = new HashSet(); final ArrayList mAvailableAdmins = new ArrayList(); + String mDeviceOwnerPkg; @Override public void onCreate(Bundle icicle) { @@ -70,6 +71,10 @@ public class DeviceAdminSettings extends ListFragment { @Override public void onResume() { super.onResume(); + mDeviceOwnerPkg = mDPM.getDeviceOwner(); + if (mDeviceOwnerPkg != null && !mDPM.isDeviceOwner(mDeviceOwnerPkg)) { + mDeviceOwnerPkg = null; + } updateList(); } @@ -85,7 +90,7 @@ public class DeviceAdminSettings extends ListFragment { mAvailableAdmins.clear(); List avail = getActivity().getPackageManager().queryBroadcastReceivers( new Intent(DeviceAdminReceiver.ACTION_DEVICE_ADMIN_ENABLED), - PackageManager.GET_META_DATA); + PackageManager.GET_META_DATA | PackageManager.GET_DISABLED_UNTIL_USED_COMPONENTS); int count = avail == null ? 0 : avail.size(); for (int i=0; i