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