updateText method
void
updateText(
- String newText
)
Updates the current text with a new one applying the mask
Implementation
void updateText(String newText) {
// save values for possible concurrent updates
final _oldMask = _previousMask ?? mask;
final _mask = mask;
final oldText = _lastUpdatedText;
final previousCursor = _lastCursor;
_lastUpdatedText = _applyMask(_mask, newText);
final newCursor = _calculateCursorPosition(
previousCursor,
_oldMask,
_mask,
oldText,
_lastUpdatedText,
);
_previousMask = mask;
text = _lastUpdatedText;
// Mark to update in next listner iteration
_cursorUpdatePending = true;
_cursorCalculatedPosition = newCursor;
_moveCursor(_cursorCalculatedPosition);
}