Window inset support for CoL + AppBarLayout DO NOT MERGE

CoL now handles and consumes all window insets given
to it on L+. AppBarLayout and it's Behaviors have special
handling to ensure it's view are measured correctly.
CollapsingToolbarLayout has handling to ensure that view are
not laid out within the insets.

BUG: 20652400

Change-Id: Ifa8677aa8abeaf443c53bbe6b53e29ff1859b18d
diff --git a/design/api/current.txt b/design/api/current.txt
index e7c86a0..3cfe257 100644
--- a/design/api/current.txt
+++ b/design/api/current.txt
@@ -5,6 +5,7 @@
     ctor public AppBarLayout(android.content.Context, android.util.AttributeSet);
     method public void addOnOffsetChangedListener(android.support.design.widget.AppBarLayout.OnOffsetChangedListener);
     method public float getTargetElevation();
+    method public final int getTotalScrollRange();
     method public void removeOnOffsetChangedListener(android.support.design.widget.AppBarLayout.OnOffsetChangedListener);
     method public void setTargetElevation(float);
   }
@@ -56,13 +57,18 @@
     ctor public CollapsingToolbarLayout(android.content.Context);
     ctor public CollapsingToolbarLayout(android.content.Context, android.util.AttributeSet);
     ctor public CollapsingToolbarLayout(android.content.Context, android.util.AttributeSet, int);
-    method public int getForegroundScrimColor();
+    method public android.graphics.drawable.Drawable getContentScrim();
+    method public android.graphics.drawable.Drawable getStatusBarScrim();
     method public void setCollapsedTitleTextAppearance(int);
     method public void setCollapsedTitleTextColor(int);
+    method public void setContentScrim(android.graphics.drawable.Drawable);
+    method public void setContentScrimColor(int);
+    method public void setContentScrimResource(int);
     method public void setExpandedTitleColor(int);
     method public void setExpandedTitleTextAppearance(int);
-    method public void setForegroundScrimColor(int);
-    method public void setForegroundScrimColorResource(int);
+    method public void setStatusBarScrim(android.graphics.drawable.Drawable);
+    method public void setStatusBarScrimColor(int);
+    method public void setStatusBarScrimResource(int);
     method public void setTitle(java.lang.CharSequence);
   }
 
@@ -89,12 +95,17 @@
     method public void dispatchDependentViewsChanged(android.view.View);
     method public boolean doViewsOverlap(android.view.View, android.view.View);
     method public java.util.List<android.view.View> getDependencies(android.view.View);
+    method public android.graphics.drawable.Drawable getStatusBarBackground();
     method public boolean isPointInChildBounds(android.view.View, int, int);
     method public void onAttachedToWindow();
     method public void onDetachedFromWindow();
+    method public void onDraw(android.graphics.Canvas);
     method protected void onLayout(boolean, int, int, int, int);
     method public void onLayoutChild(android.view.View, int);
     method public void onMeasureChild(android.view.View, int, int, int, int);
+    method public void setStatusBarBackground(android.graphics.drawable.Drawable);
+    method public void setStatusBarBackgroundColor(int);
+    method public void setStatusBarBackgroundResource(int);
   }
 
   public static abstract class CoordinatorLayout.Behavior {
@@ -106,6 +117,7 @@
     method public static java.lang.Object getTag(android.view.View);
     method public boolean isDirty(android.support.design.widget.CoordinatorLayout, V);
     method public boolean layoutDependsOn(android.support.design.widget.CoordinatorLayout, V, android.view.View);
+    method public android.support.v4.view.WindowInsetsCompat onApplyWindowInsets(android.support.design.widget.CoordinatorLayout, V, android.support.v4.view.WindowInsetsCompat);
     method public boolean onDependentViewChanged(android.support.design.widget.CoordinatorLayout, V, android.view.View);
     method public boolean onInterceptTouchEvent(android.support.design.widget.CoordinatorLayout, V, android.view.MotionEvent);
     method public boolean onLayoutChild(android.support.design.widget.CoordinatorLayout, V, int);