docs: public boolean fullScroll(int direction, boolean horizontal) {
          if (!horizontal) {
              boolean down = direction == View.FOCUS_DOWN;
              int height = getHeight();
              mTempRect.top = 0;
              mTempRect.bottom = height;
              if (down) {
                  int count = getChildCount();
                  if (count > 0) {
                      View view = getChildAt(count - 1);
                      mTempRect.bottom = view.getBottom();
                      mTempRect.top = mTempRect.bottom - height;
                  }
              }
              return scrollAndFocus(direction, mTempRect.top, mTempRect.bottom, 0, 0, 0);
          } else {
              boolean right = direction == View.FOCUS_DOWN;
              int width = getWidth();
              mTempRect.left = 0;
              mTempRect.right = width;
              if (right) {
                  int count = getChildCount();
                  if (count > 0) {
                      View view = getChildAt(count - 1);
                      mTempRect.right = view.getBottom();
                      mTempRect.left = mTempRect.right - width;
                  }
              }
              return scrollAndFocus(0, 0, 0, direction, mTempRect.top, mTempRect.bottom);
          }
      }