@@ -955,6 +955,7 @@ open class AztecText : AppCompatEditText, TextWatcher, UnknownHtmlSpan.OnUnknown
955
955
blockEditorDialog!! .dismiss()
956
956
}
957
957
EnhancedMovementMethod .setLinkTappedListener(null )
958
+ clearTaskListRefreshListeners()
958
959
}
959
960
960
961
// We are exposing this method in order to allow subclasses to set their own alpha value
@@ -1711,19 +1712,19 @@ open class AztecText : AppCompatEditText, TextWatcher, UnknownHtmlSpan.OnUnknown
1711
1712
val imageSpans = editable.getSpans(start, end, AztecImageSpan ::class .java)
1712
1713
imageSpans.forEach {
1713
1714
it.onImageTappedListener = onImageTappedListener
1714
- it.onMediaDeletedListener = onMediaDeletedListener
1715
+ it.setOnMediaDeletedListener( onMediaDeletedListener)
1715
1716
}
1716
1717
1717
1718
val videoSpans = editable.getSpans(start, end, AztecVideoSpan ::class .java)
1718
1719
videoSpans.forEach {
1719
1720
it.onVideoTappedListener = onVideoTappedListener
1720
- it.onMediaDeletedListener = onMediaDeletedListener
1721
+ it.setOnMediaDeletedListener( onMediaDeletedListener)
1721
1722
}
1722
1723
1723
1724
val audioSpans = editable.getSpans(start, end, AztecAudioSpan ::class .java)
1724
1725
audioSpans.forEach {
1725
1726
it.onAudioTappedListener = onAudioTappedListener
1726
- it.onMediaDeletedListener = onMediaDeletedListener
1727
+ it.setOnMediaDeletedListener( onMediaDeletedListener)
1727
1728
}
1728
1729
1729
1730
val unknownHtmlSpans = editable.getSpans(start, end, UnknownHtmlSpan ::class .java)
@@ -1763,9 +1764,9 @@ open class AztecText : AppCompatEditText, TextWatcher, UnknownHtmlSpan.OnUnknown
1763
1764
taskList.onRefresh = null
1764
1765
this .editableText.removeSpan(taskList)
1765
1766
val newSpan = if (taskList is AztecTaskListSpanAligned ) {
1766
- AztecTaskListSpanAligned (taskList.nestingLevel, taskList.attributes, taskList. context, taskList.listStyle, taskList.align)
1767
+ AztecTaskListSpanAligned (taskList.nestingLevel, taskList.attributes, context, taskList.listStyle, taskList.align)
1767
1768
} else {
1768
- AztecTaskListSpan (taskList.nestingLevel, taskList.attributes, taskList. context, taskList.listStyle)
1769
+ AztecTaskListSpan (taskList.nestingLevel, taskList.attributes, context, taskList.listStyle)
1769
1770
}
1770
1771
newSpan.onRefresh = {
1771
1772
refreshTaskListSpan(it)
@@ -1774,6 +1775,13 @@ open class AztecText : AppCompatEditText, TextWatcher, UnknownHtmlSpan.OnUnknown
1774
1775
setSelection(selStart, selEnd)
1775
1776
}
1776
1777
1778
+ private fun clearTaskListRefreshListeners () {
1779
+ val taskLists = this .editableText.getSpans(0 , this .editableText.length, AztecTaskListSpan ::class .java)
1780
+ taskLists.forEach { taskList ->
1781
+ taskList.onRefresh = null
1782
+ }
1783
+ }
1784
+
1777
1785
fun disableTextChangedListener () {
1778
1786
consumeEditEvent = true
1779
1787
}
@@ -2217,7 +2225,7 @@ open class AztecText : AppCompatEditText, TextWatcher, UnknownHtmlSpan.OnUnknown
2217
2225
* Use this method to insert a custom AztecMediaSpan at the cursor position
2218
2226
*/
2219
2227
fun insertMediaSpan (span : AztecMediaSpan ) {
2220
- span.onMediaDeletedListener = onMediaDeletedListener
2228
+ span.setOnMediaDeletedListener( onMediaDeletedListener)
2221
2229
lineBlockFormatter.insertMediaSpan(shouldAddMediaInline, span)
2222
2230
}
2223
2231
@@ -2323,7 +2331,7 @@ open class AztecText : AppCompatEditText, TextWatcher, UnknownHtmlSpan.OnUnknown
2323
2331
2324
2332
text.removeSpan(clickableSpan)
2325
2333
text.removeSpan(mediaSpan)
2326
- aztecMediaSpan.onMediaDeletedListener = onMediaDeletedListener
2334
+ aztecMediaSpan.setOnMediaDeletedListener( onMediaDeletedListener)
2327
2335
lineBlockFormatter.insertMediaSpanOverCurrentChar(aztecMediaSpan, start)
2328
2336
contentChangeWatcher.notifyContentChanged()
2329
2337
}
0 commit comments