override fun onTouchEvent()

in product-search/codelab1/android/starter/app/src/main/java/com/google/codelabs/productimagesearch/ImageClickableView.kt [110:130]


    override fun onTouchEvent(event: MotionEvent): Boolean {
        when (event.action) {
            MotionEvent.ACTION_DOWN -> {
                val touchX = event.x
                val touchY = event.y
                val index =
                    transformedResults.indexOfFirst {
                        val dx = (touchX - it.dotCenter.x).toDouble().pow(2.0)
                        val dy = (touchY - it.dotCenter.y).toDouble().pow(2.0)
                        (dx + dy) < CLICKABLE_RADIUS.toDouble().pow(2.0)
                    }
                // If a matching object found, call the objectClickListener
                if (index != -1) {
                    cropBitMapBasedResult(transformedResults[index])?.let {
                        onObjectClickListener?.invoke(it)
                    }
                }
            }
        }
        return super.onTouchEvent(event)
    }