Fix automatic show/hide of FAB
As we no longer reposition GONE views to their anchors
(If9ac02024782d799645e3e5537e46d487ecb6e52), we have to use INVISIBLE
for automatic FAB show/hide because it needs to be notified of anchor
changes.
Test: BottomSheetBehaviorTest#testFabVisibility,
AppBarWithCollapsingToolbarTest#testPinnedToolbarAndAnchoredFab, and
FloatingActionButtonTest pass on API 9, 15, 25
Bug: 32421388
Change-Id: Ie503991c28246dc7cb942c88daf4d91a9a3ee3d1
diff --git a/design/gingerbread/android/support/design/widget/FloatingActionButtonGingerbread.java b/design/gingerbread/android/support/design/widget/FloatingActionButtonGingerbread.java
index d17691c..6edc9e4 100644
--- a/design/gingerbread/android/support/design/widget/FloatingActionButtonGingerbread.java
+++ b/design/gingerbread/android/support/design/widget/FloatingActionButtonGingerbread.java
@@ -160,7 +160,7 @@
@Override
public void onAnimationEnd(Animation animation) {
mAnimState = ANIM_STATE_NONE;
- mView.internalSetVisibility(View.GONE, fromUser);
+ mView.internalSetVisibility(fromUser ? View.GONE : View.INVISIBLE, fromUser);
if (listener != null) {
listener.onHidden();
}
diff --git a/design/ics/android/support/design/widget/FloatingActionButtonIcs.java b/design/ics/android/support/design/widget/FloatingActionButtonIcs.java
index 4825124..73b4cac 100644
--- a/design/ics/android/support/design/widget/FloatingActionButtonIcs.java
+++ b/design/ics/android/support/design/widget/FloatingActionButtonIcs.java
@@ -88,7 +88,8 @@
mAnimState = ANIM_STATE_NONE;
if (!mCancelled) {
- mView.internalSetVisibility(View.GONE, fromUser);
+ mView.internalSetVisibility(fromUser ? View.GONE : View.INVISIBLE,
+ fromUser);
if (listener != null) {
listener.onHidden();
}
@@ -97,7 +98,7 @@
});
} else {
// If the view isn't laid out, or we're in the editor, don't run the animation
- mView.internalSetVisibility(View.GONE, fromUser);
+ mView.internalSetVisibility(fromUser ? View.GONE : View.INVISIBLE, fromUser);
if (listener != null) {
listener.onHidden();
}
diff --git a/design/tests/src/android/support/design/widget/BottomSheetBehaviorTest.java b/design/tests/src/android/support/design/widget/BottomSheetBehaviorTest.java
index f38a03f..3a4ae2a 100644
--- a/design/tests/src/android/support/design/widget/BottomSheetBehaviorTest.java
+++ b/design/tests/src/android/support/design/widget/BottomSheetBehaviorTest.java
@@ -46,7 +46,6 @@
import android.support.test.espresso.matcher.ViewMatchers;
import android.support.test.filters.MediumTest;
import android.support.test.filters.SmallTest;
-import android.support.test.filters.Suppress;
import android.support.v4.view.ViewCompat;
import android.support.v4.widget.NestedScrollView;
import android.view.LayoutInflater;
@@ -632,8 +631,6 @@
});
}
- // Test disabled because it is consistently failing.
- @Suppress
@Test
@MediumTest
public void testFabVisibility() {