Disable invalidation tickle workaround on M+
Change-Id: I38f91c0dacab8fa59d0eee01313266229f0545d1
diff --git a/design/src/android/support/design/widget/ViewOffsetHelper.java b/design/src/android/support/design/widget/ViewOffsetHelper.java
index 942dadbf..84fcc1d 100644
--- a/design/src/android/support/design/widget/ViewOffsetHelper.java
+++ b/design/src/android/support/design/widget/ViewOffsetHelper.java
@@ -16,6 +16,7 @@
package android.support.design.widget;
+import android.os.Build;
import android.support.v4.view.ViewCompat;
import android.view.View;
import android.view.ViewParent;
@@ -54,18 +55,20 @@
ViewCompat.offsetTopAndBottom(mView, mOffsetTop - (mView.getTop() - mLayoutTop));
ViewCompat.offsetLeftAndRight(mView, mOffsetLeft - (mView.getLeft() - mLayoutLeft));
- // Manually invalidate the parent to make sure we get drawn
- ViewParent parent = mView.getParent();
- if (parent instanceof View) {
- tickleParentInvalidationFlag((View) parent);
+ // Manually invalidate the parent to make sure we get drawn pre-M
+ if (Build.VERSION.SDK_INT < 23) {
+ tickleParentInvalidationFlag(mView);
}
}
private static void tickleParentInvalidationFlag(View view) {
- // TODO Bug: 21413554
- final float x = ViewCompat.getTranslationX(view);
- ViewCompat.setTranslationX(view, x + 1);
- ViewCompat.setTranslationX(view, x);
+ ViewParent vp = view.getParent();
+ if (vp instanceof View) {
+ View parent = (View) vp;
+ final float x = ViewCompat.getTranslationX(parent);
+ ViewCompat.setTranslationX(parent, x + 1);
+ ViewCompat.setTranslationX(parent, x);
+ }
}
/**