summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGeorge Mount <mount@google.com>2014-10-31 21:35:30 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2014-10-31 21:35:30 +0000
commit7bce5007d2b2b218d11514a3df8e7109e37d9e7c (patch)
tree3ff674bf5fa751bc6245b8560cdd4ca98354dbf2
parent63bb33832380feb546d1a20d8f1c057f2088aed5 (diff)
parentfa21e75734878a9718f85c7d3f28c5946f15d01d (diff)
downloadframeworks_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.java9
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;
}