[Xposed Framework Modules] Roughy:
Exi for Swiftkey 1.3.0 release

1.3.0 [ 30.11.2017 ] - RTL support, custom sounds, number-row swipe, popups case, nsfw gifs( Stable: 6.7.2.22, Beta: 6.7.3.25 )

Changes in [1.3.0] (Stable: 6.7.2.22, Beta: 6.7.3.25) :

Fixed

- Cursor sometimes being moved to wrong position when inserting shortcut

- Popups not respecting case (Upper can also be set manually)

- Shortcuts being inserted into flow even when disabled

Added

- Option to set custom keypress sounds

- Number-row swipe-selection mode

- RTL language support for swipe selection

- Option to disable cursor jumping to end of word

- Option to display NSFW Gifs

- Option to disable full-screen keyboard mode

- Polish translation (Thanks to xda user [MENTION=4858491]godlesplay[/MENTION] )

- French translation (Thanks to xda user [MENTION=4958579]Primokorn[/MENTION])

Full List of changes

Download:

Exi for Swiftkey on Xposed module repository

Notes:

RTL selection support

Not only are RTL languages now support, but mixed-direction text too!

Whenever we suspect mixed-direction text, we switch to using keypress events (left arrow, right arrow) to move the cursor, similar to how vertical selection is handled.

Making that work correctly took a lot of very ugly hacks, but everything appears to be working flawlessly. You may occasionally encounter minor visual bugs, and moving from a line whose base directionality is RTL to LTR or vice-versa is difficult to do without using vertical movement, but everything works /as intended/. Also you can select text vertically.

Custom keypress sounds

Under [settings] - [Audio] - [Key-press sounds] you can now specify custom audio files to use as keypress sounds.

The spacebar sound is shared with a few other keys, but Key, Spacebar, Backspace as the 3 general categories it seems to use.

The audio is still set from within Swiftkey, so you have set the volume there before the custom sounds will work.

Disable full-screen keyboard mode

The first text field you focus on after changing this will not be affected, but anything afterwards will respect the settings.

NSFW GIFs

You can choose to display NSFW GIFs in the gif panel, which is accomplished by disabling safe-search.

You can also choose to view results from more sites, as by default Swiftkey (Or bing rather) seems to limit the results to GIFs with a specific license.

Occasionally enabling the latter will result in very few results being returned, so maybe only do that if you're feeling lonely on a Saturday night.

Number-row swipe-selection mode

This should have been a thing a long time ago. You can also do gesture selection here.

As a side effect, you can also swipe on the numbers in the symbols panel.

Shortcuts

There were a few problems relating to shortcuts, and they've been fixed by changing our inserted shortcuts to use the native ClipboardCandidate objects.

Basically, from now on shortcuts will behave exactly the same as Swiftkey's own Clipboard shortcuts. The only change resulting from this is that they will be memorized by Swiftkey's learning model, for better or worse.

If that turns out to be bad thing we can think about disabling learning for them, but being able to utilize native features like this makes for a much more stable experience.

Class Hunter

I have made some significant changes to the ClassHunter library that this module relies on.

Its ability to correctly match classes is now much much better, but also a lot slower.

On first install, and every time there's an update, expect roughly 20 seconds for the module to get itself set up.

The results of this operation will be cached, and subsequent launches will be as fast as always.

Just don't be surprised if you boot your phone after updating and swiftkey doesn't seem to load immediately.

Translations

[MENTION=4858491]godlesplay[/MENTION] has generously provided us with a Polish translation of the app! I believe a few strings are missing, but 99% of it is there. Thanks!

[MENTION=4958579]Primokorn[/MENTION] translated the whole thing into French in no time at all, and even added us to the XDA devs app translators index.

I should really get to work on populating that. Thanks!