Omit appearing views that have a parent that is also appearing.

b/17460766

Change-Id: Ib3fe619e271688c93a5cd4cb4d557e6cca5baa34
diff --git a/core/java/android/transition/Visibility.java b/core/java/android/transition/Visibility.java
index d648ca6..d87d0f9 100644
--- a/core/java/android/transition/Visibility.java
+++ b/core/java/android/transition/Visibility.java
@@ -277,6 +277,18 @@
         if ((mMode & MODE_IN) != MODE_IN || endValues == null) {
             return null;
         }
+        if (startValues == null) {
+            VisibilityInfo parentVisibilityInfo = null;
+            View endParent = (View) endValues.view.getParent();
+            TransitionValues startParentValues = getMatchedTransitionValues(endParent,
+                                                                            false);
+            TransitionValues endParentValues = getTransitionValues(endParent, false);
+            parentVisibilityInfo =
+                getVisibilityChangeInfo(startParentValues, endParentValues);
+            if (parentVisibilityInfo.visibilityChange) {
+                return null;
+            }
+        }
         return onAppear(sceneRoot, endValues.view, startValues, endValues);
     }