summaryrefslogtreecommitdiffstats
path: root/core/java/android/transition
diff options
context:
space:
mode:
authorChris Craik <ccraik@google.com>2014-10-06 14:50:59 -0700
committerChris Craik <ccraik@google.com>2014-10-06 14:55:17 -0700
commitf791703f9bc566bee4f4809910d09dd415342078 (patch)
tree03edb81699919a1b6fdc02c6168956dcd5bc9bcd /core/java/android/transition
parentba5df0d01970ec97d64397d9db55f8d1ad98aa16 (diff)
downloadframeworks_base-f791703f9bc566bee4f4809910d09dd415342078.zip
frameworks_base-f791703f9bc566bee4f4809910d09dd415342078.tar.gz
frameworks_base-f791703f9bc566bee4f4809910d09dd415342078.tar.bz2
Avoid changeBounds animations on Views that are not yet laidout
bug:17683930 This means that GONE views with empty bounds don't trigger ChangeBounds animations the first time they're shown. Change-Id: I6503c5b0a790d3d31f7566fab27a0b12c5f61f26
Diffstat (limited to 'core/java/android/transition')
-rw-r--r--core/java/android/transition/ChangeBounds.java17
1 files changed, 10 insertions, 7 deletions
diff --git a/core/java/android/transition/ChangeBounds.java b/core/java/android/transition/ChangeBounds.java
index eb17429..0a44ba2 100644
--- a/core/java/android/transition/ChangeBounds.java
+++ b/core/java/android/transition/ChangeBounds.java
@@ -117,13 +117,16 @@ public class ChangeBounds extends Transition {
private void captureValues(TransitionValues values) {
View view = values.view;
- values.values.put(PROPNAME_BOUNDS, new Rect(view.getLeft(), view.getTop(),
- view.getRight(), view.getBottom()));
- values.values.put(PROPNAME_PARENT, values.view.getParent());
- if (mReparent) {
- values.view.getLocationInWindow(tempLocation);
- values.values.put(PROPNAME_WINDOW_X, tempLocation[0]);
- values.values.put(PROPNAME_WINDOW_Y, tempLocation[1]);
+
+ if (view.isLaidOut()) {
+ values.values.put(PROPNAME_BOUNDS, new Rect(view.getLeft(), view.getTop(),
+ view.getRight(), view.getBottom()));
+ values.values.put(PROPNAME_PARENT, values.view.getParent());
+ if (mReparent) {
+ values.view.getLocationInWindow(tempLocation);
+ values.values.put(PROPNAME_WINDOW_X, tempLocation[0]);
+ values.values.put(PROPNAME_WINDOW_Y, tempLocation[1]);
+ }
}
}