yashsingh1/xdaforums huggingface dataset:
[Xposed Framework Modules] Roughy:
>If there's ever a chance to build a non-root version of Exi

Implementing Exi as an apk hack is theoretically possible, but would be a lot of work.

You could merge the code from Exi into the apk, and manually edit Swiftkey's code to do the work the hooks are doing, but this would make for a significant amount of manual labor. Tools could be developed to automate it, but that would be even more work.

Keeping things simple and only inserting an entrypoint to XposedBridge, and then just hook everything via Xposed as usual is the more sane solution.

This is what Tai-Chi (Exposed) does, though unfortunately it limits you to a specific older version of this module, and doesn't work on Pie last I tested.

I tested it on Nougat and everything was fine and dandy, although the hooking process took several minutes instead of a few seconds.

Could I emulate what he's doing? Probably, but again it would be a significant endeavour, and I really don't want to spend any more time on this than I already am.

If I could just do things once and be done with it life would be a lot easier, but Swiftkey updates will inevitably breaks things and there is just no end to the maintenance work.

>placing Exi settings on the material design menu

If I am understanding you correctly I did this back in 1.7.0.

If you enable "Toolbar Button" in the settings, an white logo button matching the theme of the other buttons will be added to the right side of the toolbar.

It unfortunately sits outside of the container of the other buttons, so it is always visible and doesn't scroll with the rest of them.
[Xposed Framework Modules] K0media:
Oh, cool. I'm gonna test it when it's possible.

But about the older version of SK on Tai-Chi... I did everything there, but it simply returned me an error. Probably because I've updated to Oreo on MIUI, which sometimes is very troublesome to work with (in matters of system hook customization), but it just doesn't work. I'll see the details as I compose this reply and give you the details.

(a few minutes later...)

Okay, I
[Xposed Framework Modules] K0media:
Oh, cool. I'm gonna test it when it's possible.

But about the older version of SK on Tai-Chi... I did everything there, but it simply returned me an error. Probably because I've updated to Oreo on MIUI, which sometimes is very troublesome to work with (in matters of system hook customization), but it just doesn't work. I'll see the details as I compose this reply and give you the details.

(a few minutes later...)

Okay, I'm still testing here. Before it was returning me a crash, but I didn't see the details. Now I've just noticed the behavior changed after updating Tai-Chi. Still working on it...

(minutes later...)

Okay, after attempts to get it to work, another frustration. I've installed the versions and updated Tai-Chi as supposed and it opens Exi, but the changes doesn't seem to take effect. Do you know if I'm doing something wrong?

Wait, does Tai-Chi offer a logcat feature? I could dump it and then get it to Pastebin for you to see the details. But I guess it's something simple. (I'm just guessing, not sure.)

I've taken the screenshots to show you the procedures I've done. I'll paste the Google Photos album link here so you can see it better. I hope it helps.

If I ever get it to work, ding ding ding! THANK YOU! But else... Fail. :(

(several minutes later...)

Aww man, I almost forgot, but I guess I gave my last and best shot for now. Just installed the last supported beta (which I had to roll back) for Tai-Chi (Tai-Chi supports only Exi v2.0.4, which supports SK Beta v7.2.3.20), but no luck. Sorry, I guess there's nothing else I can do now. I'll see if I can attach my device's details here. (Thanks to YMusic diagnostic feedback tool.)

OS version: 24

Model: Redmi Note 4

Manufacturer: Xiaomi

CPU: arm64-v8a armeabi-v7a armeabi arm_v7_neon_pie

More details on the album I've created.

https://photos.app.goo.gl/idqaWqB1VS8vFbubA

I'd record a video, but I'd take forever to edit. I think this was a faster way to tell what I'm facing.

I've noted each screenshot. If it's better for comprehension.

Well now, waiting for advise. :crying:
[Xposed Framework Modules] Roughy:
Everything in that log is from launching the Exi config app, nothing from the xposed module side of things.

If you have generated a copy of Swiftkey using Tai-Chi, and installed and activated the module with Tai-chi, then restarted Swiftkey, then it is likely Tai-Chi simply isn't loading the module.

I tried it a while back, when 1.8.0 was the supported version I believe.

I'll give it another go with the newest version when I get the time.

In the meanwhile, either make sure you are following the Tai-Chi instructions to the letter, or maybe try an older version.
[Xposed Framework Modules] oroboros74:
So here's a little annoyance I've been facing lately : when I go to use translate, text doesn't hook to the translate field and I have to close and reopen to be able to type in the translate field.

And if, once inserting text to translate, I move the cursor to the main text field (with the translated text) to change something, sometimes the translation gets copied and pasted twice.

Dunno if that makes sense, hoping you can replicate the problem!
[Xposed Framework Modules] Roughy:
The cursor doesn't physically appear in the translate textbox until I start typing, but it does seem to be working as intended every time.

May want to disable Exi and see if you can produce it then, as I don't think we're doing anything that could cause this particular behavior.

As for things going to hell when you edit the translated text, if you are physically tapping the main text box and moving the cursor you should be fine.

If you are using swipe-selection to move the cursor without exiting translation mode, you are going to have a bad time.

Swiftkey does not commit the text until you exit translation mode. When in this mode, it is basically pasting the entirety of the translation every time there is a change.

When the cursor is moved the text has to be committed, but Swiftkey isn't aware of this and proceeds to paste in the whole translation wherever the cursor ends up the next time there's a change, giving you two copies.

I suppose the solution to the latter would be to make it exit translation mode when we start swipe selection, though I would argue that Swiftkey should be handling this on their end by responding to the update event, as it is entirely possible for apps to move the cursor and cause the same behavior.

I suppose ideally we should set cursor selection up to ignore the real text box and somehow pipe into Swiftkey's fake one instead but that's a whole other can of soup.
[Xposed Framework Modules] Uraniam9:
[MENTION=6204033]K0media[/MENTION] if you want dark theme for swift key, use substratum theme

---------- Post added at 06:10 AM ---------- Previous post was at 06:08 AM ----------

We should be very grateful to Roughy for the quick updates
[Xposed Framework Modules] K0media:
Yeah, I'll check on that. But honestly, this is kinda becoming more like a headache than a solution. I'd go for flashing the real Xposed instead of trying bloody workarounds. All I'm afraid of is about bootloops and unexpected behaviors that stops me from using the device. Re-configuring everything again would be like a pain. Although MIUI eases the job with seamless backups on the Mi Cloud.

I tried to mess more with this framework, but it was just hopeless. And then it started to show the toast in this screenshot I've attached below.

And about this... Any reports?
[Xposed Framework Modules] K0media:
I know. I've already thanked him a lot for all the hard work he's been doing lastly.

The only problem is... I don't want to root my Xiaomi devices for... Security issues.

Besides, I'm getting old to mess up with the OS and firmware stuff. I know it isn't so hard to do, but understanding the process is just a big PITA in the beginning. Just to take care to do not do anything wrong. So I have to backup everything to the clouds and etc, etc, etc.
[Xposed Framework Modules] Roughy:
Oh yeah, that toast message is the same problem I encountered when trying it on Pie.

Unfortunately it would seem Tai-Chi runs into the same problem in your particular flavor of Android.

For some reason when XposedBridge attempts to invoke the original method ( happens when we hook it ), the VM decides it shouldn't have access to it, and it throws. Tai-Chi intercepts that bit and prevents the actual crash from happening.

Last time I concluded that it as a problem I could potentially work around, but since Tai-Chi restricts you to a specific version of the module, I have no means to test any potential solutions.

:(

Exporting/importing settings is something I should have done a long time ago.

Now that we've gotten to the point where I don't really intend to add any new features it makes a bit more sense to do.
[Xposed Framework Modules] fire_of_mind:
Hi.

I use this beautiful mod on mi5 rrd pie with edxposed. Now Swift became the best keyboard. THANK YOU! I have one request, one missing option : choose dialect characters to be show. I don't need every ąăåäãâáà or else - just one or two.

Do you think this is possible?

Wysłane z mojego MI 5 przy użyciu Tapatalka
[Xposed Framework Modules] Roughy:
You can customize the popup characters for any given key in the Popups tab of the Exi config app.

The interface is admittedly very confusing, so here's a quick refresher.

You first create a popup "parent" key, this is the key whose popups you want to modify.

The new item will start off with a single popup key defined. It sits in the center, above the + sign, which designates the character that will appear in the center when you long press the parent key.

If you hit the + key, you can define additional characters that will be inserted left-to-right, excluding the center one.

The exact display location will depend on the space available next to the key, but will always be in the same ordered as they are configured.

So create a parent key and add whichever characters you want to appear in the popup. Once you're done, check the "delete existing popups" checkbox to remove the stock ones so it will only include the ones we just configured.

Here is a quick video of me setting @ as the center popup character, and adding two of the other ones, before removing the rest: https://streamable.com/a2h5f
[Xposed Framework Modules] fire_of_mind:
I love you. I want to make a donation but PayPal charges some fee... How to donate you?

PS can I set some shortcut for changing input language?

Wysłane z mojego MI 5 przy użyciu Tapatalka
[Xposed Framework Modules] XtraWater:
Is there any way to make the space bar larger? On my new phone I tend to hit the dot button when I want to press the space bar.
[Xposed Framework Modules] Roughy:
That is not currently a thing.

A long time ago I experimented with dynamically messing with the layout, but the Swiftkey changed how everything worked and I ditched it.

These days Swiftkey uses a constraint layout for most of their stuff. Constraint layouts are cool because we could theoretically make a change to one view and have the rest just make it work.

Constraint layouts are not cool because they are an external library, not something that's native to the Android platform itself.

The rules used by constraint layouts to determine what goes where are silly complex, and since they're an external library I can't just use the same library to make changes, because they are technically not the same ( module classloader vs swiftey classloader ).

This means all of this has to be done via reflection which would be hell.

I would know, I have tried.

Also I generally want to avoid adding new stuff at this point, but in this particular case it's for a very good reason.
[Xposed Framework Modules] paarkhi:
Paypal fee is very nominal (I know because I've donated), do not hesitate to donate just because of Paypal fee, just a friendly advice. if you felt bad then sorry.
[Xposed Framework Modules] biebie29:
I had latest exi v 2.1.3 from exposed framework alongside swiftkey v7.2.4.22 on my Samsung note 4 running 6.0.1 and swiftkey keeps on crashing so I don't know why but the only setup that still works for me is swiftkey v7.2.1.17 alongside exi v1.7.2 if any one could tell me why the latest version is not working please do so im running custom rom v34 from erobot with magisk latest version v18.1 and magisk manager v7
[Xposed Framework Modules] fire_of_mind:
I've donated too ☜(ﾟヮﾟ☜)

Wysłane z mojego MI 5 przy użyciu Tapatalka
[Xposed Framework Modules] Techvir:
You are one of the best dev and most responsive dev that I have seen in XDA. Kudos to your great work...
[Xposed Framework Modules] Roughy:
ヾ(❀╹◡╹)ﾉﾞ❀

( *• ̀ω•́ )b
[Xposed Framework Modules] Tchania:
Roughy deserves donations with or without a fee. I'm thinking of donating again later on.
[Xposed Framework Modules] Uraniam9:
I know him better now :)

I support your statement [MENTION=537184]Techvir[/MENTION] he is one of the responsible and cool guy I have seen across xda or outside forum

Thank you Roughy [emoji6]️

---------- Post added at 09:05 AM ---------- Previous post was at 09:01 AM ----------

p.s [MENTION=537184]Techvir[/MENTION] have you joined Xda forum with Chainfire [emoji848]️, I was playing with cartoons that time [emoji23]️
[Xposed Framework Modules] RaphaelGreen:
I have Android 9 (OOS beta 26). I have the latest EdExposed. I download Exi for SwiftKey and Installed. And...It doesn't work at all...Why? What I did wrong?
[Xposed Framework Modules] Roughy:
I'd ask you to check xposed's logs, but I forget if EdXposed still includes those.

Failing that, logcat filtered by the tag "Exi/", which would at least tell us if EdXposed is loading the module. This happens when Swiftkey is launched.

If it is successfully being loaded but fails afterwards, something may be wrong with the module, and hopefully the logs will tell us what.

If not, then something is wrong with EdXposed, in which case you are probably going to have to hit up their support.

Remember that on first launch after installing this module, and after every Exi or Swiftkey update, we perform a one-time setup process that can take from 10 to 40 seconds depending on your device. If your are having problems opening the keyboard, it is advised to open the Swiftkey app directly, and wait for it to fully launch. It will display the splash screen until it is finished.

Do also make sure you're using the correct version of this module with the corresponding supported version of Swiftkey.

The only EdXposed-specific issue I am aware of is that the Keyboard will occasionally crash a couple of times the first time it is opened. After that it seems to work fine, but this problem can be exacerbated on systems that make a habit of killing the keyboard service.
[Xposed Framework Modules] Roughy:
2.2.0 [ 01.04.2019 ] - Backup & Restore, Compatibility ( Stable: 7.2.6.28 Beta: 7.2.7.16 )

Changes in 2.2.0

Fixed

- Compatibility targeting 7.2.7.16 ( location feature unlock)

Added

- Settings Backup & Restore

The Xposed Installer app does not appear to be refreshing properly and may not list the latest version.

Please download it directly from the Xposed Repository below using a browser.

Download:

Exi for Swiftkey on Xposed module repository

Notes:

Backup & Restore [MENTION=5044560]oroboros74[/MENTION] [MENTION=6204033]K0media[/MENTION] [MENTION=3484543]paarkhi[/MENTION]

I'm fairly sure this has been requested by more people, but a quick search only turned up a few.

Backup all the things! Restore all the things!

Under settings - backup & restore, you will now find the option to backup all your settings to a zip file, and restore everything from an existing backup.

The backup can be saved to a folder on your device, or you can use Android's share function to send it to another app ( gmail, google drive etc ).

The zip file will contain Exi's database, its shared preferences, and any custom sound files you had configured.

I am super lazy and we basically just copy the files to a zip, and restore them by... replacing them, then restarting the app.

Seems to be working fine, but if it comes down to it you can also manually place files in the app's data directory.

I would have liked to dump it directly into google drive, but it turns out google is deprecating that particular feature.

You can still use the share function to save it directly to your google drive, and also restore it from there.

In action: https://streamable.com/yy4sa
[Xposed Framework Modules] Segart:
Can you add a function by which you can customize the insertion of your templates for double or triple pressing a key (for example, pressing twice on key 7 inserts 777-25-15). This is an analogue of tweak Doublecut for iOS 8.
[Xposed Framework Modules] oroboros74:
I'm already doing this! Check out the settings.

I have "hh" set to "how's it going?" and it shows up as the main suggestion.

Or am I misreading you?
[Xposed Framework Modules] Segart:
Not certainly in that way. Double-clicking should immediately insert the result without additional selection. But your functionality is even wider. Thank!
[Xposed Framework Modules] Artnig:
Nice module friend. I have installed it and enjoyed the additional features to my keyboard. Thanks
[Xposed Framework Modules] Roughy:
[MENTION=6953284]bkkzak[/MENTION] [MENTION=9380335]Uraniam9[/MENTION]

https://github.com/ElderDrivers/EdXposed/releases/tag/v0.3.0.0_b2

>Fix bootloop, FC caused by installing hooks while GC is running

Looks like the gc-while-hooking crash has been fixed on EdXposed's side since about a month back.
[Xposed Framework Modules] bkkzak:
Yes it worked well! I have since moved to the S10, so unfortunately that means no xposed for me (may look into Tai-chi). No worries though the S10 is super feature packed
[Xposed Framework Modules] paarkhi:
even though I've pressed the thanks button but wanted to thank in the post for fulfilling my request for backup and restore, thank you, it works as intended :good:
[Xposed Framework Modules] tlf55:
Hi dev, can you make an option to come back to the main keyboard screen (the one with the letter) after pressing space key when we are on the "123" keyboard?

So it would be more like gboard when going to type a number after pressing space it comes back to the main keyboard

Thanks
[Xposed Framework Modules] Aldideos:
Hi,

I installed Exi 2.2.0 and SwiftKey from the play store (7.2.7.20). In the edxposed log it seems exi is loaded but the quick menu doesn't work, also the swipe mode doesn't work.

Do you know how can I fix it?

Thanks.

Edit.

Solved wiping the art cache.
[Xposed Framework Modules] RaidenHUN:
Hi!

It doesnt work for some reason. Im on Pie, have exXposed, Swifthey 7.2.7.20, and the new module, but it doesnt work...

Should I set a setting or is there a trick to activate it?

---------- Post added at 09:31 AM ---------- Previous post was at 09:30 AM ----------

Same.

Was you able to solve it?
[Xposed Framework Modules] kos25k:
hello.should we update today swiftkeyboard version from playstore?

another 2great features i want to ask from dev,is to have option to manually insert punctuations while on speech to text.every time i want to put a dot etc...i have to pause speech to text,manually select punctuation and then again press speech to text.the 2nd is to be able to set downloaded themes while we have disconnected our account.For some reason i don't feel nice when my google account is connected to swiftkeyboard sorry.thanks dev for everything.
[Xposed Framework Modules] Roughy:
Exi for Swiftkey 2.2.1 release

2.2.1 [ 26.04.2019 ] - Maintenance & Translations ( 7.2.8.25 Beta:7.2.9.36 )

Changes in 2.2.1

Changed

- Compatibility targeting 7.2.9.36 ( Nothing was broken )

- Translations ( Russian )

The Xposed Installer app does not appear to be refreshing properly and may not list the latest version.

Please download it directly from the Xposed Repository below using a browser.

Download:

Exi for Swiftkey on Xposed module repository

Notes:

Updates the profiles that are used to identify the classes and methods we hook.

Not really necessary since nothing was broken, but it was a good excuse to update [MENTION=4893555]AlexLong[/MENTION]'s excellent Russian translations.
[Xposed Framework Modules] Roughy:
Possible, but I don't really intend to add any new features to this module.

I have other things to work on, so it will remain in maintenance mode for the foreseeable future.

I will keep existing features working and keep it compatible, but probably not add anything new.

Sorry.

I usually the top post of this thread with the latest compatible version within a day or so of release.

They don't always release the update to all users at the same time, so there can be a bit of a delay sometimes.

The latest versions (stable and beta ) in the Play store are compatible. I also just pushed an update ( 2.2.1 ) with some minor changes, but 2.2.0 should work fine too.

Inserting punctuation without pausing voice recognition... might be possible, but I would have to look into it to say for sure.

However, as I mentioned above, I don't currently intend to spend any time adding new features to this module.

Making you log in to access additional themes is... kind of Swiftkey's monetization method.

It is very easy to circumvent, but doing that might garner unwanted attention which I would rather avoid.

Another user did manage to unlock all the themes by messing with the files in Swiftkey's private storage, so you might want to give that a look: https://github.com/Nordskog/SwiftKeyExi/issues/48
[Xposed Framework Modules] kos25k:
thanks dev for all.if someday you are willy to sacrifice some time for voice and punctuation just quote me[emoji41]️ As unfortunately noone keyboard i tested has this option!

Στάλθηκε από το Redmi Note 5 μου χρησιμοποιώντας Tapatalk
[Xposed Framework Modules] rolear8:
I moved to Pie and xposed stopped working is there a way I can use exi for swift without it or? Thank you
[Xposed Framework Modules] n0j0e:
https://xdaforums.com/showpost.php?p=78662325&postcount=1

Sent with much love & Android. OnePlus 5T
[Xposed Framework Modules] rolear8:
Thank you brother I appreciate it, I will check it ?
[Xposed Framework Modules] aadi50:
i am using exisoft on edxposed 4.0.0 beta. I am having problem with popup keys. Its seems unstable.

Most of times popup keys doesnt even occurs.

Sometime even if popup occurs somehow and If I edit keys then popup stop showing.

And Sometimes I am getting popup on some keys but not on others.

It was occuring on previous version also. I have no idea. Is there something I am missing.
[Xposed Framework Modules] Roughy:
Does the problem affect only popup-keys inserted by this module, or all popups?

Does the problem persist when no popups are configured? Does the problem persist when the module is uninstalled?

Please also include your specific version of Android, Swiftkey, and the Exi for Swiftkey module.

Remember that each release of Exi targets a specific version of Swiftkey, though I keep ontop of any breaking changes and push updates accordingly. The most common cause of things sorta-kinda-but-not-really working is an old or incorrect version of the module being used.

If there is anything interesting going on in the xposed logs those would also be helpful, but any problems are likely to only show up in logcat (filter by tag "Exi/" )
[Xposed Framework Modules] aadi50:
I mean to say that... that I dont get edited popups which I assigned through exi soft module. Default popups from swiftkey works fine always.

exi soft version 2.2.1

swiftkey version 7.2.8.25

I will see If i can provide logs.
[Xposed Framework Modules] Roughy:
Could you show me how the popup is configured in Exi ( screenshot of the popups tab would suffice ) ?

Also, could you specify what language you are using? There are some layouts that are a bit broken, though generally only the fancy chinese ones.
[Xposed Framework Modules] aadi50:
I use english...
[Xposed Framework Modules] aadi50:
Okay so I cleared data from exi and set popuos again... Then killed swiftkey and exi amd reopened. Popups are working for now. Problem is gone. also updated Edxposed...