From 6ceac2eafbb43dafd18bf547fee6fe51aee6b59b Mon Sep 17 00:00:00 2001 From: George Mount Date: Thu, 31 Jul 2014 09:58:16 -0700 Subject: [PATCH] Fix visibility propagation check. Bug 16704963 Change-Id: I2538bac4b4565ac8c6b27407c7679fea55b1092b --- core/java/android/transition/Visibility.java | 2 +- core/java/android/transition/VisibilityPropagation.java | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/core/java/android/transition/Visibility.java b/core/java/android/transition/Visibility.java index af2016ccf2a4b..79dbb49f5245d 100644 --- a/core/java/android/transition/Visibility.java +++ b/core/java/android/transition/Visibility.java @@ -43,7 +43,7 @@ import android.view.ViewGroup; */ public abstract class Visibility extends Transition { - private static final String PROPNAME_VISIBILITY = "android:visibility:visibility"; + static final String PROPNAME_VISIBILITY = "android:visibility:visibility"; private static final String PROPNAME_PARENT = "android:visibility:parent"; private static final String PROPNAME_SCREEN_LOCATION = "android:visibility:screenLocation"; diff --git a/core/java/android/transition/VisibilityPropagation.java b/core/java/android/transition/VisibilityPropagation.java index 0326d4725ecda..183e036517ef5 100644 --- a/core/java/android/transition/VisibilityPropagation.java +++ b/core/java/android/transition/VisibilityPropagation.java @@ -42,7 +42,11 @@ public abstract class VisibilityPropagation extends TransitionPropagation { @Override public void captureValues(TransitionValues values) { View view = values.view; - values.values.put(PROPNAME_VISIBILITY, view.getVisibility()); + Integer visibility = (Integer) values.values.get(Visibility.PROPNAME_VISIBILITY); + if (visibility == null) { + visibility = view.getVisibility(); + } + values.values.put(PROPNAME_VISIBILITY, visibility); int[] loc = new int[2]; view.getLocationOnScreen(loc); loc[0] += Math.round(view.getTranslationX());