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

Commit 1d426536 authored by Matt Pietal's avatar Matt Pietal
Browse files

Close panel immediately on launch animation end

Otherwise the activity will launch, then the window will quickly flip
back to the fully expanded shade and make the user watch the collapse
animation before finally showing the activity that was started.

This path only occurs when the keyguard is unlocked, and triggers the
remote occlude animation to run.

Fixes: 234577570
Test: manual, use face unlock without bypass, unlock the lockscreen,
then start an occluding activity (controls, maps)

Change-Id: Ifcb59cce810c81e607d5fe83389d282100ef7236
parent 4492604d
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -485,6 +485,8 @@ public class KeyguardViewMediator extends CoreStartable implements Dumpable,
     */
    private IRemoteAnimationRunner mKeyguardExitAnimationRunner;

    private CentralSurfaces mCentralSurfaces;

    private final DeviceConfig.OnPropertiesChangedListener mOnPropertiesChangedListener =
            new DeviceConfig.OnPropertiesChangedListener() {
            @Override
@@ -845,6 +847,13 @@ public class KeyguardViewMediator extends CoreStartable implements Dumpable,
                            + mOccluded);
                }

                @Override
                public void onLaunchAnimationEnd(boolean launchIsFullScreen) {
                    if (launchIsFullScreen) {
                        mCentralSurfaces.instantCollapseNotificationPanel();
                    }
                }

                @NonNull
                @Override
                public ViewGroup getLaunchContainer() {
@@ -2846,6 +2855,7 @@ public class KeyguardViewMediator extends CoreStartable implements Dumpable,
            @Nullable PanelExpansionStateManager panelExpansionStateManager,
            BiometricUnlockController biometricUnlockController,
            View notificationContainer, KeyguardBypassController bypassController) {
        mCentralSurfaces = centralSurfaces;
        mKeyguardViewControllerLazy.get().registerCentralSurfaces(
                centralSurfaces,
                panelView,
+1 −1
Original line number Diff line number Diff line
@@ -1596,7 +1596,7 @@ public class CentralSurfacesImpl extends CoreStartable implements
                        }
                    }
                });
        mStatusBarKeyguardViewManager.registerCentralSurfaces(
        mKeyguardViewMediator.registerCentralSurfaces(
                /* statusBar= */ this,
                mNotificationPanelViewController,
                mPanelExpansionStateManager,