diff options
| author | Amith Yamasani <yamasani@google.com> | 2012-08-17 09:20:28 -0700 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2012-08-17 09:20:29 -0700 |
| commit | 9c38d6e52bb71671c6f034a10b6751a1569c9ee0 (patch) | |
| tree | f090041ec5a1d4141a683a0bb109eae092a8b7e5 /core/java | |
| parent | bc11e52cafa182996a338641c86bf3a07f571b1d (diff) | |
| parent | 2a00329c6d55c6cd9166e01963d7410e95d80d21 (diff) | |
| download | frameworks_base-9c38d6e52bb71671c6f034a10b6751a1569c9ee0.zip frameworks_base-9c38d6e52bb71671c6f034a10b6751a1569c9ee0.tar.gz frameworks_base-9c38d6e52bb71671c6f034a10b6751a1569c9ee0.tar.bz2 | |
Merge "UserHandle to UserSerialNo mapping" into jb-mr1-dev
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/android/accounts/AccountManagerService.java | 2 | ||||
| -rw-r--r-- | core/java/android/content/Intent.java | 18 | ||||
| -rw-r--r-- | core/java/android/content/SyncManager.java | 2 | ||||
| -rw-r--r-- | core/java/android/content/pm/UserInfo.java | 4 | ||||
| -rw-r--r-- | core/java/android/os/IUserManager.aidl | 2 | ||||
| -rw-r--r-- | core/java/android/os/UserManager.java | 36 |
6 files changed, 53 insertions, 11 deletions
diff --git a/core/java/android/accounts/AccountManagerService.java b/core/java/android/accounts/AccountManagerService.java index a4d28b0..d61d9da 100644 --- a/core/java/android/accounts/AccountManagerService.java +++ b/core/java/android/accounts/AccountManagerService.java @@ -369,7 +369,7 @@ public class AccountManagerService } private void onUserRemoved(Intent intent) { - int userId = intent.getIntExtra(Intent.EXTRA_USERID, -1); + int userId = intent.getIntExtra(Intent.EXTRA_USER_HANDLE, -1); if (userId < 1) return; UserAccounts accounts; diff --git a/core/java/android/content/Intent.java b/core/java/android/content/Intent.java index d325186..0190555 100644 --- a/core/java/android/content/Intent.java +++ b/core/java/android/content/Intent.java @@ -2279,24 +2279,24 @@ public class Intent implements Parcelable, Cloneable { "android.intent.action.PRE_BOOT_COMPLETED"; /** - * Broadcast sent to the system when a user is added. Carries an extra EXTRA_USERID that has the - * userid of the new user. + * Broadcast sent to the system when a user is added. Carries an extra EXTRA_USER_HANDLE that has the + * userHandle of the new user. * @hide */ public static final String ACTION_USER_ADDED = "android.intent.action.USER_ADDED"; /** - * Broadcast sent to the system when a user is removed. Carries an extra EXTRA_USERID that has - * the userid of the user. + * Broadcast sent to the system when a user is removed. Carries an extra EXTRA_USER_HANDLE that has + * the userHandle of the user. * @hide */ public static final String ACTION_USER_REMOVED = "android.intent.action.USER_REMOVED"; /** - * Broadcast sent to the system when the user switches. Carries an extra EXTRA_USERID that has - * the userid of the user to become the current one. + * Broadcast sent to the system when the user switches. Carries an extra EXTRA_USER_HANDLE that has + * the userHandle of the user to become the current one. * @hide */ public static final String ACTION_USER_SWITCHED = @@ -2852,12 +2852,12 @@ public class Intent implements Parcelable, Cloneable { "android.intent.extra.LOCAL_ONLY"; /** - * The userid carried with broadcast intents related to addition, removal and switching of users + * The userHandle carried with broadcast intents related to addition, removal and switching of users * - {@link #ACTION_USER_ADDED}, {@link #ACTION_USER_REMOVED} and {@link #ACTION_USER_SWITCHED}. * @hide */ - public static final String EXTRA_USERID = - "android.intent.extra.user_id"; + public static final String EXTRA_USER_HANDLE = + "android.intent.extra.user_handle"; // --------------------------------------------------------------------- // --------------------------------------------------------------------- diff --git a/core/java/android/content/SyncManager.java b/core/java/android/content/SyncManager.java index 3d3ff51..ee075b4 100644 --- a/core/java/android/content/SyncManager.java +++ b/core/java/android/content/SyncManager.java @@ -895,7 +895,7 @@ public class SyncManager implements OnAccountsUpdateListener { } private void onUserRemoved(Intent intent) { - int userId = intent.getIntExtra(Intent.EXTRA_USERID, -1); + int userId = intent.getIntExtra(Intent.EXTRA_USER_HANDLE, -1); if (userId == -1) return; // Clean up the storage engine database diff --git a/core/java/android/content/pm/UserInfo.java b/core/java/android/content/pm/UserInfo.java index 638e273..060a235 100644 --- a/core/java/android/content/pm/UserInfo.java +++ b/core/java/android/content/pm/UserInfo.java @@ -53,6 +53,7 @@ public class UserInfo implements Parcelable { public static final int FLAG_RESTRICTED = 0x00000008; public int id; + public int serialNumber; public String name; public String iconPath; public int flags; @@ -88,6 +89,7 @@ public class UserInfo implements Parcelable { iconPath = orig.iconPath; id = orig.id; flags = orig.flags; + serialNumber = orig.serialNumber; } @Override @@ -104,6 +106,7 @@ public class UserInfo implements Parcelable { dest.writeString(name); dest.writeString(iconPath); dest.writeInt(flags); + dest.writeInt(serialNumber); } public static final Parcelable.Creator<UserInfo> CREATOR @@ -121,5 +124,6 @@ public class UserInfo implements Parcelable { name = source.readString(); iconPath = source.readString(); flags = source.readInt(); + serialNumber = source.readInt(); } } diff --git a/core/java/android/os/IUserManager.aidl b/core/java/android/os/IUserManager.aidl index cb1b962..c7a8493 100644 --- a/core/java/android/os/IUserManager.aidl +++ b/core/java/android/os/IUserManager.aidl @@ -33,4 +33,6 @@ interface IUserManager { void setGuestEnabled(boolean enable); boolean isGuestEnabled(); void wipeUser(int userHandle); + int getUserSerialNumber(int userHandle); + int getUserHandle(int userSerialNumber); } diff --git a/core/java/android/os/UserManager.java b/core/java/android/os/UserManager.java index 9c73392..93da44a 100644 --- a/core/java/android/os/UserManager.java +++ b/core/java/android/os/UserManager.java @@ -209,4 +209,40 @@ public class UserManager { public int getMaxSupportedUsers() { return mContext.getResources().getInteger(R.integer.config_multiuserMaximumUsers); } + + /** + * Returns a serial number on this device for a given userHandle. User handles can be recycled + * when deleting and creating users, but serial numbers are not reused until the device is wiped. + * @param userHandle + * @return a serial number associated with that user, or -1 if the userHandle is not valid. + * @hide + */ + public int getUserSerialNumber(int userHandle) { + try { + return mService.getUserSerialNumber(userHandle); + } catch (RemoteException re) { + Log.w(TAG, "Could not get serial number for user " + userHandle); + } + return -1; + } + + /** + * Returns a userHandle on this device for a given user serial number. User handles can be + * recycled when deleting and creating users, but serial numbers are not reused until the device + * is wiped. + * @param userSerialNumber + * @return the userHandle associated with that user serial number, or -1 if the serial number + * is not valid. + * @hide + */ + public int getUserHandle(int userSerialNumber) { + try { + return mService.getUserHandle(userSerialNumber); + } catch (RemoteException re) { + Log.w(TAG, "Could not get userHandle for user " + userSerialNumber); + } + return -1; + } + + } |
