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

Commit 45a1fc00 authored by Michał Brzeziński's avatar Michał Brzeziński Committed by Android (Google) Code Review
Browse files

Merge "Making multiuser button work in collapsed QS in split shade" into sc-v2-dev

parents d0c4ac79 170542de
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -36,7 +36,7 @@ class FooterActionsControllerBuilder @Inject constructor(
    private val activityStarter: ActivityStarter,
    private val userManager: UserManager,
    private val userInfoController: UserInfoController,
    private val multiUserSwitchController: MultiUserSwitchController,
    private val multiUserSwitchControllerFactory: MultiUserSwitchController.Factory,
    private val deviceProvisionedController: DeviceProvisionedController,
    private val falsingManager: FalsingManager,
    private val metricsLogger: MetricsLogger,
@@ -60,8 +60,8 @@ class FooterActionsControllerBuilder @Inject constructor(

    fun build(): FooterActionsController {
        return FooterActionsController(view, qsPanelController, activityStarter, userManager,
                userInfoController, multiUserSwitchController, deviceProvisionedController,
                falsingManager, metricsLogger, tunerService, globalActionsDialog, uiEventLogger,
                showPMLiteButton, buttonsVisibleState)
                userInfoController, multiUserSwitchControllerFactory.create(view),
                deviceProvisionedController, falsingManager, metricsLogger, tunerService,
                globalActionsDialog, uiEventLogger, showPMLiteButton, buttonsVisibleState)
    }
}
 No newline at end of file
+13 −1
Original line number Diff line number Diff line
@@ -42,6 +42,7 @@ import com.android.systemui.qs.logging.QSLogger;
import com.android.systemui.settings.brightness.BrightnessController;
import com.android.systemui.settings.brightness.BrightnessMirrorHandler;
import com.android.systemui.settings.brightness.BrightnessSlider;
import com.android.systemui.statusbar.CommandQueue;
import com.android.systemui.statusbar.policy.BrightnessMirrorController;
import com.android.systemui.tuner.TunerService;

@@ -60,6 +61,7 @@ public class QSPanelController extends QSPanelControllerBase<QSPanel> {
    private final QSCustomizerController mQsCustomizerController;
    private final QSTileRevealController.Factory mQsTileRevealControllerFactory;
    private final FalsingManager mFalsingManager;
    private final CommandQueue mCommandQueue;
    private final BrightnessController mBrightnessController;
    private final BrightnessSlider mBrightnessSlider;
    private final BrightnessMirrorHandler mBrightnessMirrorHandler;
@@ -97,7 +99,8 @@ public class QSPanelController extends QSPanelControllerBase<QSPanel> {
            QSTileRevealController.Factory qsTileRevealControllerFactory,
            DumpManager dumpManager, MetricsLogger metricsLogger, UiEventLogger uiEventLogger,
            QSLogger qsLogger, BrightnessController.Factory brightnessControllerFactory,
            BrightnessSlider.Factory brightnessSliderFactory, FalsingManager falsingManager) {
            BrightnessSlider.Factory brightnessSliderFactory, FalsingManager falsingManager,
            CommandQueue commandQueue) {
        super(view, qstileHost, qsCustomizerController, usingMediaPlayer, mediaHost,
                metricsLogger, uiEventLogger, qsLogger, dumpManager);
        mQsSecurityFooter = qsSecurityFooter;
@@ -105,6 +108,7 @@ public class QSPanelController extends QSPanelControllerBase<QSPanel> {
        mQsCustomizerController = qsCustomizerController;
        mQsTileRevealControllerFactory = qsTileRevealControllerFactory;
        mFalsingManager = falsingManager;
        mCommandQueue = commandQueue;
        mQsSecurityFooter.setHostEnvironment(qstileHost);

        mBrightnessSlider = brightnessSliderFactory.create(getContext(), mView);
@@ -274,6 +278,14 @@ public class QSPanelController extends QSPanelControllerBase<QSPanel> {

    /** */
    public void showDetailAdapter(DetailAdapter detailAdapter, int x, int y) {
        // TODO(b/199296365)
        // Workaround for opening detail from QQS, when there might not be enough space to
        // display e.g. in case of multiuser detail from split shade. Currently showing detail works
        // only for QS (mView below) and that's why expanding panel (thus showing QS instead of QQS)
        // makes it displayed correctly.
        if (!isExpanded()) {
            mCommandQueue.animateExpandSettingsPanel(null);
        }
        mView.showDetailAdapter(true, detailAdapter, new int[]{x, y});
    }

+0 −7
Original line number Diff line number Diff line
@@ -39,7 +39,6 @@ import com.android.systemui.qs.QSPanel;
import com.android.systemui.qs.QuickQSPanel;
import com.android.systemui.qs.QuickStatusBarHeader;
import com.android.systemui.qs.customize.QSCustomizer;
import com.android.systemui.statusbar.phone.MultiUserSwitch;

import javax.inject.Named;

@@ -80,12 +79,6 @@ public interface QSFragmentModule {
        return qsFragment.getView();
    }

    /** */
    @Provides
    static MultiUserSwitch providesMultiUserSWitch(QSFooterView qsFooterView) {
        return qsFooterView.findViewById(R.id.multi_user_switch);
    }

    /** */
    @Provides
    static QSPanel provideQSPanel(@RootView View view) {
+25 −3
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ import android.view.ViewGroup;
import com.android.systemui.R;
import com.android.systemui.plugins.FalsingManager;
import com.android.systemui.plugins.qs.DetailAdapter;
import com.android.systemui.qs.FooterActionsView;
import com.android.systemui.qs.QSDetailDisplayer;
import com.android.systemui.qs.dagger.QSScope;
import com.android.systemui.statusbar.policy.UserSwitcherController;
@@ -33,7 +34,6 @@ import com.android.systemui.util.ViewController;
import javax.inject.Inject;

/** View Controller for {@link MultiUserSwitch}. */
@QSScope
public class MultiUserSwitchController extends ViewController<MultiUserSwitch> {
    private final UserManager mUserManager;
    private final UserSwitcherController mUserSwitcherController;
@@ -60,8 +60,30 @@ public class MultiUserSwitchController extends ViewController<MultiUserSwitch> {
        }
    };

    @QSScope
    public static class Factory {
        private final UserManager mUserManager;
        private final UserSwitcherController mUserSwitcherController;
        private final QSDetailDisplayer mQsDetailDisplayer;
        private final FalsingManager mFalsingManager;

        @Inject
    public MultiUserSwitchController(MultiUserSwitch view, UserManager userManager,
        public Factory(UserManager userManager, UserSwitcherController userSwitcherController,
                QSDetailDisplayer qsDetailDisplayer, FalsingManager falsingManager) {
            mUserManager = userManager;
            mUserSwitcherController = userSwitcherController;
            mQsDetailDisplayer = qsDetailDisplayer;
            mFalsingManager = falsingManager;
        }

        public MultiUserSwitchController create(FooterActionsView view) {
            return new MultiUserSwitchController(view.findViewById(R.id.multi_user_switch),
                    mUserManager, mUserSwitcherController, mQsDetailDisplayer,
                    mFalsingManager);
        }
    }

    private MultiUserSwitchController(MultiUserSwitch view, UserManager userManager,
            UserSwitcherController userSwitcherController, QSDetailDisplayer qsDetailDisplayer,
            FalsingManager falsingManager) {
        super(view);
+4 −1
Original line number Diff line number Diff line
@@ -42,6 +42,7 @@ import com.android.systemui.qs.tileimpl.QSTileImpl;
import com.android.systemui.settings.brightness.BrightnessController;
import com.android.systemui.settings.brightness.BrightnessSlider;
import com.android.systemui.settings.brightness.ToggleSlider;
import com.android.systemui.statusbar.CommandQueue;
import com.android.systemui.tuner.TunerService;
import com.android.systemui.util.animation.DisappearParameters;

@@ -94,6 +95,8 @@ public class QSPanelControllerTest extends SysuiTestCase {
    QSTileView mQSTileView;
    @Mock
    PagedTileLayout mPagedTileLayout;
    @Mock
    CommandQueue mCommandQueue;
    FalsingManagerFake mFalsingManager = new FalsingManagerFake();

    private QSPanelController mController;
@@ -121,7 +124,7 @@ public class QSPanelControllerTest extends SysuiTestCase {
                mQSTileHost, mQSCustomizerController, true, mMediaHost,
                mQSTileRevealControllerFactory, mDumpManager, mMetricsLogger, mUiEventLogger,
                mQSLogger, mBrightnessControllerFactory, mToggleSliderViewControllerFactory,
                mFalsingManager
                mFalsingManager, mCommandQueue
        );

        mController.init();