diff options
author | Ben Lin <linben@google.com> | 2020-06-26 17:49:49 -0700 |
---|---|---|
committer | Ben Lin <linben@google.com> | 2020-07-17 00:28:21 +0000 |
commit | 6e054b4ff1b6cec19f4607a762d21f3fe4258ba1 (patch) | |
tree | ccf3fd0f176fb3d4c04fd591215b28185bbc1cba /tools/aapt2/java/JavaClassGenerator.cpp | |
parent | b49d14d26b0b838df10b0c4e468f7c764cbcbd97 (diff) |
Run transitions on multi-activity PIP when moved to back.
When a multi-activity PIP-able task gets moved to the back, the top
activity gets paused and then enters PIP if the app allows it. However,
since the original activity below the PIP activity was not visible and
thus stopped, its visibility doesn't change. Without the visibility
changing, we don't run any TRANSIT_TASK_TO_BACK transitions on it as we
should.
This CL does 2 things:
1) When moving task to back, always run EnsureVisibilityHelper to check
visibility regardless of whether the new top activity is resumed or not.
This is because in the process of resuming the new top activity, there
are checks for visibility which isn't yet updated. We should just update
the visibility first.
2) When entering PIP and there are more than one activity and there is a
TRANSIT_TASK_TO_BACK transition (meaning a moveTaskToBack operation was
done), add the old activity to the displayContent's list of closing apps
and add a new flag to ensure the transition is ran even though the
activity's visibility did not change.
Bug: 159376160
Test: Minimize a task with multiple activity (e.g. VLC, Netflix), and
the video activity enters PIP correctly, with the back transition
correctly ran on the original task
Test: atest
com.android.server.wm.RootActivityContainerTests#testMovingBottomMostStackActivityToPinnedStack
Test: atest
com.android.server.wm.AppTransitionControllerTest#testGetAnimationTargets_visibilityAlreadyUpdated_butForcedTransitionRequested
Change-Id: I5de59a6b8e1b244a0df896dd61c5b4b103c3fd7f
Diffstat (limited to 'tools/aapt2/java/JavaClassGenerator.cpp')
0 files changed, 0 insertions, 0 deletions