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

Commit fa21e757 authored by George Mount's avatar George Mount Committed by Android (Google) Code Review
Browse files

Merge "Ensure views are attached prior to starting enter transition." into lmp-mr1-dev

parents b9eabc5c 1fb941dd
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -133,16 +133,17 @@ class EnterTransitionCoordinator extends ActivityTransitionCoordinator {
            return;
        }
        mAreViewsReady = true;
        final ViewGroup decor = getDecor();
        // Ensure the views have been laid out before capturing the views -- we need the epicenter.
        if (sharedElements.isEmpty() || !sharedElements.valueAt(0).isLayoutRequested()) {
        if (decor == null || (decor.isAttachedToWindow() &&
                (sharedElements.isEmpty() || !sharedElements.valueAt(0).isLayoutRequested()))) {
            viewsReady(sharedElements);
        } else {
            final View sharedElement = sharedElements.valueAt(0);
            sharedElement.getViewTreeObserver()
            decor.getViewTreeObserver()
                    .addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
                @Override
                public boolean onPreDraw() {
                    sharedElement.getViewTreeObserver().removeOnPreDrawListener(this);
                    decor.getViewTreeObserver().removeOnPreDrawListener(this);
                    viewsReady(sharedElements);
                    return true;
                }