Merge "Fix surface didn't fade out when dismiss" into udc-dev am: 7e387fc706

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/23597525

Change-Id: Ie16d5f7907590c0ee421b0cc395285d01ca24410
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Tony Huang
2023-06-12 07:18:30 +00:00
committed by Automerger Merge Worker

View File

@@ -199,19 +199,7 @@ class SplitScreenTransitions {
boolean isOpening = TransitionUtil.isOpeningType(info.getType()); boolean isOpening = TransitionUtil.isOpeningType(info.getType());
if (!isOpening && (mode == TRANSIT_CLOSE || mode == TRANSIT_TO_BACK)) { if (!isOpening && (mode == TRANSIT_CLOSE || mode == TRANSIT_TO_BACK)) {
// fade out // fade out
if (change.getSnapshot() != null) {
// This case is happened if task is going to reparent to TDA, the origin leash
// doesn't rendor so we use snapshot to replace it animating.
t.reparent(change.getSnapshot(), info.getRoot(rootIdx).getLeash());
// Use origin leash layer.
t.setLayer(change.getSnapshot(), info.getChanges().size() - i);
t.setPosition(change.getSnapshot(), change.getStartAbsBounds().left,
change.getStartAbsBounds().top);
t.show(change.getSnapshot());
startFadeAnimation(change.getSnapshot(), false /* show */);
} else {
startFadeAnimation(leash, false /* show */); startFadeAnimation(leash, false /* show */);
}
} else if (mode == TRANSIT_CHANGE && change.getSnapshot() != null) { } else if (mode == TRANSIT_CHANGE && change.getSnapshot() != null) {
t.reparent(change.getSnapshot(), info.getRoot(rootIdx).getLeash()); t.reparent(change.getSnapshot(), info.getRoot(rootIdx).getLeash());
// Ensure snapshot it on the top of all transition surfaces // Ensure snapshot it on the top of all transition surfaces