diff options
| author | George Mount <mount@google.com> | 2014-09-08 14:29:27 +0000 |
|---|---|---|
| committer | Android Git Automerger <android-git-automerger@android.com> | 2014-09-08 14:29:27 +0000 |
| commit | cfdfb2262c7b35a738e0f4bb037c516a888c44f8 (patch) | |
| tree | 907535b41418bdc34681565e77cef784fc50eed1 /core | |
| parent | b7451e49231b45dbc54690f094d1ff3b4456f00d (diff) | |
| parent | d652526fbef1b39c7e1ad8602fb9f13c4753bca6 (diff) | |
| download | frameworks_base-cfdfb2262c7b35a738e0f4bb037c516a888c44f8.zip frameworks_base-cfdfb2262c7b35a738e0f4bb037c516a888c44f8.tar.gz frameworks_base-cfdfb2262c7b35a738e0f4bb037c516a888c44f8.tar.bz2 | |
am baf19d8c: am 27858e18: am c452d4c9: Merge "Improve Visibility parent value check." into lmp-dev
* commit 'baf19d8ceadf195c1ea2cc6201b016a6430db455':
Improve Visibility parent value check.
Diffstat (limited to 'core')
| -rw-r--r-- | core/java/android/transition/Visibility.java | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/core/java/android/transition/Visibility.java b/core/java/android/transition/Visibility.java index 0b02552..d648ca6 100644 --- a/core/java/android/transition/Visibility.java +++ b/core/java/android/transition/Visibility.java @@ -358,12 +358,16 @@ public abstract class Visibility extends Transition { overlayView = startView; } else if (startView.getParent() instanceof View) { View startParent = (View) startView.getParent(); - if (!isValidTarget(startParent)) { - if (startView.isAttachedToWindow()) { - overlayView = copyViewImage(startView); - } else { - overlayView = startView; - } + VisibilityInfo parentVisibilityInfo = null; + TransitionValues endParentValues = getMatchedTransitionValues(startParent, + true); + if (endParentValues != null) { + TransitionValues startParentValues = getTransitionValues(startParent, true); + parentVisibilityInfo = + getVisibilityChangeInfo(startParentValues, endParentValues); + } + if (parentVisibilityInfo == null || !parentVisibilityInfo.visibilityChange) { + overlayView = copyViewImage(startView); } else if (startParent.getParent() == null) { int id = startParent.getId(); if (id != View.NO_ID && sceneRoot.findViewById(id) != null |
