From dce18cd5dc3e90d4ea981315b218dcdde917589d Mon Sep 17 00:00:00 2001 From: Yuichi Araki Date: Wed, 30 Nov 2016 04:01:21 +0000 Subject: [PATCH] Merge "Fix setState with the current state" into mnc-ub-dev am: c5f5f85 * commit 'c5f5f85c1323787b2dc692af2dbd3efc804d5034': Fix setState with the current state Change-Id: Ifbbadcb2f888adcfe29b776a3ab363e88fbe6885 GitOrigin-RevId=4f0c8201b8c02def322843f180b86e0ea466e650 PiperOrigin-RevId: 140560466 --- src/android/support/design/widget/BottomSheetBehavior.java | 3 +++ .../support/design/widget/BottomSheetBehaviorTest.java | 6 ++++++ 2 files changed, 9 insertions(+) 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() {