Introduced overscrolling for the panel expansion

Notifications now overscroll in a rubberbandy motion when expanding.

Bug: 14486987
Change-Id: I5ad47027adab10d6996e70f489e8c2550220e224
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java
index 2f2a5df..a92156d 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java
@@ -21,9 +21,7 @@
 import android.animation.ObjectAnimator;
 import android.animation.ValueAnimator;
 import android.content.Context;
-import android.graphics.Path;
 import android.util.AttributeSet;
-import android.util.Log;
 import android.view.MotionEvent;
 import android.view.VelocityTracker;
 import android.view.View;
@@ -32,7 +30,6 @@
 import android.view.accessibility.AccessibilityEvent;
 import android.view.animation.AnimationUtils;
 import android.view.animation.Interpolator;
-import android.view.animation.PathInterpolator;
 import android.widget.LinearLayout;
 
 import com.android.systemui.R;
@@ -646,6 +643,23 @@
     }
 
     @Override
+    protected void onOverExpansionChanged(float overExpansion) {
+        float currentOverScroll = mNotificationStackScroller.getCurrentOverScrolledPixels(true);
+        mNotificationStackScroller.setOverScrolledPixels(currentOverScroll + overExpansion
+                        - mOverExpansion, true /* onTop */, false /* animate */);
+        super.onOverExpansionChanged(overExpansion);
+    }
+
+    @Override
+    protected void onTrackingStopped() {
+        super.onTrackingStopped();
+        mOverExpansion = 0.0f;
+        mNotificationStackScroller.setOverScrolledPixels(0.0f, true /* onTop */,
+                true /* animate */);
+    }
+
+
+    @Override
     public void onHeightChanged(ExpandableView view) {
         requestPanelHeightUpdate();
     }