diff options
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/content/pm/UserInfo.java | 8 | ||||
| -rw-r--r-- | core/java/android/os/IUserManager.aidl | 2 | ||||
| -rw-r--r-- | core/java/android/os/UserManager.java | 20 |
3 files changed, 26 insertions, 4 deletions
diff --git a/core/java/android/content/pm/UserInfo.java b/core/java/android/content/pm/UserInfo.java index a06aba9..ab32523 100644 --- a/core/java/android/content/pm/UserInfo.java +++ b/core/java/android/content/pm/UserInfo.java @@ -68,6 +68,8 @@ public class UserInfo implements Parcelable { public String name; public String iconPath; public int flags; + public long creationTime; + public long lastLoggedInTime; public UserInfo(int id, String name, int flags) { this(id, name, null, flags); @@ -101,6 +103,8 @@ public class UserInfo implements Parcelable { id = orig.id; flags = orig.flags; serialNumber = orig.serialNumber; + creationTime = orig.creationTime; + lastLoggedInTime = orig.lastLoggedInTime; } public UserHandle getUserHandle() { @@ -122,6 +126,8 @@ public class UserInfo implements Parcelable { dest.writeString(iconPath); dest.writeInt(flags); dest.writeInt(serialNumber); + dest.writeLong(creationTime); + dest.writeLong(lastLoggedInTime); } public static final Parcelable.Creator<UserInfo> CREATOR @@ -140,5 +146,7 @@ public class UserInfo implements Parcelable { iconPath = source.readString(); flags = source.readInt(); serialNumber = source.readInt(); + creationTime = source.readLong(); + lastLoggedInTime = source.readLong(); } } diff --git a/core/java/android/os/IUserManager.aidl b/core/java/android/os/IUserManager.aidl index 0798913..ec02ae0 100644 --- a/core/java/android/os/IUserManager.aidl +++ b/core/java/android/os/IUserManager.aidl @@ -30,7 +30,7 @@ interface IUserManager { void setUserName(int userHandle, String name); void setUserIcon(int userHandle, in Bitmap icon); Bitmap getUserIcon(int userHandle); - List<UserInfo> getUsers(); + List<UserInfo> getUsers(boolean excludeDying); UserInfo getUserInfo(int userHandle); void setGuestEnabled(boolean enable); boolean isGuestEnabled(); diff --git a/core/java/android/os/UserManager.java b/core/java/android/os/UserManager.java index b532966..2a5c1aa 100644 --- a/core/java/android/os/UserManager.java +++ b/core/java/android/os/UserManager.java @@ -116,7 +116,23 @@ public class UserManager { */ public List<UserInfo> getUsers() { try { - return mService.getUsers(); + return mService.getUsers(false); + } catch (RemoteException re) { + Log.w(TAG, "Could not get user list", re); + return null; + } + } + + /** + * Returns information for all users on this device. + * Requires {@link android.Manifest.permission#MANAGE_USERS} permission. + * @param excludeDying specify if the list should exclude users being removed. + * @return the list of users that were created. + * @hide + */ + public List<UserInfo> getUsers(boolean excludeDying) { + try { + return mService.getUsers(excludeDying); } catch (RemoteException re) { Log.w(TAG, "Could not get user list", re); return null; @@ -271,6 +287,4 @@ public class UserManager { } return -1; } - - } |
