Support secondary_user_on_secondary_display in CtsDisplayTestCases

secondary_user_on_secondary_display is for background users that have
access to UI on assigned displays (a.k.a. visible background users) on
devices that have config_multiuserVisibleBackgroundUsers enabled. The
main use case is Automotive's multi-display Whole Cabin experience where
passengers (modeled as visible background users) can interact with the
display in front of them concurrently with the driver (modeled as the
current user) interacting with driver's display.

The testRefreshRateSwitchOnSecondaryDisplay test uses overlay displays
to verify refresh rate changes on secondary displays. In automotive
multi-user multi-display environments, each public display must be
assigned to a user to avoid exceptions. However, overlay displays are
managed by the global setting (Settings.Global.OVERLAY_DISPLAY_DEVICES)
and are always assigned to the current user. As a result, visible
background users are not supported on overlay displays. Due to this
limitation, we need to skip the testRefreshRateSwitchOnSecondaryDisplay
test for visible background users.

Test fixes include:
- Add secondary_user_on_secondary_display option.
- Add the user option to the executing shell command.
- Skip testRefreshRateSwitchOnSecondaryDisplay for the visible
background users (Automotive passengers).

Bug: 352630509
Test: atest CtsDisplayTestCases
Test: atest --user-type secondary_user CtsDisplayTestCases
Test: atest --user-type secondary_user_on_secondary_display CtsDisplayTestCases
Change-Id: Ie289c52a036e6f733abbeb146a0f18f9fc2501d8
4 files changed