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

This commit is contained in:
Michał Brzeziński
2021-09-16 12:44:39 +00:00
committed by Android (Google) Code Review
5 changed files with 46 additions and 16 deletions

View File

@@ -36,7 +36,7 @@ class FooterActionsControllerBuilder @Inject constructor(
private val activityStarter: ActivityStarter, private val activityStarter: ActivityStarter,
private val userManager: UserManager, private val userManager: UserManager,
private val userInfoController: UserInfoController, private val userInfoController: UserInfoController,
private val multiUserSwitchController: MultiUserSwitchController, private val multiUserSwitchControllerFactory: MultiUserSwitchController.Factory,
private val deviceProvisionedController: DeviceProvisionedController, private val deviceProvisionedController: DeviceProvisionedController,
private val falsingManager: FalsingManager, private val falsingManager: FalsingManager,
private val metricsLogger: MetricsLogger, private val metricsLogger: MetricsLogger,
@@ -60,8 +60,8 @@ class FooterActionsControllerBuilder @Inject constructor(
fun build(): FooterActionsController { fun build(): FooterActionsController {
return FooterActionsController(view, qsPanelController, activityStarter, userManager, return FooterActionsController(view, qsPanelController, activityStarter, userManager,
userInfoController, multiUserSwitchController, deviceProvisionedController, userInfoController, multiUserSwitchControllerFactory.create(view),
falsingManager, metricsLogger, tunerService, globalActionsDialog, uiEventLogger, deviceProvisionedController, falsingManager, metricsLogger, tunerService,
showPMLiteButton, buttonsVisibleState) globalActionsDialog, uiEventLogger, showPMLiteButton, buttonsVisibleState)
} }
} }

View File

@@ -42,6 +42,7 @@ import com.android.systemui.qs.logging.QSLogger;
import com.android.systemui.settings.brightness.BrightnessController; import com.android.systemui.settings.brightness.BrightnessController;
import com.android.systemui.settings.brightness.BrightnessMirrorHandler; import com.android.systemui.settings.brightness.BrightnessMirrorHandler;
import com.android.systemui.settings.brightness.BrightnessSlider; import com.android.systemui.settings.brightness.BrightnessSlider;
import com.android.systemui.statusbar.CommandQueue;
import com.android.systemui.statusbar.policy.BrightnessMirrorController; import com.android.systemui.statusbar.policy.BrightnessMirrorController;
import com.android.systemui.tuner.TunerService; import com.android.systemui.tuner.TunerService;
@@ -60,6 +61,7 @@ public class QSPanelController extends QSPanelControllerBase<QSPanel> {
private final QSCustomizerController mQsCustomizerController; private final QSCustomizerController mQsCustomizerController;
private final QSTileRevealController.Factory mQsTileRevealControllerFactory; private final QSTileRevealController.Factory mQsTileRevealControllerFactory;
private final FalsingManager mFalsingManager; private final FalsingManager mFalsingManager;
private final CommandQueue mCommandQueue;
private final BrightnessController mBrightnessController; private final BrightnessController mBrightnessController;
private final BrightnessSlider mBrightnessSlider; private final BrightnessSlider mBrightnessSlider;
private final BrightnessMirrorHandler mBrightnessMirrorHandler; private final BrightnessMirrorHandler mBrightnessMirrorHandler;
@@ -97,7 +99,8 @@ public class QSPanelController extends QSPanelControllerBase<QSPanel> {
QSTileRevealController.Factory qsTileRevealControllerFactory, QSTileRevealController.Factory qsTileRevealControllerFactory,
DumpManager dumpManager, MetricsLogger metricsLogger, UiEventLogger uiEventLogger, DumpManager dumpManager, MetricsLogger metricsLogger, UiEventLogger uiEventLogger,
QSLogger qsLogger, BrightnessController.Factory brightnessControllerFactory, QSLogger qsLogger, BrightnessController.Factory brightnessControllerFactory,
BrightnessSlider.Factory brightnessSliderFactory, FalsingManager falsingManager) { BrightnessSlider.Factory brightnessSliderFactory, FalsingManager falsingManager,
CommandQueue commandQueue) {
super(view, qstileHost, qsCustomizerController, usingMediaPlayer, mediaHost, super(view, qstileHost, qsCustomizerController, usingMediaPlayer, mediaHost,
metricsLogger, uiEventLogger, qsLogger, dumpManager); metricsLogger, uiEventLogger, qsLogger, dumpManager);
mQsSecurityFooter = qsSecurityFooter; mQsSecurityFooter = qsSecurityFooter;
@@ -105,6 +108,7 @@ public class QSPanelController extends QSPanelControllerBase<QSPanel> {
mQsCustomizerController = qsCustomizerController; mQsCustomizerController = qsCustomizerController;
mQsTileRevealControllerFactory = qsTileRevealControllerFactory; mQsTileRevealControllerFactory = qsTileRevealControllerFactory;
mFalsingManager = falsingManager; mFalsingManager = falsingManager;
mCommandQueue = commandQueue;
mQsSecurityFooter.setHostEnvironment(qstileHost); mQsSecurityFooter.setHostEnvironment(qstileHost);
mBrightnessSlider = brightnessSliderFactory.create(getContext(), mView); mBrightnessSlider = brightnessSliderFactory.create(getContext(), mView);
@@ -274,6 +278,14 @@ public class QSPanelController extends QSPanelControllerBase<QSPanel> {
/** */ /** */
public void showDetailAdapter(DetailAdapter detailAdapter, int x, int y) { 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}); mView.showDetailAdapter(true, detailAdapter, new int[]{x, y});
} }

View File

@@ -39,7 +39,6 @@ import com.android.systemui.qs.QSPanel;
import com.android.systemui.qs.QuickQSPanel; import com.android.systemui.qs.QuickQSPanel;
import com.android.systemui.qs.QuickStatusBarHeader; import com.android.systemui.qs.QuickStatusBarHeader;
import com.android.systemui.qs.customize.QSCustomizer; import com.android.systemui.qs.customize.QSCustomizer;
import com.android.systemui.statusbar.phone.MultiUserSwitch;
import javax.inject.Named; import javax.inject.Named;
@@ -80,12 +79,6 @@ public interface QSFragmentModule {
return qsFragment.getView(); return qsFragment.getView();
} }
/** */
@Provides
static MultiUserSwitch providesMultiUserSWitch(QSFooterView qsFooterView) {
return qsFooterView.findViewById(R.id.multi_user_switch);
}
/** */ /** */
@Provides @Provides
static QSPanel provideQSPanel(@RootView View view) { static QSPanel provideQSPanel(@RootView View view) {

View File

@@ -25,6 +25,7 @@ import android.view.ViewGroup;
import com.android.systemui.R; import com.android.systemui.R;
import com.android.systemui.plugins.FalsingManager; import com.android.systemui.plugins.FalsingManager;
import com.android.systemui.plugins.qs.DetailAdapter; import com.android.systemui.plugins.qs.DetailAdapter;
import com.android.systemui.qs.FooterActionsView;
import com.android.systemui.qs.QSDetailDisplayer; import com.android.systemui.qs.QSDetailDisplayer;
import com.android.systemui.qs.dagger.QSScope; import com.android.systemui.qs.dagger.QSScope;
import com.android.systemui.statusbar.policy.UserSwitcherController; import com.android.systemui.statusbar.policy.UserSwitcherController;
@@ -33,7 +34,6 @@ import com.android.systemui.util.ViewController;
import javax.inject.Inject; import javax.inject.Inject;
/** View Controller for {@link MultiUserSwitch}. */ /** View Controller for {@link MultiUserSwitch}. */
@QSScope
public class MultiUserSwitchController extends ViewController<MultiUserSwitch> { public class MultiUserSwitchController extends ViewController<MultiUserSwitch> {
private final UserManager mUserManager; private final UserManager mUserManager;
private final UserSwitcherController mUserSwitcherController; private final UserSwitcherController mUserSwitcherController;
@@ -60,8 +60,30 @@ public class MultiUserSwitchController extends ViewController<MultiUserSwitch> {
} }
}; };
@Inject @QSScope
public MultiUserSwitchController(MultiUserSwitch view, UserManager userManager, public static class Factory {
private final UserManager mUserManager;
private final UserSwitcherController mUserSwitcherController;
private final QSDetailDisplayer mQsDetailDisplayer;
private final FalsingManager mFalsingManager;
@Inject
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, UserSwitcherController userSwitcherController, QSDetailDisplayer qsDetailDisplayer,
FalsingManager falsingManager) { FalsingManager falsingManager) {
super(view); super(view);

View File

@@ -42,6 +42,7 @@ import com.android.systemui.qs.tileimpl.QSTileImpl;
import com.android.systemui.settings.brightness.BrightnessController; import com.android.systemui.settings.brightness.BrightnessController;
import com.android.systemui.settings.brightness.BrightnessSlider; import com.android.systemui.settings.brightness.BrightnessSlider;
import com.android.systemui.settings.brightness.ToggleSlider; import com.android.systemui.settings.brightness.ToggleSlider;
import com.android.systemui.statusbar.CommandQueue;
import com.android.systemui.tuner.TunerService; import com.android.systemui.tuner.TunerService;
import com.android.systemui.util.animation.DisappearParameters; import com.android.systemui.util.animation.DisappearParameters;
@@ -94,6 +95,8 @@ public class QSPanelControllerTest extends SysuiTestCase {
QSTileView mQSTileView; QSTileView mQSTileView;
@Mock @Mock
PagedTileLayout mPagedTileLayout; PagedTileLayout mPagedTileLayout;
@Mock
CommandQueue mCommandQueue;
FalsingManagerFake mFalsingManager = new FalsingManagerFake(); FalsingManagerFake mFalsingManager = new FalsingManagerFake();
private QSPanelController mController; private QSPanelController mController;
@@ -121,7 +124,7 @@ public class QSPanelControllerTest extends SysuiTestCase {
mQSTileHost, mQSCustomizerController, true, mMediaHost, mQSTileHost, mQSCustomizerController, true, mMediaHost,
mQSTileRevealControllerFactory, mDumpManager, mMetricsLogger, mUiEventLogger, mQSTileRevealControllerFactory, mDumpManager, mMetricsLogger, mUiEventLogger,
mQSLogger, mBrightnessControllerFactory, mToggleSliderViewControllerFactory, mQSLogger, mBrightnessControllerFactory, mToggleSliderViewControllerFactory,
mFalsingManager mFalsingManager, mCommandQueue
); );
mController.init(); mController.init();