code: protected boolean onTap(float rawX, float rawY) {
          Log.d("CAPTURE-FRAGMENT", "got tap at: (" + rawX + ", " + rawY + ")");
          Barcode barcode = null;
  
          if (mMode == MVBarcodeScanner.ScanningMode.SINGLE_AUTO) {
              BarcodeGraphic graphic = mGraphicOverlay.getFirstGraphic();
  
              if (graphic != null) {
                  barcode = graphic.getBarcode();
                  if (barcode != null && mListener != null) {
                      mListener.onBarcodeScanned(barcode);
                  }
              }
          } else if (mMode == MVBarcodeScanner.ScanningMode.SINGLE_MANUAL) {
              Set<BarcodeGraphic> graphicSet = mGraphicOverlay.getAllGraphics();
              if (graphicSet != null && !graphicSet.isEmpty()) {
                  for (BarcodeGraphic graphic : graphicSet) {
                      if (graphic != null && graphic.isPointInsideBarcode(rawX, rawY)) {
                          Log.d("CAPTURE-FRAGMENT", "got tap inside barcode");
                          barcode = graphic.getBarcode();
                          break;
                      }
                  }
  
                  if (mListener != null && barcode != null) {
                      mListener.onBarcodeScanned(barcode);
                  }
              }
          } else {
              Set<BarcodeGraphic> graphicSet = mGraphicOverlay.getAllGraphics();
              if (graphicSet != null && !graphicSet.isEmpty()) {
                  List<Barcode> barcodes = new ArrayList<>();
  
                  for (BarcodeGraphic graphic : graphicSet) {
                      if (graphic != null && graphic.getBarcode() != null) {
                          barcode = graphic.getBarcode();
                          barcodes.add(barcode);
                      }
                  }
  
                  if (mListener != null && !barcodes.isEmpty()) {
                      mListener.onBarcodesScanned(barcodes);
                  }
              }
          }
  
          return barcode != null;
      }
docs: onTap is called to capture the oldest barcode currently detected and
  return it to the caller.
  
  @param rawX - the raw position of the tap
  @param rawY - the raw position of the tap.
  @return true if the activity is ending.