Hide leaf-tasks at end of swipe-to-home animation
This is needed for split-screen. Since their leaf tasks are not "independent", Transitions.java will not hide them in the finish-transaction (it shouldn't because it doesn't know if the parent is doing the hiding). In recents' case, though, we know that the tasks will be hidden at leaf-level (due to being reparented out of split). Without hiding here, there will be a flicker after it gets reparented out of the animation leash, but before the app visibility is committed in WMCore. Bug: 228883780 Test: Enter split, swipe-to-home. Change-Id: I9d0fa1542cb82aabbc89998368864107cee56c72
This commit is contained in:
@@ -388,12 +388,17 @@ public class RemoteTransitionCompat implements Parcelable {
|
||||
wct.restoreTransientOrder(mRecentsTask);
|
||||
}
|
||||
} else {
|
||||
if (!sendUserLeaveHint) {
|
||||
for (int i = 0; i < mPausingTasks.size(); ++i) {
|
||||
for (int i = 0; i < mPausingTasks.size(); ++i) {
|
||||
if (!sendUserLeaveHint) {
|
||||
// This means recents is not *actually* finishing, so of course we gotta
|
||||
// do special stuff in WMCore to accommodate.
|
||||
wct.setDoNotPip(mPausingTasks.get(i));
|
||||
}
|
||||
// Since we will reparent out of the leashes, pre-emptively hide the child
|
||||
// surface to match the leash. Otherwise, there will be a flicker before the
|
||||
// visibility gets committed in Core when using split-screen (in splitscreen,
|
||||
// the leaf-tasks are not "independent" so aren't hidden by normal setup).
|
||||
t.hide(mInfo.getChange(mPausingTasks.get(i)).getLeash());
|
||||
}
|
||||
if (mPipTask != null && mPipTransaction != null && sendUserLeaveHint) {
|
||||
t.show(mInfo.getChange(mPipTask).getLeash());
|
||||
|
||||
Reference in New Issue
Block a user