am fa21e757: Merge "Ensure views are attached prior to starting enter transition." into lmp-mr1-dev
* commit 'fa21e75734878a9718f85c7d3f28c5946f15d01d': Ensure views are attached prior to starting enter transition.
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user