-
Notifications
You must be signed in to change notification settings - Fork 527
Fix restricting Play Services network location. #1822
Comments
Restricting locations for Elixir 2 and Network Info 2 works for me. Google Maps can be restricted by restricting get...Provider functions. XPrivacy already hooks the public Play services functions, so there is little more I can do. Nothing is broken, there are just limits to what can be done. This could all be fixed in XPrivacy 3, but I am still not willing to work on a mega new project. There are simple not enough XPrivacy users to justify this. |
This is the Play services location API documentation: The classes ActivityRecognitionClient and LocationClient are hooked by XPrivacy. I will restrict the Play services location classes of Play services 5.0 as soon as Google releases the Play services 5.0 SDK, see also #1774 A little bit more detail: this is what happens: Application process ->uses-> Play services library ->calls-> Play services process ->calls-> Android location service The Play services process is a separate process with its own uid, different from the uid from the application. The problem is that the Play services library and Play services process source code is not open source. XPrivacy 3 could with a lot of effort restrict the location service process itself from delivering locations. This would not solve your problem, because there is no way to tell to which application the Play services process will delivery the locations to, so it would still be an all or nothing. XPrivacy 3 is a lot of effort, because the location service is different with each ROM version and could be modified by custom ROM developers too. There are even obfuscated ROMs, for which XPrivacy 3 would not be able to do anything. The above applies to other system services, like the account service, too. |
One addition: Play services 5.0 is not being used by any application yet, except maybe for applications provided by Google, since no third party developer has access to the new SDK yet. |
Yes they works without restricting Play Services precisely com.google.android.location (I can see this with Titanium Backup latest usage data function) (you think about this one but it's standard no? you ROM has it?) which is under shared UID |
Thanks for these additional info I understand better now. |
I will not be working on XPrivacy 3, sorry. |
I think you will still get at least to version 2.99 ;) Good continuation Marcel! |
If I get funded $1,5M, like Yo, but else I wouldn't hold your horses. |
I have tested Maps which I know use surely Play Services location: when Play Services is restricted to have a fake location (have to reboot the device after restricting it probably they had the data from the last known location fix before rebooting) Maps has no network location by cons the fake GPS location works.
Elixir2 (No Network location and GPS Location Ok) and Network Info II (No Network Location) have the same behaviour.
If you want any additional info give me a sign ;)
The text was updated successfully, but these errors were encountered: