Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 50c6fb2d authored by Wei Sheng Shih's avatar Wei Sheng Shih Committed by Automerger Merge Worker
Browse files

Merge "Fix no AVD transfer to client when using setOnExitAnimationListener"...

Merge "Fix no AVD transfer to client when using setOnExitAnimationListener" into udc-dev am: 17cea5da am: e9fc26f8 am: 5655546f

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



Change-Id: I16dec1c1b0000304c1aff449a1c770a793d7be5b
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 433d8e24 5655546f
Loading
Loading
Loading
Loading
+8 −7
Original line number Diff line number Diff line
@@ -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;
            }
        });
    }