public boolean onTouchEvent()

in stetho/src/main/java/com/facebook/stetho/inspector/elements/android/AndroidDocumentProvider.java [339:393]


      public boolean onTouchEvent(MotionEvent event) {
        int x = (int) event.getX();
        int y = (int) event.getY();
        Object elementToHighlight = getParent();
        while (true) {
          final HighlightableDescriptor descriptor =
              getHighlightableDescriptor(elementToHighlight);

          if (descriptor == null) {
            break;
          }

          mHitRect.setEmpty();
          final Object element =
              descriptor.getElementToHighlightAtPosition(elementToHighlight, x, y, mHitRect);

          x -= mHitRect.left;
          y -= mHitRect.top;

          if (element == elementToHighlight) {
            break;
          }

          elementToHighlight = element;
        }

        if (elementToHighlight != null) {
          final HighlightableDescriptor descriptor =
              getHighlightableDescriptor(elementToHighlight);

          if (descriptor != null) {
            final View viewToHighlight =
                descriptor.getViewAndBoundsForHighlighting(
                    elementToHighlight,
                    mHighlightingBoundsRect);

            if (event.getAction() != MotionEvent.ACTION_CANCEL) {
              if (viewToHighlight != null) {
                mHighlighter.setHighlightedView(
                    viewToHighlight,
                    mHighlightingBoundsRect,
                    INSPECT_HOVER_COLOR);

                if (event.getAction() == MotionEvent.ACTION_UP) {
                  if (mListener != null) {
                    mListener.onInspectRequested(elementToHighlight);
                  }
                }
              }
            }
          }
        }

        return true;
      }