summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Jovana Knezevic <jovanak@google.com> 2020-01-27 20:59:22 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2020-01-27 20:59:22 +0000
commit873cc29e531dc3b4576c8d0b47e104887e1808c0 (patch)
tree53f1ea5114cf04e1e1e48b8d6f45a08533fb0f51
parent2709706a3f891d7461f680f9c4acebfa14a4d7ff (diff)
parenta3eab6f7da22e49e3ad298f3d316c48e32944342 (diff)
Merge "Switching to pre-created users should not be supported."
-rw-r--r--core/java/android/content/pm/UserInfo.java4
-rw-r--r--services/tests/servicestests/src/com/android/server/pm/UserManagerServiceUserInfoTest.java19
2 files changed, 23 insertions, 0 deletions
diff --git a/core/java/android/content/pm/UserInfo.java b/core/java/android/content/pm/UserInfo.java
index 008cfa5e9423..f1506645d10c 100644
--- a/core/java/android/content/pm/UserInfo.java
+++ b/core/java/android/content/pm/UserInfo.java
@@ -362,6 +362,10 @@ public class UserInfo implements Parcelable {
// Don't support switching to an ephemeral user with removal in progress.
return false;
}
+ if (preCreated) {
+ // Don't support switching to pre-created users until they become "real" users.
+ return false;
+ }
return !isProfile();
}
diff --git a/services/tests/servicestests/src/com/android/server/pm/UserManagerServiceUserInfoTest.java b/services/tests/servicestests/src/com/android/server/pm/UserManagerServiceUserInfoTest.java
index ac27a087ba8e..5df856865ff9 100644
--- a/services/tests/servicestests/src/com/android/server/pm/UserManagerServiceUserInfoTest.java
+++ b/services/tests/servicestests/src/com/android/server/pm/UserManagerServiceUserInfoTest.java
@@ -153,6 +153,25 @@ public class UserManagerServiceUserInfoTest {
assertTrue(mUserManagerService.isUserOfType(testId, typeName));
}
+ /** Test UserInfo.supportsSwitchTo() for precreated users. */
+ @Test
+ public void testSupportSwitchTo_preCreated() throws Exception {
+ UserInfo userInfo = createUser(100, FLAG_FULL, null);
+ userInfo.preCreated = true;
+ assertFalse("Switching to a precreated user should be disabled",
+ userInfo.supportsSwitchTo());
+
+ userInfo.preCreated = false;
+ assertTrue("Switching to a full, real user should be allowed", userInfo.supportsSwitchTo());
+ }
+
+ /** Test UserInfo.supportsSwitchTo() for profiles. */
+ @Test
+ public void testSupportSwitchTo_profile() throws Exception {
+ UserInfo userInfo = createUser(100, FLAG_PROFILE, null);
+ assertFalse("Switching to a profiles should be disabled", userInfo.supportsSwitchTo());
+ }
+
/** Tests upgradeIfNecessaryLP (but without locking) for upgrading from version 8 to 9+. */
@Test
public void testUpgradeIfNecessaryLP_9() {