The comment states that:
* @param handled Predicate invoked each occurrence to determine the return value of the
* underlying [TextView.OnEditorActionListener].
But the code seems to use the handler predicate to filter the events and always returns true when the event is sent to the observer:
try {
if (!isDisposed && handled(actionId)) {
observer.onNext(actionId)
return true
}
} catch (e: Exception) {
observer.onError(e)
dispose()
}
return false
Perhaps two predicates? One for the filtering and one for the return value.
Or at least a fix for the comment.
The same issue is found in TextView.editorActionEvents.