From 2ffa09c9a8d47633304e7e42a74647c814568fe9 Mon Sep 17 00:00:00 2001 From: Riddle Hsu Date: Thu, 13 Jul 2023 07:28:06 +0000 Subject: [PATCH] Set transient launch after collecting for recent at keyguard Otherwise RecentsTransitionHandler cannot recognize the transition for the show-when-locked activity. Bug: 290558423 Test: Launch a show-when-locked activity. Turn off/on screen. Swipe up should back to keyguard. Change-Id: I41922200bcc855b46c3f49803e02ea5855e84cdd --- services/core/java/com/android/server/wm/ActivityStarter.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/services/core/java/com/android/server/wm/ActivityStarter.java b/services/core/java/com/android/server/wm/ActivityStarter.java index 4262e94e28945..884100c5da330 100644 --- a/services/core/java/com/android/server/wm/ActivityStarter.java +++ b/services/core/java/com/android/server/wm/ActivityStarter.java @@ -1591,6 +1591,9 @@ class ActivityStarter { if (forceTransientTransition) { transitionController.collect(mLastStartActivityRecord); transitionController.collect(mPriorAboveTask); + // If keyguard is active and occluded, the transient target won't be moved to front + // to be collected, so set transient again after it is collected. + transitionController.setTransientLaunch(mLastStartActivityRecord, mPriorAboveTask); final DisplayContent dc = mLastStartActivityRecord.getDisplayContent(); // update wallpaper target to TransientHide dc.mWallpaperController.adjustWallpaperWindows();