diff --git a/src/android/support/design/widget/BottomSheetBehavior.java b/src/android/support/design/widget/BottomSheetBehavior.java index 3b3ef3126..e0221af54 100644 --- a/src/android/support/design/widget/BottomSheetBehavior.java +++ b/src/android/support/design/widget/BottomSheetBehavior.java @@ -441,6 +441,9 @@ public class BottomSheetBehavior extends CoordinatorLayout.Behav * {@link #STATE_HIDDEN}. */ public final void setState(@State int state) { + if (state == mState) { + return; + } if (mViewRef == null) { // The view is not laid out yet; modify mState and let onLayoutChild handle it later if (state == STATE_COLLAPSED || state == STATE_EXPANDED || diff --git a/tests/src/android/support/design/widget/BottomSheetBehaviorTest.java b/tests/src/android/support/design/widget/BottomSheetBehaviorTest.java index be74a5ff3..cf66226d3 100644 --- a/tests/src/android/support/design/widget/BottomSheetBehaviorTest.java +++ b/tests/src/android/support/design/widget/BottomSheetBehaviorTest.java @@ -126,6 +126,12 @@ public class BottomSheetBehaviorTest extends checkSetState(BottomSheetBehavior.STATE_COLLAPSED, ViewMatchers.isDisplayed()); } + @Test + @MediumTest + public void testSetStateCollapsedToCollapsed() { + checkSetState(BottomSheetBehavior.STATE_COLLAPSED, ViewMatchers.isDisplayed()); + } + @Test @MediumTest public void testSwipeDownToCollapse() {