Fix customized activity open/close animation backdrop color

Before, we always read the next app requested color. Now, we read the
backdrop color from next app requested animation, which is the requested
color if set, or the color in the animation XML if there is no override
color.

Bug: 241043533
Test: verify with resource color
Change-Id: I0687078a1cbcb46e71ab269059911072eb7046fd
This commit is contained in:
Chris Li
2022-12-07 21:01:06 +08:00
parent 4d3d9d5e57
commit ff3428b1ba

View File

@@ -3011,13 +3011,16 @@ class WindowContainer<E extends WindowContainer> extends ConfigurationContainer<
// When there are more than one changing containers, it may leave part of the
// screen empty. Show background color to cover that.
showBackdrop = getDisplayContent().mChangingContainers.size() > 1;
backdropColor = appTransition.getNextAppTransitionBackgroundColor();
} else {
// Check whether the app has requested to show backdrop for open/close
// transition.
final Animation a = appTransition.getNextAppRequestedAnimation(enter);
showBackdrop = a != null && a.getShowBackdrop();
if (a != null) {
showBackdrop = a.getShowBackdrop();
backdropColor = a.getBackdropColor();
}
}
backdropColor = appTransition.getNextAppTransitionBackgroundColor();
}
final Rect localBounds = new Rect(mTmpRect);
localBounds.offsetTo(mTmpPoint.x, mTmpPoint.y);