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
This commit is contained in:
Matt Pietal
2022-06-13 15:09:48 -04:00
parent 4492604de8
commit 1d426536b7
2 changed files with 11 additions and 1 deletions

View File

@@ -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,

View File

@@ -1596,7 +1596,7 @@ public class CentralSurfacesImpl extends CoreStartable implements
}
}
});
mStatusBarKeyguardViewManager.registerCentralSurfaces(
mKeyguardViewMediator.registerCentralSurfaces(
/* statusBar= */ this,
mNotificationPanelViewController,
mPanelExpansionStateManager,