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
This commit is contained in:
Louis Chang
2023-04-21 03:42:59 +00:00
parent 1ce89ea19d
commit f4cd1eda4f

View File

@@ -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);