Separates current process user and foreground user

User switcher wrongly called methods on the current process user,
which is always User 0 for SysUI.

Instead, user switcher requires knowledge about foreground user.
The process of user switching = changing the foreground
user.

Split tests between unit and robolectric.
Robolectric tests enable shadowing ActivityManager and UserHandle.

Fixes:77485524
Test: Unit and robolectric tests.
Change-Id: I20cc32f132ce48b4507a6907bdc9d103c04f4a30
5 files changed