Alright, so I have been investigating further, and have some news.
Thanks to the fact I work in a mobile dev company, I have access to more devices for testing, so I went on to try it more.
I modified the Hardware/GPS example app with:
+ added : system.setLocationAccuracy(3000) into main.lua
- removed : "android.permission.ACCESS_FINE_LOCATION", from build.settings
I built the APK, and tried it on various devices, and it seems that on some it works, on some it doesn't. My current results :
Coarse location WORKING (indoors and even with GPS turned off) on:
...for these, the correct location shows up in about 3-4 seconds after I start the app.
- HTC Desire X (android 4.1.1)
- Huawei Ascend Y300 (android 4.1.1)
- Sony Xperia L (android 4.2.2)
- Samsung Galaxy Express (android 4.1.2)
- Samsung Galaxy S3 (android 4.3)
- LG (google) Nexus 4 (with developer preview Android 5.0)
- Samsung Galaxy S4 (android 4.4.2)
- Prestigio Multipad PMP5770D (android 4.1.1)
- Samsung Galaxy S4 Mini (android 4.2.2) --- started working after multiple system reboots and repeated changing location settings on&off
- Acer Iconia B1-710 (android 4.1.2) --- also started working after multiple system reboots and repeated changing location settings on&off
- HTC Desire S (custom rom android 4.1) --- same as above
- ASUS Transformer TF101 (Android 4.0.4) --- same as above
Coarse location NOT WORKING (i never get any location)
HTC Desire S (custom rom android 4.1)
ASUS Transformer TF101 (Android 4.0.4)
Samsung Galaxy S4 Mini (android 4.2.2)
Acer Iconia B1-710 (android 4.1.2)
*** all non working devices fixed as above. see EDIT 3 below.
So now the problem seems to be device specific, or maybe OS build specific.. I will try to get even more devices, test further and report back.
EDIT : OK I am unsure what happened, but I restarted my S4 mini a couple of times, turned the location settings on and off on each checkbox, also a few times on and off again... and suddenly it started working even on this device..
EDIT2 : same thing happened with the Acer Iconia... a few reboots, few on&off clicks on the location checkboxes, and now i got the location available..
EDIT 3 - resolution - so I managed to get even the remaining two devices to read the coarse data. The trick, if it's not working is to follow these steps :
1) go to location settings, and turn everything off (gps, network, cellular, wifi location, whatever checkbox you've got there).
2) turn everything on again.
3) REBOOT THE DEVICE.
after these three steps, even the last devices finally got the Coarse location data.
So obviously not exactly a Corona issue but more of an Android issue in general.
I guess I will have to hope my users will not run into the same problems, because I can't explain all this to them. Maybe I'll do a location check and if that fails, show some error message with the explanation, and an option to enter city manually... but i still can expect they will be pissed... android users love to complain. (and i am the prime example )
thanks for everyone who joined in the discussion, hope you have learned a bit just as I did here. maybe it will also help someone in the future.