diff options
| author | 2020-01-27 20:59:22 +0000 | |
|---|---|---|
| committer | 2020-01-27 20:59:22 +0000 | |
| commit | 873cc29e531dc3b4576c8d0b47e104887e1808c0 (patch) | |
| tree | 53f1ea5114cf04e1e1e48b8d6f45a08533fb0f51 | |
| parent | 2709706a3f891d7461f680f9c4acebfa14a4d7ff (diff) | |
| parent | a3eab6f7da22e49e3ad298f3d316c48e32944342 (diff) | |
Merge "Switching to pre-created users should not be supported."
| -rw-r--r-- | core/java/android/content/pm/UserInfo.java | 4 | ||||
| -rw-r--r-- | services/tests/servicestests/src/com/android/server/pm/UserManagerServiceUserInfoTest.java | 19 |
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() { |