code: private GestureDetectorCompat getGestureDetectorCompat() {
      if (gestureDetector == null) {
        GestureDetector.OnGestureListener gestureListener = new SimpleOnGestureListener() {
  
          @Override public boolean onSingleTapUp(MotionEvent e) {
            boolean handled = false;
            int position = shape.getNoxItemHit(e.getX(), e.getY());
            if (position >= 0) {
              handled = true;
              NoxItem noxItem = noxItemCatalog.getNoxItem(position);
              listener.onNoxItemClicked(position, noxItem);
            }
            return handled;
          }
        };
        gestureDetector = new GestureDetectorCompat(getContext(), gestureListener);
      }
      return gestureDetector;
    }
docs: Returns a GestureDetectorCompat lazy instantiated created to handle single tap events and
  detect if a NoxItem has been clicked to notify the previously configured listener.