Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6200973f authored by Evan Laird's avatar Evan Laird
Browse files

Use fullscreen user switcher if available

Test: manual
Bug: 217250837
Change-Id: I22c264ea8ccd19b2808dcbf3159f7845d3566e97
parent bc661bfc
Loading
Loading
Loading
Loading
+20 −3
Original line number Diff line number Diff line
@@ -16,9 +16,15 @@

package com.android.systemui.statusbar.phone.userswitcher

import android.content.Intent
import android.view.View
import com.android.systemui.animation.ActivityLaunchAnimator
import com.android.systemui.flags.FeatureFlags
import com.android.systemui.flags.Flags
import com.android.systemui.plugins.ActivityStarter

import com.android.systemui.qs.user.UserSwitchDialogController
import com.android.systemui.user.UserSwitcherActivity
import com.android.systemui.util.ViewController

import javax.inject.Inject
@@ -30,7 +36,9 @@ class StatusBarUserSwitcherControllerImpl @Inject constructor(
    view: StatusBarUserSwitcherContainer,
    private val tracker: StatusBarUserInfoTracker,
    private val featureController: StatusBarUserSwitcherFeatureController,
    private val userSwitcherDialogController: UserSwitchDialogController
    private val userSwitcherDialogController: UserSwitchDialogController,
    private val featureFlags: FeatureFlags,
    private val activityStarter: ActivityStarter
) : ViewController<StatusBarUserSwitcherContainer>(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()