Daniel
10/20/2020, 11:18 AMDaniel
10/20/2020, 11:19 AMtouchView.setOnTouchListener { view, event ->
Timber.i("Touch event %s", event)
when (event.action) {
MotionEvent.ACTION_MOVE -> {
last?.let { currentLast ->
val now = ScreenCoordinate.fromEvent(event)
val delta = now - currentLast
last = now
launch {
_events.emit(TouchEvent.Move(delta))
}
}
}
MotionEvent.ACTION_DOWN -> {
last = ScreenCoordinate.fromEvent(event)
// required for accessibility
view.performClick()
}
MotionEvent.ACTION_UP ->
last = null
}
// return value is whether the event was handled
true
}
The touch handler is attached in an activity onCreate