This module lets you use Swiftkey keyboard with themes from external storage folder of your choice. You can resize key text labels too. No more need to decompile/recompile Swiftkey just to add your favorite themes after every update...
Just set your themelist.json, enable key label resize if you wish, restart android and your themes will be listed in Swiftkey themes setting just like any build-in theme... Apply it, done...
Note: Due to highly obscure code... and lot of it(over 3600 files) I expect things to brake after Swiftkey update. I will try my best to keep module updated. Now that I know how things works it should be quick easy fix. I don't look for any credits so help in keeping module updated is highly welcomed. There are comments in the source code what does what so if someone wants to help keeping module updated just publish it as yours, no problems. Thanks.
v. 1.14 Fix for latest Swiftkey update.
v. 1.13: Fixed bug - failed to apply downloaded themes from Swiftkey store.
v. 1.12: Fix for new Swiftkey Beta update, Now module keeps logging to "/sdcard/Xswiftkey.logcat" if debugging and export is enabled and theme is applied in Swiftkey theme settings saving any errors might occur.
v. 1.11: Added logic for dynamically locating the classes needed. At boot time module scans the Swiftkey package and grabs the names of those classes based on search criteria which are less likely to change over time. This way module is less likely to brake(I hope...) after Swiftkey update. Thanks to JesusFreke for his smali/dexlib2 library.
Fixed force close bug when browsing for themelist after clean install.
v. 1.1: Module updated for recent Swiftkey Beta update which moved some classes around. Now module needs to know which Swiftkey package to handle so new CheckBox preference is added - check if using Swiftkey Beta, reboot.
v. 1.09: Added check at module startup for critical hooks - if for example after Swifkey update module can not hook essential methods, it should exit and let Swifkey work with stock themes... Otherwise Swiftkey might delete all our custom themes.
Added new preference to enable exporting filtered logcat to "/sdcard/Xswiftkey.logcat" at boot time. Provide it to get better support.
v. 1.08: Removed save theme service required permission for better compatibility. New option to override Swiftkey theme preferences title with your themes location, app icon refresh.
v.1.07: Fixed bug: unable to browse folders if already selected theme folder path was changed(folder renamed, old path not exists). Added some user useful logging in logcat: now if you enable debug, restart android and read logcat, module will detect if there is inconsistencies in your themes and themelist - existing theme folders but missing in themelist(warning message in blue) and themes listed in themelist but missing in your theme folder(error message in red)... if any. These inconsistencies will not cause any problems(module takes care of that) but is good to keep themes folder clean...
v.1.06: Throwing the theme if is in themelist but do not exist in theme folder so Swiftkey wont crash.
v.1.05: Improved themes type handling, improved save current theme handling, some user experience improvements in Choose themelist dialog.
v. 1.04: For Android 6.0 now module should ask for read /sdcard permission if can't read it. Improved logic for how Swiftkey should add themes, added option in Module settings to enable debugging in logcat.
v. 1.03: Rebuild module with Android 6.0 SDK to see if will help with some users not seeing themes in Swiftkey Beta.
v. 1.02: Fixed force close if "assets" themes have same ID as my themes, like if you use "assets" SuperSwiftkey themes folder.
v. 1.01: Fixed bug with selecting themelist from theme folder with too many subfolders, like the one from SuperSwiftkey themes.
v. 1.0: Initial release.