diff options
author | Adam Powell <adamp@google.com> | 2010-10-05 14:37:38 -0700 |
---|---|---|
committer | Adam Powell <adamp@google.com> | 2010-10-05 15:22:07 -0700 |
commit | 737e8fe2c7ce167bc68ad779160488007a5e0b1d (patch) | |
tree | ddd2b3fbb7fb11c627aad1883e3f8cee1756dc6d | |
parent | 930d6c3cd5ad387489eb1d35a38beeafe54166b6 (diff) | |
download | frameworks_base-737e8fe2c7ce167bc68ad779160488007a5e0b1d.zip frameworks_base-737e8fe2c7ce167bc68ad779160488007a5e0b1d.tar.gz frameworks_base-737e8fe2c7ce167bc68ad779160488007a5e0b1d.tar.bz2 |
DO NOT MERGE Fix bug 3001751 and bug 3001584 - Gingerbread API review for over-scroll
Change-Id: If34c8ea4e15697420adad0bc404f3c278efd7c1b
-rw-r--r-- | api/current.xml | 30 | ||||
-rw-r--r-- | core/java/android/view/View.java | 134 | ||||
-rw-r--r-- | core/java/android/webkit/WebView.java | 24 | ||||
-rw-r--r-- | core/java/android/widget/AbsListView.java | 36 | ||||
-rw-r--r-- | core/java/android/widget/HorizontalScrollView.java | 32 | ||||
-rw-r--r-- | core/java/android/widget/ListView.java | 22 | ||||
-rw-r--r-- | core/java/android/widget/OverScroller.java | 4 | ||||
-rw-r--r-- | core/java/android/widget/ScrollView.java | 32 | ||||
-rw-r--r-- | core/res/res/layout/alert_dialog.xml | 2 | ||||
-rw-r--r-- | core/res/res/layout/preference_dialog_edittext.xml | 2 | ||||
-rw-r--r-- | core/res/res/layout/select_dialog.xml | 2 | ||||
-rwxr-xr-x | core/res/res/values/attrs.xml | 19 | ||||
-rw-r--r-- | core/res/res/values/public.xml | 6 | ||||
-rw-r--r-- | packages/SystemUI/res/layout/status_bar_expanded.xml | 2 |
14 files changed, 175 insertions, 172 deletions
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 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility 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 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility // Used for debug only //++sInstanceCount; mTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop(); - setOverscrollMode(OVERSCROLL_ALWAYS); + setOverScrollMode(OVER_SCROLL_IF_CONTENT_SCROLLS); } /** @@ -1942,7 +1942,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility 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 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility }); } 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 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility /** * 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 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility * @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 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility 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 24b1158..6df5445 100644 --- a/core/java/android/webkit/WebView.java +++ b/core/java/android/webkit/WebView.java @@ -1043,9 +1043,9 @@ public class WebView extends AbsoluteLayout } @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 @@ public class WebView extends AbsoluteLayout } @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 @@ public class WebView extends AbsoluteLayout 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 @@ public class WebView extends AbsoluteLayout doFling(); break; } else { - if (mScroller.springback(mScrollX, mScrollY, 0, + if (mScroller.springBack(mScrollX, mScrollY, 0, computeMaxScrollX(), 0, computeMaxScrollY())) { invalidate(); @@ -5481,7 +5481,7 @@ public class WebView extends AbsoluteLayout } 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 @@ public class WebView extends AbsoluteLayout 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 @@ public class WebView extends AbsoluteLayout } } - 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 @@ public class WebView extends AbsoluteLayout 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 @@ public class WebView extends AbsoluteLayout 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 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te } @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 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te mEdgeGlowTop = null; mEdgeGlowBottom = null; } - super.setOverscrollMode(mode); + super.setOverScrollMode(mode); } /** @@ -2232,16 +2232,16 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te 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 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te 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 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te } @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 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te } 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 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te 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 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te 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 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te 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 @@ public class HorizontalScrollView extends FrameLayout { /* 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 @@ public class HorizontalScrollView extends FrameLayout { 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 @@ public class HorizontalScrollView extends FrameLayout { 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 @@ public class HorizontalScrollView extends FrameLayout { 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 @@ public class HorizontalScrollView extends FrameLayout { } @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 @@ public class HorizontalScrollView extends FrameLayout { 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 @@ public class HorizontalScrollView extends FrameLayout { } @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 @@ public class HorizontalScrollView extends FrameLayout { 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 @@ public class ListView extends AbsListView { Drawable mDivider; int mDividerHeight; - Drawable mOverscrollHeader; - Drawable mOverscrollFooter; + Drawable mOverScrollHeader; + Drawable mOverScrollFooter; private boolean mIsCacheColorOpaque; private boolean mDividerIsOpaque; @@ -178,12 +178,14 @@ public class ListView extends AbsListView { 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 @@ public class ListView extends AbsListView { 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 @@ public class ListView extends AbsListView { * @param header The drawable to use */ public void setOverscrollHeader(Drawable header) { - mOverscrollHeader = header; + mOverScrollHeader = header; if (mScrollY < 0) { invalidate(); } @@ -3253,7 +3255,7 @@ public class ListView extends AbsListView { * @return The drawable that will be drawn above all other list content */ public Drawable getOverscrollHeader() { - return mOverscrollHeader; + return mOverScrollHeader; } /** @@ -3264,7 +3266,7 @@ public class ListView extends AbsListView { * @param footer The drawable to use */ public void setOverscrollFooter(Drawable footer) { - mOverscrollFooter = footer; + mOverScrollFooter = footer; invalidate(); } @@ -3272,7 +3274,7 @@ public class ListView extends AbsListView { * @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 @@ public class OverScroller { * @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 @@ public class OverScroller { * @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 @@ public class ScrollView extends FrameLayout { /* 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 @@ public class ScrollView extends FrameLayout { 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 @@ public class ScrollView extends FrameLayout { 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 @@ public class ScrollView extends FrameLayout { 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 @@ public class ScrollView extends FrameLayout { } @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 @@ public class ScrollView extends FrameLayout { 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 @@ public class ScrollView extends FrameLayout { } @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 @@ public class ScrollView extends FrameLayout { 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" |