UserController: simplify and fix the delayed user unlocking logic

There's no reason for the "delay user unlocking until boot complete"
logic to be conditional on HSUM (Headless System User Mode), since
non-HSUM doesn't unlock users too early, and if it did then it would
need the same fix anyway.

Therefore, make this logic unconditional.

As part of this, merge onBootCompletedOnHeadlessSystemUserModeDevices()
into sendBootCompleted(), and rename it to onBootComplete().  As a side
effect this fixes a bug where in HSUM, the BOOT_COMPLETED broadcast
could be sent before LOCKED_BOOT_COMPLETED.  That isn't known to have
been causing problems, but it differed from non-HSUM devices.

Finally, update some comments to be more useful.

Test: atest UserControllerTest # with cf_x86_phone
Test: atest UserControllerTest # with cf_x86_64_auto
Bug: 232452368
Bug: 241929666
Change-Id: Icb2060061740ff76e5288eb579c490fb3ab66872
3 files changed