diff options
| author | George Mount <mount@google.com> | 2014-10-31 21:35:30 +0000 |
|---|---|---|
| committer | Android Git Automerger <android-git-automerger@android.com> | 2014-10-31 21:35:30 +0000 |
| commit | 7bce5007d2b2b218d11514a3df8e7109e37d9e7c (patch) | |
| tree | 3ff674bf5fa751bc6245b8560cdd4ca98354dbf2 | |
| parent | 63bb33832380feb546d1a20d8f1c057f2088aed5 (diff) | |
| parent | fa21e75734878a9718f85c7d3f28c5946f15d01d (diff) | |
| download | frameworks_base-7bce5007d2b2b218d11514a3df8e7109e37d9e7c.zip frameworks_base-7bce5007d2b2b218d11514a3df8e7109e37d9e7c.tar.gz frameworks_base-7bce5007d2b2b218d11514a3df8e7109e37d9e7c.tar.bz2 | |
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.
| -rw-r--r-- | core/java/android/app/EnterTransitionCoordinator.java | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/core/java/android/app/EnterTransitionCoordinator.java b/core/java/android/app/EnterTransitionCoordinator.java index 7894887..ecf19c7 100644 --- a/core/java/android/app/EnterTransitionCoordinator.java +++ b/core/java/android/app/EnterTransitionCoordinator.java @@ -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; } |
