[MOD][Xposed] Google Search / Now API - Xposed Framework Modules

Requires Xposed Framework!
This module adds an API to the Google Search app, commonly referred to as Google Now.
This allows developers to make plugins that react to searches done in Google Search.
As of right now, the developers cannot interact with the cards UI, not sure how feasible that is, if it is, it'll be in future versions.
(I showed this on reddit some days ago: http://www.reddit.com/r/Android/comments/1rmvxs/heres_a_preview_of_my_google_search_now_api/)
Screenshots:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Demos:
Lyrics fetching: https://www.youtube.com/watch?v=OsNCHo5JZuA
Song recognition outside US with Shazam: https://www.youtube.com/watch?v=ThbW5glU7zM
AutoVoice: http://www.youtube.com/watch?v=usjqq5hwlSE
Compatibility:
Any 4.1+ device that can run Xposed Framework. ICS not supported at the moment, not sure how recent the Google Search port is.
Download:
Please note that this is a 1.0 release, it may or may not have bugs.
http://repo.xposed.info/module/com.mohammadag.googlesearchapi
Source:
This is open source, you're free to contribute to the source, but you're in now way allowed to release this anywhere else.
https://github.com/MohammadAG/Google-Search-API
Plugins:
This doesn't do anything without plugins, which needs developer support. More on that below. Here are some fully working examples:
Music Controls: Control music playback. Supported commands: "play/pause/resume music", "play songs by <artist>", "play song <title>", "next/previous track/song", "volume up/down/max", "what song is this" opens in Shazam, requires Shazam, no idea what happens without it.
Voice Toggles: Turn on/off Wi-Fi, Mobile Data, or Bluetooth.
AZLyrics Viewer: Shows lyrics for songs from AZLyrics.com. Supported commands: "show lyrics for <song> by <artist>", exact syntax required here, artist is not optional.
Autovoice, by @joaomgcd, run Tasker commands from Google Search.
Plugin sources:
Music Controls: https://github.com/MohammadAG/GNAPI-MusicControls
Voice Toggles: https://github.com/MohammadAG/GNAPI-VoiceToggles
AZLyrics Viewer: https://github.com/MohammadAG/Android-AZLyricsViewer
Developers:
Implementing plugins is as easy as copying one file to your source, and implementing a BroadcastReceiver that listens for the search queries (sent as text). If you're implementing a UI, implement TextToSpeech for voice feedback, if not, use GoogleNowApi.speak for voice replies.
All this is demonstrated in the examples above.
You'll also need to add a permission to AndroidManifest.xml: "com.mohammadag.googlesearchapi.permission.ACCESS_GGOGLE_SEARCH_API"
Remember that any package needs one activity to be started to work, see the music controls example for a way around that.
Of course, you're free to make your plugins free/paid/whatever.
What are the two checkboxes for?
If you're using GEL, you basically need to have the first checkbox checked. This is because GEL uses an overlay for the first part of the search, then opens the usual search app without the transitions. This means that if a developer already started an activity, it'll be sent to the background cause search was started after it.
Second checkbox prevents duplicate searches, this can be useful (you'll see how), and not so useful (when you do two volume ups/downs). Experiment as needed.
Support development
This took quite a lot of research, Google Search's code is huge, if you found this useful, please consider a donation.

Downloading and trying on note 3 asap
Sent from my SM-N900T

Any way this could be made to support Tasker out of the box? Basically if it sent a broadcast intent without the need for a permission and such.

Cptnodegard said:
Any way this could be made to support Tasker out of the box? Basically if it sent a broadcast intent without the need for a permission and such.
Click to expand...
Click to collapse
It needs a permission right now, but I plan to make a Tasker plugin.

Hi MohammadAG.
What do you think about unlock Remote API? I tried to do this, but I have very limited time.
The problem is reconstruction of the API. Reverse engineering, reverse, reverse
Code:
<service android:name="com.google.android.sidekick.main.remoteservice.GoogleNowRemoteService" android:permission="com.google.android.apps.now.REMOTE_ACCESS" android:process=":search">
<intent-filter>
<action android:name="com.google.android.sidekick.shared.remoteapi.IGoogleNowRemoteService" />
</intent-filter>
</service>
In latest version require signature (after upload my module Google change it)
Code:
<permission android:label="@string/permission_remote_access_label" android:name="com.google.android.apps.now.REMOTE_ACCESS" android:protectionLevel="signature" android:description="@string/permission_remote_access_desc" />
but in android:versionCode="300207090" android:versionName="2.7.9.789824.arm" only hook function:
Code:
<permission android:label="@string/permission_remote_access_label" android:name="com.google.android.apps.now.REMOTE_ACCESS" android:protectionLevel=">>>normal<<<<" android:description="@string/permission_remote_access_desc" />
Code:
checkForValidSignature(int paramAnonymousInt)
API function is very interesting: ht tp:/ /wk le j.to/g38qK
To prevent spam on the XDA forums, ALL new users prevented from posting outside links in their messages. After approximately 10 posts, you will be able to post outside links. Thank you for understanding!
Click to expand...
Click to collapse
It requires changing the settings in teamdog "section", which makes my module. Latest version of the module in the repo does not support latest Google Search. I did fix, but not yet released. Do want it it?

Dzakus said:
Hi MohammadAG.
What do you think about unlock Remote API? I tried to do this, but I have very limited time.
The problem is reconstruction of the API. Reverse engineering, reverse, reverse
<snip>
API function is very interesting: http://wklej.to/g38qK
It requires changing the settings in teamdog "section", which makes my module. Latest version of the module in the repo does not support latest Google Search. I did fix, but not yet released. Do want it it?
Click to expand...
Click to collapse
That's actually interesting... I didn't notice that part, mainly cause I thought sidekick was the name of some Motorola device.
The fun part is CardResponse implements Parceable, so this could probably be used to do card UI responses.
PM me your module, I'll have a look at this.
The signature shouldn't be a problem, PackageManager can be hooked I guess.

2242683
MohammadAG said:
That's actually interesting... I didn't notice that part, mainly cause I thought sidekick was the name of some Motorola device.
The fun part is CardResponse implements Parceable, so this could probably be used to do card UI responses.
PM me your module, I'll have a look at this.
The signature shouldn't be a problem, PackageManager can be hooked I guess.
Click to expand...
Click to collapse
@MohammadAG, dumped from device, so signed debug key APK: http:/ /w w w12.zipp yshare. com/ v/6439333/file.html
I can not find the source code, but I still look for it tomorrow.
byte[] is for protobuf data :-/

MohammadAG said:
It needs a permission right now, but I plan to make a Tasker plugin.
Click to expand...
Click to collapse
I'm totally implementing this in AutoVoice tomorrow so no need for you to go through the trouble if you don't want to. haven't tried it but looks great!

joaomgcd said:
I'm totally implementing this in AutoVoice tomorrow so no need for you to go through the trouble if you don't want to. haven't tried it but looks great!
Click to expand...
Click to collapse
Awesome, you'd be the first dev to implement this!
If you have any comments on the API, do tell, it's the first time I've written an almost solid API.
(I image a library that can be imported would be better than copying the .java file, if that's a comment)

MohammadAG said:
Awesome, you'd be the first dev to implement this!
If you have any comments on the API, do tell, it's the first time I've written an almost solid API.
(I image a library that can be imported would be better than copying the .java file, if that's a comment)
Click to expand...
Click to collapse
Ok, here it is!
(oops, can't post a link to the youtube video... Look up my channel on youtube: joaomgcd. If you would be so kind as to post the link to the video it would be cool)
AutoVoice integration couldn't be simpler! Thank you very much for creating this!
About the API, it's fine as it is! I personally much prefer a java file like that specially since it's such a simple one. I wouldn't want to import a jar just to get access to a constant.
Of course the API could grow, but I actually like having the java file like that.
Congrats on the great API, I hope you don't mind that I linked to it in the YouTube video and in the description.

joaomgcd said:
Ok, here it is!
(oops, can't post a link to the youtube video... Look up my channel on youtube: joaomgcd. If you would be so kind as to post the link to the video it would be cool)
AutoVoice integration couldn't be simpler! Thank you very much for creating this!
About the API, it's fine as it is! I personally much prefer a java file like that specially since it's such a simple one. I wouldn't want to import a jar just to get access to a constant.
Of course the API could grow, but I actually like having the java file like that.
Congrats on the great API, I hope you don't mind that I linked to it in the YouTube video and in the description.
Click to expand...
Click to collapse
Added to first post with a link to the video, thanks!
Glad you found the API useful as is, I'll keep it as a java file till I implement card responses, then you'd probably need to use a library to create cards

joaomgcd said:
Ok, here it is!
(oops, can't post a link to the youtube video... Look up my channel on youtube: joaomgcd. If you would be so kind as to post the link to the video it would be cool)
AutoVoice integration couldn't be simpler! Thank you very much for creating this!
About the API, it's fine as it is! I personally much prefer a java file like that specially since it's such a simple one. I wouldn't want to import a jar just to get access to a constant.
Of course the API could grow, but I actually like having the java file like that.
Congrats on the great API, I hope you don't mind that I linked to it in the YouTube video and in the description.
Click to expand...
Click to collapse
Sweet! How can we do this if we don't have your rom?
And have you looked at Utter! At all? Either of you....
Anyway to integrate this?
Sent from my GT-I9505G using Tapatalk

Are supported apps supposed to show in the plugin list in the Search API app? Can't get Autovoice to work despite it being the correct version with integration enabled, the xposed plugin is also up and running. The plugin list doesnt show Autovoice however.

Cptnodegard said:
Are supported apps supposed to show in the plugin list in the Search API app? Can't get Autovoice to work despite it being the correct version with integration enabled, the xposed plugin is also up and running. The plugin list doesnt show Autovoice however.
Click to expand...
Click to collapse
it shows for me in the plugins section of google search api. what version of autovoice you have? did you reboot?

spyros.giotakis said:
it shows for me in the plugins section of google search api. what version of autovoice you have? did you reboot?
Click to expand...
Click to collapse
Yes I rebooted.
I backed up and reinstalled AutoVoice using TB, then Google Search API crashed, and then it showed up and now works

Cptnodegard said:
Yes I rebooted.
I backed up and reinstalled AutoVoice using TB, then Google Search API crashed, and then it showed up and now works
Click to expand...
Click to collapse
Lol, its great now that I dont have to use the autovoice widget anymore on my nexus 5!

Sc4ryB3ar said:
Sweet! How can we do this if we don't have your rom?
And have you looked at Utter! At all? Either of you....
Anyway to integrate this?
Sent from my GT-I9505G using Tapatalk
Click to expand...
Click to collapse
This is not ROM dependent. Simply install AutoVoice and Tasker and you're good to go.

Stupid question: is it limited to English or should it work for other languages?

MohammadAG said:
Added to first post with a link to the video, thanks!
Glad you found the API useful as is, I'll keep it as a java file till I implement card responses, then you'd probably need to use a library to create cards
Click to expand...
Click to collapse
Thanks again!
By the way, can you differentiate between text and voice searches? That would be a useful extra to have in the intent from the broadcast.

neFAST said:
Stupid question: is it limited to English or should it work for other languages?
Click to expand...
Click to collapse
Whatever Google Search recognizes is good. Yes, you can use this to implement voice commands in other languages.
joaomgcd said:
Thanks again!
By the way, can you differentiate between text and voice searches? That would be a useful extra to have in the intent from the broadcast.
Click to expand...
Click to collapse
It's already there. Boolean extra, the key is in the Java file, look at AZLyricsViewer for an example.

Related

[MOD] [XPOSED][v1.1.0]FrankerFaceZ - Custom User Emotes for Twitch.TV [4.4.2+]

This is a simple module that adds the framework of FrankerFaceZ to the Twitch.TV mobile Android app. This module is available to Android 4.4.2 users and up.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Install the App
Enabled it
Reboot
???
See FrankerFaceZ emotes
Profit
Package Name: com.stdsbot.ffz
Module Name: FrankerFaceZ
Version Name: 1.1.2
Version Code: 4
The app can be found on the Xposed Module Repo (Can't post the link until i have 10 posts :/)
Questions? Comments? Concerns? Bugs?
Post them here and I will see what I can do.​
Known Bugs
None
FAQ
You say you update an Emote or <insert X resource here>, but I don't see the change....
The way twitch caches images, you will need to clear the app cache through your settings.
*Please note, this is my first Xposed module, and as such, I expect things to go wrong sometimes.*
Change Log
1.0.0 - Initial Release
1.1.0 - Bug Fixes
Logging is a bit crazy... Sorry for log spam with chat messages. It is removed in the next release.
FrankerFaceZ donor badges not showing up for donors
XposedInstaller crashing on install due to lack of VersionName and VersionCode
Emotes not loading unless you click from the "Following" directory.
1.1.1 - Bug Fixes
Emotes not loading due to CSS change.
Changed FFZ Donor Badge look to match Web Look
1.1.2 - Bug Fixes
Fixed an issue where the regex was 1 character shorter causing a visual bug.
Oh, wow. Thanks for doing this! And thanks for putting up with our CSS, lol. Unfortunately I can't test this right now as all my android devices are on lollipop. BibleThump
We'll be getting an API that returns JSON soon(ish). Soon being when I finally finish the website. Also coming, high DPI emote support. If you need anything, just let me know! I don't know much about Java and nothing about android development, but I can help with server stuff at least.
@Stds_catchemall do you mean emoticons? Will this mod work with note 3 n9005?
HTML:
thahim said:
@Stds_catchemall do you mean emoticons? Will this mod work with note 3 n9005?
Click to expand...
Click to collapse
The mod should on any device that is 4.4.2. emulators were not working for me when I wrote this ,but that has been fixed.
As I am New to the android scene, I am not sure of the upward comparability of apis (ie. 4.4.2 to 5.0). My app does not modify system settings so worst thing you can do is install it, and if twitch crashes ,uninstall it to regain functionality.
Stds_catchemall said:
HTML:
The mod should on any device that is 4.4.2. emulators were not working for me when I wrote this ,but that has been fixed.
As I am New to the android scene, I am not sure of the upward comparability of apis (ie. 4.4.2 to 5.0). My app does not modify system settings so worst thing you can do is install it, and if twitch crashes ,uninstall it to regain functionality.
Click to expand...
Click to collapse
What does this mod do?
thahim said:
What does this mod do?
Click to expand...
Click to collapse
And i do mean emotes, but i mean other things as well. I am currently working on adding in an Emote button for users who do not know or are unable to remember emote names.
My post says exactly what it does. It adds the FrankerFaceZ Framework to Twitch Mobile. If you don't know what FrankerFaceZ is, Google it as i cannot link yet.
Did u add a version number to it? When I downloaded it before it kept crashing xposed because it didn't have version
freecore.mc said:
Did u add a version number to it? When I downloaded it before it kept crashing xposed because it didn't have version
Click to expand...
Click to collapse
It's currently Version 1 (Physical Version), 1.0.0 (Human Readable version)
I have people who have already downloaded and are using it so that sounds like an issue with your device and Xposed, not my app.
Update:
I am new to the Android Scene and was unaware i had to put a version name and code in the Android Manifest. That has been corrected and updated later today.
Is it possible to mod Twitch to play the audio despite having the screen off?
Cares said:
Is it possible to mod Twitch to play the audio despite having the screen off?
Click to expand...
Click to collapse
Possibly. I can look into something like that, however this would be in another app, as this app is meant to be for FrankerFaceZ. I may end up making it one whole project in the future however.
Stds_catchemall said:
This is a simple module that adds the framework of FrankerFaceZ to the Twitch.TV mobile Android app. This module is available to Android 4.4.2 users and up.
View attachment 3112568
Install the App
Enabled it
Reboot
???
See FrankerFaceZ emotes
Profit
Package Name: com.stdsbot.ffz
Module Name: FrankerFaceZ
Version Name: 1.1.0
Version Code: 2
The app can be found on the Xposed Module Repo (Can't post the link until i have 10 posts :/)
Questions? Comments? Concerns? Bugs?
Post them here and I will see what I can do.​
Known Bugs
None
FAQ
You say you update an Emote or <insert X resource here>, but I don't see the change....
The way twitch caches images, you will need to clear the app cache through your settings.
*Please note, this is my first Xposed module, and as such, I expect things to go wrong sometimes.*
Change Log
1.0.0 - Initial Release
1.1.0 - Bug Fixes
Logging is a bit crazy... Sorry for log spam with chat messages. It is removed in the next release.
FrankerFaceZ donor badges not showing up for donors
XposedInstaller crashing on install due to lack of VersionName and VersionCode
Emotes not loading unless you click from the "Following" directory.
1.1.1 - Bug Fixes
Emotes not loading due to CSS change.
Changed FFZ Donor Badge look to match Web Look
Click to expand...
Click to collapse
where is the download link?
thatonemusicalgamer said:
where is the download link?
Click to expand...
Click to collapse
First of all, let me start off by saying don't EVER quote the OP. If you have a question just post it, and I will get to it as soon as I can. No need for context.
Second, if you read the post i said,
Stds_catchemall said:
The app can be found on the Xposed Module Repo (Can't post the link until i have 10 posts :/)
Click to expand...
Click to collapse
I do not have 10 posts, therefore I cannot link it. Go to the Xposed Repo, and search for FrankerFaceZ, you will find it.
Hello!
I have a question: by "framework of FrankerFaceZ" you mean that little cowboy hat button that allows you to select an emote from a list, like the one that implements the add-on for web browsers? Because I installed your module and I did not see that... Could you please explain me that part? Thanks!
Hello, I just found this module and wondering if it's still being developed. I was unsuccessful in getting it to work on my Galaxy S III running 4.4.2
jimieo said:
Hello, I just found this module and wondering if it's still being developed. I was unsuccessful in getting it to work on my Galaxy S III running 4.4.2
Click to expand...
Click to collapse
It seems that the module is dead, either way.
I'm not a Java developer but I know that the following the things are true :
1. Twitch's app package name changed from com.twitch.android.viewer to com.twitch.android.app and therefore this module doesn't hook onto the current Twitch app.
2. The class/way the chatbox system is handled has been changed.
I've been trying to see if I could so something with @Stds_catchemall 's work but I've been unable to unfortunately yet, I want to work with source code and not the 'Smali God' method as people used to call it, but I'm unable at the moment to compile any closed app in Android Studio for the matter, while I can compile the apps they do not perform their functions (1.7 source, compiling with Android 4.0.4 SDK, also tried 4.4.2 SDK) and I cannot figure out why yet so I can't experiment, I have added the included Xposed Bridge API and even set as 'provided' but still no ball here so I'll be likely to post a thread sometime.
Either way, when I've played with the 'Smali' method I've only tried to change the package name, albeit it did result in the module being loaded but crashes when chatbox opens.
Even when I find that I will have set up Android Studio in the future, I will have to do a lot of experimentation for a huge amount in the source code is foreign to me.
That's a shame. I was so hopeful when I installed it. It would be really awesome to get FrankerFaceZ to work for android!
Any news on this at all? Anything in progress? Thanks.
Stds_catchemall said:
ping
Click to expand...
Click to collapse
sewer56lol said:
ping
Click to expand...
Click to collapse
usna said:
That's a shame. I was so hopeful when I installed it. It would be really awesome to get FrankerFaceZ to work for android!
Any news on this at all? Anything in progress? Thanks.
​
Click to expand...
Click to collapse
I have quit development on this as an app has been created which does the purpose of this application. Look up StrimgBagZ on the market
Stds_catchemall said:
I have quit development on this as an app has been created which does the purpose of this application. Look up StrimgBagZ on the market
Click to expand...
Click to collapse
Thanks! Why do they call it something that obscure? Makes it kind of hard to find unless you are already aware of it.
usna said:
Thanks! Why do they call it something that obscure? Makes it kind of hard to find unless you are already aware of it.
Click to expand...
Click to collapse
Seems it was answered ahead of time .
StrimbagZ now exists and implements a unique method of implementing FFZ to mobile.
Let's just say that it encapsulates the regular browser extension and draws a browser window on the bottom half of the screen while keeps the top half for the stream .
Due to the design, the normal PC interface of the extension in fact looks pretty good on mobile in fact the original FFZ dev helped a bit towards this app as he hid options that are redundant if the client is detected (e.g. Stream delay under stream).
I gave the dev a lot of praise and I still do - the way he scales the browser window for chat... Well... I couldn't break it since original release.
(Oh and I was also 2nd to download it on the Play Store ).
As for integrating it back to the Twitch app... Well, the code of the Twitch app - let's say got a bit obfuscated. Being Java the language originally used was beyond my knowledge and our dev here also struggled a bit with regards to how (I want to say obfuscated) the code of the app's chat because following changes back at the time it broke - it probably would have taken either too much trial and improvement (which takes time) to pull off or the source code.
Sent from my ONE A2003 using Tapatalk

[APP / XPOSED] PokeMod EX for Pokemon GO & Ingress

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Support:
- Install to system (Mock location OFF)
- Xposed module (Mock location ON)
- Manual switch (Mock location USER)
Using the application without root is unreliable.
It requires luck and good timing to be effective.
No support will be offered for using this method.
Disclaimer: Use this application at your own risk
May violate the Pokemon GO terms of service
Niantic waives all rights to pursue legal action
Author did not reverse engineer Pokemon GO
Does not provide functionality of Pokemon GO
No Niantic resources are stored or distributed
No legitimately copyrighted materials included
Author: roswell108
Credits: marlowww (HideMockLocation),
Xlythe (SAO Launcher), rovo89 (Xposed)
Original Thread / Download​
Version 1.8
Add artificial movement algorithm to capture
Add Pokestop support and auto collect mode
Add support for user-enabled razzberries use
Version 1.7
Add locator to find nearby Pokemon on map
Add auto capture for any Pokemon in range
Version 1.6
Add per-method instructions to startup dialog
Keep device screen on when joystick is visible
Version 1.5
Multi-tap joystick to re-open initial map screen
Authentic GPS speed based on distance traveled
Change movement speed with joystick distance
Better handling of movement and speed checks
Version 1.4
Fix an issue where latitude and longitude reversed
Adjust the movement timeout to prevent warping
Version 1.3
Add secure system settings permission and info
Version 1.2
Add support for entering a starting address to map
Fix map camera adjusting to new loaded location
Google auth has been fixed. A new build should be available later today.
Thanks for your efforts. It's pretty great. Only real issue I'm having is that the app will crash twice in a row after 5-10 mins, I assume due to the fact my device only has 1GB of RAM.
Just to clarify, the auto capture and auto collect modes, you log in using the account you're using or a throwaway account? How does it work while not being in the app?
chewbyte said:
Thanks for your efforts. It's pretty great. Only real issue I'm having is that the app will crash twice in a row after 5-10 mins, I assume due to the fact my device only has 1GB of RAM.
Just to clarify, the auto capture and auto collect modes, you log in using the account you're using or a throwaway account? How does it work while not being in the app?
Click to expand...
Click to collapse
Either way. I wouldn't recommend using auto mode when actually running the game *yet* since I haven't added the realtime GPS code. It is a secret as to how it works, but it connects to the game directly from the app.
I run the auto capture in KO, then typically just click wherever I stop and go into the game to do stuff like evolving and inventory management, which are too variable to automate (see every bot thread and the complaints about how they recycle) and don't require being in a specific location anyway.
Gym battles require the app, though, so there's also that.
Version 1.9
Fix Google authentication and token storage
User friendly capture / collect dialog options
Support for favorites and transfer weakest
Improvements to artificial movement timeout
Version 2.0
Fix refreshing Google token after initial login
Allow canceling auto capture / collect mode
Sort Pokemon and Pokestops by distance
Add server status when presenting login error
Convert login activity to floating dialog box
Great work sir great app much above other apps of this category magical!!!!!!!
Dedicated developer daily giving updates. I used before 5 hrs and I couldn't leave it.. You are doing a great job... (just for commenting on this thread I created xda account I didn't want to give guest reply on your hardwork. I am a nube actually can u please suggest me on which app or browser you guys use xda threads so I can subscribe this and view future posts)
---------- Post added at 03:35 AM ---------- Previous post was at 03:31 AM ----------
And just one suggestion when I sign in for first time it works via Google but next time give server unavailable
google login
tested on android 5.1 and 6.0 (two devices). both failed to login for google account, the keyboard for the google authentication doesn't pop up so i cant input any acc details at all :/
I have to say that im such a huge fan of your work, been using it since v 1.6 and fell in love even more in each update.
But there are several things i need to ask you (please do consider it as pure simple question, no intention of criticize your work)
- how does the auto catch work exactly? In some cases, during auto training mode, the map shows several pokemons appearing nearby (e.g. ratata n tentacool ) but when i log into the game in the exact same location, there are several other pokemon that didnt show up in your app's map. And it seems those that showed up and captured around my location, wont refresh or increase unless i re-open the app and pinpoint my location exactly like before. Can you explain it a bit futher? Thanks
- your current work has already supported razzberry use to catch pokemon, how abt when i set my location ned pokestops with lure module and or i use lucky egg/incense, will it affect too? Thanks a lot.
twistedumbrella said:
Fix refreshing Google token after initial login
Allow canceling auto capture / collect mode
Sort Pokemon and Pokestops by distance
Add server status when presenting login error
Convert login activity to floating dialog box
Click to expand...
Click to collapse
Really nice app!! Is their a way to make the auto capture work like the auto collect?
As I'm finding that it will only collect 3 pokemon until I re position myself and start again and solution?
abohgaming said:
I have to say that im such a huge fan of your work, been using it since v 1.6 and fell in love even more in each update.
But there are several things i need to ask you (please do consider it as pure simple question, no intention of criticize your work)
- how does the auto catch work exactly? In some cases, during auto training mode, the map shows several pokemons appearing nearby (e.g. ratata n tentacool ) but when i log into the game in the exact same location, there are several other pokemon that didnt show up in your app's map. And it seems those that showed up and captured around my location, wont refresh or increase unless i re-open the app and pinpoint my location exactly like before. Can you explain it a bit futher? Thanks
- your current work has already supported razzberry use to catch pokemon, how abt when i set my location ned pokestops with lure module and or i use lucky egg/incense, will it affect too? Thanks a lot.
Click to expand...
Click to collapse
MRL3GS said:
Really nice app!! Is their a way to make the auto capture work like the auto collect?
As I'm finding that it will only collect 3 pokemon until I re position myself and start again and solution?
Click to expand...
Click to collapse
Auto capture goes after the ones that will be a capture by default. It doesn't go to ones that will take multiple tries and waste a lot of inventory.
Support for lures will be added. It is a little unusual how they have the server configured, so it was unclear whether those pokemon were also considered capturable. It appears they may be considered lured pokemon exclusively.
nooo! it doesnt work for me [emoji24]
i tried both xposed and root. i can only choose method and then cant launch app again
Sent from my Che2-L11 using XDA-Developers mobile app
I cant seem to choose your app as the Mock Location App in MM.
Every time i click it it just chooses the next app in the list rather then your app. MM does not have the "enable mock location" setting, you have to actually point it to a mock location app you want to use.
twistedumbrella said:
Auto capture goes after the ones that will be a capture by default. It doesn't go to ones that will take multiple tries and waste a lot of inventory.
.
Click to expand...
Click to collapse
Is there any way to add a feature to allow the user to change this? So they can say pick an max amount trys?
MRL3GS said:
Is there any way to add a feature to allow the user to change this? So they can say pick an max amount trys?
Click to expand...
Click to collapse
At the moment, no. It is beyond my control. That is Niantic territory.
-Mr. X- said:
I cant seem to choose your app as the Mock Location App in MM.
Every time i click it it just chooses the next app in the list rather then your app. MM does not have the "enable mock location" setting, you have to actually point it to a mock location app you want to use.
Click to expand...
Click to collapse
Never mind this, No idea what happened uninstalled Pokemon KO and all other apps i was trying reinstalled them all, and its behaving. Currently running P-KO in Bluestacks and its working fantastic, thanks!
Any change you would add it to the Xposed repo for easier updates?
twistedumbrella said:
At the moment, no. It is beyond my control. That is Niantic territory.
Click to expand...
Click to collapse
I missed the prompt about the directory in which to put the application for rooted device. Could you clarify please.
Going to test, wish me luck haha
-----
its ok for me, working good, thank you
---------- Post added at 02:59 AM ---------- Previous post was at 02:30 AM ----------
my mock location keep disabling, is there any problem?
---------- Post added at 03:10 AM ---------- Previous post was at 02:59 AM ----------
when i try to login with google account, my keyboard dont appear
Version 2.1
Fix Google login keyboard display issues
Add persistent token for less approvals
Additional map screen with window mode
Long press red app icon in map / joystick​Controlled speed in secondary map (eggs)
Unfortunately, automated gym battles were delayed due to another Google issue.
Hopefully this is the last of them and that will be in the next release.
This one was pushed early to reduce the number of redundant issue reports

[XPOSED][APP][5.0+] AllTrans - Completely Translate Apps

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
AllTrans
- Completely Translate Apps
à la Chrome translation of webpages, but for Android apps
Update - Now Supports Android 11! . Also Supports VirtualXposed, so you can use AllTrans without
Root / Magisk / Unlocking Bootloader!!! Also Supports Taichi, so you can use AllTrans without Root / Magisk / Unlocked Bootloader, and much more simpler to use than VirtualXposed!!
What AllTrans does
It replaces all text in an app in a language from one language to another at runtime.
Say for example an app is in German. A user selects the app name, and the required language conversion (say German to English).
Then whenever the user uses the required app, all the text, ANYWHERE in the app, are replaced by their English equivalents.
This is something similar to the way Google Translate works in Chrome.
Note - Due to a technical limitation, this won’t work with many games. Nothing can be done about this.
ScreenShots and Videos
Below are some side-by-side screenshots of AllTrans translating apps from Korean to English
Below are some of the screenshots of AllTrans app
A video (in English) showing how to use AllTrans by Gadget Hacks on Youtube
Features
Translate any app, including system apps.
Completely Free!
Supports Android 11 with LSPosed or Edxposed!
Works on any device without rooting/magisk/unlocking booltloader/flashing - simply use Taichi! or VirtualXposed!
Taichi is much more simpler to use than VirtualXposed!!
Supports 60 languages supported by
Microsoft Azure Translator!
Can translate text displayed using TextView.SetText, Canvas.DrawText and in Webviews.
Installation Instructions
This application requires android version 4.4 or later. You probably already have it. (Android JellyBean or later - so far JellyBean, Kitkat, Lollipop, MarshMallow, Nougat, Oreo, Pie and Q, 11.).
Make sure you have Xposed Framework installed and running. If there is not an official version of Xposed for your Android, LSPosed or EdXposed is recommended. If its a normal device without rooting/magisk/unlocking booltloader/flashing - simply use VirtualXposed! or Taichi!
Get the latest release of the APK from the Play Store. Alternatively you can also search the Xposed Module Repository for this app.
Reboot your phone.
Usage Instructions
This application requires you to sign up for free a key from Microsoft Translate. See instructions below on how to get the keys.
Make sure “AllTrans” app is enabled in “Xposed Installer -> Modules”.
Launch “AllTrans” app.
Choose the “Translate from Language” and “Translate to Language”.
In the “Apps to Translate” tab, find the app you want to translate, click the checkbox next to it.
Close and restart the app you want translated - it should be translated!
How to get FREE Microsoft Azure Translate Subscription Key
Using google to translate works without any keys, but is slower and much lower quality because it does not need internet connection. Using Microsoft results in much better translations.
See instructions here https://akhilkedia.github.io/AllTrans/1.9.5#how-to-get-microsoft-azure-translate-key
Changelog
1.9.5
THIS VERSION TEMPORARILY DOES NOT SUPPORT VIRTUALXPOSED OR TAICHI. Please use previous versions for them.
Fixed translating newer apps built for Android 11! Fixed crashing on Notifications, now Translates Notifications too!
Tested with LSPosed and Android 11.
Misc. BugFixes
1.9.3
Support for Android 11!
1.9.0
Now supports translating Telegram! Use "Aggressive Mode to translate."
1.7.0
NO NEED FOR API Keys!!
Now supports using Google Translate!
1.6.0
THIS APP'S CERTIFICATE HAS CHANGED - YOU WILL HAVE TO UNINSTALL PREVIOUSLY INSTALLED APP TO INSTALL THIS
YOU WILL LOSE YOUR SETTINGS AFTER UPDATING - MAKE SURE TO MAKE A COPY OF YOUR TRANSLATION API KEY!!
I had to change the certificate and settings as I will be releasing the app on Google Play Store.
TONS of new features -
Fully compatible with Android 10
Fully compatible with VirtualXposed and Taichi! (USE XPOSED MODULES WITH ROOT/MAGISK/UNLOCKING!!!!!!!!!)
Fixed apps hanging on startup bug! No need to erase translation cache anymore!
Autodetect language
Better Webview Translation
Dont translate editable fields - Now you can type numbers without the app messing it up!
Automatically Scroll Text if translation is too long
Dark Mode!
Updated instructions for API keys
Many bugfixes
Click to expand...
Click to collapse
Version 1.4.0 - Backported to Android 4.0, bugfixes, better webview translate
Version 1.3.0 - Huge Reduction in memory usage - Will fix several crashes, and make translated apps much more responsive
Also, two versions ago - Translated my app into 56 languages! Use AllTrans in your language of choice!
Version 1.2.0 - Fixed obscure UI crashes for some older devices.
Version 1.1.2 - Added translations for 56 languages! Now use AllTrans in your own language! (Including Klingon for Star
Trek fans out there!).
Version 1.1.1 - Fixed Layout Issues resulting in Checkbox not being visible.
Version 1.1.0 - Added Support for Yandex Translate!!
Version 1.0.1 - Fixed PackageName. Uninstall the previous app before installing this.
Version 1.0.0 - Initial Release
Click to expand...
Click to collapse
Download
The latest release is temporarily not on play store. Download from Xposed Installer or LSPosed app or from Github here.
You can download the app from Play Store at
AllTrans - Translate Other App - Apps on Google Play
An Xposed module which translates *all* text in an app to another language
play.google.com
Alternatively, search the Xposed Installer or on LSPosed app for "AllTrans" and download from there.
Source Code
GitHub - akhilkedia/AllTrans: Completely Translate Android apps in-place aka Google translate in Chrome
Completely Translate Android apps in-place aka Google translate in Chrome - GitHub - akhilkedia/AllTrans: Completely Translate Android apps in-place aka Google translate in Chrome
github.com
TroubleShooting/Known Bugs
TroubleShooting
No app is being translated in any app
If no app is being translated, check is “AllTrans” is enabled in “Xposed Installer -> Modules”.
Also check if your “Microsoft Subscription Key” is correct.
Translated app is stuck in opening screen
If this is the first time you started translating this app, click on the app’s name in “Apps to Translate” tab, and
in “Other Settings” fill in “Delay Before Replcaing With Translated Text” to “2000”.
The Translated app is “Force Close”
Click on the app’s name in “Apps to Translate” tab, and in “Other Settings” fill in “Delay Before Replcaing With
Translated Text” to “2000”.
Click on the app’s name in “Apps to translate” tab, and in “Other Settings” fill in “Delay Before Starting to
Translate WebViews” to “2000”.
A particular app is not being translated
Click on the app’s name in “Apps to translate” tab, and in “Other Settings” fill in “Delay Before Starting to
Translate WebViews” to “2000”.
If some parts of the app are still not being translated, click on the app’s name in “Apps to translate” tab, and
enable “Aggressive Mode”.
A game app is not being translated
Due to technical limitations, “AllTrans” will not work with many games. Nothing can be done about this.
If you still have problems like “Force Close” or parts of an app not being translated
Contact me for support. When you do, I will need atleast the following information -
The name of the app, along with a link to download the app from some APK store like “Google Play Store”,
“CoolApk”, etc.
Your phone’s Android version.
A “logcat” of you trying to open the app which gives you problems. You can use apps freely available on the Play
Store for this, such as This one
Once you have the above, contact me on the
XDA support
thread.
You can also report issues on the Project’s “Github”.
Donations
If you like this project, buy me a cup of coffee!
Click Here to Donate if clicking
the above image does not work for you!
License
This program is AllTrans
Copyright (C) 2017 Akhil Kedia
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program.
*Reserved*
Looks promising! Will test eventually.
I would like to test this as it seems like a great concept an idea, sadly i do not have a credit card. How to workaround this?
danielcr12 said:
I would like to test this as it seems like a great concept an idea, sadly i do not have a credit card. How to workaround this?
Click to expand...
Click to collapse
Unfortunately, right now, nothing can be done directly.
Google Translate is not free, and while Microsoft Translate is indeed free, it requires a credit card to sign up.
Yandex Translate seems to offer translation service without requiring a credit card (only needs a mobile number).
If people seem interested in the app, I can add support for using Yandex Translate as well.
Error
KaMyKaSii said:
Error
Click to expand...
Click to collapse
you can download from xposed repo. sometime xposed installer on android error
KaMyKaSii said:
Error
Click to expand...
Click to collapse
Hi!
Thanks for this. My mistake - I put the wrong package name. I will fix it right now and reupload on xposed.
KaMyKaSii said:
Error
Click to expand...
Click to collapse
Hi I have now updated the apk, kindly download it from here or from xposed installer.
Not saying that I don't trust Microsoft or you or anything, but I don't really like putting my card on this, even though it's free. I may sound kinda crazy for a bit there, but just saying what I think of. I will just probably wait for this module to be "paid" or "subscribe inside the app" and I'll gladly toss some money for you, or from other sources you'll use.
:good:
---------- Post added at 01:01 PM ---------- Previous post was at 12:58 PM ----------
Oh, almost forgot. About the poll, why not BOTH? User-friendly option for those who want it free and paid...
:good:
plzzzz add support for using Yandex Translate
souler456 said:
Not saying that I don't trust Microsoft or you or anything, but I don't really like putting my card on this, even though it's free. I may sound kinda crazy for a bit there, but just saying what I think of. I will just probably wait for this module to be "paid" or "subscribe inside the app" and I'll gladly toss some money for you, or from other sources you'll use.
:good:
---------- Post added at 01:01 PM ---------- Previous post was at 12:58 PM ----------
Oh, almost forgot. About the poll, why not BOTH? User-friendly option for those who want it free and paid...
:good:
Click to expand...
Click to collapse
If this app does become paid someday, you will still to provide PayPal or Google or whatever payment provider I ultimately use your card details
As for why not both -
1. This app started as a weekend hack, and it's an absolute lifesaver since I live in Korea but dont know Korean, or while I travel. I used it for half a year before finally adding a UI so I could release it. . But since I mostly get time to work on this on weekends, I want to minimize my effort - if not many people will pay (and if there are free alternatives, I doubt many would), why bother? :angel:
2. If I do add paid support, I will have to setup my own verification servers, etc. And on rooted devices, it'll be easy for people to get around it, using Lucky Patcher etc.
3. Lastly, Free and Open Source (FOSS) for the win! :victory:
danielcr12 said:
I would like to test this as it seems like a great concept an idea, sadly i do not have a credit card. How to workaround this?
Click to expand...
Click to collapse
I will add support for Yandex Translate, probably over this weekend - no need for credit card for signup then. :highfive:
akhilkedia94 said:
I will add support for Yandex Translate, probably over this weekend - no need for credit card for signup then. :highfive:
Click to expand...
Click to collapse
thank you :highfive:
akhilkedia94 said:
I will add support for Yandex Translate, probably over this weekend - no need for credit card for signup then. :highfive:
Click to expand...
Click to collapse
This will be my lifesaver as well since I need to travel quite often.... Including Korea too
danielcr12 said:
I would like to test this as it seems like a great concept an idea, sadly i do not have a credit card. How to workaround this?
Click to expand...
Click to collapse
souler456 said:
Not saying that I don't trust Microsoft or you or anything, but I don't really like putting my card on this, even though it's free.
Click to expand...
Click to collapse
ali_ge said:
plzzzz add support for using Yandex Translate
Click to expand...
Click to collapse
Support for Yandex Translate is now live!
Update the app from Xposed Installer, or download the updated Apk from here.
A much simpler signup process, and no Credit card needed!
Keep in mind that Microsoft Translae does give better results than Yandex.
akhilkedia94 said:
Support for Yandex Translate is now live!
Update the app from Xposed Installer, or download the updated Apk from here.
A much simpler signup process, and no Credit card needed!
Keep in mind that Microsoft Translae does give better results than Yandex.
Click to expand...
Click to collapse
Appreciate it, but it's not working. I tried to translate many Chinese apps ,even tried to translate english app to chinese and other language ,but still no luck :crying:
akhilkedia94 said:
Support for Yandex Translate is now live!
Update the app from Xposed Installer, or download the updated Apk from here.
A much simpler signup process, and no Credit card needed!
Keep in mind that Microsoft Translae does give better results than Yandex.
Click to expand...
Click to collapse
hi, nice work but i don't understand all. you say in the "Apps to Translate" tab, search for your app to translate and use the check box next for it. but the only checkbox are just in settings for change the option per app. also i get for "OverRide" and "clear cache" but not for activate a translation for this app.
I not says your app have a problem or don't work, many time it's me the problem.
DThrawn said:
hi, nice work but i don't understand all. you say in the "Apps to Translate" tab, search for your app to translate and use the check box next for it. but the only checkbox are just in settings for change the option per app. also i get for "OverRide" and "clear cache" but not for activate a translation for this app.
I not says your app have a problem or don't work, many time it's me the problem.
Click to expand...
Click to collapse
Hi!
In the "Apps to Translate" tab, there is a list of the app. To right, next to each app name, there is a checkbox. Clicking on the checkbox will enable translations for that app.
I have attached some screenshots to help you.
ali_ge said:
Appreciate it, but it's not working. I tried to translate many Chinese apps ,even tried to translate english app to chinese and other language ,but still no luck :crying:
Click to expand...
Click to collapse
Hi!
I just tested everything again and it does work, specifically for english to chinese. (See the attached screenshot for proof.)
Here are some things you can check for -
Make sure your Yandex Subscription Key is correct. It's something like "trnsl.1.1.201701......"
Make sure the "Use Yandex instead of Microsoft" is turned on. Turn it off and on again just to be sure.
Try translating my app itself from English to Chinese to start. Make sure the checkbox next to the app you want to translate in "Apps to Translate" is ticked.
If none of the above works, try uninstalling and reinstalling my app.
If inspite of doing all of the above, nothing is still being translated, please send me links to some of the apps you tried translating and your Subscription key. If possible also send a copy of your logcat. You can use this app to save your logcat to an SD Card - https://play.google.com/store/apps/details?id=com.nolanlawson.logcat&hl=en
Here are the installation/usage steps again. Please ensure you follow each one -
Installation Instructions
Follow instructions for installation of Xposed Framework
Search the Xposed Installer for "AllTrans" and install the latest version. Alternatively, download the attached AllTrans APK and install it.
Run Xposed installer, go to Modules menu and activate AllTrans by checking the checkbox.
Reboot
Launch AllTrans from app drawer or from Xposed installer and set options as desired.
Usage Instructions
This application requires you to sign up for a key from Microsoft or Yandex Translate.
Yandex Translate supports more languages, has a much easier signup process, and requires NO CREDIT CARD.
Microsoft Translate gives much better translations, but requires a credit card to sign up. (But don't worry, nothing will be charged.)
In "Global Settings" tab, enable "Use Yandex instead of Microsoft".
In "Global Settings" tab, tap "Enter Yandex Subscription Key", input the corresponding key.
Choose the "Translate from Language" and "Translate to Language".
In the "Apps to Translate" tab, find the app you want to translate, click the checkbox next to it on the right.

[CLOSED][APP][XPOSED][6.0+] XPrivacyLua - Android privacy manager [UNSUPPORTED]

XPrivacyLua
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Really simple to use privacy manager for Android 6.0 Marshmallow and later (successor of XPrivacy).
Revoking Android permissions from apps often let apps crash or malfunction. XPrivacyLua solves this by feeding apps fake data instead of real data.
Features:
Simple to use
Manage any user or system app
Extensible
Multi-user support
Free and open source
See here for all details, including installation instructions and download link.
Please read the frequently asked questions before asking a question.
This XDA thread is about using the latest version of XPrivacyLua. Off topic comments are allowed as long they are related to XPrivacyLua and are in the general interest of the followers of this thread, but anything not related to privacy is not allowed.
If XPrivacyLua doesn't work and/or when "module not running or updated" is shown, this is almost always caused by an Xposed problem.
Discussions about purchases are not allowed here, please contact me via here instead.
XPrivacyLua is being maintained and community supported, but new features won't be added anymore.
Custom hook definitions will always be part of XPrivacyLua, but there will be community support only. This means that I won't respond to questions about defining custom hooks anymore. See this thread for the reasons.
If you value your privacy, please consider to support this project with a donation or by purchasing pro features.
M66B said:
XPrivacyLua is not a permission manager, but a privacy manager. XPrivacyLua doesn't block things and doesn't revoke permissions, but does replace real data by fake data. This means you can grant Android permissions to an app and still let XPrivacyLua prevent the app from seeing privacy sensitive data. Revoking permissions can result in an app refusing to work and/or to crash. However, replacing real by fake data generally doesn't let an app crash.
Currently restrictions are quite crude because they mostly replace real data by no data. For example restricting the contacts app from getting contacts will result in an empty contact list. In the near future it might be made possible to select the data an app may see, for example just one group of contacts.
Click to expand...
Click to collapse
About feature requests and bug reports:
M66B said:
The goal is to have a tool that can properly protect the privacy of many in the near future. However, it isn't paid work, so I do whatever I like whenever I like it.
You can request features in this XDA forum. I will read them, but I will not respond to them and they might or might not be implemented. If I know for sure something will not be implemented, I will let you know.
You can report any problem you have here. There will be no issue tracker on GitHub.
Click to expand...
Click to collapse
M66B said:
For now I have decided to not implement restrictions that are useful to prevent tracking only. There are simply too many data items that can be used for tracking and it would take too much time to develop restrictions for all these data items.
The basic idea is to restrict only things that 'define' you, so which contacts you have, where you are, which apps you use, etc.
Click to expand...
Click to collapse
Namnodorel said:
Maybe we can widen the definition of things that the core of XPL covers to "What defines you, and what can be used to spie on you"? This would include camera/audio, but not tracking.
Click to expand...
Click to collapse
M66B said:
XPrivacyLua is pretty feature complete and will be maintained and supported and when there is a need new hook definitions will be added to better protect your privacy. For the rest this FAQ applies:
https://github.com/M66B/XPrivacyLua/blob/master/FAQ.md#FAQ4
As said before, development will also depend on Xposed development, which is just minimal unfortunately.
Click to expand...
Click to collapse
XDA thanks and donations are appreciated.
XPrivacyLua is supported with Xposed only. There is no support for VirtualXposed and TaiChi.
Even if old Xprivacy isn't supported on nougat, is it possible to keep it with new Lua too until Lua grow up? Or it is not recommended ?
Thank you
Orphee said:
Even if old Xprivacy isn't supported on nougat, is it possible to keep it with new Lua too until Lua grow up? Or it is not recommended ?
Thank you
Click to expand...
Click to collapse
Noooo! First post and it is asking about using Xprivacy on Nougat? That must be demotivating to the dev! It has been told too many times in the xprivacy thread that it is not recommended to use it on Nougat and above all IT IS NOT SUPPORTED!
Sorry for using capitals but let's hope everyone sees it and this thread stays on new Lua topic.
Greetings.
Wow, I was just scrolling through some stuff, stumbled into your repo for XPrivacy/Lua and couldn't believe what I saw! M66B is developing a new app as a replacement for XPrivacy... Thank you so much, you've totally made my day and pobably quite some time into the future as well! I'll definetely also buy/donate for this version as soon as I get to use it.
Just some technical questions:
Looks like you are going more modular with this new app, and you mentioned something about downloading additional (user-made) hooks. You also said you'd keep it much more simple this time to avoid high maintenance etc. Could these external hooks then allow to get the complexity back? I totally understand your motivation, but in-depth restricting of app permissions was something I really liked about the old XPrivacy, and if some user-made hooks would make that possible I'd use them. But they'd also need the ability to add new UI elements, and not just "This hook is about the method XY, execute this code before/after to block it and this code to enable it" for that to be possible.
Orphee said:
Even if old Xprivacy isn't supported on nougat, is it possible to keep it with new Lua too until Lua grow up? Or it is not recommended ?
Click to expand...
Click to collapse
I have just added a FAQ that answers this question:
https://github.com/M66B/XPrivacyLua/blob/master/FAQ.md
m66b said:
i have just added a faq that answers this question:
https://github.com/m66b/xprivacylua/blob/master/faq.md
Click to expand...
Click to collapse
5vp4096549363413x
Namnodorel said:
Wow, I was just scrolling through some stuff, stumbled into your repo for XPrivacy/Lua and couldn't believe what I saw! M66B is developing a new app as a replacement for XPrivacy... Thank you so much, you've totally made my day and pobably quite some time into the future as well! I'll definetely also buy/donate for this version as soon as I get to use it.
Just some technical questions:
Looks like you are going more modular with this new app, and you mentioned something about downloading additional (user-made) hooks. You also said you'd keep it much more simple this time to avoid high maintenance etc. Could these external hooks then allow to get the complexity back? I totally understand your motivation, but in-depth restricting of app permissions was something I really liked about the old XPrivacy, and if some user-made hooks would make that possible I'd use them. But they'd also need the ability to add new UI elements, and not just "This hook is about the method XY, execute this code before/after to block it and this code to enable it" for that to be possible.
Click to expand...
Click to collapse
For now I will concentrate on fixing bugs and building restrictions, which is of course the most important of all. Restrictions are indeed defined and written in Lua. Currently all restrictions are built-in, but later I might add a manager, so you can manage your own definitions. There might even be a repository, which could even contain definition for things not privacy related.
You can find the current definitions here (hooks.json contains the definitions).
Just donated. More to follow along the way. Thank you!!
blackhawk_LA said:
Noooo! First post and it is asking about using Xprivacy on Nougat? That must be demotivating to the dev! It has been told too many times in the xprivacy thread that it is not recommended to use it on Nougat and above all IT IS NOT SUPPORTED!
Sorry for using capitals but let's hope everyone sees it and this thread stays on new Lua topic.
Greetings.
Click to expand...
Click to collapse
"XPrivacyLua is supported on Android 6 Marshmallow and later" you're either lying or it's a misstatement on the repo.
Also can somehow explain to me (I just switched to Android), what Lua is (if not a programming language)?
OgreTactic said:
"XPrivacyLua is supported on Android 6 Marshmallow and later" you're either lying or it's a misstatement on the repo.
Click to expand...
Click to collapse
I don't see why that is a lie or misstatement, so, could you please explain why you think it is?
Edit: I have changed the wording of the opening post a bit, so it is clearer that "Android 6 Marshmallow and later" applies to XPrivacyLua and not to XPrivacy, assuming this is what you meant.
OgreTactic said:
Also can somehow explain to me (I just switched to Android), what Lua is (if not a programming language)?
Click to expand...
Click to collapse
See this comment.
OgreTactic said:
"XPrivacyLua is supported on Android 6 Marshmallow and later" you're either lying or it's a misstatement on the repo.
Also can somehow explain to me (I just switched to Android), what Lua is (if not a programming language)?
Click to expand...
Click to collapse
Some people...
Glad to see Xposed Module development is still alive!
Thx a lot for building and developing this app.
After I've selected some apps I get an error:
XLua.Main:android.os.DeadObjectException:Transaction failed on small parcel; remote process probably died
Things that I would appreciate in future releases:
- More restriction-types like: Network connection, Telephone number/sim-operator, Serialnumber, installed apps/services, accounts
- Is it possible to hide disabled apps from the list?
- Is it possible to decide when an app will request for example the location to allow or deny the request?
th4_c0r3 said:
Thx a lot for building and developing this app.
After I've selected some apps I get an error:
XLua.Main:android.os.DeadObjectException:Transaction failed on small parcel; remote process probably died
Click to expand...
Click to collapse
Can you please capture a logcat? If not, the problem might be visible in the Xposed log as well.
Edit: where exactly do you see this error?
th4_c0r3 said:
Things that I would appreciate in future releases:
- More restriction-types like: Network connection, Telephone number/sim-operator, Serialnumber, installed apps/services, accounts
- Is it possible to hide disabled apps from the list?
- Is it possible to decide when an app will request for example the location to allow or deny the request?
Click to expand...
Click to collapse
Disabled apps are hidden from the list by default.
First: thanks for the release and minimal UI of this app.
Just one request if it is possible. Would it be possible when you start ironing out the features to include a randomisation to some privacy information. Like my main coordinates for GPS are 33N 112W. If the app could randomise the rest so the app knows my general location but not accurately as 1m?
Edit: a good reason for this is for apps like speedtest.net. it grabs GPS to find a close server. When I restrict, closes server is in NY. I don't mind if it knows I live in AZ, heck, XDA knows I live here, but knowing my exact location is bothering.
M66B said:
Can you please capture a logcat? If not, the problem might be visible in the Xposed log as well.
Edit: where exactly do you see this error?
Click to expand...
Click to collapse
The error occurs every second time I open the app and it's shown in the bottom of the app. In the Xposed log there isn't a XLua-Error.
I've sent you the logcat via email.
M66B said:
For now I will concentrate on fixing bugs and building restrictions, which is of course the most important of all. Restrictions are indeed defined and written in Lua. Currently all restrictions are built-in, but later I might add a manager, so you can manage your own definitions. There might even be a repository, which could even contain definition for things not privacy related.
Click to expand...
Click to collapse
Thank you for your answer, but I'm still kinda missing what I wanted to know: Could hooks potentially add custom UI and/or save data? I'd imagine something like saving a list of contacts and when an app requests the contact list selecting this specific list to be returned.
Namnodorel said:
Thank you for your answer, but I'm still kinda missing what I wanted to know: Could hooks potentially add custom UI and/or save data? I'd imagine something like saving a list of contacts and when an app requests the contact list selecting this specific list to be returned.
Click to expand...
Click to collapse
Yes, that would be possible. When there is a need, I will add APIs that can be used in Lua to save data in a structured way into the XPrivacyLua database, so anyone wanting to develop a new hook definition doesn't have to worry about how to do this. In fact this has already been prepared.
M66B said:
I don't see why that is a lie or misstatement, so, could you please explain why you think it is?
Edit: I have changed the wording of the opening post a bit, so it is clearer that "Android 6 Marshmallow and later" applies to XPrivacyLua and not to XPrivacy, assuming this is what you meant.
See this comment.
Click to expand...
Click to collapse
Oh okay, thanks. So I can't use the current XPrivacy (on the PlayStore) on Nougat S8? I hope I can if not, I'll wait for the XPrivacy L.
It's crazy that Android forces privacy breaching (violation is an accurate word use) "services", processes and apps at it's core. If I were to learn to use Android enough is it possible to prevent it, like it's the case on iPhone, well in appareances because when you jailbreak it you can see all the processes, but it's clearly not in completely forcing this violation of your data, be it just with the permission management that NO apps can require or force on you to run, which to me absolutely crazy that it's the case on Android.
OgreTactic said:
Oh okay, thanks. So I can't use the current XPrivacy (on the PlayStore) on Nougat S8? I hope I can if not, I'll wait for the XPrivacy L.
It's crazy that Android forces privacy breaching (violation is an accurate word use) "services", processes and apps at it's core. If I were to learn to use Android enough is it possible to prevent it, like it's the case on iPhone, well in appareances because when you jailbreak it you can see all the processes, but it's clearly not in completely forcing this violation of your data, be it just with the permission management that NO apps can require or force on you to run, which to me absolutely crazy that it's the case on Android.
Click to expand...
Click to collapse
As M66B said in the Xprivacy Thread:
M66B said:
An absolute privacy fix is turning your device off. XPrivacy is an best effort attempt to fix the most important privacy problems, like exposing your location and contacts.
Click to expand...
Click to collapse
What you could do, at least that's what I do, is to disable services (look for DisableService in PlayStore) and/or restrict as much as possible via the privacy settings (depending on ROM). For example I deny Google services the location rights and only switch them on when needed.
Also there are possibilities to run your phone without any Google services at all. Search for MicroG.
But you have to understand, that using an Android device is going to violate privacy in one form or another. Same goes with Windows and Apple devices...
I don't like it at all but that's just what the world has become. If you want to use Google Services you kinda have to accept that you can't (at least not with simple fixes) protect your whole privacy. It sucks, but that's just what it is...

[CLOSED][APP][XPOSED][6.0+] Use Xposed without developing a module

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
XPrivacyLua custom hook definitions
By using XPrivacyLua you can define Xposed hooks and apply them to any app at run time (so, rebooting your device is not necessary). You can write hook code on your device in Lua, which is quite easy to learn.
See the documentation about how to define hooks.
Although XPrivacyLua has 'privacy' in its name, new hooks don't need to be privacy related at all. Disabling the built in privacy related hooks is a matter of selecting another collection of hooks.
This XDA thread is meant to discuss defining hooks, with the restriction that hook definitions must serve a legally allowed purpose. This XDA thread is not meant to make you a developer, so at least some development experience is expected, which means that you'll need to be able to figure out where to hook yourself and that you'll need to be able to write Lua scripts yourself.
XDA:DevDB Information
XPrivacyLua hook definitions, Xposed for all devices (see above for details)
Contributors
M66B
Xposed Package Name:
Version Information
Status: Beta
Created 2018-01-28
Last Updated 2018-04-01
Could there be a generic "always return true" lua script?
And when building a definition, what does it mean to be in a group and collection? Do I just put anything there or do I have to call them something particular?
Well, I'm trying but I'm lost. Just trying to setAnalyticsCollectionEnabled
https://firebase.google.com/support/guides/disable-analytics
Code:
public void setAnalyticsCollectionEnabled (boolean enabled) = false
supposedly disables Firebase Analytics (which apparently 67% of the top 200 apps use).
My definition looks like
Collection: privacy
Group: firebase
Name: firebase.analytics
author: whatever
class: com.google.firebase.analytics
method:setAnalyticsCollectionEnabled
parameter type: void
return type: boolean
min/max sdk: 1/999
lua script: @generic_false_value I suppose I can use this?
Even if this looks valid, it feels like maybe this wouldn't fire unless certain other things happen first? Looking at your hooks.json for google analytics it looks like you had to maybe set a chain of events to occur to get to the point of controlling the method you intend to make changes?
jawz101 said:
Could there be a generic "always return true" lua script?
And when building a definition, what does it mean to be in a group and collection? Do I just put anything there or do I have to call them something particular?
Well, I'm trying but I'm lost. Just trying to setAnalyticsCollectionEnabled
https://firebase.google.com/support/guides/disable-analytics
Code:
public void setAnalyticsCollectionEnabled (boolean enabled) = false
supposedly disables Firebase Analytics (which apparently 67% of the top 200 apps use).
My definition looks like
Collection: privacy
Group: firebase
Name: firebase.analytics
author: whatever
class: com.google.firebase.analytics
method:setAnalyticsCollectionEnabled
parameter type: void
return type: boolean
min/max sdk: 1/999
lua script: @generic_false_value I suppose I can use this?
Even if this looks valid, it feels like maybe this wouldn't fire unless certain other things happen first? Looking at your hooks.json for google analytics it looks like you had to maybe set a chain of events to occur to get to the point of controlling the method you intend to make changes?
Click to expand...
Click to collapse
The built-in scripts are not meant for general use because they might change over time breaking stuff that depends on them. Therefore imported definitions are not linked against the built-in scripts. If needed, you can simply copy and paste the Lua script from another (built in) definition. Copying guarantees your definition will keep working, even when the built-in scripts are changed or even removed.
Calling setAnalyticsCollectionEnabled requires access to an instance of FirebaseAnalytics, which apps needs to get by calling getInstance. So, hook getInstance to call setAnalyticsCollectionEnabled(false) and hook setAnalyticsCollectionEnabled to prevent an app from turning analytics on again.
Restricting Google Analytics (available in the next release of XPrivacyLua) works similar:
https://github.com/M66B/XPrivacyLua/blob/master/app/src/main/assets/ga_getinstance.lua
https://github.com/M66B/XPrivacyLua/blob/master/app/src/main/assets/ga_setdryrun.lua
You can also wait until I have added this ...
But firebase isn't necessarily the same thing, right?
jawz101 said:
But firebase isn't necessarily the same thing, right?
Click to expand...
Click to collapse
No, Google Analytics and Firebase Analytics are not the same and need different definitions.
Restricting Firebase Analytics works properly with these hook definitions:
https://github.com/M66B/XPrivacyLua/commit/1708fc6e4a15cef85cb973f5c08286d90d3ca806
jawz101 said:
And when building a definition, what does it mean to be in a group and collection? Do I just put anything there or do I have to call them something particular?
Click to expand...
Click to collapse
With the latest version of XPrivacyLua / companion app you can change the collection of hooks to use in XPrivacyLua. The default is to use the collection 'Privacy'. You can define your own collection by definition hooks with a new collection name. There can only be one collection active at one time, so if you want to add your own definitions to the built-in privacy collection you'll have to use the collection 'Privacy'. Basically collections exists to allow using XPrivacyLua for things other than privacy.
Groups are listed in the XPrivacyLua app and make it easy to apply a group of hooks to one or more apps. XPrivacyLua cannot and will not handle applying individual hooks to keep things simple, but I might add this to the pro companion app in the near feature. For now you can rename a group of an existing hook definition to be able to apply it separately in XPrivacyLua.
Edit: this has been clarified in the documentation too now: https://github.com/M66B/XPrivacyLua/blob/master/DEFINE.md
I still have some questions on when,where,how etc.... but I will wait until I can dedicate more time to playing with this.
I do have a feature request.
could there be a sort of drop down box that queries all valid entries for each item when creating a custom definition.
for example...
when creating a custom definition, when taping on the line for group, you would just type a new group (as it is now) but if there was a drop down arrow at the end of the line that could give a list of currently used groups and then the user could just click the listed group instead of typing and it would auto-fill that field.
maybe even more useful would be for the other items like Name,Class, Method etc...
where it could show possible entries. That would help a lot.
... I turned on notifications for your new Firebase rules. I would think a bunch of apps I have use Firebase Analytics. @M66B Have you seen any apps trigger it yet?
Even if the app imported Firebase Analytics library and gathers Firebase Analytics but never uses the setAnalyticsCollectionEnabled() method in its own code would it mean this hook will never trigger?
With the latest version of XPrivacyLua / companion app you can change the collection of hooks to use in XPrivacyLua. The default is to use the collection 'Privacy'. You can define your own collection by definition hooks with a new collection name. There can only be one collection active at one time, so if you want to add your own definitions to the built-in privacy collection you'll have to use the collection 'Privacy'. Basically collections exists to allow using XPrivacyLua for things other than privacy.
Click to expand...
Click to collapse
Thanks:highfive:.
This is just a suggestion but if this was my app I would break these 2 elements out to separate screens from the definition builder. You would define collections and groups in a separate spot, and then when building rules the collections and groups would pull in as a selectable dropdown. Avoids typos and helps to explain how there can be only one active collection for XPrivacyLua.
mnjm9b said:
I still have some questions on when,where,how etc.... but I will wait until I can dedicate more time to playing with this.
I do have a feature request.
could there be a sort of drop down box that queries all valid entries for each item when creating a custom definition.
for example...
when creating a custom definition, when taping on the line for group, you would just type a new group (as it is now) but if there was a drop down arrow at the end of the line that could give a list of currently used groups and then the user could just click the listed group instead of typing and it would auto-fill that field.
maybe even more useful would be for the other items like Name,Class, Method etc...
where it could show possible entries. That would help a lot.
Click to expand...
Click to collapse
I will see what I can do for collection and group, but all the other fields are flexible and depend on the hook.
jawz101 said:
... I turned on notifications for your new Firebase rules. I would think a bunch of apps I have use Firebase Analytics. @M66B Have you seen any apps trigger it yet?
Even if the app imported Firebase Analytics library and gathers Firebase Analytics but never uses the setAnalyticsCollectionEnabled() method in its own code would it mean this hook will never trigger?
Click to expand...
Click to collapse
An app will normally not disable/enable analytics given the default is enabled and the user has mostly no choice in this. So see this hook as a safeguard to prevent an app enabling analytics again after we disabled it in another hook
M66B said:
An app will normally not disable/enable analytics given the default is enabled and the user has mostly no choice in this. So see this hook as a safeguard to prevent an app enabling analytics again after we disabled it in another hook
Click to expand...
Click to collapse
Would there be a way to introduce the app to calling it? Or maybe that's what you're implying. Also, have you noticed that system and google apps seem to gray out the read identifiers permission? Ex: set read identifiers as restricted on Android Webview or Google Photos/Maps/Google TTS. Turns pink Get out of XPrivacyLua and open it again. Read Identifiers is gray. (I'm on LineageOS if that matters)
jawz101 said:
Would there be a way to introduce the app to calling it? Or maybe that's what you're implying. Also, have you noticed that system and google apps seem to gray out the read identifiers permission? Ex: set read identifiers as restricted on Android Webview or Google Photos/Maps/Google TTS. Turns pink Get out of XPrivacyLua and open it again. Read Identifiers is gray. (I'm on LineageOS if that matters)
Click to expand...
Click to collapse
Normally an apps doesn't call the function. Maybe if the user can choose to opt in or opt out, but this is rarely the case.
The other thing should go into the XPrivacyLua XDA thread, but I will look into it anyway.
M66B said:
I will see what I can do for collection and group, but all the other fields are flexible and depend on the hook.
Click to expand...
Click to collapse
Thanks, That's a good start.
Maybe if the "PRO" app takes off enough for you to bother you could charge extra for the expanded feature of having the drop lists change depending on the choices made?
I did have a moment to look over a definition I was playing with for "TIME"
it serves no real purpose so I gave up early but if I could get a better understanding on why it doesn't work it could help with actual ones.
using the FINGERPRINT example I made several other entries that all worked fine but this one caused issue.
I assumed it was because according to https://developer.android.com/reference/android/os/Build.html the type for TIME wasn't "String" but "Long"
this is the last one I tried...
Code:
{
"collection": "Privacy",
"group": "Read.Device",
"name": "Build.TIME",
"author": "M66B",
"className": "android.os.Build",
"methodName": "#TIME",
"parameterTypes": [],
"returnType": "long",
"minSdk": 1,
"maxSdk": 999,
"enabled": true,
"optional": false,
"usage": true,
"notify": false,
"luaScript": "function after(hook, param)\n param:setResult("unknown")\n return true\nend\n"
}
I was also playing with "SUPPORTED_ABIS" which also didn't work and the type was "Sting []" instead of just "String" so I was thinking that was the problem also.
@mnjm9b You are returning a string (series of characters) as a long (number). Try returning just a number (without the quotes).
String[] is an array (mulitple strings), so you need to return an array as well. But I don't know how to do that in Lua right now
Namnodorel said:
@mnjm9b You are returning a string (series of characters) as a long (number). Try returning just a number (without the quotes).
String[] is an array (mulitple strings), so you need to return an array as well. But I don't know how to do that in Lua right now
Click to expand...
Click to collapse
You are 100% right.
Returning a string array is not trivial. Look at 'generic_empty_string_array.lua' about how to do this.
Namnodorel said:
@mnjm9b You are returning a string (series of characters) as a long (number). Try returning just a number (without the quotes).
String[] is an array (mulitple strings), so you need to return an array as well. But I don't know how to do that in Lua right now
Click to expand...
Click to collapse
so in my example the returnType instead of "long" should be a number like 0 without quotes?
I tried that and it still doesn't work.
---------- Post added at 08:55 PM ---------- Previous post was at 08:54 PM ----------
M66B said:
You are 100% right.
Returning a string array is not trivial. Look at 'generic_empty_string_array.lua' about how to do this.
Click to expand...
Click to collapse
thanks for this, I guess I am in WAY over my head.
mnjm9b said:
so in my example the returnType instead of "long" should be a number like 0 without quotes?
I tried that and it still doesn't work.
Click to expand...
Click to collapse
No. the return type was correct. That specifies what type of object you are expected to return. What you need to change is what you then actually return, which is
Code:
param:setResult("unknown")
to
Code:
param:setResult(12345678)
@M66B
Thank you for your work, if i understand right, you provide us an programmable interface that will execute command lines written in Lua language without having to create a complete module in JAVA for XPosed?
From what i understood in your initial post, you indicate that we must install your module "XPrivacyLua", then that one disposes there after of the possibility to apply for the applications which one wishes, lines of codes written in Lua language and which do not necessarily have to relate to the logic of rights of access concerning privacy?
If yes then we must necessarily install XPrivacyLua even if in view of all your work provided on it the basic functions do not interest me forcibly?
All this seems to be promising however :good:
Rom said:
@M66B
Thank you for your work, if i understand right, you provide us an programmable interface that will execute command lines written in Lua language without having to create a complete module in JAVA for XPosed?
Click to expand...
Click to collapse
Yes.
Rom said:
From what i understood in your initial post, you indicate that we must install your module "XPrivacyLua", then that one disposes there after of the possibility to apply for the applications which one wishes, lines of codes written in Lua language and which do not necessarily have to relate to the logic of rights of access concerning privacy?
Click to expand...
Click to collapse
Yes.
Rom said:
If yes then we must necessarily install XPrivacyLua even if in view of all your work provided on it the basic functions do not interest me forcibly?
All this seems to be promising however :good:
Click to expand...
Click to collapse
You'll need XPrivacyLua to install and run defined Xposed hooks written in Lua, but you don't need to use the built in privacy related hooks.
The companion app allows you to switch to another collection of hooks you've written, in effect disabling the built-in privacy related hooks.
Try it and I will help you when needed and in the process I will update the documentation where needed.

Categories

Resources