code: private boolean scrollToChildRect(Rect rect, boolean immediate) {
          final int delta = computeScrollDeltaToGetChildRectOnScreen(rect);
          final boolean scroll = delta != 0;
          if (scroll) {
              if (immediate) {
                  scrollBy(0, delta);
              } else {
                  smoothScrollBy(0, delta);
              }
          }
          return scroll;
      }
docs: If rect is off screen, scroll just enough to get it (or at least the
  first screen size chunk of it) on screen.
  
  @param rect      The rectangle.
  @param immediate True to scroll immediately without animation
  @return true if scrolling was performed