yashsingh1/xdaforums huggingface dataset:
[Xposed Framework Modules] Roughy:
That is excellent news.

The exception messages in your are not related to this module; Exi does not use XSharedPreferences.

The toolbar collapse/expand button is now hidden if you have enabled Maximize Predictions in the settings.

You can instead swipe up/down on the predictions to show or hide the toolbar. This was noted in the 2.6.6 release post.

Works like this: https://streamable.com/3biam

I have noticed an issue where this will eventually stop working, probably if the keyboard has not been used for a long time or you jump between several different layouts.

This affected the previous implementation of the button when maximize predictions was enabled too.

I /may/ know what the cause is, so if nothing else pops up I guess I'll be doing 2.6.7 with that one fix soonish.
[Xposed Framework Modules] alwynjoshy:
Thanks for the quick response.
[Xposed Framework Modules] alwynjoshy:
I think few of new features is not updated in main OP. Please update it. Also new features of emoji keyboard extend feature too. So that user can know that. Thanks for the great work [MENTION=6797900]Roughy[/MENTION]
[Xposed Framework Modules] reaperfromhell:
So after the update, I don't get the log error anymore so I'm guessing whatever you did, fixed it.

Yet like you predicted I still don't get any NSFW gifs, so I'm pretty sure it has something to do with the regional settings.

I did as you advised and changed the settings on Bing desktop logging in with my google account which is the one I use for swiftkey.

And although I was able to get it working on desktop, on the phone it still shows up filtered.

I noticed that in swiftkey my account had no avatar, so just for the sake of testing, I added an avatar to my account on bing desktop, hoping if it would sync back to swiftkey and it didn't.

So it seem like right now I'm getting the location filtering you mentioned, and I'm not sure how I can toggle it off.

The other thing I also noticed is that even the regular bing search was being filtered and it didn't have my account logged in.

I did manage to set it to show NSFW things by setting the safe search to off and the location to the US, unfortunately it had no effect on the gif searching part of swiftkey =/

I've attached logs of me opening swiftkey and searching for gifs after force closing both exi and swiftkey, in case it's helpful.

If you need anything else let me know ;)
[Xposed Framework Modules] alwynjoshy:
This feature explanation

Hey,

Anyone could explain what is these features
[Xposed Framework Modules] Roughy:
This is something that's been around since the initial release, and actually is covered at the very top of the guide post: https://xdaforums.com/showpost.php?p=73264023&postcount=2

Copy-pasted here for your convenience:

"Shift" and "Delete" are only used by swipe selection, specifically the "swipe from delete" and "swipe from shift" options for selection.

By default these will use ... the shift and delete keys, but you can configure different keys to be used instead.

The third, Modifier key, is explained well enough above.

By default you would hold the 123 symbols key and tap C to trigger the Copy hotkey, but if you add "Space" to the modifiers key list, you can also do space + C to trigger the same action.
[Xposed Framework Modules] Roughy:
Exi for Swiftkey 2.6.7 release

2.6.7 [21.03.2020 ] - Toolbar toggle fix, Bing GIF NSFW region filter workaround ( Stable: 7.5.0.11 Beta: 7.5.1.5 )

Changes in 2.6.7

Fixed

- Replacement toolbar toggle not working after some time

Added

- Option to set GIF search region to US ( other regions filter NSFW results regardless of SafeSearch setting )

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

My own mirror of all versions

Notes:

Toolbar toggle

When Maximize Predictions is enabled we replace the toolbar toggle button with a vertical swipe gesture, or a smaller button in the corner if you elect to hide predictions completely.

Since we need to hide the original button anyway we keep a reference to all instances created by Swiftkey, and just trigger a click event to make it do its thing when we need it to.

Previous we would go through the list of saved references and trigger this action on the first one that had not been garbage collected yet. Since they are added in order, this would always refer to the oldest copy. Clearly it's a good idea to use the newest instance, since the older ones eventually seem to... stop working. We do that now.

GIF search region [MENTION=3608157]reaperfromhell[/MENTION]

As noted in the release post for the previous release, Bing search will now filter NSFW search results in certain regions, completely ignoring the SafeSearch setting. Next to the existing NSFW and More Sources options, you will now find a "Use US region" option, which will return the unfiltered search results from the US region instead. You'll probably want to enable all three of them.

There are surely better ways to search for porn, but I am not judging.

[MENTION=3608157]reaperfromhell[/MENTION]

Your log doesn't seem to include any of the stuff we print to logcat, but there are a bunch of messages from Sandhook that show all our hooks being added.

There's a "W chtype.swiftke: Unsupported class loader" line after every single one of them though, but if other hooks are working fine then I guess those can be regarded.

Might want to ask the EdExposed people what that means though.
[Xposed Framework Modules] aadi50:
Hello dev, thanks for the nice work.

I am facing an issue while entering words drom key popups.

The issue is - Suppose I set one of popup text for key 'A' to 'k1j2m3d4e9'... i.e, sth to alternate number and alphabets... then when I insert it in textbox from keyboard it is entered as 'kjmde12349' i.e, alphabets and then numbers.

Sometimes only few characters are only inserted from the word.

like 'k1j2' only..

Some times/apps it is inserted fine eg. in google apps. But mostly not.

Can you look into this?
[Xposed Framework Modules] Roughy:
I had a run through a bunch of apps but couldn't get it to do anything funny.

Could you name a few specific apps where you were able to reproduce the issue?

Is the problem intermittent, or does it behave the exact same way with successive inserts during the same session?

Does the text preview display correctly?

Also Android version, Swiftkey version etc please.
[Xposed Framework Modules] oroboros74:
I hope I'm not being insistant, but I know [MENTION=6797900]Roughy[/MENTION] you're usually good with replying... any chances of this becoming a thing?

https://xdaforums.com/showpost.php?p=81579125&postcount=1209

And thanks as always!
[Xposed Framework Modules] christantoan:
As long as it's using SwiftKey as its base, I think it's going to be taken down quickly.

Otherwise, it'd take a lot of time & resources to create a keyboard from scratch.

AFAIK
[Xposed Framework Modules] aadi50:
Sorry I forgot to mention, this happens in password field. I have experienced this on many apps and web.

I am attaching a link to a video clip in which I used Roboform app. I inserted the same popup value in both username and password field but password field gets the wrong value. Please check.

https://drive.google.com/file/d/10xTqJDyHZEmlg-Qp-HBqUlX_DU_3UFXY/view?usp=drivesdk
[Xposed Framework Modules] Roughy:
Successfully reproduced. That is really bizarre.

It's not really a bug on our end. Swiftkey's popups were only ever intended to hold a single character, so this is probably just a result of them making sure modifiers go in the right order or something. Weird that it's only a thing with password fields though.

Solution will probably be to check if we're dealing with a password field and inserting the text ourselves, instead of letting Swiftkey handle it like one of its own popup keys.

If I recall correctly the popups are treated the same as other keys, so we're already set up to intercept them. I forget if we keep track of the instances though.

I'll probably get that sorted by the next update.

Long-press would interfere with using it as modifier key. A swipe similar to what we're doing to replace the toolbar toggle button would probably be more sensible.

We could have multiple swipe zones on the predictions bar with different actions. Left side would toggle toolbar ( since that's where the expand button would normally be ), and the much more accessible right side would would toggle numbers.

Could also make it a quick-menu action, but given its location, swiping the predictions bar seems more appropriate.

I guess we could just add actions for the whole lot and make the predictions bar swipe zones configurable, but the I'd want 3 zones.

So configurable one, two, or three zones...

I mean I guess the lazy approach of just adding them to the settings instead of making custom config widgets for them would be pretty straight forward.

Thoughts?
[Xposed Framework Modules] oroboros74:
Would something like swiping from Numbers key to the middle of the Predictions bar be an option?

I'd also be happy with something like maybe 1) tap "123" to switch to the numbers/chars layout, and then 2) long-press the "abc" key. Basically: regular tap on "abc" shows the keyboard, long-press on "abc" shows keyboard plus numbers row.

This might also be nicer because it's a little more hidden (using up a more "hidden" space for something that makes sense, leaving config zones for other actions since this is not one regularly used), it's a little more deliberate (avoiding unintended actions from the user), and it sorta "makes sense "(as opposed to some arbitrary swipe/key combo action).
[Xposed Framework Modules] death_jax:
I'm on Android 10, Magisk, EdXposed SandHook and latest exi v2.6.7 but, although I never enabled maximize prediction (in fact I have normal predictions and the button on the left in order to open toolbar), I've a frustrating thing that, when I write something, the toolbar act likes it's enabled maximize prediction and show itself :confused: .

And, in addiction of the above, when the toolbar (automatically) shows itself, some letters that I'm writing go away and I must hide toolbar, delete wrong letters and write again the word :eek:
[Xposed Framework Modules] Roughy:
Arguably you'll probably want to access the numbers more often than the toolbar.

Navigating to numbers & symbols layout then long pressing seems a bit /too/ obscure, and probably too many steps. If you've got the numbers & symbols panel open you might as well just use it.

Vertical swipe on the right side of the predictions bar ( i.e. same way you can toggle the toolbar now, but split into left/right zones ) also seems like a good option location wise, seeing as that's where the number bar appears.

"Maximize predictions" refers to removing the black space on the left and right of the predictions: https://i.imgur.com/0WvZ079.png?1

Your description makes it sound like it is not this feature, but the toolbar that is expanding/collapsing while you are typing.

If you are hitting the predicted word in the predictions bar you might also be accidentally triggering the vertical swipe gesture to toggle the toolbar, in which case we could adjust the sensitivity a bit, but I can't really think of anything that would trigger this behavior while simply typing.

Could you record a video of this happening?
[Xposed Framework Modules] death_jax:
Yes, I tried that if I swipe up on prediction, the toolbar went up.

But, maybe I explained wrong.

In the changelog you wrote that only if the maximize prediction is active the swipe up works...

I never enabled it, so I don't want to swipe on prediction to show toolbar, because I have the button!! I don't want that feature, it's a bit frustrating (obviously for me, that I have normal toolbar)
[Xposed Framework Modules] Roughy:
The vertical swipe gesture is enabled regardless.

I'll disable it in the next update, and make it a bit less sensitive when enabled.
[Xposed Framework Modules] f41lbl0g:
[MENTION=6797900]Roughy[/MENTION] would you consider adding simple theming options to SwiftKey (just color of keyboard letters, and color of key symbols). On android 10, assets cannot be themed anymore so custom themes for swiftkey cannot be applied through Substratum. Additionally split apk's have made editing the apk quite hard.
[Xposed Framework Modules] death_jax:
Thanks a lot for the comprehension :)
[Xposed Framework Modules] mario0318:
+1 on disabling toolbar swipe by default

I also find myself having to correct words as I swipe and the moment I tap to insert a prediction word it detects it as a swipe up gesture instead of a tap, which may be the case since it's something I've gotten used to over the years.

It's somewhat insane for the SwiftKey developers to make that an inconfigurable feature after years of it being a toggle button. Not to mention forcing 6 items to be on the toolbar, with the useless and immovable Information/Support icon, and taking no account of how easily they are to trigger or mistap when they're so close to one another. Frustrating to say the least.
[Xposed Framework Modules] Roughy:
Enabling locked themes and all that shazz would be trivial, but forcing you to log in to use them is kind of Swiftkey's monetization model.

Unlocking them would be more of a piracy thing which is probably not something we want to mess with.

I'll use the same excuse for not messing with theming at all, but that's mainly because I don't have the time to spend on figuring out and maintaining new features ( if they require new hooks ).

Keeping everything that's already there working is enough work as it is.

Ahaha... yeah the toolbar swipe is one of Exi's things, not Swiftkey's mistake.

It will remain a thing when expand predictions is enabled, but will be made far less sensitive. Maybe swipe-up only instead of allowing either direction.
[Xposed Framework Modules] mario0318:
Wait. So the swipe to open toolbar has been Exi all along? Did that get added to coincide with the redesigned SwiftKey app? That threw me off entirely and figured it was Microsofts doing.

Well, if it is Exi doing that, please kindly and please do highly consider allowing completely disabling the swipe gesture to toggle the toolbar. If it has to be activated as swipe gesture only, perhaps allowing sensitivity of 0 so as to entirely minimize any chance of accidentally swiping near the prediction bar?
[Xposed Framework Modules] Starnia:
Is there a way to make Shift + the Arrow Keys select text, like with a normal hardware keyboard? (As far as I know, this is even how keyboards plugged into Android behave?)

The swiping doesn't provide me the kind of precision or granularity I'd like and I've searched all over the Settings to see if Shift + Arrows was an option since it just seems so obvious to me.

If I'm missing something please let me know! :o
[Xposed Framework Modules] death_jax:
Yes, please, consider to COMPLETELY disable it with a switch ??

Maybe me and mario0318 wrote something wrong, but THERE IS A BUG in the latest Exi version, because the swipe on the toolbar is active also WITHOUT the maximize prediction enabled, very frustrating!!
[Xposed Framework Modules] Roughy:
That is not something this module currently supports. Implementing it should be fairly simple though ( MOD + arrow keys ), so add an issue to the github repo and I'll add it the next time I do an update.
[Xposed Framework Modules] aadi50:
Bravos dev... You are super awesome and brilliant..!! Popups are working fine now. Thank You.
[Xposed Framework Modules] Gruber008:
Thanks for the update once again.

Since SafetyNet got tripped by edXposed I was wondering if this module is compatible with Taichi (Magisk version) on Pie?

Thank you in advance.
[Xposed Framework Modules] Roughy:
Going by this issue on the github repo it does not.

Last I checked taichi would only let you use it with specific white-listed versions modules, and you were even limited to specific versions of them.

From what I recall Taichi was causing something to crash at the same point in the hooking process every time, but since every module version needs to be whitelisted it was impossible for me to attempt to fix it, as I could not debug or test any changes I made with Taichi.

Has this changed? Does Taichi still only run whistlisted versions of modules?
[Xposed Framework Modules] mario0318:
You are the best, sir. Thanks to your dedication, this version 2.6.8 has finally snipped one of the biggest thorns that remained on my cactus. The toggle gesture for the toolbar, now configurable to strictly open by button... Just Beautiful.

Saying Tom Hanks for your work just doesn't seem like enough. So instead I'll send a couple bucks your way.
[Xposed Framework Modules] Gruber008:
Well, there are supported versions actually, only the last 2 are not there.
[Xposed Framework Modules] Roughy:
So still whitelisted by version.

I forget if there was anything useful in the logs when it failed, but the conclusion was that I cannot really make any attempts to fix it when I cannot test the changes I make.

Back then it worked fine on Android 8 and below but not on 9 and beyond, I imagine that's still the case.

If someone can provide useful log info ( logcat ) of the failure during the hooking process and it is very clear what the problem is I might be able to fix it blindfolded, but even then we'd have no idea if the fix already worked until the Tai-Chi dev updates the version whitelist.
[Xposed Framework Modules] Gruber008:
Sure, I can give you logcat if you want, just tell me when - I mean, do I just need to enable module in Taichi and then "catch" logs?

By the way, when I restored my settings and enabled it Exi kept crashing when I tried to enter the app (screenshot below) , but the silly thing is that I was still able to use key modifiers and toolbar swiping but emoji tab was fully broken.
[Xposed Framework Modules] Roughy:
The hooking process is performed when the application is started, which for a Keyboard service like Swiftkey happens on boot.

Generally you'd want to force-close Swiftkey, and then open the Swiftkey app. Once it proceeds past the splashscreen the hooking process has finished ( or failed ) and anything relevant should be in logcat. Could open the keyboard itself too I Guess for good measure.

Have you successfully restored that backup before?

The database backup is performed by literally copying the database file, so unless the database is modified during the backup/restore process it really shouldn't end up being corrupted.

Each emoji panel creates its own table listing its emoji. Evidently panel 14 is defined, but not the corresponding table that should list its emoji.

The only advice I can offer is to clear the app ( Exi for Swiftkey ) data and attempting to restore again.

If all else fails I'd be interested in having a look at the backup zip file ( or just the .db file from it ). It probably won't tell us what went wrong, but I should be able to fix your backup so it restores properly.
[Xposed Framework Modules] Gruber008:
Yes, you're actually right, when I configured Exi's settings it's actually working properly, even on the latest version 7.5.1.7.

That means the importing settings actually did cause app to malfunction and/or be broken.

Backup is added below.
[Xposed Framework Modules] Roughy:
Thanks. As expected there is a listing for a keyboard ( i.e. not the templates ) with an ID for 14, but the corresponding list of emoji is... is not there.

The most likely explanation for this I can think of is that some changes were not entirely written to disk before we backed up the database. We make damn sure to close it before we copy it, but here we here.

The god news is that this is the first report we've had of this, so it's probably a fairly rare issue.

I've edited the database to remove the listing for panel #14. You'll be missing the ಠ_ಠ panel in your configuration, but you can just add it again from the templates, or reset all the emoji from the backup/restore menu.
[Xposed Framework Modules] Starnia:
Wanted to thank you so much for this. I wasn't sure what kind of response I would get and this is beyond my wildest expectations. I was expecting I'd have to drum up a discussion about it for a few months, present it more formally, and so on, haha. Like petitioning Mozilla if you've ever had the experience. I wish you the best and I'll go ahead and add it soon. I'm a bit under the weather (not COVID, thankfully) so it might be a day or two. :good:
[Xposed Framework Modules] danbest82:
First of all thanks for this mod and keeping it updated. I can't use SwiftKey without it. With the latest update and latest SwiftKey beta on Android Oreo 8.0 with edxposed, I get a weird behavior. It doesn't break anything, just figured I'd report it. As part of testing, I have completely disable Exi and it goes away. I have also wiped my caches and that didn't help. The issue is that when I long press a prediction I want to remove I get "icon_IMEGoKey" on the prediction bar and typed out whether I select OK or cancel. Like I said it doesn't break anything, I just delete it and write what I want. Haha. I uploaded some screenshots to help.
[Xposed Framework Modules] Roughy:
Welp, there's the first side effect of intercepting and messing with popup keys.

I guess the predictions are also treated as keys, and we've grouped them in with the other popups. Since the content is greater than a single letter we intercept and insert it ourselves, resulting in this mess.

I guess we need to keep track of which popup keys are actually inserted by us, and make sure not to mess with anything else.

Thanks for the heads up. Hopefully that's the only thing I broke.
[Xposed Framework Modules] danbest82:
Hey hopefully but sh*t happens right? And you get it fixed when you do. It's not like it destroys functionality. ??*♂️️ I haven't noticed anything else but if you need me to test anything I have no problem doing that. Like I said, I love Exi and can't use SwiftKey without it.
[Xposed Framework Modules] :
Did anything change in how Hotkey swiping works? I set up "L" as the New Line hotkey but it no longer works when swiping from the space bar. Works fine when using Modifier Key + L though.

And fwiw I like how you keep mentioning "us" changing things, it makes me feel very involved in something aside from just being an entitled user ?
[Xposed Framework Modules] ahb83:
I noticed this when removing a word from the prediction bar. When I long pressed it, to remove a word from predictions, the action of doing so inputted "icon_IMEGoKey" where the cursor was.

It only happens on the long press action, ask I don't even push cancel or remove, it's done right away.

Attached picture shows

Testing:

Long press on prediction bar

And the insertion of "icon_IMEGoKey"
[Xposed Framework Modules] Roughy:
The swipe-to-hotkey thing is only a thing because I hadn't come up with the idea of the quick menu yet; I'm surprised anyone is actually using it.

It doesn't seem to be broken on my end. Does the quick menu work? What language layout are you using?

Thanks for the heads up. This has been noted and will be fixed in the next release.
[Xposed Framework Modules] Incrovantilist:
Hey [MENTION=6797900]Roughy[/MENTION] thanks for your efforts in building this mod. Recently started using and it's been awesome.

I just have a feature request if possible.

Can u implement an automatic incognito mode trigger when using whitelisted apps?
[Xposed Framework Modules] :
It works when I add new options to the quick-menu.

In hotkey mode only the default swipe gestures work (the default hotkeys). None of the hotkeys I add manually are recognised when swiping, but they are when using modifier+key.

Language is set to English (UK)/qwerty

Out of the two up-swipe modes the hotkey one felt more intuitive to me, but I can learn to work with the quick-menu ?
[Xposed Framework Modules] n0j0e:
Anybody knows why clips in the SwiftKey clipboard gets deleted after some time except sticked clips?
[Xposed Framework Modules] oroboros74:
That's by design. I think they are kept only for 3 hours or something like that. It's on the SwiftKey website.