Merge "Don't let a View anchor itself to it's parent CoordinatorLayout" into mnc-ub-dev
diff --git a/design/src/android/support/design/widget/CoordinatorLayout.java b/design/src/android/support/design/widget/CoordinatorLayout.java
index 7338a3a..3d16ac9 100644
--- a/design/src/android/support/design/widget/CoordinatorLayout.java
+++ b/design/src/android/support/design/widget/CoordinatorLayout.java
@@ -2461,9 +2461,18 @@
* Determine the anchor view for the child view this LayoutParams is assigned to.
* Assumes mAnchorId is valid.
*/
- private void resolveAnchorView(View forChild, CoordinatorLayout parent) {
+ private void resolveAnchorView(final View forChild, final CoordinatorLayout parent) {
mAnchorView = parent.findViewById(mAnchorId);
if (mAnchorView != null) {
+ if (mAnchorView == parent) {
+ if (parent.isInEditMode()) {
+ mAnchorView = mAnchorDirectChild = null;
+ return;
+ }
+ throw new IllegalStateException(
+ "View can not be anchored to the the parent CoordinatorLayout");
+ }
+
View directChild = mAnchorView;
for (ViewParent p = mAnchorView.getParent();
p != parent && p != null;