summaryrefslogtreecommitdiffstats
path: root/core/java
diff options
context:
space:
mode:
authorAmith Yamasani <yamasani@google.com>2012-08-17 09:20:28 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-08-17 09:20:29 -0700
commit9c38d6e52bb71671c6f034a10b6751a1569c9ee0 (patch)
treef090041ec5a1d4141a683a0bb109eae092a8b7e5 /core/java
parentbc11e52cafa182996a338641c86bf3a07f571b1d (diff)
parent2a00329c6d55c6cd9166e01963d7410e95d80d21 (diff)
downloadframeworks_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.java2
-rw-r--r--core/java/android/content/Intent.java18
-rw-r--r--core/java/android/content/SyncManager.java2
-rw-r--r--core/java/android/content/pm/UserInfo.java4
-rw-r--r--core/java/android/os/IUserManager.aidl2
-rw-r--r--core/java/android/os/UserManager.java36
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;
+ }
+
+
}