DesignTime: Do not use animation in design time.

Animations are used in response to a nested scroll in an App Bar
to: turn off the FAB and make the scrim opaque such that a image
is invisible when the toolbar is collapsed.
In design time: do not use animations.
This will allow LayoutLib to render the controls correctly after
the toolbar is collapsed.

Change-Id: Id168ce24d4539a765ccbe09a11ffc96716f28ae6
diff --git a/design/src/android/support/design/widget/CollapsingToolbarLayout.java b/design/src/android/support/design/widget/CollapsingToolbarLayout.java
index 7c09925..71611e6 100644
--- a/design/src/android/support/design/widget/CollapsingToolbarLayout.java
+++ b/design/src/android/support/design/widget/CollapsingToolbarLayout.java
@@ -377,14 +377,22 @@
 
     private void showScrim() {
         if (!mScrimsAreShown) {
-            animateScrim(255);
+            if (ViewCompat.isLaidOut(this) && !isInEditMode()) {
+                animateScrim(255);
+            } else {
+                setScrimAlpha(255);
+            }
             mScrimsAreShown = true;
         }
     }
 
     private void hideScrim() {
         if (mScrimsAreShown) {
-            animateScrim(0);
+            if (ViewCompat.isLaidOut(this) && !isInEditMode()) {
+                animateScrim(0);
+            } else {
+                setScrimAlpha(0);
+            }
             mScrimsAreShown = false;
         }
     }
@@ -398,15 +406,7 @@
             mScrimAnimator.setUpdateListener(new ValueAnimatorCompat.AnimatorUpdateListener() {
                 @Override
                 public void onAnimationUpdate(ValueAnimatorCompat animator) {
-                    final int newAlpha = animator.getAnimatedIntValue();
-                    if (newAlpha != mScrimAlpha) {
-                        final Drawable contentScrim = mContentScrim;
-                        if (contentScrim != null && mToolbar != null) {
-                            ViewCompat.postInvalidateOnAnimation(mToolbar);
-                        }
-                        mScrimAlpha = newAlpha;
-                        ViewCompat.postInvalidateOnAnimation(CollapsingToolbarLayout.this);
-                    }
+                    setScrimAlpha(animator.getAnimatedIntValue());
                 }
             });
         } else if (mScrimAnimator.isRunning()) {
@@ -417,6 +417,17 @@
         mScrimAnimator.start();
     }
 
+    private void setScrimAlpha(int alpha) {
+        if (alpha != mScrimAlpha) {
+            final Drawable contentScrim = mContentScrim;
+            if (contentScrim != null && mToolbar != null) {
+                ViewCompat.postInvalidateOnAnimation(mToolbar);
+            }
+            mScrimAlpha = alpha;
+            ViewCompat.postInvalidateOnAnimation(CollapsingToolbarLayout.this);
+        }
+    }
+
     /**
      * Set the drawable to use for the content scrim from resources. Providing null will disable
      * the scrim functionality.
diff --git a/design/src/android/support/design/widget/FloatingActionButton.java b/design/src/android/support/design/widget/FloatingActionButton.java
index 13262a2..42af049 100644
--- a/design/src/android/support/design/widget/FloatingActionButton.java
+++ b/design/src/android/support/design/widget/FloatingActionButton.java
@@ -247,7 +247,7 @@
         if (getVisibility() != VISIBLE) {
             return;
         }
-        if (ViewCompat.isLaidOut(this)) {
+        if (ViewCompat.isLaidOut(this) && !isInEditMode()) {
             mImpl.hide();
         } else {
             setVisibility(GONE);