Skip to content

Releases: sspanak/tt9

v28.0

28 Feb 14:29
Compare
Choose a tag to compare

Long-awaited Popular Requests

Introducing a feature-rich update! The highlights are: possibility to type currency symbols, automatic language selection, OK can be used to send messages in Google Chat, and a compatibility option for keyboards that register multiple clicks per a single press (Qin F21 Pro, Cat S22 Flip). The long-awaited Arabic and Portuguese have finally arrived. And as usual, various small improvements and bugfixes.

Also, big thanks to @offa for helping with releasing Traditional T9 on F-droid for the first time! From now on, installing and updating will be much easier, especially for technically inexperienced users.

(The text above was generated with chargpt. I was too lazy this time, sorry)

What's Changed

  • Languages:
    • Arabic by @Arabi12321 in #431
    • Portuguese (thanks to @maverick74 for suggesting the dictionary)
    • Fixed the text case of several English words (thanks to @alexknop for pointing them out)
    • Added a couple of new Bulgarian words
    • Updated Ukrainian translations by @WallK in #440
    • Typing some words was broken in French and German due to "O'Brien" word. It is fixed now.
  • New Stuff:
    • It is now possible to type currency symbols (#370)
    • Added a compatibility option for devices with faulty keyboards which register multiple clicks per a single key press (CAT S22, Qin F21 Pro and possibly others) (#399)
    • Added a compatibility option to send messages with OK in Google Chat (#415)
    • On initial start up, after installing, the device language is used as default, instead of English.
    • Cosmetic improvements for RTL languages.
    • Enabled the filtering hotkeys and the suggestion hotkeys by default when the virtual keyboard is on
    • Typing and adding words are now forbidden during dictionary loading.
  • Bugs:
    • Fixed English "I" cannot become the default suggestion in Predictive mode (#397, #435)
    • After holding a button to type a number in Predictive or ABC mode, it was not possible to press the same button to type a letter. This is fixed now.
    • In some cases, the app was not waking up, especially after coming back from a popup window. (#429, #435)
    • Fixed holding the virtual keyboard keys in 123 mode typing the wrong number, when the 'upside down' settings is on
    • Language list is now properly sorted on Android < 7.0
  • Technical:
    • It is now possible to change the logging level from the app.
    • Added database migration support, making it possible to add new languages again. It was impossible since the database restructuring in v27.0
    • Fixed some issues with version code generation, which were preventing publishing on F-Droid
    • Upgraded gradle 8.0.2 -> 8.2.2 and finally modernized the build script. Also removed the YAML validator, which was preventing the upgrade and was useless anyway.
    • Automatic APK name
    • Dictionary properties are now calculated in parallel for faster build
    • Removed 2 status icons which were not in use since long ago
    • Documentation update

Full Changelog: v27.0...v28.0

v27.0

10 Feb 14:39
Compare
Choose a tag to compare

Supercharged Typing Experience

This release brings significant performance improvements. Dictionary loading is now 2x faster on older devices with 16 Gb or less storage; suggestion loading is 10x faster on any device. This means, the typing lag is virtually eliminated (except maybe in very rare cases), so there will be no more situations such as: "I pressed 3 keys, but only 2 letters appeared on the screen".

Another improvement is that from this version the custom added words will be preserved when deleting a dictionary. You can safely use "Delete All", then reload a language and your words will be restored. Unfortunately, this comes at the cost of removing all words added in v26.0 or earlier.

On the bright side, Bulgarian, English, Romanian, Russian and Ukrainian have received a major update. So if you use one of them, it will now feel that you can type (almost) anything. All other languages have received small tweaks, making typing compound and contracted words even easier.

What's Changed

Language Updates

  • Added ~43000 new English words, including landmark objects, popular company names, websites and more. English now contains 173k words. Big thanks to @alexknop for correcting several misspelled words.
  • Upgraded Romanian from 800k words to 1.16 million words.
  • Upgraded Bulgarian from 256k words to 1.13 million.
  • Upgraded Ukrainian from 290k words to 1.3 million.
  • Upgraded Russian from 100k words to 1.42 million.
  • Added top-level domains (".com", ".net", ".co.uk", etc...) to all Latin-based languages.
  • Overall small improvements for typing contracted and compound words easier.

Bugs

  • Fixed issues when deleting words with apostrophes and filtering in general (#352)
  • Fixed the suggestions sometimes appearing in the wrong order
  • Fixed lowercase being incorrectly forced sometimes
  • Fixed attempting to add a word while still typing it, and the suggestions are visible, causing the word to be erased
  • Fixed the MainView not hiding sometimes, when it should hide (#367 and #364)
  • Fixed logging settings not being applied at startup sometimes
  • Fixed startup crashing (#385) causing multiple strange bugs, such as: the current language not being displayed sometimes (#389). Potentially, the crashing could have caused the double numbers issue on LG X100S (#300). It may be resolved, too now.
  • Fixed dictionary loading progress not including all performed operations, causing it to be stuck at 0% a moment, before starting to increase.

Technical

  • Completely rebuilt the database structure for 2x faster insert operations on slow devices; and more than 10x faster searching. This means typing lag is virtually eliminated.
  • Added slow query cache. In case a query still takes a significant amount of time, it will be slow only the first time.
  • Created a dictionary sorting script and sorted all dictionaries for optimum search speed.
  • Update actions and fastlane structure by @offa in #387, #388
  • Improved Backspace handling by @alexknop in #426
  • Remove redundant calls to isNumber by @alexknop in #410
  • Added a donation button within the app.

Full Changelog: v26.0...v27.0

v26.0

30 Aug 12:33
Compare
Choose a tag to compare

More Bugfixes and Optimizations

This release fixes almost all reported bugs and introduces several easy to do improvements.

What's Changed

  • Bugs
    • Fixed a potential crash when loading invalid assets
    • Fixed dictionary loading progress starting at 100% then jumping to 0% when manually loading two dictionaries one after another
    • Fixed the cursor moving using touch events not working properly, while typing a word with the physical keys (#320)
    • Predictive mode is now allowed in all text fields, but password fields. No more unnecessary constraints (#319)
    • Fixed repeated words popping over and over again, when scrolling the suggestions in Amazon Kindle app, on the Share Document screen (AppHacks established) (#286)
    • Fixed the debug log setting not being applied on startup
    • Fixed unexpected switch to UPPERCASE on start up.
    • Prevented unnecessary double ENTER event for sending messages, when there is no message to send
  • Improvements
    • A small dictionary loading speed optimization
    • OK no longer shows the main view when it is hidden by @alexknop in #359
    • Added support for Termux (#353)
    • It is now possible to send messages with OK in Facebook Messenger (#244)
    • Added Change Keyboard hotkey (#301)
    • It is now possible to type special characters in 123 mode. Also support for phone, decimal and signed integer numeric fields is now much better. (#345)
    • It is now possible to copy the debug logs by clicking them
    • Translations update
  • Technical
    • Removed some duplicate code by @alexknop in #362
    • No more unnecessary repeated settings loading when starting up
    • Java and build script code cleanup
    • Documentation update

Full Changelog: v25.0...v26.0

v25.0

18 Aug 06:12
Compare
Choose a tag to compare

Annoying Bugs Terminated

This release fixes some critical and some less severe bugs.

What's Changed

  • Fixed the UI not showing up sometimes, when typing special characters and it has been initially hidden
  • Added an alternative suggestion scrolling method to fix invisible suggestions on some older devices (Android <= 9). It can be enabled from Initial Settings -> Compatibility -> Alternative Scrolling... (#315). Thanks to @alexknop for pointing this out and testing it.
  • Restored the Clear filter key on the on-screen keyboard
  • Fixed the on-screen Filter key not acting properly when being pressed repeatedly
  • Fixed incorrect hotkey handling that caused the arrow keys not work sometimes. (#341, #328)
  • Simpler word adding. Now only a confirmation popup appears, instead of window with a text field. This also prevents #202 from happening.
  • New Bulgarian words and fixed invalid frequencies of 3 words
  • Upgraded packages: androidx.room 2.5.1 -> 2.5.2 and androidx.preference 1.2.0 -> 1.2.1

Full Changelog: v24.0...v25.0

v24.0

03 Aug 06:46
Compare
Choose a tag to compare

Massive Bugfixing

This release includes bugfixes only. Big thanks to @alexknop for identifying and fixing nearly half of the bugs.

What's Changed

  • removed some unneeded code by @alexknop in #312, #316 and #318
  • automatic capitalization improvements by @alexknop in #314
  • added workaround to show the Main View on older Android devices < 9 by @alexknop in #310
  • added DONE to allow selecting suggested names in messaging by @alexknop in #309
  • Numeric mode refactoring. Hopefully, this fixes the problem where 123 mode does not work at all on some devices.
  • fix BACK key navigating back, instead of hiding the UI on touchscreens
  • Fixed the Main View appearing in calculator apps when it shouldn't by @alexknop in #326
  • On-screen keyboard improvements - more compact keyboard, improved color scheme and some other minor visual adjustments.
  • No more unnecessary arrow key handling, when no there is no hotkey association
  • fixed Predictive mode sometimes starting up in uppercase unexpectedly
  • Automatic theme selection

Full Changelog: v23.0...v24.0

v23.0

20 Jul 13:00
Compare
Choose a tag to compare

Massive Language Improvements

This release introduces much improved typing experience in languages that use apostrophes or dashes as part of the words. Now typing phrases like: "We've sold John's shoes" in English or "Qu'est-ce que c'est?" in French is as easy as pie. No need to scroll and select the apostrophes manually or type the contracted words letter-by-letter. Besides that, there are other small improvements regarding punctuation and improved predictions. And last but not least, three new languages are now available: Danish, Greek and Romanian.

IMPORTANT: If you have been using English, French, German, Italian, Dutch or Polish, you will need to reload the dictionaries (without deleting them), so that the new improvements could come into effect. Your custom added words will remain intact.

BULGARIAN USERS: The key layout has changed in this release, so the old dictionary is no longer usable and it will be deleted when version 23.0 is installed. This includes all custom added words. You have to reload Bulgarian to get predictions again.

What's Changed

Language updates:

  • Easier contraction typing.
  • Dictionaries update. Added many new French, German and Italian words, and a couple of Dutch and Polish words.
  • Updated the Bulgarian layout. "ь" is now on 8-key instead of 9-key. Also, added many new words and updated the word frequencies.
  • Added Danish language.
  • Added Greek language.
  • Added Romanian language.
  • Full Spanish UI translation by @gabriel-tandil in #294
  • Proper quotation marks in all languages instead of the default US ones.

Bugs:

  • When adding words, the text case is now preserved.
  • The composing/selected text is no longer cleared on startup to prevent unexpected text loss. (Fixed #252)

Technical:

  • The language definitions are now in YAML format, instead of JAVA classes.
  • Much improved dictionary validation during build time thanks to the YAML definitions. Building an .apk with an invalid dictionary is no longer possible.
  • Simplified the process of adding a new language, thanks to the YAML definitions. Java knowledge is no longer needed.
  • Simplified the iHack (The English "I" hack is now in only one file).
  • Fixed 0-key and 1-key character validation (Special, math and punctuation characters).

New Contributors

  • Thanks to @gabriel-tandil for fully translating the UI into Spanish.
  • Thanks to @realbasescu for providing Romanian the huge word lists. As of now, Romanian is the most complete language of them all.

Full Changelog: v22.0...v23.0

v22.0

12 Jun 09:14
09e5e1b
Compare
Choose a tag to compare

Popular Requests 2, New Languages, More secure dictionary loading

What's Changed

  • New Languages:
  • Bugs:
    • fix nullref on exiting dialer by long pressing of Back key on KYF33 by @mcfrei in #262
    • 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
    • fixed some cases in which 123 mode was not working on Kyocera and LG phones (hopefully). Big thanks to @mcfrei for investigating this.
    • fixed hotkey configuration issues
  • New Features:
    • added ',' to the 0-key double press shortcut list
    • Auto accept in ABC mode
    • Automatic text case improvements
    • Improved db operations feedback
      • prevented crashing when database indexes are missing, they are now permanent instead of being created on-the-fly when loading a dictionary
      • 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
    • Better support for hardware backspace. DEL and CLEAR keys now work automatically, without any extra configuration.
    • Arrow keys enhancements
      • added suggestion operation hotkey settings; DPAD arrow keys are now fully configurable
      • added on-screen keys for filtering and selecting suggestions
  • Technical:
    • upgrade Gradle 8.0.1 -> 8.0.2
    • mEditing is no more
    • cleaned up some legacy code from the dictionary loader by @alexknop in #278
    • code cleanup and code style fixes
    • updated translations and documentation

... and many thanks to everyone else who helped with suggestions and ideas.

Full Changelog: v21.0...v22.0

v21.0

15 May 07:30
008590b
Compare
Choose a tag to compare

Touchscreen Support + Speed Optimizations

Note 1: The very first time you attempt typing, there will be some "loading" going on. It may take anywhere between 10 seconds and 2 minutes, and while it is running, you will not be able to type. Please, be patient and give it some time. This is an important dictionary update. After that, TT9 will become more responsive.

Note 2: The on-screen keyboard is still in Beta state, which means some important bits are still missing or it may not work so well in all applications.

What's Changed

  • Added a full on-screen keyboard for touchscreen-only device support in #231. Thanks to @nebkrid for showing the way!
  • Much improved dictionary loading speed and key response time (key lag reduced from 50-60 ms, peaking to: 200 ms, down to: <20 ms with peaks to: 50-60 ms) in #250:
  • Removed some unused resources and code in #243:
  • Small bugs fixed in #242 and #258:
    • 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
    • Predictive Mode: fixed pressing 1-key accepted even if there are no more emoji
    • 123 Mode: fixed '*', '#', "." and "," not working properly
    • 123 Mode: fixed typing "+" by holding 0-key not working in Dialer fields
    • Predictive Mode: fixed the same key not allowed for typing and as a hotkey, when being pressed and held, respectively.
    • 123 Mode: fixed #225 and general typing problems.

Full Changelog: v20.0...v21.0

v20.0

04 Apr 07:27
Compare
Choose a tag to compare

Finnish, Swedish and Stabilization Release

This release introduces two new languages: Finnish and Swedish. The other main point is stabilization - many critical and less severe bugs were fixed, making TT9 even more pleasant to use.

What's Changed

  • Bugs:
    • Fixed dialer field detection (without breaking Contacts)
    • Fixed OK still not sending messages and performing actions in some applications and on some particular phones.
    • Pressing OK now causes the main view to show up properly, if it is hidden.
    • Fixed the main view popping up over some applications, when it should. Most notably: Waze and Telegram (when selecting stickers).
    • Fixed a potential crash when trying to highlight invalid words
  • New Stuff:
    • Added "Initial Setup" in "Settings", where TT9 could be easily enabled and set as default keyboard, instead of asking the users to look through the Android Settings to do it.
    • Improved the support for the standard left and right function keys below the screen (sometimes called "soft keys").
    • The language and the input mode are now displayed on the status bar (when there are no suggestions), replacing the status icons in the notification area. On some devices the icons appeared too small and basically unreadable. Also, adding a new language was unnecessarilly complicated, because of them.
    • Added Finnish language
    • Added Swedish language
  • Technical:
    • Much simplified the procedure of adding a new language. It is now possible without using Android Studio at all.
    • RoomDB upgrade 2.5.0 -> 2.5.1
    • Gradle upgrade 7.4.1 -> 7.4.2
    • Documentation update

New Contributors

  • Thanks to @DarthFlip for adding Soft Key support in #217
  • Thanks to @flaviozavan for adding Finnish language in #220
  • Thanks to @KaniJonas for adding Swedish language in #223
  • Thanks to all the people who helped with testing and debugging all the bugs above on different devices.

Full Changelog: v19.0...v20.0

v19.0

14 Mar 09:30
a41dd9e
Compare
Choose a tag to compare

Brazilian Portuguese, Hebrew and Norwegian

This release adds three new languages and improves slightly the Auto Space function.

NOTE: If you are using a language different than English, your language preferences may be reset. There is nothing to worry about, you just need to go to the Settings and re-enable the language(s) you have been using (no need to reload the dictionaries).

What's Changed

  • Added right-to-left language support
  • Added support for languages with no capital letters
  • Standartized the Add Word dialog layout
  • Added Hebrew by @AshiVered in #197
  • Added Norwegian by @joddsus in #191
  • Added Brazilian Portuguese (thanks to @Nightly-Luke for translating everything)
  • Added support for Clear key. Some phones have that instead of a Delete key.
  • No unnecessary notifications when 'change language' key is pressed, but there is only one language
  • Improved auto space adjustment around punctuation marks
  • Improved dictionary validation during build time
  • Language IDs are now automatically generated. No more manual housekeeping.
  • Code cleanup and improvements
  • Updated documentation

Full Changelog: v18.0...v19.0