summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--api/current.txt1
-rw-r--r--api/system-current.txt1
-rw-r--r--core/java/android/os/UserManager.java15
3 files changed, 15 insertions, 2 deletions
diff --git a/api/current.txt b/api/current.txt
index c6620ef02f0b..8f9641c5d18a 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -23658,6 +23658,7 @@ package android.os {
method public android.os.Bundle getUserRestrictions();
method public android.os.Bundle getUserRestrictions(android.os.UserHandle);
method public boolean hasUserRestriction(java.lang.String);
+ method public boolean isSystemUser();
method public boolean isUserAGoat();
method public boolean isUserRunning(android.os.UserHandle);
method public boolean isUserRunningOrStopping(android.os.UserHandle);
diff --git a/api/system-current.txt b/api/system-current.txt
index 70df9bf42fa0..0f837c244c2b 100644
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -25558,6 +25558,7 @@ package android.os {
method public android.os.Bundle getUserRestrictions(android.os.UserHandle);
method public boolean hasUserRestriction(java.lang.String);
method public boolean isManagedProfile();
+ method public boolean isSystemUser();
method public boolean isUserAGoat();
method public boolean isUserRunning(android.os.UserHandle);
method public boolean isUserRunningOrStopping(android.os.UserHandle);
diff --git a/core/java/android/os/UserManager.java b/core/java/android/os/UserManager.java
index b9e307fa24f9..44eb1edc47ea 100644
--- a/core/java/android/os/UserManager.java
+++ b/core/java/android/os/UserManager.java
@@ -466,9 +466,9 @@ public class UserManager {
}
/**
- * Returns the user handle for the user that the calling process is running on.
+ * Returns the user handle for the user that this process is running under.
*
- * @return the user handle of the user making this call.
+ * @return the user handle of this process.
* @hide
*/
public int getUserHandle() {
@@ -505,6 +505,17 @@ public class UserManager {
}
/**
+ * Used to check if this process is running under the system user. The system user
+ * is the initial user that is implicitly created on first boot and hosts most of the
+ * system services.
+ *
+ * @return whether this process is running under the system user.
+ */
+ public boolean isSystemUser() {
+ return UserHandle.myUserId() == UserHandle.USER_OWNER;
+ }
+
+ /**
* Used to check if the user making this call is linked to another user. Linked users may have
* a reduced number of available apps, app restrictions and account restrictions.
* @return whether the user making this call is a linked user