@@ -703,7 +703,34 @@ open class AztecText : AppCompatEditText, TextWatcher, UnknownHtmlSpan.OnUnknown
703703 return containingBoxBounds
704704 }
705705
706+ private fun getTaskListHandler (): TaskListClickHandler ? {
707+ return EnhancedMovementMethod .taskListClickHandler
708+ }
709+
706710 override fun onTouchEvent (event : MotionEvent ): Boolean {
711+ var x = event.x.toInt()
712+ var y = event.y.toInt()
713+
714+ x - = totalPaddingLeft
715+ y - = totalPaddingTop
716+
717+ x + = scrollX
718+ y + = scrollY
719+
720+ // Check if we're in the task list area
721+ if (x + totalPaddingStart <= blockFormatter.listStyleLeadingMargin()) {
722+ val line = layout.getLineForVertical(y)
723+ val off = layout.getOffsetForHorizontal(line, x.toFloat())
724+ if (getTaskListHandler()?.handleTaskListClick(
725+ text,
726+ off,
727+ x,
728+ totalPaddingStart
729+ ) == true ) {
730+ return false
731+ }
732+ }
733+
707734 if (Build .VERSION .SDK_INT >= Build .VERSION_CODES .P
708735 && event.action == MotionEvent .ACTION_DOWN ) {
709736 // we'll use these values in OnLongClickListener
@@ -1788,8 +1815,8 @@ open class AztecText : AppCompatEditText, TextWatcher, UnknownHtmlSpan.OnUnknown
17881815 }
17891816
17901817 private fun refreshTaskListSpan (taskList : AztecTaskListSpan ) {
1791- val selStart = selectionStart
1792- val selEnd = selectionEnd
1818+ // val selStart = selectionStart
1819+ // val selEnd = selectionEnd
17931820 val spanStart = this .editableText.getSpanStart(taskList)
17941821 val spanEnd = this .editableText.getSpanEnd(taskList)
17951822 val flags = this .editableText.getSpanFlags(taskList)
@@ -1804,7 +1831,7 @@ open class AztecText : AppCompatEditText, TextWatcher, UnknownHtmlSpan.OnUnknown
18041831 refreshTaskListSpan(it)
18051832 }
18061833 this .editableText.setSpan(newSpan, spanStart, spanEnd, flags)
1807- setSelection(selStart, selEnd)
1834+ // setSelection(selStart, selEnd)
18081835 }
18091836
18101837 private fun clearTaskListRefreshListeners () {
0 commit comments