Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 370fe2a9 authored by Adam Powell's avatar Adam Powell Committed by Android Git Automerger
Browse files

am 9d32d24d: Remove overscrolling

Merge commit '9d32d24d' into froyo-plus-aosp

* commit '9d32d24d':
  Remove overscrolling
parents 1ec71365 9d32d24d
Loading
Loading
Loading
Loading
+4 −539
Original line number Diff line number Diff line
@@ -5960,39 +5960,6 @@
 visibility="public"
>
</field>
<field name="overscrollFooter"
 type="int"
 transient="false"
 volatile="false"
 value="16843456"
 static="true"
 final="true"
 deprecated="not deprecated"
 visibility="public"
>
</field>
<field name="overscrollHeader"
 type="int"
 transient="false"
 volatile="false"
 value="16843455"
 static="true"
 final="true"
 deprecated="not deprecated"
 visibility="public"
>
</field>
<field name="overscrollMode"
 type="int"
 transient="false"
 volatile="false"
 value="16843450"
 static="true"
 final="true"
 deprecated="not deprecated"
 visibility="public"
>
</field>
<field name="padding"
 type="int"
 transient="false"
@@ -6800,7 +6767,7 @@
 type="int"
 transient="false"
 volatile="false"
 value="16843451"
 value="16843450"
 static="true"
 final="true"
 deprecated="not deprecated"
@@ -7911,7 +7878,7 @@
 type="int"
 transient="false"
 volatile="false"
 value="16843454"
 value="16843453"
 static="true"
 final="true"
 deprecated="not deprecated"
@@ -7922,7 +7889,7 @@
 type="int"
 transient="false"
 volatile="false"
 value="16843452"
 value="16843451"
 static="true"
 final="true"
 deprecated="not deprecated"
@@ -7933,7 +7900,7 @@
 type="int"
 transient="false"
 volatile="false"
 value="16843453"
 value="16843452"
 static="true"
 final="true"
 deprecated="not deprecated"
@@ -175488,17 +175455,6 @@
 visibility="public"
>
</method>
<method name="getOverscrollMode"
 return="int"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
</method>
<method name="getPaddingBottom"
 return="int"
 abstract="false"
@@ -176639,25 +176595,6 @@
<parameter name="heightMeasureSpec" type="int">
</parameter>
</method>
<method name="onOverscrolled"
 return="void"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="protected"
>
<parameter name="scrollX" type="int">
</parameter>
<parameter name="scrollY" type="int">
</parameter>
<parameter name="clampedX" type="boolean">
</parameter>
<parameter name="clampedY" type="boolean">
</parameter>
</method>
<method name="onRestoreInstanceState"
 return="void"
 abstract="false"
@@ -176811,35 +176748,6 @@
<parameter name="visibility" type="int">
</parameter>
</method>
<method name="overscrollBy"
 return="boolean"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="protected"
>
<parameter name="deltaX" type="int">
</parameter>
<parameter name="deltaY" type="int">
</parameter>
<parameter name="scrollX" type="int">
</parameter>
<parameter name="scrollY" type="int">
</parameter>
<parameter name="scrollRangeX" type="int">
</parameter>
<parameter name="scrollRangeY" type="int">
</parameter>
<parameter name="maxOverscrollX" type="int">
</parameter>
<parameter name="maxOverscrollY" type="int">
</parameter>
<parameter name="isTouchEvent" type="boolean">
</parameter>
</method>
<method name="performClick"
 return="boolean"
 abstract="false"
@@ -177666,19 +177574,6 @@
<parameter name="l" type="android.view.View.OnTouchListener">
</parameter>
</method>
<method name="setOverscrollMode"
 return="void"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
<parameter name="overscrollMode" type="int">
</parameter>
</method>
<method name="setPadding"
 return="void"
 abstract="false"
@@ -178301,39 +178196,6 @@
 visibility="public"
>
</field>
<field name="OVERSCROLL_ALWAYS"
 type="int"
 transient="false"
 volatile="false"
 value="0"
 static="true"
 final="true"
 deprecated="not deprecated"
 visibility="public"
>
</field>
<field name="OVERSCROLL_IF_CONTENT_SCROLLS"
 type="int"
 transient="false"
 volatile="false"
 value="1"
 static="true"
 final="true"
 deprecated="not deprecated"
 visibility="public"
>
</field>
<field name="OVERSCROLL_NEVER"
 type="int"
 transient="false"
 volatile="false"
 value="2"
 static="true"
 final="true"
 deprecated="not deprecated"
 visibility="public"
>
</field>
<field name="PRESSED_ENABLED_FOCUSED_SELECTED_STATE_SET"
 type="int[]"
 transient="false"
@@ -193178,17 +193040,6 @@
 visibility="public"
>
</method>
<method name="getUseWebViewBackgroundForOverscrollBackground"
 return="boolean"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
</method>
<method name="getUseWideViewPort"
 return="boolean"
 abstract="false"
@@ -193781,19 +193632,6 @@
<parameter name="use" type="boolean">
</parameter>
</method>
<method name="setUseWebViewBackgroundForOverscrollBackground"
 return="void"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
<parameter name="view" type="boolean">
</parameter>
</method>
<method name="setUseWideViewPort"
 return="void"
 abstract="false"
@@ -204404,28 +204242,6 @@
 visibility="public"
>
</method>
<method name="getOverscrollFooter"
 return="android.graphics.drawable.Drawable"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
</method>
<method name="getOverscrollHeader"
 return="android.graphics.drawable.Drawable"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
</method>
<method name="isItemChecked"
 return="boolean"
 abstract="false"
@@ -204571,32 +204387,6 @@
<parameter name="itemsCanFocus" type="boolean">
</parameter>
</method>
<method name="setOverscrollFooter"
 return="void"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
<parameter name="footer" type="android.graphics.drawable.Drawable">
</parameter>
</method>
<method name="setOverscrollHeader"
 return="void"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
<parameter name="header" type="android.graphics.drawable.Drawable">
</parameter>
</method>
<method name="setSelection"
 return="void"
 abstract="false"
@@ -205168,331 +204958,6 @@
</parameter>
</method>
</interface>
<class name="OverScroller"
 extends="java.lang.Object"
 abstract="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
<constructor name="OverScroller"
 type="android.widget.OverScroller"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
<parameter name="context" type="android.content.Context">
</parameter>
</constructor>
<constructor name="OverScroller"
 type="android.widget.OverScroller"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
<parameter name="context" type="android.content.Context">
</parameter>
<parameter name="interpolator" type="android.view.animation.Interpolator">
</parameter>
</constructor>
<constructor name="OverScroller"
 type="android.widget.OverScroller"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
<parameter name="context" type="android.content.Context">
</parameter>
<parameter name="interpolator" type="android.view.animation.Interpolator">
</parameter>
<parameter name="bounceCoefficientX" type="float">
</parameter>
<parameter name="bounceCoefficientY" type="float">
</parameter>
</constructor>
<method name="abortAnimation"
 return="void"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
</method>
<method name="computeScrollOffset"
 return="boolean"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
</method>
<method name="fling"
 return="void"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
<parameter name="startX" type="int">
</parameter>
<parameter name="startY" type="int">
</parameter>
<parameter name="velocityX" type="int">
</parameter>
<parameter name="velocityY" type="int">
</parameter>
<parameter name="minX" type="int">
</parameter>
<parameter name="maxX" type="int">
</parameter>
<parameter name="minY" type="int">
</parameter>
<parameter name="maxY" type="int">
</parameter>
</method>
<method name="fling"
 return="void"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
<parameter name="startX" type="int">
</parameter>
<parameter name="startY" type="int">
</parameter>
<parameter name="velocityX" type="int">
</parameter>
<parameter name="velocityY" type="int">
</parameter>
<parameter name="minX" type="int">
</parameter>
<parameter name="maxX" type="int">
</parameter>
<parameter name="minY" type="int">
</parameter>
<parameter name="maxY" type="int">
</parameter>
<parameter name="overX" type="int">
</parameter>
<parameter name="overY" type="int">
</parameter>
</method>
<method name="forceFinished"
 return="void"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="true"
 deprecated="not deprecated"
 visibility="public"
>
<parameter name="finished" type="boolean">
</parameter>
</method>
<method name="getCurrX"
 return="int"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="true"
 deprecated="not deprecated"
 visibility="public"
>
</method>
<method name="getCurrY"
 return="int"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="true"
 deprecated="not deprecated"
 visibility="public"
>
</method>
<method name="getFinalX"
 return="int"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="true"
 deprecated="not deprecated"
 visibility="public"
>
</method>
<method name="getFinalY"
 return="int"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="true"
 deprecated="not deprecated"
 visibility="public"
>
</method>
<method name="getStartX"
 return="int"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="true"
 deprecated="not deprecated"
 visibility="public"
>
</method>
<method name="getStartY"
 return="int"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="true"
 deprecated="not deprecated"
 visibility="public"
>
</method>
<method name="isFinished"
 return="boolean"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="true"
 deprecated="not deprecated"
 visibility="public"
>
</method>
<method name="isOverscrolled"
 return="boolean"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
</method>
<method name="notifyHorizontalEdgeReached"
 return="void"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
<parameter name="startX" type="int">
</parameter>
<parameter name="finalX" type="int">
</parameter>
<parameter name="overX" type="int">
</parameter>
</method>
<method name="notifyVerticalEdgeReached"
 return="void"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
<parameter name="startY" type="int">
</parameter>
<parameter name="finalY" type="int">
</parameter>
<parameter name="overY" type="int">
</parameter>
</method>
<method name="springback"
 return="boolean"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
<parameter name="startX" type="int">
</parameter>
<parameter name="startY" type="int">
</parameter>
<parameter name="minX" type="int">
</parameter>
<parameter name="maxX" type="int">
</parameter>
<parameter name="minY" type="int">
</parameter>
<parameter name="maxY" type="int">
</parameter>
</method>
<method name="startScroll"
 return="void"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
<parameter name="startX" type="int">
</parameter>
<parameter name="startY" type="int">
</parameter>
<parameter name="dx" type="int">
</parameter>
<parameter name="dy" type="int">
</parameter>
</method>
<method name="startScroll"
 return="void"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
<parameter name="startX" type="int">
</parameter>
<parameter name="startY" type="int">
</parameter>
<parameter name="dx" type="int">
</parameter>
<parameter name="dy" type="int">
</parameter>
<parameter name="duration" type="int">
</parameter>
</method>
</class>
<class name="PopupWindow"
 extends="java.lang.Object"
 abstract="false"
+0 −192
Original line number Diff line number Diff line
@@ -1513,40 +1513,6 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility
     */
    static final int CANCEL_NEXT_UP_EVENT = 0x04000000;

    /**
     * Always allow a user to overscroll this view, provided it is a
     * view that can scroll.
     * 
     * @see #getOverscrollMode()
     * @see #setOverscrollMode(int)
     */
    public static final int OVERSCROLL_ALWAYS = 0;
    
    /**
     * Allow a user to overscroll 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)
     */
    public static final int OVERSCROLL_IF_CONTENT_SCROLLS = 1;
    
    /**
     * Never allow a user to overscroll this view.
     * 
     * @see #getOverscrollMode()
     * @see #setOverscrollMode(int)
     */
    public static final int OVERSCROLL_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}.
     */
    private int mOverscrollMode = OVERSCROLL_ALWAYS;

    /**
     * The parent this view is attached to.
     * {@hide}
@@ -2103,9 +2069,6 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility
                        });
                    }
                    break;
                case R.styleable.View_overscrollMode:
                    mOverscrollMode = a.getInt(attr, OVERSCROLL_ALWAYS);
                    break;
            }
        }

@@ -8668,161 +8631,6 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility
        return factory.inflate(resource, root);
    }

    /**
     * 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.
     * 
     * Views can use this method to handle any touch or fling-based scrolling.
     * 
     * @param deltaX Change in X in pixels 
     * @param deltaY Change in Y in pixels
     * @param scrollX Current X scroll value in pixels before applying deltaX
     * @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
     *          along the X axis.
     * @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
     *          axis, false otherwise.
     */
    protected boolean overscrollBy(int deltaX, int deltaY,
            int scrollX, int scrollY,
            int scrollRangeX, int scrollRangeY,
            int maxOverscrollX, int maxOverscrollY,
            boolean isTouchEvent) {
        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);
        
        int newScrollX = scrollX + deltaX;
        if (overscrollHorizontal) {
            // Scale the scroll amount if we're in the dropoff zone
            final int dropoffX = maxOverscrollX / 2;
            final int dropoffLeft = -dropoffX;
            final int dropoffRight = dropoffX + scrollRangeX;
            if ((scrollX < dropoffLeft && deltaX < 0) ||
                    (scrollX > dropoffRight && deltaX > 0)) {
                newScrollX = scrollX + deltaX / 2;
            } else {
                if (newScrollX > dropoffRight && deltaX > 0) {
                    int extra = newScrollX - dropoffRight;
                    newScrollX = dropoffRight + extra / 2;
                } else if (newScrollX < dropoffLeft && deltaX < 0) {
                    int extra = newScrollX - dropoffLeft;
                    newScrollX = dropoffLeft + extra / 2;
                }
            }
        } else {
            maxOverscrollX = 0;
        }

        int newScrollY = scrollY + deltaY;
        if (overscrollVertical) {
            final int dropoffY = maxOverscrollY / 2;
            final int dropoffTop = -dropoffY;
            final int dropoffBottom = dropoffY + scrollRangeY;
            if ((scrollY < dropoffTop && deltaY < 0) ||
                    (scrollY > dropoffBottom && deltaY > 0)) {
                newScrollY = scrollY + deltaY / 2;
            } else {
                if (newScrollY > dropoffBottom && deltaY > 0) {
                    int extra = newScrollY - dropoffBottom;
                    newScrollY = dropoffBottom + extra / 2;
                } else if (newScrollY < dropoffTop && deltaY < 0) {
                    int extra = newScrollY - dropoffTop;
                    newScrollY = dropoffTop + extra / 2;
                }
            }
        } else {
            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;

        boolean clampedX = false;
        if (newScrollX > right) {
            newScrollX = right;
            clampedX = true;
        } else if (newScrollX < left) {
            newScrollX = left;
            clampedX = true;
        }
        
        boolean clampedY = false;
        if (newScrollY > bottom) {
            newScrollY = bottom;
            clampedY = true;
        } else if (newScrollY < top) {
            newScrollY = top;
            clampedY = true;
        }

        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.
     * 
     * @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
     */
    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}.
     * 
     * @return This view's overscroll mode.
     */
    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}.
     * 
     * Setting the overscroll 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.
     */
    public void setOverscrollMode(int overscrollMode) {
        if (overscrollMode != OVERSCROLL_ALWAYS &&
                overscrollMode != OVERSCROLL_IF_CONTENT_SCROLLS &&
                overscrollMode != OVERSCROLL_NEVER) {
            throw new IllegalArgumentException("Invalid overscroll mode " + overscrollMode);
        }
        mOverscrollMode = overscrollMode;
    }

    /**
     * A MeasureSpec encapsulates the layout requirements passed from parent to child.
     * Each MeasureSpec represents a requirement for either the width or the height.
+0 −18
Original line number Diff line number Diff line
@@ -207,7 +207,6 @@ public class WebSettings {
    private boolean         mBuiltInZoomControls = false;
    private boolean         mAllowFileAccess = true;
    private boolean         mLoadWithOverviewMode = false;
    private boolean         mUseWebViewBackgroundOverscrollBackground = true;

    // private WebSettings, not accessible by the host activity
    static private int      mDoubleTapToastCount = 3;
@@ -485,23 +484,6 @@ public class WebSettings {
        return mLoadWithOverviewMode;
    }

    /**
     * Set whether the WebView uses its background for over scroll background.
     * If true, it will use the WebView's background. If false, it will use an
     * internal pattern. Default is true.
     */
    public void setUseWebViewBackgroundForOverscrollBackground(boolean view) {
        mUseWebViewBackgroundOverscrollBackground = view;
    }

    /**
     * Returns true if this WebView uses WebView's background instead of
     * internal pattern for over scroll background.
     */
    public boolean getUseWebViewBackgroundForOverscrollBackground() {
        return mUseWebViewBackgroundOverscrollBackground;
    }

    /**
     * Store whether the WebView is saving form data.
     */
+49 −153

File changed.

Preview size limit exceeded, changes collapsed.

+60 −283

File changed.

Preview size limit exceeded, changes collapsed.

Loading