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

Commit ca111f9e authored by Selim Cinek's avatar Selim Cinek
Browse files

Fixed an issue where the shade wouldn't stay open on unlock

We shouldn't hide the keyguard if the shade should stay open

Test: adb shell setprop persist.wm.enable_remote_keyguard_animation 1
Bug: 187516764
Change-Id: I0a14e4973ea8d228ba687372719d05d1ab588ef8
parent d245565a
Loading
Loading
Loading
Loading
+12 −11
Original line number Diff line number Diff line
@@ -104,6 +104,7 @@ import com.android.systemui.keyguard.dagger.KeyguardModule;
import com.android.systemui.navigationbar.NavigationModeController;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.shared.system.QuickStepContract;
import com.android.systemui.statusbar.SysuiStatusBarStateController;
import com.android.systemui.statusbar.phone.BiometricUnlockController;
import com.android.systemui.statusbar.phone.DozeParameters;
import com.android.systemui.statusbar.phone.KeyguardBypassController;
@@ -229,6 +230,7 @@ public class KeyguardViewMediator extends SystemUI implements Dumpable,
    private AlarmManager mAlarmManager;
    private AudioManager mAudioManager;
    private StatusBarManager mStatusBarManager;
    private final SysuiStatusBarStateController mStatusBarStateController;
    private final Executor mUiBgExecutor;

    private boolean mSystemReady;
@@ -779,7 +781,7 @@ public class KeyguardViewMediator extends SystemUI implements Dumpable,
            NavigationModeController navigationModeController,
            KeyguardDisplayManager keyguardDisplayManager,
            DozeParameters dozeParameters,
            StatusBarStateController statusBarStateController,
            SysuiStatusBarStateController statusBarStateController,
            KeyguardStateController keyguardStateController,
            Lazy<KeyguardUnlockAnimationController> keyguardUnlockAnimationControllerLazy) {
        super(context);
@@ -808,6 +810,7 @@ public class KeyguardViewMediator extends SystemUI implements Dumpable,
                    mInGestureNavigationMode = QuickStepContract.isGesturalMode(mode);
                }));
        mDozeParameters = dozeParameters;
        mStatusBarStateController = statusBarStateController;
        statusBarStateController.addCallback(this);

        mKeyguardStateController = keyguardStateController;
@@ -2100,19 +2103,17 @@ public class KeyguardViewMediator extends SystemUI implements Dumpable,
                playSounds(false);
            }

            if (KeyguardService.sEnableRemoteKeyguardAnimation) {
            // When remaining on the shade, there's no need to do a fancy remote animation,
            // it will dismiss the panel in that case.
            if (KeyguardService.sEnableRemoteKeyguardAnimation
                    && !mStatusBarStateController.leaveOpenOnKeyguardHide()
                    && apps != null && apps.length > 0) {
                mSurfaceBehindRemoteAnimationFinishedCallback = finishedCallback;
                mSurfaceBehindRemoteAnimationRunning = true;

                if (apps != null && apps.length > 0) {
                // Pass the surface and metadata to the unlock animation controller.
                mKeyguardUnlockAnimationControllerLazy.get().notifyStartKeyguardExitAnimation(
                        apps[0], startTime, mSurfaceBehindRemoteAnimationRequested);
                } else {
                    // We weren't given any surfaces to animate, so just finish.
                    onKeyguardExitRemoteAnimationFinished();
                    return;
                }
            } else {
                setShowingLocked(false);
                mWakeAndUnlocking = false;
+2 −1
Original line number Diff line number Diff line
@@ -47,6 +47,7 @@ import com.android.systemui.keyguard.KeyguardViewMediator;
import com.android.systemui.navigationbar.NavigationModeController;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.statusbar.NotificationShadeWindowController;
import com.android.systemui.statusbar.SysuiStatusBarStateController;
import com.android.systemui.statusbar.phone.DozeParameters;
import com.android.systemui.statusbar.phone.KeyguardLiftController;
import com.android.systemui.statusbar.phone.StatusBar;
@@ -94,7 +95,7 @@ public class KeyguardModule {
            NavigationModeController navigationModeController,
            KeyguardDisplayManager keyguardDisplayManager,
            DozeParameters dozeParameters,
            StatusBarStateController statusBarStateController,
            SysuiStatusBarStateController statusBarStateController,
            KeyguardStateController keyguardStateController,
            Lazy<KeyguardUnlockAnimationController> keyguardUnlockAnimationController) {
        return new KeyguardViewMediator(
+2 −2
Original line number Diff line number Diff line
@@ -46,7 +46,7 @@ import com.android.systemui.broadcast.BroadcastDispatcher;
import com.android.systemui.classifier.FalsingCollectorFake;
import com.android.systemui.dump.DumpManager;
import com.android.systemui.navigationbar.NavigationModeController;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.statusbar.SysuiStatusBarStateController;
import com.android.systemui.statusbar.phone.DozeParameters;
import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager;
import com.android.systemui.statusbar.policy.KeyguardStateController;
@@ -79,7 +79,7 @@ public class KeyguardViewMediatorTest extends SysuiTestCase {
    private @Mock NavigationModeController mNavigationModeController;
    private @Mock KeyguardDisplayManager mKeyguardDisplayManager;
    private @Mock DozeParameters mDozeParameters;
    private @Mock StatusBarStateController mStatusBarStateController;
    private @Mock SysuiStatusBarStateController mStatusBarStateController;
    private @Mock KeyguardStateController mKeyguardStateController;
    private @Mock KeyguardUnlockAnimationController mKeyguardUnlockAnimationController;
    private DeviceConfigProxy mDeviceConfig = new DeviceConfigProxyFake();