From f4cd1eda4f1a5d3e22fc89198daa0e9f4d5e83f0 Mon Sep 17 00:00:00 2001 From: Louis Chang Date: Fri, 21 Apr 2023 03:42:59 +0000 Subject: [PATCH] Create transition when converting an Activity to translucent Activity became visible and was relaunched while the top activity converted to translucent before finishing the top activity, but the change was not collected (a closing transition was requested afterward). Bug: 279108439 Test: verified on Settings Change-Id: If263ae6a85c3e1339b41f8f211b6a25cf5cf3aa2 --- .../com/android/server/wm/ActivityClientController.java | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/services/core/java/com/android/server/wm/ActivityClientController.java b/services/core/java/com/android/server/wm/ActivityClientController.java index 8bbcd2787931c..c40d72c3746e4 100644 --- a/services/core/java/com/android/server/wm/ActivityClientController.java +++ b/services/core/java/com/android/server/wm/ActivityClientController.java @@ -807,11 +807,8 @@ class ActivityClientController extends IActivityClientController.Stub { if (under != null) { under.returningOptions = safeOptions != null ? safeOptions.getOptions(r) : null; } - // Create a transition if the activity is playing in case the current activity - // didn't commit invisible. That's because if this activity has changed its - // visibility while playing transition, there won't able to commit visibility until - // the running transition finish. - final Transition transition = r.mTransitionController.inPlayingTransition(r) + // Create a transition to make sure the activity change is collected. + final Transition transition = r.mTransitionController.isShellTransitionsEnabled() && !r.mTransitionController.isCollecting() ? r.mTransitionController.createTransition(TRANSIT_TO_FRONT) : null; final boolean changed = r.setOccludesParent(false);