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

Commit 31e78e07 authored by Romain Guy's avatar Romain Guy Committed by Android (Google) Code Review
Browse files

Merge "Report scroll events from ScrollView and HorizontalScrollView. Bug #2342763"

parents 0e0b0c9e 8e618e54
Loading
Loading
Loading
Loading
+5 −6
Original line number Diff line number Diff line
@@ -318,11 +318,7 @@ public class HorizontalScrollView extends FrameLayout {
    @Override
    public boolean dispatchKeyEvent(KeyEvent event) {
        // Let the focused view and/or our descendants get the key first
        boolean handled = super.dispatchKeyEvent(event);
        if (handled) {
            return true;
        }
        return executeKeyEvent(event);
        return super.dispatchKeyEvent(event) || executeKeyEvent(event);
    }

    /**
@@ -509,8 +505,11 @@ public class HorizontalScrollView extends FrameLayout {
                    final int deltaX = (int) (mLastMotionX - x);
                    mLastMotionX = x;

                    final int oldX = mScrollX;
                    final int oldY = mScrollY;                    
                    overscrollBy(deltaX, 0, mScrollX, 0, getScrollRange(), 0,
                            getOverscrollMax(), 0);
                    onScrollChanged(mScrollX, mScrollY, oldX, oldY);
                }
                break;
            case MotionEvent.ACTION_UP:
@@ -524,7 +523,7 @@ public class HorizontalScrollView extends FrameLayout {
                            fling(-initialVelocity);
                        } else {
                            final int right = getScrollRange();
                            if (mScroller.springback(mScrollX, mScrollY, 0, 0, right, 0)) {
                            if (mScroller.springback(mScrollX, mScrollY, 0, right, 0, 0)) {
                                invalidate();
                            }
                        }
+4 −8
Original line number Diff line number Diff line
@@ -22,7 +22,6 @@ import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Rect;
import android.util.AttributeSet;
import android.util.Log;
import android.view.FocusFinder;
import android.view.KeyEvent;
import android.view.MotionEvent;
@@ -52,8 +51,6 @@ import java.util.List;
 * <p>ScrollView only supports vertical scrolling.
 */
public class ScrollView extends FrameLayout {
    private static final String TAG = "ScrollView";

    static final int ANIMATED_SCROLL_GAP = 250;

    static final float MAX_SCROLL_FACTOR = 0.5f;
@@ -318,11 +315,7 @@ public class ScrollView extends FrameLayout {
    @Override
    public boolean dispatchKeyEvent(KeyEvent event) {
        // Let the focused view and/or our descendants get the key first
        boolean handled = super.dispatchKeyEvent(event);
        if (handled) {
            return true;
        }
        return executeKeyEvent(event);
        return super.dispatchKeyEvent(event) || executeKeyEvent(event);
    }

    /**
@@ -510,8 +503,11 @@ public class ScrollView extends FrameLayout {
                    final int deltaY = (int) (mLastMotionY - y);
                    mLastMotionY = y;

                    final int oldX = mScrollX;
                    final int oldY = mScrollY;
                    overscrollBy(0, deltaY, 0, mScrollY, 0, getScrollRange(),
                            0, getOverscrollMax());
                    onScrollChanged(mScrollX, mScrollY, oldX, oldY);
                }
                break;
            case MotionEvent.ACTION_UP: 
+6 −3
Original line number Diff line number Diff line
@@ -1376,15 +1376,18 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
                dr.mDrawableLeft.setCallback(null);
            }
            dr.mDrawableLeft = left;
            if (dr.mDrawableTop != left && dr.mDrawableTop != null) {

            if (dr.mDrawableTop != top && dr.mDrawableTop != null) {
                dr.mDrawableTop.setCallback(null);
            }
            dr.mDrawableTop = top;
            if (dr.mDrawableRight != left && dr.mDrawableRight != null) {

            if (dr.mDrawableRight != right && dr.mDrawableRight != null) {
                dr.mDrawableRight.setCallback(null);
            }
            dr.mDrawableRight = right;
            if (dr.mDrawableBottom != left && dr.mDrawableBottom != null) {

            if (dr.mDrawableBottom != bottom && dr.mDrawableBottom != null) {
                dr.mDrawableBottom.setCallback(null);
            }
            dr.mDrawableBottom = bottom;