Notifies, when the scroll view has been scrolled.

@param scrolledToTop
True, if the scroll view is scrolled to the top, false otherwise
@param scrolledToBottom
True, if the scroll view is scrolled to the bottom, false otherwise
429649
private void notifyOnScrolled(final boolean scrolledToTop, final boolean scrolledToBottom) {
        for (ScrollListener listener : scrollListeners) {
            listener.onScrolled(scrolledToTop, scrolledToBottom);
        }
    }
903187
public int scrollToItem(int position) {
        Log.d(Log.SUBSYSTEM.LAYOUT, TAG, "scrollToItem position = %d", position);
        scrollToPosition(position);
        return mCurrentItemIndex;
    }
408186
public void setReplyTo(String replyTo) {
        if (replyTo == null) {
            _properties.remove(AMQP_PROP_REPLY_TO);
            return;
        }
        
        _properties.put(AMQP_PROP_REPLY_TO, replyTo);
    }
371481
@Override
    public boolean scrollToPosition(final int dataIndex,
                                    final LayoutScroller.OnScrollListener listener) {
        if (isScrolling()) {
            return false;
        }

        Log.d(Log.SUBSYSTEM.LAYOUT, TAG, "scrollToPosition, position = %d", dataIndex);

        boolean scrolled = false;
        if (dataIndex >= 0 && dataIndex < getScrollingItemsCount()) {
            onScrollImpl(dataIndex, listener);
            scrolled = true;
        } else {
            Log.w(Log.SUBSYSTEM.LAYOUT, TAG, "Scroll out of bounds pos = [%d] getDataCount() = [%d]",
                    dataIndex, getScrollingItemsCount());
        }
        return scrolled;
    }
220224
@Override
	public boolean onStartNestedScroll(View child, View target, int nestedScrollAxes) {
		return (nestedScrollAxes & ViewCompat.SCROLL_AXIS_VERTICAL) != 0;
	}
1089561
function(to) {
        var td = this.getTdEl(to);
        if(td) {
            this.clearScrollPositions();
            this.getBdContainerEl().scrollLeft = td.offsetLeft;
            this.getBdContainerEl().scrollTop = td.parentNode.offsetTop;
        }
        else {
            var tr = this.getTrEl(to);
            if(tr) {
                this.clearScrollPositions();
                this.getBdContainerEl().scrollTop = tr.offsetTop;
            }
        }
}
21411
private void updateToTop(Node toUpdate) {
    	while(toUpdate!=null){
    		for (Entry e: toUpdate.getEntries())
    			e.recalculateData();
    		if (toUpdate.getEntries()[0].getParentEntry()==null)
    			break;
    		toUpdate=toUpdate.getEntries()[0].getParentEntry().getNode();
    	}
	}
924342
protected void checkAutoscroll (MouseEvent exitEvent)
    {
        Component comp = exitEvent.getComponent();
        Point p = exitEvent.getPoint();
        try {
            Point scr = comp.getLocationOnScreen();
            p.translate(scr.x, scr.y);
        } catch (IllegalComponentStateException icse) {
            // the component is no longer on screen. Deal.
            return;
        }

        Component parent;
        DropTarget target;
        while (true) {
            target = _droppers.get(comp);
            if (target instanceof AutoscrollingDropTarget) {
                AutoscrollingDropTarget adt = (AutoscrollingDropTarget) target;
                JComponent jc = (JComponent) comp;

                Rectangle r = getRectOnScreen(jc);
                // make sure we're actually out of the autoscrolling component
                if (!r.contains(p)) {
                    // start autoscrolling.
                    _scrollComp = jc;
                    _scrollDim = adt.getAutoscrollBorders();
                    _scrollPoint = p;
                    _scrollTimer.start();
                    return;
                }
            }

            parent = comp.getParent();
            if (parent == null) {
                return;
            }
            comp = parent;
        }
    }
1191381
public boolean setMarginMirroringTopBottom(boolean marginMirroringTopBottom) {
        this.marginMirroringTopBottom = marginMirroringTopBottom;
        DocListener listener;
		for (Iterator iterator = listeners.iterator(); iterator.hasNext();) {
            listener = (DocListener) iterator.next();
            listener.setMarginMirroringTopBottom(marginMirroringTopBottom);
        }
        return true;
    }
1029417
function _scrollTo(scrollTo, targetElement, tooltipLayer) {
    if (!this._options.scrollToElement) return;

    if (scrollTo === 'tooltip') {
        var rect = tooltipLayer.getBoundingClientRect();
    } else {
        var rect = targetElement.element.getBoundingClientRect();
    }

    if (!_elementInViewport(targetElement.element)) {
        var winHeight = _getWinSize().height;
        var top = rect.bottom - (rect.bottom - rect.top);
        var bottom = rect.bottom - winHeight;

        // TODO (afshinm): do we need scroll padding now?
        // I have changed the scroll option and now it scrolls the window to
        // the center of the target element or tooltip.

        if (top < 0 || targetElement.element.clientHeight > winHeight) {
            window.scrollBy(
                0,
                rect.top - (winHeight / 2 - rect.height / 2) - this._options.scrollPadding
            ); // 30px padding from edge to look nice

            //Scroll down
        } else {
            window.scrollBy(
                0,
                rect.top - (winHeight / 2 - rect.height / 2) + this._options.scrollPadding
            ); // 30px padding from edge to look nice
        }
    }
}
641185
public void scrollToSide(int side, float scrollPosition) {
		if(config.commandLogging){
			Log.d(config.commandLoggingTag, "scrollToSide("+scrollPosition+")");
		}
		
		scrollToSide(side, scrollPosition, 20);
	}
665893
public void scrollUp() {
        logger.entering();
        WebElement webElement = this.findElement(By.className(SCROLLVIEW_CLASS));
        swipeUp(webElement);
        logger.exiting();
    }
1236901
private void onScrollingDown() {
        if (!hidden) {
            hidden = true;

            if (animatedView.getAnimation() == null) {
                ObjectAnimator animator = createAnimator(true);
                animator.start();
            }
        }
    }
570220
@Override
	protected void onCursorUpdated()
	{
		if (getParent() == null)
			return;

		startTimer = System.currentTimeMillis();

		Integer yOffset = null;
		if (text.length() == 0)
			yOffset = 0;
		else if (cursor.y < -offset().y())
			yOffset = -cursor.y + 2;
		else if (cursor.y + cursor.height > innerSize().height() - offset().y())
			yOffset = Math.min(innerSize().height() - cursor.y - cursor.height - 2, 0);
		if (yOffset != null)
			scrollbar.setOffset(yOffset);
	}
134445
public void scrollTo() {
        String action = "Scrolling screen to " + prettyOutput();
        String expected = prettyOutputStart() + " is now within the current viewport";
        try {
            // wait for element to be present
            if (isNotPresent(action, expected, CANT_SCROLL)) {
                return;
            }
            // perform the move action
            WebElement webElement = getWebElement();
            Actions builder = new Actions(driver);
            builder.moveToElement(webElement);
        } catch (Exception e) {
            cantScroll(e, action, expected);
            return;
        }
        isScrolledTo(action, expected);
    }
1308763
public final void notifyContentItemChanged(int position) {
        if (position < 0 || position >= contentItemCount) {
            throw new IndexOutOfBoundsException("The given position " + position
                    + " is not within the position bounds for content items [0 - " + (contentItemCount - 1) + "].");
        }
        notifyItemChanged(position + headerItemCount);
    }
1252359
@Override
    protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
        super.onLayout(changed, left, top, right, bottom);

        // See if the image needs redrawing
        refreshImage(false);
    }