OSDN Git Service

Add isSystemUser API
authorAmith Yamasani <yamasani@google.com>
Sat, 18 Apr 2015 01:42:41 +0000 (18:42 -0700)
committerAmith Yamasani <yamasani@google.com>
Sat, 18 Apr 2015 01:52:26 +0000 (18:52 -0700)
Bug: 20348316
Bug: 19945747
Change-Id: Ibb81f0b2fccec621e26e4543bf9f26ffddfafb15

api/current.txt
api/system-current.txt
core/java/android/os/UserManager.java

index 4375e6f..d7359f8 100644 (file)
@@ -23650,6 +23650,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);
index 3639673..02842a5 100644 (file)
@@ -25550,6 +25550,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);
index b9e307f..44eb1ed 100644 (file)
@@ -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