Merge "Making multiuser button work in collapsed QS in split shade" into sc-v2-dev am: 45a1fc002e
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15786503 Change-Id: I10944dc33e4cbccde0afd44dd69afa250011c474
This commit is contained in:
@@ -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)
|
||||
}
|
||||
}
|
||||
@@ -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});
|
||||
}
|
||||
|
||||
|
||||
@@ -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,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> {
|
||||
}
|
||||
};
|
||||
|
||||
@Inject
|
||||
public MultiUserSwitchController(MultiUserSwitch view, UserManager userManager,
|
||||
@QSScope
|
||||
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,
|
||||
FalsingManager falsingManager) {
|
||||
super(view);
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user