diff --git a/packages/SystemUI/res/layout/system_icons.xml b/packages/SystemUI/res/layout/system_icons.xml index 4f4bae49b275b..816dfd35f96d7 100644 --- a/packages/SystemUI/res/layout/system_icons.xml +++ b/packages/SystemUI/res/layout/system_icons.xml @@ -19,6 +19,7 @@ android:id="@+id/system_icons" android:layout_width="wrap_content" android:layout_height="match_parent" + android:layout_gravity="center_vertical|end" android:gravity="center_vertical"> (view), StatusBarUserSwitcherController { private val listener = object : CurrentUserChipInfoUpdatedListener { @@ -52,8 +60,17 @@ class StatusBarUserSwitcherControllerImpl @Inject constructor( override fun onViewAttached() { tracker.addCallback(listener) featureController.addCallback(featureFlagListener) - mView.setOnClickListener { - userSwitcherDialogController.showDialog(it) + mView.setOnClickListener { view: View -> + if (featureFlags.isEnabled(Flags.FULL_SCREEN_USER_SWITCHER)) { + val intent = Intent(context, UserSwitcherActivity::class.java) + intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_NEW_TASK) + + activityStarter.startActivity(intent, true /* dismissShade */, + ActivityLaunchAnimator.Controller.fromView(view, null), + true /* showOverlockscreenwhenlocked */) + } else { + userSwitcherDialogController.showDialog(view) + } } updateEnabled()