New keyguard user switcher
- Use ViewController for KeyguardUserSwitcher, name this
KeyguardUserSwitcherController
- Create KeyguardUserSwitcherListView. Separate view container and
controller code.
- Daggerize KeyguardUserSwitcherController
- Move KeyguardUserSwitcher from NotificationsQuickSettingsContainer to
NotificationPanelView
- Hide clock and notification when keyguard user switcher is open
- Show "End guest session" button when switcher is open and user is
guest
- Introduce listener for user switcher state
- Change icon of guest when current so that it does not show exit icon
- Disallow guest exit via user switcher list item
- Propagate dark amount to keyguard user switcher
- Updated styles
Known issues:
- If repeatedly pressing KEYCODE_POWER while switching between users,
the clock will sometimes get stuck in INVISIBLE state: b/179930842
- Multiple StrictMode violations are still present: b/179913579
Test: atest com.android.keyguard
Test: Build with config_keyguardUserSwitcher=false, enable multi-user,
check that user icon is in the status bar but not on the keyguard
above the clock
Test: Build with config_keyguardUserSwitcher=true, check that user icon
is visible on keyguard above the clock
Test: When config_keyguardUserSwitcher=true, tap user icon to open
keyguard user switcher, then open and close QS to verify that
the keyguard user switcher closes
Test: Check that user switcher is always open and visible on the lock
screen when simple user switcher is enabled:
adb shell settings put global lockscreenSimpleUserSwitcher 1 &&
adb shell stop &&
adb shell start
Bug: 169783558
Change-Id: Iaea4eae358873ae80748ca3eb9329f22bb2bb2ef
35 files changed