summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZoltan Szatmary-Ban <szatmz@google.com>2014-07-02 16:42:05 +0100
committerZoltan Szatmary-Ban <szatmz@google.com>2014-08-01 09:27:19 +0000
commit3f1ddf83a4faba3dec71ed7eebe1835f4685cf60 (patch)
treecc3fbedc40015ce193263e1e5361f347d4ebb304
parent2d99826605d8f18d71b5a4696cdf2f6909adab44 (diff)
downloadframeworks_base-3f1ddf83a4faba3dec71ed7eebe1835f4685cf60.zip
frameworks_base-3f1ddf83a4faba3dec71ed7eebe1835f4685cf60.tar.gz
frameworks_base-3f1ddf83a4faba3dec71ed7eebe1835f4685cf60.tar.bz2
Add AsUser versions of existing DevicePolicyManager methods
Some API methods on DevicePolicyManager call underlying IDevicePolicyManager methods that can be parameterised with a user id. DPM however only exposed methods for the current user. This CL makes it possible to call them with any user id by introducing hidden methods on DevicePolicyManager. Bug: 15558397 Change-Id: I1786a64fa7cf5f6590ddd04cbf4527bb159f8795
-rw-r--r--core/java/android/app/admin/DevicePolicyManager.java32
1 files changed, 28 insertions, 4 deletions
diff --git a/core/java/android/app/admin/DevicePolicyManager.java b/core/java/android/app/admin/DevicePolicyManager.java
index 8be52a2..e28f00c 100644
--- a/core/java/android/app/admin/DevicePolicyManager.java
+++ b/core/java/android/app/admin/DevicePolicyManager.java
@@ -449,9 +449,17 @@ public class DevicePolicyManager {
* active (enabled) in the system.
*/
public boolean isAdminActive(ComponentName who) {
+ return isAdminActiveAsUser(who, UserHandle.myUserId());
+ }
+
+ /**
+ * @see #isAdminActive(ComponentName)
+ * @hide
+ */
+ public boolean isAdminActiveAsUser(ComponentName who, int userId) {
if (mService != null) {
try {
- return mService.isAdminActive(who, UserHandle.myUserId());
+ return mService.isAdminActive(who, userId);
} catch (RemoteException e) {
Log.w(TAG, "Failed talking with device policy service", e);
}
@@ -465,9 +473,17 @@ public class DevicePolicyManager {
* returned.
*/
public List<ComponentName> getActiveAdmins() {
+ return getActiveAdminsAsUser(UserHandle.myUserId());
+ }
+
+ /**
+ * @see #getActiveAdmins()
+ * @hide
+ */
+ public List<ComponentName> getActiveAdminsAsUser(int userId) {
if (mService != null) {
try {
- return mService.getActiveAdmins(UserHandle.myUserId());
+ return mService.getActiveAdmins(userId);
} catch (RemoteException e) {
Log.w(TAG, "Failed talking with device policy service", e);
}
@@ -2314,9 +2330,17 @@ public class DevicePolicyManager {
* @throws IllegalArgumentException if the userId is invalid.
*/
public ComponentName getProfileOwner() throws IllegalArgumentException {
+ return getProfileOwnerAsUser(Process.myUserHandle().getIdentifier());
+ }
+
+ /**
+ * @see #getProfileOwner()
+ * @hide
+ */
+ public ComponentName getProfileOwnerAsUser(final int userId) throws IllegalArgumentException {
if (mService != null) {
try {
- return mService.getProfileOwner(Process.myUserHandle().getIdentifier());
+ return mService.getProfileOwner(userId);
} catch (RemoteException re) {
Log.w(TAG, "Failed to get profile owner");
throw new IllegalArgumentException(
@@ -2856,7 +2880,7 @@ public class DevicePolicyManager {
* @see #setAccountManagementDisabled
*/
public String[] getAccountTypesWithManagementDisabled() {
- return getAccountTypesWithManagementDisabledAsUser(UserHandle.getCallingUserId());
+ return getAccountTypesWithManagementDisabledAsUser(UserHandle.myUserId());
}
/**