From 6ebe3de331efd00ba23bc4191d4a82cfa4c39160 Mon Sep 17 00:00:00 2001 From: Chet Haase Date: Mon, 17 Jun 2013 16:50:50 -0700 Subject: Fix transitions on disappearing view hiearchies Previously, Fade transitions did not work correctly on hirearchies; they only handled individual views. in particular, they would side-effect all fading views by removing them from their parent to fade them out in the overlay of the scene root. This worked for the fade-out transition itself, but caused problems when those same hierarchies were added back in and another Fade was run on the hierarchy, because now all of the views inside that parent node had been removed, so they didn't fade in at all. The fix was to add logic in Visibility to detect when a disappearing view was inside a hierarchy that was also disappearing, and to skip the fade on the views inside that hierarchy, leaving only the top-most disappearing view to be faded out, thus preserving the hierarchy under that faded-out group. Along the way, there were various cleanups, fixes, and refactorings in the transition code, and slight API modifications. Issue #9406371 Transitions: Removing view hierarchy not working correctly Issue #9470255 Transitions: Separate different transitions by Scene Root Change-Id: I42e80dac6097fee740f651dcc0535f2c57c11ebb --- tests/TransitionTests/AndroidManifest.xml | 7 +++ .../res/layout/fading_hierarchy.xml | 39 ++++++++++++++++ .../android/transitiontests/FadingHierarchy.java | 54 ++++++++++++++++++++++ 3 files changed, 100 insertions(+) create mode 100644 tests/TransitionTests/res/layout/fading_hierarchy.xml create mode 100644 tests/TransitionTests/src/com/android/transitiontests/FadingHierarchy.java (limited to 'tests/TransitionTests') diff --git a/tests/TransitionTests/AndroidManifest.xml b/tests/TransitionTests/AndroidManifest.xml index 98174ab..3861164 100644 --- a/tests/TransitionTests/AndroidManifest.xml +++ b/tests/TransitionTests/AndroidManifest.xml @@ -219,6 +219,13 @@ + + + + + + diff --git a/tests/TransitionTests/res/layout/fading_hierarchy.xml b/tests/TransitionTests/res/layout/fading_hierarchy.xml new file mode 100644 index 0000000..a24a6b6 --- /dev/null +++ b/tests/TransitionTests/res/layout/fading_hierarchy.xml @@ -0,0 +1,39 @@ + + + + +