DO NOT MERGE Fix bug 3001751 and bug 3001584 - Gingerbread API review for over-scroll

Change-Id: If34c8ea4e15697420adad0bc404f3c278efd7c1b
diff --git a/api/current.xml b/api/current.xml
index 89a28e2..84ccd45 100644
--- a/api/current.xml
+++ b/api/current.xml
@@ -6895,7 +6895,7 @@
  visibility="public"
 >
 </field>
-<field name="overscrollFooter"
+<field name="overScrollFooter"
  type="int"
  transient="false"
  volatile="false"
@@ -6906,7 +6906,7 @@
  visibility="public"
 >
 </field>
-<field name="overscrollHeader"
+<field name="overScrollHeader"
  type="int"
  transient="false"
  volatile="false"
@@ -6917,7 +6917,7 @@
  visibility="public"
 >
 </field>
-<field name="overscrollMode"
+<field name="overScrollMode"
  type="int"
  transient="false"
  volatile="false"
@@ -186040,7 +186040,7 @@
  visibility="public"
 >
 </method>
-<method name="getOverscrollMode"
+<method name="getOverScrollMode"
  return="int"
  abstract="false"
  native="false"
@@ -187204,7 +187204,7 @@
 <parameter name="heightMeasureSpec" type="int">
 </parameter>
 </method>
-<method name="onOverscrolled"
+<method name="onOverScrolled"
  return="void"
  abstract="false"
  native="false"
@@ -187376,7 +187376,7 @@
 <parameter name="visibility" type="int">
 </parameter>
 </method>
-<method name="overscrollBy"
+<method name="overScrollBy"
  return="boolean"
  abstract="false"
  native="false"
@@ -187398,9 +187398,9 @@
 </parameter>
 <parameter name="scrollRangeY" type="int">
 </parameter>
-<parameter name="maxOverscrollX" type="int">
+<parameter name="maxOverScrollX" type="int">
 </parameter>
-<parameter name="maxOverscrollY" type="int">
+<parameter name="maxOverScrollY" type="int">
 </parameter>
 <parameter name="isTouchEvent" type="boolean">
 </parameter>
@@ -188244,7 +188244,7 @@
 <parameter name="l" type="android.view.View.OnTouchListener">
 </parameter>
 </method>
-<method name="setOverscrollMode"
+<method name="setOverScrollMode"
  return="void"
  abstract="false"
  native="false"
@@ -188254,7 +188254,7 @@
  deprecated="not deprecated"
  visibility="public"
 >
-<parameter name="overscrollMode" type="int">
+<parameter name="overScrollMode" type="int">
 </parameter>
 </method>
 <method name="setPadding"
@@ -188879,7 +188879,7 @@
  visibility="public"
 >
 </field>
-<field name="OVERSCROLL_ALWAYS"
+<field name="OVER_SCROLL_ALWAYS"
  type="int"
  transient="false"
  volatile="false"
@@ -188890,7 +188890,7 @@
  visibility="public"
 >
 </field>
-<field name="OVERSCROLL_IF_CONTENT_SCROLLS"
+<field name="OVER_SCROLL_IF_CONTENT_SCROLLS"
  type="int"
  transient="false"
  volatile="false"
@@ -188901,7 +188901,7 @@
  visibility="public"
 >
 </field>
-<field name="OVERSCROLL_NEVER"
+<field name="OVER_SCROLL_NEVER"
  type="int"
  transient="false"
  volatile="false"
@@ -216094,7 +216094,7 @@
  visibility="public"
 >
 </method>
-<method name="isOverscrolled"
+<method name="isOverScrolled"
  return="boolean"
  abstract="false"
  native="false"
@@ -216139,7 +216139,7 @@
 <parameter name="overY" type="int">
 </parameter>
 </method>
-<method name="springback"
+<method name="springBack"
  return="boolean"
  abstract="false"
  native="false"
diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java
index b794a6a..acda3e1 100644
--- a/core/java/android/view/View.java
+++ b/core/java/android/view/View.java
@@ -1551,38 +1551,38 @@
     private static final int AWAKEN_SCROLL_BARS_ON_ATTACH = 0x08000000;
 
     /**
-     * Always allow a user to overscroll this view, provided it is a
+     * Always allow a user to over-scroll this view, provided it is a
      * view that can scroll.
      *
-     * @see #getOverscrollMode()
-     * @see #setOverscrollMode(int)
+     * @see #getOverScrollMode()
+     * @see #setOverScrollMode(int)
      */
-    public static final int OVERSCROLL_ALWAYS = 0;
+    public static final int OVER_SCROLL_ALWAYS = 0;
 
     /**
-     * Allow a user to overscroll this view only if the content is large
+     * Allow a user to over-scroll this view only if the content is large
      * enough to meaningfully scroll, provided it is a view that can scroll.
      *
-     * @see #getOverscrollMode()
-     * @see #setOverscrollMode(int)
+     * @see #getOverScrollMode()
+     * @see #setOverScrollMode(int)
      */
-    public static final int OVERSCROLL_IF_CONTENT_SCROLLS = 1;
+    public static final int OVER_SCROLL_IF_CONTENT_SCROLLS = 1;
 
     /**
-     * Never allow a user to overscroll this view.
+     * Never allow a user to over-scroll this view.
      *
-     * @see #getOverscrollMode()
-     * @see #setOverscrollMode(int)
+     * @see #getOverScrollMode()
+     * @see #setOverScrollMode(int)
      */
-    public static final int OVERSCROLL_NEVER = 2;
+    public static final int OVER_SCROLL_NEVER = 2;
 
     /**
-     * Controls the overscroll mode for this view.
-     * See {@link #overscrollBy(int, int, int, int, int, int, int, int, boolean)},
-     * {@link #OVERSCROLL_ALWAYS}, {@link #OVERSCROLL_IF_CONTENT_SCROLLS},
-     * and {@link #OVERSCROLL_NEVER}.
+     * Controls the over-scroll mode for this view.
+     * See {@link #overScrollBy(int, int, int, int, int, int, int, int, boolean)},
+     * {@link #OVER_SCROLL_ALWAYS}, {@link #OVER_SCROLL_IF_CONTENT_SCROLLS},
+     * and {@link #OVER_SCROLL_NEVER}.
      */
-    private int mOverscrollMode;
+    private int mOverScrollMode;
 
     /**
      * The parent this view is attached to.
@@ -1876,7 +1876,7 @@
         // Used for debug only
         //++sInstanceCount;
         mTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop();
-        setOverscrollMode(OVERSCROLL_ALWAYS);
+        setOverScrollMode(OVER_SCROLL_IF_CONTENT_SCROLLS);
     }
 
     /**
@@ -1942,7 +1942,7 @@
 
         int scrollbarStyle = SCROLLBARS_INSIDE_OVERLAY;
 
-        int overscrollMode = mOverscrollMode;
+        int overScrollMode = mOverScrollMode;
         final int N = a.getIndexCount();
         for (int i = 0; i < N; i++) {
             int attr = a.getIndex(i);
@@ -2148,13 +2148,13 @@
                         });
                     }
                     break;
-                case R.styleable.View_overscrollMode:
-                    overscrollMode = a.getInt(attr, OVERSCROLL_ALWAYS);
+                case R.styleable.View_overScrollMode:
+                    overScrollMode = a.getInt(attr, OVER_SCROLL_IF_CONTENT_SCROLLS);
                     break;
             }
         }
 
-        setOverscrollMode(overscrollMode);
+        setOverScrollMode(overScrollMode);
 
         if (background != null) {
             setBackgroundDrawable(background);
@@ -8810,8 +8810,8 @@
     /**
      * Scroll the view with standard behavior for scrolling beyond the normal
      * content boundaries. Views that call this method should override
-     * {@link #onOverscrolled(int, int, boolean, boolean)} to respond to the
-     * results of an overscroll operation.
+     * {@link #onOverScrolled(int, int, boolean, boolean)} to respond to the
+     * results of an over-scroll operation.
      *
      * Views can use this method to handle any touch or fling-based scrolling.
      *
@@ -8821,44 +8821,44 @@
      * @param scrollY Current Y scroll value in pixels before applying deltaY
      * @param scrollRangeX Maximum content scroll range along the X axis
      * @param scrollRangeY Maximum content scroll range along the Y axis
-     * @param maxOverscrollX Number of pixels to overscroll by in either direction
+     * @param maxOverScrollX Number of pixels to overscroll by in either direction
      *          along the X axis.
-     * @param maxOverscrollY Number of pixels to overscroll by in either direction
+     * @param maxOverScrollY Number of pixels to overscroll by in either direction
      *          along the Y axis.
      * @param isTouchEvent true if this scroll operation is the result of a touch event.
-     * @return true if scrolling was clamped to an overscroll boundary along either
+     * @return true if scrolling was clamped to an over-scroll boundary along either
      *          axis, false otherwise.
      */
-    protected boolean overscrollBy(int deltaX, int deltaY,
+    protected boolean overScrollBy(int deltaX, int deltaY,
             int scrollX, int scrollY,
             int scrollRangeX, int scrollRangeY,
-            int maxOverscrollX, int maxOverscrollY,
+            int maxOverScrollX, int maxOverScrollY,
             boolean isTouchEvent) {
-        final int overscrollMode = mOverscrollMode;
+        final int overScrollMode = mOverScrollMode;
         final boolean canScrollHorizontal =
                 computeHorizontalScrollRange() > computeHorizontalScrollExtent();
         final boolean canScrollVertical =
                 computeVerticalScrollRange() > computeVerticalScrollExtent();
-        final boolean overscrollHorizontal = overscrollMode == OVERSCROLL_ALWAYS ||
-                (overscrollMode == OVERSCROLL_IF_CONTENT_SCROLLS && canScrollHorizontal);
-        final boolean overscrollVertical = overscrollMode == OVERSCROLL_ALWAYS ||
-                (overscrollMode == OVERSCROLL_IF_CONTENT_SCROLLS && canScrollVertical);
+        final boolean overScrollHorizontal = overScrollMode == OVER_SCROLL_ALWAYS ||
+                (overScrollMode == OVER_SCROLL_IF_CONTENT_SCROLLS && canScrollHorizontal);
+        final boolean overScrollVertical = overScrollMode == OVER_SCROLL_ALWAYS ||
+                (overScrollMode == OVER_SCROLL_IF_CONTENT_SCROLLS && canScrollVertical);
 
         int newScrollX = scrollX + deltaX;
-        if (!overscrollHorizontal) {
-            maxOverscrollX = 0;
+        if (!overScrollHorizontal) {
+            maxOverScrollX = 0;
         }
 
         int newScrollY = scrollY + deltaY;
-        if (!overscrollVertical) {
-            maxOverscrollY = 0;
+        if (!overScrollVertical) {
+            maxOverScrollY = 0;
         }
 
         // Clamp values if at the limits and record
-        final int left = -maxOverscrollX;
-        final int right = maxOverscrollX + scrollRangeX;
-        final int top = -maxOverscrollY;
-        final int bottom = maxOverscrollY + scrollRangeY;
+        final int left = -maxOverScrollX;
+        final int right = maxOverScrollX + scrollRangeX;
+        final int top = -maxOverScrollY;
+        final int bottom = maxOverScrollY + scrollRangeY;
 
         boolean clampedX = false;
         if (newScrollX > right) {
@@ -8878,55 +8878,55 @@
             clampedY = true;
         }
 
-        onOverscrolled(newScrollX, newScrollY, clampedX, clampedY);
+        onOverScrolled(newScrollX, newScrollY, clampedX, clampedY);
 
         return clampedX || clampedY;
     }
 
     /**
-     * Called by {@link #overscrollBy(int, int, int, int, int, int, int, int, boolean)} to
-     * respond to the results of an overscroll operation.
+     * Called by {@link #overScrollBy(int, int, int, int, int, int, int, int, boolean)} to
+     * respond to the results of an over-scroll operation.
      *
      * @param scrollX New X scroll value in pixels
      * @param scrollY New Y scroll value in pixels
-     * @param clampedX True if scrollX was clamped to an overscroll boundary
-     * @param clampedY True if scrollY was clamped to an overscroll boundary
+     * @param clampedX True if scrollX was clamped to an over-scroll boundary
+     * @param clampedY True if scrollY was clamped to an over-scroll boundary
      */
-    protected void onOverscrolled(int scrollX, int scrollY,
+    protected void onOverScrolled(int scrollX, int scrollY,
             boolean clampedX, boolean clampedY) {
         // Intentionally empty.
     }
 
     /**
-     * Returns the overscroll mode for this view. The result will be
-     * one of {@link #OVERSCROLL_ALWAYS} (default), {@link #OVERSCROLL_IF_CONTENT_SCROLLS}
-     * (allow overscrolling only if the view content is larger than the container),
-     * or {@link #OVERSCROLL_NEVER}.
+     * Returns the over-scroll mode for this view. The result will be
+     * one of {@link #OVER_SCROLL_ALWAYS} (default), {@link #OVER_SCROLL_IF_CONTENT_SCROLLS}
+     * (allow over-scrolling only if the view content is larger than the container),
+     * or {@link #OVER_SCROLL_NEVER}.
      *
-     * @return This view's overscroll mode.
+     * @return This view's over-scroll mode.
      */
-    public int getOverscrollMode() {
-        return mOverscrollMode;
+    public int getOverScrollMode() {
+        return mOverScrollMode;
     }
 
     /**
-     * Set the overscroll mode for this view. Valid overscroll modes are
-     * {@link #OVERSCROLL_ALWAYS} (default), {@link #OVERSCROLL_IF_CONTENT_SCROLLS}
-     * (allow overscrolling only if the view content is larger than the container),
-     * or {@link #OVERSCROLL_NEVER}.
+     * Set the over-scroll mode for this view. Valid over-scroll modes are
+     * {@link #OVER_SCROLL_ALWAYS} (default), {@link #OVER_SCROLL_IF_CONTENT_SCROLLS}
+     * (allow over-scrolling only if the view content is larger than the container),
+     * or {@link #OVER_SCROLL_NEVER}.
      *
-     * Setting the overscroll mode of a view will have an effect only if the
+     * Setting the over-scroll mode of a view will have an effect only if the
      * view is capable of scrolling.
      *
-     * @param overscrollMode The new overscroll mode for this view.
+     * @param overScrollMode The new over-scroll mode for this view.
      */
-    public void setOverscrollMode(int overscrollMode) {
-        if (overscrollMode != OVERSCROLL_ALWAYS &&
-                overscrollMode != OVERSCROLL_IF_CONTENT_SCROLLS &&
-                overscrollMode != OVERSCROLL_NEVER) {
-            throw new IllegalArgumentException("Invalid overscroll mode " + overscrollMode);
+    public void setOverScrollMode(int overScrollMode) {
+        if (overScrollMode != OVER_SCROLL_ALWAYS &&
+                overScrollMode != OVER_SCROLL_IF_CONTENT_SCROLLS &&
+                overScrollMode != OVER_SCROLL_NEVER) {
+            throw new IllegalArgumentException("Invalid overscroll mode " + overScrollMode);
         }
-        mOverscrollMode = overscrollMode;
+        mOverScrollMode = overScrollMode;
     }
 
     /**
diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java
index 24b1158c..6df5445 100644
--- a/core/java/android/webkit/WebView.java
+++ b/core/java/android/webkit/WebView.java
@@ -1043,9 +1043,9 @@
     }
 
     @Override
-    public void setOverscrollMode(int mode) {
-        super.setOverscrollMode(mode);
-        if (mode != OVERSCROLL_NEVER) {
+    public void setOverScrollMode(int mode) {
+        super.setOverScrollMode(mode);
+        if (mode != OVER_SCROLL_NEVER) {
             if (mEdgeGlowTop == null) {
                 final Resources res = getContext().getResources();
                 final Drawable edge = res.getDrawable(R.drawable.overscroll_edge);
@@ -2565,7 +2565,7 @@
     }
 
     @Override
-    protected void onOverscrolled(int scrollX, int scrollY, boolean clampedX,
+    protected void onOverScrolled(int scrollX, int scrollY, boolean clampedX,
             boolean clampedY) {
         mInOverScrollMode = false;
         int maxX = computeMaxScrollX();
@@ -2942,12 +2942,12 @@
             if (oldX != x || oldY != y) {
                 final int rangeX = computeMaxScrollX();
                 final int rangeY = computeMaxScrollY();
-                overscrollBy(x - oldX, y - oldY, oldX, oldY,
+                overScrollBy(x - oldX, y - oldY, oldX, oldY,
                         rangeX, rangeY,
                         mOverflingDistance, mOverflingDistance, false);
 
                 if (mEdgeGlowTop != null) {
-                    if (rangeY > 0 || getOverscrollMode() == OVERSCROLL_ALWAYS) {
+                    if (rangeY > 0 || getOverScrollMode() == OVER_SCROLL_ALWAYS) {
                         if (y < 0 && oldY >= 0) {
                             mEdgeGlowTop.onAbsorb((int) mScroller.getCurrVelocity());
                             if (!mEdgeGlowBottom.isFinished()) {
@@ -5457,7 +5457,7 @@
                             doFling();
                             break;
                         } else {
-                            if (mScroller.springback(mScrollX, mScrollY, 0,
+                            if (mScroller.springBack(mScrollX, mScrollY, 0,
                                     computeMaxScrollX(), 0,
                                     computeMaxScrollY())) {
                                 invalidate();
@@ -5481,7 +5481,7 @@
             }
             case MotionEvent.ACTION_CANCEL: {
                 if (mTouchMode == TOUCH_DRAG_MODE) {
-                    mScroller.springback(mScrollX, mScrollY, 0,
+                    mScroller.springBack(mScrollX, mScrollY, 0,
                             computeMaxScrollX(), 0, computeMaxScrollY());
                     invalidate();
                 }
@@ -5550,7 +5550,7 @@
             final int oldY = mScrollY;
             final int rangeX = computeMaxScrollX();
             final int rangeY = computeMaxScrollY();
-            overscrollBy(deltaX, deltaY, oldX, oldY,
+            overScrollBy(deltaX, deltaY, oldX, oldY,
                     rangeX, rangeY,
                     mOverscrollDistance, mOverscrollDistance, true);
 
@@ -5571,7 +5571,7 @@
                     }
                 }
 
-                if (rangeY > 0 || getOverscrollMode() == OVERSCROLL_ALWAYS) {
+                if (rangeY > 0 || getOverScrollMode() == OVER_SCROLL_ALWAYS) {
                     final int pulledToY = oldY + deltaY;
                     if (pulledToY < 0) {
                         mEdgeGlowTop.onPull((float) deltaY / getHeight());
@@ -5990,7 +5990,7 @@
         if ((maxX == 0 && vy == 0) || (maxY == 0 && vx == 0)) {
             WebViewCore.resumePriority();
             WebViewCore.resumeUpdatePicture(mWebViewCore);
-            if (mScroller.springback(mScrollX, mScrollY, 0, computeMaxScrollX(),
+            if (mScroller.springBack(mScrollX, mScrollY, 0, computeMaxScrollX(),
                     0, computeMaxScrollY())) {
                 invalidate();
             }
@@ -7096,7 +7096,7 @@
                             case MotionEvent.ACTION_CANCEL:
                                 if (mDeferTouchMode == TOUCH_DRAG_MODE) {
                                     // no fling in defer process
-                                    mScroller.springback(mScrollX, mScrollY, 0,
+                                    mScroller.springBack(mScrollX, mScrollY, 0,
                                             computeMaxScrollX(), 0,
                                             computeMaxScrollY());
                                     invalidate();
diff --git a/core/java/android/widget/AbsListView.java b/core/java/android/widget/AbsListView.java
index 4558854..ee57c6e 100644
--- a/core/java/android/widget/AbsListView.java
+++ b/core/java/android/widget/AbsListView.java
@@ -647,8 +647,8 @@
     }
 
     @Override
-    public void setOverscrollMode(int mode) {
-        if (mode != OVERSCROLL_NEVER) {
+    public void setOverScrollMode(int mode) {
+        if (mode != OVER_SCROLL_NEVER) {
             if (mEdgeGlowTop == null) {
                 final Resources res = getContext().getResources();
                 final Drawable edge = res.getDrawable(R.drawable.overscroll_edge);
@@ -660,7 +660,7 @@
             mEdgeGlowTop = null;
             mEdgeGlowBottom = null;
         }
-        super.setOverscrollMode(mode);
+        super.setOverScrollMode(mode);
     }
 
     /**
@@ -2232,16 +2232,16 @@
 
                             int overscroll = -incrementalDeltaY -
                                     (motionViewRealTop - motionViewPrevTop);
-                            overscrollBy(0, overscroll, 0, mScrollY, 0, 0,
+                            overScrollBy(0, overscroll, 0, mScrollY, 0, 0,
                                     0, mOverscrollDistance, true);
                             if (Math.abs(mOverscrollDistance) == Math.abs(mScrollY)) {
                                 // Don't allow overfling if we're at the edge.
                                 mVelocityTracker.clear();
                             }
 
-                            final int overscrollMode = getOverscrollMode();
-                            if (overscrollMode == OVERSCROLL_ALWAYS ||
-                                    (overscrollMode == OVERSCROLL_IF_CONTENT_SCROLLS &&
+                            final int overscrollMode = getOverScrollMode();
+                            if (overscrollMode == OVER_SCROLL_ALWAYS ||
+                                    (overscrollMode == OVER_SCROLL_IF_CONTENT_SCROLLS &&
                                             !contentFits())) {
                                 mDirection = 0; // Reset when entering overscroll.
                                 mTouchMode = TOUCH_MODE_OVERSCROLL;
@@ -2299,11 +2299,11 @@
                             mMotionPosition = motionPosition;
                         }
                     } else {
-                        overscrollBy(0, -incrementalDeltaY, 0, mScrollY, 0, 0,
+                        overScrollBy(0, -incrementalDeltaY, 0, mScrollY, 0, 0,
                                 0, mOverscrollDistance, true);
-                        final int overscrollMode = getOverscrollMode();
-                        if (overscrollMode == OVERSCROLL_ALWAYS ||
-                                (overscrollMode == OVERSCROLL_IF_CONTENT_SCROLLS &&
+                        final int overscrollMode = getOverScrollMode();
+                        if (overscrollMode == OVER_SCROLL_ALWAYS ||
+                                (overscrollMode == OVER_SCROLL_IF_CONTENT_SCROLLS &&
                                         !contentFits())) {
                             if (rawDeltaY > 0) {
                                 mEdgeGlowTop.onPull((float) -incrementalDeltaY / getHeight());
@@ -2542,7 +2542,7 @@
     }
 
     @Override
-    protected void onOverscrolled(int scrollX, int scrollY,
+    protected void onOverScrolled(int scrollX, int scrollY,
             boolean clampedX, boolean clampedY) {
         mScrollY = scrollY;
 
@@ -2767,7 +2767,7 @@
         }
 
         void startSpringback() {
-            if (mScroller.springback(0, mScrollY, 0, 0, 0, 0)) {
+            if (mScroller.springBack(0, mScrollY, 0, 0, 0, 0)) {
                 mTouchMode = TOUCH_MODE_OVERFLING;
                 invalidate();
                 post(this);
@@ -2787,9 +2787,9 @@
 
         void edgeReached(int delta) {
             mScroller.notifyVerticalEdgeReached(mScrollY, 0, mOverflingDistance);
-            final int overscrollMode = getOverscrollMode();
-            if (overscrollMode == OVERSCROLL_ALWAYS ||
-                    (overscrollMode == OVERSCROLL_IF_CONTENT_SCROLLS && !contentFits())) {
+            final int overscrollMode = getOverScrollMode();
+            if (overscrollMode == OVER_SCROLL_ALWAYS ||
+                    (overscrollMode == OVER_SCROLL_IF_CONTENT_SCROLLS && !contentFits())) {
                 mTouchMode = TOUCH_MODE_OVERFLING;
                 final int vel = (int) mScroller.getCurrVelocity();
                 if (delta > 0) {
@@ -2875,7 +2875,7 @@
                     if (motionView != null) {
                         // Tweak the scroll for how far we overshot
                         int overshoot = -(delta - (motionView.getTop() - oldTop));
-                        overscrollBy(0, overshoot, 0, mScrollY, 0, 0,
+                        overScrollBy(0, overshoot, 0, mScrollY, 0, 0,
                                 0, mOverflingDistance, false);
                     }
                     edgeReached(delta);
@@ -2904,7 +2904,7 @@
                 if (scroller.computeScrollOffset()) {
                     final int scrollY = mScrollY;
                     final int deltaY = scroller.getCurrY() - scrollY;
-                    if (overscrollBy(0, deltaY, 0, scrollY, 0, 0,
+                    if (overScrollBy(0, deltaY, 0, scrollY, 0, 0,
                             0, mOverflingDistance, false)) {
                         startSpringback();
                     } else {
diff --git a/core/java/android/widget/HorizontalScrollView.java b/core/java/android/widget/HorizontalScrollView.java
index cd10a59..6a52f75 100644
--- a/core/java/android/widget/HorizontalScrollView.java
+++ b/core/java/android/widget/HorizontalScrollView.java
@@ -468,7 +468,7 @@
                 /* Release the drag */
                 mIsBeingDragged = false;
                 mActivePointerId = INVALID_POINTER;
-                if (mScroller.springback(mScrollX, mScrollY, 0, getScrollRange(), 0, 0)) {
+                if (mScroller.springBack(mScrollX, mScrollY, 0, getScrollRange(), 0, 0)) {
                     invalidate();
                 }
                 break;
@@ -529,16 +529,16 @@
                     final int oldX = mScrollX;
                     final int oldY = mScrollY;
                     final int range = getScrollRange();
-                    if (overscrollBy(deltaX, 0, mScrollX, 0, range, 0,
+                    if (overScrollBy(deltaX, 0, mScrollX, 0, range, 0,
                             mOverscrollDistance, 0, true)) {
                         // Break our velocity if we hit a scroll barrier.
                         mVelocityTracker.clear();
                     }
                     onScrollChanged(mScrollX, mScrollY, oldX, oldY);
 
-                    final int overscrollMode = getOverscrollMode();
-                    if (overscrollMode == OVERSCROLL_ALWAYS ||
-                            (overscrollMode == OVERSCROLL_IF_CONTENT_SCROLLS && range > 0)) {
+                    final int overscrollMode = getOverScrollMode();
+                    if (overscrollMode == OVER_SCROLL_ALWAYS ||
+                            (overscrollMode == OVER_SCROLL_IF_CONTENT_SCROLLS && range > 0)) {
                         final int pulledToX = oldX + deltaX;
                         if (pulledToX < 0) {
                             mEdgeGlowLeft.onPull((float) deltaX / getWidth());
@@ -559,7 +559,7 @@
                             fling(-initialVelocity);
                         } else {
                             final int right = getScrollRange();
-                            if (mScroller.springback(mScrollX, mScrollY, 0, right, 0, 0)) {
+                            if (mScroller.springBack(mScrollX, mScrollY, 0, right, 0, 0)) {
                                 invalidate();
                             }
                         }
@@ -580,7 +580,7 @@
                 break;
             case MotionEvent.ACTION_CANCEL:
                 if (mIsBeingDragged && getChildCount() > 0) {
-                    if (mScroller.springback(mScrollX, mScrollY, 0, getScrollRange(), 0, 0)) {
+                    if (mScroller.springBack(mScrollX, mScrollY, 0, getScrollRange(), 0, 0)) {
                         invalidate();
                     }
                     mActivePointerId = INVALID_POINTER;
@@ -620,14 +620,14 @@
     }
     
     @Override
-    protected void onOverscrolled(int scrollX, int scrollY,
+    protected void onOverScrolled(int scrollX, int scrollY,
             boolean clampedX, boolean clampedY) {
         // Treat animating scrolls differently; see #computeScroll() for why.
         if (!mScroller.isFinished()) {
             mScrollX = scrollX;
             mScrollY = scrollY;
             if (clampedX) {
-                mScroller.springback(mScrollX, mScrollY, 0, getScrollRange(), 0, 0);
+                mScroller.springBack(mScrollX, mScrollY, 0, getScrollRange(), 0, 0);
             }
         } else {
             super.scrollTo(scrollX, scrollY);
@@ -1088,14 +1088,14 @@
             int y = mScroller.getCurrY();
 
             if (oldX != x || oldY != y) {
-                overscrollBy(x - oldX, y - oldY, oldX, oldY, getScrollRange(), 0,
+                overScrollBy(x - oldX, y - oldY, oldX, oldY, getScrollRange(), 0,
                         mOverflingDistance, 0, false);
                 onScrollChanged(mScrollX, mScrollY, oldX, oldY);
 
                 final int range = getScrollRange();
-                final int overscrollMode = getOverscrollMode();
-                if (overscrollMode == OVERSCROLL_ALWAYS ||
-                        (overscrollMode == OVERSCROLL_IF_CONTENT_SCROLLS && range > 0)) {
+                final int overscrollMode = getOverScrollMode();
+                if (overscrollMode == OVER_SCROLL_ALWAYS ||
+                        (overscrollMode == OVER_SCROLL_IF_CONTENT_SCROLLS && range > 0)) {
                     if (x < 0 && oldX >= 0) {
                         mEdgeGlowLeft.onAbsorb((int) mScroller.getCurrVelocity());
                     } else if (x > range && oldX <= range) {
@@ -1376,8 +1376,8 @@
     }
 
     @Override
-    public void setOverscrollMode(int mode) {
-        if (mode != OVERSCROLL_NEVER) {
+    public void setOverScrollMode(int mode) {
+        if (mode != OVER_SCROLL_NEVER) {
             if (mEdgeGlowLeft == null) {
                 final Resources res = getContext().getResources();
                 final Drawable edge = res.getDrawable(R.drawable.overscroll_edge);
@@ -1389,7 +1389,7 @@
             mEdgeGlowLeft = null;
             mEdgeGlowRight = null;
         }
-        super.setOverscrollMode(mode);
+        super.setOverScrollMode(mode);
     }
 
     @Override
diff --git a/core/java/android/widget/ListView.java b/core/java/android/widget/ListView.java
index 46cd45a..82b7c4f 100644
--- a/core/java/android/widget/ListView.java
+++ b/core/java/android/widget/ListView.java
@@ -121,8 +121,8 @@
     Drawable mDivider;
     int mDividerHeight;
     
-    Drawable mOverscrollHeader;
-    Drawable mOverscrollFooter;
+    Drawable mOverScrollHeader;
+    Drawable mOverScrollFooter;
 
     private boolean mIsCacheColorOpaque;
     private boolean mDividerIsOpaque;
@@ -178,12 +178,14 @@
             setDivider(d);
         }
         
-        final Drawable osHeader = a.getDrawable(com.android.internal.R.styleable.ListView_overscrollHeader);
+        final Drawable osHeader = a.getDrawable(
+                com.android.internal.R.styleable.ListView_overScrollHeader);
         if (osHeader != null) {
             setOverscrollHeader(osHeader);
         }
 
-        final Drawable osFooter = a.getDrawable(com.android.internal.R.styleable.ListView_overscrollFooter);
+        final Drawable osFooter = a.getDrawable(
+                com.android.internal.R.styleable.ListView_overScrollFooter);
         if (osFooter != null) {
             setOverscrollFooter(osFooter);
         }
@@ -2997,8 +2999,8 @@
     protected void dispatchDraw(Canvas canvas) {
         // Draw the dividers
         final int dividerHeight = mDividerHeight;
-        final Drawable overscrollHeader = mOverscrollHeader;
-        final Drawable overscrollFooter = mOverscrollFooter;
+        final Drawable overscrollHeader = mOverScrollHeader;
+        final Drawable overscrollFooter = mOverScrollFooter;
         final boolean drawOverscrollHeader = overscrollHeader != null;
         final boolean drawOverscrollFooter = overscrollFooter != null;
         final boolean drawDividers = dividerHeight > 0 && mDivider != null;
@@ -3243,7 +3245,7 @@
      * @param header The drawable to use
      */
     public void setOverscrollHeader(Drawable header) {
-        mOverscrollHeader = header;
+        mOverScrollHeader = header;
         if (mScrollY < 0) {
             invalidate();
         }
@@ -3253,7 +3255,7 @@
      * @return The drawable that will be drawn above all other list content
      */
     public Drawable getOverscrollHeader() {
-        return mOverscrollHeader;
+        return mOverScrollHeader;
     }
 
     /**
@@ -3264,7 +3266,7 @@
      * @param footer The drawable to use
      */
     public void setOverscrollFooter(Drawable footer) {
-        mOverscrollFooter = footer;
+        mOverScrollFooter = footer;
         invalidate();
     }
 
@@ -3272,7 +3274,7 @@
      * @return The drawable that will be drawn below all other list content
      */
     public Drawable getOverscrollFooter() {
-        return mOverscrollFooter;
+        return mOverScrollFooter;
     }
 
     @Override
diff --git a/core/java/android/widget/OverScroller.java b/core/java/android/widget/OverScroller.java
index 78973ad..f48eb89 100644
--- a/core/java/android/widget/OverScroller.java
+++ b/core/java/android/widget/OverScroller.java
@@ -338,7 +338,7 @@
      * @return true if a springback was initiated, false if startX and startY were
      *          already within the valid range.
      */
-    public boolean springback(int startX, int startY, int minX, int maxX, int minY, int maxY) {
+    public boolean springBack(int startX, int startY, int minX, int maxX, int minY, int maxY) {
         mMode = FLING_MODE;
 
         // Make sure both methods are called.
@@ -433,7 +433,7 @@
      * @return true when the current position is overscrolled and in the process of
      *         interpolating back to a valid value.
      */
-    public boolean isOverscrolled() {
+    public boolean isOverScrolled() {
         return ((!mScrollerX.mFinished &&
                 mScrollerX.mState != MagneticOverScroller.TO_EDGE) ||
                 (!mScrollerY.mFinished &&
diff --git a/core/java/android/widget/ScrollView.java b/core/java/android/widget/ScrollView.java
index 8472d9c..0337b5c 100644
--- a/core/java/android/widget/ScrollView.java
+++ b/core/java/android/widget/ScrollView.java
@@ -463,7 +463,7 @@
                 /* Release the drag */
                 mIsBeingDragged = false;
                 mActivePointerId = INVALID_POINTER;
-                if (mScroller.springback(mScrollX, mScrollY, 0, 0, 0, getScrollRange())) {
+                if (mScroller.springBack(mScrollX, mScrollY, 0, 0, 0, getScrollRange())) {
                     invalidate();
                 }
                 break;
@@ -524,16 +524,16 @@
                     final int oldX = mScrollX;
                     final int oldY = mScrollY;
                     final int range = getScrollRange();
-                    if (overscrollBy(0, deltaY, 0, mScrollY, 0, range,
+                    if (overScrollBy(0, deltaY, 0, mScrollY, 0, range,
                             0, mOverscrollDistance, true)) {
                         // Break our velocity if we hit a scroll barrier.
                         mVelocityTracker.clear();
                     }
                     onScrollChanged(mScrollX, mScrollY, oldX, oldY);
 
-                    final int overscrollMode = getOverscrollMode();
-                    if (overscrollMode == OVERSCROLL_ALWAYS ||
-                            (overscrollMode == OVERSCROLL_IF_CONTENT_SCROLLS && range > 0)) {
+                    final int overscrollMode = getOverScrollMode();
+                    if (overscrollMode == OVER_SCROLL_ALWAYS ||
+                            (overscrollMode == OVER_SCROLL_IF_CONTENT_SCROLLS && range > 0)) {
                         final int pulledToY = oldY + deltaY;
                         if (pulledToY < 0) {
                             mEdgeGlowTop.onPull((float) deltaY / getHeight());
@@ -554,7 +554,7 @@
                             fling(-initialVelocity);
                         } else {
                             final int bottom = getScrollRange();
-                            if (mScroller.springback(mScrollX, mScrollY, 0, 0, 0, bottom)) {
+                            if (mScroller.springBack(mScrollX, mScrollY, 0, 0, 0, bottom)) {
                                 invalidate();
                             }
                         }
@@ -575,7 +575,7 @@
                 break;
             case MotionEvent.ACTION_CANCEL:
                 if (mIsBeingDragged && getChildCount() > 0) {
-                    if (mScroller.springback(mScrollX, mScrollY, 0, 0, 0, getScrollRange())) {
+                    if (mScroller.springBack(mScrollX, mScrollY, 0, 0, 0, getScrollRange())) {
                         invalidate();
                     }
                     mActivePointerId = INVALID_POINTER;
@@ -615,14 +615,14 @@
     }
     
     @Override
-    protected void onOverscrolled(int scrollX, int scrollY,
+    protected void onOverScrolled(int scrollX, int scrollY,
             boolean clampedX, boolean clampedY) {
         // Treat animating scrolls differently; see #computeScroll() for why.
         if (!mScroller.isFinished()) {
             mScrollX = scrollX;
             mScrollY = scrollY;
             if (clampedY) {
-                mScroller.springback(mScrollX, mScrollY, 0, 0, 0, getScrollRange());
+                mScroller.springBack(mScrollX, mScrollY, 0, 0, 0, getScrollRange());
             }
         } else {
             super.scrollTo(scrollX, scrollY);
@@ -1087,14 +1087,14 @@
             int y = mScroller.getCurrY();
 
             if (oldX != x || oldY != y) {
-                overscrollBy(x - oldX, y - oldY, oldX, oldY, 0, getScrollRange(),
+                overScrollBy(x - oldX, y - oldY, oldX, oldY, 0, getScrollRange(),
                         0, mOverflingDistance, false);
                 onScrollChanged(mScrollX, mScrollY, oldX, oldY);
 
                 final int range = getScrollRange();
-                final int overscrollMode = getOverscrollMode();
-                if (overscrollMode == OVERSCROLL_ALWAYS ||
-                        (overscrollMode == OVERSCROLL_IF_CONTENT_SCROLLS && range > 0)) {
+                final int overscrollMode = getOverScrollMode();
+                if (overscrollMode == OVER_SCROLL_ALWAYS ||
+                        (overscrollMode == OVER_SCROLL_IF_CONTENT_SCROLLS && range > 0)) {
                     if (y < 0 && oldY >= 0) {
                         mEdgeGlowTop.onAbsorb((int) mScroller.getCurrVelocity());
                     } else if (y > range && oldY <= range) {
@@ -1376,8 +1376,8 @@
     }
 
     @Override
-    public void setOverscrollMode(int mode) {
-        if (mode != OVERSCROLL_NEVER) {
+    public void setOverScrollMode(int mode) {
+        if (mode != OVER_SCROLL_NEVER) {
             if (mEdgeGlowTop == null) {
                 final Resources res = getContext().getResources();
                 final Drawable edge = res.getDrawable(R.drawable.overscroll_edge);
@@ -1389,7 +1389,7 @@
             mEdgeGlowTop = null;
             mEdgeGlowBottom = null;
         }
-        super.setOverscrollMode(mode);
+        super.setOverScrollMode(mode);
     }
 
     @Override
diff --git a/core/res/res/layout/alert_dialog.xml b/core/res/res/layout/alert_dialog.xml
index 25a41f8..d461f40 100644
--- a/core/res/res/layout/alert_dialog.xml
+++ b/core/res/res/layout/alert_dialog.xml
@@ -81,7 +81,7 @@
             android:paddingBottom="12dip"
             android:paddingLeft="14dip"
             android:paddingRight="10dip"
-            android:overscrollMode="ifContentScrolls">
+            android:overScrollMode="ifContentScrolls">
             <TextView android:id="@+id/message"
                 style="?android:attr/textAppearanceMedium"
                 android:layout_width="match_parent"
diff --git a/core/res/res/layout/preference_dialog_edittext.xml b/core/res/res/layout/preference_dialog_edittext.xml
index b41e774..b2a4368 100644
--- a/core/res/res/layout/preference_dialog_edittext.xml
+++ b/core/res/res/layout/preference_dialog_edittext.xml
@@ -18,7 +18,7 @@
 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    android:overscrollMode="ifContentScrolls">
+    android:overScrollMode="ifContentScrolls">
 
     <LinearLayout
         android:id="@+android:id/edittext_container"
diff --git a/core/res/res/layout/select_dialog.xml b/core/res/res/layout/select_dialog.xml
index 6e4e5e1..a1a3e76 100644
--- a/core/res/res/layout/select_dialog.xml
+++ b/core/res/res/layout/select_dialog.xml
@@ -32,4 +32,4 @@
     android:cacheColorHint="@null"
     android:divider="@android:drawable/divider_horizontal_bright"
     android:scrollbars="vertical"
-    android:overscrollMode="ifContentScrolls" />
+    android:overScrollMode="ifContentScrolls" />
diff --git a/core/res/res/values/attrs.xml b/core/res/res/values/attrs.xml
index 6f0ce71..6370696 100755
--- a/core/res/res/values/attrs.xml
+++ b/core/res/res/values/attrs.xml
@@ -1351,16 +1351,17 @@
              (typically, your Activity). -->
         <attr name="onClick" format="string" />
 
-        <!-- Defines overscrolling behavior. This property is used only if the
-             View is scrollable. Overscrolling is the ability for the user to
-             scroll a View beyond its content boundaries into empty space. -->
-        <attr name="overscrollMode">
-            <!-- Always allow the user to overscroll the content. -->
+        <!-- Defines over-scrolling behavior. This property is used only if the
+             View is scrollable. Over-scrolling is the ability for the user to
+             receive feedback when attempting to scroll beyond meaningful content. -->
+        <attr name="overScrollMode">
+            <!-- Always show over-scroll effects, even if the content fits entirely
+                 within the available space. -->
             <enum name="always" value="0" />
-            <!-- Only allow the user to overscroll content if the content is large
+            <!-- Only show over-scroll effects if the content is large
                  enough to meaningfully scroll. -->
             <enum name="ifContentScrolls" value="1" />
-            <!-- Never overscroll. -->
+            <!-- Never show over-scroll effects. -->
             <enum name="never" value="2" />
         </attr>
     </declare-styleable>
@@ -1797,9 +1798,9 @@
              The default value is true. -->
         <attr name="footerDividersEnabled" format="boolean" />
         <!-- Drawable to draw above list content. -->
-        <attr name="overscrollHeader" format="reference|color" />
+        <attr name="overScrollHeader" format="reference|color" />
         <!-- Drawable to draw below list content. -->
-        <attr name="overscrollFooter" format="reference|color" />
+        <attr name="overScrollFooter" format="reference|color" />
     </declare-styleable>
     <declare-styleable name="MenuView">
         <!-- Default appearance of menu item text. -->
diff --git a/core/res/res/values/public.xml b/core/res/res/values/public.xml
index 10cb446..cc91fb7 100644
--- a/core/res/res/values/public.xml
+++ b/core/res/res/values/public.xml
@@ -1251,9 +1251,9 @@
   <public type="attr" name="logo" id="0x010102be" />
   <public type="attr" name="xlargeScreens" id="0x010102bf" />
   <public type="attr" name="immersive" id="0x010102c0" />
-  <public type="attr" name="overscrollMode" id="0x010102c1" />
-  <public type="attr" name="overscrollHeader" id="0x010102c2" />
-  <public type="attr" name="overscrollFooter" id="0x010102c3" />
+  <public type="attr" name="overScrollMode" id="0x010102c1" />
+  <public type="attr" name="overScrollHeader" id="0x010102c2" />
+  <public type="attr" name="overScrollFooter" id="0x010102c3" />
   <public type="attr" name="filterTouchesWhenObscured" id="0x010102c4" />
   <public type="attr" name="textSelectHandleLeft" id="0x010102c5" />
   <public type="attr" name="textSelectHandleRight" id="0x010102c6" />
diff --git a/packages/SystemUI/res/layout/status_bar_expanded.xml b/packages/SystemUI/res/layout/status_bar_expanded.xml
index c3f4205..c744e4b 100644
--- a/packages/SystemUI/res/layout/status_bar_expanded.xml
+++ b/packages/SystemUI/res/layout/status_bar_expanded.xml
@@ -71,7 +71,7 @@
             android:layout_width="match_parent"
             android:layout_height="match_parent"
             android:fadingEdge="none"
-            android:overscrollMode="ifContentScrolls"
+            android:overScrollMode="ifContentScrolls"
             >
             <com.android.systemui.statusbar.NotificationLinearLayout
                 android:id="@+id/notificationLinearLayout"