* removed isPunctiationPartOfWords hack and created a new contraction input method that allows typing just anything, instead of predefined list coming from the dictionary
* updated the common compound words and contractions in Bulgarian, Dutch, English and French
* removed some non-sense and rarely used English words
* fixed crashing when trying to find words with apostrophes in the database
* fixed a crash when trying to capitalize single character strings
* improved dictionary validation at build time: spaces are now disallowed
* the 'show settings' hotkey can now be nulled out
* fixed hotkey status becoming indeterminate and sometimes impossible to change after unsetting all, then resetting all to default
* user manual update
* prevented crashing when database indexes are missing, they are now permanent instead of being created on-the-fly when loading a dictionary
* code style fixes in DictionaryDb.java
* removed some unused code
* counting the dictionaries to be loaded is no longer responsibility of the Load Button, but of the DictionaryLoader
* delete dictionary buttons are now being locked while deleting is in progress; also, a status message is displayed for better UX
* updated translations and documentation
* fix Predictive mode sometimes starting in UPPERCASE unexpectedly
* fixed incorrect extra auto-space when the cursor is before or in the middle of a word
* no auto-space when the next composing character is whitespace or a special one
* auto-space is added after an emoji
* added automatic delayed suggestion accept support in ABC mode
* fixed: impossible to type a letter in ABC after coming back from preferences, if the same key was pressed before opening them
* removed mEditing and simplified initial mode selection and validation
* fixed the status bar displaying incorrect text when in a limited field
* fixed incorrect auto text case being selected after toggling all modes, then going back to Predictive
* fixed the on-screen keyboard sometimes not updating when the input mode changes
* fix nullref on exiting com.android.dialer by long pressing of Back key on KYF33
* fix misleading ModeDialer.toString()
* fix textField and inputType are assumed to be defined everywhere
* fix yet another potential case of currentInputConnection = null
---------
Co-authored-by: sspanak <doftor.livain@gmail.com>
* fixed '*', '#', "." and "," not working properly in 123 mode
* fixed typing "+" by holding 0-key not working in Dialer fields
* fixed Predictive mode not allowing the same key for typing and as a hotkey, when being pressed and held, respectively.
* removed EDITING_STRICT_NUMERIC, EDITING_DIALER and deprecated mEditing
* added ModeDialer
* fixed a regession after the optimizations, that caused only 8 exact word matches to appear, when there are more
* code cleanup: replaced Thread classes with lambdas in DictionaryDb
* emoji micro optimizations
* Predictive Mode: reduced post-load processing time from 20 ms to <1 ms
* EmptyDatabaseWarning does not run unnecessary queries, when the time for the next warning has not come yet
* replaced unnecessary Handler with lambdas in EmptyDatabaseWarning and Add Word dialog
* slightly simplified the word searching, importing and clearing code
* word length is now stored in the database, instead of being calculated on-the-fly, while searching
* created sepearate indexes and queries for 2-letter and longer words; suggestion loading time reduced from 50-60 ms, peaking to: 200 ms, down to: <20 ms with peaks to: 50-60 ms.
* imporved dictionary loading speed by temporarily disabling the database indexes
* removed some unused resources and code
* removed a nonsense package.json section from .editorconfig
* minimized the usage of mEditing
* removed obsolete toggling of the system candidate view
* fixed the main view not showing up in some cases
* fixed crashing when changing the theme
* fixed 1-key not working after using it in 123 mode, then switching to ABC mode
* fixed auto-space not working with the on screen punctuation keys
* fixed on-screen punctuation keys erasing the previously typed, but unaccepted word
* fixed more auto-space issues
* fixed key repeating being reset incorrectly when holding some key
* fixed pressing 1-key accepted even if there are no more emoji, in Predictive Mode
* Soft-Keyboard numpad
* no more SoftKeyHandler, the main view is in its own package
* settings are no longer passed unnecessarilly here and there
* fixed numeric mode not working in some cases
* simplified suggestion handling
* fixed crashing when changing the phone orientation
* input mode is now displayed in a StatusBar
* status icons are no more >:)
* updated docs
* removed the EDITING_NOSHOW mode, because it became obsolete and it was preventing the StatusBar from appearing in some ABC-only fields
* OK key now attempts to send DPAD_CENTER or ENTER (if needed), in attempt to make it work consistently accross all devices
* OK is no longer ignored in numeric mode
improved auto space adjustment around '-' and '/'
improved auto space adjustment when the next character is a punctuation mark
code cleanup: moved auto text case code, auto space code and suggestion loading code to their own classes