Don't start first human user twice on headless-system mode.

It speeds up boot on automotive in about 25ms.

Bug: 128904478
Bug: 132111956

Test: manual verification
Test: atest CtsVoiceInteractionTestCases CtsAssistTestCases # on walleye and automotive

Merged-In: I37cdca09b5280193a07ed9951f2e386ed3cd2299
Change-Id: I37cdca09b5280193a07ed9951f2e386ed3cd2299
(cherry picked from commit 206c09b55331440ded234349dbbe9716b91a095a)
diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java
index bb455cd..6c5bcf5 100644
--- a/services/core/java/com/android/server/am/ActivityManagerService.java
+++ b/services/core/java/com/android/server/am/ActivityManagerService.java
@@ -9023,7 +9023,16 @@
                 Integer.toString(currentUserId), currentUserId);
         mBatteryStatsService.noteEvent(BatteryStats.HistoryItem.EVENT_USER_FOREGROUND_START,
                 Integer.toString(currentUserId), currentUserId);
-        mSystemServiceManager.startUser(currentUserId);
+
+        // On Automotive, at this point the system user has already been started and unlocked,
+        // and some of the tasks we do here have already been done. So skip those in that case.
+        // TODO(b/132262830): this workdound shouldn't be necessary once we move the
+        // headless-user start logic to UserManager-land
+        final boolean bootingSystemUser = currentUserId == UserHandle.USER_SYSTEM;
+
+        if (bootingSystemUser) {
+            mSystemServiceManager.startUser(currentUserId);
+        }
 
         synchronized (this) {
             // Only start up encryption-aware persistent apps; once user is
@@ -9047,9 +9056,6 @@
                     throw e.rethrowAsRuntimeException();
                 }
             }
-            // On Automotive, at this point the system user has already been started and unlocked,
-            // and some of the tasks we do here have already been done. So skip those in that case.
-            final boolean bootingSystemUser = currentUserId == UserHandle.USER_SYSTEM;
 
             if (bootingSystemUser) {
                 mAtmInternal.startHomeOnAllDisplays(currentUserId, "systemReady");