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

Commit 03009c2d authored by Lucas Silva's avatar Lucas Silva Committed by Android (Google) Code Review
Browse files

Merge "Fix back gesture when bouncer showing over GH" into main

parents 9d2b66a8 0f51014a
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ package com.android.systemui.statusbar.phone;
import static com.android.systemui.bouncer.shared.constants.KeyguardBouncerConstants.EXPANSION_HIDDEN;
import static com.android.systemui.bouncer.shared.constants.KeyguardBouncerConstants.EXPANSION_VISIBLE;

import static kotlinx.coroutines.flow.StateFlowKt.MutableStateFlow;
import static kotlinx.coroutines.test.TestCoroutineDispatchersKt.StandardTestDispatcher;

import static org.junit.Assert.assertFalse;
@@ -76,6 +77,7 @@ import com.android.systemui.bouncer.domain.interactor.PrimaryBouncerCallbackInte
import com.android.systemui.bouncer.domain.interactor.PrimaryBouncerInteractor;
import com.android.systemui.bouncer.ui.BouncerView;
import com.android.systemui.bouncer.ui.BouncerViewDelegate;
import com.android.systemui.communal.domain.interactor.CommunalSceneInteractor;
import com.android.systemui.deviceentry.domain.interactor.DeviceEntryInteractor;
import com.android.systemui.dock.DockManager;
import com.android.systemui.dreams.DreamOverlayStateController;
@@ -171,6 +173,7 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase {
    @Mock private SceneInteractor mSceneInteractor;
    @Mock private DismissCallbackRegistry mDismissCallbackRegistry;
    @Mock private BouncerInteractor mBouncerInteractor;
    @Mock private CommunalSceneInteractor mCommunalSceneInteractor;

    private StatusBarKeyguardViewManager mStatusBarKeyguardViewManager;
    private PrimaryBouncerCallbackInteractor.PrimaryBouncerExpansionCallback
@@ -209,6 +212,7 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase {
                .thenReturn(mNotificationShadeWindowView);
        when(mNotificationShadeWindowView.getWindowInsetsController())
                .thenReturn(mWindowInsetsController);
        when(mCommunalSceneInteractor.isIdleOnCommunal()).thenReturn(MutableStateFlow(false));

        mStatusBarKeyguardViewManager =
                new StatusBarKeyguardViewManager(
@@ -245,7 +249,8 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase {
                        mExecutor,
                        () -> mDeviceEntryInteractor,
                        mDismissCallbackRegistry,
                        () -> mBouncerInteractor) {
                        () -> mBouncerInteractor,
                        mCommunalSceneInteractor) {
                    @Override
                    public ViewRootImpl getViewRootImpl() {
                        return mViewRootImpl;
@@ -749,7 +754,8 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase {
                        mExecutor,
                        () -> mDeviceEntryInteractor,
                        mDismissCallbackRegistry,
                        () -> mBouncerInteractor) {
                        () -> mBouncerInteractor,
                        mCommunalSceneInteractor) {
                    @Override
                    public ViewRootImpl getViewRootImpl() {
                        return mViewRootImpl;
+10 −4
Original line number Diff line number Diff line
@@ -65,6 +65,7 @@ import com.android.systemui.bouncer.domain.interactor.PrimaryBouncerInteractor;
import com.android.systemui.bouncer.shared.flag.ComposeBouncerFlags;
import com.android.systemui.bouncer.ui.BouncerView;
import com.android.systemui.bouncer.util.BouncerTestUtilsKt;
import com.android.systemui.communal.domain.interactor.CommunalSceneInteractor;
import com.android.systemui.dagger.SysUISingleton;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.deviceentry.domain.interactor.DeviceEntryInteractor;
@@ -170,6 +171,7 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
    private final Lazy<SceneInteractor> mSceneInteractorLazy;
    private final Lazy<DeviceEntryInteractor> mDeviceEntryInteractorLazy;
    private final DismissCallbackRegistry mDismissCallbackRegistry;
    private final CommunalSceneInteractor mCommunalSceneInteractor;

    private Job mListenForAlternateBouncerTransitionSteps = null;
    private Job mListenForKeyguardAuthenticatedBiometricsHandled = null;
@@ -406,7 +408,8 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
            @Main DelayableExecutor executor,
            Lazy<DeviceEntryInteractor> deviceEntryInteractorLazy,
            DismissCallbackRegistry dismissCallbackRegistry,
            Lazy<BouncerInteractor> bouncerInteractor
            Lazy<BouncerInteractor> bouncerInteractor,
            CommunalSceneInteractor communalSceneInteractor
    ) {
        mContext = context;
        mExecutor = executor;
@@ -443,6 +446,7 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
        mStatusBarKeyguardViewManagerInteractor = statusBarKeyguardViewManagerInteractor;
        mDeviceEntryInteractorLazy = deviceEntryInteractorLazy;
        mDismissCallbackRegistry = dismissCallbackRegistry;
        mCommunalSceneInteractor = communalSceneInteractor;
    }

    KeyguardTransitionInteractor mKeyguardTransitionInteractor;
@@ -1364,11 +1368,13 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
        }
        mStatusBarStateController.setLeaveOpenOnKeyguardHide(false);

        boolean hideBouncerOverDream = isBouncerShowing()
                && mDreamOverlayStateController.isOverlayActive();
        boolean hideBouncerOverDreamOrHub = isBouncerShowing()
                && (mDreamOverlayStateController.isOverlayActive()
                || mCommunalSceneInteractor.isIdleOnCommunal().getValue());
        mCentralSurfaces.endAffordanceLaunch();
        // The second condition is for SIM card locked bouncer
        if (hideBouncerOverDream || (primaryBouncerIsScrimmed() && !needsFullscreenBouncer())) {
        if (hideBouncerOverDreamOrHub
                || (primaryBouncerIsScrimmed() && !needsFullscreenBouncer())) {
            hideBouncer(false);
            updateStates();
        } else {