🔄 Modified:
Country::findCountries→ fix bloomer
🔄 Modified:
- Re-write the sample project
🔄 Modified:
minSdkVersion→23
- New logo :D
- New README :D
- Text listener callbacks now return a
tailPlaceholderfor the value to be completed Country: a model object representing a country with phone formatting, ISO codes & emojisCountry.all: a dictionary of known countriesPhoneInputListener: aMaskedTextChangedListenerallowing to enter a phone number of any known countryNumberInputListener: aMaskedTextChangedListenerallowing to enter currencies and other numbers
🔄 Modified:
minSdkVersion→30
IndexOutOfBoundsException
HUZZAH!
Mask::apply(), theautocompleteflag
This flag is now a part of the CaretGravity.FORWARD.
🔄 Modified:
CaretGravityis now a sealed class
CaretGravity.FORWARD, theautocompleteflagCaretGravity.BACKWARD, theautoskipflag
CaretStringIterator::beforeCaret()
This method is now replaced with ::insertionAffectsCaret() and ::deletionAffectsCaret() calls.
CaretStringinstances now contain caret gravity.
Caret gravity affects caret movement when Mask adds characters precisely at the caret position during formatting. It is important to retain caret position after text deletion/backspacing.
Default CaretGravity is .FORWARD. Set caret gravity to .BACKWARD only when user hits backspace.
CaretStringIterator::insertionAffectsCaret()andCaretStringIterator::deletionAffectsCaret()
These methods allow to incorporate new caret gravity setting.
- Right-to-left masks.
AffinityCalculationStrategy.EXTRACTED_VALUE_CAPACITYoption allowing to have radically different mask format depending on the extracted value length
AffinityCalculationStrategy.CAPACITYaffinity calculation option allowing to have radically different mask format depending on the input length
formattedTexttoMaskedTextChangedListener.ValueListener::onTextChanged- by Nikita Barishok in PR#73
Mask::isValid(format:customNotations:)method for format checks
🔄 Fixed:
- Optional blocks of symbols are now ignored when extracted value completeness is calculated, see #70