summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/android/transition/Visibility.java2
-rw-r--r--core/java/android/transition/VisibilityPropagation.java6
2 files changed, 6 insertions, 2 deletions
diff --git a/core/java/android/transition/Visibility.java b/core/java/android/transition/Visibility.java
index af2016ccf2a4..79dbb49f5245 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 0326d4725ecd..183e036517ef 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());