diff --git a/services/core/java/com/android/server/pm/UserManagerService.java b/services/core/java/com/android/server/pm/UserManagerService.java index f4ba4492dcbb2..8a3b3e3f627c7 100644 --- a/services/core/java/com/android/server/pm/UserManagerService.java +++ b/services/core/java/com/android/server/pm/UserManagerService.java @@ -90,6 +90,7 @@ import com.android.internal.annotations.VisibleForTesting; import com.android.internal.app.IAppOpsService; import com.android.internal.logging.MetricsLogger; import com.android.internal.os.BackgroundThread; +import com.android.internal.os.RoSystemProperties; import com.android.internal.util.DumpUtils; import com.android.internal.util.FastXmlSerializer; import com.android.internal.util.Preconditions; @@ -2216,11 +2217,10 @@ public class UserManagerService extends IUserManager.Stub { @GuardedBy({"mPackagesLock", "mRestrictionsLock"}) private void fallbackToSingleUserLP() { - int flags = UserInfo.FLAG_INITIALIZED; - // In split system user mode, the admin and primary flags are assigned to the first human - // user. - if (!UserManager.isSplitSystemUser()) { - flags |= UserInfo.FLAG_ADMIN | UserInfo.FLAG_PRIMARY; + int flags = UserInfo.FLAG_INITIALIZED | UserInfo.FLAG_ADMIN; + // In headless system user mode, the primary flag is assigned to the first human user. + if (!RoSystemProperties.MULTIUSER_HEADLESS_SYSTEM_USER) { + flags |= UserInfo.FLAG_PRIMARY; } // Create the system user UserInfo system = new UserInfo(UserHandle.USER_SYSTEM, null, null, flags); @@ -2734,9 +2734,9 @@ public class UserManagerService extends IUserManager.Stub { return null; } } - // In split system user mode, we assign the first human user the primary flag. + // In headless system user mode, we assign the first human user the primary flag. // And if there is no device owner, we also assign the admin flag to primary user. - if (UserManager.isSplitSystemUser() + if (RoSystemProperties.MULTIUSER_HEADLESS_SYSTEM_USER && !isGuest && !isManagedProfile && getPrimaryUser() == null) { flags |= UserInfo.FLAG_PRIMARY; synchronized (mUsersLock) {