leduycuong86 / openbmap

Automatically exported from code.google.com/p/openbmap
Other
0 stars 0 forks source link

Support for Android unified network location provider #69

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
There is an application called 
https://github.com/microg/android_packages_apps_UnifiedNlp/blob/HEAD/README.md 
which overrides the google nlp service and allows to provide your own location 
information via plugins.

It'd be nice if one such plugin could be provided by radiobeacon for openbmap 
data along with the currently acquired data.

Original issue reported on code.google.com by franxisc...@gmail.com on 18 Jan 2015 at 1:28

GoogleCodeExporter commented 9 years ago
Definitely support for the unified network location provider is on the roadmap.
That will make our data much more usable..

In fact I think our data format (see 
https***radiocells.org/openbmap/static/wifis.zip?attachment) is pretty close to 
the UnifiedNlp requirements..

I'll keep you updated..

PS: On your desktop you can already try it out: Firefox support openbmap as 
geolocation provider, see https://radiocells.org/geolocation#Firefox

Original comment by wish7code on 18 Jan 2015 at 10:26

GoogleCodeExporter commented 9 years ago
There's a really,really alpha version available at
https://6597aa1f72f81233f964cec56f26d45bc9ed86d3.googledrive.com/host/0B97gHr4Mq
jHpM2h0QVR5SWJOcGs/org.openbmap.unifiedNlpProvider.apk

It currently uses wifis in range to determine your location (cell based 
location will follow, but requires some further work)

You could either choose online geolocation or run completly use a complete 
offline solution. Then you would download a sqlite database (approx. 400mb 
worldwide coverage) to your device.

I would be happy to hear your ideas on this early stage prototype:-)
What's missing, what would be a good improvements...,etc.?

Original comment by wish7code on 1 Feb 2015 at 11:34

GoogleCodeExporter commented 9 years ago
Check out the final binaries available at 
https://f-droid.org/repository/browse/?fdid=org.openbmap.unifiedNlp

or if you prefer sources
https://github.com/wish7code/org.openbmap.unifiedNlpProvider

Be sure to report any issues :-)

Original comment by wish7code on 11 Mar 2015 at 11:22

GoogleCodeExporter commented 9 years ago
I tried to install it but my android phone can't recognize the package (I'm 
using android 4.2.2 as is the last one I could get it working with).

Original comment by franxisc...@gmail.com on 13 Mar 2015 at 10:58

GoogleCodeExporter commented 9 years ago
I promise, it'll run on Android 4.4.2 as my test device is a Android 4.4.2 too 
:-)

So let's try to trace the problem down: Which version one did you use? The 
binaries above or the F-Droid release?

Original comment by wish7code on 13 Mar 2015 at 11:36

GoogleCodeExporter commented 9 years ago
4.2.2 I meant 4.2.2 ;)

I used the F-droid ones, had to enable manually unsuported software to be able 
to see it.

There are others like LocalWifiNLPBackend there which apparently work with it 
(at least up to version 0.12.0 so they may serve as reference).

Original comment by franxisc...@gmail.com on 14 Mar 2015 at 12:07

GoogleCodeExporter commented 9 years ago
> 4.2.2 I meant 4.2.2 ;)

Have to clean my glasses, sorry :D :D

> I used the F-droid ones, had to enable manually unsuported software to be 
able to see it.

I suspect, that it will require just a minor change in the Android manifest.
If I remember correctly the openbmap UnifiedNLP doesn't use any 4.4.2 specific 
APIs, so adding backward compatibility to 4.2.2 should be easy..

Gonna check and keep you updated..

Original comment by wish7code on 15 Mar 2015 at 7:03

GoogleCodeExporter commented 9 years ago
Just bumped v0.1.2 with Android 4.2.2 support to F-Droid: please test and 
feedback :-)

Original comment by wish7code on 16 Mar 2015 at 10:57

GoogleCodeExporter commented 9 years ago
I could install it but I'm not fully sure if I got it working or not as the 
exposed API seems to not work fully well.

Anyways, you should allow to pick an option to try using the default DB for 
openbmap.org for extra user firendliness (I mean to me finding the right 
folder, databases, in the openbmap.org folder was a bit hard but doable for an 
unexperienced user it may be impossible).

Original comment by franxisc...@gmail.com on 19 Mar 2015 at 9:31

GoogleCodeExporter commented 9 years ago
> Anyways, you should allow to pick an option to try using the default DB for 
openbmap.org for extra user firendliness

Excellent point! We should keep the UI as user-friendly as possible.
I already found a solution which will role with the next version.

> if I got it working or not as the exposed API seems to not work fully well.
I would be happy to learn more details: are you using the online or the offline 
version? What is not working: you don't results at all, the results are 
unprecise, ...

Original comment by wish7code on 20 Mar 2015 at 7:24

GoogleCodeExporter commented 9 years ago
I'm using the offline version, yet it requires me to have network access to get 
any data as I said, I believe this problem is not related to the plugin but the 
xposedapi needed to run it along Google Apps.

Original comment by franxisc...@gmail.com on 20 Mar 2015 at 8:43

GoogleCodeExporter commented 9 years ago
OK, think I got it: when disabling Network access completly in xposedapi, 
you're also disabling some required API calls, i.e.

1) getScanResults is required to check the wifis in range (obviously required 
for a network location provider)

2) Access Coarse Location: Android enforces this permission for getting scan 
results too, so you need to allow this

3) Telephone getNetworkOperator: this permission probably can be deactivated, 
as its only used when no wifis are in range. In that case it is used as 
fallback to query cell infos. Nevertheless, if you disable access to 
getNetworkOperator you would then get unreliable results.

You might want to play around with the permissions a little bit: don't disable 
Network access in general but try to disable 1,2,3 selectivly.

Could you try out and share the results?

Original comment by wish7code on 20 Mar 2015 at 2:57