Merge "Fix no AVD transfer to client when using setOnExitAnimationListener" into udc-dev am: 17cea5da0f
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/23757143 Change-Id: I56560460fbfe21351cf83a58be9cae2e79b58e4c Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -4226,21 +4226,22 @@ public final class ActivityThread extends ClientTransactionHandler
|
||||
decorView.addView(view);
|
||||
view.requestLayout();
|
||||
|
||||
view.getViewTreeObserver().addOnDrawListener(new ViewTreeObserver.OnDrawListener() {
|
||||
view.getViewTreeObserver().addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
|
||||
private boolean mHandled = false;
|
||||
@Override
|
||||
public void onDraw() {
|
||||
public boolean onPreDraw() {
|
||||
if (mHandled) {
|
||||
return;
|
||||
return true;
|
||||
}
|
||||
mHandled = true;
|
||||
// Transfer the splash screen view from shell to client.
|
||||
// Call syncTransferSplashscreenViewTransaction at the first onDraw so we can ensure
|
||||
// the client view is ready to show and we can use applyTransactionOnDraw to make
|
||||
// all transitions happen at the same frame.
|
||||
// Call syncTransferSplashscreenViewTransaction at the first onPreDraw, so we can
|
||||
// ensure the client view is ready to show, and can use applyTransactionOnDraw to
|
||||
// make all transitions happen at the same frame.
|
||||
syncTransferSplashscreenViewTransaction(
|
||||
view, r.token, decorView, startingWindowLeash);
|
||||
view.post(() -> view.getViewTreeObserver().removeOnDrawListener(this));
|
||||
view.post(() -> view.getViewTreeObserver().removeOnPreDrawListener(this));
|
||||
return true;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user