* adding words to the dictionary is possible again * removed some unused code * updated Readme files * special key handlers now validate the input mode themselves * improved language validation and error handling here and there |
||
|---|---|---|
| !RAW | ||
| assets | ||
| docs | ||
| gradle/wrapper | ||
| res | ||
| src | ||
| .editorconfig | ||
| .gitignore | ||
| AndroidManifest.xml | ||
| build.gradle | ||
| gradle.properties | ||
| gradlew | ||
| gradlew.bat | ||
| LICENSE.txt | ||
| proguard-project.txt | ||
| project.properties | ||
| README.md | ||
Traditional T9
TT9 is an IME (Input Method Editor) for Android devices with hardware keypad. It supports multiple languages and predictive text typing. NOTE: TT9 is not usable on touchscreen-only devices.
This is an updated version of the original project by Clam-.
Building
The recommended way of building is using Android Studio. As the of time of writing this, the current version is: Android Studio Dolphin | 2021.3.1.
Building a Debug .apk
If you have not configured Android Studio yet, follow the official manual, then follow the simple steps below to get the project running.
- Import the project in Android Studio.
- Prevent the "Default Activity not found" issue. The app does not have a default view or a launcher icon. For this reason, you must configure Android Studio not to launch anything after installing, otherwise it will fail with "Default Activity not found" or a similar message. To do so:
- Open "Edit Configurations..." (Press Shift 3 times and select it from the command list)
- Go to "General" tab.
- Change "Launch Options" to "Nothing"
- Hit "OK"
That's it! Now you should be able to deploy and debug the app on your device.
You can find more info in this Github issue.
Building a Release .apk
The project is configured to build an unsigned release variant by default.
- Select the "release" variant from Android Studio options (
Build->Select Build Variant...) Build->Rebuild Project. After that, just ignore all warnings until you get to the end of the process.- Find the
.apkin the generated 'build/' folder.
Note that it may not be possible to install an unsigned .apk on newer versions of Android. You must either manually sign it or build a signed one instead.
Building a Signed .apk
Make sure you have a signing key. If you don't have one, follow the official manual.
- Select
Build->Generate Signed Bundle / APK.... - Select
APKand proceed to the next screen. - Enter your key details (or create a new one) and continue to the next screen.
- Choose the "Release" variant, then click
Finishto start building. - Android Studio will tell you where the
.apkis, but if it does not, try looking for it in therelease/folder.
Adding a new language
To support a new language one needs to:
- Add status icons
- Create a proper icon for each screen size. The icon needs to contain the abbreviation of the language. (e.g. "En" for "English").
- The font must be Roboto Lt at an adequate size to fit the icon square with minimum padding.
- The text must be white and the background must be transparent as per the official Android guide.
- To simplify the process, you could use Android Studio. It has a built-in icon generator accessible by right-cicking on "drawable" folder -> New -> Image Asset. Then choose "Icon Type": "Notification Icons", "Asset Type": Text, "Trim": No, "Padding": 0%.
- Find a suitable dictionary and add it to
assetsfolder. - Create a new language class in
languages/definitions/. Make sure to set all properties. The ID must be the next available one. Currently, the range is limited between 1 and 31, so there can be 31 languages in total. - Add the new language to the list in
LanguageCollection.java. You only need to add it in one place, in the constructor. Please, be nice and maintain the alphabetical order. - Add a new entry in
res/values/const.xml. Make sure the new ID matches the one in the language class. - Add new entries in
res/values/arrays.xml. - Add translations in
res/values/strings-your-lang. The Android Studio translation editor is very handy.
Using the app
See the user manual.
Word Lists
Here is detailed information and licenses about the word lists used:
- Bulgarian word list
- English word list
- French word list
- German word list
- Russian word list
- Ukrainian word list
License
- The source code, the logo image and the icons are licensed under the conditions described in LICENSE.txt.
- The word lists / dictionaries are licensed under the licenses provided in the respective readme files, where applicable.
- Silver foil photo created by rawpixel.com - www.freepik.com
- "Roboto" font is under Apache License, Version 2.0.
- "Negotiate" and "Vibrocentric" fonts are under The Fontspring Desktop/Ebook Font End User License.