docs: private View findFocusableViewInMyBounds(final boolean topFocus, final int top, final boolean leftFocus, final int left, View preferredFocusable) {
     /*
     * The fading edge's transparent side should be considered for focus
     * since it's mostly visible, so we divide the actual fading edge length
     * by 2.
     */
          final int verticalFadingEdgeLength = getVerticalFadingEdgeLength() / 2;
          final int topWithoutFadingEdge = top + verticalFadingEdgeLength;
          final int bottomWithoutFadingEdge = top + getHeight() - verticalFadingEdgeLength;
          final int horizontalFadingEdgeLength = getHorizontalFadingEdgeLength() / 2;
          final int leftWithoutFadingEdge = left + horizontalFadingEdgeLength;
          final int rightWithoutFadingEdge = left + getWidth() - horizontalFadingEdgeLength;
  
          if ((preferredFocusable != null)
                  && (preferredFocusable.getTop() < bottomWithoutFadingEdge)
                  && (preferredFocusable.getBottom() > topWithoutFadingEdge)
                  && (preferredFocusable.getLeft() < rightWithoutFadingEdge)
                  && (preferredFocusable.getRight() > leftWithoutFadingEdge)) {
              return preferredFocusable;
          }
          return findFocusableViewInBounds(topFocus, topWithoutFadingEdge, bottomWithoutFadingEdge, leftFocus, leftWithoutFadingEdge, rightWithoutFadingEdge);
      }